@uipath/solution-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.
- package/dist/deploy.js +257 -150
- package/dist/init.js +256 -149
- 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
|
@@ -201043,7 +201043,7 @@ init_dist();
|
|
|
201043
201043
|
// ../packager/packager-tool-flow/package.json
|
|
201044
201044
|
var package_default = {
|
|
201045
201045
|
name: "@uipath/packager-tool-flow",
|
|
201046
|
-
version: "1.198.0
|
|
201046
|
+
version: "1.198.0",
|
|
201047
201047
|
description: "UiPath Flow tool implementation",
|
|
201048
201048
|
type: "module",
|
|
201049
201049
|
exports: {
|
|
@@ -213315,11 +213315,36 @@ class NodeContextStorage {
|
|
|
213315
213315
|
return this.storage.getStore();
|
|
213316
213316
|
}
|
|
213317
213317
|
}
|
|
213318
|
+
// ../common/src/telemetry/trace-context.ts
|
|
213319
|
+
var TELEMETRY_TRACEPARENT_ENV = "TRACEPARENT";
|
|
213320
|
+
var TRACEPARENT_PATTERN = /^00-([0-9a-f]{32})-([0-9a-f]{16})-[0-9a-f]{2}$/;
|
|
213321
|
+
function getProcessEnv() {
|
|
213322
|
+
return globalThis.process?.env;
|
|
213323
|
+
}
|
|
213324
|
+
function parseInboundTraceparent(value) {
|
|
213325
|
+
if (!value) {
|
|
213326
|
+
return;
|
|
213327
|
+
}
|
|
213328
|
+
const match = TRACEPARENT_PATTERN.exec(value.trim().toLowerCase());
|
|
213329
|
+
if (!match) {
|
|
213330
|
+
return;
|
|
213331
|
+
}
|
|
213332
|
+
const [, traceId, parentSpanId] = match;
|
|
213333
|
+
if (/^0+$/.test(traceId) || /^0+$/.test(parentSpanId)) {
|
|
213334
|
+
return;
|
|
213335
|
+
}
|
|
213336
|
+
return { traceId, parentSpanId };
|
|
213337
|
+
}
|
|
213338
|
+
function getInboundTraceContext() {
|
|
213339
|
+
return parseInboundTraceparent(getProcessEnv()?.[TELEMETRY_TRACEPARENT_ENV]);
|
|
213340
|
+
}
|
|
213341
|
+
|
|
213318
213342
|
// ../common/src/telemetry/session-id.ts
|
|
213319
213343
|
var TELEMETRY_SESSION_ID_ENV = "UIPATH_SESSION_ID";
|
|
213320
213344
|
var TELEMETRY_SESSION_ID_PROPERTY = "session_id";
|
|
213321
213345
|
var telemetrySessionIdSlot = singleton2("TelemetrySessionId");
|
|
213322
|
-
|
|
213346
|
+
var telemetryOperationIdSlot = singleton2("TelemetryOperationId");
|
|
213347
|
+
function getProcessEnv2() {
|
|
213323
213348
|
return globalThis.process?.env;
|
|
213324
213349
|
}
|
|
213325
213350
|
function normalizeSessionId(value) {
|
|
@@ -213330,18 +213355,165 @@ function normalizeSessionId(value) {
|
|
|
213330
213355
|
return trimmed || undefined;
|
|
213331
213356
|
}
|
|
213332
213357
|
function getConfiguredTelemetrySessionId() {
|
|
213333
|
-
return normalizeSessionId(
|
|
213358
|
+
return normalizeSessionId(getProcessEnv2()?.[TELEMETRY_SESSION_ID_ENV]);
|
|
213334
213359
|
}
|
|
213335
213360
|
function resolveTelemetrySessionId(existingSessionId) {
|
|
213336
213361
|
return getConfiguredTelemetrySessionId() ?? normalizeSessionId(existingSessionId);
|
|
213337
213362
|
}
|
|
213363
|
+
function getTelemetryOperationId() {
|
|
213364
|
+
const existing = telemetryOperationIdSlot.get();
|
|
213365
|
+
if (existing) {
|
|
213366
|
+
return existing;
|
|
213367
|
+
}
|
|
213368
|
+
const inboundTraceId = getInboundTraceContext()?.traceId;
|
|
213369
|
+
const generated = inboundTraceId ?? crypto.randomUUID().replaceAll("-", "");
|
|
213370
|
+
telemetryOperationIdSlot.set(generated);
|
|
213371
|
+
return generated;
|
|
213372
|
+
}
|
|
213338
213373
|
// ../common/src/telemetry/global-telemetry-properties.ts
|
|
213339
213374
|
var telemetryPropsSlot2 = singleton2("TelemetryDefaultProps");
|
|
213340
213375
|
function getGlobalTelemetryProperties() {
|
|
213341
213376
|
return telemetryPropsSlot2.get();
|
|
213342
213377
|
}
|
|
213343
213378
|
|
|
213379
|
+
// ../common/src/telemetry/pii-redactor.ts
|
|
213380
|
+
var REDACTED = "[REDACTED]";
|
|
213381
|
+
var MAX_VALUE_LENGTH = 200;
|
|
213382
|
+
var SENSITIVE_NAME_TOKENS = new Set([
|
|
213383
|
+
"token",
|
|
213384
|
+
"tokens",
|
|
213385
|
+
"secret",
|
|
213386
|
+
"secrets",
|
|
213387
|
+
"password",
|
|
213388
|
+
"passwords",
|
|
213389
|
+
"pwd",
|
|
213390
|
+
"credential",
|
|
213391
|
+
"credentials",
|
|
213392
|
+
"auth",
|
|
213393
|
+
"authentication",
|
|
213394
|
+
"authorization",
|
|
213395
|
+
"authority",
|
|
213396
|
+
"cert",
|
|
213397
|
+
"certificate",
|
|
213398
|
+
"certificates"
|
|
213399
|
+
]);
|
|
213400
|
+
var SENSITIVE_KEY_PREFIXES = new Set([
|
|
213401
|
+
"api",
|
|
213402
|
+
"access",
|
|
213403
|
+
"client",
|
|
213404
|
+
"private",
|
|
213405
|
+
"public",
|
|
213406
|
+
"signing",
|
|
213407
|
+
"encryption",
|
|
213408
|
+
"session",
|
|
213409
|
+
"master",
|
|
213410
|
+
"shared",
|
|
213411
|
+
"root",
|
|
213412
|
+
"ssh",
|
|
213413
|
+
"rsa",
|
|
213414
|
+
"aes",
|
|
213415
|
+
"hmac",
|
|
213416
|
+
"oauth"
|
|
213417
|
+
]);
|
|
213418
|
+
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;
|
|
213419
|
+
var EMAIL_PATTERN = /\b[^\s@]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}\b/g;
|
|
213420
|
+
var JWT_PATTERN = /\beyJ[A-Za-z0-9_-]{10,}\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+/g;
|
|
213421
|
+
var LONG_TOKEN_PATTERN = /\b[A-Za-z0-9_-]{40,}\b/g;
|
|
213422
|
+
var USER_HOME_PATTERN = /([/\\])(Users|home)([/\\])([^/\\]+)/gi;
|
|
213423
|
+
var URL_PATTERN = /\bhttps?:\/\/[^\s,;]+/gi;
|
|
213424
|
+
var URL_TRAILING_PUNCT = /[.,;:!?)\]}>'"]+$/;
|
|
213425
|
+
function shortHash(input2) {
|
|
213426
|
+
let hash3 = 2166136261;
|
|
213427
|
+
for (let i3 = 0;i3 < input2.length; i3++) {
|
|
213428
|
+
hash3 ^= input2.charCodeAt(i3);
|
|
213429
|
+
hash3 = Math.imul(hash3, 16777619);
|
|
213430
|
+
}
|
|
213431
|
+
return (hash3 >>> 0).toString(16).padStart(8, "0");
|
|
213432
|
+
}
|
|
213433
|
+
function redactUrl(raw) {
|
|
213434
|
+
try {
|
|
213435
|
+
const url5 = new URL(raw);
|
|
213436
|
+
return `${url5.protocol}//${url5.host}`;
|
|
213437
|
+
} catch {
|
|
213438
|
+
return `url#${shortHash(raw)}`;
|
|
213439
|
+
}
|
|
213440
|
+
}
|
|
213441
|
+
function redactValueDetectors(value) {
|
|
213442
|
+
let out = value;
|
|
213443
|
+
out = out.replace(JWT_PATTERN, () => REDACTED);
|
|
213444
|
+
out = out.replace(URL_PATTERN, (match) => {
|
|
213445
|
+
const trailing = match.match(URL_TRAILING_PUNCT)?.[0] ?? "";
|
|
213446
|
+
const core5 = trailing ? match.slice(0, -trailing.length) : match;
|
|
213447
|
+
return `${redactUrl(core5)}${trailing}`;
|
|
213448
|
+
});
|
|
213449
|
+
out = out.replace(USER_HOME_PATTERN, (_match, sep1, folder, sep2) => `${sep1}${folder}${sep2}<user>`);
|
|
213450
|
+
out = out.replace(EMAIL_PATTERN, (match) => `email#${shortHash(match)}`);
|
|
213451
|
+
out = out.replace(UUID_PATTERN2, (match) => `uuid#${shortHash(match)}`);
|
|
213452
|
+
out = out.replace(LONG_TOKEN_PATTERN, () => REDACTED);
|
|
213453
|
+
if (out.length > MAX_VALUE_LENGTH) {
|
|
213454
|
+
out = `${out.slice(0, MAX_VALUE_LENGTH)}…`;
|
|
213455
|
+
}
|
|
213456
|
+
return out;
|
|
213457
|
+
}
|
|
213458
|
+
function redactValue(value) {
|
|
213459
|
+
return redactValueDetectors(value);
|
|
213460
|
+
}
|
|
213461
|
+
function redactError(error95) {
|
|
213462
|
+
const safe = new Error(redactValueDetectors(error95.message ?? ""));
|
|
213463
|
+
safe.name = error95.name;
|
|
213464
|
+
safe.stack = typeof error95.stack === "string" ? redactValueDetectors(error95.stack) : undefined;
|
|
213465
|
+
return safe;
|
|
213466
|
+
}
|
|
213467
|
+
function nameTokens(name2) {
|
|
213468
|
+
return name2.replace(/([a-z0-9])([A-Z])/g, "$1 $2").replace(/([A-Z]+)([A-Z][a-z])/g, "$1 $2").split(/[\s._-]+/).map((t11) => t11.toLowerCase()).filter(Boolean);
|
|
213469
|
+
}
|
|
213470
|
+
function isSensitiveName(name2) {
|
|
213471
|
+
const tokens = nameTokens(name2);
|
|
213472
|
+
for (let i3 = 0;i3 < tokens.length; i3++) {
|
|
213473
|
+
const token = tokens[i3];
|
|
213474
|
+
if (SENSITIVE_NAME_TOKENS.has(token)) {
|
|
213475
|
+
return true;
|
|
213476
|
+
}
|
|
213477
|
+
if (token === "key" || token === "keys") {
|
|
213478
|
+
const prev = tokens[i3 - 1];
|
|
213479
|
+
if (prev && SENSITIVE_KEY_PREFIXES.has(prev)) {
|
|
213480
|
+
return true;
|
|
213481
|
+
}
|
|
213482
|
+
}
|
|
213483
|
+
}
|
|
213484
|
+
return false;
|
|
213485
|
+
}
|
|
213486
|
+
function redactProperty(name2, value) {
|
|
213487
|
+
if (value === undefined || value === null) {
|
|
213488
|
+
return;
|
|
213489
|
+
}
|
|
213490
|
+
if (isSensitiveName(name2)) {
|
|
213491
|
+
return REDACTED;
|
|
213492
|
+
}
|
|
213493
|
+
if (typeof value === "boolean" || typeof value === "number") {
|
|
213494
|
+
return value;
|
|
213495
|
+
}
|
|
213496
|
+
if (typeof value !== "string") {
|
|
213497
|
+
return "[OBJECT]";
|
|
213498
|
+
}
|
|
213499
|
+
return redactValueDetectors(value);
|
|
213500
|
+
}
|
|
213501
|
+
function redactProperties(properties) {
|
|
213502
|
+
const out = {};
|
|
213503
|
+
for (const [name2, value] of Object.entries(properties)) {
|
|
213504
|
+
const redacted = redactProperty(name2, value);
|
|
213505
|
+
if (redacted !== undefined) {
|
|
213506
|
+
out[name2] = redacted;
|
|
213507
|
+
}
|
|
213508
|
+
}
|
|
213509
|
+
return out;
|
|
213510
|
+
}
|
|
213511
|
+
|
|
213344
213512
|
// ../common/src/telemetry/telemetry-service.ts
|
|
213513
|
+
var TELEMETRY_OPERATION_ID_PROPERTY = "uip.trace.operation_id";
|
|
213514
|
+
var TELEMETRY_PARENT_ID_PROPERTY = "uip.trace.parent_id";
|
|
213515
|
+
var TELEMETRY_SPAN_ID_PROPERTY = "uip.trace.span_id";
|
|
213516
|
+
|
|
213345
213517
|
class TelemetryService {
|
|
213346
213518
|
telemetryProvider;
|
|
213347
213519
|
contextStorage;
|
|
@@ -213368,11 +213540,15 @@ class TelemetryService {
|
|
|
213368
213540
|
trackException(error95, properties) {
|
|
213369
213541
|
const context = this.getCurrentContext();
|
|
213370
213542
|
const enrichedProperties = this.enrichPropertiesWithContext(properties, context);
|
|
213371
|
-
this.telemetryProvider.trackException(error95, enrichedProperties);
|
|
213543
|
+
this.telemetryProvider.trackException(redactError(error95), enrichedProperties);
|
|
213372
213544
|
}
|
|
213373
213545
|
async trackRequest(name2, fn2, properties) {
|
|
213546
|
+
const parentContext = this.getCurrentContext();
|
|
213547
|
+
const operationId = parentContext?.operationId ?? this.operationId ?? getTelemetryOperationId();
|
|
213548
|
+
const parentId = parentContext ? parentContext.id : this.inboundParentIdFor(operationId);
|
|
213374
213549
|
const context = {
|
|
213375
|
-
operationId
|
|
213550
|
+
operationId,
|
|
213551
|
+
...parentId !== undefined ? { parentId } : {},
|
|
213376
213552
|
id: this.generateId()
|
|
213377
213553
|
};
|
|
213378
213554
|
const startTime = performance.now();
|
|
@@ -213390,6 +213566,45 @@ class TelemetryService {
|
|
|
213390
213566
|
throw error95;
|
|
213391
213567
|
}
|
|
213392
213568
|
}
|
|
213569
|
+
trackRequestResult(name2, durationMs, success5, properties, context) {
|
|
213570
|
+
const requestContext = context ?? {
|
|
213571
|
+
operationId: this.operationId ?? getTelemetryOperationId(),
|
|
213572
|
+
id: this.generateId()
|
|
213573
|
+
};
|
|
213574
|
+
const enrichedProperties = this.enrichPropertiesWithContext(properties, requestContext);
|
|
213575
|
+
this.telemetryProvider.trackRequest(name2, durationMs, success5, enrichedProperties);
|
|
213576
|
+
}
|
|
213577
|
+
createRequestContext() {
|
|
213578
|
+
const operationId = this.operationId ?? getTelemetryOperationId();
|
|
213579
|
+
const parentId = this.inboundParentIdFor(operationId);
|
|
213580
|
+
return {
|
|
213581
|
+
operationId,
|
|
213582
|
+
...parentId !== undefined ? { parentId } : {},
|
|
213583
|
+
id: this.generateId()
|
|
213584
|
+
};
|
|
213585
|
+
}
|
|
213586
|
+
inboundParentIdFor(operationId) {
|
|
213587
|
+
const inbound = getInboundTraceContext();
|
|
213588
|
+
return inbound && inbound.traceId === operationId ? inbound.parentSpanId : undefined;
|
|
213589
|
+
}
|
|
213590
|
+
runWithContext(context, fn2) {
|
|
213591
|
+
return this.contextStorage.run(context, fn2);
|
|
213592
|
+
}
|
|
213593
|
+
createDependencyContext() {
|
|
213594
|
+
const parentContext = this.getCurrentContext();
|
|
213595
|
+
if (!parentContext) {
|
|
213596
|
+
return;
|
|
213597
|
+
}
|
|
213598
|
+
return {
|
|
213599
|
+
operationId: parentContext.operationId,
|
|
213600
|
+
parentId: parentContext.id,
|
|
213601
|
+
id: this.generateId()
|
|
213602
|
+
};
|
|
213603
|
+
}
|
|
213604
|
+
trackDependencyResult(name2, type2, durationMs, success5, properties, context, resultCode) {
|
|
213605
|
+
const enrichedProperties = this.enrichPropertiesWithContext(properties, context);
|
|
213606
|
+
this.telemetryProvider.trackDependency(redactValue(name2), type2, durationMs, success5, enrichedProperties, resultCode);
|
|
213607
|
+
}
|
|
213393
213608
|
async trackDependencyOperation(name2, type2, fn2, properties) {
|
|
213394
213609
|
const parentContext = this.getCurrentContext();
|
|
213395
213610
|
if (!parentContext) {
|
|
@@ -213426,8 +213641,12 @@ class TelemetryService {
|
|
|
213426
213641
|
...getExecutionContextTelemetryProperties(),
|
|
213427
213642
|
...globalProperties,
|
|
213428
213643
|
...this.defaultProperties,
|
|
213429
|
-
...properties,
|
|
213430
|
-
...context
|
|
213644
|
+
...redactProperties(properties ?? {}),
|
|
213645
|
+
...context ? {
|
|
213646
|
+
[TELEMETRY_OPERATION_ID_PROPERTY]: context.operationId,
|
|
213647
|
+
...context.parentId !== undefined ? { [TELEMETRY_PARENT_ID_PROPERTY]: context.parentId } : {},
|
|
213648
|
+
[TELEMETRY_SPAN_ID_PROPERTY]: context.id
|
|
213649
|
+
} : {}
|
|
213431
213650
|
};
|
|
213432
213651
|
if (sessionId === undefined) {
|
|
213433
213652
|
delete enriched[TELEMETRY_SESSION_ID_PROPERTY];
|
|
@@ -213437,7 +213656,16 @@ class TelemetryService {
|
|
|
213437
213656
|
return enriched;
|
|
213438
213657
|
}
|
|
213439
213658
|
generateId() {
|
|
213440
|
-
|
|
213659
|
+
const bytes = new Uint8Array(8);
|
|
213660
|
+
let hex4 = "";
|
|
213661
|
+
do {
|
|
213662
|
+
crypto.getRandomValues(bytes);
|
|
213663
|
+
hex4 = "";
|
|
213664
|
+
for (const byte of bytes) {
|
|
213665
|
+
hex4 += byte.toString(16).padStart(2, "0");
|
|
213666
|
+
}
|
|
213667
|
+
} while (/^0+$/.test(hex4));
|
|
213668
|
+
return hex4;
|
|
213441
213669
|
}
|
|
213442
213670
|
}
|
|
213443
213671
|
// ../common/src/telemetry/node-appinsights-telemetry-provider.ts
|
|
@@ -214139,152 +214367,25 @@ function buildCommandTelemetryAttribution(commandPath, skillSource) {
|
|
|
214139
214367
|
};
|
|
214140
214368
|
}
|
|
214141
214369
|
|
|
214142
|
-
// ../common/src/telemetry/pii-redactor.ts
|
|
214143
|
-
var REDACTED = "[REDACTED]";
|
|
214144
|
-
var MAX_VALUE_LENGTH = 200;
|
|
214145
|
-
var SENSITIVE_NAME_TOKENS = new Set([
|
|
214146
|
-
"token",
|
|
214147
|
-
"tokens",
|
|
214148
|
-
"secret",
|
|
214149
|
-
"secrets",
|
|
214150
|
-
"password",
|
|
214151
|
-
"passwords",
|
|
214152
|
-
"pwd",
|
|
214153
|
-
"credential",
|
|
214154
|
-
"credentials",
|
|
214155
|
-
"auth",
|
|
214156
|
-
"authentication",
|
|
214157
|
-
"authorization",
|
|
214158
|
-
"authority",
|
|
214159
|
-
"cert",
|
|
214160
|
-
"certificate",
|
|
214161
|
-
"certificates"
|
|
214162
|
-
]);
|
|
214163
|
-
var SENSITIVE_KEY_PREFIXES = new Set([
|
|
214164
|
-
"api",
|
|
214165
|
-
"access",
|
|
214166
|
-
"client",
|
|
214167
|
-
"private",
|
|
214168
|
-
"public",
|
|
214169
|
-
"signing",
|
|
214170
|
-
"encryption",
|
|
214171
|
-
"session",
|
|
214172
|
-
"master",
|
|
214173
|
-
"shared",
|
|
214174
|
-
"root",
|
|
214175
|
-
"ssh",
|
|
214176
|
-
"rsa",
|
|
214177
|
-
"aes",
|
|
214178
|
-
"hmac",
|
|
214179
|
-
"oauth"
|
|
214180
|
-
]);
|
|
214181
|
-
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;
|
|
214182
|
-
var EMAIL_PATTERN = /\b[^\s@]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}\b/g;
|
|
214183
|
-
var JWT_PATTERN = /\beyJ[A-Za-z0-9_-]{10,}\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+/g;
|
|
214184
|
-
var LONG_TOKEN_PATTERN = /\b[A-Za-z0-9_-]{40,}\b/g;
|
|
214185
|
-
var USER_HOME_PATTERN = /([/\\])(Users|home)([/\\])([^/\\]+)/gi;
|
|
214186
|
-
var URL_PATTERN = /\bhttps?:\/\/[^\s,;]+/gi;
|
|
214187
|
-
var URL_TRAILING_PUNCT = /[.,;:!?)\]}>'"]+$/;
|
|
214188
|
-
function shortHash(input2) {
|
|
214189
|
-
let hash3 = 2166136261;
|
|
214190
|
-
for (let i3 = 0;i3 < input2.length; i3++) {
|
|
214191
|
-
hash3 ^= input2.charCodeAt(i3);
|
|
214192
|
-
hash3 = Math.imul(hash3, 16777619);
|
|
214193
|
-
}
|
|
214194
|
-
return (hash3 >>> 0).toString(16).padStart(8, "0");
|
|
214195
|
-
}
|
|
214196
|
-
function redactUrl(raw) {
|
|
214197
|
-
try {
|
|
214198
|
-
const url5 = new URL(raw);
|
|
214199
|
-
return `${url5.protocol}//${url5.host}`;
|
|
214200
|
-
} catch {
|
|
214201
|
-
return `url#${shortHash(raw)}`;
|
|
214202
|
-
}
|
|
214203
|
-
}
|
|
214204
|
-
function redactValueDetectors(value) {
|
|
214205
|
-
let out = value;
|
|
214206
|
-
out = out.replace(JWT_PATTERN, () => REDACTED);
|
|
214207
|
-
out = out.replace(URL_PATTERN, (match) => {
|
|
214208
|
-
const trailing = match.match(URL_TRAILING_PUNCT)?.[0] ?? "";
|
|
214209
|
-
const core5 = trailing ? match.slice(0, -trailing.length) : match;
|
|
214210
|
-
return `${redactUrl(core5)}${trailing}`;
|
|
214211
|
-
});
|
|
214212
|
-
out = out.replace(USER_HOME_PATTERN, (_match, sep1, folder, sep2) => `${sep1}${folder}${sep2}<user>`);
|
|
214213
|
-
out = out.replace(EMAIL_PATTERN, (match) => `email#${shortHash(match)}`);
|
|
214214
|
-
out = out.replace(UUID_PATTERN2, (match) => `uuid#${shortHash(match)}`);
|
|
214215
|
-
out = out.replace(LONG_TOKEN_PATTERN, () => REDACTED);
|
|
214216
|
-
if (out.length > MAX_VALUE_LENGTH) {
|
|
214217
|
-
out = `${out.slice(0, MAX_VALUE_LENGTH)}…`;
|
|
214218
|
-
}
|
|
214219
|
-
return out;
|
|
214220
|
-
}
|
|
214221
|
-
function nameTokens(name2) {
|
|
214222
|
-
return name2.replace(/([a-z0-9])([A-Z])/g, "$1 $2").replace(/([A-Z]+)([A-Z][a-z])/g, "$1 $2").split(/[\s_-]+/).map((t11) => t11.toLowerCase()).filter(Boolean);
|
|
214223
|
-
}
|
|
214224
|
-
function isSensitiveName(name2) {
|
|
214225
|
-
const tokens = nameTokens(name2);
|
|
214226
|
-
for (let i3 = 0;i3 < tokens.length; i3++) {
|
|
214227
|
-
const token = tokens[i3];
|
|
214228
|
-
if (SENSITIVE_NAME_TOKENS.has(token)) {
|
|
214229
|
-
return true;
|
|
214230
|
-
}
|
|
214231
|
-
if (token === "key" || token === "keys") {
|
|
214232
|
-
const prev = tokens[i3 - 1];
|
|
214233
|
-
if (prev && SENSITIVE_KEY_PREFIXES.has(prev)) {
|
|
214234
|
-
return true;
|
|
214235
|
-
}
|
|
214236
|
-
}
|
|
214237
|
-
}
|
|
214238
|
-
return false;
|
|
214239
|
-
}
|
|
214240
|
-
function redactProperty(name2, value) {
|
|
214241
|
-
if (value === undefined || value === null) {
|
|
214242
|
-
return;
|
|
214243
|
-
}
|
|
214244
|
-
if (isSensitiveName(name2)) {
|
|
214245
|
-
return REDACTED;
|
|
214246
|
-
}
|
|
214247
|
-
if (typeof value === "boolean" || typeof value === "number") {
|
|
214248
|
-
return value;
|
|
214249
|
-
}
|
|
214250
|
-
if (typeof value !== "string") {
|
|
214251
|
-
return "[OBJECT]";
|
|
214252
|
-
}
|
|
214253
|
-
return redactValueDetectors(value);
|
|
214254
|
-
}
|
|
214255
|
-
function redactProperties(properties) {
|
|
214256
|
-
const out = {};
|
|
214257
|
-
for (const [name2, value] of Object.entries(properties)) {
|
|
214258
|
-
const redacted = redactProperty(name2, value);
|
|
214259
|
-
if (redacted !== undefined) {
|
|
214260
|
-
out[name2] = redacted;
|
|
214261
|
-
}
|
|
214262
|
-
}
|
|
214263
|
-
return out;
|
|
214264
|
-
}
|
|
214265
|
-
|
|
214266
214370
|
// ../common/src/trackedAction.ts
|
|
214267
214371
|
var pollSignalSlot = singleton2("PollSignal");
|
|
214268
214372
|
var cliErrorCodeValues = new Set(CLI_ERROR_CODES);
|
|
214269
214373
|
var retryHintValues = new Set(RETRY_HINTS);
|
|
214374
|
+
var TELEMETRY_COMMAND_ARG_PREFIX = "uip.cmd.arg.";
|
|
214270
214375
|
function extractCommandParams(cmd) {
|
|
214271
214376
|
const params = {};
|
|
214377
|
+
const add2 = (name2, value) => {
|
|
214378
|
+
if (name2 && value !== undefined) {
|
|
214379
|
+
params[`${TELEMETRY_COMMAND_ARG_PREFIX}${name2}`] = value;
|
|
214380
|
+
}
|
|
214381
|
+
};
|
|
214272
214382
|
const registered = cmd.registeredArguments ?? [];
|
|
214273
214383
|
const processed = cmd.processedArgs ?? [];
|
|
214274
214384
|
for (let i3 = 0;i3 < registered.length; i3++) {
|
|
214275
|
-
|
|
214276
|
-
if (value === undefined) {
|
|
214277
|
-
continue;
|
|
214278
|
-
}
|
|
214279
|
-
const name2 = registered[i3].name();
|
|
214280
|
-
if (name2) {
|
|
214281
|
-
params[name2] = value;
|
|
214282
|
-
}
|
|
214385
|
+
add2(registered[i3].name(), processed[i3]);
|
|
214283
214386
|
}
|
|
214284
214387
|
for (const [key, value] of Object.entries(cmd.opts())) {
|
|
214285
|
-
|
|
214286
|
-
params[key] = value;
|
|
214287
|
-
}
|
|
214388
|
+
add2(key, value);
|
|
214288
214389
|
}
|
|
214289
214390
|
return params;
|
|
214290
214391
|
}
|
|
@@ -214327,11 +214428,12 @@ Command.prototype.trackedAction = function(context, fn2, properties) {
|
|
|
214327
214428
|
return this.action(async (...args) => {
|
|
214328
214429
|
const telemetryName = deriveCommandPath(command);
|
|
214329
214430
|
const props = typeof properties === "function" ? properties(...args) : properties;
|
|
214431
|
+
const requestContext = telemetry.createRequestContext();
|
|
214330
214432
|
const startTime = performance.now();
|
|
214331
214433
|
let errorMessage;
|
|
214332
214434
|
let fallbackExitCode = EXIT_CODES.Success;
|
|
214333
214435
|
clearRecordedCommandFailureTelemetry();
|
|
214334
|
-
const [error95] = await catchError2(fn2(...args));
|
|
214436
|
+
const [error95] = await catchError2(telemetry.runWithContext(requestContext, () => fn2(...args)));
|
|
214335
214437
|
if (error95) {
|
|
214336
214438
|
errorMessage = error95 instanceof Error ? error95.message : String(error95);
|
|
214337
214439
|
logger.debug(`[trackedAction] ${telemetryName} failed: ${errorMessage}`);
|
|
@@ -214367,16 +214469,21 @@ Command.prototype.trackedAction = function(context, fn2, properties) {
|
|
|
214367
214469
|
recordedFailure,
|
|
214368
214470
|
pollSignal: context.pollSignal
|
|
214369
214471
|
});
|
|
214370
|
-
|
|
214371
|
-
|
|
214472
|
+
const commandParams = extractCommandParams(command);
|
|
214473
|
+
if (props) {
|
|
214474
|
+
for (const key of Object.keys(props)) {
|
|
214475
|
+
delete commandParams[`${TELEMETRY_COMMAND_ARG_PREFIX}${key}`];
|
|
214476
|
+
}
|
|
214477
|
+
}
|
|
214478
|
+
const baseProperties = redactProperties({
|
|
214479
|
+
...commandParams,
|
|
214372
214480
|
...props,
|
|
214373
214481
|
...buildCommandTelemetryAttribution(telemetryName, process.env.UIPATH_SKILL),
|
|
214374
214482
|
command: "true",
|
|
214375
|
-
duration: String(durationMs),
|
|
214376
|
-
success: String(success5),
|
|
214377
214483
|
...terminalTelemetry,
|
|
214378
214484
|
...errorMessage ? { errorMessage } : {}
|
|
214379
|
-
})
|
|
214485
|
+
});
|
|
214486
|
+
telemetry.trackRequestResult(telemetryName, durationMs, success5, baseProperties, requestContext);
|
|
214380
214487
|
});
|
|
214381
214488
|
};
|
|
214382
214489
|
// ../common/src/console-guard.ts
|
|
@@ -237209,7 +237316,44 @@ var INTERNAL_ERROR_NAMES2 = new Set([
|
|
|
237209
237316
|
"RangeError"
|
|
237210
237317
|
]);
|
|
237211
237318
|
var telemetrySessionIdSlot2 = singleton4("TelemetrySessionId");
|
|
237319
|
+
var telemetryOperationIdSlot2 = singleton4("TelemetryOperationId");
|
|
237212
237320
|
var authSignalSlot2 = singleton4("TelemetryExecutionContextAuthSignal");
|
|
237321
|
+
var SENSITIVE_NAME_TOKENS2 = new Set([
|
|
237322
|
+
"token",
|
|
237323
|
+
"tokens",
|
|
237324
|
+
"secret",
|
|
237325
|
+
"secrets",
|
|
237326
|
+
"password",
|
|
237327
|
+
"passwords",
|
|
237328
|
+
"pwd",
|
|
237329
|
+
"credential",
|
|
237330
|
+
"credentials",
|
|
237331
|
+
"auth",
|
|
237332
|
+
"authentication",
|
|
237333
|
+
"authorization",
|
|
237334
|
+
"authority",
|
|
237335
|
+
"cert",
|
|
237336
|
+
"certificate",
|
|
237337
|
+
"certificates"
|
|
237338
|
+
]);
|
|
237339
|
+
var SENSITIVE_KEY_PREFIXES2 = new Set([
|
|
237340
|
+
"api",
|
|
237341
|
+
"access",
|
|
237342
|
+
"client",
|
|
237343
|
+
"private",
|
|
237344
|
+
"public",
|
|
237345
|
+
"signing",
|
|
237346
|
+
"encryption",
|
|
237347
|
+
"session",
|
|
237348
|
+
"master",
|
|
237349
|
+
"shared",
|
|
237350
|
+
"root",
|
|
237351
|
+
"ssh",
|
|
237352
|
+
"rsa",
|
|
237353
|
+
"aes",
|
|
237354
|
+
"hmac",
|
|
237355
|
+
"oauth"
|
|
237356
|
+
]);
|
|
237213
237357
|
var factorySlot2 = singleton4("PackagerFactoryProvider");
|
|
237214
237358
|
var RulesConfigFileType;
|
|
237215
237359
|
((RulesConfigFileType2) => {
|
|
@@ -237349,7 +237493,7 @@ var sdkUserAgentHostToken22 = singleton22("SdkUserAgentHostToken");
|
|
|
237349
237493
|
var package_default3 = {
|
|
237350
237494
|
name: "@uipath/project-packager",
|
|
237351
237495
|
license: "MIT",
|
|
237352
|
-
version: "1.198.0
|
|
237496
|
+
version: "1.198.0",
|
|
237353
237497
|
description: "UiPath Project Packager - core library for packing individual UiPath projects",
|
|
237354
237498
|
type: "module",
|
|
237355
237499
|
main: "./dist/index.js",
|
|
@@ -247784,10 +247928,33 @@ class NodeContextStorage2 {
|
|
|
247784
247928
|
return this.storage.getStore();
|
|
247785
247929
|
}
|
|
247786
247930
|
}
|
|
247931
|
+
var TELEMETRY_TRACEPARENT_ENV2 = "TRACEPARENT";
|
|
247932
|
+
var TRACEPARENT_PATTERN2 = /^00-([0-9a-f]{32})-([0-9a-f]{16})-[0-9a-f]{2}$/;
|
|
247933
|
+
function getProcessEnv3() {
|
|
247934
|
+
return globalThis.process?.env;
|
|
247935
|
+
}
|
|
247936
|
+
function parseInboundTraceparent2(value) {
|
|
247937
|
+
if (!value) {
|
|
247938
|
+
return;
|
|
247939
|
+
}
|
|
247940
|
+
const match = TRACEPARENT_PATTERN2.exec(value.trim().toLowerCase());
|
|
247941
|
+
if (!match) {
|
|
247942
|
+
return;
|
|
247943
|
+
}
|
|
247944
|
+
const [, traceId, parentSpanId] = match;
|
|
247945
|
+
if (/^0+$/.test(traceId) || /^0+$/.test(parentSpanId)) {
|
|
247946
|
+
return;
|
|
247947
|
+
}
|
|
247948
|
+
return { traceId, parentSpanId };
|
|
247949
|
+
}
|
|
247950
|
+
function getInboundTraceContext2() {
|
|
247951
|
+
return parseInboundTraceparent2(getProcessEnv3()?.[TELEMETRY_TRACEPARENT_ENV2]);
|
|
247952
|
+
}
|
|
247787
247953
|
var TELEMETRY_SESSION_ID_ENV2 = "UIPATH_SESSION_ID";
|
|
247788
247954
|
var TELEMETRY_SESSION_ID_PROPERTY2 = "session_id";
|
|
247789
247955
|
var telemetrySessionIdSlot3 = singleton5("TelemetrySessionId");
|
|
247790
|
-
|
|
247956
|
+
var telemetryOperationIdSlot3 = singleton5("TelemetryOperationId");
|
|
247957
|
+
function getProcessEnv22() {
|
|
247791
247958
|
return globalThis.process?.env;
|
|
247792
247959
|
}
|
|
247793
247960
|
function normalizeSessionId2(value) {
|
|
@@ -247798,15 +247965,159 @@ function normalizeSessionId2(value) {
|
|
|
247798
247965
|
return trimmed || undefined;
|
|
247799
247966
|
}
|
|
247800
247967
|
function getConfiguredTelemetrySessionId2() {
|
|
247801
|
-
return normalizeSessionId2(
|
|
247968
|
+
return normalizeSessionId2(getProcessEnv22()?.[TELEMETRY_SESSION_ID_ENV2]);
|
|
247802
247969
|
}
|
|
247803
247970
|
function resolveTelemetrySessionId2(existingSessionId) {
|
|
247804
247971
|
return getConfiguredTelemetrySessionId2() ?? normalizeSessionId2(existingSessionId);
|
|
247805
247972
|
}
|
|
247973
|
+
function getTelemetryOperationId2() {
|
|
247974
|
+
const existing = telemetryOperationIdSlot3.get();
|
|
247975
|
+
if (existing) {
|
|
247976
|
+
return existing;
|
|
247977
|
+
}
|
|
247978
|
+
const inboundTraceId = getInboundTraceContext2()?.traceId;
|
|
247979
|
+
const generated = inboundTraceId ?? crypto.randomUUID().replaceAll("-", "");
|
|
247980
|
+
telemetryOperationIdSlot3.set(generated);
|
|
247981
|
+
return generated;
|
|
247982
|
+
}
|
|
247806
247983
|
var telemetryPropsSlot4 = singleton5("TelemetryDefaultProps");
|
|
247807
247984
|
function getGlobalTelemetryProperties2() {
|
|
247808
247985
|
return telemetryPropsSlot4.get();
|
|
247809
247986
|
}
|
|
247987
|
+
var REDACTED2 = "[REDACTED]";
|
|
247988
|
+
var MAX_VALUE_LENGTH2 = 200;
|
|
247989
|
+
var SENSITIVE_NAME_TOKENS3 = new Set([
|
|
247990
|
+
"token",
|
|
247991
|
+
"tokens",
|
|
247992
|
+
"secret",
|
|
247993
|
+
"secrets",
|
|
247994
|
+
"password",
|
|
247995
|
+
"passwords",
|
|
247996
|
+
"pwd",
|
|
247997
|
+
"credential",
|
|
247998
|
+
"credentials",
|
|
247999
|
+
"auth",
|
|
248000
|
+
"authentication",
|
|
248001
|
+
"authorization",
|
|
248002
|
+
"authority",
|
|
248003
|
+
"cert",
|
|
248004
|
+
"certificate",
|
|
248005
|
+
"certificates"
|
|
248006
|
+
]);
|
|
248007
|
+
var SENSITIVE_KEY_PREFIXES3 = new Set([
|
|
248008
|
+
"api",
|
|
248009
|
+
"access",
|
|
248010
|
+
"client",
|
|
248011
|
+
"private",
|
|
248012
|
+
"public",
|
|
248013
|
+
"signing",
|
|
248014
|
+
"encryption",
|
|
248015
|
+
"session",
|
|
248016
|
+
"master",
|
|
248017
|
+
"shared",
|
|
248018
|
+
"root",
|
|
248019
|
+
"ssh",
|
|
248020
|
+
"rsa",
|
|
248021
|
+
"aes",
|
|
248022
|
+
"hmac",
|
|
248023
|
+
"oauth"
|
|
248024
|
+
]);
|
|
248025
|
+
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;
|
|
248026
|
+
var EMAIL_PATTERN2 = /\b[^\s@]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}\b/g;
|
|
248027
|
+
var JWT_PATTERN2 = /\beyJ[A-Za-z0-9_-]{10,}\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+/g;
|
|
248028
|
+
var LONG_TOKEN_PATTERN2 = /\b[A-Za-z0-9_-]{40,}\b/g;
|
|
248029
|
+
var USER_HOME_PATTERN2 = /([/\\])(Users|home)([/\\])([^/\\]+)/gi;
|
|
248030
|
+
var URL_PATTERN2 = /\bhttps?:\/\/[^\s,;]+/gi;
|
|
248031
|
+
var URL_TRAILING_PUNCT2 = /[.,;:!?)\]}>'"]+$/;
|
|
248032
|
+
function shortHash2(input2) {
|
|
248033
|
+
let hash3 = 2166136261;
|
|
248034
|
+
for (let i4 = 0;i4 < input2.length; i4++) {
|
|
248035
|
+
hash3 ^= input2.charCodeAt(i4);
|
|
248036
|
+
hash3 = Math.imul(hash3, 16777619);
|
|
248037
|
+
}
|
|
248038
|
+
return (hash3 >>> 0).toString(16).padStart(8, "0");
|
|
248039
|
+
}
|
|
248040
|
+
function redactUrl2(raw) {
|
|
248041
|
+
try {
|
|
248042
|
+
const url5 = new URL(raw);
|
|
248043
|
+
return `${url5.protocol}//${url5.host}`;
|
|
248044
|
+
} catch {
|
|
248045
|
+
return `url#${shortHash2(raw)}`;
|
|
248046
|
+
}
|
|
248047
|
+
}
|
|
248048
|
+
function redactValueDetectors2(value) {
|
|
248049
|
+
let out = value;
|
|
248050
|
+
out = out.replace(JWT_PATTERN2, () => REDACTED2);
|
|
248051
|
+
out = out.replace(URL_PATTERN2, (match) => {
|
|
248052
|
+
const trailing = match.match(URL_TRAILING_PUNCT2)?.[0] ?? "";
|
|
248053
|
+
const core22 = trailing ? match.slice(0, -trailing.length) : match;
|
|
248054
|
+
return `${redactUrl2(core22)}${trailing}`;
|
|
248055
|
+
});
|
|
248056
|
+
out = out.replace(USER_HOME_PATTERN2, (_match, sep1, folder, sep2) => `${sep1}${folder}${sep2}<user>`);
|
|
248057
|
+
out = out.replace(EMAIL_PATTERN2, (match) => `email#${shortHash2(match)}`);
|
|
248058
|
+
out = out.replace(UUID_PATTERN3, (match) => `uuid#${shortHash2(match)}`);
|
|
248059
|
+
out = out.replace(LONG_TOKEN_PATTERN2, () => REDACTED2);
|
|
248060
|
+
if (out.length > MAX_VALUE_LENGTH2) {
|
|
248061
|
+
out = `${out.slice(0, MAX_VALUE_LENGTH2)}…`;
|
|
248062
|
+
}
|
|
248063
|
+
return out;
|
|
248064
|
+
}
|
|
248065
|
+
function redactValue2(value) {
|
|
248066
|
+
return redactValueDetectors2(value);
|
|
248067
|
+
}
|
|
248068
|
+
function redactError2(error95) {
|
|
248069
|
+
const safe = new Error(redactValueDetectors2(error95.message ?? ""));
|
|
248070
|
+
safe.name = error95.name;
|
|
248071
|
+
safe.stack = typeof error95.stack === "string" ? redactValueDetectors2(error95.stack) : undefined;
|
|
248072
|
+
return safe;
|
|
248073
|
+
}
|
|
248074
|
+
function nameTokens2(name2) {
|
|
248075
|
+
return name2.replace(/([a-z0-9])([A-Z])/g, "$1 $2").replace(/([A-Z]+)([A-Z][a-z])/g, "$1 $2").split(/[\s._-]+/).map((t11) => t11.toLowerCase()).filter(Boolean);
|
|
248076
|
+
}
|
|
248077
|
+
function isSensitiveName2(name2) {
|
|
248078
|
+
const tokens = nameTokens2(name2);
|
|
248079
|
+
for (let i4 = 0;i4 < tokens.length; i4++) {
|
|
248080
|
+
const token = tokens[i4];
|
|
248081
|
+
if (SENSITIVE_NAME_TOKENS3.has(token)) {
|
|
248082
|
+
return true;
|
|
248083
|
+
}
|
|
248084
|
+
if (token === "key" || token === "keys") {
|
|
248085
|
+
const prev = tokens[i4 - 1];
|
|
248086
|
+
if (prev && SENSITIVE_KEY_PREFIXES3.has(prev)) {
|
|
248087
|
+
return true;
|
|
248088
|
+
}
|
|
248089
|
+
}
|
|
248090
|
+
}
|
|
248091
|
+
return false;
|
|
248092
|
+
}
|
|
248093
|
+
function redactProperty2(name2, value) {
|
|
248094
|
+
if (value === undefined || value === null) {
|
|
248095
|
+
return;
|
|
248096
|
+
}
|
|
248097
|
+
if (isSensitiveName2(name2)) {
|
|
248098
|
+
return REDACTED2;
|
|
248099
|
+
}
|
|
248100
|
+
if (typeof value === "boolean" || typeof value === "number") {
|
|
248101
|
+
return value;
|
|
248102
|
+
}
|
|
248103
|
+
if (typeof value !== "string") {
|
|
248104
|
+
return "[OBJECT]";
|
|
248105
|
+
}
|
|
248106
|
+
return redactValueDetectors2(value);
|
|
248107
|
+
}
|
|
248108
|
+
function redactProperties2(properties) {
|
|
248109
|
+
const out = {};
|
|
248110
|
+
for (const [name2, value] of Object.entries(properties)) {
|
|
248111
|
+
const redacted = redactProperty2(name2, value);
|
|
248112
|
+
if (redacted !== undefined) {
|
|
248113
|
+
out[name2] = redacted;
|
|
248114
|
+
}
|
|
248115
|
+
}
|
|
248116
|
+
return out;
|
|
248117
|
+
}
|
|
248118
|
+
var TELEMETRY_OPERATION_ID_PROPERTY2 = "uip.trace.operation_id";
|
|
248119
|
+
var TELEMETRY_PARENT_ID_PROPERTY2 = "uip.trace.parent_id";
|
|
248120
|
+
var TELEMETRY_SPAN_ID_PROPERTY2 = "uip.trace.span_id";
|
|
247810
248121
|
|
|
247811
248122
|
class TelemetryService2 {
|
|
247812
248123
|
telemetryProvider;
|
|
@@ -247834,11 +248145,15 @@ class TelemetryService2 {
|
|
|
247834
248145
|
trackException(error95, properties) {
|
|
247835
248146
|
const context = this.getCurrentContext();
|
|
247836
248147
|
const enrichedProperties = this.enrichPropertiesWithContext(properties, context);
|
|
247837
|
-
this.telemetryProvider.trackException(error95, enrichedProperties);
|
|
248148
|
+
this.telemetryProvider.trackException(redactError2(error95), enrichedProperties);
|
|
247838
248149
|
}
|
|
247839
248150
|
async trackRequest(name2, fn2, properties) {
|
|
248151
|
+
const parentContext = this.getCurrentContext();
|
|
248152
|
+
const operationId = parentContext?.operationId ?? this.operationId ?? getTelemetryOperationId2();
|
|
248153
|
+
const parentId = parentContext ? parentContext.id : this.inboundParentIdFor(operationId);
|
|
247840
248154
|
const context = {
|
|
247841
|
-
operationId
|
|
248155
|
+
operationId,
|
|
248156
|
+
...parentId !== undefined ? { parentId } : {},
|
|
247842
248157
|
id: this.generateId()
|
|
247843
248158
|
};
|
|
247844
248159
|
const startTime = performance.now();
|
|
@@ -247856,6 +248171,45 @@ class TelemetryService2 {
|
|
|
247856
248171
|
throw error95;
|
|
247857
248172
|
}
|
|
247858
248173
|
}
|
|
248174
|
+
trackRequestResult(name2, durationMs, success5, properties, context) {
|
|
248175
|
+
const requestContext = context ?? {
|
|
248176
|
+
operationId: this.operationId ?? getTelemetryOperationId2(),
|
|
248177
|
+
id: this.generateId()
|
|
248178
|
+
};
|
|
248179
|
+
const enrichedProperties = this.enrichPropertiesWithContext(properties, requestContext);
|
|
248180
|
+
this.telemetryProvider.trackRequest(name2, durationMs, success5, enrichedProperties);
|
|
248181
|
+
}
|
|
248182
|
+
createRequestContext() {
|
|
248183
|
+
const operationId = this.operationId ?? getTelemetryOperationId2();
|
|
248184
|
+
const parentId = this.inboundParentIdFor(operationId);
|
|
248185
|
+
return {
|
|
248186
|
+
operationId,
|
|
248187
|
+
...parentId !== undefined ? { parentId } : {},
|
|
248188
|
+
id: this.generateId()
|
|
248189
|
+
};
|
|
248190
|
+
}
|
|
248191
|
+
inboundParentIdFor(operationId) {
|
|
248192
|
+
const inbound = getInboundTraceContext2();
|
|
248193
|
+
return inbound && inbound.traceId === operationId ? inbound.parentSpanId : undefined;
|
|
248194
|
+
}
|
|
248195
|
+
runWithContext(context, fn2) {
|
|
248196
|
+
return this.contextStorage.run(context, fn2);
|
|
248197
|
+
}
|
|
248198
|
+
createDependencyContext() {
|
|
248199
|
+
const parentContext = this.getCurrentContext();
|
|
248200
|
+
if (!parentContext) {
|
|
248201
|
+
return;
|
|
248202
|
+
}
|
|
248203
|
+
return {
|
|
248204
|
+
operationId: parentContext.operationId,
|
|
248205
|
+
parentId: parentContext.id,
|
|
248206
|
+
id: this.generateId()
|
|
248207
|
+
};
|
|
248208
|
+
}
|
|
248209
|
+
trackDependencyResult(name2, type22, durationMs, success5, properties, context, resultCode) {
|
|
248210
|
+
const enrichedProperties = this.enrichPropertiesWithContext(properties, context);
|
|
248211
|
+
this.telemetryProvider.trackDependency(redactValue2(name2), type22, durationMs, success5, enrichedProperties, resultCode);
|
|
248212
|
+
}
|
|
247859
248213
|
async trackDependencyOperation(name2, type22, fn2, properties) {
|
|
247860
248214
|
const parentContext = this.getCurrentContext();
|
|
247861
248215
|
if (!parentContext) {
|
|
@@ -247892,8 +248246,12 @@ class TelemetryService2 {
|
|
|
247892
248246
|
...getExecutionContextTelemetryProperties2(),
|
|
247893
248247
|
...globalProperties,
|
|
247894
248248
|
...this.defaultProperties,
|
|
247895
|
-
...properties,
|
|
247896
|
-
...context
|
|
248249
|
+
...redactProperties2(properties ?? {}),
|
|
248250
|
+
...context ? {
|
|
248251
|
+
[TELEMETRY_OPERATION_ID_PROPERTY2]: context.operationId,
|
|
248252
|
+
...context.parentId !== undefined ? { [TELEMETRY_PARENT_ID_PROPERTY2]: context.parentId } : {},
|
|
248253
|
+
[TELEMETRY_SPAN_ID_PROPERTY2]: context.id
|
|
248254
|
+
} : {}
|
|
247897
248255
|
};
|
|
247898
248256
|
if (sessionId === undefined) {
|
|
247899
248257
|
delete enriched[TELEMETRY_SESSION_ID_PROPERTY2];
|
|
@@ -247903,7 +248261,16 @@ class TelemetryService2 {
|
|
|
247903
248261
|
return enriched;
|
|
247904
248262
|
}
|
|
247905
248263
|
generateId() {
|
|
247906
|
-
|
|
248264
|
+
const bytes = new Uint8Array(8);
|
|
248265
|
+
let hex4 = "";
|
|
248266
|
+
do {
|
|
248267
|
+
crypto.getRandomValues(bytes);
|
|
248268
|
+
hex4 = "";
|
|
248269
|
+
for (const byte of bytes) {
|
|
248270
|
+
hex4 += byte.toString(16).padStart(2, "0");
|
|
248271
|
+
}
|
|
248272
|
+
} while (/^0+$/.test(hex4));
|
|
248273
|
+
return hex4;
|
|
247907
248274
|
}
|
|
247908
248275
|
}
|
|
247909
248276
|
var providerSlot2 = singleton5("TelemetryProvider");
|
|
@@ -248599,149 +248966,24 @@ function buildCommandTelemetryAttribution2(commandPath, skillSource) {
|
|
|
248599
248966
|
...getCommandProductModeAttribution2(commandPath)
|
|
248600
248967
|
};
|
|
248601
248968
|
}
|
|
248602
|
-
var REDACTED2 = "[REDACTED]";
|
|
248603
|
-
var MAX_VALUE_LENGTH2 = 200;
|
|
248604
|
-
var SENSITIVE_NAME_TOKENS2 = new Set([
|
|
248605
|
-
"token",
|
|
248606
|
-
"tokens",
|
|
248607
|
-
"secret",
|
|
248608
|
-
"secrets",
|
|
248609
|
-
"password",
|
|
248610
|
-
"passwords",
|
|
248611
|
-
"pwd",
|
|
248612
|
-
"credential",
|
|
248613
|
-
"credentials",
|
|
248614
|
-
"auth",
|
|
248615
|
-
"authentication",
|
|
248616
|
-
"authorization",
|
|
248617
|
-
"authority",
|
|
248618
|
-
"cert",
|
|
248619
|
-
"certificate",
|
|
248620
|
-
"certificates"
|
|
248621
|
-
]);
|
|
248622
|
-
var SENSITIVE_KEY_PREFIXES2 = new Set([
|
|
248623
|
-
"api",
|
|
248624
|
-
"access",
|
|
248625
|
-
"client",
|
|
248626
|
-
"private",
|
|
248627
|
-
"public",
|
|
248628
|
-
"signing",
|
|
248629
|
-
"encryption",
|
|
248630
|
-
"session",
|
|
248631
|
-
"master",
|
|
248632
|
-
"shared",
|
|
248633
|
-
"root",
|
|
248634
|
-
"ssh",
|
|
248635
|
-
"rsa",
|
|
248636
|
-
"aes",
|
|
248637
|
-
"hmac",
|
|
248638
|
-
"oauth"
|
|
248639
|
-
]);
|
|
248640
|
-
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;
|
|
248641
|
-
var EMAIL_PATTERN2 = /\b[^\s@]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}\b/g;
|
|
248642
|
-
var JWT_PATTERN2 = /\beyJ[A-Za-z0-9_-]{10,}\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+/g;
|
|
248643
|
-
var LONG_TOKEN_PATTERN2 = /\b[A-Za-z0-9_-]{40,}\b/g;
|
|
248644
|
-
var USER_HOME_PATTERN2 = /([/\\])(Users|home)([/\\])([^/\\]+)/gi;
|
|
248645
|
-
var URL_PATTERN2 = /\bhttps?:\/\/[^\s,;]+/gi;
|
|
248646
|
-
var URL_TRAILING_PUNCT2 = /[.,;:!?)\]}>'"]+$/;
|
|
248647
|
-
function shortHash2(input2) {
|
|
248648
|
-
let hash3 = 2166136261;
|
|
248649
|
-
for (let i4 = 0;i4 < input2.length; i4++) {
|
|
248650
|
-
hash3 ^= input2.charCodeAt(i4);
|
|
248651
|
-
hash3 = Math.imul(hash3, 16777619);
|
|
248652
|
-
}
|
|
248653
|
-
return (hash3 >>> 0).toString(16).padStart(8, "0");
|
|
248654
|
-
}
|
|
248655
|
-
function redactUrl2(raw) {
|
|
248656
|
-
try {
|
|
248657
|
-
const url5 = new URL(raw);
|
|
248658
|
-
return `${url5.protocol}//${url5.host}`;
|
|
248659
|
-
} catch {
|
|
248660
|
-
return `url#${shortHash2(raw)}`;
|
|
248661
|
-
}
|
|
248662
|
-
}
|
|
248663
|
-
function redactValueDetectors2(value) {
|
|
248664
|
-
let out = value;
|
|
248665
|
-
out = out.replace(JWT_PATTERN2, () => REDACTED2);
|
|
248666
|
-
out = out.replace(URL_PATTERN2, (match) => {
|
|
248667
|
-
const trailing = match.match(URL_TRAILING_PUNCT2)?.[0] ?? "";
|
|
248668
|
-
const core22 = trailing ? match.slice(0, -trailing.length) : match;
|
|
248669
|
-
return `${redactUrl2(core22)}${trailing}`;
|
|
248670
|
-
});
|
|
248671
|
-
out = out.replace(USER_HOME_PATTERN2, (_match, sep1, folder, sep2) => `${sep1}${folder}${sep2}<user>`);
|
|
248672
|
-
out = out.replace(EMAIL_PATTERN2, (match) => `email#${shortHash2(match)}`);
|
|
248673
|
-
out = out.replace(UUID_PATTERN3, (match) => `uuid#${shortHash2(match)}`);
|
|
248674
|
-
out = out.replace(LONG_TOKEN_PATTERN2, () => REDACTED2);
|
|
248675
|
-
if (out.length > MAX_VALUE_LENGTH2) {
|
|
248676
|
-
out = `${out.slice(0, MAX_VALUE_LENGTH2)}…`;
|
|
248677
|
-
}
|
|
248678
|
-
return out;
|
|
248679
|
-
}
|
|
248680
|
-
function nameTokens2(name2) {
|
|
248681
|
-
return name2.replace(/([a-z0-9])([A-Z])/g, "$1 $2").replace(/([A-Z]+)([A-Z][a-z])/g, "$1 $2").split(/[\s_-]+/).map((t11) => t11.toLowerCase()).filter(Boolean);
|
|
248682
|
-
}
|
|
248683
|
-
function isSensitiveName2(name2) {
|
|
248684
|
-
const tokens = nameTokens2(name2);
|
|
248685
|
-
for (let i4 = 0;i4 < tokens.length; i4++) {
|
|
248686
|
-
const token = tokens[i4];
|
|
248687
|
-
if (SENSITIVE_NAME_TOKENS2.has(token)) {
|
|
248688
|
-
return true;
|
|
248689
|
-
}
|
|
248690
|
-
if (token === "key" || token === "keys") {
|
|
248691
|
-
const prev = tokens[i4 - 1];
|
|
248692
|
-
if (prev && SENSITIVE_KEY_PREFIXES2.has(prev)) {
|
|
248693
|
-
return true;
|
|
248694
|
-
}
|
|
248695
|
-
}
|
|
248696
|
-
}
|
|
248697
|
-
return false;
|
|
248698
|
-
}
|
|
248699
|
-
function redactProperty2(name2, value) {
|
|
248700
|
-
if (value === undefined || value === null) {
|
|
248701
|
-
return;
|
|
248702
|
-
}
|
|
248703
|
-
if (isSensitiveName2(name2)) {
|
|
248704
|
-
return REDACTED2;
|
|
248705
|
-
}
|
|
248706
|
-
if (typeof value === "boolean" || typeof value === "number") {
|
|
248707
|
-
return value;
|
|
248708
|
-
}
|
|
248709
|
-
if (typeof value !== "string") {
|
|
248710
|
-
return "[OBJECT]";
|
|
248711
|
-
}
|
|
248712
|
-
return redactValueDetectors2(value);
|
|
248713
|
-
}
|
|
248714
|
-
function redactProperties2(properties) {
|
|
248715
|
-
const out = {};
|
|
248716
|
-
for (const [name2, value] of Object.entries(properties)) {
|
|
248717
|
-
const redacted = redactProperty2(name2, value);
|
|
248718
|
-
if (redacted !== undefined) {
|
|
248719
|
-
out[name2] = redacted;
|
|
248720
|
-
}
|
|
248721
|
-
}
|
|
248722
|
-
return out;
|
|
248723
|
-
}
|
|
248724
248969
|
var pollSignalSlot2 = singleton5("PollSignal");
|
|
248725
248970
|
var cliErrorCodeValues2 = new Set(CLI_ERROR_CODES2);
|
|
248726
248971
|
var retryHintValues2 = new Set(RETRY_HINTS2);
|
|
248972
|
+
var TELEMETRY_COMMAND_ARG_PREFIX2 = "uip.cmd.arg.";
|
|
248727
248973
|
function extractCommandParams2(cmd) {
|
|
248728
248974
|
const params = {};
|
|
248975
|
+
const add22 = (name2, value) => {
|
|
248976
|
+
if (name2 && value !== undefined) {
|
|
248977
|
+
params[`${TELEMETRY_COMMAND_ARG_PREFIX2}${name2}`] = value;
|
|
248978
|
+
}
|
|
248979
|
+
};
|
|
248729
248980
|
const registered = cmd.registeredArguments ?? [];
|
|
248730
248981
|
const processed = cmd.processedArgs ?? [];
|
|
248731
248982
|
for (let i4 = 0;i4 < registered.length; i4++) {
|
|
248732
|
-
|
|
248733
|
-
if (value === undefined) {
|
|
248734
|
-
continue;
|
|
248735
|
-
}
|
|
248736
|
-
const name2 = registered[i4].name();
|
|
248737
|
-
if (name2) {
|
|
248738
|
-
params[name2] = value;
|
|
248739
|
-
}
|
|
248983
|
+
add22(registered[i4].name(), processed[i4]);
|
|
248740
248984
|
}
|
|
248741
248985
|
for (const [key, value] of Object.entries(cmd.opts())) {
|
|
248742
|
-
|
|
248743
|
-
params[key] = value;
|
|
248744
|
-
}
|
|
248986
|
+
add22(key, value);
|
|
248745
248987
|
}
|
|
248746
248988
|
return params;
|
|
248747
248989
|
}
|
|
@@ -248784,11 +249026,12 @@ Command3.prototype.trackedAction = function(context, fn2, properties) {
|
|
|
248784
249026
|
return this.action(async (...args) => {
|
|
248785
249027
|
const telemetryName = deriveCommandPath2(command);
|
|
248786
249028
|
const props = typeof properties === "function" ? properties(...args) : properties;
|
|
249029
|
+
const requestContext = telemetry2.createRequestContext();
|
|
248787
249030
|
const startTime = performance.now();
|
|
248788
249031
|
let errorMessage2;
|
|
248789
249032
|
let fallbackExitCode = EXIT_CODES2.Success;
|
|
248790
249033
|
clearRecordedCommandFailureTelemetry2();
|
|
248791
|
-
const [error95] = await catchError4(fn2(...args));
|
|
249034
|
+
const [error95] = await catchError4(telemetry2.runWithContext(requestContext, () => fn2(...args)));
|
|
248792
249035
|
if (error95) {
|
|
248793
249036
|
errorMessage2 = error95 instanceof Error ? error95.message : String(error95);
|
|
248794
249037
|
logger4.debug(`[trackedAction] ${telemetryName} failed: ${errorMessage2}`);
|
|
@@ -248824,16 +249067,21 @@ Command3.prototype.trackedAction = function(context, fn2, properties) {
|
|
|
248824
249067
|
recordedFailure,
|
|
248825
249068
|
pollSignal: context.pollSignal
|
|
248826
249069
|
});
|
|
248827
|
-
|
|
248828
|
-
|
|
249070
|
+
const commandParams = extractCommandParams2(command);
|
|
249071
|
+
if (props) {
|
|
249072
|
+
for (const key of Object.keys(props)) {
|
|
249073
|
+
delete commandParams[`${TELEMETRY_COMMAND_ARG_PREFIX2}${key}`];
|
|
249074
|
+
}
|
|
249075
|
+
}
|
|
249076
|
+
const baseProperties = redactProperties2({
|
|
249077
|
+
...commandParams,
|
|
248829
249078
|
...props,
|
|
248830
249079
|
...buildCommandTelemetryAttribution2(telemetryName, process.env.UIPATH_SKILL),
|
|
248831
249080
|
command: "true",
|
|
248832
|
-
duration: String(durationMs),
|
|
248833
|
-
success: String(success5),
|
|
248834
249081
|
...terminalTelemetry,
|
|
248835
249082
|
...errorMessage2 ? { errorMessage: errorMessage2 } : {}
|
|
248836
|
-
})
|
|
249083
|
+
});
|
|
249084
|
+
telemetry2.trackRequestResult(telemetryName, durationMs, success5, baseProperties, requestContext);
|
|
248837
249085
|
});
|
|
248838
249086
|
};
|
|
248839
249087
|
var guardInstalledSlot3 = singleton5("ConsoleGuardInstalled");
|
|
@@ -249310,7 +249558,7 @@ var sdkUserAgentHostToken23 = singleton23("SdkUserAgentHostToken");
|
|
|
249310
249558
|
var package_default4 = {
|
|
249311
249559
|
name: "@uipath/project-packager",
|
|
249312
249560
|
license: "MIT",
|
|
249313
|
-
version: "1.198.0
|
|
249561
|
+
version: "1.198.0",
|
|
249314
249562
|
description: "UiPath Project Packager - core library for packing individual UiPath projects",
|
|
249315
249563
|
type: "module",
|
|
249316
249564
|
main: "./dist/index.js",
|
|
@@ -267568,4 +267816,4 @@ export {
|
|
|
267568
267816
|
packSolutionAsync
|
|
267569
267817
|
};
|
|
267570
267818
|
|
|
267571
|
-
//# debugId=
|
|
267819
|
+
//# debugId=3223B043ACE2FE3D64756E2164756E21
|