@yeepay/coderocket-mcp 1.3.2 → 1.4.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/.crush/crush.db +0 -0
- package/.crush/crush.db-shm +0 -0
- package/.crush/crush.db-wal +0 -0
- package/CHANGELOG.md +38 -8
- package/README.md +1 -1
- package/bin/coderocket-mcp +4 -4
- package/debug.js +33 -0
- package/dist/ai/SmartAIManager.d.ts +72 -0
- package/dist/ai/SmartAIManager.d.ts.map +1 -0
- package/dist/ai/SmartAIManager.js +232 -0
- package/dist/ai/SmartAIManager.js.map +1 -0
- package/dist/coderocket.d.ts +8 -166
- package/dist/coderocket.d.ts.map +1 -1
- package/dist/coderocket.js +18 -1122
- package/dist/coderocket.js.map +1 -1
- package/dist/config/ConfigManager.d.ts +83 -0
- package/dist/config/ConfigManager.d.ts.map +1 -0
- package/dist/config/ConfigManager.js +215 -0
- package/dist/config/ConfigManager.js.map +1 -0
- package/dist/index.js +48 -54
- package/dist/index.js.map +1 -1
- package/dist/logger.d.ts +10 -0
- package/dist/logger.d.ts.map +1 -1
- package/dist/logger.js +33 -14
- package/dist/logger.js.map +1 -1
- package/dist/prompts/PromptManager.d.ts +76 -0
- package/dist/prompts/PromptManager.d.ts.map +1 -0
- package/dist/prompts/PromptManager.js +263 -0
- package/dist/prompts/PromptManager.js.map +1 -0
- package/dist/services/CodeRocketService.d.ts +113 -0
- package/dist/services/CodeRocketService.d.ts.map +1 -0
- package/dist/services/CodeRocketService.js +651 -0
- package/dist/services/CodeRocketService.js.map +1 -0
- package/dist/test.d.ts.map +1 -1
- package/dist/test.js +195 -44
- package/dist/test.js.map +1 -1
- package/dist/toolDefinitions.d.ts.map +1 -1
- package/dist/toolDefinitions.js +56 -1
- package/dist/toolDefinitions.js.map +1 -1
- package/dist/types.d.ts +172 -4
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +53 -1
- package/dist/types.js.map +1 -1
- package/package.json +2 -2
- package/prompts/code-review-prompt.md +101 -0
- package/prompts/file-review-prompt.md +165 -0
- package/prompts/git-changes-review-prompt.md +122 -0
- package/prompts/git-commit-review-prompt.md +314 -0
- package/simple-test.js +56 -0
- package/AI_SERVICE_SETUP.md +0 -62
- package/dist/banner.d.ts +0 -56
- package/dist/banner.d.ts.map +0 -1
- package/dist/banner.js +0 -138
- package/dist/banner.js.map +0 -1
package/dist/logger.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"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
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,76 @@
|
|
1
|
+
/**
|
2
|
+
* 提示词管理器
|
3
|
+
*
|
4
|
+
* 支持层级查找和coderocket-cli兼容的提示词管理:
|
5
|
+
* 1. 项目级提示词 (./prompts/)
|
6
|
+
* 2. 全局级提示词 (~/.coderocket/prompts/)
|
7
|
+
* 3. 默认提示词 (内置)
|
8
|
+
*
|
9
|
+
* 兼容coderocket-cli的文件命名方式,支持两个项目共享提示词文件
|
10
|
+
*/
|
11
|
+
export declare class PromptManager {
|
12
|
+
private static prompts;
|
13
|
+
private static initialized;
|
14
|
+
private static readonly PROMPT_FILE_MAPPING;
|
15
|
+
/**
|
16
|
+
* 初始化提示词系统
|
17
|
+
*/
|
18
|
+
static initialize(): Promise<void>;
|
19
|
+
/**
|
20
|
+
* 加载所有提示词
|
21
|
+
*/
|
22
|
+
private static loadPrompts;
|
23
|
+
/**
|
24
|
+
* 层级加载提示词文件:项目级 -> 全局级 -> 默认值
|
25
|
+
*/
|
26
|
+
private static loadPromptWithFallback;
|
27
|
+
/**
|
28
|
+
* 尝试从指定目录加载提示词文件
|
29
|
+
*/
|
30
|
+
private static tryLoadPromptFile;
|
31
|
+
/**
|
32
|
+
* 设置默认提示词
|
33
|
+
*/
|
34
|
+
private static setDefaultPrompt;
|
35
|
+
/**
|
36
|
+
* 加载单个提示词(公共方法,用于测试)
|
37
|
+
*/
|
38
|
+
static loadPrompt(key: string): Promise<string | null>;
|
39
|
+
/**
|
40
|
+
* 清除缓存(用于测试)
|
41
|
+
*/
|
42
|
+
static clearCache(): void;
|
43
|
+
/**
|
44
|
+
* 获取默认提示词(用于测试)
|
45
|
+
*/
|
46
|
+
static getDefaultPrompt(): string;
|
47
|
+
/**
|
48
|
+
* 获取提示词文件的查找路径(用于调试)
|
49
|
+
*/
|
50
|
+
static getPromptPaths(filename: string): string[];
|
51
|
+
/**
|
52
|
+
* 获取提示词
|
53
|
+
*/
|
54
|
+
static getPrompt(key: string, variables?: Record<string, string>): string;
|
55
|
+
/**
|
56
|
+
* 构建完整的提示词
|
57
|
+
*/
|
58
|
+
static buildPrompt(toolKey: string, content: string, customPrompt?: string, language?: string): string;
|
59
|
+
/**
|
60
|
+
* 获取所有可用的提示词键
|
61
|
+
*/
|
62
|
+
static getAvailablePrompts(): string[];
|
63
|
+
/**
|
64
|
+
* 检查提示词是否存在
|
65
|
+
*/
|
66
|
+
static hasPrompt(key: string): boolean;
|
67
|
+
/**
|
68
|
+
* 动态设置提示词(用于测试或运行时修改)
|
69
|
+
*/
|
70
|
+
static setPrompt(key: string, content: string): void;
|
71
|
+
/**
|
72
|
+
* 清除所有提示词(用于测试)
|
73
|
+
*/
|
74
|
+
static clear(): void;
|
75
|
+
}
|
76
|
+
//# sourceMappingURL=PromptManager.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"PromptManager.d.ts","sourceRoot":"","sources":["../../src/prompts/PromptManager.ts"],"names":[],"mappings":"AASA;;;;;;;;;GASG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAC,OAAO,CAAkC;IACxD,OAAO,CAAC,MAAM,CAAC,WAAW,CAAS;IAInC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAUzC;IAEF;;OAEG;WACU,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAWxC;;OAEG;mBACkB,WAAW;IAOhC;;OAEG;mBACkB,sBAAsB;IAkB3C;;OAEG;mBACkB,iBAAiB;IAsBtC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAqE/B;;OAEG;WACU,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAO5D;;OAEG;IACH,MAAM,CAAC,UAAU,IAAI,IAAI;IAKzB;;OAEG;IACH,MAAM,CAAC,gBAAgB,IAAI,MAAM;IAIjC;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE;IAOjD;;OAEG;IACH,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM;IAsBzE;;OAEG;IACH,MAAM,CAAC,WAAW,CAChB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,YAAY,CAAC,EAAE,MAAM,EACrB,QAAQ,CAAC,EAAE,MAAM,GAChB,MAAM;IA0BT;;OAEG;IACH,MAAM,CAAC,mBAAmB,IAAI,MAAM,EAAE;IAItC;;OAEG;IACH,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAItC;;OAEG;IACH,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAKpD;;OAEG;IACH,MAAM,CAAC,KAAK,IAAI,IAAI;CAIrB"}
|
@@ -0,0 +1,263 @@
|
|
1
|
+
import { readFile, access } from 'fs/promises';
|
2
|
+
import { join, dirname } from 'path';
|
3
|
+
import { fileURLToPath } from 'url';
|
4
|
+
import { homedir } from 'os';
|
5
|
+
import { logger } from '../logger.js';
|
6
|
+
const __filename = fileURLToPath(import.meta.url);
|
7
|
+
const __dirname = dirname(__filename);
|
8
|
+
/**
|
9
|
+
* 提示词管理器
|
10
|
+
*
|
11
|
+
* 支持层级查找和coderocket-cli兼容的提示词管理:
|
12
|
+
* 1. 项目级提示词 (./prompts/)
|
13
|
+
* 2. 全局级提示词 (~/.coderocket/prompts/)
|
14
|
+
* 3. 默认提示词 (内置)
|
15
|
+
*
|
16
|
+
* 兼容coderocket-cli的文件命名方式,支持两个项目共享提示词文件
|
17
|
+
*/
|
18
|
+
export class PromptManager {
|
19
|
+
static prompts = new Map();
|
20
|
+
static initialized = false;
|
21
|
+
// 功能名到文件名的映射(统一使用git-commit-review-prompt.md)
|
22
|
+
// 所有审查功能使用同一个高质量的提示词,区别仅在于被审查的内容
|
23
|
+
static PROMPT_FILE_MAPPING = {
|
24
|
+
'git_commit': 'git-commit-review-prompt.md',
|
25
|
+
'review_commit': 'git-commit-review-prompt.md',
|
26
|
+
'code_review': 'git-commit-review-prompt.md',
|
27
|
+
'review_code': 'git-commit-review-prompt.md',
|
28
|
+
'review_changes': 'git-commit-review-prompt.md',
|
29
|
+
'git_changes': 'git-commit-review-prompt.md',
|
30
|
+
'review_files': 'git-commit-review-prompt.md',
|
31
|
+
'file_review': 'git-commit-review-prompt.md',
|
32
|
+
'base': 'git-commit-review-prompt.md', // 统一使用专业的代码审查提示词
|
33
|
+
};
|
34
|
+
/**
|
35
|
+
* 初始化提示词系统
|
36
|
+
*/
|
37
|
+
static async initialize() {
|
38
|
+
if (this.initialized)
|
39
|
+
return;
|
40
|
+
logger.info('初始化提示词管理器');
|
41
|
+
await this.loadPrompts();
|
42
|
+
this.initialized = true;
|
43
|
+
logger.info('提示词管理器初始化完成', {
|
44
|
+
promptCount: this.prompts.size,
|
45
|
+
});
|
46
|
+
}
|
47
|
+
/**
|
48
|
+
* 加载所有提示词
|
49
|
+
*/
|
50
|
+
static async loadPrompts() {
|
51
|
+
// 加载所有映射的提示词
|
52
|
+
for (const [key, filename] of Object.entries(this.PROMPT_FILE_MAPPING)) {
|
53
|
+
await this.loadPromptWithFallback(key, filename);
|
54
|
+
}
|
55
|
+
}
|
56
|
+
/**
|
57
|
+
* 层级加载提示词文件:项目级 -> 全局级 -> 默认值
|
58
|
+
*/
|
59
|
+
static async loadPromptWithFallback(key, filename) {
|
60
|
+
// 1. 尝试从项目级prompts目录加载
|
61
|
+
const projectPromptsDir = join(process.cwd(), 'prompts');
|
62
|
+
if (await this.tryLoadPromptFile(projectPromptsDir, filename, key)) {
|
63
|
+
return;
|
64
|
+
}
|
65
|
+
// 2. 尝试从全局~/.coderocket/prompts目录加载
|
66
|
+
const globalPromptsDir = join(homedir(), '.coderocket', 'prompts');
|
67
|
+
if (await this.tryLoadPromptFile(globalPromptsDir, filename, key)) {
|
68
|
+
return;
|
69
|
+
}
|
70
|
+
// 3. 使用默认提示词
|
71
|
+
logger.warn(`提示词文件不存在: ${filename},使用默认提示词`);
|
72
|
+
this.setDefaultPrompt(key);
|
73
|
+
}
|
74
|
+
/**
|
75
|
+
* 尝试从指定目录加载提示词文件
|
76
|
+
*/
|
77
|
+
static async tryLoadPromptFile(dir, filename, key) {
|
78
|
+
try {
|
79
|
+
const filePath = join(dir, filename);
|
80
|
+
// 检查文件是否存在
|
81
|
+
await access(filePath);
|
82
|
+
// 读取文件内容
|
83
|
+
const content = await readFile(filePath, 'utf-8');
|
84
|
+
this.prompts.set(key, content.trim());
|
85
|
+
logger.debug(`提示词加载成功: ${key}`, { path: filePath });
|
86
|
+
return true;
|
87
|
+
}
|
88
|
+
catch (error) {
|
89
|
+
// 文件不存在或读取失败,返回false继续尝试下一级
|
90
|
+
return false;
|
91
|
+
}
|
92
|
+
}
|
93
|
+
/**
|
94
|
+
* 设置默认提示词
|
95
|
+
*/
|
96
|
+
static setDefaultPrompt(key) {
|
97
|
+
const defaultPrompts = {
|
98
|
+
base: `你是一个专业的代码审查专家,请对提供的代码进行详细分析。`,
|
99
|
+
code_review: `# 专业代码审查
|
100
|
+
|
101
|
+
作为专业的代码审查专家,请对提供的代码片段进行深度分析,包括:
|
102
|
+
|
103
|
+
## 审查维度
|
104
|
+
1. **代码正确性** - 逻辑是否正确,是否存在bug
|
105
|
+
2. **代码质量** - 结构是否清晰,命名是否规范
|
106
|
+
3. **性能考虑** - 是否存在性能瓶颈
|
107
|
+
4. **安全性** - 是否存在安全漏洞
|
108
|
+
5. **可维护性** - 代码可读性和可扩展性
|
109
|
+
6. **代码规范** - 是否符合编码规范
|
110
|
+
|
111
|
+
请提供具体的改进建议和最佳实践建议。`,
|
112
|
+
git_changes: `# Git变更审查
|
113
|
+
|
114
|
+
请对Git仓库中的变更进行专业审查,重点关注:
|
115
|
+
|
116
|
+
## 审查重点
|
117
|
+
1. **变更完整性** - 是否所有相关文件都被正确修改
|
118
|
+
2. **变更一致性** - 变更在不同文件中的一致性
|
119
|
+
3. **影响范围评估** - 变更对其他模块的影响
|
120
|
+
4. **代码质量** - 实现质量和安全性检查
|
121
|
+
5. **测试覆盖** - 是否需要补充测试
|
122
|
+
6. **文档更新** - 是否需要更新相关文档
|
123
|
+
|
124
|
+
请提供全面的变更评估和改进建议。`,
|
125
|
+
git_commit: `# Git提交审查
|
126
|
+
|
127
|
+
作为资深的代码审阅专家,请对Git提交进行专业、深入的审查:
|
128
|
+
|
129
|
+
## 审查维度
|
130
|
+
1. **目标达成度** - 是否完整实现了提交目标
|
131
|
+
2. **功能完整性** - 功能实现是否正确完整
|
132
|
+
3. **代码质量** - 代码结构和规范性
|
133
|
+
4. **可维护性** - 代码的可读性和可维护性
|
134
|
+
5. **扩展性** - 设计的可扩展性
|
135
|
+
|
136
|
+
请提供详细的审查报告和改进建议。`,
|
137
|
+
file_review: `# 多文件综合审查
|
138
|
+
|
139
|
+
请对多个文件进行综合性的代码质量评估:
|
140
|
+
|
141
|
+
## 审查维度
|
142
|
+
1. **架构一致性** - 文件间的架构设计一致性
|
143
|
+
2. **依赖关系** - 文件间的依赖关系是否合理
|
144
|
+
3. **代码复用** - 是否存在重复代码
|
145
|
+
4. **命名一致性** - 命名规范是否统一
|
146
|
+
5. **错误处理** - 错误处理策略是否一致
|
147
|
+
6. **性能协调** - 文件间的性能配合
|
148
|
+
|
149
|
+
请提供整体架构评估和改进建议。`,
|
150
|
+
review_code: `作为专业的代码审查专家,请对提供的代码片段进行深度分析。`,
|
151
|
+
review_changes: `请对Git仓库中的变更进行专业审查。`,
|
152
|
+
review_commit: `请对指定的Git提交进行详细分析。`,
|
153
|
+
review_files: `请对多个文件进行综合性代码质量评估。`,
|
154
|
+
};
|
155
|
+
const defaultPrompt = defaultPrompts[key] || defaultPrompts.base;
|
156
|
+
this.prompts.set(key, defaultPrompt);
|
157
|
+
logger.debug(`使用默认提示词: ${key}`);
|
158
|
+
}
|
159
|
+
/**
|
160
|
+
* 加载单个提示词(公共方法,用于测试)
|
161
|
+
*/
|
162
|
+
static async loadPrompt(key) {
|
163
|
+
if (!this.initialized) {
|
164
|
+
await this.initialize();
|
165
|
+
}
|
166
|
+
return this.prompts.get(key) || null;
|
167
|
+
}
|
168
|
+
/**
|
169
|
+
* 清除缓存(用于测试)
|
170
|
+
*/
|
171
|
+
static clearCache() {
|
172
|
+
this.prompts.clear();
|
173
|
+
this.initialized = false;
|
174
|
+
}
|
175
|
+
/**
|
176
|
+
* 获取默认提示词(用于测试)
|
177
|
+
*/
|
178
|
+
static getDefaultPrompt() {
|
179
|
+
return this.prompts.get('base') || '请对代码进行审查';
|
180
|
+
}
|
181
|
+
/**
|
182
|
+
* 获取提示词文件的查找路径(用于调试)
|
183
|
+
*/
|
184
|
+
static getPromptPaths(filename) {
|
185
|
+
return [
|
186
|
+
join(process.cwd(), 'prompts', filename),
|
187
|
+
join(homedir(), '.coderocket', 'prompts', filename),
|
188
|
+
];
|
189
|
+
}
|
190
|
+
/**
|
191
|
+
* 获取提示词
|
192
|
+
*/
|
193
|
+
static getPrompt(key, variables) {
|
194
|
+
if (!this.initialized) {
|
195
|
+
throw new Error('PromptManager 未初始化,请先调用 initialize()');
|
196
|
+
}
|
197
|
+
let prompt = this.prompts.get(key);
|
198
|
+
if (!prompt) {
|
199
|
+
logger.warn(`提示词不存在: ${key},使用默认提示词`);
|
200
|
+
prompt = this.prompts.get('base') || '请分析提供的内容。';
|
201
|
+
}
|
202
|
+
// 替换变量
|
203
|
+
if (variables) {
|
204
|
+
for (const [varKey, value] of Object.entries(variables)) {
|
205
|
+
const placeholder = `{${varKey}}`;
|
206
|
+
prompt = prompt.replace(new RegExp(placeholder, 'g'), value);
|
207
|
+
}
|
208
|
+
}
|
209
|
+
return prompt;
|
210
|
+
}
|
211
|
+
/**
|
212
|
+
* 构建完整的提示词
|
213
|
+
*/
|
214
|
+
static buildPrompt(toolKey, content, customPrompt, language) {
|
215
|
+
// 如果有自定义提示词,直接使用
|
216
|
+
if (customPrompt) {
|
217
|
+
return customPrompt.replace('{content}', content);
|
218
|
+
}
|
219
|
+
// 获取基础提示词
|
220
|
+
const basePrompt = this.getPrompt('base');
|
221
|
+
const toolPrompt = this.getPrompt(toolKey);
|
222
|
+
// 语言设置
|
223
|
+
const languageInstruction = language
|
224
|
+
? `请使用${language}回复。`
|
225
|
+
: '请使用中文回复。';
|
226
|
+
// 组合提示词
|
227
|
+
return `${basePrompt}
|
228
|
+
|
229
|
+
${toolPrompt}
|
230
|
+
|
231
|
+
${languageInstruction}
|
232
|
+
|
233
|
+
内容:
|
234
|
+
${content}`;
|
235
|
+
}
|
236
|
+
/**
|
237
|
+
* 获取所有可用的提示词键
|
238
|
+
*/
|
239
|
+
static getAvailablePrompts() {
|
240
|
+
return Array.from(this.prompts.keys());
|
241
|
+
}
|
242
|
+
/**
|
243
|
+
* 检查提示词是否存在
|
244
|
+
*/
|
245
|
+
static hasPrompt(key) {
|
246
|
+
return this.prompts.has(key);
|
247
|
+
}
|
248
|
+
/**
|
249
|
+
* 动态设置提示词(用于测试或运行时修改)
|
250
|
+
*/
|
251
|
+
static setPrompt(key, content) {
|
252
|
+
this.prompts.set(key, content);
|
253
|
+
logger.debug(`动态设置提示词: ${key}`);
|
254
|
+
}
|
255
|
+
/**
|
256
|
+
* 清除所有提示词(用于测试)
|
257
|
+
*/
|
258
|
+
static clear() {
|
259
|
+
this.prompts.clear();
|
260
|
+
this.initialized = false;
|
261
|
+
}
|
262
|
+
}
|
263
|
+
//# sourceMappingURL=PromptManager.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"PromptManager.js","sourceRoot":"","sources":["../../src/prompts/PromptManager.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,113 @@
|
|
1
|
+
import { ReviewCodeRequest, ReviewChangesRequest, ReviewCommitRequest, ReviewFilesRequest, ConfigureAIServiceRequest, GetAIServiceStatusRequest, ReviewCodeResponse, ReviewChangesResponse, ReviewCommitResponse, ReviewFilesResponse, ConfigureAIServiceResponse, GetAIServiceStatusResponse } from '../types.js';
|
2
|
+
/**
|
3
|
+
* CodeRocket 核心服务类
|
4
|
+
*
|
5
|
+
* 提供所有MCP工具的实现:
|
6
|
+
* - 代码片段审查
|
7
|
+
* - Git变更审查
|
8
|
+
* - Git提交审查
|
9
|
+
* - 文件批量审查
|
10
|
+
* - AI服务配置管理
|
11
|
+
* - 服务状态监控
|
12
|
+
*/
|
13
|
+
export declare class CodeRocketService {
|
14
|
+
private aiManager;
|
15
|
+
constructor();
|
16
|
+
/**
|
17
|
+
* 确保所有依赖系统已初始化
|
18
|
+
*/
|
19
|
+
private ensureInitialized;
|
20
|
+
/**
|
21
|
+
* 审查代码片段
|
22
|
+
*/
|
23
|
+
reviewCode(request: ReviewCodeRequest): Promise<ReviewCodeResponse>;
|
24
|
+
/**
|
25
|
+
* 审查Git变更
|
26
|
+
*/
|
27
|
+
reviewChanges(request: ReviewChangesRequest): Promise<ReviewChangesResponse>;
|
28
|
+
/**
|
29
|
+
* 路径安全验证
|
30
|
+
*/
|
31
|
+
private isValidPath;
|
32
|
+
/**
|
33
|
+
* 检查是否为Git仓库
|
34
|
+
*/
|
35
|
+
checkGitRepository(repositoryPath?: string): Promise<boolean>;
|
36
|
+
/**
|
37
|
+
* 安全地执行Git命令
|
38
|
+
*/
|
39
|
+
private executeGitCommand;
|
40
|
+
/**
|
41
|
+
* 解析Git状态输出字符串(用于测试)
|
42
|
+
*/
|
43
|
+
parseGitStatus(statusOutput: string): Array<{
|
44
|
+
path: string;
|
45
|
+
status: string;
|
46
|
+
statusDescription: string;
|
47
|
+
}>;
|
48
|
+
/**
|
49
|
+
* 获取Git状态描述
|
50
|
+
*/
|
51
|
+
getGitStatusDescription(status: string): string;
|
52
|
+
/**
|
53
|
+
* 解析Git仓库状态
|
54
|
+
*/
|
55
|
+
parseGitRepositoryStatus(repositoryPath?: string): Promise<{
|
56
|
+
staged: string[];
|
57
|
+
unstaged: string[];
|
58
|
+
untracked: string[];
|
59
|
+
}>;
|
60
|
+
/**
|
61
|
+
* 获取Git变更(安全版本)
|
62
|
+
*/
|
63
|
+
private getGitChanges;
|
64
|
+
/**
|
65
|
+
* 构建代码审查提示词
|
66
|
+
*/
|
67
|
+
private buildCodeReviewPrompt;
|
68
|
+
/**
|
69
|
+
* 构建变更审查提示词
|
70
|
+
*/
|
71
|
+
private buildChangesReviewPrompt;
|
72
|
+
/**
|
73
|
+
* 审查Git提交
|
74
|
+
*/
|
75
|
+
reviewCommit(request: ReviewCommitRequest): Promise<ReviewCommitResponse>;
|
76
|
+
/**
|
77
|
+
* 验证提交哈希格式
|
78
|
+
*/
|
79
|
+
private isValidCommitHash;
|
80
|
+
/**
|
81
|
+
* 获取提交信息(安全版本)
|
82
|
+
*/
|
83
|
+
private getCommitInfo;
|
84
|
+
/**
|
85
|
+
* 构建提交审查提示词
|
86
|
+
*/
|
87
|
+
private buildCommitReviewPrompt;
|
88
|
+
/**
|
89
|
+
* 审查多个文件
|
90
|
+
*/
|
91
|
+
reviewFiles(request: ReviewFilesRequest): Promise<ReviewFilesResponse>;
|
92
|
+
/**
|
93
|
+
* 读取多个文件内容(安全版本)
|
94
|
+
*/
|
95
|
+
private readMultipleFiles;
|
96
|
+
/**
|
97
|
+
* 构建文件审查内容
|
98
|
+
*/
|
99
|
+
private buildFileReviewContent;
|
100
|
+
/**
|
101
|
+
* 构建文件审查提示词
|
102
|
+
*/
|
103
|
+
private buildFilesReviewPrompt;
|
104
|
+
/**
|
105
|
+
* 配置AI服务
|
106
|
+
*/
|
107
|
+
configureAIService(request: ConfigureAIServiceRequest): Promise<ConfigureAIServiceResponse>;
|
108
|
+
/**
|
109
|
+
* 获取AI服务状态
|
110
|
+
*/
|
111
|
+
getAIServiceStatus(request?: GetAIServiceStatusRequest): Promise<GetAIServiceStatusResponse>;
|
112
|
+
}
|
113
|
+
//# sourceMappingURL=CodeRocketService.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"CodeRocketService.d.ts","sourceRoot":"","sources":["../../src/services/CodeRocketService.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,yBAAyB,EACzB,yBAAyB,EACzB,kBAAkB,EAClB,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACnB,0BAA0B,EAC1B,0BAA0B,EAE3B,MAAM,aAAa,CAAC;AAMrB;;;;;;;;;;GAUG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,SAAS,CAAiB;;IAQlC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAMzB;;OAEG;IACG,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA8CzE;;OAEG;IACG,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAkElF;;OAEG;IACH,OAAO,CAAC,WAAW;IAQnB;;OAEG;IACG,kBAAkB,CAAC,cAAc,GAAE,MAAsB,GAAG,OAAO,CAAC,OAAO,CAAC;IAalF;;OAEG;YACW,iBAAiB;IAc/B;;OAEG;IACH,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG,KAAK,CAAC;QAC1C,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,iBAAiB,EAAE,MAAM,CAAC;KAC3B,CAAC;IAaF;;OAEG;IACH,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAoB/C;;OAEG;IACG,wBAAwB,CAAC,cAAc,GAAE,MAAsB,GAAG,OAAO,CAAC;QAC9E,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,SAAS,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;IA8BF;;OAEG;YACW,aAAa;IA6B3B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAe7B;;OAEG;IACH,OAAO,CAAC,wBAAwB;IA0ChC;;OAEG;IACG,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAoE/E;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAMzB;;OAEG;YACW,aAAa;IAkB3B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAS/B;;OAEG;IACG,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAoE5E;;OAEG;YACW,iBAAiB;IAyD/B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAkB9B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAS9B;;OAEG;IACG,kBAAkB,CAAC,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAqFjG;;OAEG;IACG,kBAAkB,CAAC,OAAO,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,0BAA0B,CAAC;CA0CnG"}
|