speccore 6.45.0 → 6.46.1
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/commands/analyze.js +5 -5
- package/dist/commands/analyze.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +31 -15
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/iteration/split.d.ts.map +1 -1
- package/dist/commands/iteration/split.js +4 -35
- package/dist/commands/iteration/split.js.map +1 -1
- package/dist/commands/synthesize.js +2 -2
- package/dist/commands/synthesize.js.map +1 -1
- package/dist/core/ai-context-generator.js +8 -8
- package/dist/core/ai-context-generator.js.map +1 -1
- package/dist/core/analyze-engine.d.ts.map +1 -1
- package/dist/core/analyze-engine.js +10 -3
- package/dist/core/analyze-engine.js.map +1 -1
- package/dist/core/platform-registry.d.ts +1 -1
- package/dist/core/platform-registry.js +4 -4
- package/dist/core/platform-registry.js.map +1 -1
- package/dist/core/spec-paths.d.ts +6 -0
- package/dist/core/spec-paths.d.ts.map +1 -1
- package/dist/core/spec-paths.js +69 -0
- package/dist/core/spec-paths.js.map +1 -1
- package/package.json +1 -1
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* platform-registry — 端名注册与解析
|
|
4
4
|
*
|
|
5
5
|
* 三层端名一致性保障:
|
|
6
|
-
* 层级 1: CONSTITUTION.md
|
|
6
|
+
* 层级 1: CONSTITUTION.md「端列表」章节 / 「对应端」列 — 全局权威
|
|
7
7
|
* 层级 2: _shared/PLATFORMS.md — 任务级实际涉及的端
|
|
8
8
|
* 层级 3: 模糊匹配 — 命令层自动纠错
|
|
9
9
|
*/
|
|
@@ -24,10 +24,10 @@ async function parseGlobalPlatforms(cwd) {
|
|
|
24
24
|
return [];
|
|
25
25
|
const content = await (0, fs_extra_1.readFile)(constitutionPath, 'utf-8');
|
|
26
26
|
const lines = content.split('\n');
|
|
27
|
-
//
|
|
27
|
+
// 找到「对应端」或「对应需求端」表头
|
|
28
28
|
let headerIdx = -1;
|
|
29
29
|
for (let i = 0; i < lines.length; i++) {
|
|
30
|
-
if (lines[i].includes('对应需求端')) {
|
|
30
|
+
if (lines[i].includes('对应端') || lines[i].includes('对应需求端')) {
|
|
31
31
|
headerIdx = i;
|
|
32
32
|
break;
|
|
33
33
|
}
|
|
@@ -35,7 +35,7 @@ async function parseGlobalPlatforms(cwd) {
|
|
|
35
35
|
if (headerIdx < 0)
|
|
36
36
|
return [];
|
|
37
37
|
const headers = lines[headerIdx].split('|').map(h => h.trim()).filter(Boolean);
|
|
38
|
-
const platformColIdx = headers.findIndex(h => h.includes('对应需求端'));
|
|
38
|
+
const platformColIdx = headers.findIndex(h => h.includes('对应端') || h.includes('对应需求端'));
|
|
39
39
|
if (platformColIdx < 0)
|
|
40
40
|
return [];
|
|
41
41
|
const platforms = new Set();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform-registry.js","sourceRoot":"","sources":["../../src/core/platform-registry.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;AAMH,oDAiCC;AAGD,gDAeC;AAOD,gDA4BC;AAQD,0CAuBC;AAMD,8DAyBC;AAMD,wDAgDC;AA9MD,uCAA+E;AAC/E,+BAA4B;AAE5B,iCAAiC;AAC1B,KAAK,UAAU,oBAAoB,CAAC,GAAY;IACrD,MAAM,IAAI,GAAG,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAClC,MAAM,gBAAgB,GAAG,IAAA,WAAI,EAAC,IAAI,EAAE,WAAW,EAAE,iBAAiB,CAAC,CAAC;IACpE,IAAI,CAAC,CAAC,MAAM,IAAA,qBAAU,EAAC,gBAAgB,CAAC,CAAC;QAAE,OAAO,EAAE,CAAC;IAErD,MAAM,OAAO,GAAG,MAAM,IAAA,mBAAQ,EAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;IAC1D,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAElC,
|
|
1
|
+
{"version":3,"file":"platform-registry.js","sourceRoot":"","sources":["../../src/core/platform-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,4 +12,10 @@ export declare function resolveGlobalSpecPath(specDir: string, filename: string)
|
|
|
12
12
|
* 自动确保 global/ 目录存在
|
|
13
13
|
*/
|
|
14
14
|
export declare function globalSpecWritePath(specDir: string, filename: string): Promise<string>;
|
|
15
|
+
/**
|
|
16
|
+
* 从 CONSTITUTION.md 解析端列表(v6.46.0+)
|
|
17
|
+
* 优先读取「端列表」章节,回退到「对应需求端」列
|
|
18
|
+
* 返回去重后的端名数组
|
|
19
|
+
*/
|
|
20
|
+
export declare function parsePlatformList(): Promise<string[]>;
|
|
15
21
|
//# sourceMappingURL=spec-paths.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spec-paths.d.ts","sourceRoot":"","sources":["../../src/core/spec-paths.ts"],"names":[],"mappings":"AASA,eAAe;AACf,eAAO,MAAM,gBAAgB,WAAW,CAAC;AAEzC,mDAAmD;AACnD,eAAO,MAAM,iBAAiB,UAE7B,CAAC;AAEF;;;GAGG;AACH,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAMrG;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAI5F"}
|
|
1
|
+
{"version":3,"file":"spec-paths.d.ts","sourceRoot":"","sources":["../../src/core/spec-paths.ts"],"names":[],"mappings":"AASA,eAAe;AACf,eAAO,MAAM,gBAAgB,WAAW,CAAC;AAEzC,mDAAmD;AACnD,eAAO,MAAM,iBAAiB,UAE7B,CAAC;AAEF;;;GAGG;AACH,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAMrG;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAI5F;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAyD3D"}
|
package/dist/core/spec-paths.js
CHANGED
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.GLOBAL_SPEC_FILES = exports.GLOBAL_SPECS_DIR = void 0;
|
|
4
4
|
exports.resolveGlobalSpecPath = resolveGlobalSpecPath;
|
|
5
5
|
exports.globalSpecWritePath = globalSpecWritePath;
|
|
6
|
+
exports.parsePlatformList = parsePlatformList;
|
|
6
7
|
/**
|
|
7
8
|
* spec-paths — 020-specs/ 目录路径辅助函数
|
|
8
9
|
*
|
|
@@ -39,4 +40,72 @@ async function globalSpecWritePath(specDir, filename) {
|
|
|
39
40
|
await (0, fs_extra_1.ensureDir)(dir);
|
|
40
41
|
return (0, path_1.join)(dir, filename);
|
|
41
42
|
}
|
|
43
|
+
/**
|
|
44
|
+
* 从 CONSTITUTION.md 解析端列表(v6.46.0+)
|
|
45
|
+
* 优先读取「端列表」章节,回退到「对应需求端」列
|
|
46
|
+
* 返回去重后的端名数组
|
|
47
|
+
*/
|
|
48
|
+
async function parsePlatformList() {
|
|
49
|
+
const constitutionPath = (0, path_1.join)('.speccore', 'CONSTITUTION.md');
|
|
50
|
+
if (!(await (0, fs_extra_1.pathExists)(constitutionPath)))
|
|
51
|
+
return [];
|
|
52
|
+
const content = await (0, fs_extra_1.readFile)(constitutionPath, 'utf-8');
|
|
53
|
+
const lines = content.split('\n');
|
|
54
|
+
// 1. 优先解析「端列表」章节(v6.46.0+ 显式声明)
|
|
55
|
+
let inPlatformSection = false;
|
|
56
|
+
const platforms = new Set();
|
|
57
|
+
for (let i = 0; i < lines.length; i++) {
|
|
58
|
+
const line = lines[i].trim();
|
|
59
|
+
// 检测章节标题
|
|
60
|
+
if (line.match(/^##\s+.*\u7aef\u5217\u8868/) || line.match(/^##\s+.*\u5e73\u53f0\u5217\u8868/)) {
|
|
61
|
+
inPlatformSection = true;
|
|
62
|
+
continue;
|
|
63
|
+
}
|
|
64
|
+
// 遇到下一个 ## 章节就停止
|
|
65
|
+
if (inPlatformSection && line.match(/^##\s/))
|
|
66
|
+
break;
|
|
67
|
+
if (!inPlatformSection)
|
|
68
|
+
continue;
|
|
69
|
+
// 解析表格行(跳过标题行和分隔行)
|
|
70
|
+
if (!line.startsWith('|') || line.match(/^\|\s*[-:]/))
|
|
71
|
+
continue;
|
|
72
|
+
const cells = line.split('|').map(c => c.trim()).filter(Boolean);
|
|
73
|
+
if (cells.length >= 1) {
|
|
74
|
+
const platformName = cells[0].trim();
|
|
75
|
+
if (platformName && platformName !== '端名' && platformName !== '平台名') {
|
|
76
|
+
platforms.add(platformName);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
if (platforms.size > 0)
|
|
81
|
+
return [...platforms];
|
|
82
|
+
// 2. 回退:解析「对应需求端」/「对应端」列(旧版格式)
|
|
83
|
+
let headerIdx = -1;
|
|
84
|
+
for (let i = 0; i < lines.length; i++) {
|
|
85
|
+
if (lines[i].includes('对应需求端') || lines[i].includes('对应端')) {
|
|
86
|
+
headerIdx = i;
|
|
87
|
+
break;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
if (headerIdx >= 0) {
|
|
91
|
+
const headers = lines[headerIdx].split('|').map(h => h.trim()).filter(Boolean);
|
|
92
|
+
const platformColIdx = headers.findIndex(h => h.includes('对应需求端') || h.includes('对应端'));
|
|
93
|
+
if (platformColIdx >= 0) {
|
|
94
|
+
for (let i = headerIdx + 1; i < lines.length; i++) {
|
|
95
|
+
const line = lines[i].trim();
|
|
96
|
+
if (!line.startsWith('|') || line.match(/^\|\s*[-:]/))
|
|
97
|
+
continue;
|
|
98
|
+
const cells = line.split('|').map(c => c.trim()).filter(Boolean);
|
|
99
|
+
if (cells[platformColIdx]) {
|
|
100
|
+
cells[platformColIdx].split(',').forEach((p) => {
|
|
101
|
+
const trimmed = p.trim();
|
|
102
|
+
if (trimmed && !trimmed.startsWith('>'))
|
|
103
|
+
platforms.add(trimmed);
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
return [...platforms];
|
|
110
|
+
}
|
|
42
111
|
//# sourceMappingURL=spec-paths.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spec-paths.js","sourceRoot":"","sources":["../../src/core/spec-paths.ts"],"names":[],"mappings":";;;AAqBA,sDAMC;AAMD,kDAIC;
|
|
1
|
+
{"version":3,"file":"spec-paths.js","sourceRoot":"","sources":["../../src/core/spec-paths.ts"],"names":[],"mappings":"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"}
|