@copado/agentia-cli 0.62.0-alpha.0 → 0.64.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 +364 -153
- package/dist/commands/cicd/metadata/list.d.ts +6 -0
- package/dist/commands/cicd/metadata/list.js +12 -0
- package/dist/commands/cicd/metadata/list.js.map +1 -1
- package/dist/commands/cicd/work/deployment-step/create.d.ts +34 -0
- package/dist/commands/cicd/work/deployment-step/create.js +158 -0
- package/dist/commands/cicd/work/deployment-step/create.js.map +1 -0
- package/dist/commands/cicd/work/deployment-step/delete.d.ts +15 -0
- package/dist/commands/cicd/work/deployment-step/delete.js +41 -0
- package/dist/commands/cicd/work/deployment-step/delete.js.map +1 -0
- package/dist/commands/cicd/work/deployment-step/list.d.ts +10 -0
- package/dist/commands/cicd/work/deployment-step/list.js +44 -0
- package/dist/commands/cicd/work/deployment-step/list.js.map +1 -0
- package/dist/commands/cicd/work/deployment-step/reorder.d.ts +12 -0
- package/dist/commands/cicd/work/deployment-step/reorder.js +80 -0
- package/dist/commands/cicd/work/deployment-step/reorder.js.map +1 -0
- package/dist/commands/cicd/work/deployment-step/types.d.ts +7 -0
- package/dist/commands/cicd/work/deployment-step/types.js +27 -0
- package/dist/commands/cicd/work/deployment-step/types.js.map +1 -0
- package/dist/commands/cicd/work/deployment-step/update.d.ts +20 -0
- package/dist/commands/cicd/work/deployment-step/update.js +83 -0
- package/dist/commands/cicd/work/deployment-step/update.js.map +1 -0
- package/dist/lib/agentia-command.js +1 -1
- package/dist/lib/agentia-command.js.map +1 -1
- package/dist/lib/ai-gateway.js +2 -1
- package/dist/lib/ai-gateway.js.map +1 -1
- package/dist/lib/cicd-gateway.d.ts +7 -1
- package/dist/lib/cicd-gateway.js +16 -2
- package/dist/lib/cicd-gateway.js.map +1 -1
- package/dist/lib/deployment-step-config.d.ts +27 -0
- package/dist/lib/deployment-step-config.js +110 -0
- package/dist/lib/deployment-step-config.js.map +1 -0
- package/dist/lib/deployment-step-types.d.ts +92 -0
- package/dist/lib/deployment-step-types.js +194 -0
- package/dist/lib/deployment-step-types.js.map +1 -0
- package/dist/lib/deployment-step-wizard.d.ts +28 -0
- package/dist/lib/deployment-step-wizard.js +155 -0
- package/dist/lib/deployment-step-wizard.js.map +1 -0
- package/dist/lib/mcp/deployment-step-tools.d.ts +78 -0
- package/dist/lib/mcp/deployment-step-tools.js +205 -0
- package/dist/lib/mcp/deployment-step-tools.js.map +1 -0
- package/dist/lib/mcp/result.d.ts +2 -0
- package/dist/lib/mcp/result.js +10 -0
- package/dist/lib/mcp/result.js.map +1 -1
- package/dist/lib/mcp/server.js +6 -0
- package/dist/lib/mcp/server.js.map +1 -1
- package/dist/lib/mcp/tools.d.ts +65 -0
- package/dist/lib/mcp/tools.js +23 -9
- package/dist/lib/mcp/tools.js.map +1 -1
- package/dist/lib/testing-gateway.js +2 -1
- package/dist/lib/testing-gateway.js.map +1 -1
- package/dist/lib/testing-operations.js +2 -0
- package/dist/lib/testing-operations.js.map +1 -1
- package/oclif.manifest.json +3270 -2692
- package/package.json +4 -1
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { AgentiaCommand } from '../../../lib/agentia-command.js';
|
|
2
2
|
import { type IndexSearchResult, type IndexSource, type ModuleType, type OrderDirection } from '../../../lib/metadata-common.js';
|
|
3
3
|
export type MetadataIndexRequest = {
|
|
4
|
+
changeDateFrom?: string;
|
|
5
|
+
changeDateTo?: string;
|
|
4
6
|
credentialId: string;
|
|
5
7
|
findManagedPackages?: boolean;
|
|
6
8
|
limit?: number;
|
|
@@ -17,6 +19,8 @@ export type MetadataIndexRequest = {
|
|
|
17
19
|
};
|
|
18
20
|
type SearchFlags = {
|
|
19
21
|
'avoid-source-tracking': boolean;
|
|
22
|
+
'change-date-from'?: string;
|
|
23
|
+
'change-date-to'?: string;
|
|
20
24
|
'filter-type'?: string;
|
|
21
25
|
'find-managed-packages': boolean;
|
|
22
26
|
limit?: number;
|
|
@@ -37,6 +41,8 @@ export default class MetadataSearch extends AgentiaCommand {
|
|
|
37
41
|
static examples: string[];
|
|
38
42
|
static flags: {
|
|
39
43
|
'avoid-source-tracking': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
44
|
+
'change-date-from': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
45
|
+
'change-date-to': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
40
46
|
'filter-type': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
41
47
|
'find-managed-packages': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
42
48
|
limit: import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
@@ -11,6 +11,12 @@ export function buildMetadataIndexRequest(flags) {
|
|
|
11
11
|
if (flags['target-org-id']) {
|
|
12
12
|
body.targetOrgId = flags['target-org-id'];
|
|
13
13
|
}
|
|
14
|
+
if (flags['change-date-from'] !== undefined) {
|
|
15
|
+
body.changeDateFrom = flags['change-date-from'];
|
|
16
|
+
}
|
|
17
|
+
if (flags['change-date-to'] !== undefined) {
|
|
18
|
+
body.changeDateTo = flags['change-date-to'];
|
|
19
|
+
}
|
|
14
20
|
if (flags['filter-type']) {
|
|
15
21
|
body.metadataTypeName = flags['filter-type'];
|
|
16
22
|
}
|
|
@@ -51,6 +57,12 @@ export default class MetadataSearch extends AgentiaCommand {
|
|
|
51
57
|
default: false,
|
|
52
58
|
description: 'Pass avoidSourceTracking=true to the gateway index route',
|
|
53
59
|
}),
|
|
60
|
+
'change-date-from': Flags.string({
|
|
61
|
+
description: 'Optional change-date-from filter (ISO datetime)',
|
|
62
|
+
}),
|
|
63
|
+
'change-date-to': Flags.string({
|
|
64
|
+
description: 'Optional change-date-to filter (ISO datetime)',
|
|
65
|
+
}),
|
|
54
66
|
'filter-type': Flags.string({
|
|
55
67
|
description: 'Optional metadata type name filter, for example ApexClass',
|
|
56
68
|
}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../src/commands/cicd/metadata/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAC,MAAM,aAAa,CAAA;AAEjC,OAAO,EAAC,cAAc,EAAC,MAAM,iCAAiC,CAAA;AAC9D,OAAO,EAAC,WAAW,EAAC,MAAM,8BAA8B,CAAA;AACxD,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,aAAa,EAGb,YAAY,EAEZ,kBAAkB,EAClB,gBAAgB,EAEhB,oBAAoB,EACpB,QAAQ,GACT,MAAM,iCAAiC,CAAA;
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../src/commands/cicd/metadata/list.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { AgentiaCommand } from '../../../../lib/agentia-command.js';
|
|
2
|
+
import { type DeploymentStep } from '../../../../lib/deployment-step-types.js';
|
|
3
|
+
export default class WorkDeploymentStepCreate extends AgentiaCommand {
|
|
4
|
+
static description: string;
|
|
5
|
+
static examples: string[];
|
|
6
|
+
static flags: {
|
|
7
|
+
'apex-script': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
8
|
+
'apex-script-file': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
9
|
+
'assignee-id': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
10
|
+
'assignee-name': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
|
+
'config-file': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
12
|
+
'config-json': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
13
|
+
'crt-run-on': import("@oclif/core/interfaces").OptionFlag<"source" | "destination" | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
14
|
+
'crt-test-id': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
15
|
+
'custom-step-api-name': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
16
|
+
'data-set-id': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
17
|
+
'data-template-id': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
18
|
+
environment: import("@oclif/core/interfaces").OptionFlag<"source" | "both" | "destination" | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
19
|
+
'flow-name': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
20
|
+
'function-name': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
21
|
+
instructions: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
22
|
+
interactive: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
23
|
+
name: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
24
|
+
parameter: import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
25
|
+
'queue-name': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
26
|
+
'run-on-validation': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
27
|
+
sequence: import("@oclif/core/interfaces").OptionFlag<"after" | "before" | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
28
|
+
'skip-back-promotion': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
29
|
+
'skip-condition': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
30
|
+
type: import("@oclif/core/interfaces").OptionFlag<"Manual Task" | "Salesforce Flow" | "Function" | "Apex" | "Data Set - Salesforce" | "Data Template - Salesforce" | "Robotic Test" | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
31
|
+
'user-story': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
32
|
+
};
|
|
33
|
+
run(): Promise<DeploymentStep>;
|
|
34
|
+
}
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
import { Flags } from '@oclif/core';
|
|
2
|
+
import { AgentiaCommand } from '../../../../lib/agentia-command.js';
|
|
3
|
+
import { CicdGateway } from '../../../../lib/cicd-gateway.js';
|
|
4
|
+
import { buildFriendlyDeploymentStepConfig, CRT_RUN_ON_VALUES, DEPLOYMENT_STEP_ENVIRONMENTS, hasFriendlyDeploymentStepConfig, } from '../../../../lib/deployment-step-config.js';
|
|
5
|
+
import { buildDeploymentStepCreatePayload, DEPLOYMENT_STEP_STANDARD_TYPES, deploymentStepTypesEndpoint, formatDeploymentStepDetail, normalizeDeploymentStepTypes, userStoryDeploymentStepsEndpoint, } from '../../../../lib/deployment-step-types.js';
|
|
6
|
+
import { collectDeploymentStepCreateInput, confirmDeploymentStepCreate, } from '../../../../lib/deployment-step-wizard.js';
|
|
7
|
+
import { isPromptCanceled } from '../../../../lib/setup-prompts.js';
|
|
8
|
+
import { resolveWorkItemId, WorkActiveResolutionError } from '../../../../lib/work-active.js';
|
|
9
|
+
export default class WorkDeploymentStepCreate extends AgentiaCommand {
|
|
10
|
+
static description = 'Create a deployment step for a user story';
|
|
11
|
+
static examples = [
|
|
12
|
+
'<%= config.bin %> <%= command.id %> --interactive',
|
|
13
|
+
'<%= config.bin %> <%= command.id %> --name "Run robotic smoke test" --type "Robotic Test" --crt-test-id a1t... --crt-run-on destination',
|
|
14
|
+
'<%= config.bin %> <%= command.id %> --name "Run post-deploy flow" --type "Salesforce Flow" --sequence after --config-json \'{"flowName":"Post_Deploy","parameters":[]}\'',
|
|
15
|
+
'<%= config.bin %> <%= command.id %> --name "Deploy Mule application" --custom-step-api-name Deploy_Mule --config-file config.json --json',
|
|
16
|
+
];
|
|
17
|
+
static flags = {
|
|
18
|
+
'apex-script': Flags.string({
|
|
19
|
+
description: 'Apex script for a guided Apex step',
|
|
20
|
+
exclusive: ['apex-script-file'],
|
|
21
|
+
}),
|
|
22
|
+
'apex-script-file': Flags.string({
|
|
23
|
+
description: 'Path to an Apex script for a guided Apex step',
|
|
24
|
+
exclusive: ['apex-script'],
|
|
25
|
+
}),
|
|
26
|
+
'assignee-id': Flags.string({ description: 'Manual Task assignee Salesforce user ID' }),
|
|
27
|
+
'assignee-name': Flags.string({ description: 'Manual Task assignee display name' }),
|
|
28
|
+
'config-file': Flags.string({
|
|
29
|
+
description: 'Path to deployment step config JSON',
|
|
30
|
+
exclusive: ['config-json'],
|
|
31
|
+
}),
|
|
32
|
+
'config-json': Flags.string({
|
|
33
|
+
description: 'Inline deployment step config JSON',
|
|
34
|
+
exclusive: ['config-file'],
|
|
35
|
+
}),
|
|
36
|
+
'crt-run-on': Flags.option({
|
|
37
|
+
description: 'Environment where the Robotic Test runs',
|
|
38
|
+
options: CRT_RUN_ON_VALUES,
|
|
39
|
+
})(),
|
|
40
|
+
'crt-test-id': Flags.string({ description: 'Robotic Test Salesforce ID' }),
|
|
41
|
+
'custom-step-api-name': Flags.string({
|
|
42
|
+
description: 'Custom deployment step API name',
|
|
43
|
+
exclusive: ['type'],
|
|
44
|
+
}),
|
|
45
|
+
'data-set-id': Flags.string({ description: 'Salesforce Data Set ID' }),
|
|
46
|
+
'data-template-id': Flags.string({ description: 'Salesforce Data Template ID' }),
|
|
47
|
+
environment: Flags.option({
|
|
48
|
+
description: 'Manual Task execution environment',
|
|
49
|
+
options: DEPLOYMENT_STEP_ENVIRONMENTS,
|
|
50
|
+
})(),
|
|
51
|
+
'flow-name': Flags.string({ description: 'Salesforce Flow API name' }),
|
|
52
|
+
'function-name': Flags.string({ description: 'Function name' }),
|
|
53
|
+
instructions: Flags.string({ description: 'Manual Task instructions' }),
|
|
54
|
+
interactive: Flags.boolean({
|
|
55
|
+
description: 'Prompt for the type and all required configuration',
|
|
56
|
+
}),
|
|
57
|
+
name: Flags.string({
|
|
58
|
+
description: 'Deployment step name',
|
|
59
|
+
}),
|
|
60
|
+
parameter: Flags.string({
|
|
61
|
+
description: 'Flow or Function parameter as name=value (repeatable)',
|
|
62
|
+
multiple: true,
|
|
63
|
+
}),
|
|
64
|
+
'queue-name': Flags.string({ description: 'Queue name' }),
|
|
65
|
+
'run-on-validation': Flags.boolean({
|
|
66
|
+
allowNo: true,
|
|
67
|
+
description: 'Run or skip the step during validation',
|
|
68
|
+
}),
|
|
69
|
+
sequence: Flags.option({
|
|
70
|
+
description: 'Place the deployment step before or after deployment',
|
|
71
|
+
options: ['before', 'after'],
|
|
72
|
+
})(),
|
|
73
|
+
'skip-back-promotion': Flags.boolean({
|
|
74
|
+
allowNo: true,
|
|
75
|
+
description: 'Skip or include the step during back promotion',
|
|
76
|
+
}),
|
|
77
|
+
'skip-condition': Flags.string({ description: 'Deployment step skip condition' }),
|
|
78
|
+
type: Flags.option({
|
|
79
|
+
description: 'Standard deployment step type',
|
|
80
|
+
exclusive: ['custom-step-api-name'],
|
|
81
|
+
options: DEPLOYMENT_STEP_STANDARD_TYPES,
|
|
82
|
+
})(),
|
|
83
|
+
'user-story': Flags.string({
|
|
84
|
+
description: 'User story ID (defaults to the active work item from `work set`)',
|
|
85
|
+
}),
|
|
86
|
+
};
|
|
87
|
+
// Interactive and explicit headless inputs intentionally share one command surface.
|
|
88
|
+
// eslint-disable-next-line complexity
|
|
89
|
+
async run() {
|
|
90
|
+
const { flags } = await this.parse(WorkDeploymentStepCreate);
|
|
91
|
+
let userStoryId;
|
|
92
|
+
try {
|
|
93
|
+
userStoryId = await resolveWorkItemId(flags['user-story']);
|
|
94
|
+
}
|
|
95
|
+
catch (error) {
|
|
96
|
+
if (error instanceof WorkActiveResolutionError) {
|
|
97
|
+
this.error(error.message, { exit: 1, suggestions: [`${this.config.bin} cicd work set <id>`] });
|
|
98
|
+
}
|
|
99
|
+
throw error;
|
|
100
|
+
}
|
|
101
|
+
let body;
|
|
102
|
+
if (flags.interactive) {
|
|
103
|
+
if (this.jsonEnabled() || !process.stdin.isTTY || !process.stdout.isTTY) {
|
|
104
|
+
this.error('Interactive deployment-step creation requires a TTY and cannot be used with --json.', { exit: 2 });
|
|
105
|
+
}
|
|
106
|
+
const explicitFlags = Object.entries(flags)
|
|
107
|
+
.filter(([key, value]) => key !== 'interactive' && key !== 'user-story' && value !== undefined)
|
|
108
|
+
.map(([key]) => `--${key}`);
|
|
109
|
+
if (explicitFlags.length > 0) {
|
|
110
|
+
this.error(`--interactive cannot be combined with ${explicitFlags.join(', ')}.`, { exit: 2 });
|
|
111
|
+
}
|
|
112
|
+
try {
|
|
113
|
+
const catalogResponse = await this.withSpinner('Fetching deployment step types', () => CicdGateway.call({ endpoint: deploymentStepTypesEndpoint(), method: 'GET' }));
|
|
114
|
+
body = await collectDeploymentStepCreateInput(normalizeDeploymentStepTypes(catalogResponse));
|
|
115
|
+
if (!(await confirmDeploymentStepCreate(body))) {
|
|
116
|
+
this.error('Deployment step creation canceled.', { exit: 1 });
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
catch (error) {
|
|
120
|
+
if (isPromptCanceled(error))
|
|
121
|
+
this.error('Deployment step creation canceled.', { exit: 1 });
|
|
122
|
+
throw error;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
else {
|
|
126
|
+
try {
|
|
127
|
+
const friendly = hasFriendlyDeploymentStepConfig(flags);
|
|
128
|
+
if (friendly && (flags['config-file'] !== undefined || flags['config-json'] !== undefined)) {
|
|
129
|
+
this.error('Type-specific configuration flags cannot be combined with --config-json or --config-file.', {
|
|
130
|
+
exit: 2,
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
const configJson = friendly && flags.type !== undefined
|
|
134
|
+
? buildFriendlyDeploymentStepConfig(flags.type, flags)
|
|
135
|
+
: undefined;
|
|
136
|
+
if (friendly && flags.type === undefined) {
|
|
137
|
+
this.error('Type-specific configuration flags require --type.', { exit: 2 });
|
|
138
|
+
}
|
|
139
|
+
body = buildDeploymentStepCreatePayload({
|
|
140
|
+
...flags,
|
|
141
|
+
...(configJson === undefined ? {} : { 'config-json': JSON.stringify(configJson) }),
|
|
142
|
+
});
|
|
143
|
+
}
|
|
144
|
+
catch (error) {
|
|
145
|
+
this.error(error instanceof Error ? error.message : String(error), { exit: 2 });
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
const step = await this.withSpinner('Creating deployment step', () => CicdGateway.call({
|
|
149
|
+
body,
|
|
150
|
+
endpoint: userStoryDeploymentStepsEndpoint(userStoryId),
|
|
151
|
+
headers: { 'Content-Type': 'application/json' },
|
|
152
|
+
method: 'POST',
|
|
153
|
+
}));
|
|
154
|
+
this.display(() => this.log(formatDeploymentStepDetail(step)));
|
|
155
|
+
return step;
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
//# sourceMappingURL=create.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../../../src/commands/cicd/work/deployment-step/create.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { AgentiaCommand } from '../../../../lib/agentia-command.js';
|
|
2
|
+
type DeleteResult = {
|
|
3
|
+
id: string;
|
|
4
|
+
userStoryId: string;
|
|
5
|
+
};
|
|
6
|
+
export default class WorkDeploymentStepDelete extends AgentiaCommand {
|
|
7
|
+
static description: string;
|
|
8
|
+
static examples: string[];
|
|
9
|
+
static flags: {
|
|
10
|
+
step: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
|
+
'user-story': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
12
|
+
};
|
|
13
|
+
run(): Promise<DeleteResult>;
|
|
14
|
+
}
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { Flags } from '@oclif/core';
|
|
2
|
+
import { AgentiaCommand } from '../../../../lib/agentia-command.js';
|
|
3
|
+
import { CicdGateway } from '../../../../lib/cicd-gateway.js';
|
|
4
|
+
import { userStoryDeploymentStepEndpoint } from '../../../../lib/deployment-step-types.js';
|
|
5
|
+
import { resolveWorkItemId, WorkActiveResolutionError } from '../../../../lib/work-active.js';
|
|
6
|
+
export default class WorkDeploymentStepDelete extends AgentiaCommand {
|
|
7
|
+
static description = 'Delete a user story deployment step';
|
|
8
|
+
static examples = [
|
|
9
|
+
'<%= config.bin %> <%= command.id %> --step a2D...',
|
|
10
|
+
'<%= config.bin %> <%= command.id %> --step a2D... --user-story a16... --json',
|
|
11
|
+
];
|
|
12
|
+
static flags = {
|
|
13
|
+
step: Flags.string({
|
|
14
|
+
description: 'Deployment step ID',
|
|
15
|
+
required: true,
|
|
16
|
+
}),
|
|
17
|
+
'user-story': Flags.string({
|
|
18
|
+
description: 'User story ID (defaults to the active work item from `work set`)',
|
|
19
|
+
}),
|
|
20
|
+
};
|
|
21
|
+
async run() {
|
|
22
|
+
const { flags } = await this.parse(WorkDeploymentStepDelete);
|
|
23
|
+
let userStoryId;
|
|
24
|
+
try {
|
|
25
|
+
userStoryId = await resolveWorkItemId(flags['user-story']);
|
|
26
|
+
}
|
|
27
|
+
catch (error) {
|
|
28
|
+
if (error instanceof WorkActiveResolutionError) {
|
|
29
|
+
this.error(error.message, { exit: 1, suggestions: [`${this.config.bin} cicd work set <id>`] });
|
|
30
|
+
}
|
|
31
|
+
throw error;
|
|
32
|
+
}
|
|
33
|
+
await this.withSpinner('Deleting deployment step', () => CicdGateway.call({
|
|
34
|
+
endpoint: userStoryDeploymentStepEndpoint(userStoryId, flags.step),
|
|
35
|
+
method: 'DELETE',
|
|
36
|
+
}));
|
|
37
|
+
this.display(() => this.log(`Deleted deployment step (ID: ${flags.step}).`));
|
|
38
|
+
return { id: flags.step, userStoryId };
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=delete.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../../../src/commands/cicd/work/deployment-step/delete.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAC,MAAM,aAAa,CAAA;AAEjC,OAAO,EAAC,cAAc,EAAC,MAAM,oCAAoC,CAAA;AACjE,OAAO,EAAC,WAAW,EAAC,MAAM,iCAAiC,CAAA;AAC3D,OAAO,EAAC,+BAA+B,EAAC,MAAM,0CAA0C,CAAA;AACxF,OAAO,EAAC,iBAAiB,EAAE,yBAAyB,EAAC,MAAM,gCAAgC,CAAA;AAI3F,MAAM,CAAC,OAAO,OAAO,wBAAyB,SAAQ,cAAc;IAClE,MAAM,CAAU,WAAW,GAAG,qCAAqC,CAAA;IACnE,MAAM,CAAU,QAAQ,GAAG;QACzB,mDAAmD;QACnD,8EAA8E;KAC/E,CAAA;IACD,MAAM,CAAU,KAAK,GAAG;QACtB,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;YACjB,WAAW,EAAE,oBAAoB;YACjC,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC;YACzB,WAAW,EAAE,kEAAkE;SAChF,CAAC;KACH,CAAA;IAEM,KAAK,CAAC,GAAG;QACd,MAAM,EAAC,KAAK,EAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAA;QAC1D,IAAI,WAAmB,CAAA;QACvB,IAAI,CAAC;YACH,WAAW,GAAG,MAAM,iBAAiB,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAA;QAC5D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,yBAAyB,EAAE,CAAC;gBAC/C,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,EAAC,IAAI,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,qBAAqB,CAAC,EAAC,CAAC,CAAA;YAC9F,CAAC;YAED,MAAM,KAAK,CAAA;QACb,CAAC;QAED,MAAM,IAAI,CAAC,WAAW,CAAC,0BAA0B,EAAE,GAAG,EAAE,CACtD,WAAW,CAAC,IAAI,CAAO;YACrB,QAAQ,EAAE,+BAA+B,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC;YAClE,MAAM,EAAE,QAAQ;SACjB,CAAC,CACH,CAAA;QAED,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,gCAAgC,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAA;QAC5E,OAAO,EAAC,EAAE,EAAE,KAAK,CAAC,IAAI,EAAE,WAAW,EAAC,CAAA;IACtC,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { AgentiaCommand } from '../../../../lib/agentia-command.js';
|
|
2
|
+
import { type DeploymentStep } from '../../../../lib/deployment-step-types.js';
|
|
3
|
+
export default class WorkDeploymentStepList extends AgentiaCommand {
|
|
4
|
+
static description: string;
|
|
5
|
+
static examples: string[];
|
|
6
|
+
static flags: {
|
|
7
|
+
'user-story': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
8
|
+
};
|
|
9
|
+
run(): Promise<DeploymentStep[]>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { Flags } from '@oclif/core';
|
|
2
|
+
import { AgentiaCommand } from '../../../../lib/agentia-command.js';
|
|
3
|
+
import { CicdGateway } from '../../../../lib/cicd-gateway.js';
|
|
4
|
+
import { formatDeploymentStepsTable, normalizeDeploymentSteps, userStoryDeploymentStepsEndpoint, } from '../../../../lib/deployment-step-types.js';
|
|
5
|
+
import { resolveWorkItemId, WorkActiveResolutionError } from '../../../../lib/work-active.js';
|
|
6
|
+
export default class WorkDeploymentStepList extends AgentiaCommand {
|
|
7
|
+
static description = 'List deployment steps for a user story';
|
|
8
|
+
static examples = [
|
|
9
|
+
'<%= config.bin %> <%= command.id %>',
|
|
10
|
+
'<%= config.bin %> <%= command.id %> --user-story a16P700000000001AAA --json',
|
|
11
|
+
];
|
|
12
|
+
static flags = {
|
|
13
|
+
'user-story': Flags.string({
|
|
14
|
+
description: 'User story ID (defaults to the active work item from `work set`)',
|
|
15
|
+
}),
|
|
16
|
+
};
|
|
17
|
+
async run() {
|
|
18
|
+
const { flags } = await this.parse(WorkDeploymentStepList);
|
|
19
|
+
let userStoryId;
|
|
20
|
+
try {
|
|
21
|
+
userStoryId = await resolveWorkItemId(flags['user-story']);
|
|
22
|
+
}
|
|
23
|
+
catch (error) {
|
|
24
|
+
if (error instanceof WorkActiveResolutionError) {
|
|
25
|
+
this.error(error.message, { exit: 1, suggestions: [`${this.config.bin} cicd work set <id>`] });
|
|
26
|
+
}
|
|
27
|
+
throw error;
|
|
28
|
+
}
|
|
29
|
+
const response = await this.withSpinner('Fetching deployment steps', () => CicdGateway.call({
|
|
30
|
+
endpoint: userStoryDeploymentStepsEndpoint(userStoryId),
|
|
31
|
+
method: 'GET',
|
|
32
|
+
}));
|
|
33
|
+
const steps = normalizeDeploymentSteps(response);
|
|
34
|
+
this.display(() => {
|
|
35
|
+
if (steps.length === 0) {
|
|
36
|
+
this.log('No deployment steps found.');
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
this.log(formatDeploymentStepsTable(steps));
|
|
40
|
+
});
|
|
41
|
+
return steps;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../../src/commands/cicd/work/deployment-step/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAC,MAAM,aAAa,CAAA;AAEjC,OAAO,EAAC,cAAc,EAAC,MAAM,oCAAoC,CAAA;AACjE,OAAO,EAAC,WAAW,EAAC,MAAM,iCAAiC,CAAA;AAC3D,OAAO,EAEL,0BAA0B,EAC1B,wBAAwB,EACxB,gCAAgC,GACjC,MAAM,0CAA0C,CAAA;AACjD,OAAO,EAAC,iBAAiB,EAAE,yBAAyB,EAAC,MAAM,gCAAgC,CAAA;AAE3F,MAAM,CAAC,OAAO,OAAO,sBAAuB,SAAQ,cAAc;IAChE,MAAM,CAAU,WAAW,GAAG,wCAAwC,CAAA;IACtE,MAAM,CAAU,QAAQ,GAAG;QACzB,qCAAqC;QACrC,6EAA6E;KAC9E,CAAA;IACD,MAAM,CAAU,KAAK,GAAG;QACtB,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC;YACzB,WAAW,EAAE,kEAAkE;SAChF,CAAC;KACH,CAAA;IAEM,KAAK,CAAC,GAAG;QACd,MAAM,EAAC,KAAK,EAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAA;QACxD,IAAI,WAAmB,CAAA;QACvB,IAAI,CAAC;YACH,WAAW,GAAG,MAAM,iBAAiB,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAA;QAC5D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,yBAAyB,EAAE,CAAC;gBAC/C,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,EAAC,IAAI,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,qBAAqB,CAAC,EAAC,CAAC,CAAA;YAC9F,CAAC;YAED,MAAM,KAAK,CAAA;QACb,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,2BAA2B,EAAE,GAAG,EAAE,CACxE,WAAW,CAAC,IAAI,CAAU;YACxB,QAAQ,EAAE,gCAAgC,CAAC,WAAW,CAAC;YACvD,MAAM,EAAE,KAAK;SACd,CAAC,CACH,CAAA;QACD,MAAM,KAAK,GAAG,wBAAwB,CAAC,QAAQ,CAAC,CAAA;QAEhD,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;YAChB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,IAAI,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAA;gBACtC,OAAM;YACR,CAAC;YAED,IAAI,CAAC,GAAG,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC,CAAA;QAC7C,CAAC,CAAC,CAAA;QACF,OAAO,KAAK,CAAA;IACd,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { AgentiaCommand } from '../../../../lib/agentia-command.js';
|
|
2
|
+
import { type DeploymentStep } from '../../../../lib/deployment-step-types.js';
|
|
3
|
+
export default class WorkDeploymentStepReorder extends AgentiaCommand {
|
|
4
|
+
static description: string;
|
|
5
|
+
static examples: string[];
|
|
6
|
+
static flags: {
|
|
7
|
+
file: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
8
|
+
stdin: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
9
|
+
'user-story': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
10
|
+
};
|
|
11
|
+
run(): Promise<DeploymentStep[]>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { Flags } from '@oclif/core';
|
|
2
|
+
import { readFileSync } from 'node:fs';
|
|
3
|
+
import { AgentiaCommand } from '../../../../lib/agentia-command.js';
|
|
4
|
+
import { CicdGateway } from '../../../../lib/cicd-gateway.js';
|
|
5
|
+
import { parseJsonValue, readStdin } from '../../../../lib/data-flags.js';
|
|
6
|
+
import { formatDeploymentStepsTable, normalizeDeploymentSteps, parseDeploymentStepOrder, userStoryDeploymentStepOrderEndpoint, userStoryDeploymentStepsEndpoint, validateCompleteDeploymentStepOrder, } from '../../../../lib/deployment-step-types.js';
|
|
7
|
+
import { resolveWorkItemId, WorkActiveResolutionError } from '../../../../lib/work-active.js';
|
|
8
|
+
export default class WorkDeploymentStepReorder extends AgentiaCommand {
|
|
9
|
+
static description = 'Replace the complete deployment step order';
|
|
10
|
+
static examples = [
|
|
11
|
+
'<%= config.bin %> <%= command.id %> --file order.json',
|
|
12
|
+
'cat order.json | <%= config.bin %> <%= command.id %> --stdin --json',
|
|
13
|
+
];
|
|
14
|
+
static flags = {
|
|
15
|
+
file: Flags.string({
|
|
16
|
+
description: 'Path to a complete deployment step order JSON file',
|
|
17
|
+
exclusive: ['stdin'],
|
|
18
|
+
}),
|
|
19
|
+
stdin: Flags.boolean({
|
|
20
|
+
description: 'Read the complete deployment step order from stdin',
|
|
21
|
+
exclusive: ['file'],
|
|
22
|
+
}),
|
|
23
|
+
'user-story': Flags.string({
|
|
24
|
+
description: 'User story ID (defaults to the active work item from `work set`)',
|
|
25
|
+
}),
|
|
26
|
+
};
|
|
27
|
+
async run() {
|
|
28
|
+
const { flags } = await this.parse(WorkDeploymentStepReorder);
|
|
29
|
+
if (flags.file === undefined && !flags.stdin) {
|
|
30
|
+
this.error('Provide --file or --stdin.', { exit: 2 });
|
|
31
|
+
}
|
|
32
|
+
const raw = flags.file === undefined ? await readStdin() : readFileSync(flags.file, 'utf8');
|
|
33
|
+
if (raw.trim().length === 0)
|
|
34
|
+
this.error('Deployment step order input was empty.', { exit: 2 });
|
|
35
|
+
let order;
|
|
36
|
+
try {
|
|
37
|
+
order = parseDeploymentStepOrder(parseJsonValue(raw, 'deployment step order'));
|
|
38
|
+
}
|
|
39
|
+
catch (error) {
|
|
40
|
+
this.error(error instanceof Error ? error.message : String(error), { exit: 2 });
|
|
41
|
+
}
|
|
42
|
+
let userStoryId;
|
|
43
|
+
try {
|
|
44
|
+
userStoryId = await resolveWorkItemId(flags['user-story']);
|
|
45
|
+
}
|
|
46
|
+
catch (error) {
|
|
47
|
+
if (error instanceof WorkActiveResolutionError) {
|
|
48
|
+
this.error(error.message, { exit: 1, suggestions: [`${this.config.bin} cicd work set <id>`] });
|
|
49
|
+
}
|
|
50
|
+
throw error;
|
|
51
|
+
}
|
|
52
|
+
const currentResponse = await this.withSpinner('Fetching deployment steps', () => CicdGateway.call({
|
|
53
|
+
endpoint: userStoryDeploymentStepsEndpoint(userStoryId),
|
|
54
|
+
method: 'GET',
|
|
55
|
+
}));
|
|
56
|
+
const current = normalizeDeploymentSteps(currentResponse);
|
|
57
|
+
try {
|
|
58
|
+
validateCompleteDeploymentStepOrder(order, current);
|
|
59
|
+
}
|
|
60
|
+
catch (error) {
|
|
61
|
+
this.error(error instanceof Error ? error.message : String(error), { exit: 2 });
|
|
62
|
+
}
|
|
63
|
+
const response = await this.withSpinner('Reordering deployment steps', () => CicdGateway.call({
|
|
64
|
+
body: order,
|
|
65
|
+
endpoint: userStoryDeploymentStepOrderEndpoint(userStoryId),
|
|
66
|
+
headers: { 'Content-Type': 'application/json' },
|
|
67
|
+
method: 'PUT',
|
|
68
|
+
}));
|
|
69
|
+
const steps = normalizeDeploymentSteps(response);
|
|
70
|
+
this.display(() => {
|
|
71
|
+
if (steps.length === 0) {
|
|
72
|
+
this.log('Deployment steps reordered.');
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
this.log(formatDeploymentStepsTable(steps));
|
|
76
|
+
});
|
|
77
|
+
return steps;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=reorder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reorder.js","sourceRoot":"","sources":["../../../../../src/commands/cicd/work/deployment-step/reorder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { AgentiaCommand } from '../../../../lib/agentia-command.js';
|
|
2
|
+
import { type DeploymentStepType } from '../../../../lib/deployment-step-types.js';
|
|
3
|
+
export default class WorkDeploymentStepTypes extends AgentiaCommand {
|
|
4
|
+
static description: string;
|
|
5
|
+
static examples: string[];
|
|
6
|
+
run(): Promise<DeploymentStepType[]>;
|
|
7
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { AgentiaCommand } from '../../../../lib/agentia-command.js';
|
|
2
|
+
import { CicdGateway } from '../../../../lib/cicd-gateway.js';
|
|
3
|
+
import { deploymentStepTypesEndpoint, formatDeploymentStepTypesTable, normalizeDeploymentStepTypes, } from '../../../../lib/deployment-step-types.js';
|
|
4
|
+
export default class WorkDeploymentStepTypes extends AgentiaCommand {
|
|
5
|
+
static description = 'List available deployment step types';
|
|
6
|
+
static examples = [
|
|
7
|
+
'<%= config.bin %> <%= command.id %>',
|
|
8
|
+
'<%= config.bin %> <%= command.id %> --json',
|
|
9
|
+
];
|
|
10
|
+
async run() {
|
|
11
|
+
await this.parse(WorkDeploymentStepTypes);
|
|
12
|
+
const response = await this.withSpinner('Fetching deployment step types', () => CicdGateway.call({
|
|
13
|
+
endpoint: deploymentStepTypesEndpoint(),
|
|
14
|
+
method: 'GET',
|
|
15
|
+
}));
|
|
16
|
+
const types = normalizeDeploymentStepTypes(response);
|
|
17
|
+
this.display(() => {
|
|
18
|
+
if (types.length === 0) {
|
|
19
|
+
this.log('No deployment step types found.');
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
this.log(formatDeploymentStepTypesTable(types));
|
|
23
|
+
});
|
|
24
|
+
return types;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/commands/cicd/work/deployment-step/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAC,MAAM,oCAAoC,CAAA;AACjE,OAAO,EAAC,WAAW,EAAC,MAAM,iCAAiC,CAAA;AAC3D,OAAO,EAEL,2BAA2B,EAC3B,8BAA8B,EAC9B,4BAA4B,GAC7B,MAAM,0CAA0C,CAAA;AAEjD,MAAM,CAAC,OAAO,OAAO,uBAAwB,SAAQ,cAAc;IACjE,MAAM,CAAU,WAAW,GAAG,sCAAsC,CAAA;IACpE,MAAM,CAAU,QAAQ,GAAG;QACzB,qCAAqC;QACrC,4CAA4C;KAC7C,CAAA;IAEM,KAAK,CAAC,GAAG;QACd,MAAM,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAA;QACzC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,gCAAgC,EAAE,GAAG,EAAE,CAC7E,WAAW,CAAC,IAAI,CAAU;YACxB,QAAQ,EAAE,2BAA2B,EAAE;YACvC,MAAM,EAAE,KAAK;SACd,CAAC,CACH,CAAA;QACD,MAAM,KAAK,GAAG,4BAA4B,CAAC,QAAQ,CAAC,CAAA;QAEpD,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;YAChB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,IAAI,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAA;gBAC3C,OAAM;YACR,CAAC;YAED,IAAI,CAAC,GAAG,CAAC,8BAA8B,CAAC,KAAK,CAAC,CAAC,CAAA;QACjD,CAAC,CAAC,CAAA;QACF,OAAO,KAAK,CAAA;IACd,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { AgentiaCommand } from '../../../../lib/agentia-command.js';
|
|
2
|
+
import { type DeploymentStep } from '../../../../lib/deployment-step-types.js';
|
|
3
|
+
export default class WorkDeploymentStepUpdate extends AgentiaCommand {
|
|
4
|
+
static description: string;
|
|
5
|
+
static examples: string[];
|
|
6
|
+
static flags: {
|
|
7
|
+
'clear-queue-name': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
8
|
+
'clear-skip-condition': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
9
|
+
'config-file': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
10
|
+
'config-json': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
|
+
name: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
12
|
+
'queue-name': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
13
|
+
'run-on-validation': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
14
|
+
'skip-back-promotion': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
15
|
+
'skip-condition': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
16
|
+
step: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
17
|
+
'user-story': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
18
|
+
};
|
|
19
|
+
run(): Promise<DeploymentStep>;
|
|
20
|
+
}
|