@ai-support-agent/cli 0.0.28-beta.0 → 0.0.29-beta.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/dist/docker/docker-runner.d.ts +14 -0
- package/dist/docker/docker-runner.d.ts.map +1 -1
- package/dist/docker/docker-runner.js +44 -1
- package/dist/docker/docker-runner.js.map +1 -1
- package/dist/update-checker.d.ts +1 -10
- package/dist/update-checker.d.ts.map +1 -1
- package/dist/update-checker.js +5 -40
- package/dist/update-checker.js.map +1 -1
- package/dist/utils/version.d.ts +15 -0
- package/dist/utils/version.d.ts.map +1 -0
- package/dist/utils/version.js +47 -0
- package/dist/utils/version.js.map +1 -0
- package/package.json +1 -1
|
@@ -21,6 +21,20 @@ export declare function buildVolumeMounts(): {
|
|
|
21
21
|
};
|
|
22
22
|
export declare function buildEnvArgs(projectMappings: ProjectDirMapping[]): string[];
|
|
23
23
|
export declare function buildContainerArgs(opts: DockerRunOptions): string[];
|
|
24
|
+
/**
|
|
25
|
+
* Get the currently installed version of @ai-support-agent/cli from npm global.
|
|
26
|
+
* Falls back to AGENT_VERSION if npm query fails.
|
|
27
|
+
* Result is cached after the first call.
|
|
28
|
+
*
|
|
29
|
+
* NOTE: Must only be called from host-side code (i.e. runInDocker).
|
|
30
|
+
* Inside a Docker container the process runs with --no-docker, so
|
|
31
|
+
* ensureImage() / getInstalledVersion() are never reached.
|
|
32
|
+
*/
|
|
33
|
+
export declare function getInstalledVersion(): string;
|
|
34
|
+
/**
|
|
35
|
+
* Reset the cached installed version (for testing).
|
|
36
|
+
*/
|
|
37
|
+
export declare function resetInstalledVersionCache(): void;
|
|
24
38
|
export declare function ensureImage(): string;
|
|
25
39
|
export declare function dockerLogin(): void;
|
|
26
40
|
export declare function runInDocker(opts: DockerRunOptions): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docker-runner.d.ts","sourceRoot":"","sources":["../../src/docker/docker-runner.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"docker-runner.d.ts","sourceRoot":"","sources":["../../src/docker/docker-runner.ts"],"names":[],"mappings":"AA4BA,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,wBAAgB,oBAAoB,IAAI,OAAO,CAO9C;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAOpD;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAUhD;AAOD,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAA;IACf,YAAY,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,wBAAgB,iBAAiB,IAAI;IAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAAC,eAAe,EAAE,iBAAiB,EAAE,CAAA;CAAE,CAmE9F;AAED,wBAAgB,YAAY,CAAC,eAAe,EAAE,iBAAiB,EAAE,GAAG,MAAM,EAAE,CAmC3E;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,gBAAgB,GAAG,MAAM,EAAE,CA0BnE;AAID;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAqB5C;AAED;;GAEG;AACH,wBAAgB,0BAA0B,IAAI,IAAI,CAEjD;AAED,wBAAgB,WAAW,IAAI,MAAM,CAUpC;AAED,wBAAgB,WAAW,IAAI,IAAI,CAWlC;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI,CA+CxD"}
|
|
@@ -39,6 +39,8 @@ exports.buildImage = buildImage;
|
|
|
39
39
|
exports.buildVolumeMounts = buildVolumeMounts;
|
|
40
40
|
exports.buildEnvArgs = buildEnvArgs;
|
|
41
41
|
exports.buildContainerArgs = buildContainerArgs;
|
|
42
|
+
exports.getInstalledVersion = getInstalledVersion;
|
|
43
|
+
exports.resetInstalledVersionCache = resetInstalledVersionCache;
|
|
42
44
|
exports.ensureImage = ensureImage;
|
|
43
45
|
exports.dockerLogin = dockerLogin;
|
|
44
46
|
exports.runInDocker = runInDocker;
|
|
@@ -53,6 +55,7 @@ const i18n_1 = require("../i18n");
|
|
|
53
55
|
const logger_1 = require("../logger");
|
|
54
56
|
const security_1 = require("../security");
|
|
55
57
|
const claude_config_validator_1 = require("../utils/claude-config-validator");
|
|
58
|
+
const version_1 = require("../utils/version");
|
|
56
59
|
/** Convert a path.relative() result to POSIX format for container use */
|
|
57
60
|
function toPosixRelative(relativePath) {
|
|
58
61
|
return relativePath.split(path.sep).join('/');
|
|
@@ -215,8 +218,48 @@ function buildContainerArgs(opts) {
|
|
|
215
218
|
}
|
|
216
219
|
return args;
|
|
217
220
|
}
|
|
221
|
+
let cachedInstalledVersion = null;
|
|
222
|
+
/**
|
|
223
|
+
* Get the currently installed version of @ai-support-agent/cli from npm global.
|
|
224
|
+
* Falls back to AGENT_VERSION if npm query fails.
|
|
225
|
+
* Result is cached after the first call.
|
|
226
|
+
*
|
|
227
|
+
* NOTE: Must only be called from host-side code (i.e. runInDocker).
|
|
228
|
+
* Inside a Docker container the process runs with --no-docker, so
|
|
229
|
+
* ensureImage() / getInstalledVersion() are never reached.
|
|
230
|
+
*/
|
|
231
|
+
function getInstalledVersion() {
|
|
232
|
+
if (cachedInstalledVersion !== null)
|
|
233
|
+
return cachedInstalledVersion;
|
|
234
|
+
try {
|
|
235
|
+
const npmCmd = process.platform === 'win32' ? 'npm.cmd' : 'npm';
|
|
236
|
+
const output = (0, child_process_1.execFileSync)(npmCmd, ['list', '-g', '--json', '--depth=0'], {
|
|
237
|
+
encoding: 'utf-8',
|
|
238
|
+
timeout: 10_000,
|
|
239
|
+
});
|
|
240
|
+
const parsed = JSON.parse(output);
|
|
241
|
+
const version = parsed.dependencies?.['@ai-support-agent/cli']?.version;
|
|
242
|
+
if (version && (0, version_1.isValidVersion)(version)) {
|
|
243
|
+
cachedInstalledVersion = version;
|
|
244
|
+
return version;
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
catch {
|
|
248
|
+
// npm list failed — fall back to compile-time version
|
|
249
|
+
}
|
|
250
|
+
cachedInstalledVersion = constants_1.AGENT_VERSION;
|
|
251
|
+
return constants_1.AGENT_VERSION;
|
|
252
|
+
}
|
|
253
|
+
/**
|
|
254
|
+
* Reset the cached installed version (for testing).
|
|
255
|
+
*/
|
|
256
|
+
function resetInstalledVersionCache() {
|
|
257
|
+
cachedInstalledVersion = null;
|
|
258
|
+
}
|
|
218
259
|
function ensureImage() {
|
|
219
|
-
const
|
|
260
|
+
const installedVersion = getInstalledVersion();
|
|
261
|
+
// Use the installed version if it is newer than the compile-time version
|
|
262
|
+
const version = (0, version_1.isNewerVersion)(constants_1.AGENT_VERSION, installedVersion) ? installedVersion : constants_1.AGENT_VERSION;
|
|
220
263
|
if (!imageExists(version)) {
|
|
221
264
|
buildImage(version);
|
|
222
265
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docker-runner.js","sourceRoot":"","sources":["../../src/docker/docker-runner.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"docker-runner.js","sourceRoot":"","sources":["../../src/docker/docker-runner.ts"],"names":[],"mappings":"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"}
|
package/dist/update-checker.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { InstallMethod, ReleaseChannel } from './types';
|
|
2
|
+
export { isNewerVersion, isValidVersion } from './utils/version';
|
|
2
3
|
/**
|
|
3
4
|
* Get the global npm prefix path (e.g. /usr/local).
|
|
4
5
|
* Result is cached after the first call.
|
|
@@ -18,16 +19,6 @@ export declare function detectInstallMethod(): InstallMethod;
|
|
|
18
19
|
* e.g. "0.0.4-beta.21" → "beta", "0.0.4-alpha.3" → "alpha", "0.0.4" → "latest"
|
|
19
20
|
*/
|
|
20
21
|
export declare function detectChannelFromVersion(version: string): ReleaseChannel;
|
|
21
|
-
/**
|
|
22
|
-
* Compare two semver strings.
|
|
23
|
-
* Returns true if `latest` is newer than `current`.
|
|
24
|
-
* Supports pre-release tags (e.g. 1.0.0-beta.1 < 1.0.0).
|
|
25
|
-
*/
|
|
26
|
-
export declare function isNewerVersion(current: string, latest: string): boolean;
|
|
27
|
-
/**
|
|
28
|
-
* Validate that a version string looks like semver.
|
|
29
|
-
*/
|
|
30
|
-
export declare function isValidVersion(version: string): boolean;
|
|
31
22
|
/**
|
|
32
23
|
* Check if the current user has write permission to the npm global directory.
|
|
33
24
|
* Returns true if writable, false otherwise.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-checker.d.ts","sourceRoot":"","sources":["../src/update-checker.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"update-checker.d.ts","sourceRoot":"","sources":["../src/update-checker.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAE5D,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAIhE;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAS3C;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,IAAI,CAE7C;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,aAAa,CA0BnD;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,CAQxE;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,IAAI,OAAO,CAUlD;AAED;;;GAGG;AACH,wBAAgB,eAAe,IAAI,OAAO,CAQzC;AAqCD;;;GAGG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,aAAa,GACrB,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CA0B/C;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,IAAI,CAwB1D"}
|
package/dist/update-checker.js
CHANGED
|
@@ -33,12 +33,11 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.isValidVersion = exports.isNewerVersion = void 0;
|
|
36
37
|
exports.getGlobalNpmPrefix = getGlobalNpmPrefix;
|
|
37
38
|
exports.resetGlobalPrefixCache = resetGlobalPrefixCache;
|
|
38
39
|
exports.detectInstallMethod = detectInstallMethod;
|
|
39
40
|
exports.detectChannelFromVersion = detectChannelFromVersion;
|
|
40
|
-
exports.isNewerVersion = isNewerVersion;
|
|
41
|
-
exports.isValidVersion = isValidVersion;
|
|
42
41
|
exports.hasGlobalWritePermission = hasGlobalWritePermission;
|
|
43
42
|
exports.isSudoAvailable = isSudoAvailable;
|
|
44
43
|
exports.performUpdate = performUpdate;
|
|
@@ -49,6 +48,10 @@ const os = __importStar(require("os"));
|
|
|
49
48
|
const path = __importStar(require("path"));
|
|
50
49
|
const constants_1 = require("./constants");
|
|
51
50
|
const logger_1 = require("./logger");
|
|
51
|
+
// Re-export from utils/version to preserve the public API of this module
|
|
52
|
+
var version_1 = require("./utils/version");
|
|
53
|
+
Object.defineProperty(exports, "isNewerVersion", { enumerable: true, get: function () { return version_1.isNewerVersion; } });
|
|
54
|
+
Object.defineProperty(exports, "isValidVersion", { enumerable: true, get: function () { return version_1.isValidVersion; } });
|
|
52
55
|
let cachedGlobalPrefix = null;
|
|
53
56
|
/**
|
|
54
57
|
* Get the global npm prefix path (e.g. /usr/local).
|
|
@@ -114,44 +117,6 @@ function detectChannelFromVersion(version) {
|
|
|
114
117
|
}
|
|
115
118
|
return 'latest';
|
|
116
119
|
}
|
|
117
|
-
/**
|
|
118
|
-
* Compare two semver strings.
|
|
119
|
-
* Returns true if `latest` is newer than `current`.
|
|
120
|
-
* Supports pre-release tags (e.g. 1.0.0-beta.1 < 1.0.0).
|
|
121
|
-
*/
|
|
122
|
-
function isNewerVersion(current, latest) {
|
|
123
|
-
const parseVersion = (v) => {
|
|
124
|
-
const [main, pre] = v.split('-', 2);
|
|
125
|
-
const parts = main.split('.').map(Number);
|
|
126
|
-
return { major: parts[0] ?? 0, minor: parts[1] ?? 0, patch: parts[2] ?? 0, pre };
|
|
127
|
-
};
|
|
128
|
-
const c = parseVersion(current);
|
|
129
|
-
const l = parseVersion(latest);
|
|
130
|
-
// Compare major.minor.patch
|
|
131
|
-
if (l.major !== c.major)
|
|
132
|
-
return l.major > c.major;
|
|
133
|
-
if (l.minor !== c.minor)
|
|
134
|
-
return l.minor > c.minor;
|
|
135
|
-
if (l.patch !== c.patch)
|
|
136
|
-
return l.patch > c.patch;
|
|
137
|
-
// Same major.minor.patch — pre-release vs release
|
|
138
|
-
// Release (no pre) > pre-release
|
|
139
|
-
if (c.pre && !l.pre)
|
|
140
|
-
return true; // current is pre-release, latest is release
|
|
141
|
-
if (!c.pre && l.pre)
|
|
142
|
-
return false; // current is release, latest is pre-release
|
|
143
|
-
// Both have pre-release or both don't — same version
|
|
144
|
-
if (!c.pre && !l.pre)
|
|
145
|
-
return false;
|
|
146
|
-
// Both have pre-release — compare lexicographically
|
|
147
|
-
return l.pre > c.pre;
|
|
148
|
-
}
|
|
149
|
-
/**
|
|
150
|
-
* Validate that a version string looks like semver.
|
|
151
|
-
*/
|
|
152
|
-
function isValidVersion(version) {
|
|
153
|
-
return /^\d+\.\d+\.\d+(?:-[a-zA-Z0-9.]+)?$/.test(version);
|
|
154
|
-
}
|
|
155
120
|
/**
|
|
156
121
|
* Check if the current user has write permission to the npm global directory.
|
|
157
122
|
* Returns true if writable, false otherwise.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-checker.js","sourceRoot":"","sources":["../src/update-checker.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"update-checker.js","sourceRoot":"","sources":["../src/update-checker.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiBA,gDASC;AAKD,wDAEC;AAMD,kDA0BC;AAMD,4DAQC;AAOD,4DAUC;AAMD,0CAQC;AAyCD,sCA6BC;AAOD,sCAwBC;AAnND,iDAA6D;AAC7D,2BAAyD;AACzD,uCAAwB;AACxB,2CAA4B;AAE5B,2CAAiD;AACjD,qCAAiC;AAEjC,yEAAyE;AACzE,2CAAgE;AAAvD,yGAAA,cAAc,OAAA;AAAE,yGAAA,cAAc,OAAA;AAEvC,IAAI,kBAAkB,GAAkB,IAAI,CAAA;AAE5C;;;GAGG;AACH,SAAgB,kBAAkB;IAChC,IAAI,kBAAkB,KAAK,IAAI;QAAE,OAAO,kBAAkB,CAAA;IAC1D,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAA;IAC/D,MAAM,MAAM,GAAG,IAAA,4BAAY,EAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE;QACpD,QAAQ,EAAE,OAAO;QACjB,OAAO,EAAE,MAAM;KAChB,CAAC,CAAC,IAAI,EAAE,CAAA;IACT,kBAAkB,GAAG,MAAM,CAAA;IAC3B,OAAO,MAAM,CAAA;AACf,CAAC;AAED;;GAEG;AACH,SAAgB,sBAAsB;IACpC,kBAAkB,GAAG,IAAI,CAAA;AAC3B,CAAC;AAED;;;GAGG;AACH,SAAgB,mBAAmB;IACjC,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;IACxC,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAE9C,8BAA8B;IAC9B,IAAI,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAClE,OAAO,KAAK,CAAA;IACd,CAAC;IAED,6BAA6B;IAC7B,IAAI,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QACrE,OAAO,KAAK,CAAA;IACd,CAAC;IAED,qCAAqC;IACrC,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,kBAAkB,EAAE,CAAA;QACzC,IAAI,YAAY,IAAI,UAAU,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YACxD,OAAO,QAAQ,CAAA;QACjB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,+CAA+C;IACjD,CAAC;IAED,qBAAqB;IACrB,OAAO,OAAO,CAAA;AAChB,CAAC;AAED;;;GAGG;AACH,SAAgB,wBAAwB,CAAC,OAAe;IACtD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAA;IACnD,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;QACpB,IAAI,GAAG,KAAK,MAAM;YAAE,OAAO,MAAM,CAAA;QACjC,IAAI,GAAG,KAAK,OAAO;YAAE,OAAO,OAAO,CAAA;IACrC,CAAC;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED;;;;GAIG;AACH,SAAgB,wBAAwB;IACtC,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO;QAAE,OAAO,IAAI,CAAA;IAC7C,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,kBAAkB,EAAE,CAAA;QACzC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,cAAc,CAAC,CAAA;QAChE,IAAA,eAAU,EAAC,SAAS,EAAE,cAAW,CAAC,IAAI,CAAC,CAAA;QACvC,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAgB,eAAe;IAC7B,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO;QAAE,OAAO,KAAK,CAAA;IAC9C,IAAI,CAAC;QACH,IAAA,4BAAY,EAAC,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAA;QACtE,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,yBAAyB;IAChC,MAAM,YAAY,GAAG,kBAAkB,EAAE,CAAA;IACzC,iFAAiF;IACjF,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO;QAC3C,CAAC,CAAC,CAAC,YAAY,EAAE,cAAc,EAAE,mBAAmB,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC;QAChF,CAAC,CAAC,CAAC,YAAY,EAAE,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,CAAA;IACzF,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAA;AAC/B,CAAC;AAED;;GAEG;AACH,SAAS,cAAc,CACrB,MAAc,EACd,IAAc,EACd,QAAgB,EAChB,UAAmB,KAAK;IAExB,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAA;IACrC,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAClD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,IAAA,wBAAQ,EAAC,GAAG,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,+BAAmB,EAAE,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;YAClF,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,MAAM,IAAI,eAAe,CAAA;gBAC1D,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAA;gBAC3C,OAAM;YACR,CAAC;YACD,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;QAC5B,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,aAAa,CACjC,OAAe,EACf,MAAsB;IAEtB,MAAM,aAAa,GAAG,MAAM,IAAI,mBAAmB,EAAE,CAAA;IAErD,IAAI,aAAa,KAAK,KAAK,EAAE,CAAC;QAC5B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,8EAA8E,EAAE,CAAA;IAClH,CAAC;IAED,IAAI,aAAa,KAAK,OAAO,EAAE,CAAC;QAC9B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,wFAAwF,EAAE,CAAA;IAC5H,CAAC;IAED,+BAA+B;IAC/B,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAA;IAC/D,MAAM,IAAI,GAAG,CAAC,SAAS,EAAE,IAAI,EAAE,yBAAyB,OAAO,EAAE,CAAC,CAAA;IAElE,4FAA4F;IAC5F,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,mBAAmB,CAAC,CAAA;IAC/D,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAA;IAEjC,MAAM,SAAS,GAAG,CAAC,wBAAwB,EAAE,IAAI,eAAe,EAAE,CAAA;IAClE,IAAI,CAAC,wBAAwB,EAAE,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC;QACtD,eAAM,CAAC,IAAI,CAAC,yGAAyG,CAAC,CAAA;IACxH,CAAC;SAAM,IAAI,SAAS,EAAE,CAAC;QACrB,eAAM,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAA;IACjF,CAAC;IACD,OAAO,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,CAAA;AACzD,CAAC;AAED;;;;GAIG;AACH,SAAgB,aAAa,CAAC,MAAsB;IAClD,MAAM,aAAa,GAAG,MAAM,IAAI,mBAAmB,EAAE,CAAA;IAErD,IAAI,IAAc,CAAA;IAElB,IAAI,aAAa,KAAK,KAAK,EAAE,CAAC;QAC5B,iEAAiE;QACjE,MAAM,YAAY,GAAG,yBAAyB,EAAE,CAAA;QAChD,IAAI,GAAG,CAAC,GAAG,OAAO,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IACtE,CAAC;SAAM,CAAC;QACN,wEAAwE;QACxE,IAAI,GAAG,CAAC,GAAG,OAAO,CAAC,QAAQ,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IACxD,CAAC;IAED,eAAM,CAAC,IAAI,CAAC,iBAAiB,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IAElE,MAAM,KAAK,GAAG,IAAA,qBAAK,EAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE;QAC1C,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,SAAS;QAChB,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE;KACxB,CAAC,CAAA;IAEF,KAAK,CAAC,KAAK,EAAE,CAAA;IACb,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Semver utility functions shared between update-checker and docker-runner.
|
|
3
|
+
* Kept in utils/ to avoid circular imports between those two modules.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Compare two semver strings.
|
|
7
|
+
* Returns true if `latest` is newer than `current`.
|
|
8
|
+
* Supports pre-release tags (e.g. 1.0.0-beta.1 < 1.0.0).
|
|
9
|
+
*/
|
|
10
|
+
export declare function isNewerVersion(current: string, latest: string): boolean;
|
|
11
|
+
/**
|
|
12
|
+
* Validate that a version string looks like semver.
|
|
13
|
+
*/
|
|
14
|
+
export declare function isValidVersion(version: string): boolean;
|
|
15
|
+
//# sourceMappingURL=version.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/utils/version.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAyBvE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEvD"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Semver utility functions shared between update-checker and docker-runner.
|
|
4
|
+
* Kept in utils/ to avoid circular imports between those two modules.
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.isNewerVersion = isNewerVersion;
|
|
8
|
+
exports.isValidVersion = isValidVersion;
|
|
9
|
+
/**
|
|
10
|
+
* Compare two semver strings.
|
|
11
|
+
* Returns true if `latest` is newer than `current`.
|
|
12
|
+
* Supports pre-release tags (e.g. 1.0.0-beta.1 < 1.0.0).
|
|
13
|
+
*/
|
|
14
|
+
function isNewerVersion(current, latest) {
|
|
15
|
+
const parseVersion = (v) => {
|
|
16
|
+
const [main, pre] = v.split('-', 2);
|
|
17
|
+
const parts = main.split('.').map(Number);
|
|
18
|
+
return { major: parts[0] ?? 0, minor: parts[1] ?? 0, patch: parts[2] ?? 0, pre };
|
|
19
|
+
};
|
|
20
|
+
const c = parseVersion(current);
|
|
21
|
+
const l = parseVersion(latest);
|
|
22
|
+
// Compare major.minor.patch
|
|
23
|
+
if (l.major !== c.major)
|
|
24
|
+
return l.major > c.major;
|
|
25
|
+
if (l.minor !== c.minor)
|
|
26
|
+
return l.minor > c.minor;
|
|
27
|
+
if (l.patch !== c.patch)
|
|
28
|
+
return l.patch > c.patch;
|
|
29
|
+
// Same major.minor.patch — pre-release vs release
|
|
30
|
+
// Release (no pre) > pre-release
|
|
31
|
+
if (c.pre && !l.pre)
|
|
32
|
+
return true; // current is pre-release, latest is release
|
|
33
|
+
if (!c.pre && l.pre)
|
|
34
|
+
return false; // current is release, latest is pre-release
|
|
35
|
+
// Both have pre-release or both don't — same version
|
|
36
|
+
if (!c.pre && !l.pre)
|
|
37
|
+
return false;
|
|
38
|
+
// Both have pre-release — compare lexicographically
|
|
39
|
+
return l.pre > c.pre;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Validate that a version string looks like semver.
|
|
43
|
+
*/
|
|
44
|
+
function isValidVersion(version) {
|
|
45
|
+
return /^\d+\.\d+\.\d+(?:-[a-zA-Z0-9.]+)?$/.test(version);
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=version.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/utils/version.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AAOH,wCAyBC;AAKD,wCAEC;AArCD;;;;GAIG;AACH,SAAgB,cAAc,CAAC,OAAe,EAAE,MAAc;IAC5D,MAAM,YAAY,GAAG,CAAC,CAAS,EAAE,EAAE;QACjC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;QACnC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QACzC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA;IAClF,CAAC,CAAA;IAED,MAAM,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,CAAA;IAC/B,MAAM,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC,CAAA;IAE9B,4BAA4B;IAC5B,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK;QAAE,OAAO,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAA;IACjD,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK;QAAE,OAAO,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAA;IACjD,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK;QAAE,OAAO,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAA;IAEjD,kDAAkD;IAClD,iCAAiC;IACjC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG;QAAE,OAAO,IAAI,CAAA,CAAE,4CAA4C;IAC9E,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG;QAAE,OAAO,KAAK,CAAA,CAAC,4CAA4C;IAE9E,qDAAqD;IACrD,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG;QAAE,OAAO,KAAK,CAAA;IAElC,oDAAoD;IACpD,OAAO,CAAC,CAAC,GAAI,GAAG,CAAC,CAAC,GAAI,CAAA;AACxB,CAAC;AAED;;GAEG;AACH,SAAgB,cAAc,CAAC,OAAe;IAC5C,OAAO,oCAAoC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;AAC3D,CAAC"}
|