@copado/agentia-cli 0.120.0-alpha.0 → 0.122.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/CHANGELOG.md +725 -0
- package/README.md +242 -240
- package/dist/commands/cicd/work/done.js +2 -1
- package/dist/commands/cicd/work/done.js.map +1 -1
- package/dist/commands/cicd/work/publish.js +2 -1
- package/dist/commands/cicd/work/publish.js.map +1 -1
- package/dist/commands/cicd/work/push.js +2 -1
- package/dist/commands/cicd/work/push.js.map +1 -1
- package/dist/commands/cicd/work/set.js +12 -5
- package/dist/commands/cicd/work/set.js.map +1 -1
- package/dist/commands/cicd/work/submit.js +134 -132
- package/dist/commands/cicd/work/submit.js.map +1 -1
- package/dist/lib/agentia-command.d.ts +1 -0
- package/dist/lib/agentia-command.js +14 -1
- package/dist/lib/agentia-command.js.map +1 -1
- package/dist/lib/command-output-buffer.d.ts +31 -0
- package/dist/lib/command-output-buffer.js +124 -0
- package/dist/lib/command-output-buffer.js.map +1 -0
- package/dist/lib/git-worktree.d.ts +9 -1
- package/dist/lib/git-worktree.js +41 -14
- package/dist/lib/git-worktree.js.map +1 -1
- package/dist/lib/mcp/tools.d.ts +20 -8
- package/dist/lib/mcp/work-tools.d.ts +20 -8
- package/dist/lib/mcp/work-tools.js +100 -98
- package/dist/lib/mcp/work-tools.js.map +1 -1
- package/dist/lib/work-publish-command.js +1 -1
- package/dist/lib/work-publish-command.js.map +1 -1
- package/dist/lib/work-push.d.ts +2 -0
- package/dist/lib/work-push.js +20 -6
- package/dist/lib/work-push.js.map +1 -1
- package/dist/lib/work-types.d.ts +10 -0
- package/dist/lib/work-types.js.map +1 -1
- package/dist/lib/yaml-replacement.d.ts +1 -0
- package/dist/lib/yaml-replacement.js +1 -0
- package/dist/lib/yaml-replacement.js.map +1 -1
- package/oclif.manifest.json +638 -638
- package/package.json +8 -2
- package/templates/skills/agentia-cicd/references/work.md +2 -2
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { AgentiaCommand } from '../../../lib/agentia-command.js';
|
|
2
|
+
import { commandStdioCaptureOptions, withCapturedCommandOutput } from '../../../lib/command-output-buffer.js';
|
|
2
3
|
import { runWorkDone, workDoneFlags } from '../../../lib/work-done.js';
|
|
3
4
|
/**
|
|
4
5
|
* Compatibility alias of `cicd work submit --done` (Copado UI Submit when promoting).
|
|
@@ -21,7 +22,7 @@ export default class WorkDone extends AgentiaCommand {
|
|
|
21
22
|
};
|
|
22
23
|
async run() {
|
|
23
24
|
const { flags } = await this.parse(WorkDone);
|
|
24
|
-
return runWorkDone(this, flags);
|
|
25
|
+
return withCapturedCommandOutput(() => runWorkDone(this, flags), commandStdioCaptureOptions(this));
|
|
25
26
|
}
|
|
26
27
|
}
|
|
27
28
|
//# sourceMappingURL=done.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"done.js","sourceRoot":"","sources":["../../../../src/commands/cicd/work/done.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAC,MAAM,iCAAiC,CAAA;AAC9D,OAAO,EAAC,WAAW,EAAE,aAAa,EAAoB,MAAM,2BAA2B,CAAA;AAGvF;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,cAAc;IAClD,MAAM,CAAU,WAAW,GAAG;QAC5B,mCAAmC;QACnC,8DAA8D;QAC9D,0CAA0C;KAC3C,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACX,MAAM,CAAU,QAAQ,GAAG;QACzB,2CAA2C;QAC3C,qCAAqC;QACrC,sEAAsE;QACtE,4CAA4C;KAC7C,CAAA;IACD,MAAM,CAAU,KAAK,GAAG;QACtB,GAAG,aAAa;KACjB,CAAA;IAEM,KAAK,CAAC,GAAG;QACd,MAAM,EAAC,KAAK,EAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;QAC1C,OAAO,WAAW,CAAC,IAA+B,EAAE,KAAK,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"done.js","sourceRoot":"","sources":["../../../../src/commands/cicd/work/done.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAC,MAAM,iCAAiC,CAAA;AAC9D,OAAO,EAAC,0BAA0B,EAAE,yBAAyB,EAAC,MAAM,uCAAuC,CAAA;AAC3G,OAAO,EAAC,WAAW,EAAE,aAAa,EAAoB,MAAM,2BAA2B,CAAA;AAGvF;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,cAAc;IAClD,MAAM,CAAU,WAAW,GAAG;QAC5B,mCAAmC;QACnC,8DAA8D;QAC9D,0CAA0C;KAC3C,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACX,MAAM,CAAU,QAAQ,GAAG;QACzB,2CAA2C;QAC3C,qCAAqC;QACrC,sEAAsE;QACtE,4CAA4C;KAC7C,CAAA;IACD,MAAM,CAAU,KAAK,GAAG;QACtB,GAAG,aAAa;KACjB,CAAA;IAEM,KAAK,CAAC,GAAG;QACd,MAAM,EAAC,KAAK,EAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;QAC1C,OAAO,yBAAyB,CAC9B,GAAG,EAAE,CAAC,WAAW,CAAC,IAA+B,EAAE,KAAK,CAAC,EACzD,0BAA0B,CAAC,IAAI,CAAC,CACjC,CAAA;IACH,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { AgentiaCommand } from '../../../lib/agentia-command.js';
|
|
2
|
+
import { commandStdioCaptureOptions, withCapturedCommandOutput } from '../../../lib/command-output-buffer.js';
|
|
2
3
|
import { runWorkPublish, WORK_PUBLISH_DESCRIPTION, workPublishFlags, } from '../../../lib/work-publish-command.js';
|
|
3
4
|
export default class WorkPublish extends AgentiaCommand {
|
|
4
5
|
static description = WORK_PUBLISH_DESCRIPTION;
|
|
@@ -14,7 +15,7 @@ export default class WorkPublish extends AgentiaCommand {
|
|
|
14
15
|
};
|
|
15
16
|
async run() {
|
|
16
17
|
const { flags } = await this.parse(WorkPublish);
|
|
17
|
-
return runWorkPublish(this, flags);
|
|
18
|
+
return withCapturedCommandOutput(() => runWorkPublish(this, flags), commandStdioCaptureOptions(this));
|
|
18
19
|
}
|
|
19
20
|
}
|
|
20
21
|
//# sourceMappingURL=publish.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publish.js","sourceRoot":"","sources":["../../../../src/commands/cicd/work/publish.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAC,MAAM,iCAAiC,CAAA;AAC9D,OAAO,EACL,cAAc,EACd,wBAAwB,EACxB,gBAAgB,GAEjB,MAAM,sCAAsC,CAAA;AAG7C,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,cAAc;IACrD,MAAM,CAAU,WAAW,GAAG,wBAAwB,CAAA;IACtD,MAAM,CAAU,QAAQ,GAAG;QACzB,qCAAqC;QACrC,uGAAuG;QACvG,oFAAoF;QACpF,sEAAsE;QACtE,4CAA4C;KAC7C,CAAA;IACD,MAAM,CAAU,KAAK,GAAG;QACtB,GAAG,gBAAgB;KACpB,CAAA;IAEM,KAAK,CAAC,GAAG;QACd,MAAM,EAAC,KAAK,EAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;QAC7C,OAAO,cAAc,CAAC,IAAkC,EAAE,KAAK,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"publish.js","sourceRoot":"","sources":["../../../../src/commands/cicd/work/publish.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAC,MAAM,iCAAiC,CAAA;AAC9D,OAAO,EAAC,0BAA0B,EAAE,yBAAyB,EAAC,MAAM,uCAAuC,CAAA;AAC3G,OAAO,EACL,cAAc,EACd,wBAAwB,EACxB,gBAAgB,GAEjB,MAAM,sCAAsC,CAAA;AAG7C,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,cAAc;IACrD,MAAM,CAAU,WAAW,GAAG,wBAAwB,CAAA;IACtD,MAAM,CAAU,QAAQ,GAAG;QACzB,qCAAqC;QACrC,uGAAuG;QACvG,oFAAoF;QACpF,sEAAsE;QACtE,4CAA4C;KAC7C,CAAA;IACD,MAAM,CAAU,KAAK,GAAG;QACtB,GAAG,gBAAgB;KACpB,CAAA;IAEM,KAAK,CAAC,GAAG;QACd,MAAM,EAAC,KAAK,EAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;QAC7C,OAAO,yBAAyB,CAC9B,GAAG,EAAE,CAAC,cAAc,CAAC,IAAkC,EAAE,KAAK,CAAC,EAC/D,0BAA0B,CAAC,IAAI,CAAC,CACjC,CAAA;IACH,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { AgentiaCommand } from '../../../lib/agentia-command.js';
|
|
2
|
+
import { commandStdioCaptureOptions, withCapturedCommandOutput } from '../../../lib/command-output-buffer.js';
|
|
2
3
|
import { runWorkPublish, workPublishFlags, } from '../../../lib/work-publish-command.js';
|
|
3
4
|
/**
|
|
4
5
|
* Compatibility alias of `cicd work publish`.
|
|
@@ -21,7 +22,7 @@ export default class WorkPush extends AgentiaCommand {
|
|
|
21
22
|
};
|
|
22
23
|
async run() {
|
|
23
24
|
const { flags } = await this.parse(WorkPush);
|
|
24
|
-
return runWorkPublish(this, flags);
|
|
25
|
+
return withCapturedCommandOutput(() => runWorkPublish(this, flags), commandStdioCaptureOptions(this));
|
|
25
26
|
}
|
|
26
27
|
}
|
|
27
28
|
//# sourceMappingURL=push.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"push.js","sourceRoot":"","sources":["../../../../src/commands/cicd/work/push.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAC,MAAM,iCAAiC,CAAA;AAC9D,OAAO,EACL,cAAc,EACd,gBAAgB,GAEjB,MAAM,sCAAsC,CAAA;AAG7C;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,cAAc;IAClD,MAAM,CAAU,WAAW,GAAG;QAC5B,6BAA6B;QAC7B,wFAAwF;QACxF,oCAAoC;KACrC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACX,MAAM,CAAU,QAAQ,GAAG;QACzB,qCAAqC;QACrC,qCAAqC;QACrC,sEAAsE;QACtE,4CAA4C;KAC7C,CAAA;IACD,MAAM,CAAU,KAAK,GAAG;QACtB,GAAG,gBAAgB;KACpB,CAAA;IAEM,KAAK,CAAC,GAAG;QACd,MAAM,EAAC,KAAK,EAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;QAC1C,OAAO,cAAc,CAAC,IAAkC,EAAE,KAAK,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"push.js","sourceRoot":"","sources":["../../../../src/commands/cicd/work/push.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAC,MAAM,iCAAiC,CAAA;AAC9D,OAAO,EAAC,0BAA0B,EAAE,yBAAyB,EAAC,MAAM,uCAAuC,CAAA;AAC3G,OAAO,EACL,cAAc,EACd,gBAAgB,GAEjB,MAAM,sCAAsC,CAAA;AAG7C;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,cAAc;IAClD,MAAM,CAAU,WAAW,GAAG;QAC5B,6BAA6B;QAC7B,wFAAwF;QACxF,oCAAoC;KACrC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACX,MAAM,CAAU,QAAQ,GAAG;QACzB,qCAAqC;QACrC,qCAAqC;QACrC,sEAAsE;QACtE,4CAA4C;KAC7C,CAAA;IACD,MAAM,CAAU,KAAK,GAAG;QACtB,GAAG,gBAAgB;KACpB,CAAA;IAEM,KAAK,CAAC,GAAG;QACd,MAAM,EAAC,KAAK,EAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;QAC1C,OAAO,yBAAyB,CAC9B,GAAG,EAAE,CAAC,cAAc,CAAC,IAAkC,EAAE,KAAK,CAAC,EAC/D,0BAA0B,CAAC,IAAI,CAAC,CACjC,CAAA;IACH,CAAC"}
|
|
@@ -3,7 +3,7 @@ import { AgentiaCommand } from '../../../lib/agentia-command.js';
|
|
|
3
3
|
import { CicdGateway } from '../../../lib/cicd-gateway.js';
|
|
4
4
|
import { reconcileWorkSetCredential } from '../../../lib/credential-sync.js';
|
|
5
5
|
import { writeLastWorkSelection } from '../../../lib/defaults-store.js';
|
|
6
|
-
import { checkoutFeatureBranch, fetchOriginBranch, listPendingChanges } from '../../../lib/git-worktree.js';
|
|
6
|
+
import { checkoutFeatureBranch, fetchOriginBranch, fetchOriginBranchIfExists, listPendingChanges, } from '../../../lib/git-worktree.js';
|
|
7
7
|
import { performWorkSetNone, WorkSetNoneValidationError } from '../../../lib/work-set-none.js';
|
|
8
8
|
import { isWorkSetWarning, parseWorkSetSelection, toWorkSetWarningResult } from '../../../lib/work-set-selection.js';
|
|
9
9
|
import { featureBranchName, workSetEndpoint, } from '../../../lib/work-types.js';
|
|
@@ -17,8 +17,9 @@ export default class WorkSet extends AgentiaCommand {
|
|
|
17
17
|
static description = [
|
|
18
18
|
'Set the active work item and prepare a local feature branch.',
|
|
19
19
|
'Calls the CICD gateway work/set endpoint, requires a clean tracked working tree,',
|
|
20
|
-
'fetches the work item base branch from origin,
|
|
21
|
-
'feature/<user-story-name
|
|
20
|
+
'fetches the work item base branch from origin, fetches the feature branch when it',
|
|
21
|
+
'exists on origin, then creates or checks out feature/<user-story-name> from the',
|
|
22
|
+
'remote feature branch when present, otherwise from the base branch.',
|
|
22
23
|
'A gateway warning prints the message, skips git, and leaves local work context unchanged.',
|
|
23
24
|
'After work/set returns, compares the Story source credential with the CICD project default:',
|
|
24
25
|
'warns when the default or Story credential is missing, and warns without changing the Story',
|
|
@@ -132,10 +133,16 @@ export default class WorkSet extends AgentiaCommand {
|
|
|
132
133
|
this.display(() => {
|
|
133
134
|
this.log(`Fetched origin/${baseBranch}.`);
|
|
134
135
|
});
|
|
135
|
-
const
|
|
136
|
+
const fetchedFeature = await this.withSpinner(`Fetching origin/${branch}`, () => fetchOriginBranchIfExists(branch));
|
|
137
|
+
if (fetchedFeature) {
|
|
138
|
+
this.display(() => {
|
|
139
|
+
this.log(`Fetched origin/${branch}.`);
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
const checkout = await this.withSpinner(`Checking out ${branch}`, () => checkoutFeatureBranch(branch, baseBranch, { remoteExists: fetchedFeature }));
|
|
136
143
|
this.display(() => {
|
|
137
144
|
if (checkout.created) {
|
|
138
|
-
this.log(`Created and checked out ${checkout.branch} from
|
|
145
|
+
this.log(`Created and checked out ${checkout.branch} from ${checkout.startPoint}.`);
|
|
139
146
|
}
|
|
140
147
|
else {
|
|
141
148
|
this.log(`Checked out existing branch ${checkout.branch}.`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"set.js","sourceRoot":"","sources":["../../../../src/commands/cicd/work/set.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAE,KAAK,EAAC,MAAM,aAAa,CAAA;AAEvC,OAAO,EAAC,cAAc,EAAC,MAAM,iCAAiC,CAAA;AAC9D,OAAO,EAAC,WAAW,EAAC,MAAM,8BAA8B,CAAA;AACxD,OAAO,EAAC,0BAA0B,EAAC,MAAM,iCAAiC,CAAA;AAC1E,OAAO,EAAC,sBAAsB,EAAC,MAAM,gCAAgC,CAAA;AACrE,OAAO,
|
|
1
|
+
{"version":3,"file":"set.js","sourceRoot":"","sources":["../../../../src/commands/cicd/work/set.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import { Flags } from '@oclif/core';
|
|
|
2
2
|
import path from 'node:path';
|
|
3
3
|
import { AgentiaCommand } from '../../../lib/agentia-command.js';
|
|
4
4
|
import { CicdGateway } from '../../../lib/cicd-gateway.js';
|
|
5
|
+
import { attachCapturedOutputLogs, commandStdioCaptureOptions, withCapturedCommandOutput } from '../../../lib/command-output-buffer.js';
|
|
5
6
|
import { readLastBaseBranch, readLastPullRequestBaseUrl, readSkipPullRequest, } from '../../../lib/defaults-store.js';
|
|
6
7
|
import { listPendingChanges } from '../../../lib/git-worktree.js';
|
|
7
8
|
import { LocalQualityGatesError, resolveLocalQualityGatesScript, runLocalQualityGates, } from '../../../lib/local-quality-gates.js';
|
|
@@ -54,133 +55,94 @@ export default class WorkSubmit extends AgentiaCommand {
|
|
|
54
55
|
async run() {
|
|
55
56
|
const { flags } = await this.parse(WorkSubmit);
|
|
56
57
|
if (this.shouldPromote(flags)) {
|
|
57
|
-
return runWorkDone(this, pickWorkDoneFlags(flags));
|
|
58
|
+
return withCapturedCommandOutput(() => runWorkDone(this, pickWorkDoneFlags(flags)), commandStdioCaptureOptions(this));
|
|
58
59
|
}
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
catch (error) {
|
|
67
|
-
if (error instanceof WorkPushValidationError) {
|
|
68
|
-
this.error(error.message, {
|
|
69
|
-
exit: error.exit,
|
|
70
|
-
suggestions: error.suggestions,
|
|
71
|
-
});
|
|
60
|
+
return withCapturedCommandOutput(async () => {
|
|
61
|
+
const startedAt = Date.now();
|
|
62
|
+
let branch;
|
|
63
|
+
let workItem;
|
|
64
|
+
try {
|
|
65
|
+
;
|
|
66
|
+
({ branch, workItem } = await resolveActiveFeatureWorkItem());
|
|
72
67
|
}
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
try {
|
|
91
|
-
if (flags['skip-local-tests']) {
|
|
92
|
-
this.display(() => {
|
|
93
|
-
this.log('Skipping local quality gates (--skip-local-tests).');
|
|
68
|
+
catch (error) {
|
|
69
|
+
if (error instanceof WorkPushValidationError) {
|
|
70
|
+
this.error(error.message, {
|
|
71
|
+
exit: error.exit,
|
|
72
|
+
suggestions: error.suggestions,
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
throw error;
|
|
76
|
+
}
|
|
77
|
+
const pendingFiles = await listPendingChanges();
|
|
78
|
+
if (pendingFiles.length > 0) {
|
|
79
|
+
this.error([
|
|
80
|
+
'Uncommitted tracked changes present. Commit them, then try again:',
|
|
81
|
+
...pendingFiles.map((file) => ` ${file}`),
|
|
82
|
+
].join('\n'), {
|
|
83
|
+
exit: 2,
|
|
84
|
+
suggestions: ['git add -A && git commit', `${this.config.bin} cicd work submit`],
|
|
94
85
|
});
|
|
95
|
-
qualityGates = await runLocalQualityGates({ skip: true });
|
|
96
86
|
}
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
87
|
+
this.display(() => {
|
|
88
|
+
this.log(`Branch: ${branch}`);
|
|
89
|
+
this.log(`Work item: ${workItem}`);
|
|
90
|
+
});
|
|
91
|
+
let qualityGates;
|
|
92
|
+
try {
|
|
93
|
+
if (flags['skip-local-tests']) {
|
|
100
94
|
this.display(() => {
|
|
101
|
-
this.log(
|
|
95
|
+
this.log('Skipping local quality gates (--skip-local-tests).');
|
|
102
96
|
});
|
|
97
|
+
qualityGates = await runLocalQualityGates({ skip: true });
|
|
103
98
|
}
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
99
|
+
else {
|
|
100
|
+
const scriptPath = resolveLocalQualityGatesScript();
|
|
101
|
+
if (scriptPath !== undefined) {
|
|
102
|
+
this.display(() => {
|
|
103
|
+
this.log(`Running local quality gates (${path.basename(scriptPath)})...`);
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
qualityGates = await runLocalQualityGates({
|
|
107
|
+
apexTestClasses: flags['apex-test-classes'],
|
|
110
108
|
});
|
|
109
|
+
if (qualityGates.ran && qualityGates.scriptPath !== undefined) {
|
|
110
|
+
this.display(() => {
|
|
111
|
+
this.log(`Finished local quality gates (${path.basename(qualityGates.scriptPath)}).`);
|
|
112
|
+
});
|
|
113
|
+
}
|
|
111
114
|
}
|
|
112
|
-
|
|
113
|
-
await reportLocalQualityGatesOutcome({
|
|
114
|
-
onLog: (message) => this.display(() => this.log(message)),
|
|
115
|
-
onWarning: (message) => this.warn(message),
|
|
116
|
-
qualityGates,
|
|
117
|
-
workItem,
|
|
118
|
-
});
|
|
119
|
-
}
|
|
120
|
-
catch (error) {
|
|
121
|
-
if (error instanceof LocalQualityGatesError) {
|
|
122
|
-
this.display(() => {
|
|
123
|
-
this.log(`Finished local quality gates (${path.basename(error.scriptPath)}).`);
|
|
124
|
-
});
|
|
125
|
-
await reportLocalQualityGatesFailure({
|
|
126
|
-
error,
|
|
115
|
+
await reportLocalQualityGatesOutcome({
|
|
127
116
|
onLog: (message) => this.display(() => this.log(message)),
|
|
128
117
|
onWarning: (message) => this.warn(message),
|
|
118
|
+
qualityGates,
|
|
129
119
|
workItem,
|
|
130
120
|
});
|
|
131
|
-
this.error(error.message, {
|
|
132
|
-
exit: error.exitCode || 1,
|
|
133
|
-
suggestions: [`${this.config.bin} cicd work submit --skip-local-tests`],
|
|
134
|
-
});
|
|
135
|
-
}
|
|
136
|
-
throw error;
|
|
137
|
-
}
|
|
138
|
-
let needsPush;
|
|
139
|
-
let skippedForDataSteps = false;
|
|
140
|
-
try {
|
|
141
|
-
const pushNeed = await resolveWorkPushNeed(branch);
|
|
142
|
-
needsPush = pushNeed.needsPush;
|
|
143
|
-
skippedForDataSteps = pushNeed.skippedForDataSteps;
|
|
144
|
-
}
|
|
145
|
-
catch (error) {
|
|
146
|
-
if (error instanceof WorkPushValidationError) {
|
|
147
|
-
this.error(error.message, {
|
|
148
|
-
exit: error.exit,
|
|
149
|
-
suggestions: error.suggestions,
|
|
150
|
-
});
|
|
151
|
-
}
|
|
152
|
-
throw error;
|
|
153
|
-
}
|
|
154
|
-
let pushResult;
|
|
155
|
-
if (needsPush) {
|
|
156
|
-
let pushContext;
|
|
157
|
-
try {
|
|
158
|
-
pushContext = await resolveWorkPushContext();
|
|
159
121
|
}
|
|
160
122
|
catch (error) {
|
|
161
|
-
if (error instanceof
|
|
123
|
+
if (error instanceof LocalQualityGatesError) {
|
|
124
|
+
this.display(() => {
|
|
125
|
+
this.log(`Finished local quality gates (${path.basename(error.scriptPath)}).`);
|
|
126
|
+
});
|
|
127
|
+
await reportLocalQualityGatesFailure({
|
|
128
|
+
error,
|
|
129
|
+
onLog: (message) => this.display(() => this.log(message)),
|
|
130
|
+
onWarning: (message) => this.warn(message),
|
|
131
|
+
workItem,
|
|
132
|
+
});
|
|
162
133
|
this.error(error.message, {
|
|
163
|
-
exit: error.
|
|
164
|
-
suggestions:
|
|
134
|
+
exit: error.exitCode || 1,
|
|
135
|
+
suggestions: [`${this.config.bin} cicd work submit --skip-local-tests`],
|
|
165
136
|
});
|
|
166
137
|
}
|
|
167
138
|
throw error;
|
|
168
139
|
}
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
this.log(`Dev org branch: ${pushContext.devOrgBranch}`);
|
|
172
|
-
this.log('Unpushed commits detected; pushing before submit.');
|
|
173
|
-
});
|
|
140
|
+
let needsPush;
|
|
141
|
+
let skippedForDataSteps = false;
|
|
174
142
|
try {
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
display: (render) => this.display(render),
|
|
179
|
-
log: (message) => this.log(message),
|
|
180
|
-
withSpinner: (message, action) => this.withSpinner(message, action),
|
|
181
|
-
},
|
|
182
|
-
skipNestedMetadataDetection: flags['skip-nested-metadata-detection'],
|
|
183
|
-
});
|
|
143
|
+
const pushNeed = await resolveWorkPushNeed(branch);
|
|
144
|
+
needsPush = pushNeed.needsPush;
|
|
145
|
+
skippedForDataSteps = pushNeed.skippedForDataSteps;
|
|
184
146
|
}
|
|
185
147
|
catch (error) {
|
|
186
148
|
if (error instanceof WorkPushValidationError) {
|
|
@@ -191,34 +153,74 @@ export default class WorkSubmit extends AgentiaCommand {
|
|
|
191
153
|
}
|
|
192
154
|
throw error;
|
|
193
155
|
}
|
|
194
|
-
|
|
195
|
-
|
|
156
|
+
let pushResult;
|
|
157
|
+
if (needsPush) {
|
|
158
|
+
let pushContext;
|
|
159
|
+
try {
|
|
160
|
+
pushContext = await resolveWorkPushContext();
|
|
161
|
+
}
|
|
162
|
+
catch (error) {
|
|
163
|
+
if (error instanceof WorkPushValidationError) {
|
|
164
|
+
this.error(error.message, {
|
|
165
|
+
exit: error.exit,
|
|
166
|
+
suggestions: error.suggestions,
|
|
167
|
+
});
|
|
168
|
+
}
|
|
169
|
+
throw error;
|
|
170
|
+
}
|
|
171
|
+
this.display(() => {
|
|
172
|
+
this.log(`Base branch: ${pushContext.baseBranch}`);
|
|
173
|
+
this.log(`Dev org branch: ${pushContext.devOrgBranch}`);
|
|
174
|
+
this.log('Unpushed commits detected; pushing before submit.');
|
|
175
|
+
});
|
|
176
|
+
try {
|
|
177
|
+
pushResult = await performWorkPush({
|
|
178
|
+
...pushContext,
|
|
179
|
+
hooks: {
|
|
180
|
+
display: (render) => this.display(render),
|
|
181
|
+
log: (message) => this.log(message),
|
|
182
|
+
withSpinner: (message, action) => this.withSpinner(message, action),
|
|
183
|
+
},
|
|
184
|
+
skipNestedMetadataDetection: flags['skip-nested-metadata-detection'],
|
|
185
|
+
});
|
|
186
|
+
}
|
|
187
|
+
catch (error) {
|
|
188
|
+
if (error instanceof WorkPushValidationError) {
|
|
189
|
+
this.error(error.message, {
|
|
190
|
+
exit: error.exit,
|
|
191
|
+
suggestions: error.suggestions,
|
|
192
|
+
});
|
|
193
|
+
}
|
|
194
|
+
throw error;
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
else if (!skippedForDataSteps) {
|
|
198
|
+
this.display(() => {
|
|
199
|
+
this.log('Branch is up to date with origin; skipping push.');
|
|
200
|
+
});
|
|
201
|
+
}
|
|
202
|
+
const submit = await this.withSpinner('Submitting work item', () => CicdGateway.call({
|
|
203
|
+
body: attachCapturedOutputLogs({ workItem }),
|
|
204
|
+
endpoint: workSubmitEndpoint(),
|
|
205
|
+
headers: {
|
|
206
|
+
'Content-Type': 'application/json',
|
|
207
|
+
},
|
|
208
|
+
method: 'POST',
|
|
209
|
+
}));
|
|
196
210
|
this.display(() => {
|
|
197
|
-
this.log(
|
|
211
|
+
this.log(formatWorkCommandMessage(submit.message));
|
|
198
212
|
});
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
this
|
|
210
|
-
this.log(formatWorkCommandMessage(submit.message));
|
|
211
|
-
});
|
|
212
|
-
await this.openPullRequestCompareUrl(branch, flags['skip-pull-request']);
|
|
213
|
-
this.logElapsed(startedAt);
|
|
214
|
-
return {
|
|
215
|
-
branch,
|
|
216
|
-
push: pushResult,
|
|
217
|
-
pushed: needsPush,
|
|
218
|
-
qualityGates,
|
|
219
|
-
submit,
|
|
220
|
-
workItem,
|
|
221
|
-
};
|
|
213
|
+
await this.openPullRequestCompareUrl(branch, flags['skip-pull-request']);
|
|
214
|
+
this.logElapsed(startedAt);
|
|
215
|
+
return {
|
|
216
|
+
branch,
|
|
217
|
+
push: pushResult,
|
|
218
|
+
pushed: needsPush,
|
|
219
|
+
qualityGates,
|
|
220
|
+
submit,
|
|
221
|
+
workItem,
|
|
222
|
+
};
|
|
223
|
+
}, commandStdioCaptureOptions(this));
|
|
222
224
|
}
|
|
223
225
|
async openPullRequestCompareUrl(featureBranch, skipFlag) {
|
|
224
226
|
const pullRequestBaseUrl = (await readLastPullRequestBaseUrl())?.trim();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"submit.js","sourceRoot":"","sources":["../../../../src/commands/cicd/work/submit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAC,MAAM,aAAa,CAAA;AACjC,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,OAAO,EAAC,cAAc,EAAC,MAAM,iCAAiC,CAAA;AAC9D,OAAO,EAAC,WAAW,EAAC,MAAM,8BAA8B,CAAA;AACxD,OAAO,EACL,kBAAkB,EAClB,0BAA0B,EAC1B,mBAAmB,GACpB,MAAM,gCAAgC,CAAA;AACvC,OAAO,EAAC,kBAAkB,EAAC,MAAM,8BAA8B,CAAA;AAC/D,OAAO,EACL,sBAAsB,EACtB,8BAA8B,EAC9B,oBAAoB,GACrB,MAAM,qCAAqC,CAAA;AAC5C,OAAO,EAAC,OAAO,EAAC,MAAM,8BAA8B,CAAA;AACpD,OAAO,EAAC,iBAAiB,EAAE,WAAW,EAAE,aAAa,EAAoB,MAAM,2BAA2B,CAAA;AAC1G,OAAO,EACL,8BAA8B,EAC9B,8BAA8B,GAC/B,MAAM,sCAAsC,CAAA;AAC7C,OAAO,EACL,eAAe,EACf,4BAA4B,EAC5B,sBAAsB,EACtB,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,2BAA2B,CAAA;AAClC,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,
|
|
1
|
+
{"version":3,"file":"submit.js","sourceRoot":"","sources":["../../../../src/commands/cicd/work/submit.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,7 @@ export declare abstract class AgentiaCommand extends Command {
|
|
|
7
7
|
protected _run<T>(): Promise<T>;
|
|
8
8
|
protected display(render: () => void): void;
|
|
9
9
|
protected finally(error: Error | undefined): Promise<unknown>;
|
|
10
|
+
log(message?: string, ...args: string[]): void;
|
|
10
11
|
protected logElapsed(startedAtMs: number): void;
|
|
11
12
|
protected toErrorJson(err: unknown): unknown;
|
|
12
13
|
protected toSuccessJson(result: unknown): unknown;
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { Command, ux } from '@oclif/core';
|
|
2
|
+
import { format } from 'node:util';
|
|
2
3
|
import { createTransactionId, runWithGatewayTransactionContext } from './cicd-gateway.js';
|
|
4
|
+
import { isCommandOutputCaptureActive } from './command-output-buffer.js';
|
|
3
5
|
import { rememberIdeCommandError } from './ide-command-events.js';
|
|
4
6
|
export function elapsedSecondsSince(startedAtMs, nowMs = Date.now()) {
|
|
5
7
|
return Math.max(0, Math.floor((nowMs - startedAtMs) / 1000));
|
|
@@ -16,7 +18,7 @@ export class AgentiaCommand extends Command {
|
|
|
16
18
|
return runWithGatewayTransactionContext({ origin: 'cli', referer: this.id, transactionId }, () => super._run());
|
|
17
19
|
}
|
|
18
20
|
display(render) {
|
|
19
|
-
if (!this.jsonEnabled()) {
|
|
21
|
+
if (!this.jsonEnabled() || isCommandOutputCaptureActive()) {
|
|
20
22
|
render();
|
|
21
23
|
}
|
|
22
24
|
}
|
|
@@ -24,6 +26,14 @@ export class AgentiaCommand extends Command {
|
|
|
24
26
|
rememberIdeCommandError(error);
|
|
25
27
|
return super.finally(error);
|
|
26
28
|
}
|
|
29
|
+
log(message, ...args) {
|
|
30
|
+
if (this.jsonEnabled() && isCommandOutputCaptureActive()) {
|
|
31
|
+
const formatted = format(message ?? '', ...args);
|
|
32
|
+
process.stdout.write(formatted.endsWith('\n') ? formatted : `${formatted}\n`);
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
super.log(message, ...args);
|
|
36
|
+
}
|
|
27
37
|
logElapsed(startedAtMs) {
|
|
28
38
|
this.display(() => {
|
|
29
39
|
this.log(formatElapsedSecondsMessage(elapsedSecondsSince(startedAtMs)));
|
|
@@ -38,6 +48,9 @@ export class AgentiaCommand extends Command {
|
|
|
38
48
|
}
|
|
39
49
|
async withSpinner(message, action) {
|
|
40
50
|
if (this.jsonEnabled()) {
|
|
51
|
+
if (isCommandOutputCaptureActive()) {
|
|
52
|
+
this.log(message);
|
|
53
|
+
}
|
|
41
54
|
return action();
|
|
42
55
|
}
|
|
43
56
|
ux.action.start(message);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agentia-command.js","sourceRoot":"","sources":["../../src/lib/agentia-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAE,EAAE,EAAC,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"agentia-command.js","sourceRoot":"","sources":["../../src/lib/agentia-command.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/** Total captured transcript size for one command. */
|
|
2
|
+
export declare const COMMAND_OUTPUT_MAX_BYTES: number;
|
|
3
|
+
export type CommandStdioCaptureOptions = {
|
|
4
|
+
/** When false, captured stderr is not written through. Default true. */
|
|
5
|
+
forwardStderr?: boolean;
|
|
6
|
+
/** When false, captured stdout is not written through (JSON / MCP). Default true. */
|
|
7
|
+
forwardStdout?: boolean;
|
|
8
|
+
};
|
|
9
|
+
export declare function isCommandOutputCaptureActive(): boolean;
|
|
10
|
+
export declare function redactCommandOutput(text: string): string;
|
|
11
|
+
export declare function appendCommandOutput(text: string): void;
|
|
12
|
+
export declare function appendCommandOutputLine(message?: string): void;
|
|
13
|
+
export declare function commandStdioCaptureOptions(command: {
|
|
14
|
+
jsonEnabled(): boolean;
|
|
15
|
+
}): CommandStdioCaptureOptions;
|
|
16
|
+
export declare const MCP_STDIO_CAPTURE_OPTIONS: CommandStdioCaptureOptions;
|
|
17
|
+
export declare function splitCommandOutputLines(text: string): string[];
|
|
18
|
+
export declare function runWithCommandOutputCapture<T>(fn: () => Promise<T>, options?: CommandStdioCaptureOptions): Promise<{
|
|
19
|
+
logs: string[];
|
|
20
|
+
result: T;
|
|
21
|
+
}>;
|
|
22
|
+
export declare function attachCapturedLogs<T extends object>(result: T, logs: string[]): T & {
|
|
23
|
+
logs?: string[];
|
|
24
|
+
};
|
|
25
|
+
export declare function readCapturedCommandOutputText(): string | undefined;
|
|
26
|
+
export declare function attachCapturedOutputLogs<T extends object>(body: T): T & {
|
|
27
|
+
logs?: string;
|
|
28
|
+
};
|
|
29
|
+
export declare function withCapturedCommandOutput<T extends object>(fn: () => Promise<T>, options?: CommandStdioCaptureOptions): Promise<T & {
|
|
30
|
+
logs?: string[];
|
|
31
|
+
}>;
|