@uipath/project-packager 1.1.10 → 1.1.15

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/index.js CHANGED
@@ -814,22 +814,7 @@ I18nManager.registerTranslations("zh-CN", zh_CN_default);
814
814
  I18nManager.registerTranslations("zh-TW", zh_TW_default);
815
815
  I18nManager.registerTranslations("zu", zu_default);
816
816
 
817
- // ../../telemetry/dist/index.js
818
- class ConsoleTelemetryProvider {
819
- async trackEvent(eventName, _properties) {
820
- console.log(`[Telemetry] Event: ${eventName}`);
821
- }
822
- async trackException(error, _properties) {
823
- console.log(`[Telemetry] Exception: ${error.message}`);
824
- }
825
- async trackRequest(name, duration, success, _properties) {
826
- console.log(`[Telemetry] Request: ${name} (${duration}ms, ${success ? "ok" : "fail"})`);
827
- }
828
- async trackDependency(name, type, duration, success, _properties) {
829
- console.log(`[Telemetry] Dependency: ${name} [${type}] (${duration}ms, ${success ? "ok" : "fail"})`);
830
- }
831
- }
832
-
817
+ // ../../common/dist/telemetry/index.js
833
818
  class BrowserContextStorage {
834
819
  contextStack = [];
835
820
  run(context, fn) {
@@ -853,6 +838,56 @@ class BrowserContextStorage {
853
838
  }
854
839
  }
855
840
 
841
+ class ConsoleTelemetryProvider {
842
+ async trackEvent(eventName, _properties) {
843
+ console.debug(`[Telemetry] Event: ${eventName}`);
844
+ }
845
+ async trackException(error, _properties) {
846
+ console.error(`[Telemetry] Exception: ${error.message}`);
847
+ }
848
+ async trackRequest(name, duration, success, _properties) {
849
+ console.debug(`[Telemetry] Request: ${name} (${duration}ms, ${success ? "ok" : "fail"})`);
850
+ }
851
+ async trackDependency(name, type, duration, success, _properties) {
852
+ console.debug(`[Telemetry] Dependency: ${name} [${type}] (${duration}ms, ${success ? "ok" : "fail"})`);
853
+ }
854
+ }
855
+ var SENSITIVE_NAME_TOKENS = new Set([
856
+ "token",
857
+ "tokens",
858
+ "secret",
859
+ "secrets",
860
+ "password",
861
+ "passwords",
862
+ "pwd",
863
+ "credential",
864
+ "credentials",
865
+ "auth",
866
+ "authentication",
867
+ "authorization",
868
+ "authority",
869
+ "cert",
870
+ "certificate",
871
+ "certificates"
872
+ ]);
873
+ var SENSITIVE_KEY_PREFIXES = new Set([
874
+ "api",
875
+ "access",
876
+ "client",
877
+ "private",
878
+ "public",
879
+ "signing",
880
+ "encryption",
881
+ "session",
882
+ "master",
883
+ "shared",
884
+ "root",
885
+ "ssh",
886
+ "rsa",
887
+ "aes",
888
+ "hmac",
889
+ "oauth"
890
+ ]);
856
891
  class TelemetryService {
857
892
  telemetryProvider;
858
893
  contextStorage;
@@ -953,6 +988,7 @@ var RulesConfigFileType;
953
988
 
954
989
  class PackagerParameters {
955
990
  inputPath;
991
+ downloadUrl;
956
992
  logLevel = LogLevel.Warn;
957
993
  outputPath;
958
994
  targetFramework;
@@ -970,6 +1006,7 @@ class ProjectRestoreOptions extends PackagerParameters {
970
1006
  class ProjectValidateOptions extends ProjectRestoreOptions {
971
1007
  validateOptions = {
972
1008
  skipAnalyze: false,
1009
+ skipValidate: false,
973
1010
  governanceFileType: "Default" /* Default */
974
1011
  };
975
1012
  }
@@ -1368,6 +1405,7 @@ import {
1368
1405
  toolsFactoryRepository as defaultToolsFactoryRepository,
1369
1406
  NugetPackager,
1370
1407
  Path as Path3,
1408
+ TargetFramework,
1371
1409
  TemporaryStorageService,
1372
1410
  ToolErrorCodes as ToolErrorCodes3,
1373
1411
  ToolResult as ToolResult3,
@@ -1413,7 +1451,7 @@ class ProjectPackOptionsBuilder {
1413
1451
  nuGetSourcesConfigPath: parameters.nuGetSourcesConfigPath,
1414
1452
  logLevel: parameters.logLevel,
1415
1453
  skipAnalyze: parameters.validateOptions.skipAnalyze,
1416
- skipValidate: false,
1454
+ skipValidate: parameters.validateOptions.skipValidate,
1417
1455
  detailedLogPath: parameters.detailedLogPath,
1418
1456
  policyFilePath: parameters.validateOptions.governanceFilePath,
1419
1457
  policyFileType: parameters.validateOptions.governanceFileType,
@@ -1639,12 +1677,14 @@ class ProjectPackager {
1639
1677
  nuGetSourcesConfigPath: options.nuGetSourcesConfigPath,
1640
1678
  logLevel: options.logLevel,
1641
1679
  skipAnalyze: options.validateOptions.skipAnalyze,
1680
+ skipValidate: options.validateOptions.skipValidate,
1642
1681
  defaultSeverity: options.validateOptions.defaultSeverity,
1643
1682
  detailedLogPath: options.detailedLogPath,
1644
1683
  policyFilePath: options.validateOptions.governanceFilePath,
1645
1684
  policyFileType: options.validateOptions.governanceFileType
1646
1685
  };
1647
- return await this.projectExecutor.validateAsync(validateOptions, uiPathProject, undefined, cancellationToken);
1686
+ const context = this.createOperationContext(options, uiPathProject);
1687
+ return await this.projectExecutor.validateAsync(validateOptions, uiPathProject, context, cancellationToken);
1648
1688
  }, cancellationToken);
1649
1689
  }
1650
1690
  async buildProjectAsync(options, cancellationToken) {
@@ -1663,7 +1703,7 @@ class ProjectPackager {
1663
1703
  nuGetSourcesConfigPath: options.nuGetSourcesConfigPath,
1664
1704
  logLevel: options.logLevel,
1665
1705
  skipAnalyze: options.validateOptions.skipAnalyze,
1666
- skipValidate: false,
1706
+ skipValidate: options.validateOptions.skipValidate,
1667
1707
  detailedLogPath: options.detailedLogPath,
1668
1708
  policyFilePath: options.validateOptions.governanceFilePath,
1669
1709
  policyFileType: options.validateOptions.governanceFileType,
@@ -1694,7 +1734,8 @@ class ProjectPackager {
1694
1734
  ProjectPath: loadedProject.projectPath,
1695
1735
  Id: loadedProject.name
1696
1736
  };
1697
- result = await this.projectExecutor.packAsync(projectPackOptions, uiPathProject, undefined, options.signingInfo, cancellationToken);
1737
+ const context = this.createOperationContext(options, uiPathProject);
1738
+ result = await this.projectExecutor.packAsync(projectPackOptions, uiPathProject, context, options.signingInfo, cancellationToken);
1698
1739
  if (result.isSuccess && result.packages.length > 0) {
1699
1740
  const destinationPackages = await this.copyPackagesToDestination(result.packages, options.destinationPath, projectPackOptions.package);
1700
1741
  result = new ToolResult3(ToolErrorCodes3.Success, undefined, destinationPackages);
@@ -1763,6 +1804,34 @@ class ProjectPackager {
1763
1804
  }
1764
1805
  });
1765
1806
  }
1807
+ createOperationContext(options, uiPathProject) {
1808
+ return {
1809
+ id: crypto.randomUUID(),
1810
+ projects: [uiPathProject],
1811
+ downloadUrl: options.downloadUrl,
1812
+ targetFramework: options.targetFramework ?? TargetFramework.Portable,
1813
+ connection: options.connection,
1814
+ logger: this.logger,
1815
+ workflowCompilerVersion: options.workflowCompilerVersion
1816
+ };
1817
+ }
1818
+ async findNupkgInParentDir(packagePath) {
1819
+ const dirName = Path3.basename(packagePath);
1820
+ const parentDir = Path3.dirname(packagePath);
1821
+ const parentFiles = await this.fileSystem.readdir(parentDir);
1822
+ const matchingFiles = parentFiles.filter((f) => f.endsWith(".nupkg") && f.startsWith(`${dirName}.`));
1823
+ return { dir: parentDir, files: matchingFiles };
1824
+ }
1825
+ async copyFileToDestination(sourcePath, destinationPath) {
1826
+ const fileName = Path3.basename(sourcePath);
1827
+ const destPath = Path3.join(destinationPath, fileName);
1828
+ const data = await this.fileSystem.readFile(sourcePath);
1829
+ if (!data) {
1830
+ throw new Error(translate4.t("solutionpackager.packager.errors.failedToReadPackage", { path: sourcePath }));
1831
+ }
1832
+ await this.fileSystem.writeFile(destPath, data);
1833
+ return destPath;
1834
+ }
1766
1835
  async copyPackagesToDestination(packagePaths, destinationPath, packageInfo) {
1767
1836
  await this.fileSystem.mkdir(destinationPath);
1768
1837
  const destinationPackages = [];
@@ -1774,33 +1843,27 @@ class ProjectPackager {
1774
1843
  if (nupkgFiles.length > 0) {
1775
1844
  for (const nupkgFile of nupkgFiles) {
1776
1845
  const filePath = Path3.join(packagePath, nupkgFile);
1777
- const destPath = Path3.join(destinationPath, nupkgFile);
1778
- const data = await this.fileSystem.readFile(filePath);
1779
- if (!data) {
1780
- throw new Error(translate4.t("solutionpackager.packager.errors.failedToReadPackage", {
1781
- path: filePath
1782
- }));
1783
- }
1784
- await this.fileSystem.writeFile(destPath, data);
1785
- destinationPackages.push(destPath);
1846
+ const dest = await this.copyFileToDestination(filePath, destinationPath);
1847
+ destinationPackages.push(dest);
1786
1848
  }
1787
1849
  } else {
1788
- const nupkgFileName = `${packageInfo.id}.${packageInfo.version}.nupkg`;
1789
- const destPath = Path3.join(destinationPath, nupkgFileName);
1790
- const packResult = await this.nugetPackager.packAsync(packagePath, packageInfo, destPath);
1791
- destinationPackages.push(packResult.outputPath);
1850
+ const parent = await this.findNupkgInParentDir(packagePath);
1851
+ if (parent.files.length > 0) {
1852
+ for (const nupkgFile of parent.files) {
1853
+ const filePath = Path3.join(parent.dir, nupkgFile);
1854
+ const dest = await this.copyFileToDestination(filePath, destinationPath);
1855
+ destinationPackages.push(dest);
1856
+ }
1857
+ } else {
1858
+ const nupkgFileName = `${packageInfo.id}.${packageInfo.version}.nupkg`;
1859
+ const destPath = Path3.join(destinationPath, nupkgFileName);
1860
+ const packResult = await this.nugetPackager.packAsync(packagePath, packageInfo, destPath);
1861
+ destinationPackages.push(packResult.outputPath);
1862
+ }
1792
1863
  }
1793
1864
  } else {
1794
- const fileName = packagePath.split(/[\\/]/).pop() || packagePath;
1795
- const destPath = Path3.join(destinationPath, fileName);
1796
- const data = await this.fileSystem.readFile(packagePath);
1797
- if (!data) {
1798
- throw new Error(translate4.t("solutionpackager.packager.errors.failedToReadPackage", {
1799
- path: packagePath
1800
- }));
1801
- }
1802
- await this.fileSystem.writeFile(destPath, data);
1803
- destinationPackages.push(destPath);
1865
+ const dest = await this.copyFileToDestination(packagePath, destinationPath);
1866
+ destinationPackages.push(dest);
1804
1867
  }
1805
1868
  }
1806
1869
  return destinationPackages;
package/dist/node.js CHANGED
@@ -816,20 +816,21 @@ I18nManager.registerTranslations("zu", zu_default);
816
816
 
817
817
  // src/node.ts
818
818
  import {
819
- ConsoleTelemetryProvider as ConsoleTelemetryProvider2,
819
+ DebugTelemetryProvider as DebugTelemetryProvider2,
820
820
  NodeContextStorage as NodeContextStorage2,
821
821
  TelemetryService as TelemetryService2
822
- } from "@uipath/telemetry/node";
822
+ } from "@uipath/common";
823
+ import { ConsoleTelemetryProvider } from "@uipath/common/telemetry";
823
824
 
824
825
  // src/base-node-packager-factory.ts
825
826
  import { execSync } from "node:child_process";
826
- import { NodeFileSystem } from "@uipath/filesystem";
827
- import { translate } from "@uipath/solutionpackager-tool-core";
828
827
  import {
829
- ConsoleTelemetryProvider,
828
+ DebugTelemetryProvider,
830
829
  NodeContextStorage,
831
830
  TelemetryService
832
- } from "@uipath/telemetry/node";
831
+ } from "@uipath/common";
832
+ import { NodeFileSystem } from "@uipath/filesystem";
833
+ import { translate } from "@uipath/solutionpackager-tool-core";
833
834
 
834
835
  // src/services/tool-logger.ts
835
836
  import {
@@ -926,7 +927,7 @@ class BaseNodePackagerFactory {
926
927
  if (config?.telemetryService) {
927
928
  return config.telemetryService;
928
929
  }
929
- const provider = new ConsoleTelemetryProvider;
930
+ const provider = new DebugTelemetryProvider;
930
931
  const contextStorage = new NodeContextStorage;
931
932
  return new TelemetryService(provider, contextStorage);
932
933
  }
@@ -964,6 +965,7 @@ var RulesConfigFileType;
964
965
 
965
966
  class PackagerParameters {
966
967
  inputPath;
968
+ downloadUrl;
967
969
  logLevel = LogLevel2.Warn;
968
970
  outputPath;
969
971
  targetFramework;
@@ -981,6 +983,7 @@ class ProjectRestoreOptions extends PackagerParameters {
981
983
  class ProjectValidateOptions extends ProjectRestoreOptions {
982
984
  validateOptions = {
983
985
  skipAnalyze: false,
986
+ skipValidate: false,
984
987
  governanceFileType: "Default" /* Default */
985
988
  };
986
989
  }
@@ -1075,6 +1078,7 @@ import {
1075
1078
  toolsFactoryRepository as defaultToolsFactoryRepository,
1076
1079
  NugetPackager,
1077
1080
  Path as Path3,
1081
+ TargetFramework,
1078
1082
  TemporaryStorageService,
1079
1083
  ToolErrorCodes as ToolErrorCodes4,
1080
1084
  ToolResult as ToolResult4,
@@ -1416,7 +1420,7 @@ class ProjectPackOptionsBuilder {
1416
1420
  nuGetSourcesConfigPath: parameters.nuGetSourcesConfigPath,
1417
1421
  logLevel: parameters.logLevel,
1418
1422
  skipAnalyze: parameters.validateOptions.skipAnalyze,
1419
- skipValidate: false,
1423
+ skipValidate: parameters.validateOptions.skipValidate,
1420
1424
  detailedLogPath: parameters.detailedLogPath,
1421
1425
  policyFilePath: parameters.validateOptions.governanceFilePath,
1422
1426
  policyFileType: parameters.validateOptions.governanceFileType,
@@ -1642,12 +1646,14 @@ class ProjectPackager {
1642
1646
  nuGetSourcesConfigPath: options.nuGetSourcesConfigPath,
1643
1647
  logLevel: options.logLevel,
1644
1648
  skipAnalyze: options.validateOptions.skipAnalyze,
1649
+ skipValidate: options.validateOptions.skipValidate,
1645
1650
  defaultSeverity: options.validateOptions.defaultSeverity,
1646
1651
  detailedLogPath: options.detailedLogPath,
1647
1652
  policyFilePath: options.validateOptions.governanceFilePath,
1648
1653
  policyFileType: options.validateOptions.governanceFileType
1649
1654
  };
1650
- return await this.projectExecutor.validateAsync(validateOptions, uiPathProject, undefined, cancellationToken);
1655
+ const context = this.createOperationContext(options, uiPathProject);
1656
+ return await this.projectExecutor.validateAsync(validateOptions, uiPathProject, context, cancellationToken);
1651
1657
  }, cancellationToken);
1652
1658
  }
1653
1659
  async buildProjectAsync(options, cancellationToken) {
@@ -1666,7 +1672,7 @@ class ProjectPackager {
1666
1672
  nuGetSourcesConfigPath: options.nuGetSourcesConfigPath,
1667
1673
  logLevel: options.logLevel,
1668
1674
  skipAnalyze: options.validateOptions.skipAnalyze,
1669
- skipValidate: false,
1675
+ skipValidate: options.validateOptions.skipValidate,
1670
1676
  detailedLogPath: options.detailedLogPath,
1671
1677
  policyFilePath: options.validateOptions.governanceFilePath,
1672
1678
  policyFileType: options.validateOptions.governanceFileType,
@@ -1697,7 +1703,8 @@ class ProjectPackager {
1697
1703
  ProjectPath: loadedProject.projectPath,
1698
1704
  Id: loadedProject.name
1699
1705
  };
1700
- result = await this.projectExecutor.packAsync(projectPackOptions, uiPathProject, undefined, options.signingInfo, cancellationToken);
1706
+ const context = this.createOperationContext(options, uiPathProject);
1707
+ result = await this.projectExecutor.packAsync(projectPackOptions, uiPathProject, context, options.signingInfo, cancellationToken);
1701
1708
  if (result.isSuccess && result.packages.length > 0) {
1702
1709
  const destinationPackages = await this.copyPackagesToDestination(result.packages, options.destinationPath, projectPackOptions.package);
1703
1710
  result = new ToolResult4(ToolErrorCodes4.Success, undefined, destinationPackages);
@@ -1766,6 +1773,34 @@ class ProjectPackager {
1766
1773
  }
1767
1774
  });
1768
1775
  }
1776
+ createOperationContext(options, uiPathProject) {
1777
+ return {
1778
+ id: crypto.randomUUID(),
1779
+ projects: [uiPathProject],
1780
+ downloadUrl: options.downloadUrl,
1781
+ targetFramework: options.targetFramework ?? TargetFramework.Portable,
1782
+ connection: options.connection,
1783
+ logger: this.logger,
1784
+ workflowCompilerVersion: options.workflowCompilerVersion
1785
+ };
1786
+ }
1787
+ async findNupkgInParentDir(packagePath) {
1788
+ const dirName = Path3.basename(packagePath);
1789
+ const parentDir = Path3.dirname(packagePath);
1790
+ const parentFiles = await this.fileSystem.readdir(parentDir);
1791
+ const matchingFiles = parentFiles.filter((f) => f.endsWith(".nupkg") && f.startsWith(`${dirName}.`));
1792
+ return { dir: parentDir, files: matchingFiles };
1793
+ }
1794
+ async copyFileToDestination(sourcePath, destinationPath) {
1795
+ const fileName = Path3.basename(sourcePath);
1796
+ const destPath = Path3.join(destinationPath, fileName);
1797
+ const data = await this.fileSystem.readFile(sourcePath);
1798
+ if (!data) {
1799
+ throw new Error(translate6.t("solutionpackager.packager.errors.failedToReadPackage", { path: sourcePath }));
1800
+ }
1801
+ await this.fileSystem.writeFile(destPath, data);
1802
+ return destPath;
1803
+ }
1769
1804
  async copyPackagesToDestination(packagePaths, destinationPath, packageInfo) {
1770
1805
  await this.fileSystem.mkdir(destinationPath);
1771
1806
  const destinationPackages = [];
@@ -1777,33 +1812,27 @@ class ProjectPackager {
1777
1812
  if (nupkgFiles.length > 0) {
1778
1813
  for (const nupkgFile of nupkgFiles) {
1779
1814
  const filePath = Path3.join(packagePath, nupkgFile);
1780
- const destPath = Path3.join(destinationPath, nupkgFile);
1781
- const data = await this.fileSystem.readFile(filePath);
1782
- if (!data) {
1783
- throw new Error(translate6.t("solutionpackager.packager.errors.failedToReadPackage", {
1784
- path: filePath
1785
- }));
1786
- }
1787
- await this.fileSystem.writeFile(destPath, data);
1788
- destinationPackages.push(destPath);
1815
+ const dest = await this.copyFileToDestination(filePath, destinationPath);
1816
+ destinationPackages.push(dest);
1789
1817
  }
1790
1818
  } else {
1791
- const nupkgFileName = `${packageInfo.id}.${packageInfo.version}.nupkg`;
1792
- const destPath = Path3.join(destinationPath, nupkgFileName);
1793
- const packResult = await this.nugetPackager.packAsync(packagePath, packageInfo, destPath);
1794
- destinationPackages.push(packResult.outputPath);
1819
+ const parent = await this.findNupkgInParentDir(packagePath);
1820
+ if (parent.files.length > 0) {
1821
+ for (const nupkgFile of parent.files) {
1822
+ const filePath = Path3.join(parent.dir, nupkgFile);
1823
+ const dest = await this.copyFileToDestination(filePath, destinationPath);
1824
+ destinationPackages.push(dest);
1825
+ }
1826
+ } else {
1827
+ const nupkgFileName = `${packageInfo.id}.${packageInfo.version}.nupkg`;
1828
+ const destPath = Path3.join(destinationPath, nupkgFileName);
1829
+ const packResult = await this.nugetPackager.packAsync(packagePath, packageInfo, destPath);
1830
+ destinationPackages.push(packResult.outputPath);
1831
+ }
1795
1832
  }
1796
1833
  } else {
1797
- const fileName = packagePath.split(/[\\/]/).pop() || packagePath;
1798
- const destPath = Path3.join(destinationPath, fileName);
1799
- const data = await this.fileSystem.readFile(packagePath);
1800
- if (!data) {
1801
- throw new Error(translate6.t("solutionpackager.packager.errors.failedToReadPackage", {
1802
- path: packagePath
1803
- }));
1804
- }
1805
- await this.fileSystem.writeFile(destPath, data);
1806
- destinationPackages.push(destPath);
1834
+ const dest = await this.copyFileToDestination(packagePath, destinationPath);
1835
+ destinationPackages.push(dest);
1807
1836
  }
1808
1837
  }
1809
1838
  return destinationPackages;
@@ -1852,6 +1881,7 @@ export {
1852
1881
  PackService,
1853
1882
  NodePackageSignService,
1854
1883
  NodeContextStorage2 as NodeContextStorage,
1855
- ConsoleTelemetryProvider2 as ConsoleTelemetryProvider,
1884
+ DebugTelemetryProvider2 as DebugTelemetryProvider,
1885
+ ConsoleTelemetryProvider,
1856
1886
  BaseNodePackagerFactory
1857
1887
  };
@@ -1,5 +1,5 @@
1
+ import { type ITelemetryService } from "@uipath/common";
1
2
  import type { IFileSystem, IToolLogger } from "@uipath/solutionpackager-tool-core";
2
- import { type ITelemetryService } from "@uipath/telemetry/node";
3
3
  import type { PackagerConfig } from "./models/packager-config.js";
4
4
  /**
5
5
  * Base factory class containing common functionality for Node.js packager factories.
@@ -1,6 +1,6 @@
1
1
  import "./i18n/index.js";
2
- export type { IContextStorage, ITelemetryProvider, ITelemetryService, TelemetryContext, TelemetryProperties, } from "@uipath/telemetry";
3
- export { BrowserContextStorage, ConsoleTelemetryProvider, TelemetryService, } from "@uipath/telemetry";
2
+ export type { IContextStorage, ITelemetryProvider, ITelemetryService, TelemetryContext, TelemetryProperties, } from "@uipath/common/telemetry";
3
+ export { BrowserContextStorage, ConsoleTelemetryProvider, TelemetryService, } from "@uipath/common/telemetry";
4
4
  export type { PackagerConfig } from "./models/packager-config.js";
5
5
  export type { PackageSigningInfo, PackOptions, PublishInfo, ValidateOptions, } from "./models/packager-parameters.js";
6
6
  export { PackagerParameters, RulesConfigFileType, } from "./models/packager-parameters.js";
@@ -1,11 +1,11 @@
1
+ import type { ITelemetryService } from "@uipath/common/telemetry";
1
2
  import type { IFileSystem } from "@uipath/solutionpackager-tool-core";
2
- import type { ITelemetryService } from "@uipath/telemetry";
3
3
  import type { LogHandler } from "../services/tool-logger.js";
4
4
  /**
5
5
  * Configuration for packager factories.
6
6
  */
7
7
  export interface PackagerConfig {
8
- /** Optional telemetry service. If not provided, a default TelemetryService with ConsoleTelemetryProvider is created. */
8
+ /** Optional telemetry service. If not provided, a default TelemetryService with DebugTelemetryProvider is created. */
9
9
  telemetryService?: ITelemetryService;
10
10
  /** Optional file system. If not provided, a default NodeFileSystem is created. */
11
11
  fileSystem?: IFileSystem;
@@ -18,6 +18,10 @@ export interface ValidateOptions {
18
18
  * Whether to skip analysis
19
19
  */
20
20
  skipAnalyze: boolean;
21
+ /**
22
+ * Whether to skip validation
23
+ */
24
+ skipValidate: boolean;
21
25
  /**
22
26
  * Default severity level
23
27
  */
@@ -87,6 +91,10 @@ export declare abstract class PackagerParameters {
87
91
  * Input path to the solution or project folder
88
92
  */
89
93
  inputPath: string;
94
+ /**
95
+ * URL to download the project/solution snapshot for remote packing.
96
+ */
97
+ downloadUrl?: string;
90
98
  /**
91
99
  * Log level for the packager
92
100
  */
@@ -1,6 +1,12 @@
1
1
  import "./i18n/index.js";
2
- export type { IContextStorage, ITelemetryProvider, ITelemetryService, TelemetryContext, TelemetryProperties, } from "@uipath/telemetry/node";
3
- export { ConsoleTelemetryProvider, NodeContextStorage, TelemetryService, } from "@uipath/telemetry/node";
2
+ export type { IContextStorage, ITelemetryProvider, ITelemetryService, TelemetryContext, TelemetryProperties, } from "@uipath/common";
3
+ export { DebugTelemetryProvider, NodeContextStorage, TelemetryService, } from "@uipath/common";
4
+ /**
5
+ * @deprecated Use {@link DebugTelemetryProvider} instead. This re-export is kept
6
+ * for one release cycle to avoid breaking external consumers and will be removed
7
+ * in the next minor version.
8
+ */
9
+ export { ConsoleTelemetryProvider } from "@uipath/common/telemetry";
4
10
  export { BaseNodePackagerFactory } from "./base-node-packager-factory.js";
5
11
  export type { PackagerConfig } from "./models/packager-config.js";
6
12
  export type { PackageSigningInfo, ValidateOptions, } from "./models/packager-parameters.js";
@@ -1,5 +1,5 @@
1
+ import type { ITelemetryService } from "@uipath/common/telemetry";
1
2
  import { type IFileSystem, ToolResult } from "@uipath/solutionpackager-tool-core";
2
- import type { ITelemetryService } from "@uipath/telemetry";
3
3
  import type { ProjectBuildOptions } from "../models/project-build-options.js";
4
4
  import type { ProjectPackOptions } from "../models/project-pack-options.js";
5
5
  import type { ProjectRestoreOptions } from "../models/project-restore-options.js";
@@ -134,6 +134,24 @@ export declare class ProjectPackager implements IProjectPackager {
134
134
  * validates options, loads the project, executes the operation, and handles errors.
135
135
  */
136
136
  private executeProjectOperationAsync;
137
+ /**
138
+ * Build a single-project ProjectOperationContext so tools that coordinate
139
+ * a remote-agent run (e.g. workflow-compiler-browser) receive the same
140
+ * shape they get from SolutionPackager — just with one project.
141
+ */
142
+ private createOperationContext;
143
+ /**
144
+ * Find .nupkg files produced by the tool in the parent directory.
145
+ * Tools like WorkflowCompiler create the .nupkg in the output root
146
+ * while reporting the content subdirectory in OutputPackages[].Path.
147
+ * Only returns .nupkg files whose name starts with the subdirectory
148
+ * name (the package id) to avoid picking up unrelated packages.
149
+ */
150
+ private findNupkgInParentDir;
151
+ /**
152
+ * Copy a single file to the destination, throwing if the read fails.
153
+ */
154
+ private copyFileToDestination;
137
155
  /**
138
156
  * Copy packages from the output path to the destination path.
139
157
  * Handles file paths, directories with .nupkg files, and directories with
@@ -1,5 +1,5 @@
1
+ import type { ITelemetryService } from "@uipath/common/telemetry";
1
2
  import { type IProjectBuildOptions, type IProjectPackOptions, type IProjectRestoreOptions, type IProjectValidateOptions, type ProjectOperationContext, ToolResult } from "@uipath/solutionpackager-tool-core";
2
- import type { ITelemetryService } from "@uipath/telemetry";
3
3
  import type { PackageSigningInfo } from "../models/packager-parameters.js";
4
4
  import type { UiPathProject } from "../models/project-models.js";
5
5
  import type { IPackageSignService } from "./package-sign-service.js";
@@ -1 +1 @@
1
- export {};
1
+ import "../src/i18n/index.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uipath/project-packager",
3
- "version": "1.1.10",
3
+ "version": "1.1.15",
4
4
  "description": "UiPath Project Packager - core library for packing individual UiPath projects",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -28,7 +28,7 @@
28
28
  "!dist/**/*.map"
29
29
  ],
30
30
  "scripts": {
31
- "build": "bun build ./src/index.ts --outdir dist --format esm --target browser --external @uipath/solutionpackager-tool-core && bun build ./src/node.ts --outdir dist --format esm --target node --external @uipath/solutionpackager-tool-core --external '@uipath/telemetry/*' --external @uipath/telemetry --external @uipath/filesystem && tsc --emitDeclarationOnly --outDir dist",
31
+ "build": "bun build ./src/index.ts --outdir dist --format esm --target browser --external @uipath/solutionpackager-tool-core && bun build ./src/node.ts --outdir dist --format esm --target node --external @uipath/solutionpackager-tool-core --external '@uipath/common/*' --external @uipath/common --external @uipath/filesystem && tsc --emitDeclarationOnly --outDir dist",
32
32
  "clean": "rimraf dist",
33
33
  "test": "vitest run",
34
34
  "e2e": "vitest run --config vitest.e2e.config.ts",
@@ -42,9 +42,9 @@
42
42
  "lint": "biome check ."
43
43
  },
44
44
  "dependencies": {
45
- "@uipath/filesystem": "0.1.7",
46
- "@uipath/solutionpackager-tool-core": "0.0.31",
47
- "@uipath/telemetry": "0.0.6"
45
+ "@uipath/filesystem": "0.9.0",
46
+ "@uipath/solutionpackager-tool-core": "0.0.33",
47
+ "@uipath/common": "0.9.0"
48
48
  },
49
49
  "peerDependencies": {
50
50
  "fflate": "^0.8.2"
@@ -53,15 +53,16 @@
53
53
  "@types/node": "^25.5.0",
54
54
  "@uipath/resource-builder-tool": "^2025.11.0-alpha2430-2948",
55
55
  "@uipath/tool-agent": "^1.0.1",
56
- "@uipath/packager-tool-apiworkflow": "0.0.17",
57
- "@uipath/packager-tool-connector": "0.0.17",
58
- "@uipath/packager-tool-flow": "0.0.17",
59
- "@uipath/packager-tool-webapp": "1.0.4",
60
- "@uipath/packager-tool-workflowcompiler": "0.0.14",
56
+ "@uipath/packager-tool-apiworkflow": "0.0.18",
57
+ "@uipath/packager-tool-connector": "0.0.18",
58
+ "@uipath/packager-tool-flow": "0.0.18",
59
+ "@uipath/packager-tool-webapp": "1.0.5",
60
+ "@uipath/packager-tool-workflowcompiler": "0.0.15",
61
61
  "@vitest/coverage-v8": "^4.0.14",
62
62
  "jsdom": "^29.0.0",
63
63
  "typescript": "^5.9.3",
64
64
  "vite-tsconfig-paths": "^6.1.1",
65
65
  "vitest": "^4.0.14"
66
- }
66
+ },
67
+ "gitHead": "3f1b4d8e9f910be81e4cab956537f21dbd5d63ac"
67
68
  }