yuangs 5.43.0 → 5.45.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/cli.js +2 -1
- package/dist/cli.js.map +1 -1
- package/dist/commands/git/auto.d.ts +0 -3
- package/dist/commands/git/auto.js +78 -257
- package/dist/commands/git/auto.js.map +1 -1
- package/dist/commands/git/historySemantic.d.ts +2 -0
- package/dist/commands/git/historySemantic.js +62 -0
- package/dist/commands/git/historySemantic.js.map +1 -0
- package/dist/commands/git/plan.js +4 -2
- package/dist/commands/git/plan.js.map +1 -1
- package/dist/commands/git/resolve.d.ts +2 -0
- package/dist/commands/git/resolve.js +104 -0
- package/dist/commands/git/resolve.js.map +1 -0
- package/dist/commands/git/semanticDiff.d.ts +2 -0
- package/dist/commands/git/semanticDiff.js +51 -0
- package/dist/commands/git/semanticDiff.js.map +1 -0
- package/dist/commands/git/smartCommit.d.ts +2 -0
- package/dist/commands/git/smartCommit.js +110 -0
- package/dist/commands/git/smartCommit.js.map +1 -0
- package/dist/commands/gitCommands.js +8 -0
- package/dist/commands/gitCommands.js.map +1 -1
- package/dist/core/ConfigManager.d.ts +39 -0
- package/dist/core/ConfigManager.js +127 -0
- package/dist/core/ConfigManager.js.map +1 -0
- package/dist/core/GlobalErrorHandler.d.ts +10 -0
- package/dist/core/GlobalErrorHandler.js +65 -0
- package/dist/core/GlobalErrorHandler.js.map +1 -0
- package/dist/core/capability/CapabilityLevel.d.ts +41 -109
- package/dist/core/capability/CapabilityLevel.js +76 -159
- package/dist/core/capability/CapabilityLevel.js.map +1 -1
- package/dist/core/capability/DegradationPolicy.js.map +1 -1
- package/dist/core/capability/Logger.d.ts +41 -0
- package/dist/core/capability/Logger.js +58 -0
- package/dist/core/capability/Logger.js.map +1 -0
- package/dist/core/capability/Pipeline.d.ts +146 -0
- package/dist/core/capability/Pipeline.js +233 -0
- package/dist/core/capability/Pipeline.js.map +1 -0
- package/dist/core/capability/PipelineFactory.d.ts +40 -0
- package/dist/core/capability/PipelineFactory.js +260 -0
- package/dist/core/capability/PipelineFactory.js.map +1 -0
- package/dist/core/capability/index.d.ts +3 -0
- package/dist/core/capability/index.js +3 -0
- package/dist/core/capability/index.js.map +1 -1
- package/dist/core/errors.d.ts +38 -0
- package/dist/core/errors.js +64 -0
- package/dist/core/errors.js.map +1 -0
- package/dist/core/git/ConflictResolver.d.ts +25 -0
- package/dist/core/git/ConflictResolver.js +121 -0
- package/dist/core/git/ConflictResolver.js.map +1 -0
- package/dist/core/git/GitService.d.ts +11 -1
- package/dist/core/git/GitService.js +37 -1
- package/dist/core/git/GitService.js.map +1 -1
- package/dist/core/git/SmartCommitManager.d.ts +24 -0
- package/dist/core/git/SmartCommitManager.js +137 -0
- package/dist/core/git/SmartCommitManager.js.map +1 -0
- package/dist/core/git/constants.d.ts +4 -0
- package/dist/core/git/constants.js +14 -1
- package/dist/core/git/constants.js.map +1 -1
- package/dist/core/git/semantic/SemanticCommitParser.d.ts +12 -0
- package/dist/core/git/semantic/SemanticCommitParser.js +92 -0
- package/dist/core/git/semantic/SemanticCommitParser.js.map +1 -0
- package/dist/core/git/semantic/SemanticDiffEngine.d.ts +18 -0
- package/dist/core/git/semantic/SemanticDiffEngine.js +152 -0
- package/dist/core/git/semantic/SemanticDiffEngine.js.map +1 -0
- package/dist/core/git/semantic/historyTypes.d.ts +14 -0
- package/dist/core/git/semantic/historyTypes.js +3 -0
- package/dist/core/git/semantic/historyTypes.js.map +1 -0
- package/dist/core/git/semantic/types.d.ts +29 -0
- package/dist/core/git/semantic/types.js +18 -0
- package/dist/core/git/semantic/types.js.map +1 -0
- package/dist/core/metrics/PerformanceMonitor.d.ts +28 -0
- package/dist/core/metrics/PerformanceMonitor.js +64 -0
- package/dist/core/metrics/PerformanceMonitor.js.map +1 -0
- package/dist/utils/CLIComponent.d.ts +26 -0
- package/dist/utils/CLIComponent.js +91 -0
- package/dist/utils/CLIComponent.js.map +1 -0
- package/dist/utils/Logger.d.ts +31 -0
- package/dist/utils/Logger.js +102 -0
- package/dist/utils/Logger.js.map +1 -0
- package/dist/utils/ProgressBar.d.ts +27 -0
- package/dist/utils/ProgressBar.js +103 -0
- package/dist/utils/ProgressBar.js.map +1 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GitService.js","sourceRoot":"","sources":["../../../src/core/git/GitService.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"GitService.js","sourceRoot":"","sources":["../../../src/core/git/GitService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { GitService } from './GitService';
|
|
2
|
+
export interface CommitGroup {
|
|
3
|
+
id: string;
|
|
4
|
+
title: string;
|
|
5
|
+
files: string[];
|
|
6
|
+
description: string;
|
|
7
|
+
suggestedMessage: string;
|
|
8
|
+
}
|
|
9
|
+
export interface SmartCommitPlan {
|
|
10
|
+
groups: CommitGroup[];
|
|
11
|
+
remainingFiles: string[];
|
|
12
|
+
}
|
|
13
|
+
export declare class SmartCommitManager {
|
|
14
|
+
private gitService;
|
|
15
|
+
constructor(gitService: GitService);
|
|
16
|
+
/**
|
|
17
|
+
* 分析工作区变更并生成分步提交计划
|
|
18
|
+
*/
|
|
19
|
+
planCommits(model?: string): Promise<SmartCommitPlan>;
|
|
20
|
+
/**
|
|
21
|
+
* 执行特定的提交组
|
|
22
|
+
*/
|
|
23
|
+
executeCommitGroup(group: CommitGroup): Promise<string>;
|
|
24
|
+
}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SmartCommitManager = void 0;
|
|
4
|
+
const llm_1 = require("../../agent/llm");
|
|
5
|
+
const constants_1 = require("./constants");
|
|
6
|
+
const SemanticDiffEngine_1 = require("./semantic/SemanticDiffEngine");
|
|
7
|
+
class SmartCommitManager {
|
|
8
|
+
gitService;
|
|
9
|
+
constructor(gitService) {
|
|
10
|
+
this.gitService = gitService;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* 分析工作区变更并生成分步提交计划
|
|
14
|
+
*/
|
|
15
|
+
async planCommits(model = constants_1.DEFAULT_AI_MODEL) {
|
|
16
|
+
const root = await this.gitService.getRepoRoot();
|
|
17
|
+
const status = await this.gitService.execSafe('status --porcelain');
|
|
18
|
+
if (!status) {
|
|
19
|
+
return { groups: [], remainingFiles: [] };
|
|
20
|
+
}
|
|
21
|
+
const changedFiles = status.split('\n')
|
|
22
|
+
.filter(line => line.length > 3)
|
|
23
|
+
.map(line => {
|
|
24
|
+
const status = line.substring(0, 2);
|
|
25
|
+
let path = line.substring(3).trim();
|
|
26
|
+
// 处理 rename 格式: "R old -> new"
|
|
27
|
+
if (status.startsWith('R') && path.includes(' -> ')) {
|
|
28
|
+
path = path.split(' -> ').pop()?.trim() || path;
|
|
29
|
+
}
|
|
30
|
+
return { path, status: status.trim() };
|
|
31
|
+
});
|
|
32
|
+
if (changedFiles.length === 0) {
|
|
33
|
+
return { groups: [], remainingFiles: [] };
|
|
34
|
+
}
|
|
35
|
+
// 获取每个文件的语义摘要,帮助 AI 分组
|
|
36
|
+
const fileSummaries = await Promise.all(changedFiles.map(async (file) => {
|
|
37
|
+
try {
|
|
38
|
+
const diff = await this.gitService.getFileDiff(file.path, false);
|
|
39
|
+
const semantic = SemanticDiffEngine_1.SemanticDiffEngine.analyze(diff || '');
|
|
40
|
+
return {
|
|
41
|
+
path: file.path,
|
|
42
|
+
status: file.status,
|
|
43
|
+
summary: semantic.overallSummary,
|
|
44
|
+
details: semantic.files[0]?.changes.map(c => `${c.type} ${c.category}: ${c.name}`).join(', ') || '逻辑代码修改'
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
catch (e) {
|
|
48
|
+
return { path: file.path, status: file.status, summary: '无法分析', details: '' };
|
|
49
|
+
}
|
|
50
|
+
}));
|
|
51
|
+
const prompt = {
|
|
52
|
+
system: `你是一个 Git 专家。用户的当前工作区有很多未提交的变更。
|
|
53
|
+
你的任务是将这些变更归类为逻辑上独立的“提交组”(Commit Groups)。
|
|
54
|
+
例如:UI 相关的改动分为一组,核心逻辑修复分为一组,配置更新分为一组。
|
|
55
|
+
对于每一组,请提供:
|
|
56
|
+
1. Group Title (短标题)
|
|
57
|
+
2. Files (该组包含的文件路径列表)
|
|
58
|
+
3. Suggested Message (符合 Conventional Commits 规范的提交消息)
|
|
59
|
+
|
|
60
|
+
请以 JSON 格式输出:
|
|
61
|
+
{
|
|
62
|
+
"groups": [
|
|
63
|
+
{
|
|
64
|
+
"title": "...",
|
|
65
|
+
"files": ["...", "..."],
|
|
66
|
+
"suggestedMessage": "feat/fix/...: ..."
|
|
67
|
+
}
|
|
68
|
+
]
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
规则:
|
|
72
|
+
- **绝对必须**包含所有文件。
|
|
73
|
+
- 确保路径与输入完全一致,不能拼错。
|
|
74
|
+
- 逻辑相关的变更必须在一起。`,
|
|
75
|
+
messages: [
|
|
76
|
+
{
|
|
77
|
+
role: 'user',
|
|
78
|
+
content: `变更文件列表及摘要:\n${JSON.stringify(fileSummaries, null, 2)}`
|
|
79
|
+
}
|
|
80
|
+
]
|
|
81
|
+
};
|
|
82
|
+
try {
|
|
83
|
+
const response = await (0, llm_1.runLLM)({ prompt, model, stream: false });
|
|
84
|
+
const jsonMatch = response.rawText.match(/\{[\s\S]*\}/);
|
|
85
|
+
const cleanText = jsonMatch ? jsonMatch[0] : response.rawText;
|
|
86
|
+
const rawPlan = JSON.parse(cleanText);
|
|
87
|
+
const actualPaths = new Set(changedFiles.map(f => f.path));
|
|
88
|
+
// 过滤并尝试纠正 AI 可能造假或拼错的路径
|
|
89
|
+
const groups = rawPlan.groups.map((g, index) => {
|
|
90
|
+
const checkedFiles = g.files.map((f) => {
|
|
91
|
+
if (actualPaths.has(f))
|
|
92
|
+
return f;
|
|
93
|
+
// 启发式纠错
|
|
94
|
+
if (f.startsWith('rc/') && actualPaths.has('s' + f))
|
|
95
|
+
return 's' + f;
|
|
96
|
+
return f;
|
|
97
|
+
});
|
|
98
|
+
const validFiles = checkedFiles.filter((f) => actualPaths.has(f));
|
|
99
|
+
return {
|
|
100
|
+
id: (index + 1).toString(),
|
|
101
|
+
title: g.title,
|
|
102
|
+
files: Array.from(new Set(validFiles)),
|
|
103
|
+
description: g.title,
|
|
104
|
+
suggestedMessage: g.suggestedMessage
|
|
105
|
+
};
|
|
106
|
+
}).filter((g) => g.files.length > 0);
|
|
107
|
+
const plannedFiles = new Set(groups.flatMap(g => g.files));
|
|
108
|
+
const remainingFiles = changedFiles.map(f => f.path).filter(p => !plannedFiles.has(p));
|
|
109
|
+
return { groups, remainingFiles };
|
|
110
|
+
}
|
|
111
|
+
catch (e) {
|
|
112
|
+
return {
|
|
113
|
+
groups: [{
|
|
114
|
+
id: '1',
|
|
115
|
+
title: '所有变更',
|
|
116
|
+
files: changedFiles.map(f => f.path),
|
|
117
|
+
description: '自动归类的未分组变更',
|
|
118
|
+
suggestedMessage: 'chore: updated multiple files'
|
|
119
|
+
}],
|
|
120
|
+
remainingFiles: []
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* 执行特定的提交组
|
|
126
|
+
*/
|
|
127
|
+
async executeCommitGroup(group) {
|
|
128
|
+
if (group.files.length === 0) {
|
|
129
|
+
throw new Error('组内没有待提交的文件');
|
|
130
|
+
}
|
|
131
|
+
await this.gitService.stageFiles(group.files);
|
|
132
|
+
const result = await this.gitService.commit(group.suggestedMessage);
|
|
133
|
+
return result;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
exports.SmartCommitManager = SmartCommitManager;
|
|
137
|
+
//# sourceMappingURL=SmartCommitManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SmartCommitManager.js","sourceRoot":"","sources":["../../../src/core/git/SmartCommitManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,3 +15,7 @@ export declare const MAX_RETRY_ATTEMPTS = 2;
|
|
|
15
15
|
export declare const MIN_REVIEW_SCORE = 85;
|
|
16
16
|
/** 代码审查失败时的默认分数 */
|
|
17
17
|
export declare const REVIEW_FAILURE_SCORE = 60;
|
|
18
|
+
/** Git 冲突状态码 (参考 Git 官方文档 porcelain 格式) */
|
|
19
|
+
export declare const GIT_CONFLICT_CODES: string[];
|
|
20
|
+
/** 支持的 AI 模型列表 (用于验证) */
|
|
21
|
+
export declare const SUPPORTED_AI_MODELS: string[];
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Git 模块公共常量
|
|
4
4
|
*/
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.REVIEW_FAILURE_SCORE = exports.MIN_REVIEW_SCORE = exports.MAX_RETRY_ATTEMPTS = exports.DEFAULT_AI_MODEL = exports.DEFAULT_PLAN_PROMPT = exports.TODO_FILENAME = exports.METADATA_PREFIX = void 0;
|
|
6
|
+
exports.SUPPORTED_AI_MODELS = exports.GIT_CONFLICT_CODES = exports.REVIEW_FAILURE_SCORE = exports.MIN_REVIEW_SCORE = exports.MAX_RETRY_ATTEMPTS = exports.DEFAULT_AI_MODEL = exports.DEFAULT_PLAN_PROMPT = exports.TODO_FILENAME = exports.METADATA_PREFIX = void 0;
|
|
7
7
|
/** todo.md 元数据行前缀 */
|
|
8
8
|
exports.METADATA_PREFIX = '>';
|
|
9
9
|
/** 默认 todo 文件名 */
|
|
@@ -18,4 +18,17 @@ exports.MAX_RETRY_ATTEMPTS = 2;
|
|
|
18
18
|
exports.MIN_REVIEW_SCORE = 85;
|
|
19
19
|
/** 代码审查失败时的默认分数 */
|
|
20
20
|
exports.REVIEW_FAILURE_SCORE = 60;
|
|
21
|
+
/** Git 冲突状态码 (参考 Git 官方文档 porcelain 格式) */
|
|
22
|
+
exports.GIT_CONFLICT_CODES = ['UU', 'AA', 'DD', 'AU', 'UD', 'UA', 'DU'];
|
|
23
|
+
/** 支持的 AI 模型列表 (用于验证) */
|
|
24
|
+
exports.SUPPORTED_AI_MODELS = [
|
|
25
|
+
'gpt-4o',
|
|
26
|
+
'gpt-4o-mini',
|
|
27
|
+
'gpt-4-turbo',
|
|
28
|
+
'claude-3.5-sonnet',
|
|
29
|
+
'claude-3.5-haiku',
|
|
30
|
+
'gemini-2.0-flash',
|
|
31
|
+
'gemini-2.0-pro',
|
|
32
|
+
'Assistant'
|
|
33
|
+
];
|
|
21
34
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/core/git/constants.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,qBAAqB;AACR,QAAA,eAAe,GAAG,GAAG,CAAC;AAEnC,kBAAkB;AACL,QAAA,aAAa,GAAG,SAAS,CAAC;AAEvC,cAAc;AACD,QAAA,mBAAmB,GAAG,kBAAkB,CAAC;AAEtD,eAAe;AACF,QAAA,gBAAgB,GAAG,WAAW,CAAC;AAE5C,aAAa;AACA,QAAA,kBAAkB,GAAG,CAAC,CAAC;AAEpC,aAAa;AACA,QAAA,gBAAgB,GAAG,EAAE,CAAC;AAEnC,mBAAmB;AACN,QAAA,oBAAoB,GAAG,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/core/git/constants.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,qBAAqB;AACR,QAAA,eAAe,GAAG,GAAG,CAAC;AAEnC,kBAAkB;AACL,QAAA,aAAa,GAAG,SAAS,CAAC;AAEvC,cAAc;AACD,QAAA,mBAAmB,GAAG,kBAAkB,CAAC;AAEtD,eAAe;AACF,QAAA,gBAAgB,GAAG,WAAW,CAAC;AAE5C,aAAa;AACA,QAAA,kBAAkB,GAAG,CAAC,CAAC;AAEpC,aAAa;AACA,QAAA,gBAAgB,GAAG,EAAE,CAAC;AAEnC,mBAAmB;AACN,QAAA,oBAAoB,GAAG,EAAE,CAAC;AAEvC,2CAA2C;AAC9B,QAAA,kBAAkB,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAE7E,yBAAyB;AACZ,QAAA,mBAAmB,GAAG;IAC/B,QAAQ;IACR,aAAa;IACb,aAAa;IACb,mBAAmB;IACnB,kBAAkB;IAClB,kBAAkB;IAClB,gBAAgB;IAChB,WAAW;CACd,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { GitService } from '../GitService';
|
|
2
|
+
import { HistoryExplanationResult } from './historyTypes';
|
|
3
|
+
export declare class SemanticCommitParser {
|
|
4
|
+
private gitService;
|
|
5
|
+
constructor(gitService: GitService);
|
|
6
|
+
/**
|
|
7
|
+
* 分析最近的提交历史并生成语义解释
|
|
8
|
+
*/
|
|
9
|
+
parseHistory(count?: number, model?: string): Promise<HistoryExplanationResult>;
|
|
10
|
+
private generateSemanticSummary;
|
|
11
|
+
private generateOverallHistorySummary;
|
|
12
|
+
}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SemanticCommitParser = void 0;
|
|
4
|
+
const SemanticDiffEngine_1 = require("./SemanticDiffEngine");
|
|
5
|
+
const llm_1 = require("../../../agent/llm");
|
|
6
|
+
const constants_1 = require("../constants");
|
|
7
|
+
const types_1 = require("./types");
|
|
8
|
+
class SemanticCommitParser {
|
|
9
|
+
gitService;
|
|
10
|
+
constructor(gitService) {
|
|
11
|
+
this.gitService = gitService;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* 分析最近的提交历史并生成语义解释
|
|
15
|
+
*/
|
|
16
|
+
async parseHistory(count = 5, model = constants_1.DEFAULT_AI_MODEL) {
|
|
17
|
+
const commits = await this.gitService.getRecentCommits(count);
|
|
18
|
+
const explanations = [];
|
|
19
|
+
for (const commit of commits) {
|
|
20
|
+
const { diff } = await this.gitService.getCommitDiff(commit.hash);
|
|
21
|
+
const structuralChanges = SemanticDiffEngine_1.SemanticDiffEngine.analyze(diff || '');
|
|
22
|
+
// 启发式判断影响等级
|
|
23
|
+
let impactLevel = 'low';
|
|
24
|
+
if (structuralChanges.isBreaking) {
|
|
25
|
+
impactLevel = 'breaking';
|
|
26
|
+
}
|
|
27
|
+
else if (structuralChanges.files.length > 5 || structuralChanges.files.some(f => f.changes.length > 3)) {
|
|
28
|
+
impactLevel = 'high';
|
|
29
|
+
}
|
|
30
|
+
else if (structuralChanges.files.length > 2 || structuralChanges.files.some(f => f.changes.length > 0)) {
|
|
31
|
+
impactLevel = 'medium';
|
|
32
|
+
}
|
|
33
|
+
// 使用 AI 生成语义摘要
|
|
34
|
+
const semanticSummary = await this.generateSemanticSummary(commit, structuralChanges, model);
|
|
35
|
+
explanations.push({
|
|
36
|
+
...commit,
|
|
37
|
+
originalMessage: commit.message,
|
|
38
|
+
semanticSummary,
|
|
39
|
+
structuralChanges,
|
|
40
|
+
impactLevel
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
const overallSummary = await this.generateOverallHistorySummary(explanations, model);
|
|
44
|
+
return {
|
|
45
|
+
commits: explanations,
|
|
46
|
+
overallSummary
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
async generateSemanticSummary(commit, structural, model) {
|
|
50
|
+
const structuralDesc = structural.files.map((f) => {
|
|
51
|
+
const changes = f.changes.map((c) => `${c.type === types_1.ChangeType.ADDITION ? '新增' : '删除'} ${c.category}: ${c.name}`).join(', ');
|
|
52
|
+
return `- ${f.path}: ${changes || '非组件类代码变更'}`;
|
|
53
|
+
}).join('\n');
|
|
54
|
+
const prompt = {
|
|
55
|
+
system: '你是一个资深技术专家。请结合 Git Commit Message 和识别出的代码结构化变更(函数、类、接口等),用一句话总结该提交的真实技术意图。',
|
|
56
|
+
messages: [
|
|
57
|
+
{
|
|
58
|
+
role: 'user',
|
|
59
|
+
content: `原始消息: ${commit.message}\n结构化变更:\n${structuralDesc || '无明显结构化组件变更'}`
|
|
60
|
+
}
|
|
61
|
+
]
|
|
62
|
+
};
|
|
63
|
+
try {
|
|
64
|
+
const response = await (0, llm_1.runLLM)({ prompt, model, stream: false });
|
|
65
|
+
return response.rawText.trim();
|
|
66
|
+
}
|
|
67
|
+
catch (e) {
|
|
68
|
+
return '无法生成语义摘要';
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
async generateOverallHistorySummary(explanations, model) {
|
|
72
|
+
const historyData = explanations.map(e => `- [${e.impactLevel.toUpperCase()}] ${e.semanticSummary}`).join('\n');
|
|
73
|
+
const prompt = {
|
|
74
|
+
system: '请总结以下最近的提交历史,描述该项目目前正处于什么样的开发阶段或趋势。',
|
|
75
|
+
messages: [
|
|
76
|
+
{
|
|
77
|
+
role: 'user',
|
|
78
|
+
content: `历史摘要列表:\n${historyData}`
|
|
79
|
+
}
|
|
80
|
+
]
|
|
81
|
+
};
|
|
82
|
+
try {
|
|
83
|
+
const response = await (0, llm_1.runLLM)({ prompt, model, stream: false });
|
|
84
|
+
return response.rawText.trim();
|
|
85
|
+
}
|
|
86
|
+
catch (e) {
|
|
87
|
+
return '无法生成整体历史总结';
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
exports.SemanticCommitParser = SemanticCommitParser;
|
|
92
|
+
//# sourceMappingURL=SemanticCommitParser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SemanticCommitParser.js","sourceRoot":"","sources":["../../../../src/core/git/semantic/SemanticCommitParser.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { SemanticDiffResult } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* SemanticDiffEngine: 启发式语义差异分析引擎
|
|
4
|
+
* 目前采用正则匹配方案进行快速分析。
|
|
5
|
+
* 注意:由于基于正则,在处理复杂嵌套、多行声明或注释干扰时可能存在误判。
|
|
6
|
+
* 未来演进方向:接入 TypeScript Compiler API 进行 AST 级分析。
|
|
7
|
+
*/
|
|
8
|
+
export declare class SemanticDiffEngine {
|
|
9
|
+
/**
|
|
10
|
+
* 解析 Git Diff 输出并提取语义变更
|
|
11
|
+
*/
|
|
12
|
+
static analyze(diff: string): SemanticDiffResult;
|
|
13
|
+
private static splitDiffIntoFiles;
|
|
14
|
+
private static analyzeFileBlock;
|
|
15
|
+
private static analyzeTSJSChanges;
|
|
16
|
+
private static generateFileSummary;
|
|
17
|
+
private static generateOverallSummary;
|
|
18
|
+
}
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SemanticDiffEngine = void 0;
|
|
4
|
+
const types_1 = require("./types");
|
|
5
|
+
/**
|
|
6
|
+
* SemanticDiffEngine: 启发式语义差异分析引擎
|
|
7
|
+
* 目前采用正则匹配方案进行快速分析。
|
|
8
|
+
* 注意:由于基于正则,在处理复杂嵌套、多行声明或注释干扰时可能存在误判。
|
|
9
|
+
* 未来演进方向:接入 TypeScript Compiler API 进行 AST 级分析。
|
|
10
|
+
*/
|
|
11
|
+
class SemanticDiffEngine {
|
|
12
|
+
/**
|
|
13
|
+
* 解析 Git Diff 输出并提取语义变更
|
|
14
|
+
*/
|
|
15
|
+
static analyze(diff) {
|
|
16
|
+
if (!diff || typeof diff !== 'string') {
|
|
17
|
+
return { files: [], isBreaking: false, overallSummary: '无变更内容或格式错误' };
|
|
18
|
+
}
|
|
19
|
+
const fileBlocks = this.splitDiffIntoFiles(diff);
|
|
20
|
+
const fileDiffs = [];
|
|
21
|
+
for (const block of fileBlocks) {
|
|
22
|
+
const fileDiff = this.analyzeFileBlock(block);
|
|
23
|
+
if (fileDiff) {
|
|
24
|
+
fileDiffs.push(fileDiff);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
const isBreaking = fileDiffs.some(f => f.changes.some(c => c.isBreaking));
|
|
28
|
+
return {
|
|
29
|
+
files: fileDiffs,
|
|
30
|
+
isBreaking,
|
|
31
|
+
overallSummary: this.generateOverallSummary(fileDiffs)
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
static splitDiffIntoFiles(diff) {
|
|
35
|
+
const blocks = [];
|
|
36
|
+
const lines = diff.split('\n');
|
|
37
|
+
let currentBlock = [];
|
|
38
|
+
for (const line of lines) {
|
|
39
|
+
if (line.startsWith('diff --git ')) {
|
|
40
|
+
if (currentBlock.length > 0) {
|
|
41
|
+
blocks.push(currentBlock.join('\n'));
|
|
42
|
+
}
|
|
43
|
+
currentBlock = [line];
|
|
44
|
+
}
|
|
45
|
+
else if (currentBlock.length > 0) {
|
|
46
|
+
currentBlock.push(line);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
if (currentBlock.length > 0) {
|
|
50
|
+
blocks.push(currentBlock.join('\n'));
|
|
51
|
+
}
|
|
52
|
+
return blocks;
|
|
53
|
+
}
|
|
54
|
+
static analyzeFileBlock(block) {
|
|
55
|
+
const lines = block.split('\n');
|
|
56
|
+
let filePath = 'unknown';
|
|
57
|
+
const targetLine = lines.find(l => l.startsWith('+++ '));
|
|
58
|
+
const sourceLine = lines.find(l => l.startsWith('--- '));
|
|
59
|
+
if (targetLine && targetLine !== '+++ /dev/null') {
|
|
60
|
+
filePath = targetLine.startsWith('+++ b/') ? targetLine.substring(6) : targetLine.substring(4);
|
|
61
|
+
}
|
|
62
|
+
else if (sourceLine && sourceLine !== '--- /dev/null') {
|
|
63
|
+
filePath = sourceLine.startsWith('--- a/') ? sourceLine.substring(6) : sourceLine.substring(4);
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
const header = lines.find(l => l.startsWith('diff --git '));
|
|
67
|
+
if (!header)
|
|
68
|
+
return null;
|
|
69
|
+
const pathMatch = header.match(/b\/(.+)$/);
|
|
70
|
+
filePath = pathMatch ? pathMatch[1] : 'unknown';
|
|
71
|
+
}
|
|
72
|
+
const extension = filePath.split('.').pop()?.toLowerCase();
|
|
73
|
+
const changes = [];
|
|
74
|
+
// 目前主要针对 TS/JS 进行正则分析
|
|
75
|
+
if (['ts', 'js', 'tsx', 'jsx'].includes(extension || '')) {
|
|
76
|
+
this.analyzeTSJSChanges(lines, changes);
|
|
77
|
+
}
|
|
78
|
+
// 如果路径是 /dev/null 说明是彻底删除文件
|
|
79
|
+
if (filePath === '/dev/null') {
|
|
80
|
+
const sourceLine = lines.find(l => l.startsWith('--- a/'));
|
|
81
|
+
if (sourceLine)
|
|
82
|
+
filePath = sourceLine.substring(6);
|
|
83
|
+
}
|
|
84
|
+
return {
|
|
85
|
+
path: filePath,
|
|
86
|
+
changes,
|
|
87
|
+
summary: this.generateFileSummary(changes)
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
static analyzeTSJSChanges(lines, changes) {
|
|
91
|
+
// 匹配函数定义的正则 (启发式)
|
|
92
|
+
const funcRegex = /(?:export\s+)?(?:async\s+)?function\s+([a-zA-Z0-9_]+)\s*\(/;
|
|
93
|
+
const arrowFuncRegex = /(?:export\s+)?(?:const|let|var)\s+([a-zA-Z0-9_]+)\s*=\s*(?:async\s+)?(?:\(?.*?\)?)\s*=>/;
|
|
94
|
+
const classRegex = /(?:export\s+)?class\s+([a-zA-Z0-9_]+)/;
|
|
95
|
+
const interfaceRegex = /(?:export\s+)?interface\s+([a-zA-Z0-9_]+)/;
|
|
96
|
+
for (const line of lines) {
|
|
97
|
+
// 只分析新增(+)或删除(-)行,排除 diff header 标记行
|
|
98
|
+
if (!line.startsWith('+') && !line.startsWith('-'))
|
|
99
|
+
continue;
|
|
100
|
+
if (line.startsWith('+++') || line.startsWith('---'))
|
|
101
|
+
continue;
|
|
102
|
+
const content = line.substring(1).trim();
|
|
103
|
+
// 跳过单行注释
|
|
104
|
+
if (content.startsWith('//') || content.startsWith('/*'))
|
|
105
|
+
continue;
|
|
106
|
+
const type = line.startsWith('+') ? types_1.ChangeType.ADDITION : types_1.ChangeType.DELETION;
|
|
107
|
+
let match;
|
|
108
|
+
if (match = content.match(funcRegex) || content.match(arrowFuncRegex)) {
|
|
109
|
+
changes.push({
|
|
110
|
+
type,
|
|
111
|
+
category: types_1.SemanticCategory.FUNCTION,
|
|
112
|
+
name: match[1],
|
|
113
|
+
isBreaking: type === types_1.ChangeType.DELETION
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
else if (match = content.match(classRegex)) {
|
|
117
|
+
changes.push({
|
|
118
|
+
type,
|
|
119
|
+
category: types_1.SemanticCategory.CLASS,
|
|
120
|
+
name: match[1],
|
|
121
|
+
isBreaking: type === types_1.ChangeType.DELETION
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
else if (match = content.match(interfaceRegex)) {
|
|
125
|
+
changes.push({
|
|
126
|
+
type,
|
|
127
|
+
category: types_1.SemanticCategory.INTERFACE,
|
|
128
|
+
name: match[1],
|
|
129
|
+
isBreaking: type === types_1.ChangeType.DELETION
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
static generateFileSummary(changes) {
|
|
135
|
+
if (changes.length === 0)
|
|
136
|
+
return '代码逻辑变更';
|
|
137
|
+
const addCount = changes.filter(c => c.type === types_1.ChangeType.ADDITION).length;
|
|
138
|
+
const delCount = changes.filter(c => c.type === types_1.ChangeType.DELETION).length;
|
|
139
|
+
return `修改了 ${changes.length} 个结构化组件 (${addCount} 新增, ${delCount} 移除)`;
|
|
140
|
+
}
|
|
141
|
+
static generateOverallSummary(files) {
|
|
142
|
+
const totalChanges = files.reduce((sum, f) => sum + f.changes.length, 0);
|
|
143
|
+
const breakingFiles = files.filter(f => f.changes.some(c => c.isBreaking)).length;
|
|
144
|
+
let summary = `分析了 ${files.length} 个文件,共检测到 ${totalChanges} 处关键语法节点变更。`;
|
|
145
|
+
if (breakingFiles > 0) {
|
|
146
|
+
summary += ` 🚨 注意:其中 ${breakingFiles} 个文件包含可能影响 API 兼容性的变更。`;
|
|
147
|
+
}
|
|
148
|
+
return summary;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
exports.SemanticDiffEngine = SemanticDiffEngine;
|
|
152
|
+
//# sourceMappingURL=SemanticDiffEngine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SemanticDiffEngine.js","sourceRoot":"","sources":["../../../../src/core/git/semantic/SemanticDiffEngine.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { SemanticDiffResult } from './types';
|
|
2
|
+
export interface SemanticCommitExplanation {
|
|
3
|
+
hash: string;
|
|
4
|
+
author: string;
|
|
5
|
+
date: string;
|
|
6
|
+
originalMessage: string;
|
|
7
|
+
semanticSummary: string;
|
|
8
|
+
structuralChanges: SemanticDiffResult;
|
|
9
|
+
impactLevel: 'low' | 'medium' | 'high' | 'breaking';
|
|
10
|
+
}
|
|
11
|
+
export interface HistoryExplanationResult {
|
|
12
|
+
commits: SemanticCommitExplanation[];
|
|
13
|
+
overallSummary: string;
|
|
14
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"historyTypes.js","sourceRoot":"","sources":["../../../../src/core/git/semantic/historyTypes.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export declare enum ChangeType {
|
|
2
|
+
ADDITION = "addition",
|
|
3
|
+
DELETION = "deletion"
|
|
4
|
+
}
|
|
5
|
+
export declare enum SemanticCategory {
|
|
6
|
+
FUNCTION = "function",
|
|
7
|
+
CLASS = "class",
|
|
8
|
+
INTERFACE = "interface",
|
|
9
|
+
TYPE = "type",
|
|
10
|
+
CONSTANT = "constant",
|
|
11
|
+
UNKNOWN = "unknown"
|
|
12
|
+
}
|
|
13
|
+
export interface SemanticChange {
|
|
14
|
+
type: ChangeType;
|
|
15
|
+
category: SemanticCategory;
|
|
16
|
+
name: string;
|
|
17
|
+
details?: string;
|
|
18
|
+
isBreaking: boolean;
|
|
19
|
+
}
|
|
20
|
+
export interface FileSemanticDiff {
|
|
21
|
+
path: string;
|
|
22
|
+
changes: SemanticChange[];
|
|
23
|
+
summary: string;
|
|
24
|
+
}
|
|
25
|
+
export interface SemanticDiffResult {
|
|
26
|
+
files: FileSemanticDiff[];
|
|
27
|
+
overallSummary: string;
|
|
28
|
+
isBreaking: boolean;
|
|
29
|
+
}
|