@celonis/content-cli 1.13.1 → 1.14.1

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 (88) hide show
  1. package/README.md +17 -5
  2. package/commands/action-flows/action-flow/action-flow.service.js +9 -9
  3. package/commands/action-flows/module.js +2 -1
  4. package/commands/asset-registry/asset-registry-api.js +1 -30
  5. package/commands/asset-registry/asset-registry.service.js +20 -67
  6. package/commands/asset-registry/module.js +0 -26
  7. package/commands/bookmarks/bookmarks-api.js +49 -0
  8. package/commands/bookmarks/bookmarks-command.service.js +48 -0
  9. package/{core/utils/path.js → commands/bookmarks/bookmarks.interfaces.js} +0 -5
  10. package/commands/bookmarks/module.js +49 -0
  11. package/commands/configuration-management/api/node-api.js +17 -0
  12. package/commands/configuration-management/branch/api/branch.api.js +88 -0
  13. package/commands/configuration-management/branch/branch-export-import.command.service.js +283 -0
  14. package/commands/configuration-management/branch/branch.command.service.js +182 -0
  15. package/commands/configuration-management/branch/interfaces/branch.interfaces.js +41 -0
  16. package/commands/configuration-management/metadata.service.js +9 -5
  17. package/commands/configuration-management/module.js +170 -6
  18. package/commands/configuration-management/node-dependency.service.js +5 -3
  19. package/commands/configuration-management/node-diff.service.js +10 -6
  20. package/commands/configuration-management/node.service.js +14 -10
  21. package/commands/configuration-management/package-validation.service.js +11 -5
  22. package/commands/configuration-management/package-version.service.js +7 -5
  23. package/commands/configuration-management/single-package-export.service.js +6 -6
  24. package/commands/configuration-management/single-package-import.service.js +28 -24
  25. package/commands/configuration-management/staging-package.service.js +9 -5
  26. package/commands/configuration-management/variable.service.js +11 -7
  27. package/commands/data-pipeline/connection/connection.commands.js +4 -2
  28. package/commands/data-pipeline/data-pool/data-pool-service.js +13 -9
  29. package/commands/data-pipeline/data-pool/data-pool.commands.js +2 -1
  30. package/commands/deployment/deployment.service.js +15 -13
  31. package/commands/deployment/module.js +4 -7
  32. package/commands/studio/manager/space.manager.js +21 -10
  33. package/commands/studio/service/asset-service.js +5 -4
  34. package/commands/studio/service/package.service.js +9 -5
  35. package/commands/t2tc/diff.service.js +15 -9
  36. package/commands/t2tc/t2tc-package.service.js +25 -23
  37. package/content-cli.js +4 -0
  38. package/core/command/module-handler.js +8 -1
  39. package/core/feature-flag/feature-disabled-error.js +52 -0
  40. package/core/http/http-client.js +18 -0
  41. package/core/http/http-shared/base.manager.js +35 -59
  42. package/core/utils/branches.js +10 -0
  43. package/core/utils/cui-api.js +52 -0
  44. package/core/utils/cui-file-service.js +106 -0
  45. package/core/utils/file-service.js +7 -13
  46. package/lib/commands/action-flows/action-flow/action-flow.service.d.ts +1 -0
  47. package/lib/commands/asset-registry/asset-registry-api.d.ts +2 -6
  48. package/lib/commands/asset-registry/asset-registry.interfaces.d.ts +0 -17
  49. package/lib/commands/asset-registry/asset-registry.service.d.ts +3 -6
  50. package/lib/commands/asset-registry/module.d.ts +0 -2
  51. package/lib/commands/bookmarks/bookmarks-api.d.ts +8 -0
  52. package/lib/commands/bookmarks/bookmarks-command.service.d.ts +8 -0
  53. package/lib/commands/bookmarks/bookmarks.interfaces.d.ts +34 -0
  54. package/lib/commands/bookmarks/module.d.ts +8 -0
  55. package/lib/commands/configuration-management/api/node-api.d.ts +1 -0
  56. package/lib/commands/configuration-management/branch/api/branch.api.d.ts +12 -0
  57. package/lib/commands/configuration-management/branch/branch-export-import.command.service.d.ts +37 -0
  58. package/lib/commands/configuration-management/branch/branch.command.service.d.ts +19 -0
  59. package/lib/commands/configuration-management/branch/interfaces/branch.interfaces.d.ts +139 -0
  60. package/lib/commands/configuration-management/interfaces/package-validation.interfaces.d.ts +1 -1
  61. package/lib/commands/configuration-management/metadata.service.d.ts +1 -0
  62. package/lib/commands/configuration-management/module.d.ts +8 -0
  63. package/lib/commands/configuration-management/node-dependency.service.d.ts +1 -0
  64. package/lib/commands/configuration-management/node-diff.service.d.ts +1 -0
  65. package/lib/commands/configuration-management/node.service.d.ts +2 -1
  66. package/lib/commands/configuration-management/package-validation.service.d.ts +1 -0
  67. package/lib/commands/configuration-management/package-version.service.d.ts +1 -0
  68. package/lib/commands/configuration-management/single-package-export.service.d.ts +1 -0
  69. package/lib/commands/configuration-management/single-package-import.service.d.ts +6 -3
  70. package/lib/commands/configuration-management/staging-package.service.d.ts +1 -0
  71. package/lib/commands/configuration-management/variable.service.d.ts +1 -0
  72. package/lib/commands/data-pipeline/data-pool/data-pool-service.d.ts +1 -0
  73. package/lib/commands/deployment/deployment.service.d.ts +1 -0
  74. package/lib/commands/studio/service/asset-service.d.ts +1 -0
  75. package/lib/commands/studio/service/package.service.d.ts +1 -0
  76. package/lib/commands/t2tc/diff.service.d.ts +1 -0
  77. package/lib/commands/t2tc/t2tc-package.service.d.ts +1 -0
  78. package/lib/core/command/module-handler.d.ts +4 -4
  79. package/lib/core/feature-flag/feature-disabled-error.d.ts +16 -0
  80. package/lib/core/http/http-client.d.ts +4 -0
  81. package/lib/core/http/http-shared/base.manager.d.ts +7 -5
  82. package/lib/core/http/http-shared/manager-config.interface.d.ts +1 -1
  83. package/lib/core/utils/branches.d.ts +3 -0
  84. package/lib/core/utils/cui-api.d.ts +26 -0
  85. package/lib/core/utils/cui-file-service.d.ts +19 -0
  86. package/lib/core/utils/file-service.d.ts +0 -1
  87. package/package.json +3 -3
  88. package/lib/core/utils/path.d.ts +0 -1
@@ -29,13 +29,6 @@
29
29
  mode: file_constants_1.FileConstants.DEFAULT_FILE_PERMISSIONS,
30
30
  });
31
31
  }
32
- writeBufferToPath(targetDir, filename, data) {
33
- const resolvedDir = path.resolve(process.cwd(), targetDir);
34
- const absolutePath = path.join(resolvedDir, filename);
35
- this.mkdirRecursive(resolvedDir);
36
- this.writeBufferToFileWithGivenName(data, absolutePath);
37
- return absolutePath;
38
- }
39
32
  extractZipBufferToDirectory(data, targetDir) {
40
33
  const targetPath = path.resolve(process.cwd(), targetDir);
41
34
  this.mkdirRecursive(targetPath);
@@ -64,11 +57,12 @@
64
57
  return this.extractExportedZipWithNestedZipsToDir(zipFile, tempDir);
65
58
  }
66
59
  extractExportedZipWithNestedZipsToDir(zipFile, targetDir) {
67
- this.mkdirRecursive(targetDir);
68
- zipFile.extractAllTo(targetDir, true, true);
69
- const files = fs.readdirSync(targetDir);
60
+ const targetPath = path.resolve(process.cwd(), targetDir);
61
+ this.mkdirRecursive(targetPath);
62
+ zipFile.extractAllTo(targetPath, true, true);
63
+ const files = fs.readdirSync(targetPath);
70
64
  for (const file of files) {
71
- const innerZipPath = path.join(targetDir, file);
65
+ const innerZipPath = path.join(targetPath, file);
72
66
  if (file.endsWith(".zip")) {
73
67
  const nestedZip = new AdmZip(innerZipPath);
74
68
  const nestedDir = innerZipPath.replace(/\.zip$/, "");
@@ -77,8 +71,8 @@
77
71
  fs.rmSync(innerZipPath); // Optionally remove the inner zip
78
72
  }
79
73
  }
80
- this.restrictFilePermissions(targetDir);
81
- return targetDir;
74
+ this.restrictFilePermissions(targetPath);
75
+ return targetPath;
82
76
  }
83
77
  isDirectory(sourcePath) {
84
78
  var _a;
@@ -2,6 +2,7 @@ import { Context } from "../../../core/command/cli-context";
2
2
  export declare class ActionFlowService {
3
3
  static readonly METADATA_FILE_NAME = "metadata.json";
4
4
  private actionFlowApi;
5
+ private readonly cuiFileService;
5
6
  constructor(context: Context);
6
7
  exportActionFlows(packageId: string, metadataFilePath: string): Promise<void>;
7
8
  analyzeActionFlows(packageId: string, outputToJsonFile: boolean): Promise<void>;
@@ -1,17 +1,13 @@
1
- /// <reference types="node" />
2
1
  import { Context } from "../../core/command/cli-context";
3
- import { AgentSkillsResponse, AssetRegistryDescriptor, AssetRegistryMetadata } from "./asset-registry.interfaces";
2
+ import { AssetRegistryDescriptor, AssetRegistryMetadata } from "./asset-registry.interfaces";
4
3
  export declare class AssetRegistryApi {
5
4
  private static readonly BASE_URL;
6
- private httpClient;
5
+ private readonly httpClient;
7
6
  constructor(context: Context);
8
7
  listTypes(): Promise<AssetRegistryMetadata>;
9
- listSkills(): Promise<AgentSkillsResponse>;
10
8
  getType(assetType: string): Promise<AssetRegistryDescriptor>;
11
9
  getSchema(assetType: string): Promise<any>;
12
10
  getExamples(assetType: string): Promise<any>;
13
11
  validate(assetType: string, body: any): Promise<any>;
14
- getSkillFile(skillPath: string, filePath?: string): Promise<Buffer>;
15
- private buildSkillFileUrl;
16
12
  private static endpointUrl;
17
13
  }
@@ -36,20 +36,3 @@ export interface ValidateOptions {
36
36
  file?: string;
37
37
  json: boolean;
38
38
  }
39
- export interface AgentSkillMetadata {
40
- version: string;
41
- }
42
- export interface AgentSkill {
43
- name: string;
44
- description: string;
45
- path: string;
46
- metadata: AgentSkillMetadata;
47
- }
48
- export interface AgentSkillsResponse {
49
- skills: AgentSkill[];
50
- }
51
- export interface GetSkillFileOptions {
52
- path: string;
53
- file?: string;
54
- output?: string;
55
- }
@@ -1,12 +1,10 @@
1
- import { GetSkillFileOptions, ValidateOptions } from "./asset-registry.interfaces";
1
+ import { ValidateOptions } from "./asset-registry.interfaces";
2
2
  import { Context } from "../../core/command/cli-context";
3
3
  export declare class AssetRegistryService {
4
- private api;
4
+ private readonly api;
5
+ private readonly cuiFileService;
5
6
  constructor(context: Context);
6
7
  listTypes(jsonResponse: boolean): Promise<void>;
7
- getSkillFile(opts: GetSkillFileOptions): Promise<void>;
8
- private resolveLocalFilename;
9
- listSkills(jsonResponse: boolean): Promise<void>;
10
8
  getType(assetType: string, jsonResponse: boolean): Promise<void>;
11
9
  getSchema(assetType: string, jsonResponse: boolean): Promise<void>;
12
10
  getExamples(assetType: string, jsonResponse: boolean): Promise<void>;
@@ -16,6 +14,5 @@ export declare class AssetRegistryService {
16
14
  private parseJson;
17
15
  private outputResponse;
18
16
  private logDescriptorSummary;
19
- private logSkillSummary;
20
17
  private logDescriptorDetail;
21
18
  }
@@ -7,7 +7,5 @@ declare class Module extends IModule {
7
7
  private getSchema;
8
8
  private validate;
9
9
  private getExamples;
10
- private listSkills;
11
- private getSkillFile;
12
10
  }
13
11
  export = Module;
@@ -0,0 +1,8 @@
1
+ import { Context } from "../../core/command/cli-context";
2
+ import { BookmarksExport, BookmarksImportRequest, BookmarksImportResult } from "./bookmarks.interfaces";
3
+ export declare class BookmarksApi {
4
+ private readonly httpClient;
5
+ constructor(context: Context);
6
+ exportBookmarks(packageKey: string): Promise<BookmarksExport>;
7
+ importBookmarks(packageKey: string, payload: BookmarksImportRequest): Promise<BookmarksImportResult>;
8
+ }
@@ -0,0 +1,8 @@
1
+ import { Context } from "../../core/command/cli-context";
2
+ export declare class BookmarksCommandService {
3
+ private readonly bookmarksApi;
4
+ private readonly cuiFileService;
5
+ constructor(context: Context);
6
+ exportBookmarks(packageKey: string, file?: string): Promise<void>;
7
+ importBookmarks(packageKey: string, file: string): Promise<void>;
8
+ }
@@ -0,0 +1,34 @@
1
+ export interface BookmarkEntry {
2
+ assetKey: string;
3
+ assetType: string;
4
+ bookmark: BookmarkDetails;
5
+ preference: BookmarkPreference;
6
+ }
7
+ export interface BookmarkDetails {
8
+ name: string;
9
+ ownerId: string;
10
+ sharedByLink: boolean;
11
+ published: boolean;
12
+ }
13
+ export interface BookmarkPreference {
14
+ configuration: string;
15
+ shareable: boolean;
16
+ mode: string;
17
+ userId: string;
18
+ }
19
+ export interface BookmarksExport {
20
+ packageKey: string;
21
+ entries: BookmarkEntry[];
22
+ }
23
+ export interface BookmarksImportRequest {
24
+ entries: BookmarkEntry[];
25
+ }
26
+ export interface BookmarksImportResultEntry {
27
+ assetKey: string;
28
+ status: string;
29
+ reason: string | null;
30
+ }
31
+ export interface BookmarksImportResult {
32
+ packageKey: string;
33
+ entries: BookmarksImportResultEntry[];
34
+ }
@@ -0,0 +1,8 @@
1
+ import { Configurator, IModule } from "../../core/command/module-handler";
2
+ import { Context } from "../../core/command/cli-context";
3
+ declare class Module extends IModule {
4
+ register(context: Context, configurator: Configurator): void;
5
+ private exportBookmarks;
6
+ private importBookmarks;
7
+ }
8
+ export = Module;
@@ -8,5 +8,6 @@ export declare class NodeApi {
8
8
  createStagingNode(packageKey: string, transport: SaveNodeTransport, validateOnly: boolean): Promise<NodeTransport | void>;
9
9
  updateStagingNode(packageKey: string, nodeKey: string, transport: UpdateNodeTransport, validateOnly: boolean): Promise<NodeTransport | void>;
10
10
  archiveStagingNode(packageKey: string, nodeKey: string, force: boolean): Promise<void>;
11
+ findStagingNodesByPackage(packageKey: string, withConfiguration: boolean, limit: number, offset: number): Promise<NodeTransport[]>;
11
12
  findVersionedNodesByPackage(packageKey: string, version: string, withConfiguration: boolean, limit: number, offset: number): Promise<NodeTransport[]>;
12
13
  }
@@ -0,0 +1,12 @@
1
+ import { Context } from "../../../../core/command/cli-context";
2
+ import { BranchingSettingsTransport, BranchTransport, CreateBranchTransport, MergeBranchTransport, MergePreviewRequestTransport, MergePreviewTransport, PackageVersionCreatedTransport } from "../interfaces/branch.interfaces";
3
+ export declare class BranchApi {
4
+ private readonly httpClient;
5
+ constructor(context: Context);
6
+ configureBranchingSettings(packageKey: string, transport: BranchingSettingsTransport): Promise<BranchingSettingsTransport>;
7
+ createBranch(packageKey: string, transport: CreateBranchTransport, validate?: boolean): Promise<BranchTransport | void>;
8
+ listBranches(packageKey: string): Promise<BranchTransport[]>;
9
+ mergePreview(packageKey: string, transport: MergePreviewRequestTransport): Promise<MergePreviewTransport>;
10
+ merge(packageKey: string, transport: MergeBranchTransport): Promise<PackageVersionCreatedTransport>;
11
+ deleteBranch(branchPackageKey: string): Promise<void>;
12
+ }
@@ -0,0 +1,37 @@
1
+ import { Context } from "../../../core/command/cli-context";
2
+ export interface BranchExportOptions {
3
+ zip?: boolean;
4
+ gitEnabled?: boolean;
5
+ jsonResponse?: boolean;
6
+ }
7
+ export interface BranchImportOptions {
8
+ file?: string;
9
+ directory?: string;
10
+ overwrite?: boolean;
11
+ gitEnabled?: boolean;
12
+ jsonResponse?: boolean;
13
+ }
14
+ export declare class BranchExportImportCommandService {
15
+ private readonly singlePackageExportApi;
16
+ private readonly singlePackageImportApi;
17
+ private readonly branchApi;
18
+ private readonly gitService;
19
+ private readonly cuiFileService;
20
+ constructor(context: Context);
21
+ exportBranch(packageKey: string, branchKey: string, options?: BranchExportOptions): Promise<void>;
22
+ exportAll(packageKey: string, jsonResponse?: boolean): Promise<void>;
23
+ importBranch(packageKey: string, branchKey: string, options?: BranchImportOptions): Promise<void>;
24
+ private pushBranchToGit;
25
+ private pushMainPackage;
26
+ private exportRewrittenPackageDir;
27
+ private writeLocalArtifact;
28
+ private prepareLocalWorkingDir;
29
+ private importPackageSourceDir;
30
+ private normalizeToProjectKey;
31
+ private restoreBranchKey;
32
+ private replaceFieldValue;
33
+ private escapeRegExp;
34
+ private removeDir;
35
+ private static isExportableBranch;
36
+ private writeJson;
37
+ }
@@ -0,0 +1,19 @@
1
+ import { Context } from "../../../core/command/cli-context";
2
+ import { BranchTransport, BranchingSettingsTransport, MergeApplyOptions, MergePreviewTransport, PackageVersionCreatedTransport } from "./interfaces/branch.interfaces";
3
+ export declare class BranchCommandService {
4
+ private readonly branchApi;
5
+ private readonly cuiFileService;
6
+ constructor(context: Context);
7
+ setBranchingEnabled(packageKey: string, enabled: boolean, jsonResponse: boolean): Promise<BranchingSettingsTransport>;
8
+ createBranch(packageKey: string, branchKey: string, sourceVersion: string, validate: boolean, jsonResponse: boolean): Promise<BranchTransport | void>;
9
+ listBranches(packageKey: string, jsonResponse: boolean): Promise<BranchTransport[]>;
10
+ deleteBranch(packageKey: string, branchKey: string): Promise<void>;
11
+ mergePreview(targetPackageKey: string, sourceKey: string, sourceVersion: string, jsonResponse: boolean): Promise<MergePreviewTransport>;
12
+ mergeApply(targetPackageKey: string, options: MergeApplyOptions): Promise<PackageVersionCreatedTransport>;
13
+ private static buildVersionCreate;
14
+ private writeJson;
15
+ private static printBranch;
16
+ private static printPreviewSummary;
17
+ private static countConflictPaths;
18
+ private static isInConflict;
19
+ }
@@ -0,0 +1,139 @@
1
+ export declare enum MergeResolution {
2
+ CUSTOM = "CUSTOM",
3
+ ACCEPT_SOURCE = "ACCEPT_SOURCE",
4
+ ACCEPT_TARGET = "ACCEPT_TARGET"
5
+ }
6
+ export declare enum MergeStatus {
7
+ UNKNOWN = "UNKNOWN",
8
+ UNCHANGED = "UNCHANGED",
9
+ SOURCE_ONLY = "SOURCE_ONLY",
10
+ TARGET_ONLY = "TARGET_ONLY",
11
+ AUTO_MERGE = "AUTO_MERGE",
12
+ CONFLICT = "CONFLICT"
13
+ }
14
+ export declare enum ChangeType {
15
+ UNKNOWN = "UNKNOWN",
16
+ ADDED = "ADDED",
17
+ DELETED = "DELETED",
18
+ CHANGED = "CHANGED",
19
+ UNCHANGED = "UNCHANGED"
20
+ }
21
+ export declare enum VersionBumpOption {
22
+ NONE = "NONE",
23
+ PATCH = "PATCH"
24
+ }
25
+ export interface BranchingSettingsTransport {
26
+ branchingEnabled: boolean;
27
+ }
28
+ export interface CreateBranchTransport {
29
+ branchKey: string;
30
+ version: string;
31
+ }
32
+ export interface BranchTransport {
33
+ projectKey: string;
34
+ branchKey: string;
35
+ sourcePackageKey: string;
36
+ sourceVersion: string;
37
+ packageKey: string;
38
+ packageId?: string;
39
+ }
40
+ export interface ConfigurationChangeTransport {
41
+ op: string;
42
+ path: string;
43
+ from?: string;
44
+ value?: unknown;
45
+ fromValue?: unknown;
46
+ }
47
+ export interface MergePackageResolutionTransport {
48
+ resolution: MergeResolution;
49
+ customConfigurationChanges?: ConfigurationChangeTransport[];
50
+ customMetadataChanges?: ConfigurationChangeTransport[];
51
+ }
52
+ export interface MergeNodeResolutionTransport {
53
+ nodeKey: string;
54
+ resolution: MergeResolution;
55
+ customConfigurationChanges?: ConfigurationChangeTransport[];
56
+ customMetadataChanges?: ConfigurationChangeTransport[];
57
+ }
58
+ export interface NodeFilterTransport {
59
+ nodeKeys?: string[];
60
+ }
61
+ export interface SavePackageVersionTransport {
62
+ version?: string | null;
63
+ versionBumpOption?: VersionBumpOption;
64
+ summaryOfChanges?: string;
65
+ nodeFilter?: NodeFilterTransport | null;
66
+ }
67
+ export interface MergePreviewRequestTransport {
68
+ sourceKey: string;
69
+ sourceVersion: string;
70
+ }
71
+ export interface MergeBranchTransport {
72
+ sourceKey: string;
73
+ sourceVersion: string;
74
+ resolvedPackageConflict?: MergePackageResolutionTransport | null;
75
+ resolvedNodeConflicts?: MergeNodeResolutionTransport[];
76
+ versionCreate: SavePackageVersionTransport;
77
+ }
78
+ export interface MergePathConflictTransport {
79
+ path: string;
80
+ sourceChange: ConfigurationChangeTransport;
81
+ targetChange: ConfigurationChangeTransport;
82
+ }
83
+ export interface MergeDiffDetailTransport {
84
+ status: MergeStatus;
85
+ sourceChanges: ConfigurationChangeTransport[];
86
+ targetChanges: ConfigurationChangeTransport[];
87
+ conflicts: MergePathConflictTransport[];
88
+ autoMergedChanges: ConfigurationChangeTransport[];
89
+ }
90
+ export interface MergeDiffTransport {
91
+ configuration: MergeDiffDetailTransport;
92
+ metadata: MergeDiffDetailTransport;
93
+ }
94
+ export interface MergePreviewPackageTransport {
95
+ sourceChange: ChangeType;
96
+ targetChange: ChangeType;
97
+ changeDate: string;
98
+ updatedBy: string;
99
+ changes: MergeDiffTransport;
100
+ }
101
+ export interface MergePreviewNodeTransport {
102
+ nodeKey: string;
103
+ name: string;
104
+ type: string;
105
+ parentNodeKey?: string;
106
+ invalidContent: boolean;
107
+ sourceChange: ChangeType;
108
+ targetChange: ChangeType;
109
+ changeDate: string;
110
+ updatedBy: string;
111
+ changes: MergeDiffTransport;
112
+ }
113
+ export interface MergePreviewTransport {
114
+ commonPackageKey: string;
115
+ commonVersion: string;
116
+ packageChanges: MergePreviewPackageTransport;
117
+ nodeChanges: MergePreviewNodeTransport[];
118
+ }
119
+ export interface PackageVersionCreatedTransport {
120
+ packageKey: string;
121
+ version: string;
122
+ summaryOfChanges?: string;
123
+ creationDate: string;
124
+ createdBy: string;
125
+ }
126
+ export interface MergeApplyOptions {
127
+ sourceKey?: string;
128
+ sourceVersion?: string;
129
+ file?: string;
130
+ bump?: string;
131
+ version?: string;
132
+ summary?: string;
133
+ jsonResponse?: boolean;
134
+ }
135
+ export interface BranchSyncSummary {
136
+ packageKey: string;
137
+ branchName: string;
138
+ synced?: string[];
139
+ }
@@ -1,5 +1,5 @@
1
1
  export interface PackageValidationRequest {
2
- layers: string[];
2
+ layers?: string[];
3
3
  nodeKeys?: string[];
4
4
  }
5
5
  export interface SchemaValidationResponse {
@@ -1,6 +1,7 @@
1
1
  import { Context } from "../../core/command/cli-context";
2
2
  export declare class MetadataService {
3
3
  private metadataApi;
4
+ private readonly cuiFileService;
4
5
  constructor(context: Context);
5
6
  exportPackagesMetadata(packageKeys: string[], jsonResponse: boolean): Promise<void>;
6
7
  private exportListOfPackagesMetadata;
@@ -5,6 +5,14 @@ import { Configurator, IModule } from "../../core/command/module-handler";
5
5
  import { Context } from "../../core/command/cli-context";
6
6
  declare class Module extends IModule {
7
7
  register(context: Context, configurator: Configurator): void;
8
+ private setBranchSettings;
9
+ private createBranch;
10
+ private listBranches;
11
+ private deleteBranch;
12
+ private previewBranchMerge;
13
+ private applyBranchMerge;
14
+ private exportBranch;
15
+ private importBranch;
8
16
  private listPackages;
9
17
  private listStagingPackages;
10
18
  private batchExportPackages;
@@ -1,6 +1,7 @@
1
1
  import { Context } from "../../core/command/cli-context";
2
2
  export declare class NodeDependencyService {
3
3
  private readonly nodeDependencyApi;
4
+ private readonly cuiFileService;
4
5
  constructor(context: Context);
5
6
  listNodeDependencies(packageKey: string, nodeKey: string, version: string, jsonResponse: boolean): Promise<void>;
6
7
  }
@@ -1,6 +1,7 @@
1
1
  import { Context } from "../../core/command/cli-context";
2
2
  export declare class NodeDiffService {
3
3
  private nodeDiffApi;
4
+ private readonly cuiFileService;
4
5
  constructor(context: Context);
5
6
  diff(packageKey: string, nodeKey: string, baseVersion: string, compareVersion: string, jsonResponse: boolean): Promise<void>;
6
7
  diffWithFile(packageKey: string, nodeKey: string, baseVersion: string, file: string, jsonResponse: boolean): Promise<void>;
@@ -1,9 +1,10 @@
1
1
  import { Context } from "../../core/command/cli-context";
2
2
  export declare class NodeService {
3
3
  private nodeApi;
4
+ private readonly cuiFileService;
4
5
  constructor(context: Context);
5
6
  findNode(packageKey: string, nodeKey: string, withConfiguration: boolean, packageVersion: string | null, jsonResponse: boolean): Promise<void>;
6
- listNodes(packageKey: string, packageVersion: string, limit: number, offset: number, withConfiguration: boolean, jsonResponse: boolean): Promise<void>;
7
+ listNodes(packageKey: string, packageVersion: string | null, limit: number, offset: number, withConfiguration: boolean, jsonResponse: boolean): Promise<void>;
7
8
  createNode(packageKey: string, body: string | undefined, file: string | undefined, validateOnly: boolean, jsonResponse: boolean): Promise<void>;
8
9
  updateNode(packageKey: string, nodeKey: string, body: string | undefined, file: string | undefined, validateOnly: boolean, jsonResponse: boolean): Promise<void>;
9
10
  archiveNode(packageKey: string, nodeKey: string, force: boolean): Promise<void>;
@@ -1,6 +1,7 @@
1
1
  import { Context } from "../../core/command/cli-context";
2
2
  export declare class PackageValidationService {
3
3
  private packageValidationApi;
4
+ private readonly cuiFileService;
4
5
  constructor(context: Context);
5
6
  validatePackage(packageKey: string, layers: string[], nodeKeys: string[], jsonOutput: boolean): Promise<void>;
6
7
  private printValidationResult;
@@ -1,6 +1,7 @@
1
1
  import { Context } from "../../core/command/cli-context";
2
2
  export declare class PackageVersionService {
3
3
  private packageVersionApi;
4
+ private readonly cuiFileService;
4
5
  constructor(context: Context);
5
6
  findPackageVersion(packageKey: string, version: string, jsonResponse: boolean): Promise<void>;
6
7
  createPackageVersion(packageKey: string, version: string | undefined, versionBumpOption: string, summaryOfChanges: string | undefined, nodeFilterKeys: string[] | undefined, jsonResponse: boolean): Promise<void>;
@@ -2,6 +2,7 @@ import { Context } from "../../core/command/cli-context";
2
2
  export declare class SinglePackageExportService {
3
3
  private readonly singlePackageExportApi;
4
4
  private readonly gitService;
5
+ private readonly cuiFileService;
5
6
  constructor(context: Context);
6
7
  exportPackage(packageKey: string, zip: boolean, gitBranch: string): Promise<void>;
7
8
  private exportToGitBranch;
@@ -1,13 +1,16 @@
1
+ import * as FormData from "form-data";
2
+ import * as AdmZip from "adm-zip";
1
3
  import { Context } from "../../core/command/cli-context";
2
4
  export declare class SinglePackageImportService {
3
5
  private static readonly MAX_UNCOMPRESSED_ZIP_SIZE;
4
6
  private readonly singlePackageImportApi;
5
7
  private readonly gitService;
8
+ private readonly cuiFileService;
6
9
  constructor(context: Context);
7
10
  importPackage(file: string, directory: string, overwrite: boolean, jsonResponse: boolean, gitBranch: string): Promise<void>;
8
11
  private resolveSource;
9
- private buildBodyForImport;
10
- private assertUncompressedSizeWithinLimit;
11
- private getReadableStream;
12
+ static buildBodyForImport(packageZip: AdmZip, sourcePath: string): FormData;
13
+ static assertUncompressedSizeWithinLimit(packageZip: AdmZip, sourcePath: string): void;
14
+ private static getReadableStream;
12
15
  private outputResult;
13
16
  }
@@ -1,6 +1,7 @@
1
1
  import { Context } from "../../core/command/cli-context";
2
2
  export declare class StagingPackageService {
3
3
  private stagingPackageApi;
4
+ private readonly cuiFileService;
4
5
  constructor(context: Context);
5
6
  listStagingPackages(flavors: string[], includeBranches: boolean, jsonResponse: boolean): Promise<void>;
6
7
  private exportListOfPackages;
@@ -3,6 +3,7 @@ export declare class VariableService {
3
3
  private variableApi;
4
4
  private variableAssignmentCandidatesApi;
5
5
  private readonly stagingPackageVariablesApi;
6
+ private readonly cuiFileService;
6
7
  constructor(context: Context);
7
8
  listVariables(keysByVersion: string[], keysByVersionFile: string): Promise<void>;
8
9
  listCandidateAssignments(type: string, params: string): Promise<void>;
@@ -1,6 +1,7 @@
1
1
  import { Context } from "../../../core/command/cli-context";
2
2
  export declare class DataPoolService {
3
3
  private dataPoolApi;
4
+ private readonly cuiFileService;
4
5
  constructor(context: Context);
5
6
  batchImportDataPools(requestFilePath: string, outputToJsonFile: boolean): Promise<void>;
6
7
  exportDataPool(poolId: string, outputToJsonFile: boolean): Promise<void>;
@@ -1,6 +1,7 @@
1
1
  import { Context } from "../../core/command/cli-context";
2
2
  export declare class DeploymentService {
3
3
  private deploymentApi;
4
+ private readonly cuiFileService;
4
5
  constructor(context: Context);
5
6
  createDeployment(packageKey: string, packageVersion: string, deployableType: string, targetId: string, jsonResponse: boolean): Promise<void>;
6
7
  getDeployments(jsonResponse: boolean, packageKey?: string, targetId?: string, deployableType?: string, status?: string, createdBy?: string, limit?: string, offset?: string): Promise<void>;
@@ -2,6 +2,7 @@ import { Context } from "../../../core/command/cli-context";
2
2
  export declare class AssetService {
3
3
  protected readonly fileDownloadedMessage = "File downloaded successfully. New filename: ";
4
4
  private assetApi;
5
+ private readonly cuiFileService;
5
6
  constructor(context: Context);
6
7
  listAssets(assetType: string): Promise<void>;
7
8
  findAndExportAllAssets(assetType: string): Promise<void>;
@@ -7,6 +7,7 @@ export declare class PackageService {
7
7
  private packageDependenciesApi;
8
8
  private dataModelService;
9
9
  private variableService;
10
+ private readonly cuiFileService;
10
11
  constructor(context: Context);
11
12
  listPackages(): Promise<void>;
12
13
  findAndExportListOfAllPackages(includeDependencies: boolean, packageKeys: string[]): Promise<void>;
@@ -1,6 +1,7 @@
1
1
  import { Context } from "../../core/command/cli-context";
2
2
  export declare class DiffService {
3
3
  private diffApi;
4
+ private readonly cuiFileService;
4
5
  constructor(context: Context);
5
6
  diffPackages(file: string, hasChanges: boolean, baseVersion: string, jsonResponse: boolean): Promise<void>;
6
7
  private hasChanges;
@@ -5,6 +5,7 @@ export declare class T2tcPackageService {
5
5
  private studioPackageApi;
6
6
  private studioService;
7
7
  private gitService;
8
+ private readonly cuiFileService;
8
9
  constructor(context: Context);
9
10
  listActivePackages(flavors: string[], includeBranches: boolean): Promise<void>;
10
11
  findAndExportListOfPackages(flavors: string[], packageKeys: string[], keysByVersion: string[], withDependencies: boolean, includeBranches: boolean): Promise<void>;
@@ -24,8 +24,8 @@ type CommandHandler = (context: Context, command: Command, options: OptionValues
24
24
  * Allows the creation of root level commands.
25
25
  */
26
26
  export declare class Configurator {
27
- private program;
28
- private ctx;
27
+ private readonly program;
28
+ private readonly ctx;
29
29
  rootCommandMap: Map<string, CommandConfig>;
30
30
  constructor(program: Command, ctx: Context);
31
31
  /**
@@ -40,8 +40,8 @@ export declare class Configurator {
40
40
  * executed.
41
41
  */
42
42
  export declare class CommandConfig {
43
- private cmd;
44
- private ctx;
43
+ private readonly cmd;
44
+ private readonly ctx;
45
45
  private deprecationMessage;
46
46
  constructor(cmd: Command, ctx: Context);
47
47
  command(nameAndArgs: string, opts?: CommandOptions): CommandConfig;
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Recognizes the backend's "feature not enabled" response so the CLI can surface a
3
+ * clear message instead of a raw error. Enforcement stays entirely in the backend
4
+ * (pacman); the CLI only translates the response — it never decides entitlement.
5
+ *
6
+ * The backend rejects a flag-gated request with 403 and a machine-readable body:
7
+ * {"errorCode":"feature-disabled", ...} (pacman's standard ErrorTransport). Keying
8
+ * off the stable code (rather than a free-text message) keeps this robust.
9
+ */
10
+ export declare const FEATURE_DISABLED_CODE = "feature-disabled";
11
+ /**
12
+ * True when the given error represents a backend "feature disabled" rejection.
13
+ * HttpClient rejects with the stringified response body (often wrapped as
14
+ * "FatalError: {json}"), so we extract and parse the embedded JSON payload.
15
+ */
16
+ export declare function isFeatureDisabledError(error: unknown): boolean;
@@ -9,6 +9,10 @@ export declare class HttpClient {
9
9
  private axios;
10
10
  constructor(context: Context);
11
11
  get(url: string): Promise<any>;
12
+ getStatusAndData(url: string): Promise<{
13
+ status: number;
14
+ data: any;
15
+ }>;
12
16
  getFile(url: string): Promise<any>;
13
17
  postFile(url: string, formData: FormData, parameters?: {}): Promise<any>;
14
18
  post(url: string, body: any): Promise<any>;