@copado/agentia-cli 0.7.0-alpha.0 → 0.9.0-alpha.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 +158 -37
- package/dist/commands/environment/auth/status.js +3 -3
- package/dist/commands/environment/auth/status.js.map +1 -1
- package/dist/commands/environment/auth/web/login.js +4 -4
- package/dist/commands/environment/auth/web/login.js.map +1 -1
- package/dist/commands/promotion/conflict/get.d.ts +19 -0
- package/dist/commands/promotion/conflict/get.js +54 -0
- package/dist/commands/promotion/conflict/get.js.map +1 -0
- package/dist/commands/promotion/conflict/list.d.ts +10 -0
- package/dist/commands/promotion/conflict/list.js +35 -0
- package/dist/commands/promotion/conflict/list.js.map +1 -0
- package/dist/commands/promotion/conflict/resolve.d.ts +15 -0
- package/dist/commands/promotion/conflict/resolve.js +59 -0
- package/dist/commands/promotion/conflict/resolve.js.map +1 -0
- package/dist/commands/promotion/conflict/unresolve.d.ts +13 -0
- package/dist/commands/promotion/conflict/unresolve.js +37 -0
- package/dist/commands/promotion/conflict/unresolve.js.map +1 -0
- package/dist/lib/cicd-gateway.d.ts +12 -0
- package/dist/lib/cicd-gateway.js +63 -6
- package/dist/lib/cicd-gateway.js.map +1 -1
- package/dist/lib/environment-auth-status.js +8 -7
- package/dist/lib/environment-auth-status.js.map +1 -1
- package/dist/lib/environment-auth.js +6 -6
- package/dist/lib/environment-auth.js.map +1 -1
- package/dist/lib/environment-credential-selection.d.ts +1 -0
- package/dist/lib/environment-credential-selection.js +6 -6
- package/dist/lib/environment-credential-selection.js.map +1 -1
- package/dist/lib/environment-types.js +4 -3
- package/dist/lib/environment-types.js.map +1 -1
- package/dist/lib/job-types.js +10 -8
- package/dist/lib/job-types.js.map +1 -1
- package/dist/lib/mcp/tools.d.ts +2 -2
- package/dist/lib/pipeline-flags.js +3 -2
- package/dist/lib/pipeline-flags.js.map +1 -1
- package/dist/lib/pipeline-types.js +2 -1
- package/dist/lib/pipeline-types.js.map +1 -1
- package/dist/lib/promotion-conflicts.d.ts +40 -0
- package/dist/lib/promotion-conflicts.js +83 -0
- package/dist/lib/promotion-conflicts.js.map +1 -0
- package/dist/lib/salesforce-id.d.ts +1 -0
- package/dist/lib/salesforce-id.js +9 -0
- package/dist/lib/salesforce-id.js.map +1 -0
- package/oclif.manifest.json +226 -8
- package/package.json +4 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline-flags.js","sourceRoot":"","sources":["../../src/lib/pipeline-flags.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAC,MAAM,aAAa,CAAA;AAEjC,OAAO,EAAC,cAAc,EAAC,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"pipeline-flags.js","sourceRoot":"","sources":["../../src/lib/pipeline-flags.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAC,MAAM,aAAa,CAAA;AAEjC,OAAO,EAAC,cAAc,EAAC,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAC,qBAAqB,EAAC,MAAM,oBAAoB,CAAA;AAExD,OAAO,EAAC,cAAc,EAAC,MAAM,aAAa,CAAA;AAE1C,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,iBAAiB,EAAE,KAAK,CAAC,MAAM,CAAC;QAC9B,WAAW,EAAE,0DAA0D;KACxE,CAAC;IACF,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC;QACtB,WAAW,EAAE,0CAA0C;KACxD,CAAC;CACM,CAAA;AAOV,MAAM,UAAU,eAAe,CAAC,KAA+B;IAC7D,OAAO;QACL,mBAAmB,EAAE,qBAAqB,CAAC,cAAc,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE,mBAAmB,CAAC,CAAC;QACzG,WAAW,EAAE,qBAAqB,CAAC,cAAc,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,WAAW,CAAC,CAAC;KAClF,CAAA;AACH,CAAC"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { cellValue, table } from './format.js';
|
|
2
|
+
import { normalizeSalesforceId } from './salesforce-id.js';
|
|
2
3
|
export function pipelineListEndpoint() {
|
|
3
4
|
return '/corpus/pipelines';
|
|
4
5
|
}
|
|
5
6
|
export function pipelineDescribeEndpoint(id) {
|
|
6
|
-
return `/corpus/pipelines/${id}/describe`;
|
|
7
|
+
return `/corpus/pipelines/${normalizeSalesforceId(id)}/describe`;
|
|
7
8
|
}
|
|
8
9
|
export function normalizePipelines(response) {
|
|
9
10
|
if (Array.isArray(response)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline-types.js","sourceRoot":"","sources":["../../src/lib/pipeline-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,KAAK,EAAC,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"pipeline-types.js","sourceRoot":"","sources":["../../src/lib/pipeline-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
export declare const PROMOTION_CONFLICT_MODES: readonly ["auto", "manual"];
|
|
2
|
+
export type PromotionConflictMode = (typeof PROMOTION_CONFLICT_MODES)[number];
|
|
3
|
+
export type PromotionConflict = {
|
|
4
|
+
attachmentId?: null | string;
|
|
5
|
+
commitContent?: null | string;
|
|
6
|
+
featureBranchUrl?: null | string;
|
|
7
|
+
isKnownResolution?: boolean;
|
|
8
|
+
isOutOfPromotionMetadata?: boolean;
|
|
9
|
+
metadataName?: null | string;
|
|
10
|
+
metadataType?: null | string;
|
|
11
|
+
name?: null | string;
|
|
12
|
+
resolutionStrategy?: null | string;
|
|
13
|
+
userStory?: null | string;
|
|
14
|
+
};
|
|
15
|
+
export type PromotionConflictListResponse = {
|
|
16
|
+
data?: PromotionConflict[];
|
|
17
|
+
};
|
|
18
|
+
export type PromotionConflictResolutionRequest = {
|
|
19
|
+
content: string;
|
|
20
|
+
forceSaveWithMarkers: false;
|
|
21
|
+
mode: 'manual';
|
|
22
|
+
} | {
|
|
23
|
+
mode: 'auto';
|
|
24
|
+
};
|
|
25
|
+
export type PromotionConflictResolutionResult = {
|
|
26
|
+
promotionStatusUpdated?: boolean;
|
|
27
|
+
resolvedCount?: number;
|
|
28
|
+
};
|
|
29
|
+
export type PromotionConflictUndoResult = {
|
|
30
|
+
undoneCount?: number;
|
|
31
|
+
};
|
|
32
|
+
export declare function promotionConflictsEndpoint(promotionId: string): string;
|
|
33
|
+
export declare function promotionConflictContentEndpoint(promotionId: string, conflictId: string): string;
|
|
34
|
+
export declare function promotionConflictResolveEndpoint(promotionId: string, conflictId: string): string;
|
|
35
|
+
export declare function promotionConflictUndoEndpoint(promotionId: string, conflictId: string): string;
|
|
36
|
+
export declare function normalizePromotionConflicts(response: PromotionConflict[] | PromotionConflictListResponse): PromotionConflict[];
|
|
37
|
+
export declare function buildPromotionConflictResolutionRequest(mode: PromotionConflictMode, content?: string): PromotionConflictResolutionRequest;
|
|
38
|
+
export declare function formatPromotionConflictTable(conflicts: PromotionConflict[]): string;
|
|
39
|
+
export declare function translatePromotionConflictError(error: unknown): Error;
|
|
40
|
+
export declare function withPromotionConflictErrorTranslation<T>(action: () => Promise<T>): Promise<T>;
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { CicdGatewayError } from './cicd-gateway.js';
|
|
2
|
+
import { cellValue, table } from './format.js';
|
|
3
|
+
export const PROMOTION_CONFLICT_MODES = ['auto', 'manual'];
|
|
4
|
+
const PROMOTION_CONFLICT_ERROR_MESSAGES = {
|
|
5
|
+
'PRO-003': 'You do not have permission to manage conflicts for this promotion.',
|
|
6
|
+
'PRO-004': 'Promotion or Conflict ID not found. Please verify your IDs.',
|
|
7
|
+
'PRO-005': 'Invalid resolution request. Ensure your manual content does not contain unresolved Git markers unless forceSaveWithMarkers is used.',
|
|
8
|
+
'PRO-016': 'Promotion or Conflict ID not found. Please verify your IDs.',
|
|
9
|
+
'PRO-025': 'Invalid resolution request. Ensure your manual content does not contain unresolved Git markers unless forceSaveWithMarkers is used.',
|
|
10
|
+
'PRO-026': 'Invalid resolution request. Ensure your manual content does not contain unresolved Git markers unless forceSaveWithMarkers is used.',
|
|
11
|
+
};
|
|
12
|
+
function endpointSegment(value, label) {
|
|
13
|
+
const trimmed = value.trim();
|
|
14
|
+
if (trimmed.length === 0) {
|
|
15
|
+
throw new Error(`${label} cannot be empty.`);
|
|
16
|
+
}
|
|
17
|
+
return encodeURIComponent(trimmed);
|
|
18
|
+
}
|
|
19
|
+
export function promotionConflictsEndpoint(promotionId) {
|
|
20
|
+
return `/release/promotion/${endpointSegment(promotionId, 'Promotion ID')}/conflicts`;
|
|
21
|
+
}
|
|
22
|
+
export function promotionConflictContentEndpoint(promotionId, conflictId) {
|
|
23
|
+
return `${promotionConflictsEndpoint(promotionId)}/${endpointSegment(conflictId, 'Conflict ID')}/content`;
|
|
24
|
+
}
|
|
25
|
+
export function promotionConflictResolveEndpoint(promotionId, conflictId) {
|
|
26
|
+
return `${promotionConflictsEndpoint(promotionId)}/${endpointSegment(conflictId, 'Conflict ID')}/resolve`;
|
|
27
|
+
}
|
|
28
|
+
export function promotionConflictUndoEndpoint(promotionId, conflictId) {
|
|
29
|
+
return `${promotionConflictsEndpoint(promotionId)}/${endpointSegment(conflictId, 'Conflict ID')}/undo-resolution`;
|
|
30
|
+
}
|
|
31
|
+
export function normalizePromotionConflicts(response) {
|
|
32
|
+
if (Array.isArray(response)) {
|
|
33
|
+
return response;
|
|
34
|
+
}
|
|
35
|
+
return Array.isArray(response.data) ? response.data : [];
|
|
36
|
+
}
|
|
37
|
+
export function buildPromotionConflictResolutionRequest(mode, content) {
|
|
38
|
+
if (mode === 'auto') {
|
|
39
|
+
return { mode };
|
|
40
|
+
}
|
|
41
|
+
if (content === undefined) {
|
|
42
|
+
throw new Error('--file is required when --mode manual is used.');
|
|
43
|
+
}
|
|
44
|
+
return {
|
|
45
|
+
content,
|
|
46
|
+
forceSaveWithMarkers: false,
|
|
47
|
+
mode,
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
export function formatPromotionConflictTable(conflicts) {
|
|
51
|
+
return table([
|
|
52
|
+
{ alias: 'CONFLICT ID', value: 'attachmentId' },
|
|
53
|
+
{ alias: 'USER STORY', value: 'userStory' },
|
|
54
|
+
{ alias: 'TYPE', value: 'metadataType' },
|
|
55
|
+
{ alias: 'NAME', value: 'metadataName' },
|
|
56
|
+
{ alias: 'STATUS', value: 'resolutionStrategy' },
|
|
57
|
+
], conflicts.map((conflict) => ({
|
|
58
|
+
attachmentId: cellValue(conflict.attachmentId),
|
|
59
|
+
metadataName: cellValue(conflict.metadataName),
|
|
60
|
+
metadataType: cellValue(conflict.metadataType),
|
|
61
|
+
resolutionStrategy: cellValue(conflict.resolutionStrategy),
|
|
62
|
+
userStory: cellValue(conflict.userStory),
|
|
63
|
+
})));
|
|
64
|
+
}
|
|
65
|
+
export function translatePromotionConflictError(error) {
|
|
66
|
+
if (error instanceof CicdGatewayError) {
|
|
67
|
+
const identifiers = [error.code, ...error.categories];
|
|
68
|
+
const identifier = identifiers.find((value) => value !== undefined && value in PROMOTION_CONFLICT_ERROR_MESSAGES);
|
|
69
|
+
if (identifier !== undefined) {
|
|
70
|
+
return new Error(PROMOTION_CONFLICT_ERROR_MESSAGES[identifier]);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
return error instanceof Error ? error : new Error(String(error));
|
|
74
|
+
}
|
|
75
|
+
export async function withPromotionConflictErrorTranslation(action) {
|
|
76
|
+
try {
|
|
77
|
+
return await action();
|
|
78
|
+
}
|
|
79
|
+
catch (error) {
|
|
80
|
+
throw translatePromotionConflictError(error);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=promotion-conflicts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"promotion-conflicts.js","sourceRoot":"","sources":["../../src/lib/promotion-conflicts.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function normalizeSalesforceId(value: string): string;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
const SALESFORCE_ID_PATTERN = /^[A-Za-z0-9]+$/;
|
|
2
|
+
export function normalizeSalesforceId(value) {
|
|
3
|
+
const trimmed = value.trim();
|
|
4
|
+
if ((trimmed.length === 15 || trimmed.length === 18) && SALESFORCE_ID_PATTERN.test(trimmed)) {
|
|
5
|
+
return trimmed.slice(0, 15);
|
|
6
|
+
}
|
|
7
|
+
return trimmed;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=salesforce-id.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"salesforce-id.js","sourceRoot":"","sources":["../../src/lib/salesforce-id.ts"],"names":[],"mappings":"AAAA,MAAM,qBAAqB,GAAG,gBAAgB,CAAA;AAE9C,MAAM,UAAU,qBAAqB,CAAC,KAAa;IACjD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAA;IAE5B,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,EAAE,IAAI,OAAO,CAAC,MAAM,KAAK,EAAE,CAAC,IAAI,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5F,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;IAC7B,CAAC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC"}
|
package/oclif.manifest.json
CHANGED
|
@@ -1087,9 +1087,9 @@
|
|
|
1087
1087
|
},
|
|
1088
1088
|
"description": "Validate the authentication status of an environment credential",
|
|
1089
1089
|
"examples": [
|
|
1090
|
-
"<%= config.bin %> <%= command.id %>
|
|
1091
|
-
"<%= config.bin %> <%= command.id %>
|
|
1092
|
-
"<%= config.bin %> <%= command.id %>
|
|
1090
|
+
"<%= config.bin %> <%= command.id %> <environment-id>",
|
|
1091
|
+
"<%= config.bin %> <%= command.id %> <environment-id> --credentialid <credential-id>",
|
|
1092
|
+
"<%= config.bin %> <%= command.id %> <environment-id> --json"
|
|
1093
1093
|
],
|
|
1094
1094
|
"flags": {
|
|
1095
1095
|
"json": {
|
|
@@ -2247,6 +2247,224 @@
|
|
|
2247
2247
|
"unset.js"
|
|
2248
2248
|
]
|
|
2249
2249
|
},
|
|
2250
|
+
"promotion:conflict:get": {
|
|
2251
|
+
"aliases": [],
|
|
2252
|
+
"args": {
|
|
2253
|
+
"id": {
|
|
2254
|
+
"description": "Conflict attachment Id",
|
|
2255
|
+
"name": "id",
|
|
2256
|
+
"required": true
|
|
2257
|
+
}
|
|
2258
|
+
},
|
|
2259
|
+
"description": "Get raw merge-conflict content for a promotion file",
|
|
2260
|
+
"examples": [
|
|
2261
|
+
"<%= config.bin %> <%= command.id %> <conflict-id> --promotion <promotion-id>",
|
|
2262
|
+
"<%= config.bin %> <%= command.id %> <conflict-id> -p <promotion-id> --output ./MyClass.cls",
|
|
2263
|
+
"<%= config.bin %> <%= command.id %> <conflict-id> -p <promotion-id> --json"
|
|
2264
|
+
],
|
|
2265
|
+
"flags": {
|
|
2266
|
+
"json": {
|
|
2267
|
+
"description": "Format output as json.",
|
|
2268
|
+
"helpGroup": "GLOBAL",
|
|
2269
|
+
"name": "json",
|
|
2270
|
+
"allowNo": false,
|
|
2271
|
+
"type": "boolean"
|
|
2272
|
+
},
|
|
2273
|
+
"output": {
|
|
2274
|
+
"description": "Write raw conflict content to this file path",
|
|
2275
|
+
"name": "output",
|
|
2276
|
+
"hasDynamicHelp": false,
|
|
2277
|
+
"multiple": false,
|
|
2278
|
+
"type": "option"
|
|
2279
|
+
},
|
|
2280
|
+
"promotion": {
|
|
2281
|
+
"char": "p",
|
|
2282
|
+
"description": "Copado promotion Id",
|
|
2283
|
+
"name": "promotion",
|
|
2284
|
+
"required": true,
|
|
2285
|
+
"hasDynamicHelp": false,
|
|
2286
|
+
"multiple": false,
|
|
2287
|
+
"type": "option"
|
|
2288
|
+
}
|
|
2289
|
+
},
|
|
2290
|
+
"hasDynamicHelp": false,
|
|
2291
|
+
"hiddenAliases": [],
|
|
2292
|
+
"id": "promotion:conflict:get",
|
|
2293
|
+
"pluginAlias": "@copado/agentia-cli",
|
|
2294
|
+
"pluginName": "@copado/agentia-cli",
|
|
2295
|
+
"pluginType": "core",
|
|
2296
|
+
"strict": true,
|
|
2297
|
+
"enableJsonFlag": true,
|
|
2298
|
+
"isESM": true,
|
|
2299
|
+
"relativePath": [
|
|
2300
|
+
"dist",
|
|
2301
|
+
"commands",
|
|
2302
|
+
"promotion",
|
|
2303
|
+
"conflict",
|
|
2304
|
+
"get.js"
|
|
2305
|
+
]
|
|
2306
|
+
},
|
|
2307
|
+
"promotion:conflict:list": {
|
|
2308
|
+
"aliases": [],
|
|
2309
|
+
"args": {},
|
|
2310
|
+
"description": "List merge conflicts for a Copado promotion",
|
|
2311
|
+
"examples": [
|
|
2312
|
+
"<%= config.bin %> <%= command.id %> --promotion <promotion-id>",
|
|
2313
|
+
"<%= config.bin %> <%= command.id %> -p <promotion-id> --json"
|
|
2314
|
+
],
|
|
2315
|
+
"flags": {
|
|
2316
|
+
"json": {
|
|
2317
|
+
"description": "Format output as json.",
|
|
2318
|
+
"helpGroup": "GLOBAL",
|
|
2319
|
+
"name": "json",
|
|
2320
|
+
"allowNo": false,
|
|
2321
|
+
"type": "boolean"
|
|
2322
|
+
},
|
|
2323
|
+
"promotion": {
|
|
2324
|
+
"char": "p",
|
|
2325
|
+
"description": "Copado promotion Id",
|
|
2326
|
+
"name": "promotion",
|
|
2327
|
+
"required": true,
|
|
2328
|
+
"hasDynamicHelp": false,
|
|
2329
|
+
"multiple": false,
|
|
2330
|
+
"type": "option"
|
|
2331
|
+
}
|
|
2332
|
+
},
|
|
2333
|
+
"hasDynamicHelp": false,
|
|
2334
|
+
"hiddenAliases": [],
|
|
2335
|
+
"id": "promotion:conflict:list",
|
|
2336
|
+
"pluginAlias": "@copado/agentia-cli",
|
|
2337
|
+
"pluginName": "@copado/agentia-cli",
|
|
2338
|
+
"pluginType": "core",
|
|
2339
|
+
"strict": true,
|
|
2340
|
+
"enableJsonFlag": true,
|
|
2341
|
+
"isESM": true,
|
|
2342
|
+
"relativePath": [
|
|
2343
|
+
"dist",
|
|
2344
|
+
"commands",
|
|
2345
|
+
"promotion",
|
|
2346
|
+
"conflict",
|
|
2347
|
+
"list.js"
|
|
2348
|
+
]
|
|
2349
|
+
},
|
|
2350
|
+
"promotion:conflict:resolve": {
|
|
2351
|
+
"aliases": [],
|
|
2352
|
+
"args": {
|
|
2353
|
+
"id": {
|
|
2354
|
+
"description": "Conflict attachment Id",
|
|
2355
|
+
"name": "id",
|
|
2356
|
+
"required": true
|
|
2357
|
+
}
|
|
2358
|
+
},
|
|
2359
|
+
"description": "Resolve a promotion merge conflict automatically or from a file",
|
|
2360
|
+
"examples": [
|
|
2361
|
+
"<%= config.bin %> <%= command.id %> <conflict-id> --promotion <promotion-id> --mode auto",
|
|
2362
|
+
"<%= config.bin %> <%= command.id %> <conflict-id> -p <promotion-id> --mode manual --file ./MyClass.cls",
|
|
2363
|
+
"<%= config.bin %> <%= command.id %> <conflict-id> -p <promotion-id> --mode auto --json"
|
|
2364
|
+
],
|
|
2365
|
+
"flags": {
|
|
2366
|
+
"json": {
|
|
2367
|
+
"description": "Format output as json.",
|
|
2368
|
+
"helpGroup": "GLOBAL",
|
|
2369
|
+
"name": "json",
|
|
2370
|
+
"allowNo": false,
|
|
2371
|
+
"type": "boolean"
|
|
2372
|
+
},
|
|
2373
|
+
"file": {
|
|
2374
|
+
"description": "Path to manually resolved conflict content",
|
|
2375
|
+
"name": "file",
|
|
2376
|
+
"hasDynamicHelp": false,
|
|
2377
|
+
"multiple": false,
|
|
2378
|
+
"type": "option"
|
|
2379
|
+
},
|
|
2380
|
+
"mode": {
|
|
2381
|
+
"description": "Conflict resolution mode",
|
|
2382
|
+
"name": "mode",
|
|
2383
|
+
"required": true,
|
|
2384
|
+
"hasDynamicHelp": false,
|
|
2385
|
+
"multiple": false,
|
|
2386
|
+
"options": [
|
|
2387
|
+
"auto",
|
|
2388
|
+
"manual"
|
|
2389
|
+
],
|
|
2390
|
+
"type": "option"
|
|
2391
|
+
},
|
|
2392
|
+
"promotion": {
|
|
2393
|
+
"char": "p",
|
|
2394
|
+
"description": "Copado promotion Id",
|
|
2395
|
+
"name": "promotion",
|
|
2396
|
+
"required": true,
|
|
2397
|
+
"hasDynamicHelp": false,
|
|
2398
|
+
"multiple": false,
|
|
2399
|
+
"type": "option"
|
|
2400
|
+
}
|
|
2401
|
+
},
|
|
2402
|
+
"hasDynamicHelp": false,
|
|
2403
|
+
"hiddenAliases": [],
|
|
2404
|
+
"id": "promotion:conflict:resolve",
|
|
2405
|
+
"pluginAlias": "@copado/agentia-cli",
|
|
2406
|
+
"pluginName": "@copado/agentia-cli",
|
|
2407
|
+
"pluginType": "core",
|
|
2408
|
+
"strict": true,
|
|
2409
|
+
"enableJsonFlag": true,
|
|
2410
|
+
"isESM": true,
|
|
2411
|
+
"relativePath": [
|
|
2412
|
+
"dist",
|
|
2413
|
+
"commands",
|
|
2414
|
+
"promotion",
|
|
2415
|
+
"conflict",
|
|
2416
|
+
"resolve.js"
|
|
2417
|
+
]
|
|
2418
|
+
},
|
|
2419
|
+
"promotion:conflict:unresolve": {
|
|
2420
|
+
"aliases": [],
|
|
2421
|
+
"args": {
|
|
2422
|
+
"id": {
|
|
2423
|
+
"description": "Conflict attachment Id",
|
|
2424
|
+
"name": "id",
|
|
2425
|
+
"required": true
|
|
2426
|
+
}
|
|
2427
|
+
},
|
|
2428
|
+
"description": "Undo a promotion conflict resolution",
|
|
2429
|
+
"examples": [
|
|
2430
|
+
"<%= config.bin %> <%= command.id %> <conflict-id> --promotion <promotion-id>",
|
|
2431
|
+
"<%= config.bin %> <%= command.id %> <conflict-id> -p <promotion-id> --json"
|
|
2432
|
+
],
|
|
2433
|
+
"flags": {
|
|
2434
|
+
"json": {
|
|
2435
|
+
"description": "Format output as json.",
|
|
2436
|
+
"helpGroup": "GLOBAL",
|
|
2437
|
+
"name": "json",
|
|
2438
|
+
"allowNo": false,
|
|
2439
|
+
"type": "boolean"
|
|
2440
|
+
},
|
|
2441
|
+
"promotion": {
|
|
2442
|
+
"char": "p",
|
|
2443
|
+
"description": "Copado promotion Id",
|
|
2444
|
+
"name": "promotion",
|
|
2445
|
+
"required": true,
|
|
2446
|
+
"hasDynamicHelp": false,
|
|
2447
|
+
"multiple": false,
|
|
2448
|
+
"type": "option"
|
|
2449
|
+
}
|
|
2450
|
+
},
|
|
2451
|
+
"hasDynamicHelp": false,
|
|
2452
|
+
"hiddenAliases": [],
|
|
2453
|
+
"id": "promotion:conflict:unresolve",
|
|
2454
|
+
"pluginAlias": "@copado/agentia-cli",
|
|
2455
|
+
"pluginName": "@copado/agentia-cli",
|
|
2456
|
+
"pluginType": "core",
|
|
2457
|
+
"strict": true,
|
|
2458
|
+
"enableJsonFlag": true,
|
|
2459
|
+
"isESM": true,
|
|
2460
|
+
"relativePath": [
|
|
2461
|
+
"dist",
|
|
2462
|
+
"commands",
|
|
2463
|
+
"promotion",
|
|
2464
|
+
"conflict",
|
|
2465
|
+
"unresolve.js"
|
|
2466
|
+
]
|
|
2467
|
+
},
|
|
2250
2468
|
"environment:auth:web:login": {
|
|
2251
2469
|
"aliases": [],
|
|
2252
2470
|
"args": {
|
|
@@ -2258,10 +2476,10 @@
|
|
|
2258
2476
|
},
|
|
2259
2477
|
"description": "Authenticate an environment credential via browser web login",
|
|
2260
2478
|
"examples": [
|
|
2261
|
-
"<%= config.bin %> <%= command.id %>
|
|
2262
|
-
"<%= config.bin %> <%= command.id %>
|
|
2263
|
-
"<%= config.bin %> <%= command.id %>
|
|
2264
|
-
"<%= config.bin %> <%= command.id %>
|
|
2479
|
+
"<%= config.bin %> <%= command.id %> <environment-id>",
|
|
2480
|
+
"<%= config.bin %> <%= command.id %> <environment-id> --credentialid <credential-id>",
|
|
2481
|
+
"<%= config.bin %> <%= command.id %> <environment-id> --port 8085 --timeout 120",
|
|
2482
|
+
"<%= config.bin %> <%= command.id %> <environment-id> --json"
|
|
2265
2483
|
],
|
|
2266
2484
|
"flags": {
|
|
2267
2485
|
"json": {
|
|
@@ -2313,5 +2531,5 @@
|
|
|
2313
2531
|
]
|
|
2314
2532
|
}
|
|
2315
2533
|
},
|
|
2316
|
-
"version": "0.
|
|
2534
|
+
"version": "0.9.0-alpha.0"
|
|
2317
2535
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@copado/agentia-cli",
|
|
3
3
|
"description": "Command-line interface for Agentia",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.9.0-alpha.0",
|
|
5
5
|
"author": "Copado Solutions",
|
|
6
6
|
"bin": {
|
|
7
7
|
"agentia": "./bin/run.js"
|
|
@@ -79,6 +79,9 @@
|
|
|
79
79
|
},
|
|
80
80
|
"project": {
|
|
81
81
|
"description": "Manage Copado projects"
|
|
82
|
+
},
|
|
83
|
+
"promotion": {
|
|
84
|
+
"description": "Manage Copado promotions"
|
|
82
85
|
}
|
|
83
86
|
}
|
|
84
87
|
},
|