@uipath/integrationservice-sdk 1.203.0-preview.205 → 1.204.0-preview.206

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/index.js +583 -53
  2. package/package.json +2 -2
package/dist/index.js CHANGED
@@ -64692,8 +64692,156 @@ function getGlobalTelemetryProperties() {
64692
64692
  return telemetryPropsSlot.get();
64693
64693
  }
64694
64694
 
64695
+ // ../common/src/telemetry/telemetry-dimensions.ts
64696
+ var BaseDimensions = {
64697
+ ApplicationName: "ApplicationName",
64698
+ ProductVersion: "ProductVersion",
64699
+ InstallationId: "InstallationId",
64700
+ CloudUserId: "CloudUserId",
64701
+ CloudTenantId: "CloudTenantId",
64702
+ CloudOrganizationId: "CloudOrganizationId",
64703
+ IsInternalUser: "IsInternalUser",
64704
+ Environment: "Environment",
64705
+ BaseUrl: "BaseUrl",
64706
+ Region: "Region",
64707
+ Agent: "Agent",
64708
+ AgentVersion: "AgentVersion",
64709
+ AgentModel: "AgentModel",
64710
+ ToolName: "ToolName",
64711
+ ToolVersion: "ToolVersion",
64712
+ ExecutionContext: "ExecutionContext",
64713
+ CiProvider: "CiProvider",
64714
+ SessionIdSource: "SessionIdSource",
64715
+ SessionId: "SessionId"
64716
+ };
64717
+ var CommandDimensions = {
64718
+ IsCommand: "IsCommand",
64719
+ IsReexec: "IsReexec",
64720
+ CommandName: "CommandName",
64721
+ ExitCode: "ExitCode",
64722
+ TerminalOutcome: "TerminalOutcome",
64723
+ ErrorClass: "ErrorClass",
64724
+ TerminalSignal: "TerminalSignal",
64725
+ ErrorMessage: "ErrorMessage",
64726
+ SkillName: "SkillName",
64727
+ ProductArea: "ProductArea",
64728
+ Mode: "Mode"
64729
+ };
64730
+ var ShipDimensions = {
64731
+ ShipKind: "ShipKind",
64732
+ Target: "Target",
64733
+ ProjectType: "ProjectType",
64734
+ ProjectTypes: "ProjectTypes",
64735
+ ArtifactCorrelationKey: "ArtifactCorrelationKey",
64736
+ PackageName: "PackageName",
64737
+ PackageVersion: "PackageVersion",
64738
+ PackageVersionKey: "PackageVersionKey",
64739
+ DeploymentKey: "DeploymentKey",
64740
+ SolutionId: "SolutionId",
64741
+ FolderKey: "FolderKey",
64742
+ FeedId: "FeedId"
64743
+ };
64744
+ var ErrorDimensions = {
64745
+ Result: "Result",
64746
+ ErrorCode: "ErrorCode",
64747
+ Retry: "Retry",
64748
+ ErrorMessage: "ErrorMessage"
64749
+ };
64750
+ var AuthDimensions = {
64751
+ AuthenticationMethod: "AuthenticationMethod",
64752
+ Success: "Success",
64753
+ Reason: "Reason"
64754
+ };
64755
+ var SkillsDimensions = {
64756
+ SchemaVersion: "SchemaVersion",
64757
+ AgentType: "AgentType",
64758
+ SkillsVersion: "SkillsVersion",
64759
+ UipSubcommand: "UipSubcommand",
64760
+ FileExtension: "FileExtension",
64761
+ SubagentModel: "SubagentModel",
64762
+ SubagentType: "SubagentType",
64763
+ PermissionMode: "PermissionMode",
64764
+ EffortLevel: "EffortLevel",
64765
+ SessionSource: "SessionSource",
64766
+ Outcome: "Outcome",
64767
+ DurationMs: "DurationMs",
64768
+ Source: "Source"
64769
+ };
64770
+ var PackagerDimensions = {
64771
+ ProjectId: "ProjectId",
64772
+ ProjectType: "ProjectType",
64773
+ SolutionId: "SolutionId"
64774
+ };
64775
+ var ScopeDimensions = {
64776
+ FolderId: "FolderId"
64777
+ };
64778
+ var ID_DIMENSIONS = new Set([
64779
+ BaseDimensions.CloudUserId,
64780
+ BaseDimensions.CloudTenantId,
64781
+ BaseDimensions.CloudOrganizationId,
64782
+ BaseDimensions.InstallationId,
64783
+ ShipDimensions.ArtifactCorrelationKey,
64784
+ ShipDimensions.PackageVersionKey,
64785
+ ShipDimensions.DeploymentKey,
64786
+ ShipDimensions.SolutionId,
64787
+ ShipDimensions.FolderKey,
64788
+ ShipDimensions.FeedId,
64789
+ PackagerDimensions.ProjectId
64790
+ ]);
64791
+ var NON_IDENTIFIER_PLACEHOLDER_PATTERN = /^(?:\[[A-Z_]+\]|<[^>]+>)$/;
64792
+ var RESERVED_DIMENSION_NAMES = new Set([
64793
+ ...Object.values(BaseDimensions),
64794
+ ...Object.values(CommandDimensions),
64795
+ ...Object.values(ShipDimensions),
64796
+ ...Object.values(ErrorDimensions),
64797
+ ...Object.values(AuthDimensions),
64798
+ ...Object.values(SkillsDimensions),
64799
+ ...Object.values(PackagerDimensions),
64800
+ ...Object.values(ScopeDimensions)
64801
+ ]);
64802
+ var CURATED_DIMENSIONS = new Set([
64803
+ BaseDimensions.ApplicationName,
64804
+ BaseDimensions.ProductVersion,
64805
+ BaseDimensions.InstallationId,
64806
+ BaseDimensions.CloudUserId,
64807
+ BaseDimensions.CloudTenantId,
64808
+ BaseDimensions.CloudOrganizationId,
64809
+ BaseDimensions.IsInternalUser,
64810
+ BaseDimensions.Environment,
64811
+ BaseDimensions.BaseUrl,
64812
+ BaseDimensions.Region,
64813
+ BaseDimensions.Agent,
64814
+ BaseDimensions.AgentVersion,
64815
+ BaseDimensions.ToolVersion,
64816
+ BaseDimensions.ExecutionContext,
64817
+ BaseDimensions.CiProvider,
64818
+ BaseDimensions.SessionIdSource,
64819
+ BaseDimensions.SessionId,
64820
+ ...Object.values(CommandDimensions),
64821
+ ...Object.values(ShipDimensions)
64822
+ ]);
64823
+ function lowercaseIdDimensionValues(properties) {
64824
+ let changed = false;
64825
+ const result = {
64826
+ ...properties
64827
+ };
64828
+ for (const key of Object.keys(result)) {
64829
+ const value = result[key];
64830
+ if (!ID_DIMENSIONS.has(key) || typeof value !== "string" || NON_IDENTIFIER_PLACEHOLDER_PATTERN.test(value)) {
64831
+ continue;
64832
+ }
64833
+ const lowered = value.toLowerCase();
64834
+ if (lowered !== value) {
64835
+ result[key] = lowered;
64836
+ changed = true;
64837
+ }
64838
+ }
64839
+ return changed ? result : properties;
64840
+ }
64841
+
64695
64842
  // ../common/src/sdk-user-agent.ts
64696
64843
  var USER_AGENT_HEADER = "User-Agent";
64844
+ var AGENT_PROPERTY = BaseDimensions.Agent;
64697
64845
  var sdkUserAgentHostToken = singleton("SdkUserAgentHostToken");
64698
64846
  function userAgentPatchKey(userAgent) {
64699
64847
  return Symbol.for(`@uipath/common/sdk-user-agent/${userAgent}`);
@@ -65337,7 +65485,7 @@ var package_default = {
65337
65485
  name: "@uipath/integrationservice-sdk",
65338
65486
  author: "UiPath",
65339
65487
  license: "SEE LICENSE IN LICENSE.txt",
65340
- version: "1.203.0-preview.205",
65488
+ version: "1.204.0-preview.206",
65341
65489
  repository: {
65342
65490
  type: "git",
65343
65491
  url: "https://github.com/UiPath/cli.git",
@@ -84594,6 +84742,11 @@ var pickName = (claims) => {
84594
84742
  const username = asString(claims?.preferred_username);
84595
84743
  return asString(claims?.name) ?? (looksLikeEmail(username) ? undefined : username);
84596
84744
  };
84745
+ var pickScopes = (claims) => {
84746
+ const raw = claims?.scope;
84747
+ const scopes = Array.isArray(raw) ? raw.filter((entry) => asString(entry) !== undefined) : typeof raw === "string" ? raw.split(/\s+/).filter(Boolean) : [];
84748
+ return scopes.length > 0 ? scopes : undefined;
84749
+ };
84597
84750
  var resolveSessionIdentity = (accessToken, authFlow) => {
84598
84751
  const claims = accessToken ? decodeClaims(accessToken) : undefined;
84599
84752
  const email = pickEmail(claims);
@@ -84619,6 +84772,7 @@ var resolveSessionIdentity = (accessToken, authFlow) => {
84619
84772
  identity.clientId = clientId;
84620
84773
  return identity;
84621
84774
  };
84775
+ var readTokenScopes = (accessToken) => accessToken ? pickScopes(decodeClaims(accessToken)) : undefined;
84622
84776
 
84623
84777
  // ../auth/src/envAuth.ts
84624
84778
  var ENV_AUTH_ENABLE_VAR = "UIPATH_CLI_ENABLE_ENV_AUTH";
@@ -84691,6 +84845,7 @@ var readAuthFromEnv = () => {
84691
84845
  const expiration = getTokenExpiration(accessToken);
84692
84846
  const loginStatus = expiration && expiration <= new Date ? "Expired" : "Logged in";
84693
84847
  const identity = resolveSessionIdentity(accessToken);
84848
+ const scopes = readTokenScopes(accessToken);
84694
84849
  return {
84695
84850
  loginStatus,
84696
84851
  accessToken,
@@ -84701,7 +84856,8 @@ var readAuthFromEnv = () => {
84701
84856
  tenantId,
84702
84857
  expiration,
84703
84858
  source: "env-vars" /* EnvironmentVariables */,
84704
- ...identity ? { identity } : {}
84859
+ ...identity ? { identity } : {},
84860
+ ...scopes ? { scopes } : {}
84705
84861
  };
84706
84862
  };
84707
84863
 
@@ -85343,10 +85499,15 @@ async function buildFileStatus(tokens, credentials, globalHint) {
85343
85499
  }
85344
85500
  function identityFields(accessToken, credentials) {
85345
85501
  const identity = resolveSessionIdentity(accessToken, parseAuthFlow(credentials[AUTH_FLOW_ENV_VAR]));
85346
- return identity ? { identity } : {};
85502
+ const scopes = readTokenScopes(accessToken);
85503
+ return {
85504
+ ...identity ? { identity } : {},
85505
+ ...scopes ? { scopes } : {}
85506
+ };
85347
85507
  }
85348
85508
  function buildRobotStatus(robotCreds) {
85349
85509
  const identity = resolveSessionIdentity(robotCreds.accessToken);
85510
+ const scopes = readTokenScopes(robotCreds.accessToken);
85350
85511
  return {
85351
85512
  loginStatus: "Logged in",
85352
85513
  accessToken: robotCreds.accessToken,
@@ -85358,7 +85519,8 @@ function buildRobotStatus(robotCreds) {
85358
85519
  issuer: robotCreds.issuer,
85359
85520
  expiration: getTokenExpiration(robotCreds.accessToken),
85360
85521
  source: "robot" /* Robot */,
85361
- ...identity ? { identity } : {}
85522
+ ...identity ? { identity } : {},
85523
+ ...scopes ? { scopes } : {}
85362
85524
  };
85363
85525
  }
85364
85526
  var isFileNotFoundError = (error) => {
@@ -85625,7 +85787,8 @@ var getAuthContext = async (options = {}) => {
85625
85787
  organizationId: status.organizationId,
85626
85788
  organizationName: status.organizationName,
85627
85789
  tenantId: status.tenantId,
85628
- tenantName
85790
+ tenantName,
85791
+ identity: status.identity
85629
85792
  };
85630
85793
  };
85631
85794
  // ../auth/src/authProfileDetails.ts
@@ -87291,6 +87454,57 @@ function settlePromiseLike2(thenable) {
87291
87454
  return Promise.resolve(thenable).then((data) => [undefined, data]).catch((error46) => [toError(error46), undefined]);
87292
87455
  }
87293
87456
 
87457
+ // ../common/src/error-graph.ts
87458
+ function* walkErrorGraph(error46) {
87459
+ const queue = [error46];
87460
+ const seen = new Set;
87461
+ for (let steps = 0;queue.length > 0 && steps < 32; steps++) {
87462
+ const current = queue.shift();
87463
+ if (current === null || typeof current !== "object")
87464
+ continue;
87465
+ if (seen.has(current))
87466
+ continue;
87467
+ seen.add(current);
87468
+ const cur = current;
87469
+ yield cur;
87470
+ if (cur.cause !== undefined)
87471
+ queue.push(cur.cause);
87472
+ if (Array.isArray(cur.errors))
87473
+ queue.push(...cur.errors);
87474
+ }
87475
+ return;
87476
+ }
87477
+ function parseHttpStatusFromMessage(message) {
87478
+ const match2 = /^HTTP\s+(\d{3})(?::|\s|-|$)/i.exec(message.trim());
87479
+ if (!match2)
87480
+ return;
87481
+ const status = Number(match2[1]);
87482
+ return Number.isInteger(status) && status >= 100 && status <= 599 ? status : undefined;
87483
+ }
87484
+ function findHttpStatusInGraph(error46) {
87485
+ for (const node of walkErrorGraph(error46)) {
87486
+ const response = node.response;
87487
+ const explicit = typeof node.status === "number" ? node.status : response?.status;
87488
+ if (typeof explicit === "number" && explicit >= 400 && explicit <= 599) {
87489
+ return explicit;
87490
+ }
87491
+ if (typeof node.message === "string") {
87492
+ const parsed = parseHttpStatusFromMessage(node.message);
87493
+ if (parsed !== undefined && parsed >= 400) {
87494
+ return parsed;
87495
+ }
87496
+ }
87497
+ }
87498
+ return;
87499
+ }
87500
+
87501
+ // ../common/src/local-permission-codes.ts
87502
+ var LOCAL_PERMISSION_ERROR_CODES = new Set([
87503
+ "EACCES",
87504
+ "EPERM",
87505
+ "EROFS"
87506
+ ]);
87507
+
87294
87508
  // ../common/src/error-handler.ts
87295
87509
  var NETWORK_ERROR_CODES = new Set([
87296
87510
  "ECONNREFUSED",
@@ -87315,7 +87529,7 @@ var TLS_ERROR_CODES = new Set([
87315
87529
  ]);
87316
87530
  var TLS_INSTRUCTIONS = "The server's TLS certificate could not be verified. Most often a " + "corporate proxy/firewall re-signs HTTPS with a root CA that Node does " + "not trust — set NODE_EXTRA_CA_CERTS to that CA's PEM file (and HTTPS_PROXY " + "if you connect through a proxy). If the certificate is instead expired or " + "its hostname does not match, fix the endpoint URL or the system clock. " + "Then retry.";
87317
87531
  var NETWORK_INSTRUCTIONS = "Could not reach the UiPath service. Check your network connection and " + "VPN, confirm any HTTP_PROXY/HTTPS_PROXY/NO_PROXY settings are correct, " + "then retry.";
87318
- var LOCAL_PERMISSION_ERROR_CODES = new Set(["EACCES", "EPERM", "EROFS"]);
87532
+ var LOCAL_PERMISSION_MESSAGE_PATTERN = new RegExp(`\\b(${[...LOCAL_PERMISSION_ERROR_CODES].join("|")})\\b`);
87319
87533
  // ../common/src/exit-code.ts
87320
87534
  function setExitCode(code2) {
87321
87535
  process.exitCode = code2;
@@ -87583,6 +87797,9 @@ var AUTH_ERROR_CODES = new Set([
87583
87797
  "authentication_required",
87584
87798
  "permission_denied"
87585
87799
  ]);
87800
+ var LOCAL_PERMISSION_CLI_ERROR_CODES = new Set([
87801
+ "local_permission_denied"
87802
+ ]);
87586
87803
  var VALIDATION_ERROR_CODES = new Set(["invalid_argument"]);
87587
87804
  var NETWORK_HTTP_ERROR_CODES = new Set([
87588
87805
  "network_error",
@@ -87723,6 +87940,9 @@ function classifyFromErrorCode(errorCode2) {
87723
87940
  if (AUTH_ERROR_CODES.has(errorCode2)) {
87724
87941
  return "auth";
87725
87942
  }
87943
+ if (LOCAL_PERMISSION_CLI_ERROR_CODES.has(errorCode2)) {
87944
+ return "local_permission";
87945
+ }
87726
87946
  if (VALIDATION_ERROR_CODES.has(errorCode2)) {
87727
87947
  return "validation";
87728
87948
  }
@@ -87734,6 +87954,15 @@ function classifyFromErrorCode(errorCode2) {
87734
87954
  }
87735
87955
  return;
87736
87956
  }
87957
+ function hasLocalPermissionCode(error46) {
87958
+ for (const node of walkErrorGraph(error46)) {
87959
+ const code2 = node.code;
87960
+ if (typeof code2 === "string" && LOCAL_PERMISSION_ERROR_CODES.has(code2)) {
87961
+ return true;
87962
+ }
87963
+ }
87964
+ return false;
87965
+ }
87737
87966
  function classifyFromError(error46) {
87738
87967
  const code2 = findCodeInCauseChain(error46);
87739
87968
  if (code2) {
@@ -87750,6 +87979,9 @@ function classifyFromError(error46) {
87750
87979
  return "missing_dependency";
87751
87980
  }
87752
87981
  }
87982
+ if (hasLocalPermissionCode(error46)) {
87983
+ return "local_permission";
87984
+ }
87753
87985
  const message = stringField(error46, "message");
87754
87986
  if (message?.includes("fetch failed") === true) {
87755
87987
  return "network_http";
@@ -87765,7 +87997,7 @@ function classifyError(input) {
87765
87997
  if (recorded?.errorClass) {
87766
87998
  return recorded.errorClass;
87767
87999
  }
87768
- const status = recorded?.context?.httpStatus;
88000
+ const status = recorded?.context?.httpStatus ?? findHttpStatusInGraph(input.error);
87769
88001
  if (status !== undefined) {
87770
88002
  return classifyHttpStatus(status);
87771
88003
  }
@@ -87788,17 +88020,18 @@ function buildCommandTerminalTelemetryProperties(input) {
87788
88020
  const errorClass = outcome === "success" || outcome === "no_op" ? undefined : outcome === "cancelled" ? "user_cancelled" : classifyError(input);
87789
88021
  const terminalSignal = terminalSignalFor(input, outcome);
87790
88022
  return {
87791
- exit_code: input.exitCode,
87792
- terminal_outcome: outcome,
87793
- ...errorClass ? { error_class: errorClass } : {},
87794
- ...terminalSignal ? { terminal_signal: terminalSignal } : {}
88023
+ [CommandDimensions.ExitCode]: input.exitCode,
88024
+ [CommandDimensions.TerminalOutcome]: outcome,
88025
+ ...errorClass ? { [CommandDimensions.ErrorClass]: errorClass } : {},
88026
+ ...terminalSignal ? { [CommandDimensions.TerminalSignal]: terminalSignal } : {}
87795
88027
  };
87796
88028
  }
87797
88029
 
87798
88030
  // ../common/src/telemetry/telemetry-events.ts
87799
88031
  var CommonTelemetryEvents = {
87800
- Error: "uip.error",
87801
- ShipSucceeded: "uip.ship.succeeded"
88032
+ Start: "Application.Start",
88033
+ Error: "Application.Error",
88034
+ ShipSucceeded: "Cli.ShipSucceeded"
87802
88035
  };
87803
88036
 
87804
88037
  // ../common/src/telemetry/telemetry-init.ts
@@ -88009,8 +88242,8 @@ function detectExecutionContext(options = {}) {
88009
88242
  function getExecutionContextTelemetryProperties() {
88010
88243
  const detected = detectExecutionContext();
88011
88244
  return {
88012
- execution_context: detected.executionContext,
88013
- ...detected.ciProvider ? { ci_provider: detected.ciProvider } : {}
88245
+ [BaseDimensions.ExecutionContext]: detected.executionContext,
88246
+ ...detected.ciProvider ? { [BaseDimensions.CiProvider]: detected.ciProvider } : {}
88014
88247
  };
88015
88248
  }
88016
88249
  // ../common/src/telemetry/node-context-storage.ts
@@ -88053,7 +88286,7 @@ function getInboundTraceContext() {
88053
88286
  var TELEMETRY_SESSION_ID_ENV = "UIPATH_SESSION_ID";
88054
88287
  var SESSION_ID_MAX_LENGTH = 64;
88055
88288
  var RANDOM_SESSION_ID_LENGTH = 32;
88056
- var TELEMETRY_SESSION_SOURCE_PROPERTY = "session_id_source";
88289
+ var TELEMETRY_SESSION_SOURCE_PROPERTY = "SessionIdSource";
88057
88290
  var CONTROL_CHARACTERS = /\p{Cc}/gu;
88058
88291
  var INHERITED_SESSION_SOURCES = [
88059
88292
  { envVar: "CLAUDE_CODE_SESSION_ID", source: "claude-code" },
@@ -88105,6 +88338,9 @@ function resolveTelemetrySession() {
88105
88338
  telemetrySessionSlot.set(resolved);
88106
88339
  return resolved;
88107
88340
  }
88341
+ function getTelemetrySessionId() {
88342
+ return resolveTelemetrySession().id;
88343
+ }
88108
88344
  function getTelemetrySessionSource() {
88109
88345
  return resolveTelemetrySession().source;
88110
88346
  }
@@ -88179,7 +88415,10 @@ class TelemetryService2 {
88179
88415
  } catch (error46) {
88180
88416
  const durationMs = clock.elapsedMs();
88181
88417
  const err = error46 instanceof Error ? error46 : new Error(String(error46));
88182
- await this.telemetryProvider.trackRequest(this.spanFor(name, durationMs, false, { ...properties, errorMessage: err.message }, context));
88418
+ await this.telemetryProvider.trackRequest(this.spanFor(name, durationMs, false, {
88419
+ ...properties,
88420
+ [CommandDimensions.ErrorMessage]: err.message
88421
+ }, context));
88183
88422
  throw error46;
88184
88423
  }
88185
88424
  }
@@ -88250,7 +88489,10 @@ class TelemetryService2 {
88250
88489
  const durationMs = clock.elapsedMs();
88251
88490
  const err = error46 instanceof Error ? error46 : new Error(String(error46));
88252
88491
  await this.telemetryProvider.trackDependency({
88253
- ...this.spanFor(name, durationMs, false, { ...properties, errorMessage: err.message }, childContext),
88492
+ ...this.spanFor(name, durationMs, false, {
88493
+ ...properties,
88494
+ [CommandDimensions.ErrorMessage]: err.message
88495
+ }, childContext),
88254
88496
  type: type2
88255
88497
  });
88256
88498
  throw error46;
@@ -88285,9 +88527,10 @@ class TelemetryService2 {
88285
88527
  ...globalProperties,
88286
88528
  ...this.defaultProperties,
88287
88529
  ...redactProperties(properties ?? {}),
88288
- [TELEMETRY_SESSION_SOURCE_PROPERTY]: getTelemetrySessionSource()
88530
+ [TELEMETRY_SESSION_SOURCE_PROPERTY]: getTelemetrySessionSource(),
88531
+ [BaseDimensions.SessionId]: this.telemetryProvider.getSessionId?.() ?? getTelemetrySessionId()
88289
88532
  };
88290
- return enriched;
88533
+ return lowercaseIdDimensionValues(enriched);
88291
88534
  }
88292
88535
  generateId() {
88293
88536
  const bytes = new Uint8Array(8);
@@ -89044,7 +89287,165 @@ class FilterImplicitLimitError extends Error {
89044
89287
  this.instructions = "Pass --limit <n> to choose how many records the filter applies to. " + "To filter over all records, pass the command's maximum accepted --limit (see the option's description in --help).";
89045
89288
  }
89046
89289
  }
89047
- function applyFilter(data, filter) {
89290
+ function countRecords(data) {
89291
+ if (Array.isArray(data))
89292
+ return data.length;
89293
+ return data == null ? 0 : 1;
89294
+ }
89295
+ function availableFields(data) {
89296
+ const records = Array.isArray(data) ? data : [data];
89297
+ const keys2 = new Set;
89298
+ for (const record2 of records) {
89299
+ if (record2 && typeof record2 === "object" && !Array.isArray(record2)) {
89300
+ for (const key of Object.keys(record2))
89301
+ keys2.add(key);
89302
+ }
89303
+ }
89304
+ return [...keys2];
89305
+ }
89306
+ function decodeQuotedIdentifier(whole, inner) {
89307
+ const [error46, decoded] = catchError3(() => JSON.parse(whole));
89308
+ if (!error46 && typeof decoded === "string")
89309
+ return decoded;
89310
+ return inner.replace(/\\(.)/g, "$1");
89311
+ }
89312
+ function referencedFields(filter) {
89313
+ const top = new Set;
89314
+ const nested = new Set;
89315
+ const withoutValueLiterals = filter.replace(/'(?:\\.|[^'\\])*'/g, " ").replace(/`(?:\\.|[^`\\])*`/g, " ");
89316
+ const isPathTail = (text, index) => text[index - 1] === "." && /[A-Za-z0-9_"]/.test(text[index - 2] ?? "");
89317
+ const quoted = [];
89318
+ const withoutLiterals = withoutValueLiterals.replace(/"((?:\\.|[^"\\])*)"/g, (whole, name, index) => {
89319
+ const isAlias = /^\s*:/.test(withoutValueLiterals.slice(index + whole.length));
89320
+ if (!isAlias) {
89321
+ quoted.push({
89322
+ name: decodeQuotedIdentifier(whole, name),
89323
+ index,
89324
+ tail: isPathTail(withoutValueLiterals, index)
89325
+ });
89326
+ }
89327
+ return `"${" ".repeat(whole.length - 2)}"`;
89328
+ });
89329
+ const descent = /[A-Za-z0-9_"]\s*[.[]/.exec(withoutLiterals);
89330
+ const rootEnd = descent ? descent.index + 1 : Number.POSITIVE_INFINITY;
89331
+ const place = (name, index, tail) => {
89332
+ if (tail || index >= rootEnd)
89333
+ nested.add(name);
89334
+ else
89335
+ top.add(name);
89336
+ };
89337
+ for (const entry of quoted)
89338
+ place(entry.name, entry.index, entry.tail);
89339
+ const identifiers = withoutLiterals.matchAll(/([A-Za-z_][A-Za-z0-9_]*)(\s*[:(])?/g);
89340
+ const reserved = new Set(["true", "false", "null", "and", "or", "not"]);
89341
+ for (const match2 of identifiers) {
89342
+ const [, name, trailing] = match2;
89343
+ if (trailing || reserved.has(name))
89344
+ continue;
89345
+ place(name, match2.index, isPathTail(withoutLiterals, match2.index));
89346
+ }
89347
+ return {
89348
+ top: [...top],
89349
+ nested: [...nested].filter((name) => !top.has(name)),
89350
+ hasPredicate: /\[\s*\?/.test(withoutValueLiterals)
89351
+ };
89352
+ }
89353
+ function appearsBelowTopLevel(data, name) {
89354
+ let budget = 2000;
89355
+ const visit = (value, depth) => {
89356
+ if (budget-- <= 0 || depth > 4)
89357
+ return false;
89358
+ if (value === null || typeof value !== "object")
89359
+ return false;
89360
+ if (Array.isArray(value))
89361
+ return value.some((entry) => visit(entry, depth));
89362
+ const record2 = value;
89363
+ if (depth > 0 && Object.hasOwn(record2, name))
89364
+ return true;
89365
+ return Object.values(record2).some((entry) => visit(entry, depth + 1));
89366
+ };
89367
+ return visit(data, 0);
89368
+ }
89369
+ function alwaysNullKeys(records) {
89370
+ const objects = records.filter((r) => r != null && typeof r === "object" && !Array.isArray(r));
89371
+ if (objects.length === 0 || objects.length !== records.length)
89372
+ return [];
89373
+ const keys2 = [...new Set(objects.flatMap((o) => Object.keys(o)))];
89374
+ if (keys2.length === 0)
89375
+ return [];
89376
+ const nullKeys = keys2.filter((key) => objects.every((record2) => record2[key] === null));
89377
+ return nullKeys.length === keys2.length ? nullKeys : [];
89378
+ }
89379
+ function carriesOnlyNulls(value) {
89380
+ if (value === null)
89381
+ return true;
89382
+ if (Array.isArray(value)) {
89383
+ return value.length > 0 && value.every(carriesOnlyNulls);
89384
+ }
89385
+ if (typeof value === "object" && value !== undefined) {
89386
+ const values = Object.values(value);
89387
+ return values.length > 0 && values.every(carriesOnlyNulls);
89388
+ }
89389
+ return false;
89390
+ }
89391
+ function nameList(names, cap2 = 12) {
89392
+ const shown = names.slice(0, cap2).map((n2) => `\`${n2}\``);
89393
+ const rest = names.length - shown.length;
89394
+ return shown.join(", ") + (rest > 0 ? `, and ${rest} more` : "");
89395
+ }
89396
+ function buildFilterWarning(filter, data, outcome) {
89397
+ const present = availableFields(data);
89398
+ const refs = referencedFields(filter);
89399
+ const unknown2 = refs.top.filter((name) => !present.includes(name) && !appearsBelowTopLevel(data, name));
89400
+ const unchecked = refs.nested.filter((name) => !present.includes(name));
89401
+ const count = countRecords(data);
89402
+ const scope = `${count} record(s)`;
89403
+ const isNotAField = (names) => `${nameList(names)} ${names.length === 1 ? "is not a field" : "are not fields"} on the ${scope} it read`;
89404
+ const soundness = unchecked.length > 0 ? `${nameList(unchecked)} ${unchecked.length === 1 ? "reads" : "read"} below the top level, so ${unchecked.length === 1 ? "it was" : "they were"} not checked against the record keys` : refs.top.length > 0 ? "every field it names exists" : "";
89405
+ const withSoundness = (base) => soundness ? `${base}, and ${soundness}` : base;
89406
+ let detail;
89407
+ let lede;
89408
+ if (outcome.kind === "null-elements") {
89409
+ lede = "returned only null values";
89410
+ const projected = `all ${outcome.count} of the elements it projected are null`;
89411
+ if (unknown2.length > 0) {
89412
+ detail = `${projected}, because ${isNotAField(unknown2)}`;
89413
+ } else if (unchecked.length > 0) {
89414
+ detail = withSoundness(projected);
89415
+ } else {
89416
+ detail = `${projected}, and every field it names exists — a multi-select list ` + `(\`[A, B]\`) reads each entry against \`Data\` itself, so on a list ` + `result use \`[].[A, B]\` or \`[].{a: A, b: B}\` to read the records`;
89417
+ }
89418
+ } else if (outcome.kind === "null-rows") {
89419
+ lede = "returned only null values";
89420
+ const projected = `every value it projected is null on all ${outcome.count} row(s)`;
89421
+ detail = unknown2.length > 0 ? `${projected}, because ${isNotAField(unknown2)}` : withSoundness(projected);
89422
+ } else if (outcome.kind === "null-values") {
89423
+ lede = "returned only null values";
89424
+ const projected = `every key it projected (${nameList(outcome.keys)}) is null`;
89425
+ const sameSet = unknown2.length === outcome.keys.length && outcome.keys.every((k) => unknown2.includes(k));
89426
+ if (sameSet) {
89427
+ detail = `${isNotAField(outcome.keys)}, so every key it projected is null`;
89428
+ } else if (unknown2.length > 0) {
89429
+ detail = `${projected}, because ${isNotAField(unknown2)}`;
89430
+ } else {
89431
+ detail = withSoundness(`${projected} on all ${scope}`);
89432
+ }
89433
+ } else {
89434
+ lede = "returned nothing";
89435
+ if (unknown2.length > 0) {
89436
+ detail = isNotAField(unknown2);
89437
+ } else {
89438
+ const selection = refs.hasPredicate ? "no record matched" : "the expression resolved to no value";
89439
+ detail = withSoundness(`${selection} — it read ${scope}`);
89440
+ }
89441
+ }
89442
+ const fields = present.length > 0 ? ` Available fields: ${nameList(present)}.` : "";
89443
+ return `--output-filter ${JSON.stringify(filter)} ${lede}: ${detail}.${fields}`;
89444
+ }
89445
+ function appendWarning(existing, note) {
89446
+ return existing ? `${existing} ${note}` : note;
89447
+ }
89448
+ function applyFilter(data, filter, onWarning) {
89048
89449
  const codec2 = requireJmespath();
89049
89450
  let result;
89050
89451
  try {
@@ -89052,9 +89453,34 @@ function applyFilter(data, filter) {
89052
89453
  } catch (err) {
89053
89454
  throw new FilterEvaluationError(filter, err);
89054
89455
  }
89055
- if (result == null)
89456
+ const inputCount = countRecords(data);
89457
+ const warn = (outcome) => {
89458
+ if (inputCount === 0)
89459
+ return;
89460
+ const note = buildFilterWarning(filter, data, outcome);
89461
+ getOutputSink().writeErr(`[WARN] ${note}
89462
+ `);
89463
+ onWarning?.(note);
89464
+ };
89465
+ const warnIfAllNull = (records) => {
89466
+ const keys2 = alwaysNullKeys(records);
89467
+ if (keys2.length > 0)
89468
+ warn({ kind: "null-values", keys: keys2 });
89469
+ };
89470
+ if (result == null) {
89471
+ warn({ kind: "empty" });
89056
89472
  return [];
89473
+ }
89057
89474
  if (Array.isArray(result)) {
89475
+ if (result.length === 0) {
89476
+ warn({ kind: "empty" });
89477
+ } else if (result.every((entry) => entry === null)) {
89478
+ warn({ kind: "null-elements", count: result.length });
89479
+ } else if (result.every((entry) => Array.isArray(entry)) && carriesOnlyNulls(result)) {
89480
+ warn({ kind: "null-rows", count: result.length });
89481
+ } else {
89482
+ warnIfAllNull(result);
89483
+ }
89058
89484
  if (result.length > 0 && typeof result[0] !== "object") {
89059
89485
  const fieldMatch = filter.match(/\.(\w+)$/);
89060
89486
  const key = fieldMatch ? fieldMatch[1] : "Value";
@@ -89062,10 +89488,30 @@ function applyFilter(data, filter) {
89062
89488
  }
89063
89489
  return result;
89064
89490
  }
89065
- if (typeof result === "object")
89491
+ if (typeof result === "object") {
89492
+ warnIfAllNull([result]);
89066
89493
  return result;
89494
+ }
89067
89495
  return { Value: result };
89068
89496
  }
89497
+ function filterFailureData(envelope) {
89498
+ const filter = getOutputFilter();
89499
+ const data = envelope.Data;
89500
+ if (!filter || data == null)
89501
+ return;
89502
+ let note;
89503
+ const [filterError, filtered] = catchError3(() => applyFilter(data, filter, (n2) => {
89504
+ note = n2;
89505
+ }));
89506
+ if (filterError) {
89507
+ envelope.Warning = appendWarning(envelope.Warning, `--output-filter was not applied, so Data is shown in full: ${filterError.message}`);
89508
+ return;
89509
+ }
89510
+ envelope.Data = filtered;
89511
+ if (note) {
89512
+ envelope.Warning = appendWarning(envelope.Warning, note);
89513
+ }
89514
+ }
89069
89515
  function defaultErrorCodeForResult(result) {
89070
89516
  switch (result) {
89071
89517
  case RESULTS.AuthenticationError:
@@ -89080,7 +89526,7 @@ function defaultErrorCodeForResult(result) {
89080
89526
  return "unknown_error";
89081
89527
  }
89082
89528
  }
89083
- function parseHttpStatusFromMessage(message) {
89529
+ function parseHttpStatusFromMessage2(message) {
89084
89530
  const match2 = /^HTTP\s+(\d{3})(?::|\s|-|$)/i.exec(message.trim());
89085
89531
  if (!match2)
89086
89532
  return;
@@ -89109,10 +89555,10 @@ function defaultErrorCodeForHttpStatus(status) {
89109
89555
  return "server_error";
89110
89556
  return;
89111
89557
  }
89112
- var LOCAL_PERMISSION_TEXT_PATTERN = /(?:\b|\()(?:EACCES|EPERM|EROFS)(?::\s|\))/;
89558
+ var LOCAL_PERMISSION_TEXT_PATTERN = new RegExp(`(?:\\b|\\()(?:${[...LOCAL_PERMISSION_ERROR_CODES].join("|")})(?::\\s|\\))`);
89113
89559
  function defaultErrorCodeForFailure(data) {
89114
89560
  if (data.Result === RESULTS.Failure) {
89115
- const status = data.Context?.httpStatus ?? parseHttpStatusFromMessage(data.Message);
89561
+ const status = data.Context?.httpStatus ?? parseHttpStatusFromMessage2(data.Message);
89116
89562
  const errorCode2 = defaultErrorCodeForHttpStatus(status);
89117
89563
  if (errorCode2)
89118
89564
  return errorCode2;
@@ -89148,8 +89594,14 @@ var OutputFormatter;
89148
89594
  }
89149
89595
  const filter = getOutputFilter();
89150
89596
  if (filter) {
89151
- const filtered = applyFilter(data.Data, filter);
89597
+ let note;
89598
+ const filtered = applyFilter(data.Data, filter, (n2) => {
89599
+ note = n2;
89600
+ });
89152
89601
  data.Data = normalize ? normalizeDataKeys(filtered, verbatim, subtrees && { refs: subtrees.refs, mode: "skip" }) : filtered;
89602
+ if (note) {
89603
+ data.Warning = appendWarning(data.Warning, note);
89604
+ }
89153
89605
  }
89154
89606
  logOutput(normalizeOutputKeys(data), getOutputFormat(), options?.tableRowStyle);
89155
89607
  }
@@ -89177,12 +89629,13 @@ var OutputFormatter;
89177
89629
  delete envelope.TelemetryErrorClass;
89178
89630
  delete envelope.TelemetryTerminalOutcome;
89179
89631
  delete envelope.TelemetryTerminalSignal;
89632
+ filterFailureData(envelope);
89180
89633
  if (!suppressTelemetry) {
89181
89634
  telemetry.trackEvent(CommonTelemetryEvents.Error, {
89182
- result: data.Result,
89183
- errorCode: data.ErrorCode,
89184
- retry: data.Retry,
89185
- message: data.Message
89635
+ [ErrorDimensions.Result]: data.Result,
89636
+ [ErrorDimensions.ErrorCode]: data.ErrorCode,
89637
+ [ErrorDimensions.Retry]: data.Retry,
89638
+ [ErrorDimensions.ErrorMessage]: data.Message
89186
89639
  });
89187
89640
  }
89188
89641
  logOutput(normalizeOutputKeys(envelope), getOutputFormat());
@@ -89225,13 +89678,20 @@ var OutputFormatter;
89225
89678
  OutputFormatter.log = log;
89226
89679
  function formatToString(data) {
89227
89680
  const filter = getOutputFilter();
89681
+ const envelope = data;
89228
89682
  if ("Data" in data && data.Data != null) {
89229
89683
  data.Data = normalizeDataKeys(data.Data);
89230
89684
  if (filter) {
89231
- data.Data = normalizeDataKeys(applyFilter(data.Data, filter));
89685
+ let note;
89686
+ data.Data = normalizeDataKeys(applyFilter(data.Data, filter, (n2) => {
89687
+ note = n2;
89688
+ }));
89689
+ if (note) {
89690
+ envelope.Warning = appendWarning(envelope.Warning, note);
89691
+ }
89232
89692
  }
89233
89693
  }
89234
- const output = normalizeOutputKeys(data);
89694
+ const output = normalizeOutputKeys(envelope);
89235
89695
  const lines = [];
89236
89696
  const sink = getOutputSink();
89237
89697
  printOutput(output, getOutputFormat(), (msg) => {
@@ -89281,7 +89741,7 @@ var LEGACY_SKILL_NAMESPACE = "uipath:";
89281
89741
  var MAX_SKILL_NAME_LENGTH = 80;
89282
89742
  var SKILL_NAME_PATTERN = /^[a-z0-9][a-z0-9-]*[a-z0-9]$/;
89283
89743
  function productMode(productArea, mode) {
89284
- return { product_area: productArea, mode };
89744
+ return { ProductArea: productArea, Mode: mode };
89285
89745
  }
89286
89746
  function attributionRecord(groups) {
89287
89747
  const record2 = {};
@@ -89339,6 +89799,7 @@ var COMMAND_ATTRIBUTION = commandAttribution([
89339
89799
  ["rpa", "build", ["uip.rpa-legacy"]],
89340
89800
  ["conversational", "operate", ["uip.conversational"]],
89341
89801
  ["agents", "build", ["uip.codedagent", "uip.agent"]],
89802
+ ["coding-agents", "build", ["uip.coder"]],
89342
89803
  ["agenthub", "build", ["uip.agenthub"]],
89343
89804
  ["coded-apps", "build", ["uip.codedapp"]],
89344
89805
  ["functions", "build", ["uip.function", "uip.functions"]],
@@ -89424,32 +89885,64 @@ function normalizeSkillName(value) {
89424
89885
  function buildCommandTelemetryAttribution(commandPath, skillSource) {
89425
89886
  const skillName = normalizeSkillName(skillSource);
89426
89887
  return {
89427
- ...skillName ? { skill_name: skillName } : {},
89888
+ ...skillName ? { SkillName: skillName } : {},
89428
89889
  ...getCommandProductModeAttribution(commandPath)
89429
89890
  };
89430
89891
  }
89892
+ var AGENT_SESSION_ENV = {
89893
+ [BaseDimensions.AgentModel]: "UIPATH_AGENT_MODEL",
89894
+ [SkillsDimensions.PermissionMode]: "UIPATH_PERMISSION_MODE",
89895
+ [SkillsDimensions.EffortLevel]: "UIPATH_EFFORT_LEVEL",
89896
+ [SkillsDimensions.SkillsVersion]: "UIPATH_SKILLS_VERSION"
89897
+ };
89898
+ var MAX_TELEMETRY_TOKEN_LENGTH = 120;
89899
+ function sanitizeTelemetryToken(value) {
89900
+ return value.replace(/[^A-Za-z0-9:._/ -]/g, "_").slice(0, MAX_TELEMETRY_TOKEN_LENGTH);
89901
+ }
89902
+ function buildAgentSessionTelemetry(env) {
89903
+ const dimensions = {};
89904
+ for (const [key, variable] of Object.entries(AGENT_SESSION_ENV)) {
89905
+ const value = env[variable]?.trim();
89906
+ if (value) {
89907
+ dimensions[key] = sanitizeTelemetryToken(value);
89908
+ }
89909
+ }
89910
+ return dimensions;
89911
+ }
89431
89912
 
89432
89913
  // ../common/src/telemetry/command-name.ts
89433
- var TELEMETRY_COMMAND_ROOT = "uip";
89914
+ var TELEMETRY_NAME_ROOT = "Cli";
89915
+ var CLI_COMMAND_ROOT = "uip";
89916
+ var TELEMETRY_NAME_BARE_ACTION = "Invoke";
89434
89917
  function commandTelemetryName(parts) {
89918
+ const action = vetCommandTokens(parts).map(pascalizeToken).join("");
89919
+ return `${TELEMETRY_NAME_ROOT}.${action || TELEMETRY_NAME_BARE_ACTION}`;
89920
+ }
89921
+ function commandInvocationPath(parts) {
89922
+ return [CLI_COMMAND_ROOT, ...vetCommandTokens(parts)].join(" ");
89923
+ }
89924
+ function vetCommandTokens(parts) {
89435
89925
  const tokens = [];
89436
89926
  for (const part of parts) {
89437
- const pieces = String(part ?? "").split(/\s+/).filter((token) => token && !token.startsWith("-") && token !== TELEMETRY_COMMAND_ROOT);
89927
+ const pieces = String(part ?? "").split(/\s+/).filter((token) => token && !token.startsWith("-") && token !== CLI_COMMAND_ROOT);
89438
89928
  if (pieces.every(isCommandToken)) {
89439
89929
  tokens.push(...pieces);
89440
89930
  continue;
89441
89931
  }
89442
89932
  tokens.push(UNKNOWN_TOKEN);
89443
89933
  }
89444
- return [TELEMETRY_COMMAND_ROOT, ...tokens].join(".");
89934
+ return tokens;
89935
+ }
89936
+ function pascalizeToken(token) {
89937
+ return token.split("-").filter(Boolean).map((word) => word.charAt(0).toUpperCase() + word.slice(1)).join("");
89445
89938
  }
89446
- var COMMAND_TOKEN_PATTERN = /^[a-z0-9][a-z0-9-]*$/;
89939
+ var COMMAND_TOKEN_PATTERN = /^[a-z][a-z0-9-]*$/;
89447
89940
  var MAX_COMMAND_TOKEN_LENGTH = 32;
89448
89941
  var GUID_TOKEN = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/;
89449
89942
  function isCommandToken(token) {
89450
- return token.length <= MAX_COMMAND_TOKEN_LENGTH && COMMAND_TOKEN_PATTERN.test(token) && !GUID_TOKEN.test(token) && !/^\d+$/.test(token);
89943
+ return token.length <= MAX_COMMAND_TOKEN_LENGTH && COMMAND_TOKEN_PATTERN.test(token) && !GUID_TOKEN.test(token);
89451
89944
  }
89452
- var UNKNOWN_TOKEN = "<unknown>";
89945
+ var UNKNOWN_TOKEN = "unknown";
89453
89946
 
89454
89947
  // ../common/src/telemetry/invocation-request.ts
89455
89948
  var requestContextSlot = singleton("TelemetryInvocationRequestContext");
@@ -89545,7 +90038,7 @@ function withheldArgumentValues(cmd) {
89545
90038
  });
89546
90039
  return values;
89547
90040
  }
89548
- function deriveCommandPath(cmd) {
90041
+ function deriveCommandParts(cmd) {
89549
90042
  const parts = [];
89550
90043
  let current = cmd;
89551
90044
  while (current) {
@@ -89558,14 +90051,13 @@ function deriveCommandPath(cmd) {
89558
90051
  if (parts.length > 1) {
89559
90052
  parts.shift();
89560
90053
  }
89561
- return commandTelemetryName(parts);
90054
+ return parts;
89562
90055
  }
89563
90056
  function isErrorContext(value) {
89564
90057
  return value !== null && typeof value === "object";
89565
90058
  }
89566
90059
  function commandHelpHint(commandPath) {
89567
- const command = commandPath.replace(/\./g, " ");
89568
- return `An unexpected error occurred. Run '${command} --help' to verify command syntax, or run with --log-level debug for details.`;
90060
+ return `An unexpected error occurred. Run '${commandPath} --help' to verify command syntax, or run with --log-level debug for details.`;
89569
90061
  }
89570
90062
  function isPromptCancellation(error46) {
89571
90063
  return error46 instanceof Error && error46.name === "ExitPromptError";
@@ -89590,7 +90082,9 @@ Command.prototype.trackedAction = function(context, fn, properties) {
89590
90082
  yaml: getOutputFormat() === "yaml",
89591
90083
  filter: getOutputFilter() !== undefined
89592
90084
  });
89593
- const telemetryName = deriveCommandPath(command);
90085
+ const commandParts = deriveCommandParts(command);
90086
+ const telemetryName = commandTelemetryName(commandParts);
90087
+ const commandPath = commandInvocationPath(commandParts);
89594
90088
  const props = typeof properties === "function" ? properties(...args) : properties;
89595
90089
  markCommandStart();
89596
90090
  const supplied = recordSuppliedArgumentValues(withheldArgumentValues(command));
@@ -89625,7 +90119,7 @@ Command.prototype.trackedAction = function(context, fn, properties) {
89625
90119
  Result: finalResult,
89626
90120
  ...customErrorCode ? { ErrorCode: customErrorCode } : {},
89627
90121
  Message: errorMessage2,
89628
- Instructions: customInstructions ?? commandHelpHint(telemetryName),
90122
+ Instructions: customInstructions ?? commandHelpHint(commandPath),
89629
90123
  ...customRetry ? { Retry: customRetry } : {},
89630
90124
  ...customContext ? { Context: customContext } : {}
89631
90125
  });
@@ -89642,8 +90136,8 @@ Command.prototype.trackedAction = function(context, fn, properties) {
89642
90136
  recordedFailure,
89643
90137
  pollSignal: context.pollSignal
89644
90138
  });
89645
- if (terminalTelemetry.error_class === "internal" && error46) {
89646
- telemetry.trackException(error46 instanceof Error ? error46 : new Error(String(error46)), { command_name: telemetryName }, getInvocationRequestContext());
90139
+ if (terminalTelemetry[CommandDimensions.ErrorClass] === "internal" && error46) {
90140
+ telemetry.trackException(error46 instanceof Error ? error46 : new Error(String(error46)), { [CommandDimensions.CommandName]: commandPath }, getInvocationRequestContext());
89647
90141
  }
89648
90142
  const commandParams = extractCommandParams(command);
89649
90143
  if (props) {
@@ -89654,10 +90148,12 @@ Command.prototype.trackedAction = function(context, fn, properties) {
89654
90148
  const baseProperties = redactProperties({
89655
90149
  ...commandParams,
89656
90150
  ...props,
89657
- ...buildCommandTelemetryAttribution(telemetryName, process.env.UIPATH_SKILL),
89658
- command: "true",
90151
+ ...buildCommandTelemetryAttribution(commandPath, process.env.UIPATH_SKILL),
90152
+ ...buildAgentSessionTelemetry(process.env),
90153
+ [CommandDimensions.CommandName]: commandPath,
90154
+ [CommandDimensions.IsCommand]: "true",
89659
90155
  ...terminalTelemetry,
89660
- ...errorMessage2 ? { errorMessage: errorMessage2 } : {}
90156
+ ...errorMessage2 ? { [CommandDimensions.ErrorMessage]: errorMessage2 } : {}
89661
90157
  });
89662
90158
  emitInvocationRequest(telemetryName, success2, baseProperties);
89663
90159
  } finally {
@@ -89888,6 +90384,40 @@ var BOOLEAN_FLAGS = new Set(HOST_GLOBAL_FLAGS);
89888
90384
  // ../common/src/interactivity-context.ts
89889
90385
  var modeSlot = singleton("InteractivityMode");
89890
90386
  var interactiveFlagSlot = singleton("InteractiveFlag");
90387
+ // ../common/src/mime-types.ts
90388
+ var MIME_TYPES_BY_EXTENSION = Object.freeze({
90389
+ pdf: "application/pdf",
90390
+ png: "image/png",
90391
+ jpg: "image/jpeg",
90392
+ jpeg: "image/jpeg",
90393
+ gif: "image/gif",
90394
+ webp: "image/webp",
90395
+ bmp: "image/bmp",
90396
+ tif: "image/tiff",
90397
+ tiff: "image/tiff",
90398
+ svg: "image/svg+xml",
90399
+ txt: "text/plain",
90400
+ log: "text/plain",
90401
+ md: "text/markdown",
90402
+ csv: "text/csv",
90403
+ tsv: "text/tab-separated-values",
90404
+ json: "application/json",
90405
+ xml: "application/xml",
90406
+ html: "text/html",
90407
+ htm: "text/html",
90408
+ yaml: "application/yaml",
90409
+ yml: "application/yaml",
90410
+ doc: "application/msword",
90411
+ docx: "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
90412
+ xls: "application/vnd.ms-excel",
90413
+ xlsx: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
90414
+ ppt: "application/vnd.ms-powerpoint",
90415
+ pptx: "application/vnd.openxmlformats-officedocument.presentationml.presentation",
90416
+ zip: "application/zip",
90417
+ mp3: "audio/mpeg",
90418
+ wav: "audio/wav",
90419
+ mp4: "video/mp4"
90420
+ });
89891
90421
  // ../common/src/polling/types.ts
89892
90422
  var PollOutcome = {
89893
90423
  Completed: "completed",
@@ -91724,4 +92254,4 @@ export {
91724
92254
  validateRequiredParameters
91725
92255
  };
91726
92256
 
91727
- //# debugId=848F4AADAA720A4664756E2164756E21
92257
+ //# debugId=47FBC3B56CCF325C64756E2164756E21
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@uipath/integrationservice-sdk",
3
3
  "author": "UiPath",
4
4
  "license": "SEE LICENSE IN LICENSE.txt",
5
- "version": "1.203.0-preview.205",
5
+ "version": "1.204.0-preview.206",
6
6
  "repository": {
7
7
  "type": "git",
8
8
  "url": "https://github.com/UiPath/cli.git",
@@ -31,5 +31,5 @@
31
31
  "dependencies": {
32
32
  "@uipath/integration-service-design-time": "0.25.2"
33
33
  },
34
- "gitHead": "d8d19829030cc590c630bebfc60a9d9fc7fa8c31"
34
+ "gitHead": "ea7fd32a02acccf14e8e83522e69101430627b83"
35
35
  }