speccore 6.69.0 → 6.71.3

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.
Files changed (42) hide show
  1. package/README.md +1 -1
  2. package/dist/cli.js +2 -0
  3. package/dist/cli.js.map +1 -1
  4. package/dist/commands/analyze.d.ts +1 -0
  5. package/dist/commands/analyze.d.ts.map +1 -1
  6. package/dist/commands/analyze.js +686 -97
  7. package/dist/commands/analyze.js.map +1 -1
  8. package/dist/commands/audit.d.ts +2 -0
  9. package/dist/commands/audit.d.ts.map +1 -1
  10. package/dist/commands/audit.js +262 -0
  11. package/dist/commands/audit.js.map +1 -1
  12. package/dist/commands/dev.d.ts +2 -0
  13. package/dist/commands/dev.d.ts.map +1 -1
  14. package/dist/commands/dev.js +25 -0
  15. package/dist/commands/dev.js.map +1 -1
  16. package/dist/commands/execute.d.ts +1 -0
  17. package/dist/commands/execute.d.ts.map +1 -1
  18. package/dist/commands/execute.js +137 -0
  19. package/dist/commands/execute.js.map +1 -1
  20. package/dist/commands/iteration/split.d.ts +2 -0
  21. package/dist/commands/iteration/split.d.ts.map +1 -1
  22. package/dist/commands/iteration/split.js +414 -56
  23. package/dist/commands/iteration/split.js.map +1 -1
  24. package/dist/core/change-detection.d.ts +121 -0
  25. package/dist/core/change-detection.d.ts.map +1 -0
  26. package/dist/core/change-detection.js +459 -0
  27. package/dist/core/change-detection.js.map +1 -0
  28. package/dist/core/knowledge-graph.d.ts +26 -0
  29. package/dist/core/knowledge-graph.d.ts.map +1 -1
  30. package/dist/core/knowledge-graph.js +113 -0
  31. package/dist/core/knowledge-graph.js.map +1 -1
  32. package/dist/core/pipeline-engine.d.ts +103 -0
  33. package/dist/core/pipeline-engine.d.ts.map +1 -0
  34. package/dist/core/pipeline-engine.js +436 -0
  35. package/dist/core/pipeline-engine.js.map +1 -0
  36. package/dist/core/prompt-builder.d.ts.map +1 -1
  37. package/dist/core/prompt-builder.js +18 -3
  38. package/dist/core/prompt-builder.js.map +1 -1
  39. package/dist/core/spec-paths.d.ts.map +1 -1
  40. package/dist/core/spec-paths.js +1 -0
  41. package/dist/core/spec-paths.js.map +1 -1
  42. package/package.json +1 -1
@@ -0,0 +1,436 @@
1
+ "use strict";
2
+ /**
3
+ * Pipeline Engine - 通用流水线执行引擎(状态机设计)
4
+ *
5
+ * 核心思路:
6
+ * CLI 是单次运行进程,无法在一次调用中"等待" AI 的 --apply。
7
+ * 所以用状态文件追踪当前步骤,每次 CLI 调用执行一步,
8
+ * --apply 完成后 CLI 自动推进到下一步并输出新 prompt。
9
+ *
10
+ * 状态流转 (analyze 两阶段分析):
11
+ * init → phase1-prompt → (AI --apply) → phase1-done
12
+ * → 检测多端 → phase2-prompt → (AI --apply) → done
13
+ *
14
+ * AI 侧流程:
15
+ * 1. 收到 Phase 1 prompt → 生成全局文档 → --apply
16
+ * 2. CLI 写入文件 → 自动推进 → 输出 [SPECCORE_PIPELINE_NEXT] + Phase 2 prompt
17
+ * 3. AI 看到标记 → 自动执行下一个命令 → 生成各端文档 → --apply
18
+ * 4. CLI 写入文件 → 标记完成 → Pipeline 结束
19
+ *
20
+ * @since v6.68.0
21
+ */
22
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
23
+ if (k2 === undefined) k2 = k;
24
+ var desc = Object.getOwnPropertyDescriptor(m, k);
25
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
26
+ desc = { enumerable: true, get: function() { return m[k]; } };
27
+ }
28
+ Object.defineProperty(o, k2, desc);
29
+ }) : (function(o, m, k, k2) {
30
+ if (k2 === undefined) k2 = k;
31
+ o[k2] = m[k];
32
+ }));
33
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
34
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
35
+ }) : function(o, v) {
36
+ o["default"] = v;
37
+ });
38
+ var __importStar = (this && this.__importStar) || (function () {
39
+ var ownKeys = function(o) {
40
+ ownKeys = Object.getOwnPropertyNames || function (o) {
41
+ var ar = [];
42
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
43
+ return ar;
44
+ };
45
+ return ownKeys(o);
46
+ };
47
+ return function (mod) {
48
+ if (mod && mod.__esModule) return mod;
49
+ var result = {};
50
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
51
+ __setModuleDefault(result, mod);
52
+ return result;
53
+ };
54
+ })();
55
+ Object.defineProperty(exports, "__esModule", { value: true });
56
+ exports.PipelineEngine = void 0;
57
+ exports.createAnalyzePipeline = createAnalyzePipeline;
58
+ exports.createSplitPipeline = createSplitPipeline;
59
+ exports.createExecutePipeline = createExecutePipeline;
60
+ exports.createGlobalAnalyzePipeline = createGlobalAnalyzePipeline;
61
+ const fs_extra_1 = require("fs-extra");
62
+ const path_1 = require("path");
63
+ const logger_1 = require("../utils/logger");
64
+ class PipelineEngine {
65
+ constructor(options) {
66
+ this.state = null;
67
+ this.steps = new Map();
68
+ this.iteration = options.iteration;
69
+ this.name = options.name;
70
+ this.cwd = options.cwd || process.cwd();
71
+ this.stateFilePath = (0, path_1.join)(this.cwd, '.speccore', 'local', `.pipeline-${options.iteration}.json`);
72
+ }
73
+ // ── 定义步骤 ──
74
+ defineSteps(stepDefs) {
75
+ this.steps.clear();
76
+ for (const step of stepDefs) {
77
+ this.steps.set(step.id, step);
78
+ }
79
+ }
80
+ // ── 初始化流水线 ──
81
+ async init(firstStepId, extra) {
82
+ const stepDef = this.steps.get(firstStepId);
83
+ if (!stepDef) {
84
+ throw new Error(`Pipeline step '${firstStepId}' not defined`);
85
+ }
86
+ this.state = {
87
+ currentStep: firstStepId,
88
+ steps: Array.from(this.steps.keys()),
89
+ completedSteps: [],
90
+ iteration: this.iteration,
91
+ name: this.name,
92
+ createdAt: new Date().toISOString(),
93
+ updatedAt: new Date().toISOString(),
94
+ ...extra,
95
+ };
96
+ await this.saveState();
97
+ logger_1.logger.info(`🚀 Pipeline "${this.name}" 已初始化 (${this.state.steps.length} 个步骤)`);
98
+ }
99
+ // ── 推进到下一步 ──
100
+ async advance() {
101
+ if (!this.state) {
102
+ const loaded = await this.loadState();
103
+ if (!loaded) {
104
+ throw new Error('Pipeline state not found. Is the pipeline initialized?');
105
+ }
106
+ }
107
+ const currentStepDef = this.steps.get(this.state.currentStep);
108
+ if (!currentStepDef) {
109
+ throw new Error(`Step '${this.state.currentStep}' not defined in pipeline`);
110
+ }
111
+ // 标记当前步骤完成
112
+ this.state.completedSteps.push(this.state.currentStep);
113
+ let nextStepId = currentStepDef.next;
114
+ // 条件检查:如果下一步有条件,检查是否满足
115
+ if (nextStepId) {
116
+ const nextStepDef = this.steps.get(nextStepId);
117
+ if (nextStepDef?.condition) {
118
+ const shouldExecute = await nextStepDef.condition();
119
+ if (!shouldExecute) {
120
+ // 条件不满足,跳过这一步
121
+ logger_1.logger.info(`⏭️ 步骤 ${nextStepDef.name} 条件不满足,跳过`);
122
+ nextStepId = nextStepDef.next;
123
+ }
124
+ }
125
+ }
126
+ if (nextStepId) {
127
+ this.state.currentStep = nextStepId;
128
+ this.state.updatedAt = new Date().toISOString();
129
+ await this.saveState();
130
+ const nextStepDef = this.steps.get(nextStepId);
131
+ return {
132
+ nextStepId,
133
+ nextStepName: nextStepDef?.name || nextStepId,
134
+ isComplete: false,
135
+ };
136
+ }
137
+ // 没有下一步 → 完成
138
+ this.state.currentStep = 'done';
139
+ this.state.updatedAt = new Date().toISOString();
140
+ await this.saveState();
141
+ return {
142
+ nextStepId: null,
143
+ nextStepName: null,
144
+ isComplete: true,
145
+ };
146
+ }
147
+ // ── 获取当前步骤 ──
148
+ getCurrentStep() {
149
+ return this.state?.currentStep || null;
150
+ }
151
+ // ── 获取当前步骤定义 ──
152
+ getCurrentStepDef() {
153
+ if (!this.state)
154
+ return null;
155
+ return this.steps.get(this.state.currentStep) || null;
156
+ }
157
+ // ── 检查流水线是否活跃(未完成) ──
158
+ async isActive() {
159
+ const state = await this.loadState();
160
+ if (!state)
161
+ return false;
162
+ return state.currentStep !== 'done';
163
+ }
164
+ // ── 获取完整状态 ──
165
+ async getState() {
166
+ return this.loadState();
167
+ }
168
+ // ── 检查是否有活跃流水线 ──
169
+ static async hasActivePipeline(cwd, iteration) {
170
+ const statePath = (0, path_1.join)(cwd, '.speccore', 'local', `.pipeline-${iteration}.json`);
171
+ if (!(await (0, fs_extra_1.pathExists)(statePath)))
172
+ return false;
173
+ try {
174
+ const data = await (0, fs_extra_1.readFile)(statePath, 'utf-8');
175
+ const state = JSON.parse(data);
176
+ return state.currentStep !== 'done';
177
+ }
178
+ catch {
179
+ return false;
180
+ }
181
+ }
182
+ // ── 加载已有流水线状态 ──
183
+ static async loadExistingState(cwd, iteration) {
184
+ const statePath = (0, path_1.join)(cwd, '.speccore', 'local', `.pipeline-${iteration}.json`);
185
+ if (!(await (0, fs_extra_1.pathExists)(statePath)))
186
+ return null;
187
+ try {
188
+ const data = await (0, fs_extra_1.readFile)(statePath, 'utf-8');
189
+ return JSON.parse(data);
190
+ }
191
+ catch {
192
+ return null;
193
+ }
194
+ }
195
+ // ── 重置(清理状态文件) ──
196
+ async reset() {
197
+ try {
198
+ if (await (0, fs_extra_1.pathExists)(this.stateFilePath)) {
199
+ await (0, fs_extra_1.unlink)(this.stateFilePath);
200
+ }
201
+ this.state = null;
202
+ logger_1.logger.debug('Pipeline 状态已重置');
203
+ }
204
+ catch (error) {
205
+ logger_1.logger.debug('Pipeline 重置失败(非关键):', error);
206
+ }
207
+ }
208
+ // ── 内部:保存状态 ──
209
+ async saveState() {
210
+ if (!this.state)
211
+ return;
212
+ const dir = (0, path_1.join)(this.cwd, '.speccore', 'local');
213
+ await (0, fs_extra_1.ensureDir)(dir);
214
+ await (0, fs_extra_1.writeFile)(this.stateFilePath, JSON.stringify(this.state, null, 2));
215
+ }
216
+ // ── 内部:加载状态 ──
217
+ async loadState() {
218
+ if (this.state)
219
+ return this.state;
220
+ if (!(await (0, fs_extra_1.pathExists)(this.stateFilePath)))
221
+ return null;
222
+ try {
223
+ const data = await (0, fs_extra_1.readFile)(this.stateFilePath, 'utf-8');
224
+ this.state = JSON.parse(data);
225
+ return this.state;
226
+ }
227
+ catch {
228
+ return null;
229
+ }
230
+ }
231
+ }
232
+ exports.PipelineEngine = PipelineEngine;
233
+ // ── 工厂函数:创建 analyze 流水线 ──
234
+ // v6.69.0+: 支持契约先行 + 逐端推进(增强策略一 & 三)
235
+ // v6.69.0+: 支持变更感知过滤 + 关键路径优先排序(增强策略二 & 三)
236
+ async function createAnalyzePipeline(iteration, cwd, options) {
237
+ // 动态导入避免循环依赖
238
+ const { parsePlatformList } = await Promise.resolve().then(() => __importStar(require('../core/spec-paths')));
239
+ let platforms = await parsePlatformList();
240
+ // 变更感知:过滤仅受影响的端
241
+ if (options?.affectedPlatforms && options.affectedPlatforms.length > 0) {
242
+ const before = platforms.length;
243
+ platforms = platforms.filter(p => options.affectedPlatforms.includes(p));
244
+ if (platforms.length < before) {
245
+ logger_1.logger.info(`🎯 变更感知: 从 ${before} 个端过滤为 ${platforms.length} 个端 (${platforms.join(', ')})`);
246
+ }
247
+ }
248
+ // 关键路径优先:按优先级排序端
249
+ if (options?.platformOrder && options.platformOrder.length > 0) {
250
+ const orderMap = new Map(options.platformOrder.map((p, i) => [p, i]));
251
+ platforms.sort((a, b) => {
252
+ const orderA = orderMap.get(a) ?? Infinity;
253
+ const orderB = orderMap.get(b) ?? Infinity;
254
+ return orderA - orderB;
255
+ });
256
+ logger_1.logger.info(`🎯 关键路径优先: 端分析顺序 → ${platforms.join(' → ')}`);
257
+ }
258
+ const steps = [
259
+ {
260
+ id: 'phase1-prompt',
261
+ name: 'Phase 1: 全局文档生成',
262
+ next: 'phase1-done',
263
+ },
264
+ {
265
+ id: 'phase1-done',
266
+ name: 'Phase 1 完成检查',
267
+ next: platforms.length >= 2 ? 'contract-prompt' : 'done',
268
+ },
269
+ ];
270
+ // 多端项目:插入契约先行 + 逐端分析步骤
271
+ if (platforms.length >= 2) {
272
+ // 契约先行阶段
273
+ steps.push({
274
+ id: 'contract-prompt',
275
+ name: '契约先行: 跨端 API 契约定义',
276
+ next: 'contract-done',
277
+ });
278
+ steps.push({
279
+ id: 'contract-done',
280
+ name: '契约定义完成检查',
281
+ next: platforms.length > 0 ? `platform-${platforms[0]}-prompt` : 'done',
282
+ });
283
+ // 逐端推进:每个端独立一个步骤
284
+ for (let i = 0; i < platforms.length; i++) {
285
+ const platform = platforms[i];
286
+ const nextId = i < platforms.length - 1
287
+ ? `platform-${platforms[i + 1]}-prompt`
288
+ : 'done';
289
+ steps.push({
290
+ id: `platform-${platform}-prompt`,
291
+ name: `Phase 2-${i + 1}: ${platform} 端专属文档生成`,
292
+ next: `platform-${platform}-done`,
293
+ });
294
+ steps.push({
295
+ id: `platform-${platform}-done`,
296
+ name: `${platform} 端完成检查`,
297
+ next: nextId,
298
+ });
299
+ }
300
+ }
301
+ steps.push({
302
+ id: 'done',
303
+ name: 'Pipeline 完成',
304
+ next: null,
305
+ });
306
+ const engine = new PipelineEngine({
307
+ iteration,
308
+ name: 'analyze',
309
+ cwd,
310
+ });
311
+ // 将平台列表存入引擎状态,供后续步骤使用
312
+ engine.defineSteps(steps);
313
+ return { engine, steps };
314
+ }
315
+ // ── 工厂函数:创建 split 流水线 ──
316
+ async function createSplitPipeline(iteration, cwd) {
317
+ const steps = [
318
+ {
319
+ id: 'init',
320
+ name: '初始化拆分流程',
321
+ next: 'prompt-analysis',
322
+ },
323
+ {
324
+ id: 'prompt-analysis',
325
+ name: 'AI分析需求文档,输出任务拆分建议',
326
+ next: 'confirmation',
327
+ },
328
+ {
329
+ id: 'confirmation',
330
+ name: '用户确认拆分方案',
331
+ next: 'creation',
332
+ },
333
+ {
334
+ id: 'creation',
335
+ name: '创建任务目录结构',
336
+ next: 'validation',
337
+ },
338
+ {
339
+ id: 'validation',
340
+ name: '验证任务结构完整性',
341
+ next: 'done',
342
+ },
343
+ {
344
+ id: 'done',
345
+ name: 'Pipeline 完成',
346
+ next: null,
347
+ },
348
+ ];
349
+ const engine = new PipelineEngine({
350
+ iteration,
351
+ name: 'split',
352
+ cwd,
353
+ });
354
+ engine.defineSteps(steps);
355
+ return { engine, steps };
356
+ }
357
+ // ── 工厂函数:创建 execute 流水线 ──
358
+ async function createExecutePipeline(iteration, task, cwd) {
359
+ const steps = [
360
+ {
361
+ id: 'init',
362
+ name: '初始化执行环境',
363
+ next: 'prompt-analysis',
364
+ },
365
+ {
366
+ id: 'prompt-analysis',
367
+ name: 'AI分析任务需求,生成代码实现方案',
368
+ next: 'code-generation',
369
+ },
370
+ {
371
+ id: 'code-generation',
372
+ name: '生成代码文件',
373
+ next: 'verification',
374
+ },
375
+ {
376
+ id: 'verification',
377
+ name: '代码验证与测试',
378
+ next: 'done',
379
+ },
380
+ {
381
+ id: 'done',
382
+ name: 'Pipeline 完成',
383
+ next: null,
384
+ },
385
+ ];
386
+ const engine = new PipelineEngine({
387
+ iteration,
388
+ name: task ? `execute-${task}` : 'execute',
389
+ cwd,
390
+ });
391
+ engine.defineSteps(steps);
392
+ return { engine, steps };
393
+ }
394
+ // ── 工厂函数:创建全局分析流水线 ──
395
+ async function createGlobalAnalyzePipeline(cwd) {
396
+ const steps = [
397
+ {
398
+ id: 'init',
399
+ name: '初始化全局分析环境',
400
+ next: 'discovery',
401
+ },
402
+ {
403
+ id: 'discovery',
404
+ name: '发现所有迭代和项目',
405
+ next: 'global-analysis',
406
+ },
407
+ {
408
+ id: 'global-analysis',
409
+ name: '分析跨迭代依赖关系',
410
+ next: 'consistency-check',
411
+ },
412
+ {
413
+ id: 'consistency-check',
414
+ name: '检查全局一致性',
415
+ next: 'report-generation',
416
+ },
417
+ {
418
+ id: 'report-generation',
419
+ name: '生成全局报告',
420
+ next: 'done',
421
+ },
422
+ {
423
+ id: 'done',
424
+ name: 'Pipeline 完成',
425
+ next: null,
426
+ },
427
+ ];
428
+ const engine = new PipelineEngine({
429
+ iteration: 'GLOBAL', // 使用特殊标识表示全局分析
430
+ name: 'global-analyze',
431
+ cwd,
432
+ });
433
+ engine.defineSteps(steps);
434
+ return { engine, steps };
435
+ }
436
+ //# sourceMappingURL=pipeline-engine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeline-engine.js","sourceRoot":"","sources":["../../src/core/pipeline-engine.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-builder.d.ts","sourceRoot":"","sources":["../../src/core/prompt-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompt-builder.d.ts","sourceRoot":"","sources":["../../src/core/prompt-builder.ts"],"names":[],"mappings":"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"}
@@ -929,9 +929,24 @@ function getInstruction(command, context) {
929
929
  switch (command) {
930
930
  case 'execute':
931
931
  return [
932
- `请根据以下 Spec 规范,为 “${context.taskName || '当前任务'} 生成完整的代码实现。`,
932
+ `请根据以下 Spec 规范,为 "${context.taskName || '当前任务'}" 生成完整的代码实现。`,
933
933
  '',
934
- '## 后端实现要求',
934
+ '## 相邻任务关联(Layer 2)',
935
+ '在开始编码前,先读取相邻任务的文档,建立任务间关联认知:',
936
+ '1. **读取前置任务**(本任务依赖的任务):',
937
+ ' - 在 030-tasks/ 下查找依赖本任务的任务目录',
938
+ ' - Read 其 _shared/CONTEXT.md 和 00-specs/REQ.md → 了解前置任务的输出接口/数据模型',
939
+ ' - Read 其 _shared/API_CONTRACT.yaml → 了解前置任务定义的契约',
940
+ '2. **读取并行任务**(同一功能单元的其他端任务):',
941
+ ' - 在 030-tasks/ 下查找同一 Task-NNN 下的其他端子任务',
942
+ ' - Read 其 _shared/CONTEXT.md → 了解并行任务的接口定义和状态设计',
943
+ '3. **契约验证**:',
944
+ ' - 本任务的接口定义是否与前置任务的输出一致?',
945
+ ' - 本任务的数据模型是否与并行任务的数据模型一致?',
946
+ ' - 本任务的状态枚举是否与全局 API_CONTRACT.yaml 一致?',
947
+ ' - 标注不一致项,在代码注释中说明处理方案',
948
+ '',
949
+ '## 后端实现要求(Layer 3)',
935
950
  `1. 严格遵循上面的技术栈选型`,
936
951
  `2. 实现所有 ${context.apiCount} 个 API 接口`,
937
952
  `3. 创建所有 ${context.modelCount} 个数据模型的 DDL`,
@@ -939,7 +954,7 @@ function getInstruction(command, context) {
939
954
  '5. 代码必须能直接编译通过',
940
955
  '6. 包含必要的 import 语句和注解',
941
956
  '',
942
- '## 前端实现要求',
957
+ '## 前端实现要求(Layer 3)',
943
958
  '如果任务涉及前端各端(admin/H5/小程序/App),还需:',
944
959
  '1. 按 UI_SPEC.md 中的字段→UI 映射实现每个页面',
945
960
  '2. 按路由表创建页面组件和路由配置',