speccore 8.3.348 → 8.3.363
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/.agents/skills/spec-verify/SKILL.md +22 -1
- package/dist/cli.js +19 -4
- package/dist/cli.js.map +1 -1
- package/dist/commands/about.d.ts.map +1 -1
- package/dist/commands/about.js +36 -1
- package/dist/commands/about.js.map +1 -1
- package/dist/commands/analyze/add-platform.d.ts +3 -0
- package/dist/commands/analyze/add-platform.d.ts.map +1 -0
- package/dist/commands/analyze/add-platform.js +82 -0
- package/dist/commands/analyze/add-platform.js.map +1 -0
- package/dist/commands/analyze/audit-fix.d.ts +3 -0
- package/dist/commands/analyze/audit-fix.d.ts.map +1 -0
- package/dist/commands/analyze/audit-fix.js +73 -0
- package/dist/commands/analyze/audit-fix.js.map +1 -0
- package/dist/commands/analyze/context-guard.d.ts +3 -0
- package/dist/commands/analyze/context-guard.d.ts.map +1 -0
- package/dist/commands/analyze/context-guard.js +75 -0
- package/dist/commands/analyze/context-guard.js.map +1 -0
- package/dist/commands/analyze/doc.d.ts +3 -0
- package/dist/commands/analyze/doc.d.ts.map +1 -0
- package/dist/commands/analyze/doc.js +77 -0
- package/dist/commands/analyze/doc.js.map +1 -0
- package/dist/commands/analyze/feature.d.ts +3 -0
- package/dist/commands/analyze/feature.d.ts.map +1 -0
- package/dist/commands/analyze/feature.js +75 -0
- package/dist/commands/analyze/feature.js.map +1 -0
- package/dist/commands/analyze/from-code.d.ts +3 -0
- package/dist/commands/analyze/from-code.d.ts.map +1 -0
- package/dist/commands/analyze/from-code.js +94 -0
- package/dist/commands/analyze/from-code.js.map +1 -0
- package/dist/commands/analyze/incremental.d.ts +3 -0
- package/dist/commands/analyze/incremental.d.ts.map +1 -0
- package/dist/commands/analyze/incremental.js +90 -0
- package/dist/commands/analyze/incremental.js.map +1 -0
- package/dist/commands/analyze/modes.d.ts +13 -0
- package/dist/commands/analyze/modes.d.ts.map +1 -0
- package/dist/commands/analyze/modes.js +147 -0
- package/dist/commands/analyze/modes.js.map +1 -0
- package/dist/commands/analyze/module.d.ts +3 -0
- package/dist/commands/analyze/module.d.ts.map +1 -0
- package/dist/commands/analyze/module.js +95 -0
- package/dist/commands/analyze/module.js.map +1 -0
- package/dist/commands/analyze/overview.d.ts +3 -0
- package/dist/commands/analyze/overview.d.ts.map +1 -0
- package/dist/commands/analyze/overview.js +125 -0
- package/dist/commands/analyze/overview.js.map +1 -0
- package/dist/commands/analyze/shared.d.ts +53 -0
- package/dist/commands/analyze/shared.d.ts.map +1 -0
- package/dist/commands/analyze/shared.js +34 -0
- package/dist/commands/analyze/shared.js.map +1 -0
- package/dist/commands/analyze/units.d.ts +46 -0
- package/dist/commands/analyze/units.d.ts.map +1 -0
- package/dist/commands/analyze/units.js +950 -0
- package/dist/commands/analyze/units.js.map +1 -0
- package/dist/commands/analyze.d.ts +6 -88
- package/dist/commands/analyze.d.ts.map +1 -1
- package/dist/commands/analyze.js +97 -1417
- package/dist/commands/analyze.js.map +1 -1
- package/dist/commands/ask.d.ts.map +1 -1
- package/dist/commands/ask.js +4 -2
- package/dist/commands/ask.js.map +1 -1
- package/dist/commands/dashboard.d.ts.map +1 -1
- package/dist/commands/dashboard.js +36 -1
- package/dist/commands/dashboard.js.map +1 -1
- package/dist/commands/deploy.d.ts +7 -1
- package/dist/commands/deploy.d.ts.map +1 -1
- package/dist/commands/deploy.js +156 -3
- package/dist/commands/deploy.js.map +1 -1
- package/dist/commands/doc2spec.d.ts +1 -1
- package/dist/commands/doc2spec.d.ts.map +1 -1
- package/dist/commands/doc2spec.js +33 -23
- package/dist/commands/doc2spec.js.map +1 -1
- package/dist/commands/doctor.js +60 -13
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/execute.d.ts.map +1 -1
- package/dist/commands/execute.js +22 -0
- package/dist/commands/execute.js.map +1 -1
- package/dist/commands/help.js +36 -1
- package/dist/commands/help.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +16 -3
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/pipeline.d.ts.map +1 -1
- package/dist/commands/pipeline.js +15 -0
- package/dist/commands/pipeline.js.map +1 -1
- package/dist/commands/plan.js +2 -0
- package/dist/commands/plan.js.map +1 -1
- package/dist/commands/pr.d.ts.map +1 -1
- package/dist/commands/pr.js +14 -3
- package/dist/commands/pr.js.map +1 -1
- package/dist/commands/prompts.d.ts +11 -1
- package/dist/commands/prompts.d.ts.map +1 -1
- package/dist/commands/prompts.js +197 -15
- package/dist/commands/prompts.js.map +1 -1
- package/dist/commands/reindex.d.ts.map +1 -1
- package/dist/commands/reindex.js +23 -0
- package/dist/commands/reindex.js.map +1 -1
- package/dist/commands/retro.d.ts.map +1 -1
- package/dist/commands/retro.js +3 -1
- package/dist/commands/retro.js.map +1 -1
- package/dist/commands/status-panel.d.ts.map +1 -1
- package/dist/commands/status-panel.js +9 -1
- package/dist/commands/status-panel.js.map +1 -1
- package/dist/commands/unitize.d.ts +2 -0
- package/dist/commands/unitize.d.ts.map +1 -1
- package/dist/commands/unitize.js +168 -6
- package/dist/commands/unitize.js.map +1 -1
- package/dist/commands/update-env-configs.d.ts.map +1 -1
- package/dist/commands/update-env-configs.js +127 -71
- package/dist/commands/update-env-configs.js.map +1 -1
- package/dist/commands/verify.d.ts +8 -0
- package/dist/commands/verify.d.ts.map +1 -1
- package/dist/commands/verify.js +383 -16
- package/dist/commands/verify.js.map +1 -1
- package/dist/commands/welcome.d.ts.map +1 -1
- package/dist/commands/welcome.js +3 -1
- package/dist/commands/welcome.js.map +1 -1
- package/dist/core/ai-verify/plan-generator.d.ts +94 -0
- package/dist/core/ai-verify/plan-generator.d.ts.map +1 -0
- package/dist/core/ai-verify/plan-generator.js +598 -0
- package/dist/core/ai-verify/plan-generator.js.map +1 -0
- package/dist/core/ai-verify/result-parser.d.ts +27 -0
- package/dist/core/ai-verify/result-parser.d.ts.map +1 -0
- package/dist/core/ai-verify/result-parser.js +212 -0
- package/dist/core/ai-verify/result-parser.js.map +1 -0
- package/dist/core/ai-verify/scope-resolver.d.ts +34 -0
- package/dist/core/ai-verify/scope-resolver.d.ts.map +1 -0
- package/dist/core/ai-verify/scope-resolver.js +183 -0
- package/dist/core/ai-verify/scope-resolver.js.map +1 -0
- package/dist/core/ai-verify/types.d.ts +171 -0
- package/dist/core/ai-verify/types.d.ts.map +1 -0
- package/dist/core/ai-verify/types.js +9 -0
- package/dist/core/ai-verify/types.js.map +1 -0
- package/dist/core/ai-verify/visual-judge.d.ts +33 -0
- package/dist/core/ai-verify/visual-judge.d.ts.map +1 -0
- package/dist/core/ai-verify/visual-judge.js +123 -0
- package/dist/core/ai-verify/visual-judge.js.map +1 -0
- package/dist/core/ask-engine.d.ts +6 -0
- package/dist/core/ask-engine.d.ts.map +1 -1
- package/dist/core/ask-engine.js +83 -3
- package/dist/core/ask-engine.js.map +1 -1
- package/dist/core/asset-stamp.d.ts +7 -4
- package/dist/core/asset-stamp.d.ts.map +1 -1
- package/dist/core/asset-stamp.js +9 -6
- package/dist/core/asset-stamp.js.map +1 -1
- package/dist/core/code-graph/builder.d.ts.map +1 -1
- package/dist/core/code-graph/builder.js +93 -75
- package/dist/core/code-graph/builder.js.map +1 -1
- package/dist/core/code-graph/incremental-build.d.ts.map +1 -1
- package/dist/core/code-graph/incremental-build.js +13 -19
- package/dist/core/code-graph/incremental-build.js.map +1 -1
- package/dist/core/code-graph/index.d.ts +1 -1
- package/dist/core/code-graph/index.d.ts.map +1 -1
- package/dist/core/code-graph/index.js +15 -12
- package/dist/core/code-graph/index.js.map +1 -1
- package/dist/core/code-graph/multimodal.js +1 -1
- package/dist/core/code-graph/parser.js +1 -1
- package/dist/core/code-graph/query.d.ts +1 -1
- package/dist/core/code-graph/reporter.d.ts +1 -1
- package/dist/core/code-graph/reporter.d.ts.map +1 -1
- package/dist/core/code-graph/reporter.js +18 -10
- package/dist/core/code-graph/reporter.js.map +1 -1
- package/dist/core/code-graph/requirement-linker.d.ts.map +1 -1
- package/dist/core/code-graph/requirement-linker.js +24 -14
- package/dist/core/code-graph/requirement-linker.js.map +1 -1
- package/dist/core/code-graph/types.d.ts +1 -1
- package/dist/core/code-graph/types.js +1 -1
- package/dist/core/code-graph/visualizer.d.ts +1 -7
- package/dist/core/code-graph/visualizer.d.ts.map +1 -1
- package/dist/core/code-graph/visualizer.js +476 -49
- package/dist/core/code-graph/visualizer.js.map +1 -1
- package/dist/core/deploy/engine.d.ts +21 -0
- package/dist/core/deploy/engine.d.ts.map +1 -1
- package/dist/core/deploy/engine.js +288 -12
- package/dist/core/deploy/engine.js.map +1 -1
- package/dist/core/deploy-ledger.d.ts +12 -0
- package/dist/core/deploy-ledger.d.ts.map +1 -0
- package/dist/core/deploy-ledger.js +35 -0
- package/dist/core/deploy-ledger.js.map +1 -0
- package/dist/core/environment-config.d.ts +11 -0
- package/dist/core/environment-config.d.ts.map +1 -1
- package/dist/core/environment-config.js +4 -0
- package/dist/core/environment-config.js.map +1 -1
- package/dist/core/intent-cache.d.ts.map +1 -1
- package/dist/core/intent-cache.js +6 -0
- package/dist/core/intent-cache.js.map +1 -1
- package/dist/core/knowledge-visualizer.js +1 -1
- package/dist/core/page-bundle.d.ts +2 -0
- package/dist/core/page-bundle.d.ts.map +1 -1
- package/dist/core/page-bundle.js +18 -1
- package/dist/core/page-bundle.js.map +1 -1
- package/dist/core/plan-html.js +1 -1
- package/dist/core/platform-inference.d.ts +35 -0
- package/dist/core/platform-inference.d.ts.map +1 -1
- package/dist/core/platform-inference.js +92 -0
- package/dist/core/platform-inference.js.map +1 -1
- package/dist/core/prompt-plugins/analyze-graph-plugin.d.ts.map +1 -1
- package/dist/core/prompt-plugins/analyze-graph-plugin.js +16 -1
- package/dist/core/prompt-plugins/analyze-graph-plugin.js.map +1 -1
- package/dist/core/prompt-plugins/execute-graph-plugin.d.ts +2 -0
- package/dist/core/prompt-plugins/execute-graph-plugin.d.ts.map +1 -1
- package/dist/core/prompt-plugins/execute-graph-plugin.js +127 -27
- package/dist/core/prompt-plugins/execute-graph-plugin.js.map +1 -1
- package/dist/core/quality-audit.d.ts.map +1 -1
- package/dist/core/quality-audit.js +18 -0
- package/dist/core/quality-audit.js.map +1 -1
- package/dist/core/reindex-engine.d.ts +20 -0
- package/dist/core/reindex-engine.d.ts.map +1 -1
- package/dist/core/reindex-engine.js +142 -0
- package/dist/core/reindex-engine.js.map +1 -1
- package/dist/core/requirement-clarifier.d.ts.map +1 -1
- package/dist/core/requirement-clarifier.js +22 -6
- package/dist/core/requirement-clarifier.js.map +1 -1
- package/dist/core/spec-paths.d.ts +5 -0
- package/dist/core/spec-paths.d.ts.map +1 -1
- package/dist/core/spec-paths.js +1 -0
- package/dist/core/spec-paths.js.map +1 -1
- package/dist/core/test-config.d.ts +7 -1
- package/dist/core/test-config.d.ts.map +1 -1
- package/dist/core/test-config.js +59 -11
- package/dist/core/test-config.js.map +1 -1
- package/dist/core/ui-verify/index.d.ts +1 -1
- package/dist/core/ui-verify/index.d.ts.map +1 -1
- package/dist/core/ui-verify/index.js +2 -1
- package/dist/core/ui-verify/index.js.map +1 -1
- package/dist/core/ui-verify/smoke-engine.js +71 -15
- package/dist/core/ui-verify/smoke-engine.js.map +1 -1
- package/dist/core/ui-verify/spec-generator.d.ts +5 -9
- package/dist/core/ui-verify/spec-generator.d.ts.map +1 -1
- package/dist/core/ui-verify/spec-generator.js +66 -3
- package/dist/core/ui-verify/spec-generator.js.map +1 -1
- package/dist/core/ui-verify/types.d.ts +25 -0
- package/dist/core/ui-verify/types.d.ts.map +1 -1
- package/dist/core/ui-verify/visual-model-client.d.ts +2 -0
- package/dist/core/ui-verify/visual-model-client.d.ts.map +1 -1
- package/dist/core/ui-verify/visual-model-client.js +4 -4
- package/dist/core/ui-verify/visual-model-client.js.map +1 -1
- package/dist/core/unified-config.d.ts +27 -0
- package/dist/core/unified-config.d.ts.map +1 -1
- package/dist/core/unified-config.js +37 -0
- package/dist/core/unified-config.js.map +1 -1
- package/package.json +1 -1
- package/templates/accounts-example.yaml +49 -0
- package/templates/deploy-examples.yaml +6 -7
- package/templates/html/fonts/JetBrainsMono.woff2 +0 -0
- package/templates/html/fonts/Orbitron.woff2 +0 -0
- package/templates/html/speccore-ask-explain.html +1 -1
- package/templates/html/speccore-ask-guide.html +2 -2
- package/templates/html/speccore-ask-match.html +1 -1
- package/templates/html/speccore-ask-pipeline.html +1 -1
- package/templates/html/speccore-ask-result.html +2 -2
- package/templates/html/speccore-help.html +2 -2
- package/templates/html/speccore-setup-guide.html +16 -1
- package/templates/speccore-yml-example.yml +12 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"modes.js","sourceRoot":"","sources":["../../../src/commands/analyze/modes.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../src/commands/analyze/module.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAmD9E"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.analyzeModuleMode = analyzeModuleMode;
|
|
37
|
+
/**
|
|
38
|
+
* analyze 模式:--module 功能模块级全局分析
|
|
39
|
+
* v8.3.341+: 从 analyzeCommand 抽出的模式早退块
|
|
40
|
+
* v8.3.359+: 从 analyze.ts 拆分(渐进重构批次 B,逻辑不搬家、行为不变)
|
|
41
|
+
*/
|
|
42
|
+
const logger_1 = require("../../utils/logger");
|
|
43
|
+
const context_1 = require("../../core/context");
|
|
44
|
+
const shared_1 = require("./shared");
|
|
45
|
+
async function analyzeModuleMode(options) {
|
|
46
|
+
const iter = options.iteration || await (0, context_1.getDefaultIteration)();
|
|
47
|
+
if (!iter) {
|
|
48
|
+
logger_1.logger.error('请指定迭代: -I <iteration>');
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
const iterDir = await (0, context_1.getIterationDir)(iter);
|
|
52
|
+
// 调用点已保证 options.module 非空(if (options.module)),此处断言恢复 narrowing
|
|
53
|
+
const moduleName = options.module;
|
|
54
|
+
const { analyzeModule, buildModuleAnalysisPrompt, listAnalyzedModules, listRequirementModules } = await Promise.resolve().then(() => __importStar(require('../../core/module-analyzer')));
|
|
55
|
+
const result = await analyzeModule(iterDir, moduleName);
|
|
56
|
+
logger_1.logger.info('');
|
|
57
|
+
if (result.exists) {
|
|
58
|
+
logger_1.logger.info(`🔄 功能模块重新分析: ${moduleName}`);
|
|
59
|
+
logger_1.logger.info(` 状态: 已存在于全局文档`);
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
logger_1.logger.info(`🆕 功能模块新增分析: ${moduleName}`);
|
|
63
|
+
logger_1.logger.info(` 状态: 尚未在全局文档中分析`);
|
|
64
|
+
// 检查需求文档中是否存在该模块
|
|
65
|
+
const reqModules = await listRequirementModules(iterDir);
|
|
66
|
+
if (!reqModules.includes(moduleName)) {
|
|
67
|
+
logger_1.logger.warn(`⚠️ 需求文档中未找到功能模块 "${moduleName}"`);
|
|
68
|
+
logger_1.logger.info(` 需求中已有的模块: ${reqModules.slice(0, 10).join(', ')}${reqModules.length > 10 ? '...' : ''}`);
|
|
69
|
+
logger_1.logger.info(` 建议: 先确认模块名称是否正确,或在 010-requirements/features/ 中创建 ${moduleName}/SOURCE.md`);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
logger_1.logger.info(` 涉及端: ${result.involvedPlatforms.join(', ') || '待确定'}`);
|
|
73
|
+
logger_1.logger.info(` 全局更新: ${result.globalUpdates.length} 项`);
|
|
74
|
+
logger_1.logger.info(` 各端更新: ${result.platformUpdates.length} 个端`);
|
|
75
|
+
logger_1.logger.info('');
|
|
76
|
+
if (options.prompt) {
|
|
77
|
+
const prompt = buildModuleAnalysisPrompt(iterDir, result, iter);
|
|
78
|
+
await (0, shared_1.emitAiPrompt)(iter, prompt, { mode: 'module-analysis' });
|
|
79
|
+
process.exitCode = 10;
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
logger_1.logger.info('📋 全局文档更新:');
|
|
83
|
+
for (const up of result.globalUpdates) {
|
|
84
|
+
logger_1.logger.info(` • ${up.action}: ${up.file}`);
|
|
85
|
+
}
|
|
86
|
+
logger_1.logger.info('');
|
|
87
|
+
logger_1.logger.info('📋 各端文档更新:');
|
|
88
|
+
for (const pu of result.platformUpdates) {
|
|
89
|
+
logger_1.logger.info(` • ${pu.platform}: ${pu.files.join(', ')}`);
|
|
90
|
+
}
|
|
91
|
+
logger_1.logger.info('');
|
|
92
|
+
logger_1.logger.info('📋 下一步:');
|
|
93
|
+
logger_1.logger.info(` speccore analyze --prompt -I ${iter} --module ${moduleName}`);
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module.js","sourceRoot":"","sources":["../../../src/commands/analyze/module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUA,8CAmDC;AA7DD;;;;GAIG;AACH,+CAA4C;AAC5C,gDAA0E;AAC1E,qCAAwC;AAGjC,KAAK,UAAU,iBAAiB,CAAC,OAAuB;IAC7D,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,IAAI,MAAM,IAAA,6BAAmB,GAAE,CAAC;IAC9D,IAAI,CAAC,IAAI,EAAE,CAAC;QAAC,eAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAAC,OAAO;IAAC,CAAC;IAC7D,MAAM,OAAO,GAAG,MAAM,IAAA,yBAAe,EAAC,IAAI,CAAC,CAAC;IAC5C,iEAAiE;IACjE,MAAM,UAAU,GAAG,OAAO,CAAC,MAAgB,CAAC;IAE5C,MAAM,EAAE,aAAa,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,GAAG,wDAAa,4BAA4B,GAAC,CAAC;IAC7I,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAExD,eAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChB,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,eAAM,CAAC,IAAI,CAAC,gBAAgB,UAAU,EAAE,CAAC,CAAC;QAC1C,eAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACjC,CAAC;SAAM,CAAC;QACN,eAAM,CAAC,IAAI,CAAC,gBAAgB,UAAU,EAAE,CAAC,CAAC;QAC1C,eAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAEjC,iBAAiB;QACjB,MAAM,UAAU,GAAG,MAAM,sBAAsB,CAAC,OAAO,CAAC,CAAC;QACzD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YACrC,eAAM,CAAC,IAAI,CAAC,oBAAoB,UAAU,GAAG,CAAC,CAAC;YAC/C,eAAM,CAAC,IAAI,CAAC,gBAAgB,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACxG,eAAM,CAAC,IAAI,CAAC,wDAAwD,UAAU,YAAY,CAAC,CAAC;QAC9F,CAAC;IACH,CAAC;IAED,eAAM,CAAC,IAAI,CAAC,WAAW,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;IACvE,eAAM,CAAC,IAAI,CAAC,YAAY,MAAM,CAAC,aAAa,CAAC,MAAM,IAAI,CAAC,CAAC;IACzD,eAAM,CAAC,IAAI,CAAC,YAAY,MAAM,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC,CAAC;IAC5D,eAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEhB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,MAAM,GAAG,yBAAyB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QAChE,MAAM,IAAA,qBAAY,EAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;QAC9D,OAAO,CAAC,QAAQ,GAAG,EAAE,CAAC;QACtB,OAAO;IACT,CAAC;IAED,eAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC1B,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;QACtC,eAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;IAC/C,CAAC;IACD,eAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChB,eAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC1B,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;QACxC,eAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,QAAQ,KAAK,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC7D,CAAC;IACD,eAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChB,eAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACvB,eAAM,CAAC,IAAI,CAAC,mCAAmC,IAAI,aAAa,UAAU,EAAE,CAAC,CAAC;AAChF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"overview.d.ts","sourceRoot":"","sources":["../../../src/commands/analyze/overview.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAiChF"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.analyzeOverviewMode = analyzeOverviewMode;
|
|
4
|
+
/**
|
|
5
|
+
* analyze 模式:--scope=overview 总览生成(--phase=skeleton|full)
|
|
6
|
+
* 含总览 Prompt 构建与 [DOC:xxx] 标记落盘。
|
|
7
|
+
* v8.3.341+: 从 analyzeCommand 抽出的模式早退块
|
|
8
|
+
* v8.3.359+: 从 analyze.ts 拆分(渐进重构批次 C,逻辑不搬家、行为不变)
|
|
9
|
+
*/
|
|
10
|
+
const path_1 = require("path");
|
|
11
|
+
const fs_extra_1 = require("fs-extra");
|
|
12
|
+
const logger_1 = require("../../utils/logger");
|
|
13
|
+
const context_1 = require("../../core/context");
|
|
14
|
+
const feature_metadata_1 = require("../../core/feature-metadata");
|
|
15
|
+
const shared_1 = require("./shared");
|
|
16
|
+
async function analyzeOverviewMode(options) {
|
|
17
|
+
const iter = options.iteration || await (0, context_1.getDefaultIteration)();
|
|
18
|
+
if (!iter) {
|
|
19
|
+
logger_1.logger.error('请指定迭代: -I <iteration>');
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
const iterDir = await (0, context_1.getIterationDir)(iter);
|
|
23
|
+
// 扫描功能单元元数据
|
|
24
|
+
const metadata = await (0, feature_metadata_1.scanFeatureMetadata)(iterDir);
|
|
25
|
+
if (metadata.length === 0) {
|
|
26
|
+
logger_1.logger.warn('未找到功能单元,请先运行: speccore doc2spec --split');
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
logger_1.logger.info(`📊 总览生成: ${iter}`);
|
|
30
|
+
logger_1.logger.info(` 功能单元: ${metadata.length} 个`);
|
|
31
|
+
// 构建总览输入
|
|
32
|
+
const overviewInput = await (0, feature_metadata_1.buildOverviewInput)(iter, metadata);
|
|
33
|
+
const coverage = (0, feature_metadata_1.calculatePlatformCoverage)(metadata);
|
|
34
|
+
const crossApis = (0, feature_metadata_1.findCrossFeatureApis)(metadata);
|
|
35
|
+
const phase = options.phase || 'skeleton';
|
|
36
|
+
// ── apply 模式:接收 AI 结果写入总览文件 ──
|
|
37
|
+
if (options.apply) {
|
|
38
|
+
await writeOverviewFiles(iterDir, options.apply, phase);
|
|
39
|
+
logger_1.logger.success(`✅ 总览已写入: ${iterDir}/020-specs/overview/`);
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
// ── prompt 模式:生成 AI Prompt ──
|
|
43
|
+
const prompt = buildOverviewPrompt(overviewInput, coverage, crossApis, phase);
|
|
44
|
+
await (0, shared_1.emitAiPrompt)(iter, prompt, { mode: 'overview' });
|
|
45
|
+
process.exitCode = 10;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* 构建总览生成 AI Prompt
|
|
49
|
+
*/
|
|
50
|
+
function buildOverviewPrompt(input, coverage, crossApis, phase) {
|
|
51
|
+
const isSkeleton = phase === 'skeleton';
|
|
52
|
+
let prompt = `# 任务: 生成迭代${isSkeleton ? '骨架' : '完整'}总览\n\n`;
|
|
53
|
+
prompt += `## 输入数据(CLI 自动提取,${input.features.length} 个功能单元)\n\n`;
|
|
54
|
+
prompt += `### 功能单元清单\n\n`;
|
|
55
|
+
prompt += `| 功能单元 | 涉及端 | 依赖 | 摘要 |\n`;
|
|
56
|
+
prompt += `| :--- | :--- | :--- | :--- |\n`;
|
|
57
|
+
for (const f of input.features) {
|
|
58
|
+
prompt += `| ${f.feature} | ${f.platforms.join(', ') || '-'} | ${f.dependencies.join(', ') || '无'} | ${f.summary.slice(0, 40)}${f.summary.length > 40 ? '...' : ''} |\n`;
|
|
59
|
+
}
|
|
60
|
+
prompt += `\n### 端覆盖统计\n\n`;
|
|
61
|
+
prompt += `| 端 | 覆盖功能单元数 |\n`;
|
|
62
|
+
prompt += `| :--- | :--- |\n`;
|
|
63
|
+
for (const [platform, count] of Object.entries(coverage)) {
|
|
64
|
+
prompt += `| ${platform} | ${count} |\n`;
|
|
65
|
+
}
|
|
66
|
+
if (crossApis.length > 0) {
|
|
67
|
+
prompt += `\n### 跨功能单元接口\n\n`;
|
|
68
|
+
prompt += `| 接口 | 被哪些功能引用 |\n`;
|
|
69
|
+
prompt += `| :--- | :--- |\n`;
|
|
70
|
+
for (const api of crossApis) {
|
|
71
|
+
prompt += `| ${api.path} | ${api.usedBy.join(', ')} |\n`;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
if (isSkeleton) {
|
|
75
|
+
prompt += `\n## 生成要求(骨架总览)\n\n`;
|
|
76
|
+
prompt += `1. 生成 **功能地图**(Mermaid flowchart):展示功能单元间的依赖关系\n`;
|
|
77
|
+
prompt += `2. 生成 **端覆盖总览表**:指出哪些端缺少功能覆盖\n`;
|
|
78
|
+
prompt += `3. 生成 **功能单元清单**:确认所有功能单元已识别\n`;
|
|
79
|
+
prompt += `4. 内容控制在 40-60 行\n`;
|
|
80
|
+
prompt += `5. 使用 [DOC:OVERVIEW] 标记输出\n`;
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
prompt += `\n## 生成要求(完整总览)\n\n`;
|
|
84
|
+
prompt += `1. 生成 **系统架构图**(Mermaid):服务拓扑 + 数据流\n`;
|
|
85
|
+
prompt += `2. 生成 **跨功能单元接口清单**:标注哪些接口被多个功能引用\n`;
|
|
86
|
+
prompt += `3. 生成 **实际依赖关系表**:基于接口调用关系\n`;
|
|
87
|
+
prompt += `4. 内容控制在 60-80 行\n`;
|
|
88
|
+
prompt += `5. 使用 [DOC:OVERVIEW] 和 [DOC:ARCHITECTURE] 标记输出\n`;
|
|
89
|
+
}
|
|
90
|
+
prompt += `\n## 输出格式\n\n`;
|
|
91
|
+
prompt += `\`\`\`markdown\n`;
|
|
92
|
+
prompt += `[DOC:OVERVIEW]\n`;
|
|
93
|
+
prompt += `# 迭代总览(${isSkeleton ? '骨架' : '完整'})\n`;
|
|
94
|
+
prompt += `...\n`;
|
|
95
|
+
prompt += `\`\`\`\n`;
|
|
96
|
+
return prompt;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* 写入总览文件(解析 AI 返回的 [DOC:xxx] 标记)
|
|
100
|
+
*/
|
|
101
|
+
async function writeOverviewFiles(iterDir, applyContent, phase) {
|
|
102
|
+
const specDir = (0, path_1.join)(iterDir, '020-specs');
|
|
103
|
+
const overviewDir = (0, path_1.join)(specDir, 'overview');
|
|
104
|
+
await (0, fs_extra_1.ensureDir)(overviewDir);
|
|
105
|
+
// 解析 [DOC:OVERVIEW] 和 [DOC:ARCHITECTURE] 标记
|
|
106
|
+
const overviewMatch = applyContent.match(/\[DOC:OVERVIEW\]([\s\S]*?)(?=\[DOC:|$)/);
|
|
107
|
+
const archMatch = applyContent.match(/\[DOC:ARCHITECTURE\]([\s\S]*?)(?=\[DOC:|$)/);
|
|
108
|
+
if (overviewMatch) {
|
|
109
|
+
const content = overviewMatch[1].trim();
|
|
110
|
+
const fileName = phase === 'skeleton' ? 'REQUIREMENT.md' : 'REQUIREMENT.md';
|
|
111
|
+
await (0, fs_extra_1.writeFile)((0, path_1.join)(overviewDir, fileName), content);
|
|
112
|
+
logger_1.logger.info(` 📝 已写入: overview/${fileName}`);
|
|
113
|
+
}
|
|
114
|
+
if (archMatch) {
|
|
115
|
+
const content = archMatch[1].trim();
|
|
116
|
+
await (0, fs_extra_1.writeFile)((0, path_1.join)(overviewDir, 'ARCHITECTURE.md'), content);
|
|
117
|
+
logger_1.logger.info(` 📝 已写入: overview/ARCHITECTURE.md`);
|
|
118
|
+
}
|
|
119
|
+
// 如果没有标记,直接写入 REQUIREMENT.md
|
|
120
|
+
if (!overviewMatch && !archMatch) {
|
|
121
|
+
await (0, fs_extra_1.writeFile)((0, path_1.join)(overviewDir, 'REQUIREMENT.md'), applyContent.trim());
|
|
122
|
+
logger_1.logger.info(` 📝 已写入: overview/REQUIREMENT.md`);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
//# sourceMappingURL=overview.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"overview.js","sourceRoot":"","sources":["../../../src/commands/analyze/overview.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
export declare function emitAiPrompt(iter: string, prompt: string, meta?: Record<string, unknown>): Promise<void>;
|
|
2
|
+
export interface AnalyzeOptions {
|
|
3
|
+
iteration?: string;
|
|
4
|
+
output?: string;
|
|
5
|
+
auto?: boolean;
|
|
6
|
+
interactive?: boolean;
|
|
7
|
+
platform?: string;
|
|
8
|
+
source?: string;
|
|
9
|
+
requirements?: string;
|
|
10
|
+
scope?: 'global' | 'iteration' | 'overview';
|
|
11
|
+
depth?: 'quick' | 'normal' | 'deep';
|
|
12
|
+
prompt?: boolean;
|
|
13
|
+
apply?: string;
|
|
14
|
+
withCode?: boolean;
|
|
15
|
+
noSource?: boolean;
|
|
16
|
+
sourceScope?: string;
|
|
17
|
+
supplement?: boolean;
|
|
18
|
+
feature?: string;
|
|
19
|
+
doc?: string;
|
|
20
|
+
auditFix?: boolean;
|
|
21
|
+
full?: boolean;
|
|
22
|
+
phase?: string;
|
|
23
|
+
applyPhase?: string;
|
|
24
|
+
pipeline?: boolean;
|
|
25
|
+
streaming?: boolean;
|
|
26
|
+
streamingPhase?: string;
|
|
27
|
+
incremental?: boolean;
|
|
28
|
+
reanalyze?: boolean;
|
|
29
|
+
addPlatform?: string;
|
|
30
|
+
contextGuard?: boolean;
|
|
31
|
+
estimateOnly?: boolean;
|
|
32
|
+
module?: string;
|
|
33
|
+
clarify?: boolean;
|
|
34
|
+
skipClarify?: boolean;
|
|
35
|
+
layer?: number;
|
|
36
|
+
deep?: string;
|
|
37
|
+
iterative?: boolean;
|
|
38
|
+
filter?: string;
|
|
39
|
+
docName?: string;
|
|
40
|
+
featureName?: string;
|
|
41
|
+
extractUnits?: boolean;
|
|
42
|
+
unit?: string;
|
|
43
|
+
autoUnits?: boolean;
|
|
44
|
+
consolidate?: boolean;
|
|
45
|
+
resumeUnits?: boolean;
|
|
46
|
+
merge?: boolean;
|
|
47
|
+
fromCode?: boolean;
|
|
48
|
+
verify?: boolean;
|
|
49
|
+
outDir?: string;
|
|
50
|
+
}
|
|
51
|
+
/** 解析 [DOC:xxx] 标记,提取文档名 → 内容 Map */
|
|
52
|
+
export declare function parseDocMarkers(text: string): Map<string, string>;
|
|
53
|
+
//# sourceMappingURL=shared.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../src/commands/analyze/shared.ts"],"names":[],"mappings":"AASA,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAGlH;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,QAAQ,GAAG,WAAW,GAAG,UAAU,CAAC;IAC5C,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;IACpC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qCAAqC;AACrC,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAkBjE"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.emitAiPrompt = emitAiPrompt;
|
|
4
|
+
exports.parseDocMarkers = parseDocMarkers;
|
|
5
|
+
/**
|
|
6
|
+
* analyze 命令共享件——模式分发与主流程的公共基础设施
|
|
7
|
+
* v8.3.359+: 从 analyze.ts 拆分(渐进重构批次 A:真共享件下沉)
|
|
8
|
+
*/
|
|
9
|
+
const ai_trace_1 = require("../../utils/ai-trace");
|
|
10
|
+
// v8.3.264: AI 交棒统一出口——所有 [SPECCORE_PROMPT] 输出必留 prompt-out 轨迹,
|
|
11
|
+
// 与 ai-trace 飞行记录仪的 apply-in/apply-done/apply-fail 配对,形成「发起→回传→落盘」闭环证据链。
|
|
12
|
+
// 此前 14 处输出点仅 2 处埋点,澄清链等 12 处交棒全程无痕(ai-trace/ 目录空白即因此)。
|
|
13
|
+
async function emitAiPrompt(iter, prompt, meta = {}) {
|
|
14
|
+
await (0, ai_trace_1.recordAiTrace)(iter, 'prompt-out', { promptLength: prompt.length, ...meta, prompt });
|
|
15
|
+
process.stdout.write(`[SPECCORE_PROMPT]\n${prompt}`);
|
|
16
|
+
}
|
|
17
|
+
/** 解析 [DOC:xxx] 标记,提取文档名 → 内容 Map */
|
|
18
|
+
function parseDocMarkers(text) {
|
|
19
|
+
const result = new Map();
|
|
20
|
+
const markerRegex = /\[DOC:([^\]]+)\]/g;
|
|
21
|
+
let match;
|
|
22
|
+
const positions = [];
|
|
23
|
+
while ((match = markerRegex.exec(text)) !== null) {
|
|
24
|
+
positions.push({ name: match[1].trim(), index: match.index });
|
|
25
|
+
}
|
|
26
|
+
for (let i = 0; i < positions.length; i++) {
|
|
27
|
+
const start = positions[i].index + `[DOC:${positions[i].name}]`.length;
|
|
28
|
+
const end = i < positions.length - 1 ? positions[i + 1].index : text.length;
|
|
29
|
+
const content = text.slice(start, end).trim();
|
|
30
|
+
result.set(positions[i].name, content);
|
|
31
|
+
}
|
|
32
|
+
return result;
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=shared.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/commands/analyze/shared.ts"],"names":[],"mappings":";;AASA,oCAGC;AAqED,0CAkBC;AAnGD;;;GAGG;AACH,mDAAqD;AAErD,gEAAgE;AAChE,yEAAyE;AACzE,wDAAwD;AACjD,KAAK,UAAU,YAAY,CAAC,IAAY,EAAE,MAAc,EAAE,OAAgC,EAAE;IACjG,MAAM,IAAA,wBAAa,EAAC,IAAI,EAAE,YAAY,EAAE,EAAE,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IAC1F,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,MAAM,EAAE,CAAC,CAAC;AACvD,CAAC;AAoED,qCAAqC;AACrC,SAAgB,eAAe,CAAC,IAAY;IAC1C,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IACzC,MAAM,WAAW,GAAG,mBAAmB,CAAC;IACxC,IAAI,KAA6B,CAAC;IAClC,MAAM,SAAS,GAAsC,EAAE,CAAC;IAExD,OAAO,CAAC,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACjD,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,QAAQ,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC;QACvE,MAAM,GAAG,GAAG,CAAC,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;QAC5E,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QAC9C,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACzC,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { AnalyzeOptions } from './shared';
|
|
2
|
+
export interface IterationUnit {
|
|
3
|
+
id: string;
|
|
4
|
+
name: string;
|
|
5
|
+
source: string;
|
|
6
|
+
sourceRange: {
|
|
7
|
+
startLine: number;
|
|
8
|
+
endLine: number;
|
|
9
|
+
};
|
|
10
|
+
content: string;
|
|
11
|
+
platforms?: string[];
|
|
12
|
+
}
|
|
13
|
+
export interface UnitAnalysis {
|
|
14
|
+
id: string;
|
|
15
|
+
name: string;
|
|
16
|
+
req: string;
|
|
17
|
+
tech: string;
|
|
18
|
+
test: string;
|
|
19
|
+
ui?: string;
|
|
20
|
+
risk?: string;
|
|
21
|
+
timestamp: string;
|
|
22
|
+
}
|
|
23
|
+
export declare const UNITS_CACHE_DIR = ".speccore/cache/unit-analysis";
|
|
24
|
+
/** 从需求文档提取功能单元清单 */
|
|
25
|
+
export declare function extractIterationUnits(iterDir: string): Promise<IterationUnit[]>;
|
|
26
|
+
/** 保存单元分析结果到缓存 */
|
|
27
|
+
export declare function saveUnitAnalysis(iteration: string, analysis: UnitAnalysis): Promise<void>;
|
|
28
|
+
/** 读取已完成的单元分析 */
|
|
29
|
+
export declare function loadUnitAnalyses(iteration: string): Promise<UnitAnalysis[]>;
|
|
30
|
+
/** 检测未完成的单元分析 */
|
|
31
|
+
export declare function detectPendingUnits(iteration: string, allUnits: IterationUnit[]): Promise<IterationUnit[]>;
|
|
32
|
+
/** 汇总所有单元分析为统一报告(带 [DOC:xxx] 标记) */
|
|
33
|
+
export declare function consolidateUnitAnalyses(iteration: string, units: IterationUnit[], analyses: UnitAnalysis[]): Promise<string>;
|
|
34
|
+
/** 构建单个功能单元的深度分析 Prompt */
|
|
35
|
+
export declare function buildUnitAnalysisPrompt(iterDir: string, iteration: string, unit: IterationUnit, allUnits: IterationUnit[]): Promise<string>;
|
|
36
|
+
/**
|
|
37
|
+
* v8.3.234+: 生成并落盘「功能单元分析质量报告」——成功/失败清单 + 每单元产出物评分。
|
|
38
|
+
* 落盘到 020-specs/QUALITY_AUDIT.md;无可评单元时返回 null。
|
|
39
|
+
*/
|
|
40
|
+
export declare function buildAndSaveQualityReport(iterDir: string, iter: string, units: IterationUnit[]): Promise<string | null>;
|
|
41
|
+
/**
|
|
42
|
+
* 功能单元聚焦分析主入口
|
|
43
|
+
* v8.3.341+: 从 analyzeCommand 抽出的模式早退块
|
|
44
|
+
*/
|
|
45
|
+
export declare function analyzeUnitModes(options: AnalyzeOptions, projectRoot: string): Promise<void>;
|
|
46
|
+
//# sourceMappingURL=units.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"units.d.ts","sourceRoot":"","sources":["../../../src/commands/analyze/units.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IACpD,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,eAAO,MAAM,eAAe,kCAAkC,CAAC;AAE/D,oBAAoB;AACpB,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAkGrF;AAED,kBAAkB;AAClB,wBAAsB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAK/F;AAED,iBAAiB;AACjB,wBAAsB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAgBjF;AAED,iBAAiB;AACjB,wBAAsB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAiB/G;AAcD,oCAAoC;AACpC,wBAAsB,uBAAuB,CAC3C,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,aAAa,EAAE,EACtB,QAAQ,EAAE,YAAY,EAAE,GACvB,OAAO,CAAC,MAAM,CAAC,CAmFjB;AAkBD,2BAA2B;AAC3B,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,aAAa,EACnB,QAAQ,EAAE,aAAa,EAAE,GACxB,OAAO,CAAC,MAAM,CAAC,CA0EjB;AAqPD;;;GAGG;AACH,wBAAsB,yBAAyB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA8D7H;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAmPlG"}
|