@copado/agentia-cli 1.0.0-beta.9 → 1.0.0-rc.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 +19 -0
- package/README.md +330 -278
- package/dist/commands/cicd/work/ahead-behind.js +51 -0
- package/dist/commands/cicd/work/environment-sync.js +1 -0
- package/dist/commands/cicd/work/submit.js +17 -4
- package/dist/commands/update.js +10 -2
- package/dist/lib/cli-version.js +6 -2
- package/dist/lib/headless-file-upload.js +10 -0
- package/dist/lib/java-runtime.js +6 -0
- package/dist/lib/mcp/work-tools.js +18 -4
- package/dist/lib/runtime.js +1 -1
- package/dist/lib/version-warning.js +24 -8
- package/dist/lib/work-ahead-behind.js +5 -0
- package/dist/lib/work-push.js +2 -1
- package/dist/lib/work-types.js +2 -1
- package/oclif.manifest.json +809 -746
- package/package.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { spawn } from 'node:child_process';
|
|
2
2
|
import { fileURLToPath } from 'node:url';
|
|
3
|
-
import {
|
|
3
|
+
import { isVersionCacheStale, readVersionCache, resolveUpdateCandidate, versionCachePath, } from './cli-version.js';
|
|
4
4
|
let spawnRefreshFn = spawnVersionRefresh;
|
|
5
5
|
let spawnChildFn = spawn;
|
|
6
6
|
const LOCAL_DEVELOPMENT_VERSION = '0.0.0-dev.0';
|
|
@@ -21,8 +21,9 @@ export function isJsonOutputRequested(argv, contentType) {
|
|
|
21
21
|
}
|
|
22
22
|
return passThroughIndex === -1 || jsonIndex < passThroughIndex;
|
|
23
23
|
}
|
|
24
|
-
export function formatVersionWarning(currentVersion, latestVersion, colorize = (text) => text) {
|
|
25
|
-
|
|
24
|
+
export function formatVersionWarning(currentVersion, latestVersion, channel, colorize = (text) => text) {
|
|
25
|
+
const channelLabel = channel === 'latest' ? 'stable' : channel;
|
|
26
|
+
return `Agentia CLI ${channelLabel} update available from ${currentVersion} to ${latestVersion}. Run \`${colorize('agentia update')}\`.`;
|
|
26
27
|
}
|
|
27
28
|
export function spawnVersionRefresh(cachePath) {
|
|
28
29
|
const workerPath = fileURLToPath(new URL('version-refresh.js', import.meta.url));
|
|
@@ -42,13 +43,27 @@ export async function checkVersionWarning(options) {
|
|
|
42
43
|
}
|
|
43
44
|
const cachePath = versionCachePath(options.cacheDir);
|
|
44
45
|
const cache = await readVersionCache(cachePath);
|
|
46
|
+
let channel;
|
|
45
47
|
let latestVersion;
|
|
46
48
|
let warning;
|
|
47
|
-
if (cache
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
49
|
+
if (cache !== undefined && (cache.rc !== undefined || cache.latest !== undefined)) {
|
|
50
|
+
try {
|
|
51
|
+
const candidate = resolveUpdateCandidate({
|
|
52
|
+
currentVersion: options.currentVersion,
|
|
53
|
+
tags: {
|
|
54
|
+
...(cache.latest === undefined ? {} : { latest: cache.latest }),
|
|
55
|
+
...(cache.rc === undefined ? {} : { rc: cache.rc }),
|
|
56
|
+
},
|
|
57
|
+
});
|
|
58
|
+
if (candidate.updateAvailable) {
|
|
59
|
+
channel = candidate.channel;
|
|
60
|
+
latestVersion = candidate.latestVersion;
|
|
61
|
+
warning = formatVersionWarning(options.currentVersion, candidate.latestVersion, candidate.channel, options.colorize);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
catch {
|
|
65
|
+
// Cache contents can be incomplete or invalid; refresh will reconcile.
|
|
66
|
+
}
|
|
52
67
|
}
|
|
53
68
|
const refreshStarted = isVersionCacheStale(cache, options.now);
|
|
54
69
|
if (refreshStarted) {
|
|
@@ -56,6 +71,7 @@ export async function checkVersionWarning(options) {
|
|
|
56
71
|
}
|
|
57
72
|
return {
|
|
58
73
|
refreshStarted,
|
|
74
|
+
...(channel === undefined ? {} : { channel }),
|
|
59
75
|
...(latestVersion === undefined ? {} : { latestVersion }),
|
|
60
76
|
...(warning === undefined ? {} : { warning }),
|
|
61
77
|
};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import {modules} from './runtime.js';
|
|
2
|
+
const WorkAheadBehindValidationError = modules["work-ahead-behind.js"]["WorkAheadBehindValidationError"]
|
|
3
|
+
const formatWorkAheadBehindResult = modules["work-ahead-behind.js"]["formatWorkAheadBehindResult"]
|
|
4
|
+
const performWorkAheadBehind = modules["work-ahead-behind.js"]["performWorkAheadBehind"]
|
|
5
|
+
export {WorkAheadBehindValidationError, formatWorkAheadBehindResult, performWorkAheadBehind};
|
package/dist/lib/work-push.js
CHANGED
|
@@ -22,4 +22,5 @@ const resolveWorkPushContext = modules["work-push.js"]["resolveWorkPushContext"]
|
|
|
22
22
|
const resolveWorkPushNeed = modules["work-push.js"]["resolveWorkPushNeed"]
|
|
23
23
|
const resolveWorkPushRetryDelaySeconds = modules["work-push.js"]["resolveWorkPushRetryDelaySeconds"]
|
|
24
24
|
const setSleepForTests = modules["work-push.js"]["setSleepForTests"]
|
|
25
|
-
|
|
25
|
+
const uploadCapturedPublishLogsBestEffort = modules["work-push.js"]["uploadCapturedPublishLogsBestEffort"]
|
|
26
|
+
export {SKIP_NESTED_METADATA_DETECTION_CONFIG_MESSAGE, SKIP_NESTED_METADATA_DETECTION_REQUEST_MESSAGE, WORK_PUSH_RETRY_DOUBLE_AFTER_SECONDS, WorkPushValidationError, buildNestedMetadataItemChanges, buildWorkPushChangeListUpdate, capturingWorkPushHooks, listChangedFilesFromCommits, mergeWorkPushRetrieveOnly, mergeWorkPushSelections, parseFullMetadataSelections, parsePermissionSelections, performWorkPush, readWorkPushFullMetadata, readWorkPushRetrieveOnly, registerHeadlessPush, resetSleepForTests, resolveActiveFeatureWorkItem, resolveRecordedBaseBranch, resolveWorkPushContext, resolveWorkPushNeed, resolveWorkPushRetryDelaySeconds, setSleepForTests, uploadCapturedPublishLogsBestEffort};
|
package/dist/lib/work-types.js
CHANGED
|
@@ -4,6 +4,7 @@ const applySourceCredentialEnvironmentRule = modules["work-types.js"]["applySour
|
|
|
4
4
|
const buildPullRequestCompareUrl = modules["work-types.js"]["buildPullRequestCompareUrl"]
|
|
5
5
|
const extractUserStoryFromFeatureBranch = modules["work-types.js"]["extractUserStoryFromFeatureBranch"]
|
|
6
6
|
const featureBranchName = modules["work-types.js"]["featureBranchName"]
|
|
7
|
+
const fileUploadEndpoint = modules["work-types.js"]["fileUploadEndpoint"]
|
|
7
8
|
const formatHeadlessJobTable = modules["work-types.js"]["formatHeadlessJobTable"]
|
|
8
9
|
const formatUserStoryDetail = modules["work-types.js"]["formatUserStoryDetail"]
|
|
9
10
|
const formatUserStoryTable = modules["work-types.js"]["formatUserStoryTable"]
|
|
@@ -26,4 +27,4 @@ const workRunTestsLocalEndpoint = modules["work-types.js"]["workRunTestsLocalEnd
|
|
|
26
27
|
const workSetEndpoint = modules["work-types.js"]["workSetEndpoint"]
|
|
27
28
|
const workStatusEndpoint = modules["work-types.js"]["workStatusEndpoint"]
|
|
28
29
|
const workSubmitEndpoint = modules["work-types.js"]["workSubmitEndpoint"]
|
|
29
|
-
export {WORK_LIST_FILTER_KEYS, applySourceCredentialEnvironmentRule, buildPullRequestCompareUrl, extractUserStoryFromFeatureBranch, featureBranchName, formatHeadlessJobTable, formatUserStoryDetail, formatUserStoryTable, formatWorkBranchMetadata, formatWorkCommandMessage, formatWorkStatus, normalizeUserStories, normalizeUserStoriesListPage, parseNameStatusLog, userStoriesAheadBehindEndpoint, workCreateEndpoint, workDoneEndpoint, workEndpoint, workGetEndpoint, workListEndpoint, workPushEndpoint, workPushLockEndpoint, workPushReplacementRulesEndpoint, workRunTestsLocalEndpoint, workSetEndpoint, workStatusEndpoint, workSubmitEndpoint};
|
|
30
|
+
export {WORK_LIST_FILTER_KEYS, applySourceCredentialEnvironmentRule, buildPullRequestCompareUrl, extractUserStoryFromFeatureBranch, featureBranchName, fileUploadEndpoint, formatHeadlessJobTable, formatUserStoryDetail, formatUserStoryTable, formatWorkBranchMetadata, formatWorkCommandMessage, formatWorkStatus, normalizeUserStories, normalizeUserStoriesListPage, parseNameStatusLog, userStoriesAheadBehindEndpoint, workCreateEndpoint, workDoneEndpoint, workEndpoint, workGetEndpoint, workListEndpoint, workPushEndpoint, workPushLockEndpoint, workPushReplacementRulesEndpoint, workRunTestsLocalEndpoint, workSetEndpoint, workStatusEndpoint, workSubmitEndpoint};
|