@uipath/solution-tool 1.199.0-preview.92 → 1.199.0-preview.99
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.
- package/dist/deploy.js +257 -150
- package/dist/init.js +257 -150
- package/dist/pack.js +546 -298
- package/dist/publish.js +257 -150
- package/dist/resource.js +256 -149
- package/dist/tool.js +547 -299
- package/package.json +2 -2
package/dist/pack.js
CHANGED
|
@@ -214074,7 +214074,7 @@ init_dist();
|
|
|
214074
214074
|
// ../packager/packager-tool-flow/package.json
|
|
214075
214075
|
var package_default = {
|
|
214076
214076
|
name: "@uipath/packager-tool-flow",
|
|
214077
|
-
version: "1.199.0-preview.
|
|
214077
|
+
version: "1.199.0-preview.99",
|
|
214078
214078
|
description: "UiPath Flow tool implementation",
|
|
214079
214079
|
type: "module",
|
|
214080
214080
|
exports: {
|
|
@@ -226394,11 +226394,36 @@ class NodeContextStorage {
|
|
|
226394
226394
|
return this.storage.getStore();
|
|
226395
226395
|
}
|
|
226396
226396
|
}
|
|
226397
|
+
// ../common/src/telemetry/trace-context.ts
|
|
226398
|
+
var TELEMETRY_TRACEPARENT_ENV = "TRACEPARENT";
|
|
226399
|
+
var TRACEPARENT_PATTERN = /^00-([0-9a-f]{32})-([0-9a-f]{16})-[0-9a-f]{2}$/;
|
|
226400
|
+
function getProcessEnv() {
|
|
226401
|
+
return globalThis.process?.env;
|
|
226402
|
+
}
|
|
226403
|
+
function parseInboundTraceparent(value) {
|
|
226404
|
+
if (!value) {
|
|
226405
|
+
return;
|
|
226406
|
+
}
|
|
226407
|
+
const match = TRACEPARENT_PATTERN.exec(value.trim().toLowerCase());
|
|
226408
|
+
if (!match) {
|
|
226409
|
+
return;
|
|
226410
|
+
}
|
|
226411
|
+
const [, traceId, parentSpanId] = match;
|
|
226412
|
+
if (/^0+$/.test(traceId) || /^0+$/.test(parentSpanId)) {
|
|
226413
|
+
return;
|
|
226414
|
+
}
|
|
226415
|
+
return { traceId, parentSpanId };
|
|
226416
|
+
}
|
|
226417
|
+
function getInboundTraceContext() {
|
|
226418
|
+
return parseInboundTraceparent(getProcessEnv()?.[TELEMETRY_TRACEPARENT_ENV]);
|
|
226419
|
+
}
|
|
226420
|
+
|
|
226397
226421
|
// ../common/src/telemetry/session-id.ts
|
|
226398
226422
|
var TELEMETRY_SESSION_ID_ENV = "UIPATH_SESSION_ID";
|
|
226399
226423
|
var TELEMETRY_SESSION_ID_PROPERTY = "session_id";
|
|
226400
226424
|
var telemetrySessionIdSlot = singleton2("TelemetrySessionId");
|
|
226401
|
-
|
|
226425
|
+
var telemetryOperationIdSlot = singleton2("TelemetryOperationId");
|
|
226426
|
+
function getProcessEnv2() {
|
|
226402
226427
|
return globalThis.process?.env;
|
|
226403
226428
|
}
|
|
226404
226429
|
function normalizeSessionId(value) {
|
|
@@ -226409,18 +226434,165 @@ function normalizeSessionId(value) {
|
|
|
226409
226434
|
return trimmed || undefined;
|
|
226410
226435
|
}
|
|
226411
226436
|
function getConfiguredTelemetrySessionId() {
|
|
226412
|
-
return normalizeSessionId(
|
|
226437
|
+
return normalizeSessionId(getProcessEnv2()?.[TELEMETRY_SESSION_ID_ENV]);
|
|
226413
226438
|
}
|
|
226414
226439
|
function resolveTelemetrySessionId(existingSessionId) {
|
|
226415
226440
|
return getConfiguredTelemetrySessionId() ?? normalizeSessionId(existingSessionId);
|
|
226416
226441
|
}
|
|
226442
|
+
function getTelemetryOperationId() {
|
|
226443
|
+
const existing = telemetryOperationIdSlot.get();
|
|
226444
|
+
if (existing) {
|
|
226445
|
+
return existing;
|
|
226446
|
+
}
|
|
226447
|
+
const inboundTraceId = getInboundTraceContext()?.traceId;
|
|
226448
|
+
const generated = inboundTraceId ?? crypto.randomUUID().replaceAll("-", "");
|
|
226449
|
+
telemetryOperationIdSlot.set(generated);
|
|
226450
|
+
return generated;
|
|
226451
|
+
}
|
|
226417
226452
|
// ../common/src/telemetry/global-telemetry-properties.ts
|
|
226418
226453
|
var telemetryPropsSlot2 = singleton2("TelemetryDefaultProps");
|
|
226419
226454
|
function getGlobalTelemetryProperties() {
|
|
226420
226455
|
return telemetryPropsSlot2.get();
|
|
226421
226456
|
}
|
|
226422
226457
|
|
|
226458
|
+
// ../common/src/telemetry/pii-redactor.ts
|
|
226459
|
+
var REDACTED = "[REDACTED]";
|
|
226460
|
+
var MAX_VALUE_LENGTH = 200;
|
|
226461
|
+
var SENSITIVE_NAME_TOKENS = new Set([
|
|
226462
|
+
"token",
|
|
226463
|
+
"tokens",
|
|
226464
|
+
"secret",
|
|
226465
|
+
"secrets",
|
|
226466
|
+
"password",
|
|
226467
|
+
"passwords",
|
|
226468
|
+
"pwd",
|
|
226469
|
+
"credential",
|
|
226470
|
+
"credentials",
|
|
226471
|
+
"auth",
|
|
226472
|
+
"authentication",
|
|
226473
|
+
"authorization",
|
|
226474
|
+
"authority",
|
|
226475
|
+
"cert",
|
|
226476
|
+
"certificate",
|
|
226477
|
+
"certificates"
|
|
226478
|
+
]);
|
|
226479
|
+
var SENSITIVE_KEY_PREFIXES = new Set([
|
|
226480
|
+
"api",
|
|
226481
|
+
"access",
|
|
226482
|
+
"client",
|
|
226483
|
+
"private",
|
|
226484
|
+
"public",
|
|
226485
|
+
"signing",
|
|
226486
|
+
"encryption",
|
|
226487
|
+
"session",
|
|
226488
|
+
"master",
|
|
226489
|
+
"shared",
|
|
226490
|
+
"root",
|
|
226491
|
+
"ssh",
|
|
226492
|
+
"rsa",
|
|
226493
|
+
"aes",
|
|
226494
|
+
"hmac",
|
|
226495
|
+
"oauth"
|
|
226496
|
+
]);
|
|
226497
|
+
var UUID_PATTERN2 = /\b[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\b/gi;
|
|
226498
|
+
var EMAIL_PATTERN = /\b[^\s@]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}\b/g;
|
|
226499
|
+
var JWT_PATTERN = /\beyJ[A-Za-z0-9_-]{10,}\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+/g;
|
|
226500
|
+
var LONG_TOKEN_PATTERN = /\b[A-Za-z0-9_-]{40,}\b/g;
|
|
226501
|
+
var USER_HOME_PATTERN = /([/\\])(Users|home)([/\\])([^/\\]+)/gi;
|
|
226502
|
+
var URL_PATTERN = /\bhttps?:\/\/[^\s,;]+/gi;
|
|
226503
|
+
var URL_TRAILING_PUNCT = /[.,;:!?)\]}>'"]+$/;
|
|
226504
|
+
function shortHash(input2) {
|
|
226505
|
+
let hash3 = 2166136261;
|
|
226506
|
+
for (let i3 = 0;i3 < input2.length; i3++) {
|
|
226507
|
+
hash3 ^= input2.charCodeAt(i3);
|
|
226508
|
+
hash3 = Math.imul(hash3, 16777619);
|
|
226509
|
+
}
|
|
226510
|
+
return (hash3 >>> 0).toString(16).padStart(8, "0");
|
|
226511
|
+
}
|
|
226512
|
+
function redactUrl(raw) {
|
|
226513
|
+
try {
|
|
226514
|
+
const url5 = new URL(raw);
|
|
226515
|
+
return `${url5.protocol}//${url5.host}`;
|
|
226516
|
+
} catch {
|
|
226517
|
+
return `url#${shortHash(raw)}`;
|
|
226518
|
+
}
|
|
226519
|
+
}
|
|
226520
|
+
function redactValueDetectors(value) {
|
|
226521
|
+
let out = value;
|
|
226522
|
+
out = out.replace(JWT_PATTERN, () => REDACTED);
|
|
226523
|
+
out = out.replace(URL_PATTERN, (match) => {
|
|
226524
|
+
const trailing = match.match(URL_TRAILING_PUNCT)?.[0] ?? "";
|
|
226525
|
+
const core5 = trailing ? match.slice(0, -trailing.length) : match;
|
|
226526
|
+
return `${redactUrl(core5)}${trailing}`;
|
|
226527
|
+
});
|
|
226528
|
+
out = out.replace(USER_HOME_PATTERN, (_match, sep1, folder, sep2) => `${sep1}${folder}${sep2}<user>`);
|
|
226529
|
+
out = out.replace(EMAIL_PATTERN, (match) => `email#${shortHash(match)}`);
|
|
226530
|
+
out = out.replace(UUID_PATTERN2, (match) => `uuid#${shortHash(match)}`);
|
|
226531
|
+
out = out.replace(LONG_TOKEN_PATTERN, () => REDACTED);
|
|
226532
|
+
if (out.length > MAX_VALUE_LENGTH) {
|
|
226533
|
+
out = `${out.slice(0, MAX_VALUE_LENGTH)}…`;
|
|
226534
|
+
}
|
|
226535
|
+
return out;
|
|
226536
|
+
}
|
|
226537
|
+
function redactValue(value) {
|
|
226538
|
+
return redactValueDetectors(value);
|
|
226539
|
+
}
|
|
226540
|
+
function redactError(error95) {
|
|
226541
|
+
const safe = new Error(redactValueDetectors(error95.message ?? ""));
|
|
226542
|
+
safe.name = error95.name;
|
|
226543
|
+
safe.stack = typeof error95.stack === "string" ? redactValueDetectors(error95.stack) : undefined;
|
|
226544
|
+
return safe;
|
|
226545
|
+
}
|
|
226546
|
+
function nameTokens(name2) {
|
|
226547
|
+
return name2.replace(/([a-z0-9])([A-Z])/g, "$1 $2").replace(/([A-Z]+)([A-Z][a-z])/g, "$1 $2").split(/[\s._-]+/).map((t13) => t13.toLowerCase()).filter(Boolean);
|
|
226548
|
+
}
|
|
226549
|
+
function isSensitiveName(name2) {
|
|
226550
|
+
const tokens = nameTokens(name2);
|
|
226551
|
+
for (let i3 = 0;i3 < tokens.length; i3++) {
|
|
226552
|
+
const token = tokens[i3];
|
|
226553
|
+
if (SENSITIVE_NAME_TOKENS.has(token)) {
|
|
226554
|
+
return true;
|
|
226555
|
+
}
|
|
226556
|
+
if (token === "key" || token === "keys") {
|
|
226557
|
+
const prev = tokens[i3 - 1];
|
|
226558
|
+
if (prev && SENSITIVE_KEY_PREFIXES.has(prev)) {
|
|
226559
|
+
return true;
|
|
226560
|
+
}
|
|
226561
|
+
}
|
|
226562
|
+
}
|
|
226563
|
+
return false;
|
|
226564
|
+
}
|
|
226565
|
+
function redactProperty(name2, value) {
|
|
226566
|
+
if (value === undefined || value === null) {
|
|
226567
|
+
return;
|
|
226568
|
+
}
|
|
226569
|
+
if (isSensitiveName(name2)) {
|
|
226570
|
+
return REDACTED;
|
|
226571
|
+
}
|
|
226572
|
+
if (typeof value === "boolean" || typeof value === "number") {
|
|
226573
|
+
return value;
|
|
226574
|
+
}
|
|
226575
|
+
if (typeof value !== "string") {
|
|
226576
|
+
return "[OBJECT]";
|
|
226577
|
+
}
|
|
226578
|
+
return redactValueDetectors(value);
|
|
226579
|
+
}
|
|
226580
|
+
function redactProperties(properties) {
|
|
226581
|
+
const out = {};
|
|
226582
|
+
for (const [name2, value] of Object.entries(properties)) {
|
|
226583
|
+
const redacted = redactProperty(name2, value);
|
|
226584
|
+
if (redacted !== undefined) {
|
|
226585
|
+
out[name2] = redacted;
|
|
226586
|
+
}
|
|
226587
|
+
}
|
|
226588
|
+
return out;
|
|
226589
|
+
}
|
|
226590
|
+
|
|
226423
226591
|
// ../common/src/telemetry/telemetry-service.ts
|
|
226592
|
+
var TELEMETRY_OPERATION_ID_PROPERTY = "uip.trace.operation_id";
|
|
226593
|
+
var TELEMETRY_PARENT_ID_PROPERTY = "uip.trace.parent_id";
|
|
226594
|
+
var TELEMETRY_SPAN_ID_PROPERTY = "uip.trace.span_id";
|
|
226595
|
+
|
|
226424
226596
|
class TelemetryService {
|
|
226425
226597
|
telemetryProvider;
|
|
226426
226598
|
contextStorage;
|
|
@@ -226447,11 +226619,15 @@ class TelemetryService {
|
|
|
226447
226619
|
trackException(error95, properties) {
|
|
226448
226620
|
const context = this.getCurrentContext();
|
|
226449
226621
|
const enrichedProperties = this.enrichPropertiesWithContext(properties, context);
|
|
226450
|
-
this.telemetryProvider.trackException(error95, enrichedProperties);
|
|
226622
|
+
this.telemetryProvider.trackException(redactError(error95), enrichedProperties);
|
|
226451
226623
|
}
|
|
226452
226624
|
async trackRequest(name2, fn2, properties) {
|
|
226625
|
+
const parentContext = this.getCurrentContext();
|
|
226626
|
+
const operationId = parentContext?.operationId ?? this.operationId ?? getTelemetryOperationId();
|
|
226627
|
+
const parentId = parentContext ? parentContext.id : this.inboundParentIdFor(operationId);
|
|
226453
226628
|
const context = {
|
|
226454
|
-
operationId
|
|
226629
|
+
operationId,
|
|
226630
|
+
...parentId !== undefined ? { parentId } : {},
|
|
226455
226631
|
id: this.generateId()
|
|
226456
226632
|
};
|
|
226457
226633
|
const startTime = performance.now();
|
|
@@ -226469,6 +226645,45 @@ class TelemetryService {
|
|
|
226469
226645
|
throw error95;
|
|
226470
226646
|
}
|
|
226471
226647
|
}
|
|
226648
|
+
trackRequestResult(name2, durationMs, success5, properties, context) {
|
|
226649
|
+
const requestContext = context ?? {
|
|
226650
|
+
operationId: this.operationId ?? getTelemetryOperationId(),
|
|
226651
|
+
id: this.generateId()
|
|
226652
|
+
};
|
|
226653
|
+
const enrichedProperties = this.enrichPropertiesWithContext(properties, requestContext);
|
|
226654
|
+
this.telemetryProvider.trackRequest(name2, durationMs, success5, enrichedProperties);
|
|
226655
|
+
}
|
|
226656
|
+
createRequestContext() {
|
|
226657
|
+
const operationId = this.operationId ?? getTelemetryOperationId();
|
|
226658
|
+
const parentId = this.inboundParentIdFor(operationId);
|
|
226659
|
+
return {
|
|
226660
|
+
operationId,
|
|
226661
|
+
...parentId !== undefined ? { parentId } : {},
|
|
226662
|
+
id: this.generateId()
|
|
226663
|
+
};
|
|
226664
|
+
}
|
|
226665
|
+
inboundParentIdFor(operationId) {
|
|
226666
|
+
const inbound = getInboundTraceContext();
|
|
226667
|
+
return inbound && inbound.traceId === operationId ? inbound.parentSpanId : undefined;
|
|
226668
|
+
}
|
|
226669
|
+
runWithContext(context, fn2) {
|
|
226670
|
+
return this.contextStorage.run(context, fn2);
|
|
226671
|
+
}
|
|
226672
|
+
createDependencyContext() {
|
|
226673
|
+
const parentContext = this.getCurrentContext();
|
|
226674
|
+
if (!parentContext) {
|
|
226675
|
+
return;
|
|
226676
|
+
}
|
|
226677
|
+
return {
|
|
226678
|
+
operationId: parentContext.operationId,
|
|
226679
|
+
parentId: parentContext.id,
|
|
226680
|
+
id: this.generateId()
|
|
226681
|
+
};
|
|
226682
|
+
}
|
|
226683
|
+
trackDependencyResult(name2, type2, durationMs, success5, properties, context, resultCode) {
|
|
226684
|
+
const enrichedProperties = this.enrichPropertiesWithContext(properties, context);
|
|
226685
|
+
this.telemetryProvider.trackDependency(redactValue(name2), type2, durationMs, success5, enrichedProperties, resultCode);
|
|
226686
|
+
}
|
|
226472
226687
|
async trackDependencyOperation(name2, type2, fn2, properties) {
|
|
226473
226688
|
const parentContext = this.getCurrentContext();
|
|
226474
226689
|
if (!parentContext) {
|
|
@@ -226505,8 +226720,12 @@ class TelemetryService {
|
|
|
226505
226720
|
...getExecutionContextTelemetryProperties(),
|
|
226506
226721
|
...globalProperties,
|
|
226507
226722
|
...this.defaultProperties,
|
|
226508
|
-
...properties,
|
|
226509
|
-
...context
|
|
226723
|
+
...redactProperties(properties ?? {}),
|
|
226724
|
+
...context ? {
|
|
226725
|
+
[TELEMETRY_OPERATION_ID_PROPERTY]: context.operationId,
|
|
226726
|
+
...context.parentId !== undefined ? { [TELEMETRY_PARENT_ID_PROPERTY]: context.parentId } : {},
|
|
226727
|
+
[TELEMETRY_SPAN_ID_PROPERTY]: context.id
|
|
226728
|
+
} : {}
|
|
226510
226729
|
};
|
|
226511
226730
|
if (sessionId === undefined) {
|
|
226512
226731
|
delete enriched[TELEMETRY_SESSION_ID_PROPERTY];
|
|
@@ -226516,7 +226735,16 @@ class TelemetryService {
|
|
|
226516
226735
|
return enriched;
|
|
226517
226736
|
}
|
|
226518
226737
|
generateId() {
|
|
226519
|
-
|
|
226738
|
+
const bytes = new Uint8Array(8);
|
|
226739
|
+
let hex4 = "";
|
|
226740
|
+
do {
|
|
226741
|
+
crypto.getRandomValues(bytes);
|
|
226742
|
+
hex4 = "";
|
|
226743
|
+
for (const byte of bytes) {
|
|
226744
|
+
hex4 += byte.toString(16).padStart(2, "0");
|
|
226745
|
+
}
|
|
226746
|
+
} while (/^0+$/.test(hex4));
|
|
226747
|
+
return hex4;
|
|
226520
226748
|
}
|
|
226521
226749
|
}
|
|
226522
226750
|
// ../common/src/telemetry/node-appinsights-telemetry-provider.ts
|
|
@@ -227219,152 +227447,25 @@ function buildCommandTelemetryAttribution(commandPath, skillSource) {
|
|
|
227219
227447
|
};
|
|
227220
227448
|
}
|
|
227221
227449
|
|
|
227222
|
-
// ../common/src/telemetry/pii-redactor.ts
|
|
227223
|
-
var REDACTED = "[REDACTED]";
|
|
227224
|
-
var MAX_VALUE_LENGTH = 200;
|
|
227225
|
-
var SENSITIVE_NAME_TOKENS = new Set([
|
|
227226
|
-
"token",
|
|
227227
|
-
"tokens",
|
|
227228
|
-
"secret",
|
|
227229
|
-
"secrets",
|
|
227230
|
-
"password",
|
|
227231
|
-
"passwords",
|
|
227232
|
-
"pwd",
|
|
227233
|
-
"credential",
|
|
227234
|
-
"credentials",
|
|
227235
|
-
"auth",
|
|
227236
|
-
"authentication",
|
|
227237
|
-
"authorization",
|
|
227238
|
-
"authority",
|
|
227239
|
-
"cert",
|
|
227240
|
-
"certificate",
|
|
227241
|
-
"certificates"
|
|
227242
|
-
]);
|
|
227243
|
-
var SENSITIVE_KEY_PREFIXES = new Set([
|
|
227244
|
-
"api",
|
|
227245
|
-
"access",
|
|
227246
|
-
"client",
|
|
227247
|
-
"private",
|
|
227248
|
-
"public",
|
|
227249
|
-
"signing",
|
|
227250
|
-
"encryption",
|
|
227251
|
-
"session",
|
|
227252
|
-
"master",
|
|
227253
|
-
"shared",
|
|
227254
|
-
"root",
|
|
227255
|
-
"ssh",
|
|
227256
|
-
"rsa",
|
|
227257
|
-
"aes",
|
|
227258
|
-
"hmac",
|
|
227259
|
-
"oauth"
|
|
227260
|
-
]);
|
|
227261
|
-
var UUID_PATTERN2 = /\b[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\b/gi;
|
|
227262
|
-
var EMAIL_PATTERN = /\b[^\s@]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}\b/g;
|
|
227263
|
-
var JWT_PATTERN = /\beyJ[A-Za-z0-9_-]{10,}\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+/g;
|
|
227264
|
-
var LONG_TOKEN_PATTERN = /\b[A-Za-z0-9_-]{40,}\b/g;
|
|
227265
|
-
var USER_HOME_PATTERN = /([/\\])(Users|home)([/\\])([^/\\]+)/gi;
|
|
227266
|
-
var URL_PATTERN = /\bhttps?:\/\/[^\s,;]+/gi;
|
|
227267
|
-
var URL_TRAILING_PUNCT = /[.,;:!?)\]}>'"]+$/;
|
|
227268
|
-
function shortHash(input2) {
|
|
227269
|
-
let hash3 = 2166136261;
|
|
227270
|
-
for (let i3 = 0;i3 < input2.length; i3++) {
|
|
227271
|
-
hash3 ^= input2.charCodeAt(i3);
|
|
227272
|
-
hash3 = Math.imul(hash3, 16777619);
|
|
227273
|
-
}
|
|
227274
|
-
return (hash3 >>> 0).toString(16).padStart(8, "0");
|
|
227275
|
-
}
|
|
227276
|
-
function redactUrl(raw) {
|
|
227277
|
-
try {
|
|
227278
|
-
const url5 = new URL(raw);
|
|
227279
|
-
return `${url5.protocol}//${url5.host}`;
|
|
227280
|
-
} catch {
|
|
227281
|
-
return `url#${shortHash(raw)}`;
|
|
227282
|
-
}
|
|
227283
|
-
}
|
|
227284
|
-
function redactValueDetectors(value) {
|
|
227285
|
-
let out = value;
|
|
227286
|
-
out = out.replace(JWT_PATTERN, () => REDACTED);
|
|
227287
|
-
out = out.replace(URL_PATTERN, (match) => {
|
|
227288
|
-
const trailing = match.match(URL_TRAILING_PUNCT)?.[0] ?? "";
|
|
227289
|
-
const core5 = trailing ? match.slice(0, -trailing.length) : match;
|
|
227290
|
-
return `${redactUrl(core5)}${trailing}`;
|
|
227291
|
-
});
|
|
227292
|
-
out = out.replace(USER_HOME_PATTERN, (_match, sep1, folder, sep2) => `${sep1}${folder}${sep2}<user>`);
|
|
227293
|
-
out = out.replace(EMAIL_PATTERN, (match) => `email#${shortHash(match)}`);
|
|
227294
|
-
out = out.replace(UUID_PATTERN2, (match) => `uuid#${shortHash(match)}`);
|
|
227295
|
-
out = out.replace(LONG_TOKEN_PATTERN, () => REDACTED);
|
|
227296
|
-
if (out.length > MAX_VALUE_LENGTH) {
|
|
227297
|
-
out = `${out.slice(0, MAX_VALUE_LENGTH)}…`;
|
|
227298
|
-
}
|
|
227299
|
-
return out;
|
|
227300
|
-
}
|
|
227301
|
-
function nameTokens(name2) {
|
|
227302
|
-
return name2.replace(/([a-z0-9])([A-Z])/g, "$1 $2").replace(/([A-Z]+)([A-Z][a-z])/g, "$1 $2").split(/[\s_-]+/).map((t13) => t13.toLowerCase()).filter(Boolean);
|
|
227303
|
-
}
|
|
227304
|
-
function isSensitiveName(name2) {
|
|
227305
|
-
const tokens = nameTokens(name2);
|
|
227306
|
-
for (let i3 = 0;i3 < tokens.length; i3++) {
|
|
227307
|
-
const token = tokens[i3];
|
|
227308
|
-
if (SENSITIVE_NAME_TOKENS.has(token)) {
|
|
227309
|
-
return true;
|
|
227310
|
-
}
|
|
227311
|
-
if (token === "key" || token === "keys") {
|
|
227312
|
-
const prev = tokens[i3 - 1];
|
|
227313
|
-
if (prev && SENSITIVE_KEY_PREFIXES.has(prev)) {
|
|
227314
|
-
return true;
|
|
227315
|
-
}
|
|
227316
|
-
}
|
|
227317
|
-
}
|
|
227318
|
-
return false;
|
|
227319
|
-
}
|
|
227320
|
-
function redactProperty(name2, value) {
|
|
227321
|
-
if (value === undefined || value === null) {
|
|
227322
|
-
return;
|
|
227323
|
-
}
|
|
227324
|
-
if (isSensitiveName(name2)) {
|
|
227325
|
-
return REDACTED;
|
|
227326
|
-
}
|
|
227327
|
-
if (typeof value === "boolean" || typeof value === "number") {
|
|
227328
|
-
return value;
|
|
227329
|
-
}
|
|
227330
|
-
if (typeof value !== "string") {
|
|
227331
|
-
return "[OBJECT]";
|
|
227332
|
-
}
|
|
227333
|
-
return redactValueDetectors(value);
|
|
227334
|
-
}
|
|
227335
|
-
function redactProperties(properties) {
|
|
227336
|
-
const out = {};
|
|
227337
|
-
for (const [name2, value] of Object.entries(properties)) {
|
|
227338
|
-
const redacted = redactProperty(name2, value);
|
|
227339
|
-
if (redacted !== undefined) {
|
|
227340
|
-
out[name2] = redacted;
|
|
227341
|
-
}
|
|
227342
|
-
}
|
|
227343
|
-
return out;
|
|
227344
|
-
}
|
|
227345
|
-
|
|
227346
227450
|
// ../common/src/trackedAction.ts
|
|
227347
227451
|
var pollSignalSlot = singleton2("PollSignal");
|
|
227348
227452
|
var cliErrorCodeValues = new Set(CLI_ERROR_CODES);
|
|
227349
227453
|
var retryHintValues = new Set(RETRY_HINTS);
|
|
227454
|
+
var TELEMETRY_COMMAND_ARG_PREFIX = "uip.cmd.arg.";
|
|
227350
227455
|
function extractCommandParams(cmd) {
|
|
227351
227456
|
const params = {};
|
|
227457
|
+
const add2 = (name2, value) => {
|
|
227458
|
+
if (name2 && value !== undefined) {
|
|
227459
|
+
params[`${TELEMETRY_COMMAND_ARG_PREFIX}${name2}`] = value;
|
|
227460
|
+
}
|
|
227461
|
+
};
|
|
227352
227462
|
const registered = cmd.registeredArguments ?? [];
|
|
227353
227463
|
const processed = cmd.processedArgs ?? [];
|
|
227354
227464
|
for (let i3 = 0;i3 < registered.length; i3++) {
|
|
227355
|
-
|
|
227356
|
-
if (value === undefined) {
|
|
227357
|
-
continue;
|
|
227358
|
-
}
|
|
227359
|
-
const name2 = registered[i3].name();
|
|
227360
|
-
if (name2) {
|
|
227361
|
-
params[name2] = value;
|
|
227362
|
-
}
|
|
227465
|
+
add2(registered[i3].name(), processed[i3]);
|
|
227363
227466
|
}
|
|
227364
227467
|
for (const [key, value] of Object.entries(cmd.opts())) {
|
|
227365
|
-
|
|
227366
|
-
params[key] = value;
|
|
227367
|
-
}
|
|
227468
|
+
add2(key, value);
|
|
227368
227469
|
}
|
|
227369
227470
|
return params;
|
|
227370
227471
|
}
|
|
@@ -227407,11 +227508,12 @@ Command.prototype.trackedAction = function(context, fn2, properties) {
|
|
|
227407
227508
|
return this.action(async (...args) => {
|
|
227408
227509
|
const telemetryName = deriveCommandPath(command);
|
|
227409
227510
|
const props = typeof properties === "function" ? properties(...args) : properties;
|
|
227511
|
+
const requestContext = telemetry.createRequestContext();
|
|
227410
227512
|
const startTime = performance.now();
|
|
227411
227513
|
let errorMessage;
|
|
227412
227514
|
let fallbackExitCode = EXIT_CODES.Success;
|
|
227413
227515
|
clearRecordedCommandFailureTelemetry();
|
|
227414
|
-
const [error95] = await catchError2(fn2(...args));
|
|
227516
|
+
const [error95] = await catchError2(telemetry.runWithContext(requestContext, () => fn2(...args)));
|
|
227415
227517
|
if (error95) {
|
|
227416
227518
|
errorMessage = error95 instanceof Error ? error95.message : String(error95);
|
|
227417
227519
|
logger.debug(`[trackedAction] ${telemetryName} failed: ${errorMessage}`);
|
|
@@ -227447,16 +227549,21 @@ Command.prototype.trackedAction = function(context, fn2, properties) {
|
|
|
227447
227549
|
recordedFailure,
|
|
227448
227550
|
pollSignal: context.pollSignal
|
|
227449
227551
|
});
|
|
227450
|
-
|
|
227451
|
-
|
|
227552
|
+
const commandParams = extractCommandParams(command);
|
|
227553
|
+
if (props) {
|
|
227554
|
+
for (const key of Object.keys(props)) {
|
|
227555
|
+
delete commandParams[`${TELEMETRY_COMMAND_ARG_PREFIX}${key}`];
|
|
227556
|
+
}
|
|
227557
|
+
}
|
|
227558
|
+
const baseProperties = redactProperties({
|
|
227559
|
+
...commandParams,
|
|
227452
227560
|
...props,
|
|
227453
227561
|
...buildCommandTelemetryAttribution(telemetryName, process.env.UIPATH_SKILL),
|
|
227454
227562
|
command: "true",
|
|
227455
|
-
duration: String(durationMs),
|
|
227456
|
-
success: String(success5),
|
|
227457
227563
|
...terminalTelemetry,
|
|
227458
227564
|
...errorMessage ? { errorMessage } : {}
|
|
227459
|
-
})
|
|
227565
|
+
});
|
|
227566
|
+
telemetry.trackRequestResult(telemetryName, durationMs, success5, baseProperties, requestContext);
|
|
227460
227567
|
});
|
|
227461
227568
|
};
|
|
227462
227569
|
// ../common/src/console-guard.ts
|
|
@@ -250320,7 +250427,44 @@ var INTERNAL_ERROR_NAMES2 = new Set([
|
|
|
250320
250427
|
"RangeError"
|
|
250321
250428
|
]);
|
|
250322
250429
|
var telemetrySessionIdSlot2 = singleton4("TelemetrySessionId");
|
|
250430
|
+
var telemetryOperationIdSlot2 = singleton4("TelemetryOperationId");
|
|
250323
250431
|
var authSignalSlot2 = singleton4("TelemetryExecutionContextAuthSignal");
|
|
250432
|
+
var SENSITIVE_NAME_TOKENS2 = new Set([
|
|
250433
|
+
"token",
|
|
250434
|
+
"tokens",
|
|
250435
|
+
"secret",
|
|
250436
|
+
"secrets",
|
|
250437
|
+
"password",
|
|
250438
|
+
"passwords",
|
|
250439
|
+
"pwd",
|
|
250440
|
+
"credential",
|
|
250441
|
+
"credentials",
|
|
250442
|
+
"auth",
|
|
250443
|
+
"authentication",
|
|
250444
|
+
"authorization",
|
|
250445
|
+
"authority",
|
|
250446
|
+
"cert",
|
|
250447
|
+
"certificate",
|
|
250448
|
+
"certificates"
|
|
250449
|
+
]);
|
|
250450
|
+
var SENSITIVE_KEY_PREFIXES2 = new Set([
|
|
250451
|
+
"api",
|
|
250452
|
+
"access",
|
|
250453
|
+
"client",
|
|
250454
|
+
"private",
|
|
250455
|
+
"public",
|
|
250456
|
+
"signing",
|
|
250457
|
+
"encryption",
|
|
250458
|
+
"session",
|
|
250459
|
+
"master",
|
|
250460
|
+
"shared",
|
|
250461
|
+
"root",
|
|
250462
|
+
"ssh",
|
|
250463
|
+
"rsa",
|
|
250464
|
+
"aes",
|
|
250465
|
+
"hmac",
|
|
250466
|
+
"oauth"
|
|
250467
|
+
]);
|
|
250324
250468
|
var factorySlot2 = singleton4("PackagerFactoryProvider");
|
|
250325
250469
|
var RulesConfigFileType;
|
|
250326
250470
|
((RulesConfigFileType2) => {
|
|
@@ -250460,7 +250604,7 @@ var sdkUserAgentHostToken22 = singleton22("SdkUserAgentHostToken");
|
|
|
250460
250604
|
var package_default3 = {
|
|
250461
250605
|
name: "@uipath/project-packager",
|
|
250462
250606
|
license: "MIT",
|
|
250463
|
-
version: "1.199.0-preview.
|
|
250607
|
+
version: "1.199.0-preview.99",
|
|
250464
250608
|
description: "UiPath Project Packager - core library for packing individual UiPath projects",
|
|
250465
250609
|
type: "module",
|
|
250466
250610
|
main: "./dist/index.js",
|
|
@@ -260963,10 +261107,33 @@ class NodeContextStorage2 {
|
|
|
260963
261107
|
return this.storage.getStore();
|
|
260964
261108
|
}
|
|
260965
261109
|
}
|
|
261110
|
+
var TELEMETRY_TRACEPARENT_ENV2 = "TRACEPARENT";
|
|
261111
|
+
var TRACEPARENT_PATTERN2 = /^00-([0-9a-f]{32})-([0-9a-f]{16})-[0-9a-f]{2}$/;
|
|
261112
|
+
function getProcessEnv3() {
|
|
261113
|
+
return globalThis.process?.env;
|
|
261114
|
+
}
|
|
261115
|
+
function parseInboundTraceparent2(value) {
|
|
261116
|
+
if (!value) {
|
|
261117
|
+
return;
|
|
261118
|
+
}
|
|
261119
|
+
const match = TRACEPARENT_PATTERN2.exec(value.trim().toLowerCase());
|
|
261120
|
+
if (!match) {
|
|
261121
|
+
return;
|
|
261122
|
+
}
|
|
261123
|
+
const [, traceId, parentSpanId] = match;
|
|
261124
|
+
if (/^0+$/.test(traceId) || /^0+$/.test(parentSpanId)) {
|
|
261125
|
+
return;
|
|
261126
|
+
}
|
|
261127
|
+
return { traceId, parentSpanId };
|
|
261128
|
+
}
|
|
261129
|
+
function getInboundTraceContext2() {
|
|
261130
|
+
return parseInboundTraceparent2(getProcessEnv3()?.[TELEMETRY_TRACEPARENT_ENV2]);
|
|
261131
|
+
}
|
|
260966
261132
|
var TELEMETRY_SESSION_ID_ENV2 = "UIPATH_SESSION_ID";
|
|
260967
261133
|
var TELEMETRY_SESSION_ID_PROPERTY2 = "session_id";
|
|
260968
261134
|
var telemetrySessionIdSlot3 = singleton5("TelemetrySessionId");
|
|
260969
|
-
|
|
261135
|
+
var telemetryOperationIdSlot3 = singleton5("TelemetryOperationId");
|
|
261136
|
+
function getProcessEnv22() {
|
|
260970
261137
|
return globalThis.process?.env;
|
|
260971
261138
|
}
|
|
260972
261139
|
function normalizeSessionId2(value) {
|
|
@@ -260977,15 +261144,159 @@ function normalizeSessionId2(value) {
|
|
|
260977
261144
|
return trimmed || undefined;
|
|
260978
261145
|
}
|
|
260979
261146
|
function getConfiguredTelemetrySessionId2() {
|
|
260980
|
-
return normalizeSessionId2(
|
|
261147
|
+
return normalizeSessionId2(getProcessEnv22()?.[TELEMETRY_SESSION_ID_ENV2]);
|
|
260981
261148
|
}
|
|
260982
261149
|
function resolveTelemetrySessionId2(existingSessionId) {
|
|
260983
261150
|
return getConfiguredTelemetrySessionId2() ?? normalizeSessionId2(existingSessionId);
|
|
260984
261151
|
}
|
|
261152
|
+
function getTelemetryOperationId2() {
|
|
261153
|
+
const existing = telemetryOperationIdSlot3.get();
|
|
261154
|
+
if (existing) {
|
|
261155
|
+
return existing;
|
|
261156
|
+
}
|
|
261157
|
+
const inboundTraceId = getInboundTraceContext2()?.traceId;
|
|
261158
|
+
const generated = inboundTraceId ?? crypto.randomUUID().replaceAll("-", "");
|
|
261159
|
+
telemetryOperationIdSlot3.set(generated);
|
|
261160
|
+
return generated;
|
|
261161
|
+
}
|
|
260985
261162
|
var telemetryPropsSlot4 = singleton5("TelemetryDefaultProps");
|
|
260986
261163
|
function getGlobalTelemetryProperties2() {
|
|
260987
261164
|
return telemetryPropsSlot4.get();
|
|
260988
261165
|
}
|
|
261166
|
+
var REDACTED2 = "[REDACTED]";
|
|
261167
|
+
var MAX_VALUE_LENGTH2 = 200;
|
|
261168
|
+
var SENSITIVE_NAME_TOKENS3 = new Set([
|
|
261169
|
+
"token",
|
|
261170
|
+
"tokens",
|
|
261171
|
+
"secret",
|
|
261172
|
+
"secrets",
|
|
261173
|
+
"password",
|
|
261174
|
+
"passwords",
|
|
261175
|
+
"pwd",
|
|
261176
|
+
"credential",
|
|
261177
|
+
"credentials",
|
|
261178
|
+
"auth",
|
|
261179
|
+
"authentication",
|
|
261180
|
+
"authorization",
|
|
261181
|
+
"authority",
|
|
261182
|
+
"cert",
|
|
261183
|
+
"certificate",
|
|
261184
|
+
"certificates"
|
|
261185
|
+
]);
|
|
261186
|
+
var SENSITIVE_KEY_PREFIXES3 = new Set([
|
|
261187
|
+
"api",
|
|
261188
|
+
"access",
|
|
261189
|
+
"client",
|
|
261190
|
+
"private",
|
|
261191
|
+
"public",
|
|
261192
|
+
"signing",
|
|
261193
|
+
"encryption",
|
|
261194
|
+
"session",
|
|
261195
|
+
"master",
|
|
261196
|
+
"shared",
|
|
261197
|
+
"root",
|
|
261198
|
+
"ssh",
|
|
261199
|
+
"rsa",
|
|
261200
|
+
"aes",
|
|
261201
|
+
"hmac",
|
|
261202
|
+
"oauth"
|
|
261203
|
+
]);
|
|
261204
|
+
var UUID_PATTERN3 = /\b[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\b/gi;
|
|
261205
|
+
var EMAIL_PATTERN2 = /\b[^\s@]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}\b/g;
|
|
261206
|
+
var JWT_PATTERN2 = /\beyJ[A-Za-z0-9_-]{10,}\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+/g;
|
|
261207
|
+
var LONG_TOKEN_PATTERN2 = /\b[A-Za-z0-9_-]{40,}\b/g;
|
|
261208
|
+
var USER_HOME_PATTERN2 = /([/\\])(Users|home)([/\\])([^/\\]+)/gi;
|
|
261209
|
+
var URL_PATTERN2 = /\bhttps?:\/\/[^\s,;]+/gi;
|
|
261210
|
+
var URL_TRAILING_PUNCT2 = /[.,;:!?)\]}>'"]+$/;
|
|
261211
|
+
function shortHash2(input2) {
|
|
261212
|
+
let hash3 = 2166136261;
|
|
261213
|
+
for (let i4 = 0;i4 < input2.length; i4++) {
|
|
261214
|
+
hash3 ^= input2.charCodeAt(i4);
|
|
261215
|
+
hash3 = Math.imul(hash3, 16777619);
|
|
261216
|
+
}
|
|
261217
|
+
return (hash3 >>> 0).toString(16).padStart(8, "0");
|
|
261218
|
+
}
|
|
261219
|
+
function redactUrl2(raw) {
|
|
261220
|
+
try {
|
|
261221
|
+
const url5 = new URL(raw);
|
|
261222
|
+
return `${url5.protocol}//${url5.host}`;
|
|
261223
|
+
} catch {
|
|
261224
|
+
return `url#${shortHash2(raw)}`;
|
|
261225
|
+
}
|
|
261226
|
+
}
|
|
261227
|
+
function redactValueDetectors2(value) {
|
|
261228
|
+
let out = value;
|
|
261229
|
+
out = out.replace(JWT_PATTERN2, () => REDACTED2);
|
|
261230
|
+
out = out.replace(URL_PATTERN2, (match) => {
|
|
261231
|
+
const trailing = match.match(URL_TRAILING_PUNCT2)?.[0] ?? "";
|
|
261232
|
+
const core22 = trailing ? match.slice(0, -trailing.length) : match;
|
|
261233
|
+
return `${redactUrl2(core22)}${trailing}`;
|
|
261234
|
+
});
|
|
261235
|
+
out = out.replace(USER_HOME_PATTERN2, (_match, sep1, folder, sep2) => `${sep1}${folder}${sep2}<user>`);
|
|
261236
|
+
out = out.replace(EMAIL_PATTERN2, (match) => `email#${shortHash2(match)}`);
|
|
261237
|
+
out = out.replace(UUID_PATTERN3, (match) => `uuid#${shortHash2(match)}`);
|
|
261238
|
+
out = out.replace(LONG_TOKEN_PATTERN2, () => REDACTED2);
|
|
261239
|
+
if (out.length > MAX_VALUE_LENGTH2) {
|
|
261240
|
+
out = `${out.slice(0, MAX_VALUE_LENGTH2)}…`;
|
|
261241
|
+
}
|
|
261242
|
+
return out;
|
|
261243
|
+
}
|
|
261244
|
+
function redactValue2(value) {
|
|
261245
|
+
return redactValueDetectors2(value);
|
|
261246
|
+
}
|
|
261247
|
+
function redactError2(error95) {
|
|
261248
|
+
const safe = new Error(redactValueDetectors2(error95.message ?? ""));
|
|
261249
|
+
safe.name = error95.name;
|
|
261250
|
+
safe.stack = typeof error95.stack === "string" ? redactValueDetectors2(error95.stack) : undefined;
|
|
261251
|
+
return safe;
|
|
261252
|
+
}
|
|
261253
|
+
function nameTokens2(name2) {
|
|
261254
|
+
return name2.replace(/([a-z0-9])([A-Z])/g, "$1 $2").replace(/([A-Z]+)([A-Z][a-z])/g, "$1 $2").split(/[\s._-]+/).map((t13) => t13.toLowerCase()).filter(Boolean);
|
|
261255
|
+
}
|
|
261256
|
+
function isSensitiveName2(name2) {
|
|
261257
|
+
const tokens = nameTokens2(name2);
|
|
261258
|
+
for (let i4 = 0;i4 < tokens.length; i4++) {
|
|
261259
|
+
const token = tokens[i4];
|
|
261260
|
+
if (SENSITIVE_NAME_TOKENS3.has(token)) {
|
|
261261
|
+
return true;
|
|
261262
|
+
}
|
|
261263
|
+
if (token === "key" || token === "keys") {
|
|
261264
|
+
const prev = tokens[i4 - 1];
|
|
261265
|
+
if (prev && SENSITIVE_KEY_PREFIXES3.has(prev)) {
|
|
261266
|
+
return true;
|
|
261267
|
+
}
|
|
261268
|
+
}
|
|
261269
|
+
}
|
|
261270
|
+
return false;
|
|
261271
|
+
}
|
|
261272
|
+
function redactProperty2(name2, value) {
|
|
261273
|
+
if (value === undefined || value === null) {
|
|
261274
|
+
return;
|
|
261275
|
+
}
|
|
261276
|
+
if (isSensitiveName2(name2)) {
|
|
261277
|
+
return REDACTED2;
|
|
261278
|
+
}
|
|
261279
|
+
if (typeof value === "boolean" || typeof value === "number") {
|
|
261280
|
+
return value;
|
|
261281
|
+
}
|
|
261282
|
+
if (typeof value !== "string") {
|
|
261283
|
+
return "[OBJECT]";
|
|
261284
|
+
}
|
|
261285
|
+
return redactValueDetectors2(value);
|
|
261286
|
+
}
|
|
261287
|
+
function redactProperties2(properties) {
|
|
261288
|
+
const out = {};
|
|
261289
|
+
for (const [name2, value] of Object.entries(properties)) {
|
|
261290
|
+
const redacted = redactProperty2(name2, value);
|
|
261291
|
+
if (redacted !== undefined) {
|
|
261292
|
+
out[name2] = redacted;
|
|
261293
|
+
}
|
|
261294
|
+
}
|
|
261295
|
+
return out;
|
|
261296
|
+
}
|
|
261297
|
+
var TELEMETRY_OPERATION_ID_PROPERTY2 = "uip.trace.operation_id";
|
|
261298
|
+
var TELEMETRY_PARENT_ID_PROPERTY2 = "uip.trace.parent_id";
|
|
261299
|
+
var TELEMETRY_SPAN_ID_PROPERTY2 = "uip.trace.span_id";
|
|
260989
261300
|
|
|
260990
261301
|
class TelemetryService2 {
|
|
260991
261302
|
telemetryProvider;
|
|
@@ -261013,11 +261324,15 @@ class TelemetryService2 {
|
|
|
261013
261324
|
trackException(error95, properties) {
|
|
261014
261325
|
const context = this.getCurrentContext();
|
|
261015
261326
|
const enrichedProperties = this.enrichPropertiesWithContext(properties, context);
|
|
261016
|
-
this.telemetryProvider.trackException(error95, enrichedProperties);
|
|
261327
|
+
this.telemetryProvider.trackException(redactError2(error95), enrichedProperties);
|
|
261017
261328
|
}
|
|
261018
261329
|
async trackRequest(name2, fn2, properties) {
|
|
261330
|
+
const parentContext = this.getCurrentContext();
|
|
261331
|
+
const operationId = parentContext?.operationId ?? this.operationId ?? getTelemetryOperationId2();
|
|
261332
|
+
const parentId = parentContext ? parentContext.id : this.inboundParentIdFor(operationId);
|
|
261019
261333
|
const context = {
|
|
261020
|
-
operationId
|
|
261334
|
+
operationId,
|
|
261335
|
+
...parentId !== undefined ? { parentId } : {},
|
|
261021
261336
|
id: this.generateId()
|
|
261022
261337
|
};
|
|
261023
261338
|
const startTime = performance.now();
|
|
@@ -261035,6 +261350,45 @@ class TelemetryService2 {
|
|
|
261035
261350
|
throw error95;
|
|
261036
261351
|
}
|
|
261037
261352
|
}
|
|
261353
|
+
trackRequestResult(name2, durationMs, success5, properties, context) {
|
|
261354
|
+
const requestContext = context ?? {
|
|
261355
|
+
operationId: this.operationId ?? getTelemetryOperationId2(),
|
|
261356
|
+
id: this.generateId()
|
|
261357
|
+
};
|
|
261358
|
+
const enrichedProperties = this.enrichPropertiesWithContext(properties, requestContext);
|
|
261359
|
+
this.telemetryProvider.trackRequest(name2, durationMs, success5, enrichedProperties);
|
|
261360
|
+
}
|
|
261361
|
+
createRequestContext() {
|
|
261362
|
+
const operationId = this.operationId ?? getTelemetryOperationId2();
|
|
261363
|
+
const parentId = this.inboundParentIdFor(operationId);
|
|
261364
|
+
return {
|
|
261365
|
+
operationId,
|
|
261366
|
+
...parentId !== undefined ? { parentId } : {},
|
|
261367
|
+
id: this.generateId()
|
|
261368
|
+
};
|
|
261369
|
+
}
|
|
261370
|
+
inboundParentIdFor(operationId) {
|
|
261371
|
+
const inbound = getInboundTraceContext2();
|
|
261372
|
+
return inbound && inbound.traceId === operationId ? inbound.parentSpanId : undefined;
|
|
261373
|
+
}
|
|
261374
|
+
runWithContext(context, fn2) {
|
|
261375
|
+
return this.contextStorage.run(context, fn2);
|
|
261376
|
+
}
|
|
261377
|
+
createDependencyContext() {
|
|
261378
|
+
const parentContext = this.getCurrentContext();
|
|
261379
|
+
if (!parentContext) {
|
|
261380
|
+
return;
|
|
261381
|
+
}
|
|
261382
|
+
return {
|
|
261383
|
+
operationId: parentContext.operationId,
|
|
261384
|
+
parentId: parentContext.id,
|
|
261385
|
+
id: this.generateId()
|
|
261386
|
+
};
|
|
261387
|
+
}
|
|
261388
|
+
trackDependencyResult(name2, type22, durationMs, success5, properties, context, resultCode) {
|
|
261389
|
+
const enrichedProperties = this.enrichPropertiesWithContext(properties, context);
|
|
261390
|
+
this.telemetryProvider.trackDependency(redactValue2(name2), type22, durationMs, success5, enrichedProperties, resultCode);
|
|
261391
|
+
}
|
|
261038
261392
|
async trackDependencyOperation(name2, type22, fn2, properties) {
|
|
261039
261393
|
const parentContext = this.getCurrentContext();
|
|
261040
261394
|
if (!parentContext) {
|
|
@@ -261071,8 +261425,12 @@ class TelemetryService2 {
|
|
|
261071
261425
|
...getExecutionContextTelemetryProperties2(),
|
|
261072
261426
|
...globalProperties,
|
|
261073
261427
|
...this.defaultProperties,
|
|
261074
|
-
...properties,
|
|
261075
|
-
...context
|
|
261428
|
+
...redactProperties2(properties ?? {}),
|
|
261429
|
+
...context ? {
|
|
261430
|
+
[TELEMETRY_OPERATION_ID_PROPERTY2]: context.operationId,
|
|
261431
|
+
...context.parentId !== undefined ? { [TELEMETRY_PARENT_ID_PROPERTY2]: context.parentId } : {},
|
|
261432
|
+
[TELEMETRY_SPAN_ID_PROPERTY2]: context.id
|
|
261433
|
+
} : {}
|
|
261076
261434
|
};
|
|
261077
261435
|
if (sessionId === undefined) {
|
|
261078
261436
|
delete enriched[TELEMETRY_SESSION_ID_PROPERTY2];
|
|
@@ -261082,7 +261440,16 @@ class TelemetryService2 {
|
|
|
261082
261440
|
return enriched;
|
|
261083
261441
|
}
|
|
261084
261442
|
generateId() {
|
|
261085
|
-
|
|
261443
|
+
const bytes = new Uint8Array(8);
|
|
261444
|
+
let hex4 = "";
|
|
261445
|
+
do {
|
|
261446
|
+
crypto.getRandomValues(bytes);
|
|
261447
|
+
hex4 = "";
|
|
261448
|
+
for (const byte of bytes) {
|
|
261449
|
+
hex4 += byte.toString(16).padStart(2, "0");
|
|
261450
|
+
}
|
|
261451
|
+
} while (/^0+$/.test(hex4));
|
|
261452
|
+
return hex4;
|
|
261086
261453
|
}
|
|
261087
261454
|
}
|
|
261088
261455
|
var providerSlot2 = singleton5("TelemetryProvider");
|
|
@@ -261779,149 +262146,24 @@ function buildCommandTelemetryAttribution2(commandPath, skillSource) {
|
|
|
261779
262146
|
...getCommandProductModeAttribution2(commandPath)
|
|
261780
262147
|
};
|
|
261781
262148
|
}
|
|
261782
|
-
var REDACTED2 = "[REDACTED]";
|
|
261783
|
-
var MAX_VALUE_LENGTH2 = 200;
|
|
261784
|
-
var SENSITIVE_NAME_TOKENS2 = new Set([
|
|
261785
|
-
"token",
|
|
261786
|
-
"tokens",
|
|
261787
|
-
"secret",
|
|
261788
|
-
"secrets",
|
|
261789
|
-
"password",
|
|
261790
|
-
"passwords",
|
|
261791
|
-
"pwd",
|
|
261792
|
-
"credential",
|
|
261793
|
-
"credentials",
|
|
261794
|
-
"auth",
|
|
261795
|
-
"authentication",
|
|
261796
|
-
"authorization",
|
|
261797
|
-
"authority",
|
|
261798
|
-
"cert",
|
|
261799
|
-
"certificate",
|
|
261800
|
-
"certificates"
|
|
261801
|
-
]);
|
|
261802
|
-
var SENSITIVE_KEY_PREFIXES2 = new Set([
|
|
261803
|
-
"api",
|
|
261804
|
-
"access",
|
|
261805
|
-
"client",
|
|
261806
|
-
"private",
|
|
261807
|
-
"public",
|
|
261808
|
-
"signing",
|
|
261809
|
-
"encryption",
|
|
261810
|
-
"session",
|
|
261811
|
-
"master",
|
|
261812
|
-
"shared",
|
|
261813
|
-
"root",
|
|
261814
|
-
"ssh",
|
|
261815
|
-
"rsa",
|
|
261816
|
-
"aes",
|
|
261817
|
-
"hmac",
|
|
261818
|
-
"oauth"
|
|
261819
|
-
]);
|
|
261820
|
-
var UUID_PATTERN3 = /\b[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\b/gi;
|
|
261821
|
-
var EMAIL_PATTERN2 = /\b[^\s@]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}\b/g;
|
|
261822
|
-
var JWT_PATTERN2 = /\beyJ[A-Za-z0-9_-]{10,}\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+/g;
|
|
261823
|
-
var LONG_TOKEN_PATTERN2 = /\b[A-Za-z0-9_-]{40,}\b/g;
|
|
261824
|
-
var USER_HOME_PATTERN2 = /([/\\])(Users|home)([/\\])([^/\\]+)/gi;
|
|
261825
|
-
var URL_PATTERN2 = /\bhttps?:\/\/[^\s,;]+/gi;
|
|
261826
|
-
var URL_TRAILING_PUNCT2 = /[.,;:!?)\]}>'"]+$/;
|
|
261827
|
-
function shortHash2(input2) {
|
|
261828
|
-
let hash3 = 2166136261;
|
|
261829
|
-
for (let i4 = 0;i4 < input2.length; i4++) {
|
|
261830
|
-
hash3 ^= input2.charCodeAt(i4);
|
|
261831
|
-
hash3 = Math.imul(hash3, 16777619);
|
|
261832
|
-
}
|
|
261833
|
-
return (hash3 >>> 0).toString(16).padStart(8, "0");
|
|
261834
|
-
}
|
|
261835
|
-
function redactUrl2(raw) {
|
|
261836
|
-
try {
|
|
261837
|
-
const url5 = new URL(raw);
|
|
261838
|
-
return `${url5.protocol}//${url5.host}`;
|
|
261839
|
-
} catch {
|
|
261840
|
-
return `url#${shortHash2(raw)}`;
|
|
261841
|
-
}
|
|
261842
|
-
}
|
|
261843
|
-
function redactValueDetectors2(value) {
|
|
261844
|
-
let out = value;
|
|
261845
|
-
out = out.replace(JWT_PATTERN2, () => REDACTED2);
|
|
261846
|
-
out = out.replace(URL_PATTERN2, (match) => {
|
|
261847
|
-
const trailing = match.match(URL_TRAILING_PUNCT2)?.[0] ?? "";
|
|
261848
|
-
const core22 = trailing ? match.slice(0, -trailing.length) : match;
|
|
261849
|
-
return `${redactUrl2(core22)}${trailing}`;
|
|
261850
|
-
});
|
|
261851
|
-
out = out.replace(USER_HOME_PATTERN2, (_match, sep1, folder, sep2) => `${sep1}${folder}${sep2}<user>`);
|
|
261852
|
-
out = out.replace(EMAIL_PATTERN2, (match) => `email#${shortHash2(match)}`);
|
|
261853
|
-
out = out.replace(UUID_PATTERN3, (match) => `uuid#${shortHash2(match)}`);
|
|
261854
|
-
out = out.replace(LONG_TOKEN_PATTERN2, () => REDACTED2);
|
|
261855
|
-
if (out.length > MAX_VALUE_LENGTH2) {
|
|
261856
|
-
out = `${out.slice(0, MAX_VALUE_LENGTH2)}…`;
|
|
261857
|
-
}
|
|
261858
|
-
return out;
|
|
261859
|
-
}
|
|
261860
|
-
function nameTokens2(name2) {
|
|
261861
|
-
return name2.replace(/([a-z0-9])([A-Z])/g, "$1 $2").replace(/([A-Z]+)([A-Z][a-z])/g, "$1 $2").split(/[\s_-]+/).map((t13) => t13.toLowerCase()).filter(Boolean);
|
|
261862
|
-
}
|
|
261863
|
-
function isSensitiveName2(name2) {
|
|
261864
|
-
const tokens = nameTokens2(name2);
|
|
261865
|
-
for (let i4 = 0;i4 < tokens.length; i4++) {
|
|
261866
|
-
const token = tokens[i4];
|
|
261867
|
-
if (SENSITIVE_NAME_TOKENS2.has(token)) {
|
|
261868
|
-
return true;
|
|
261869
|
-
}
|
|
261870
|
-
if (token === "key" || token === "keys") {
|
|
261871
|
-
const prev = tokens[i4 - 1];
|
|
261872
|
-
if (prev && SENSITIVE_KEY_PREFIXES2.has(prev)) {
|
|
261873
|
-
return true;
|
|
261874
|
-
}
|
|
261875
|
-
}
|
|
261876
|
-
}
|
|
261877
|
-
return false;
|
|
261878
|
-
}
|
|
261879
|
-
function redactProperty2(name2, value) {
|
|
261880
|
-
if (value === undefined || value === null) {
|
|
261881
|
-
return;
|
|
261882
|
-
}
|
|
261883
|
-
if (isSensitiveName2(name2)) {
|
|
261884
|
-
return REDACTED2;
|
|
261885
|
-
}
|
|
261886
|
-
if (typeof value === "boolean" || typeof value === "number") {
|
|
261887
|
-
return value;
|
|
261888
|
-
}
|
|
261889
|
-
if (typeof value !== "string") {
|
|
261890
|
-
return "[OBJECT]";
|
|
261891
|
-
}
|
|
261892
|
-
return redactValueDetectors2(value);
|
|
261893
|
-
}
|
|
261894
|
-
function redactProperties2(properties) {
|
|
261895
|
-
const out = {};
|
|
261896
|
-
for (const [name2, value] of Object.entries(properties)) {
|
|
261897
|
-
const redacted = redactProperty2(name2, value);
|
|
261898
|
-
if (redacted !== undefined) {
|
|
261899
|
-
out[name2] = redacted;
|
|
261900
|
-
}
|
|
261901
|
-
}
|
|
261902
|
-
return out;
|
|
261903
|
-
}
|
|
261904
262149
|
var pollSignalSlot2 = singleton5("PollSignal");
|
|
261905
262150
|
var cliErrorCodeValues2 = new Set(CLI_ERROR_CODES2);
|
|
261906
262151
|
var retryHintValues2 = new Set(RETRY_HINTS2);
|
|
262152
|
+
var TELEMETRY_COMMAND_ARG_PREFIX2 = "uip.cmd.arg.";
|
|
261907
262153
|
function extractCommandParams2(cmd) {
|
|
261908
262154
|
const params = {};
|
|
262155
|
+
const add22 = (name2, value) => {
|
|
262156
|
+
if (name2 && value !== undefined) {
|
|
262157
|
+
params[`${TELEMETRY_COMMAND_ARG_PREFIX2}${name2}`] = value;
|
|
262158
|
+
}
|
|
262159
|
+
};
|
|
261909
262160
|
const registered = cmd.registeredArguments ?? [];
|
|
261910
262161
|
const processed = cmd.processedArgs ?? [];
|
|
261911
262162
|
for (let i4 = 0;i4 < registered.length; i4++) {
|
|
261912
|
-
|
|
261913
|
-
if (value === undefined) {
|
|
261914
|
-
continue;
|
|
261915
|
-
}
|
|
261916
|
-
const name2 = registered[i4].name();
|
|
261917
|
-
if (name2) {
|
|
261918
|
-
params[name2] = value;
|
|
261919
|
-
}
|
|
262163
|
+
add22(registered[i4].name(), processed[i4]);
|
|
261920
262164
|
}
|
|
261921
262165
|
for (const [key, value] of Object.entries(cmd.opts())) {
|
|
261922
|
-
|
|
261923
|
-
params[key] = value;
|
|
261924
|
-
}
|
|
262166
|
+
add22(key, value);
|
|
261925
262167
|
}
|
|
261926
262168
|
return params;
|
|
261927
262169
|
}
|
|
@@ -261964,11 +262206,12 @@ Command3.prototype.trackedAction = function(context, fn2, properties) {
|
|
|
261964
262206
|
return this.action(async (...args) => {
|
|
261965
262207
|
const telemetryName = deriveCommandPath2(command);
|
|
261966
262208
|
const props = typeof properties === "function" ? properties(...args) : properties;
|
|
262209
|
+
const requestContext = telemetry2.createRequestContext();
|
|
261967
262210
|
const startTime = performance.now();
|
|
261968
262211
|
let errorMessage2;
|
|
261969
262212
|
let fallbackExitCode = EXIT_CODES2.Success;
|
|
261970
262213
|
clearRecordedCommandFailureTelemetry2();
|
|
261971
|
-
const [error95] = await catchError4(fn2(...args));
|
|
262214
|
+
const [error95] = await catchError4(telemetry2.runWithContext(requestContext, () => fn2(...args)));
|
|
261972
262215
|
if (error95) {
|
|
261973
262216
|
errorMessage2 = error95 instanceof Error ? error95.message : String(error95);
|
|
261974
262217
|
logger4.debug(`[trackedAction] ${telemetryName} failed: ${errorMessage2}`);
|
|
@@ -262004,16 +262247,21 @@ Command3.prototype.trackedAction = function(context, fn2, properties) {
|
|
|
262004
262247
|
recordedFailure,
|
|
262005
262248
|
pollSignal: context.pollSignal
|
|
262006
262249
|
});
|
|
262007
|
-
|
|
262008
|
-
|
|
262250
|
+
const commandParams = extractCommandParams2(command);
|
|
262251
|
+
if (props) {
|
|
262252
|
+
for (const key of Object.keys(props)) {
|
|
262253
|
+
delete commandParams[`${TELEMETRY_COMMAND_ARG_PREFIX2}${key}`];
|
|
262254
|
+
}
|
|
262255
|
+
}
|
|
262256
|
+
const baseProperties = redactProperties2({
|
|
262257
|
+
...commandParams,
|
|
262009
262258
|
...props,
|
|
262010
262259
|
...buildCommandTelemetryAttribution2(telemetryName, process.env.UIPATH_SKILL),
|
|
262011
262260
|
command: "true",
|
|
262012
|
-
duration: String(durationMs),
|
|
262013
|
-
success: String(success5),
|
|
262014
262261
|
...terminalTelemetry,
|
|
262015
262262
|
...errorMessage2 ? { errorMessage: errorMessage2 } : {}
|
|
262016
|
-
})
|
|
262263
|
+
});
|
|
262264
|
+
telemetry2.trackRequestResult(telemetryName, durationMs, success5, baseProperties, requestContext);
|
|
262017
262265
|
});
|
|
262018
262266
|
};
|
|
262019
262267
|
var guardInstalledSlot3 = singleton5("ConsoleGuardInstalled");
|
|
@@ -262490,7 +262738,7 @@ var sdkUserAgentHostToken23 = singleton23("SdkUserAgentHostToken");
|
|
|
262490
262738
|
var package_default4 = {
|
|
262491
262739
|
name: "@uipath/project-packager",
|
|
262492
262740
|
license: "MIT",
|
|
262493
|
-
version: "1.199.0-preview.
|
|
262741
|
+
version: "1.199.0-preview.99",
|
|
262494
262742
|
description: "UiPath Project Packager - core library for packing individual UiPath projects",
|
|
262495
262743
|
type: "module",
|
|
262496
262744
|
main: "./dist/index.js",
|
|
@@ -281281,4 +281529,4 @@ export {
|
|
|
281281
281529
|
packSolutionAsync
|
|
281282
281530
|
};
|
|
281283
281531
|
|
|
281284
|
-
//# debugId=
|
|
281532
|
+
//# debugId=BF3809DA8C5470FE64756E2164756E21
|