@nalvietnam/avatar-cli 3.25.3 → 3.26.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/core/index.cjs +2 -0
- package/dist/core/index.d.ts +3 -0
- package/dist/core/index.js +3 -0
- package/dist/core/index.js.map +1 -0
- package/dist/index.js +80 -80
- package/dist/index.js.map +1 -1
- package/dist/lib/compare-pack-semver-and-detect-downgrade.d.ts +2 -0
- package/dist/lib/pack-manifest-contract.d.ts +26 -0
- package/dist/lib/pick-latest-stable-semver-tag.d.ts +10 -0
- package/package.json +10 -2
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export declare const PACK_MANIFEST_FILENAME = ".avatar-pack-manifest.json";
|
|
2
|
+
export declare const PACK_VERSION_FILENAME = ".pack-version";
|
|
3
|
+
export interface PackManifest {
|
|
4
|
+
version: string;
|
|
5
|
+
downloadedObject: string;
|
|
6
|
+
sha256?: string;
|
|
7
|
+
extractedAt: string;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Hình dạng ĐỌC được từ đĩa — khác hình dạng GHI ở chỗ chỉ `version` được kiểm.
|
|
11
|
+
*
|
|
12
|
+
* Vì sao không dùng thẳng `PackManifest`: manifest do bản CLI cũ (hoặc pack cài
|
|
13
|
+
* tay) ghi có thể thiếu `downloadedObject`/`extractedAt`. Siết đủ 3 field sẽ biến
|
|
14
|
+
* những manifest đó thành "không có manifest" một cách IM LẶNG. Nhưng khai kiểu
|
|
15
|
+
* trả về là `PackManifest` thì type nói dối: TypeScript hứa `downloadedObject` là
|
|
16
|
+
* `string` trong khi runtime có thể `undefined`. Tách kiểu ra là cách giữ cả hai —
|
|
17
|
+
* đường GHI vẫn bị bắt buộc đủ field, đường ĐỌC nói đúng những gì nó kiểm.
|
|
18
|
+
*/
|
|
19
|
+
export type ParsedPackManifest = Pick<PackManifest, "version"> & Partial<Omit<PackManifest, "version">>;
|
|
20
|
+
/**
|
|
21
|
+
* Đọc manifest từ chuỗi JSON thô.
|
|
22
|
+
*
|
|
23
|
+
* JSON hỏng / không phải object / thiếu `version` ⇒ `null`, KHÔNG throw:
|
|
24
|
+
* workspace vừa `avatar init` mà chưa `sync` là trạng thái HỢP LỆ, không phải lỗi.
|
|
25
|
+
*/
|
|
26
|
+
export declare function parsePackManifest(raw: string): ParsedPackManifest | null;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
interface ParsedSemVer {
|
|
2
|
+
raw: string;
|
|
3
|
+
major: number;
|
|
4
|
+
minor: number;
|
|
5
|
+
patch: number;
|
|
6
|
+
prerelease: string | null;
|
|
7
|
+
}
|
|
8
|
+
export declare function parseSemVerTag(tag: string): ParsedSemVer | null;
|
|
9
|
+
export declare function pickLatestStableSemVerTag(tags: string[], includePrerelease?: boolean): string | null;
|
|
10
|
+
export {};
|
package/package.json
CHANGED
|
@@ -1,11 +1,19 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nalvietnam/avatar-cli",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.26.0",
|
|
4
4
|
"description": "AI harness CLI for NAL Vietnam engineering",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
7
7
|
"avatar": "./bin/avatar.js"
|
|
8
8
|
},
|
|
9
|
+
"exports": {
|
|
10
|
+
"./core": {
|
|
11
|
+
"types": "./dist/core/index.d.ts",
|
|
12
|
+
"import": "./dist/core/index.js",
|
|
13
|
+
"require": "./dist/core/index.cjs"
|
|
14
|
+
},
|
|
15
|
+
"./package.json": "./package.json"
|
|
16
|
+
},
|
|
9
17
|
"files": [
|
|
10
18
|
"bin",
|
|
11
19
|
"dist",
|
|
@@ -16,7 +24,7 @@
|
|
|
16
24
|
"node": ">=18.17.0"
|
|
17
25
|
},
|
|
18
26
|
"scripts": {
|
|
19
|
-
"build": "tsup",
|
|
27
|
+
"build": "tsup && tsc -p tsconfig.core-dts.json",
|
|
20
28
|
"dev": "tsup --watch",
|
|
21
29
|
"test": "vitest run --passWithNoTests --exclude 'test/integration/**' --testTimeout=15000",
|
|
22
30
|
"test:watch": "vitest --exclude 'test/integration/**'",
|