@celonis/content-cli 1.10.0 → 1.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/commands/asset-registry/asset-registry-api.js +14 -26
- package/commands/asset-registry/asset-registry-error.js +57 -0
- package/commands/asset-registry/asset-registry.service.js +38 -10
- package/commands/asset-registry/module.js +7 -6
- package/commands/configuration-management/api/batch-import-export-api.js +14 -2
- package/commands/configuration-management/api/node-diff-api.js +15 -1
- package/commands/configuration-management/batch-import-export.service.js +21 -8
- package/commands/configuration-management/config-command.service.js +12 -10
- package/commands/configuration-management/module.js +19 -5
- package/commands/configuration-management/node-diff.service.js +40 -17
- package/commands/configuration-management/studio.service.js +3 -2
- package/core/utils/branches.js +23 -0
- package/lib/commands/asset-registry/asset-registry-api.d.ts +2 -2
- package/lib/commands/asset-registry/asset-registry-error.d.ts +3 -0
- package/lib/commands/asset-registry/asset-registry.interfaces.d.ts +13 -1
- package/lib/commands/asset-registry/asset-registry.service.d.ts +2 -1
- package/lib/commands/asset-registry/module.d.ts +1 -1
- package/lib/commands/configuration-management/api/batch-import-export-api.d.ts +3 -2
- package/lib/commands/configuration-management/api/node-diff-api.d.ts +2 -1
- package/lib/commands/configuration-management/batch-import-export.service.d.ts +5 -4
- package/lib/commands/configuration-management/config-command.service.d.ts +1 -1
- package/lib/commands/configuration-management/interfaces/node-diff.interfaces.d.ts +8 -0
- package/lib/commands/configuration-management/node-diff.service.d.ts +3 -0
- package/lib/core/utils/branches.d.ts +4 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -168,5 +168,5 @@ For details on command development, refer to the [How to Add a Command](https://
|
|
|
168
168
|
|
|
169
169
|
Copyright (c) 2021 Celonis SE
|
|
170
170
|
|
|
171
|
-
This project is licensed under the MIT License -
|
|
171
|
+
This project is licensed under the MIT License -
|
|
172
172
|
see [LICENSE](https://github.com/celonis/content-cli/blob/main/LICENSE) file for details.
|
|
@@ -13,13 +13,13 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
13
13
|
if (v !== undefined) module.exports = v;
|
|
14
14
|
}
|
|
15
15
|
else if (typeof define === "function" && define.amd) {
|
|
16
|
-
define(["require", "exports", "
|
|
16
|
+
define(["require", "exports", "./asset-registry-error"], factory);
|
|
17
17
|
}
|
|
18
18
|
})(function (require, exports) {
|
|
19
19
|
"use strict";
|
|
20
20
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
21
|
exports.AssetRegistryApi = void 0;
|
|
22
|
-
const
|
|
22
|
+
const asset_registry_error_1 = require("./asset-registry-error");
|
|
23
23
|
class AssetRegistryApi {
|
|
24
24
|
constructor(context) {
|
|
25
25
|
this.httpClient = () => context.httpClient;
|
|
@@ -28,54 +28,42 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
28
28
|
return __awaiter(this, void 0, void 0, function* () {
|
|
29
29
|
return this.httpClient()
|
|
30
30
|
.get("/pacman/api/core/asset-registry/types")
|
|
31
|
-
.catch((e) =>
|
|
32
|
-
|
|
33
|
-
|
|
31
|
+
.catch((e) => (0, asset_registry_error_1.handleAssetRegistryApiError)("listing asset registry types", e));
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
listSkills() {
|
|
35
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
36
|
+
return this.httpClient()
|
|
37
|
+
.get("/pacman/api/core/asset-registry/skills")
|
|
38
|
+
.catch((e) => (0, asset_registry_error_1.handleAssetRegistryApiError)("listing asset registry skills", e));
|
|
34
39
|
});
|
|
35
40
|
}
|
|
36
41
|
getType(assetType) {
|
|
37
42
|
return __awaiter(this, void 0, void 0, function* () {
|
|
38
43
|
return this.httpClient()
|
|
39
44
|
.get(`/pacman/api/core/asset-registry/types/${encodeURIComponent(assetType)}`)
|
|
40
|
-
.catch((e) => {
|
|
41
|
-
throw new logger_1.FatalError(`Problem getting asset type '${assetType}': ${e}`);
|
|
42
|
-
});
|
|
45
|
+
.catch((e) => (0, asset_registry_error_1.handleAssetRegistryApiError)(`getting asset type '${assetType}'`, e));
|
|
43
46
|
});
|
|
44
47
|
}
|
|
45
48
|
getSchema(assetType) {
|
|
46
49
|
return __awaiter(this, void 0, void 0, function* () {
|
|
47
50
|
return this.httpClient()
|
|
48
51
|
.get(`/pacman/api/core/asset-registry/schemas/${encodeURIComponent(assetType)}`)
|
|
49
|
-
.catch((e) => {
|
|
50
|
-
throw new logger_1.FatalError(`Problem getting schema for asset type '${assetType}': ${e}`);
|
|
51
|
-
});
|
|
52
|
+
.catch((e) => (0, asset_registry_error_1.handleAssetRegistryApiError)(`getting schema for asset type '${assetType}'`, e));
|
|
52
53
|
});
|
|
53
54
|
}
|
|
54
55
|
getExamples(assetType) {
|
|
55
56
|
return __awaiter(this, void 0, void 0, function* () {
|
|
56
57
|
return this.httpClient()
|
|
57
58
|
.get(`/pacman/api/core/asset-registry/examples/${encodeURIComponent(assetType)}`)
|
|
58
|
-
.catch((e) => {
|
|
59
|
-
throw new logger_1.FatalError(`Problem getting examples for asset type '${assetType}': ${e}`);
|
|
60
|
-
});
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
getMethodology(assetType) {
|
|
64
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
65
|
-
return this.httpClient()
|
|
66
|
-
.get(`/pacman/api/core/asset-registry/methodologies/${encodeURIComponent(assetType)}`)
|
|
67
|
-
.catch((e) => {
|
|
68
|
-
throw new logger_1.FatalError(`Problem getting methodology for asset type '${assetType}': ${e}`);
|
|
69
|
-
});
|
|
59
|
+
.catch((e) => (0, asset_registry_error_1.handleAssetRegistryApiError)(`getting examples for asset type '${assetType}'`, e));
|
|
70
60
|
});
|
|
71
61
|
}
|
|
72
62
|
validate(assetType, body) {
|
|
73
63
|
return __awaiter(this, void 0, void 0, function* () {
|
|
74
64
|
return this.httpClient()
|
|
75
65
|
.post(`/pacman/api/core/asset-registry/validate/${encodeURIComponent(assetType)}`, body)
|
|
76
|
-
.catch((e) => {
|
|
77
|
-
throw new logger_1.FatalError(`Problem validating asset type '${assetType}': ${e}`);
|
|
78
|
-
});
|
|
66
|
+
.catch((e) => (0, asset_registry_error_1.handleAssetRegistryApiError)(`validating asset type '${assetType}'`, e));
|
|
79
67
|
});
|
|
80
68
|
}
|
|
81
69
|
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
(function (factory) {
|
|
2
|
+
if (typeof module === "object" && typeof module.exports === "object") {
|
|
3
|
+
var v = factory(require, exports);
|
|
4
|
+
if (v !== undefined) module.exports = v;
|
|
5
|
+
}
|
|
6
|
+
else if (typeof define === "function" && define.amd) {
|
|
7
|
+
define(["require", "exports", "../../core/utils/logger"], factory);
|
|
8
|
+
}
|
|
9
|
+
})(function (require, exports) {
|
|
10
|
+
"use strict";
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.handleAssetRegistryApiError = exports.ASSET_REGISTRY_DISABLED_USER_MESSAGE = exports.ASSET_REGISTRY_DISABLED_ERROR = void 0;
|
|
13
|
+
const logger_1 = require("../../core/utils/logger");
|
|
14
|
+
exports.ASSET_REGISTRY_DISABLED_ERROR = "Asset registry feature is currently disabled";
|
|
15
|
+
exports.ASSET_REGISTRY_DISABLED_USER_MESSAGE = "Asset registry is not enabled for this team. Contact your administrator to enable the feature.";
|
|
16
|
+
function extractErrorText(error) {
|
|
17
|
+
if (typeof error === "string") {
|
|
18
|
+
return error;
|
|
19
|
+
}
|
|
20
|
+
if (error instanceof Error) {
|
|
21
|
+
return error.message;
|
|
22
|
+
}
|
|
23
|
+
return String(error);
|
|
24
|
+
}
|
|
25
|
+
function parseErrorField(error) {
|
|
26
|
+
const payload = extractJsonPayload(extractErrorText(error));
|
|
27
|
+
if (!payload) {
|
|
28
|
+
return undefined;
|
|
29
|
+
}
|
|
30
|
+
try {
|
|
31
|
+
const parsed = JSON.parse(payload);
|
|
32
|
+
return typeof parsed.error === "string" ? parsed.error : undefined;
|
|
33
|
+
}
|
|
34
|
+
catch (_a) {
|
|
35
|
+
return undefined;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
function extractJsonPayload(text) {
|
|
39
|
+
let candidate = text.trim();
|
|
40
|
+
const fatalErrorPrefix = "FatalError: ";
|
|
41
|
+
const fatalErrorIndex = candidate.lastIndexOf(fatalErrorPrefix);
|
|
42
|
+
if (fatalErrorIndex >= 0) {
|
|
43
|
+
candidate = candidate.slice(fatalErrorIndex + fatalErrorPrefix.length).trim();
|
|
44
|
+
}
|
|
45
|
+
if (!candidate.startsWith("{")) {
|
|
46
|
+
return undefined;
|
|
47
|
+
}
|
|
48
|
+
return candidate;
|
|
49
|
+
}
|
|
50
|
+
function handleAssetRegistryApiError(operation, error) {
|
|
51
|
+
if (parseErrorField(error) === exports.ASSET_REGISTRY_DISABLED_ERROR) {
|
|
52
|
+
throw new logger_1.FatalError(exports.ASSET_REGISTRY_DISABLED_USER_MESSAGE);
|
|
53
|
+
}
|
|
54
|
+
throw new logger_1.FatalError(`Problem ${operation}: ${extractErrorText(error)}`);
|
|
55
|
+
}
|
|
56
|
+
exports.handleAssetRegistryApiError = handleAssetRegistryApiError;
|
|
57
|
+
});
|
|
@@ -48,6 +48,25 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
48
48
|
}
|
|
49
49
|
});
|
|
50
50
|
}
|
|
51
|
+
listSkills(jsonResponse) {
|
|
52
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
53
|
+
const response = yield this.api.listSkills();
|
|
54
|
+
if (jsonResponse) {
|
|
55
|
+
const filename = (0, uuid_1.v4)() + ".json";
|
|
56
|
+
file_service_1.fileService.writeToFileWithGivenName(JSON.stringify(response), filename);
|
|
57
|
+
logger_1.logger.info(file_service_1.FileService.fileDownloadedMessage + filename);
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
if (response.skills.length === 0) {
|
|
61
|
+
logger_1.logger.info("No agent skills registered.");
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
response.skills.forEach((skill) => {
|
|
65
|
+
this.logSkillSummary(skill);
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
}
|
|
51
70
|
getType(assetType, jsonResponse) {
|
|
52
71
|
return __awaiter(this, void 0, void 0, function* () {
|
|
53
72
|
const descriptor = yield this.api.getType(assetType);
|
|
@@ -73,12 +92,6 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
73
92
|
this.outputResponse(data, jsonResponse);
|
|
74
93
|
});
|
|
75
94
|
}
|
|
76
|
-
getMethodology(assetType, jsonResponse) {
|
|
77
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
78
|
-
const data = yield this.api.getMethodology(assetType);
|
|
79
|
-
this.outputResponse(data, jsonResponse);
|
|
80
|
-
});
|
|
81
|
-
}
|
|
82
95
|
validate(opts) {
|
|
83
96
|
return __awaiter(this, void 0, void 0, function* () {
|
|
84
97
|
const payload = this.buildValidatePayload(opts);
|
|
@@ -138,7 +151,22 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
138
151
|
}
|
|
139
152
|
}
|
|
140
153
|
logDescriptorSummary(descriptor) {
|
|
141
|
-
|
|
154
|
+
const base = `${descriptor.assetType} - ${descriptor.displayName} [${descriptor.group}]`;
|
|
155
|
+
if (descriptor.description) {
|
|
156
|
+
logger_1.logger.info(`${base} - ${descriptor.description}`);
|
|
157
|
+
}
|
|
158
|
+
else {
|
|
159
|
+
logger_1.logger.info(base);
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
logSkillSummary(skill) {
|
|
163
|
+
const base = `${skill.name} (${skill.path})`;
|
|
164
|
+
if (skill.description) {
|
|
165
|
+
logger_1.logger.info(`${base} - ${skill.description}`);
|
|
166
|
+
}
|
|
167
|
+
else {
|
|
168
|
+
logger_1.logger.info(base);
|
|
169
|
+
}
|
|
142
170
|
}
|
|
143
171
|
logDescriptorDetail(descriptor) {
|
|
144
172
|
logger_1.logger.info(`Asset Type: ${descriptor.assetType}`);
|
|
@@ -152,12 +180,12 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
152
180
|
logger_1.logger.info(`Endpoints:`);
|
|
153
181
|
logger_1.logger.info(` schema: ${descriptor.endpoints.schema}`);
|
|
154
182
|
logger_1.logger.info(` validate: ${descriptor.endpoints.validate}`);
|
|
155
|
-
if (descriptor.endpoints.methodology) {
|
|
156
|
-
logger_1.logger.info(` methodology: ${descriptor.endpoints.methodology}`);
|
|
157
|
-
}
|
|
158
183
|
if (descriptor.endpoints.examples) {
|
|
159
184
|
logger_1.logger.info(` examples: ${descriptor.endpoints.examples}`);
|
|
160
185
|
}
|
|
186
|
+
if (descriptor.endpoints.skills) {
|
|
187
|
+
logger_1.logger.info(` skills: ${descriptor.endpoints.skills}`);
|
|
188
|
+
}
|
|
161
189
|
}
|
|
162
190
|
}
|
|
163
191
|
exports.AssetRegistryService = AssetRegistryService;
|
|
@@ -51,11 +51,12 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
51
51
|
.option("-f, --file <file>", "Path to a JSON file containing a full ValidateRequest body. Mutually exclusive with the build-from-options flags.")
|
|
52
52
|
.option("--json", "Return the response as a JSON file")
|
|
53
53
|
.action(this.validate);
|
|
54
|
-
assetRegistryCommand.command("
|
|
55
|
-
.description("
|
|
56
|
-
|
|
54
|
+
const skillsCommand = assetRegistryCommand.command("skills")
|
|
55
|
+
.description("Discover agent skills exposed by the asset registry");
|
|
56
|
+
skillsCommand.command("list")
|
|
57
|
+
.description("List all available agent skills (name, description, path)")
|
|
57
58
|
.option("--json", "Return the response as a JSON file")
|
|
58
|
-
.action(this.
|
|
59
|
+
.action(this.listSkills);
|
|
59
60
|
}
|
|
60
61
|
listTypes(context, command, options) {
|
|
61
62
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -89,9 +90,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
89
90
|
yield new asset_registry_service_1.AssetRegistryService(context).getExamples(options.assetType, !!options.json);
|
|
90
91
|
});
|
|
91
92
|
}
|
|
92
|
-
|
|
93
|
+
listSkills(context, command, options) {
|
|
93
94
|
return __awaiter(this, void 0, void 0, function* () {
|
|
94
|
-
yield new asset_registry_service_1.AssetRegistryService(context).
|
|
95
|
+
yield new asset_registry_service_1.AssetRegistryService(context).listSkills(!!options.json);
|
|
95
96
|
});
|
|
96
97
|
}
|
|
97
98
|
}
|
|
@@ -24,23 +24,35 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
24
24
|
constructor(context) {
|
|
25
25
|
this.httpClient = () => context.httpClient;
|
|
26
26
|
}
|
|
27
|
-
findAllActivePackages(flavors, withDependencies = false) {
|
|
27
|
+
findAllActivePackages(flavors, withDependencies = false, includeBranches = false) {
|
|
28
28
|
return __awaiter(this, void 0, void 0, function* () {
|
|
29
29
|
const queryParams = new URLSearchParams();
|
|
30
30
|
queryParams.set("withDependencies", withDependencies.toString());
|
|
31
|
+
queryParams.set("includeBranches", includeBranches.toString());
|
|
31
32
|
flavors.forEach(flavor => queryParams.append("flavors", flavor));
|
|
32
33
|
return this.httpClient().get(`/package-manager/api/core/packages/export/list?${queryParams.toString()}`).catch(e => {
|
|
33
34
|
throw new logger_1.FatalError(`Problem getting active packages: ${e}`);
|
|
34
35
|
});
|
|
35
36
|
});
|
|
36
37
|
}
|
|
37
|
-
|
|
38
|
+
findAllStagingPackages(flavors, includeBranches = false) {
|
|
39
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
40
|
+
const queryParams = new URLSearchParams();
|
|
41
|
+
queryParams.set("includeBranches", includeBranches.toString());
|
|
42
|
+
flavors.forEach(flavor => queryParams.append("flavors", flavor));
|
|
43
|
+
return this.httpClient().get(`/pacman/api/core/staging/packages/export/list?${queryParams.toString()}`).catch(e => {
|
|
44
|
+
throw new logger_1.FatalError(`Problem getting staging packages: ${e}`);
|
|
45
|
+
});
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
findActivePackagesByVariableValue(flavors, variableValue, variableType, includeBranches = false) {
|
|
38
49
|
return __awaiter(this, void 0, void 0, function* () {
|
|
39
50
|
const queryParams = new URLSearchParams();
|
|
40
51
|
queryParams.set("variableValue", variableValue);
|
|
41
52
|
if (variableType) {
|
|
42
53
|
queryParams.set("variableType", variableType);
|
|
43
54
|
}
|
|
55
|
+
queryParams.set("includeBranches", includeBranches.toString());
|
|
44
56
|
flavors.forEach(flavor => queryParams.append("flavors", flavor));
|
|
45
57
|
return this.httpClient().get(`/package-manager/api/core/packages/export/list-by-variable-value?${queryParams.toString()}`).catch(e => {
|
|
46
58
|
throw new logger_1.FatalError(`Problem getting active packages by variable value: ${e}`);
|
|
@@ -13,12 +13,13 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
13
13
|
if (v !== undefined) module.exports = v;
|
|
14
14
|
}
|
|
15
15
|
else if (typeof define === "function" && define.amd) {
|
|
16
|
-
define(["require", "exports", "../../../core/utils/logger"], factory);
|
|
16
|
+
define(["require", "exports", "form-data", "../../../core/utils/logger"], factory);
|
|
17
17
|
}
|
|
18
18
|
})(function (require, exports) {
|
|
19
19
|
"use strict";
|
|
20
20
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
21
|
exports.NodeDiffApi = void 0;
|
|
22
|
+
const FormData = require("form-data");
|
|
22
23
|
const logger_1 = require("../../../core/utils/logger");
|
|
23
24
|
class NodeDiffApi {
|
|
24
25
|
constructor(context) {
|
|
@@ -36,6 +37,19 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
36
37
|
});
|
|
37
38
|
});
|
|
38
39
|
}
|
|
40
|
+
diffWithFile(request) {
|
|
41
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
42
|
+
const queryParams = new URLSearchParams();
|
|
43
|
+
queryParams.set("baseVersion", request.baseVersion);
|
|
44
|
+
const formData = new FormData();
|
|
45
|
+
formData.append("file", request.file);
|
|
46
|
+
return this.httpClient()
|
|
47
|
+
.postFile(`/pacman/api/core/packages/${request.packageKey}/nodes/${request.nodeKey}/diff/configuration/with-file?${queryParams.toString()}`, formData)
|
|
48
|
+
.catch(exception => {
|
|
49
|
+
throw new logger_1.FatalError(`Problem getting the node diff: ${exception}`);
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
}
|
|
39
53
|
}
|
|
40
54
|
exports.NodeDiffApi = NodeDiffApi;
|
|
41
55
|
});
|
|
@@ -40,15 +40,28 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
40
40
|
this.studioService = new studio_service_1.StudioService(context);
|
|
41
41
|
this.gitService = new git_service_1.GitService(context);
|
|
42
42
|
}
|
|
43
|
-
listActivePackages(flavors) {
|
|
43
|
+
listActivePackages(flavors, includeBranches) {
|
|
44
44
|
return __awaiter(this, void 0, void 0, function* () {
|
|
45
|
-
const activePackages = yield this.batchImportExportApi.findAllActivePackages(flavors);
|
|
45
|
+
const activePackages = yield this.batchImportExportApi.findAllActivePackages(flavors, false, includeBranches);
|
|
46
46
|
activePackages.forEach(pkg => {
|
|
47
47
|
logger_1.logger.info(`${pkg.name} - Key: "${pkg.key}"`);
|
|
48
48
|
});
|
|
49
49
|
});
|
|
50
50
|
}
|
|
51
|
-
|
|
51
|
+
listStagingPackages(flavors, includeBranches, jsonResponse) {
|
|
52
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
53
|
+
const stagingPackages = yield this.batchImportExportApi.findAllStagingPackages(flavors, includeBranches);
|
|
54
|
+
if (jsonResponse) {
|
|
55
|
+
this.exportListOfPackages(stagingPackages);
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
stagingPackages.forEach(pkg => {
|
|
59
|
+
logger_1.logger.info(`${pkg.name} - Key: "${pkg.key}"`);
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
findAndExportListOfPackages(flavors, packageKeys, keysByVersion, withDependencies, includeBranches) {
|
|
52
65
|
return __awaiter(this, void 0, void 0, function* () {
|
|
53
66
|
let packagesToExport;
|
|
54
67
|
if (keysByVersion.length) {
|
|
@@ -58,7 +71,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
58
71
|
packagesToExport = yield this.batchImportExportApi.findActivePackagesByKeys(packageKeys, withDependencies);
|
|
59
72
|
}
|
|
60
73
|
else {
|
|
61
|
-
packagesToExport = yield this.batchImportExportApi.findAllActivePackages(flavors, withDependencies);
|
|
74
|
+
packagesToExport = yield this.batchImportExportApi.findAllActivePackages(flavors, withDependencies, includeBranches);
|
|
62
75
|
}
|
|
63
76
|
packagesToExport = yield this.studioService.getExportPackagesWithStudioData(packagesToExport, withDependencies);
|
|
64
77
|
this.exportListOfPackages(packagesToExport);
|
|
@@ -156,16 +169,16 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
156
169
|
logger_1.logger.info("Config import report file: " + reportFileName);
|
|
157
170
|
});
|
|
158
171
|
}
|
|
159
|
-
findAndExportListOfActivePackagesByVariableValue(flavors, variableValue, variableType) {
|
|
172
|
+
findAndExportListOfActivePackagesByVariableValue(flavors, variableValue, variableType, includeBranches) {
|
|
160
173
|
return __awaiter(this, void 0, void 0, function* () {
|
|
161
|
-
let packagesToExport = yield this.batchImportExportApi.findActivePackagesByVariableValue(flavors, variableValue, variableType);
|
|
174
|
+
let packagesToExport = yield this.batchImportExportApi.findActivePackagesByVariableValue(flavors, variableValue, variableType, includeBranches);
|
|
162
175
|
packagesToExport = yield this.studioService.getExportPackagesWithStudioData(packagesToExport, false);
|
|
163
176
|
this.exportListOfPackages(packagesToExport);
|
|
164
177
|
});
|
|
165
178
|
}
|
|
166
|
-
listActivePackagesByVariableValue(flavors, variableValue, variableType) {
|
|
179
|
+
listActivePackagesByVariableValue(flavors, variableValue, variableType, includeBranches) {
|
|
167
180
|
return __awaiter(this, void 0, void 0, function* () {
|
|
168
|
-
const packagesByVariableValue = yield this.batchImportExportApi.findActivePackagesByVariableValue(flavors, variableValue, variableType);
|
|
181
|
+
const packagesByVariableValue = yield this.batchImportExportApi.findActivePackagesByVariableValue(flavors, variableValue, variableType, includeBranches);
|
|
169
182
|
packagesByVariableValue.forEach(pkg => {
|
|
170
183
|
logger_1.logger.info(`${pkg.name} - Key: "${pkg.key}"`);
|
|
171
184
|
});
|
|
@@ -29,20 +29,22 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
29
29
|
this.variableService = new variable_service_1.VariableService(context);
|
|
30
30
|
this.diffService = new diff_service_1.DiffService(context);
|
|
31
31
|
}
|
|
32
|
-
listPackages(jsonResponse, flavors, withDependencies, packageKeys, keysByVersion, variableValue, variableType) {
|
|
32
|
+
listPackages(jsonResponse, flavors, withDependencies, packageKeys, keysByVersion, variableValue, variableType, includeBranches, staging) {
|
|
33
33
|
return __awaiter(this, void 0, void 0, function* () {
|
|
34
|
-
if (
|
|
35
|
-
yield this.
|
|
36
|
-
return;
|
|
34
|
+
if (staging) {
|
|
35
|
+
yield this.batchImportExportService.listStagingPackages(flavors !== null && flavors !== void 0 ? flavors : [], includeBranches, jsonResponse);
|
|
37
36
|
}
|
|
38
|
-
if (
|
|
39
|
-
yield this.
|
|
37
|
+
else if (variableValue) {
|
|
38
|
+
yield this.listPackagesByVariableValue(jsonResponse, flavors, variableValue, variableType, includeBranches);
|
|
39
|
+
}
|
|
40
|
+
else if (jsonResponse) {
|
|
41
|
+
yield this.batchImportExportService.findAndExportListOfPackages(flavors !== null && flavors !== void 0 ? flavors : [], packageKeys !== null && packageKeys !== void 0 ? packageKeys : [], keysByVersion !== null && keysByVersion !== void 0 ? keysByVersion : [], withDependencies, includeBranches);
|
|
40
42
|
}
|
|
41
43
|
else if (keysByVersion) {
|
|
42
44
|
yield this.batchImportExportService.listPackagesByKeysWithVersion(keysByVersion, withDependencies);
|
|
43
45
|
}
|
|
44
46
|
else {
|
|
45
|
-
yield this.batchImportExportService.listActivePackages(flavors !== null && flavors !== void 0 ? flavors : []);
|
|
47
|
+
yield this.batchImportExportService.listActivePackages(flavors !== null && flavors !== void 0 ? flavors : [], includeBranches);
|
|
46
48
|
}
|
|
47
49
|
});
|
|
48
50
|
}
|
|
@@ -92,13 +94,13 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
92
94
|
diffPackages(file, hasChanges, jsonResponse) {
|
|
93
95
|
return this.diffService.diffPackages(file, hasChanges, jsonResponse);
|
|
94
96
|
}
|
|
95
|
-
listPackagesByVariableValue(jsonResponse, flavors, variableValue, variableType) {
|
|
97
|
+
listPackagesByVariableValue(jsonResponse, flavors, variableValue, variableType, includeBranches) {
|
|
96
98
|
return __awaiter(this, void 0, void 0, function* () {
|
|
97
99
|
if (jsonResponse) {
|
|
98
|
-
yield this.batchImportExportService.findAndExportListOfActivePackagesByVariableValue(flavors !== null && flavors !== void 0 ? flavors : [], variableValue, variableType);
|
|
100
|
+
yield this.batchImportExportService.findAndExportListOfActivePackagesByVariableValue(flavors !== null && flavors !== void 0 ? flavors : [], variableValue, variableType, includeBranches);
|
|
99
101
|
}
|
|
100
102
|
else {
|
|
101
|
-
yield this.batchImportExportService.listActivePackagesByVariableValue(flavors !== null && flavors !== void 0 ? flavors : [], variableValue, variableType);
|
|
103
|
+
yield this.batchImportExportService.listActivePackagesByVariableValue(flavors !== null && flavors !== void 0 ? flavors : [], variableValue, variableType, includeBranches);
|
|
102
104
|
}
|
|
103
105
|
});
|
|
104
106
|
}
|
|
@@ -34,12 +34,14 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
34
34
|
configCommand.command("list")
|
|
35
35
|
.description("Command to list packages")
|
|
36
36
|
.option("--json", "Return response as json type", "")
|
|
37
|
-
.option("--flavors <flavors...>", "Lists only
|
|
37
|
+
.option("--flavors <flavors...>", "Lists only packages of the given flavors")
|
|
38
38
|
.option("--withDependencies", "Include dependencies", "")
|
|
39
39
|
.option("--packageKeys <packageKeys...>", "Lists only active versions of given package keys")
|
|
40
40
|
.option("--keysByVersion <keysByVersion...>", "Lists packages by given key and version [packageKey.version]")
|
|
41
41
|
.option("--variableValue <variableValue>", "Variable value for filtering packages by.")
|
|
42
42
|
.option("--variableType <variableType>", "Variable type for filtering packages by.")
|
|
43
|
+
.option("--branches", "Include branches", false)
|
|
44
|
+
.option("--staging", "List staging packages instead", false)
|
|
43
45
|
.action(this.listPackages);
|
|
44
46
|
configCommand.command("export")
|
|
45
47
|
.description("Command to export package configs")
|
|
@@ -70,7 +72,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
70
72
|
configCommand.command("validate")
|
|
71
73
|
.description("Validate package node configurations")
|
|
72
74
|
.requiredOption("--packageKey <packageKey>", "Key of the package to validate")
|
|
73
|
-
.option("--layers <layers...>", "Validation layers to run", ["SCHEMA"])
|
|
75
|
+
.option("--layers <layers...>", "Validation layers to run. Allowed values: SCHEMA, BUSINESS, PACKAGE_SETTINGS (can be combined, e.g. --layers SCHEMA BUSINESS PACKAGE_SETTINGS). Defaults to SCHEMA.", ["SCHEMA"])
|
|
74
76
|
.option("--nodeKeys <nodeKeys...>", "Specific node keys to validate (default: all nodes)")
|
|
75
77
|
.option("--json", "Return the response as a JSON file")
|
|
76
78
|
.action(this.validatePackage);
|
|
@@ -153,7 +155,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
153
155
|
.requiredOption("--packageKey <packageKey>", "Identifier of the package")
|
|
154
156
|
.requiredOption("--nodeKey <nodeKey>", "Identifier of the node")
|
|
155
157
|
.requiredOption("--baseVersion <baseVersion>", "Base version of the node")
|
|
156
|
-
.
|
|
158
|
+
.option("--compareVersion <compareVersion>", "Compare version of the node, mutually exclusive with --file (exactly one required)")
|
|
159
|
+
.option("-f, --file <file>", "Local node JSON file to diff against the base version, mutually exclusive with --compareVersion (exactly one required)")
|
|
157
160
|
.option("--json", "Return the response as a JSON file")
|
|
158
161
|
.action(this.diffNode);
|
|
159
162
|
const nodeDependenciesCommand = nodesCommand.command("dependencies")
|
|
@@ -175,10 +178,13 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
175
178
|
}
|
|
176
179
|
listPackages(context, command, options) {
|
|
177
180
|
return __awaiter(this, void 0, void 0, function* () {
|
|
181
|
+
if (options.staging && (options.withDependencies || options.packageKeys || options.keysByVersion || options.variableValue || options.variableType)) {
|
|
182
|
+
throw new Error("Staging parameter is not compatible with --withDependencies, --packageKeys, --keysByVersion, --variableValue, --variableType");
|
|
183
|
+
}
|
|
178
184
|
if (options.packageKeys && options.keysByVersion) {
|
|
179
185
|
throw new Error("Please provide either --packageKeys or --keysByVersion, but not both.");
|
|
180
186
|
}
|
|
181
|
-
yield new config_command_service_1.ConfigCommandService(context).listPackages(options.json, options.flavors, options.withDependencies, options.packageKeys, options.keysByVersion, options.variableValue, options.variableType);
|
|
187
|
+
yield new config_command_service_1.ConfigCommandService(context).listPackages(options.json, options.flavors, options.withDependencies, options.packageKeys, options.keysByVersion, options.variableValue, options.variableType, options.branches, options.staging);
|
|
182
188
|
});
|
|
183
189
|
}
|
|
184
190
|
batchExportPackages(context, command, options) {
|
|
@@ -281,7 +287,15 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
281
287
|
}
|
|
282
288
|
diffNode(context, command, options) {
|
|
283
289
|
return __awaiter(this, void 0, void 0, function* () {
|
|
284
|
-
|
|
290
|
+
if ((options.file && options.compareVersion) || (!options.file && !options.compareVersion)) {
|
|
291
|
+
throw new Error("Please provide either --compareVersion or --file, but not both.");
|
|
292
|
+
}
|
|
293
|
+
if (options.file) {
|
|
294
|
+
yield new node_diff_service_1.NodeDiffService(context).diffWithFile(options.packageKey, options.nodeKey, options.baseVersion, options.file, options.json);
|
|
295
|
+
}
|
|
296
|
+
else {
|
|
297
|
+
yield new node_diff_service_1.NodeDiffService(context).diff(options.packageKey, options.nodeKey, options.baseVersion, options.compareVersion, options.json);
|
|
298
|
+
}
|
|
285
299
|
});
|
|
286
300
|
}
|
|
287
301
|
listNodeDependencies(context, command, options) {
|
|
@@ -13,12 +13,13 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
13
13
|
if (v !== undefined) module.exports = v;
|
|
14
14
|
}
|
|
15
15
|
else if (typeof define === "function" && define.amd) {
|
|
16
|
-
define(["require", "exports", "uuid", "../../core/utils/logger", "../../core/utils/file-service", "./api/node-diff-api"], factory);
|
|
16
|
+
define(["require", "exports", "node:fs", "uuid", "../../core/utils/logger", "../../core/utils/file-service", "./api/node-diff-api"], factory);
|
|
17
17
|
}
|
|
18
18
|
})(function (require, exports) {
|
|
19
19
|
"use strict";
|
|
20
20
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
21
|
exports.NodeDiffService = void 0;
|
|
22
|
+
const fs = require("node:fs");
|
|
22
23
|
const uuid_1 = require("uuid");
|
|
23
24
|
const logger_1 = require("../../core/utils/logger");
|
|
24
25
|
const file_service_1 = require("../../core/utils/file-service");
|
|
@@ -36,27 +37,49 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
36
37
|
compareVersion,
|
|
37
38
|
});
|
|
38
39
|
if (jsonResponse) {
|
|
39
|
-
|
|
40
|
-
file_service_1.fileService.writeToFileWithGivenName(JSON.stringify(nodeDiff, null, 2), filename);
|
|
41
|
-
logger_1.logger.info(file_service_1.FileService.fileDownloadedMessage + filename);
|
|
40
|
+
this.exportDiffAsJson(nodeDiff);
|
|
42
41
|
}
|
|
43
42
|
else {
|
|
44
|
-
|
|
45
|
-
logger_1.logger.info(`Node Key: ${nodeDiff.nodeKey}`);
|
|
46
|
-
logger_1.logger.info(`Name: ${nodeDiff.name}`);
|
|
47
|
-
logger_1.logger.info(`Type: ${nodeDiff.type}`);
|
|
48
|
-
logger_1.logger.info(`Is invalid configuration: ${nodeDiff.invalidContent}`);
|
|
49
|
-
if (nodeDiff.parentNodeKey) {
|
|
50
|
-
logger_1.logger.info(`Parent Node Key: ${nodeDiff.parentNodeKey}`);
|
|
51
|
-
}
|
|
52
|
-
logger_1.logger.info(`Change Date: ${new Date(nodeDiff.changeDate).toISOString()}`);
|
|
53
|
-
logger_1.logger.info(`Updated By: ${nodeDiff.updatedBy}`);
|
|
54
|
-
logger_1.logger.info(`Change Type: ${nodeDiff.changeType}`);
|
|
55
|
-
logger_1.logger.info(`Changes: ${JSON.stringify(nodeDiff.changes)}`);
|
|
56
|
-
logger_1.logger.info(`Metadata Changes: ${JSON.stringify(nodeDiff.metadataChanges)}`);
|
|
43
|
+
this.logDiff(nodeDiff);
|
|
57
44
|
}
|
|
58
45
|
});
|
|
59
46
|
}
|
|
47
|
+
diffWithFile(packageKey, nodeKey, baseVersion, file, jsonResponse) {
|
|
48
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
49
|
+
const nodeDiff = yield this.nodeDiffApi.diffWithFile({
|
|
50
|
+
packageKey,
|
|
51
|
+
nodeKey,
|
|
52
|
+
baseVersion,
|
|
53
|
+
file: fs.createReadStream(file),
|
|
54
|
+
});
|
|
55
|
+
if (jsonResponse) {
|
|
56
|
+
this.exportDiffAsJson(nodeDiff);
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
this.logDiff(nodeDiff);
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
exportDiffAsJson(nodeDiff) {
|
|
64
|
+
const filename = (0, uuid_1.v4)() + ".json";
|
|
65
|
+
file_service_1.fileService.writeToFileWithGivenName(JSON.stringify(nodeDiff, null, 2), filename);
|
|
66
|
+
logger_1.logger.info(file_service_1.FileService.fileDownloadedMessage + filename);
|
|
67
|
+
}
|
|
68
|
+
logDiff(nodeDiff) {
|
|
69
|
+
logger_1.logger.info(`Package Key: ${nodeDiff.packageKey}`);
|
|
70
|
+
logger_1.logger.info(`Node Key: ${nodeDiff.nodeKey}`);
|
|
71
|
+
logger_1.logger.info(`Name: ${nodeDiff.name}`);
|
|
72
|
+
logger_1.logger.info(`Type: ${nodeDiff.type}`);
|
|
73
|
+
logger_1.logger.info(`Is invalid configuration: ${nodeDiff.invalidContent}`);
|
|
74
|
+
if (nodeDiff.parentNodeKey) {
|
|
75
|
+
logger_1.logger.info(`Parent Node Key: ${nodeDiff.parentNodeKey}`);
|
|
76
|
+
}
|
|
77
|
+
logger_1.logger.info(`Change Date: ${new Date(nodeDiff.changeDate).toISOString()}`);
|
|
78
|
+
logger_1.logger.info(`Updated By: ${nodeDiff.updatedBy}`);
|
|
79
|
+
logger_1.logger.info(`Change Type: ${nodeDiff.changeType}`);
|
|
80
|
+
logger_1.logger.info(`Changes: ${JSON.stringify(nodeDiff.changes)}`);
|
|
81
|
+
logger_1.logger.info(`Metadata Changes: ${JSON.stringify(nodeDiff.metadataChanges)}`);
|
|
82
|
+
}
|
|
60
83
|
}
|
|
61
84
|
exports.NodeDiffService = NodeDiffService;
|
|
62
85
|
});
|
|
@@ -13,7 +13,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
13
13
|
if (v !== undefined) module.exports = v;
|
|
14
14
|
}
|
|
15
15
|
else if (typeof define === "function" && define.amd) {
|
|
16
|
-
define(["require", "exports", "adm-zip", "../studio/interfaces/package-manager.interfaces", "./interfaces/batch-export-import.constants", "../../core/utils/json", "../studio/api/package-api", "../studio/service/data-model.service", "../studio/api/node-api", "../studio/api/space-api", "../studio/api/studio-variables-api", "../studio/service/space.service", "../studio/service/studio-variable.service"], factory);
|
|
16
|
+
define(["require", "exports", "adm-zip", "../studio/interfaces/package-manager.interfaces", "./interfaces/batch-export-import.constants", "../../core/utils/json", "../studio/api/package-api", "../studio/service/data-model.service", "../studio/api/node-api", "../studio/api/space-api", "../studio/api/studio-variables-api", "../studio/service/space.service", "../studio/service/studio-variable.service", "../../core/utils/branches"], factory);
|
|
17
17
|
}
|
|
18
18
|
})(function (require, exports) {
|
|
19
19
|
"use strict";
|
|
@@ -30,6 +30,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
30
30
|
const studio_variables_api_1 = require("../studio/api/studio-variables-api");
|
|
31
31
|
const space_service_1 = require("../studio/service/space.service");
|
|
32
32
|
const studio_variable_service_1 = require("../studio/service/studio-variable.service");
|
|
33
|
+
const branches_1 = require("../../core/utils/branches");
|
|
33
34
|
class StudioService {
|
|
34
35
|
constructor(context) {
|
|
35
36
|
this.studioPackageApi = new package_api_1.PackageApi(context);
|
|
@@ -89,7 +90,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
89
90
|
}
|
|
90
91
|
for (const manifest of studioManifests) {
|
|
91
92
|
const existingPackage = existingStudioPackages.find(existingPackage => existingPackage.key === manifest.packageKey);
|
|
92
|
-
if (existingPackage) {
|
|
93
|
+
if (existingPackage && !branches_1.BranchUtils.isBranchPackageKey(existingPackage.key)) {
|
|
93
94
|
yield this.studioPackageApi.movePackageToSpace(existingPackage.id, manifest.space.id);
|
|
94
95
|
}
|
|
95
96
|
yield this.assignRuntimeVariables(manifest);
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
(function (factory) {
|
|
2
|
+
if (typeof module === "object" && typeof module.exports === "object") {
|
|
3
|
+
var v = factory(require, exports);
|
|
4
|
+
if (v !== undefined) module.exports = v;
|
|
5
|
+
}
|
|
6
|
+
else if (typeof define === "function" && define.amd) {
|
|
7
|
+
define(["require", "exports"], factory);
|
|
8
|
+
}
|
|
9
|
+
})(function (require, exports) {
|
|
10
|
+
"use strict";
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.BranchUtils = void 0;
|
|
13
|
+
class BranchUtils {
|
|
14
|
+
static isBranchPackageKey(packageKey) {
|
|
15
|
+
if (!packageKey || packageKey.trim().length === 0) {
|
|
16
|
+
throw new Error("Package key cannot be empty");
|
|
17
|
+
}
|
|
18
|
+
return packageKey.includes(BranchUtils.BRANCH_SEPARATOR);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
exports.BranchUtils = BranchUtils;
|
|
22
|
+
BranchUtils.BRANCH_SEPARATOR = "@";
|
|
23
|
+
});
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { Context } from "../../core/command/cli-context";
|
|
2
|
-
import { AssetRegistryDescriptor, AssetRegistryMetadata } from "./asset-registry.interfaces";
|
|
2
|
+
import { AgentSkillsResponse, AssetRegistryDescriptor, AssetRegistryMetadata } from "./asset-registry.interfaces";
|
|
3
3
|
export declare class AssetRegistryApi {
|
|
4
4
|
private httpClient;
|
|
5
5
|
constructor(context: Context);
|
|
6
6
|
listTypes(): Promise<AssetRegistryMetadata>;
|
|
7
|
+
listSkills(): Promise<AgentSkillsResponse>;
|
|
7
8
|
getType(assetType: string): Promise<AssetRegistryDescriptor>;
|
|
8
9
|
getSchema(assetType: string): Promise<any>;
|
|
9
10
|
getExamples(assetType: string): Promise<any>;
|
|
10
|
-
getMethodology(assetType: string): Promise<any>;
|
|
11
11
|
validate(assetType: string, body: any): Promise<any>;
|
|
12
12
|
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export declare const ASSET_REGISTRY_DISABLED_ERROR = "Asset registry feature is currently disabled";
|
|
2
|
+
export declare const ASSET_REGISTRY_DISABLED_USER_MESSAGE = "Asset registry is not enabled for this team. Contact your administrator to enable the feature.";
|
|
3
|
+
export declare function handleAssetRegistryApiError(operation: string, error: unknown): never;
|
|
@@ -20,8 +20,8 @@ export interface AssetService {
|
|
|
20
20
|
export interface AssetEndpoints {
|
|
21
21
|
schema: string;
|
|
22
22
|
validate: string;
|
|
23
|
-
methodology?: string;
|
|
24
23
|
examples?: string;
|
|
24
|
+
skills?: string;
|
|
25
25
|
}
|
|
26
26
|
export interface AssetContributions {
|
|
27
27
|
pigEntityTypes: string[];
|
|
@@ -36,3 +36,15 @@ 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
|
+
}
|
|
@@ -4,15 +4,16 @@ export declare class AssetRegistryService {
|
|
|
4
4
|
private api;
|
|
5
5
|
constructor(context: Context);
|
|
6
6
|
listTypes(jsonResponse: boolean): Promise<void>;
|
|
7
|
+
listSkills(jsonResponse: boolean): Promise<void>;
|
|
7
8
|
getType(assetType: string, jsonResponse: boolean): Promise<void>;
|
|
8
9
|
getSchema(assetType: string, jsonResponse: boolean): Promise<void>;
|
|
9
10
|
getExamples(assetType: string, jsonResponse: boolean): Promise<void>;
|
|
10
|
-
getMethodology(assetType: string, jsonResponse: boolean): Promise<void>;
|
|
11
11
|
validate(opts: ValidateOptions): Promise<void>;
|
|
12
12
|
private static readonly INLINE_VALIDATION_NODE_KEY;
|
|
13
13
|
private buildValidatePayload;
|
|
14
14
|
private parseJson;
|
|
15
15
|
private outputResponse;
|
|
16
16
|
private logDescriptorSummary;
|
|
17
|
+
private logSkillSummary;
|
|
17
18
|
private logDescriptorDetail;
|
|
18
19
|
}
|
|
@@ -5,8 +5,9 @@ import { Context } from "../../../core/command/cli-context";
|
|
|
5
5
|
export declare class BatchImportExportApi {
|
|
6
6
|
private httpClient;
|
|
7
7
|
constructor(context: Context);
|
|
8
|
-
findAllActivePackages(flavors: string[], withDependencies?: boolean): Promise<PackageExportTransport[]>;
|
|
9
|
-
|
|
8
|
+
findAllActivePackages(flavors: string[], withDependencies?: boolean, includeBranches?: boolean): Promise<PackageExportTransport[]>;
|
|
9
|
+
findAllStagingPackages(flavors: string[], includeBranches?: boolean): Promise<PackageExportTransport[]>;
|
|
10
|
+
findActivePackagesByVariableValue(flavors: string[], variableValue: string, variableType: string, includeBranches?: boolean): Promise<PackageExportTransport[]>;
|
|
10
11
|
findActivePackagesByKeys(packageKeys: string[], withDependencies?: boolean): Promise<PackageExportTransport[]>;
|
|
11
12
|
findPackagesByKeysAndVersion(packageKeysWithVersion: string[], withDependencies?: boolean): Promise<PackageExportTransport[]>;
|
|
12
13
|
exportPackages(packageKeys: string[], withDependencies: boolean): Promise<Buffer>;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { Context } from "../../../core/command/cli-context";
|
|
2
|
-
import { GetNodeDiffRequest, NodeConfigurationDiffTransport } from "../interfaces/node-diff.interfaces";
|
|
2
|
+
import { GetNodeDiffRequest, GetNodeDiffWithFileRequest, NodeConfigurationDiffTransport } from "../interfaces/node-diff.interfaces";
|
|
3
3
|
export declare class NodeDiffApi {
|
|
4
4
|
private httpClient;
|
|
5
5
|
constructor(context: Context);
|
|
6
6
|
diff(request: GetNodeDiffRequest): Promise<NodeConfigurationDiffTransport>;
|
|
7
|
+
diffWithFile(request: GetNodeDiffWithFileRequest): Promise<NodeConfigurationDiffTransport>;
|
|
7
8
|
}
|
|
@@ -5,14 +5,15 @@ export declare class BatchImportExportService {
|
|
|
5
5
|
private studioService;
|
|
6
6
|
private gitService;
|
|
7
7
|
constructor(context: Context);
|
|
8
|
-
listActivePackages(flavors: string[]): Promise<void>;
|
|
9
|
-
|
|
8
|
+
listActivePackages(flavors: string[], includeBranches: boolean): Promise<void>;
|
|
9
|
+
listStagingPackages(flavors: string[], includeBranches: boolean, jsonResponse: boolean): Promise<void>;
|
|
10
|
+
findAndExportListOfPackages(flavors: string[], packageKeys: string[], keysByVersion: string[], withDependencies: boolean, includeBranches: boolean): Promise<void>;
|
|
10
11
|
listPackagesByKeysWithVersion(keysByVersion: string[], withDependencies: boolean): Promise<void>;
|
|
11
12
|
batchExportPackages(packageKeys: string[], packageKeysByVersion: string[], withDependencies: boolean, gitBranch: string, unzip: boolean): Promise<void>;
|
|
12
13
|
batchExportPackagesMetadata(packageKeys: string[], jsonResponse: boolean): Promise<void>;
|
|
13
14
|
batchImportPackages(sourcePath: string, overwrite: boolean, gitBranch: string, performValidation?: boolean): Promise<void>;
|
|
14
|
-
findAndExportListOfActivePackagesByVariableValue(flavors: string[], variableValue: string, variableType: string): Promise<void>;
|
|
15
|
-
listActivePackagesByVariableValue(flavors: string[], variableValue: string, variableType: string): Promise<void>;
|
|
15
|
+
findAndExportListOfActivePackagesByVariableValue(flavors: string[], variableValue: string, variableType: string, includeBranches: boolean): Promise<void>;
|
|
16
|
+
listActivePackagesByVariableValue(flavors: string[], variableValue: string, variableType: string, includeBranches: boolean): Promise<void>;
|
|
16
17
|
private exportListOfPackages;
|
|
17
18
|
private getVersionsByPackageKey;
|
|
18
19
|
private getVersionedVariablesForPackagesWithKeys;
|
|
@@ -4,7 +4,7 @@ export declare class ConfigCommandService {
|
|
|
4
4
|
private variableService;
|
|
5
5
|
private diffService;
|
|
6
6
|
constructor(context: Context);
|
|
7
|
-
listPackages(jsonResponse: boolean, flavors: string[], withDependencies: boolean, packageKeys: string[], keysByVersion: string[], variableValue: string, variableType: string): Promise<void>;
|
|
7
|
+
listPackages(jsonResponse: boolean, flavors: string[], withDependencies: boolean, packageKeys: string[], keysByVersion: string[], variableValue: string, variableType: string, includeBranches: boolean, staging: boolean): Promise<void>;
|
|
8
8
|
listVariables(jsonResponse: boolean, keysByVersion: string[], keysByVersionFile: string, packageKeys: string[]): Promise<void>;
|
|
9
9
|
batchExportPackages(packageKeys: string[], packageKeysByVersion: string[], withDependencies: boolean, gitBranch: string, unzip: boolean): Promise<void>;
|
|
10
10
|
batchExportPackagesMetadata(packageKeys: string[], jsonResponse: boolean): Promise<void>;
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { ReadStream } from "node:fs";
|
|
1
3
|
import { ConfigurationChangeTransport, NodeConfigurationChangeType } from "./diff-package.interfaces";
|
|
2
4
|
export interface GetNodeDiffRequest {
|
|
3
5
|
packageKey: string;
|
|
@@ -5,6 +7,12 @@ export interface GetNodeDiffRequest {
|
|
|
5
7
|
baseVersion: string;
|
|
6
8
|
compareVersion: string;
|
|
7
9
|
}
|
|
10
|
+
export interface GetNodeDiffWithFileRequest {
|
|
11
|
+
packageKey: string;
|
|
12
|
+
nodeKey: string;
|
|
13
|
+
baseVersion: string;
|
|
14
|
+
file: ReadStream;
|
|
15
|
+
}
|
|
8
16
|
export interface NodeConfigurationDiffTransport {
|
|
9
17
|
packageKey: string;
|
|
10
18
|
nodeKey: string;
|
|
@@ -3,4 +3,7 @@ export declare class NodeDiffService {
|
|
|
3
3
|
private nodeDiffApi;
|
|
4
4
|
constructor(context: Context);
|
|
5
5
|
diff(packageKey: string, nodeKey: string, baseVersion: string, compareVersion: string, jsonResponse: boolean): Promise<void>;
|
|
6
|
+
diffWithFile(packageKey: string, nodeKey: string, baseVersion: string, file: string, jsonResponse: boolean): Promise<void>;
|
|
7
|
+
private exportDiffAsJson;
|
|
8
|
+
private logDiff;
|
|
6
9
|
}
|