yuangs 5.50.0 → 5.52.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.
Files changed (60) hide show
  1. package/dist/agent/codeSummary.js +17 -1
  2. package/dist/agent/codeSummary.js.map +1 -1
  3. package/dist/agent/errorHandling.d.ts +4 -0
  4. package/dist/agent/errorHandling.js +39 -26
  5. package/dist/agent/errorHandling.js.map +1 -1
  6. package/dist/agent/llmAdapter.js +6 -3
  7. package/dist/agent/llmAdapter.js.map +1 -1
  8. package/dist/agent/prompt.js +4 -4
  9. package/dist/agent/prompt.js.map +1 -1
  10. package/dist/agent/protocolV2_2.d.ts +6 -7
  11. package/dist/agent/protocolV2_2.js +44 -154
  12. package/dist/agent/protocolV2_2.js.map +1 -1
  13. package/dist/agent/smartContextManager.d.ts +1 -0
  14. package/dist/agent/smartContextManager.js +20 -1
  15. package/dist/agent/smartContextManager.js.map +1 -1
  16. package/dist/cli.js +3 -3
  17. package/dist/cli.js.map +1 -1
  18. package/dist/commands/contextBuffer.d.ts +6 -0
  19. package/dist/commands/contextBuffer.js +12 -2
  20. package/dist/commands/contextBuffer.js.map +1 -1
  21. package/dist/commands/git/auto.js +171 -1
  22. package/dist/commands/git/auto.js.map +1 -1
  23. package/dist/commands/git/utils.js +6 -6
  24. package/dist/commands/git/utils.js.map +1 -1
  25. package/dist/commands/handleAIChat.js +23 -6
  26. package/dist/commands/handleAIChat.js.map +1 -1
  27. package/dist/core/capability/CapabilityLevel.d.ts +31 -0
  28. package/dist/core/capability/CapabilityLevel.js +80 -0
  29. package/dist/core/capability/CapabilityLevel.js.map +1 -1
  30. package/dist/core/fileReader.d.ts +6 -1
  31. package/dist/core/fileReader.js +54 -1
  32. package/dist/core/fileReader.js.map +1 -1
  33. package/dist/core/git/CodeReviewer.d.ts +1 -0
  34. package/dist/core/git/CodeReviewer.js +13 -1
  35. package/dist/core/git/CodeReviewer.js.map +1 -1
  36. package/dist/core/git/ConflictResolver.d.ts +15 -0
  37. package/dist/core/git/ConflictResolver.js +110 -54
  38. package/dist/core/git/ConflictResolver.js.map +1 -1
  39. package/dist/core/git/ContextGatherer.js +38 -16
  40. package/dist/core/git/ContextGatherer.js.map +1 -1
  41. package/dist/core/git/InteractiveReview.d.ts +33 -0
  42. package/dist/core/git/InteractiveReview.js +296 -0
  43. package/dist/core/git/InteractiveReview.js.map +1 -0
  44. package/dist/core/git/ReviewCache.d.ts +53 -0
  45. package/dist/core/git/ReviewCache.js +392 -0
  46. package/dist/core/git/ReviewCache.js.map +1 -0
  47. package/dist/core/git/semantic/SemanticDiffEngine.js +6 -6
  48. package/dist/core/git/semantic/SemanticDiffEngine.js.map +1 -1
  49. package/dist/core/workflows/AutoWorkflow.js +24 -8
  50. package/dist/core/workflows/AutoWorkflow.js.map +1 -1
  51. package/dist/core/workflows/GitWorkflowSession.d.ts +7 -0
  52. package/dist/core/workflows/GitWorkflowSession.js +16 -0
  53. package/dist/core/workflows/GitWorkflowSession.js.map +1 -1
  54. package/dist/core/workflows/PlanWorkflow.js +4 -0
  55. package/dist/core/workflows/PlanWorkflow.js.map +1 -1
  56. package/dist/utils/renderer.js +23 -21
  57. package/dist/utils/renderer.js.map +1 -1
  58. package/dist/utils/syntaxHandler.js +1 -1
  59. package/dist/utils/syntaxHandler.js.map +1 -1
  60. package/package.json +1 -1
@@ -36,11 +36,17 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
36
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.ConflictResolver = void 0;
39
+ exports.ConflictResolver = exports.ResolveStrategy = void 0;
40
40
  const fs_1 = __importDefault(require("fs"));
41
41
  const path_1 = __importDefault(require("path"));
42
42
  const llm_1 = require("../../agent/llm");
43
43
  const constants_1 = require("./constants");
44
+ var ResolveStrategy;
45
+ (function (ResolveStrategy) {
46
+ ResolveStrategy["SEMANTIC"] = "semantic";
47
+ ResolveStrategy["OURS"] = "ours";
48
+ ResolveStrategy["THEIRS"] = "theirs";
49
+ })(ResolveStrategy || (exports.ResolveStrategy = ResolveStrategy = {}));
44
50
  class ConflictResolver {
45
51
  gitService;
46
52
  constructor(gitService) {
@@ -50,7 +56,8 @@ class ConflictResolver {
50
56
  * 使用 AI 尝试自动解决冲突
51
57
  */
52
58
  async resolveFile(filePath, options = {}) {
53
- const { model = constants_1.DEFAULT_AI_MODEL, dryRun = false, backup = true } = options;
59
+ const { model = constants_1.DEFAULT_AI_MODEL, dryRun = false, backup = true, strategy = ResolveStrategy.SEMANTIC, timeout = 30000 // P1: 默认 30 秒超时
60
+ } = options;
54
61
  try {
55
62
  const fullPath = path_1.default.isAbsolute(filePath) ? filePath : path_1.default.join(process.cwd(), filePath);
56
63
  try {
@@ -63,67 +70,116 @@ class ConflictResolver {
63
70
  if (!content.includes('<<<<<<<') || !content.includes('>>>>>>>')) {
64
71
  return { file: filePath, success: false, error: '未检测到冲突标记' };
65
72
  }
66
- const prompt = {
67
- system: `你是一个资深软件工程师,擅长解决 Git 合并冲突。
68
- 你的任务是:
69
- 1. 分析提供的文件内容。
70
- 2. 识别冲突部分(由 <<<<<<<, =======, >>>>>>> 标记)。
71
- 3. 根据上下文逻辑,将两个版本的变更进行语义化合并。
72
- 4. **绝对不要**遗漏任何必要的逻辑或闭合括号。
73
- 5. 移除所有 Git 冲突标记。
74
- 6. 输出完整的、修复后的文件内容,不要包含任何解释或 Markdown 代码块容器(直接输出原始内容)。`,
75
- messages: [
76
- {
77
- role: 'user',
78
- content: `文件路径: ${filePath}\n\n内容:\n${content}`
79
- }
80
- ]
81
- };
82
- const response = await (0, llm_1.runLLM)({
83
- prompt,
84
- model: model || constants_1.DEFAULT_AI_MODEL,
85
- stream: false
86
- });
87
- const resolvedContent = response.rawText;
88
- // 1. 基本非空校验
89
- if (!resolvedContent || resolvedContent.trim().length === 0) {
90
- return { file: filePath, success: false, error: 'AI 生成了空内容,操作已拦截' };
91
- }
92
- // 2. 长度偏差校验
93
- if (content.length > 300 && resolvedContent.length < content.length * 0.3) {
94
- return { file: filePath, success: false, error: 'AI 生成的内容量严重缺失,疑似合并失败' };
95
- }
96
- // 3. 冲突标记残留校验
97
- if (resolvedContent.includes('<<<<<<<') || resolvedContent.includes('=======') || resolvedContent.includes('>>>>>>>')) {
98
- return { file: filePath, success: false, error: 'AI 生成的内容仍包含冲突标记' };
99
- }
100
- // 4. 基础语法完整性校验
101
- const syntaxError = this.validateSyntax(filePath, resolvedContent);
102
- if (syntaxError) {
103
- return { file: filePath, success: false, error: `AI 生成的代码存在基础语法风险: ${syntaxError}` };
73
+ // P1: 如果策略是 ours 或 theirs,直接使用 Git 命令
74
+ if (strategy === ResolveStrategy.OURS || strategy === ResolveStrategy.THEIRS) {
75
+ return await this.resolveWithGit(fullPath, filePath, strategy, backup);
104
76
  }
105
- // 5. 更严格的语法校验(根据文件类型)
106
- const advancedSyntaxError = await this.validateAdvancedSyntax(filePath, resolvedContent);
107
- if (advancedSyntaxError) {
108
- return { file: filePath, success: false, error: `AI 生成的代码存在高级语法错误: ${advancedSyntaxError}` };
109
- }
110
- if (dryRun) {
111
- return { file: filePath, success: true, suggestion: 'Dry-run: 内容已生成但未写回文件' };
112
- }
113
- // 5. 备份处理
77
+ // P1: 使用超时熔断(Promise.race 实现)
78
+ const resolveWithTimeout = this.resolveWithAI(filePath, fullPath, content, model, dryRun, backup);
79
+ const timeoutPromise = new Promise((_, reject) => {
80
+ setTimeout(() => {
81
+ reject(new Error(`冲突解决超时(${timeout}ms),请手动处理或使用 --strategy ours/theirs`));
82
+ }, timeout);
83
+ });
84
+ const result = await Promise.race([resolveWithTimeout, timeoutPromise]);
85
+ return result;
86
+ }
87
+ catch (error) {
88
+ const errMsg = error instanceof Error ? error.message : (typeof error === 'string' ? error : String(error));
89
+ return { file: filePath, success: false, error: errMsg };
90
+ }
91
+ }
92
+ /**
93
+ * P1: 使用 Git 命令解决冲突(ours/theirs 策略)
94
+ */
95
+ async resolveWithGit(fullPath, filePath, strategy, backup) {
96
+ try {
97
+ const gitOption = strategy === ResolveStrategy.OURS ? '--ours' : '--theirs';
98
+ // 备份原文件
114
99
  let backupFile;
115
100
  if (backup) {
101
+ const content = await fs_1.default.promises.readFile(fullPath, 'utf8');
116
102
  backupFile = `${fullPath}.bak`;
117
103
  await fs_1.default.promises.writeFile(backupFile, content, 'utf8');
118
104
  }
119
- // 6. 覆盖写入
120
- await fs_1.default.promises.writeFile(fullPath, resolvedContent, 'utf8');
121
- return { file: filePath, success: true, backupFile };
105
+ // 使用 git checkout 选择版本
106
+ await this.gitService.execSafe(`checkout ${gitOption} -- "${filePath}"`);
107
+ return {
108
+ file: filePath,
109
+ success: true,
110
+ suggestion: `已使用 ${strategy} 策略解决冲突`,
111
+ backupFile
112
+ };
122
113
  }
123
114
  catch (error) {
124
- const errMsg = error instanceof Error ? error.message : (typeof error === 'string' ? error : String(error));
125
- return { file: filePath, success: false, error: errMsg };
115
+ const errMsg = error instanceof Error ? error.message : String(error);
116
+ return { file: filePath, success: false, error: `Git 策略失败: ${errMsg}` };
117
+ }
118
+ }
119
+ /**
120
+ * P1: 使用 AI 解决冲突(带超时保护)
121
+ */
122
+ async resolveWithAI(filePath, fullPath, content, model, dryRun, backup) {
123
+ const prompt = {
124
+ system: `你是一个资深软件工程师,擅长解决 Git 合并冲突。
125
+ 你的任务是:
126
+ 1. 分析提供的文件内容。
127
+ 2. 识别冲突部分(由 <<<<<<<, =======, >>>>>>> 标记)。
128
+ 3. 根据上下文逻辑,将两个版本的变更进行语义化合并。
129
+ 4. **绝对不要**遗漏任何必要的逻辑或闭合括号。
130
+ 5. 移除所有 Git 冲突标记。
131
+ 6. 输出完整的、修复后的文件内容,不要包含任何解释或 Markdown 代码块容器(直接输出原始内容)。`,
132
+ messages: [
133
+ {
134
+ role: 'user',
135
+ content: `文件路径: ${filePath}\n\n内容:\n${content}`
136
+ }
137
+ ]
138
+ };
139
+ const response = await (0, llm_1.runLLM)({
140
+ prompt,
141
+ model: model || constants_1.DEFAULT_AI_MODEL,
142
+ stream: false
143
+ });
144
+ // WARNING: 增加 response?.rawText 类型保护
145
+ const resolvedContent = response?.rawText;
146
+ if (!resolvedContent) {
147
+ return { file: filePath, success: false, error: 'AI 返回了无效响应(缺少 rawText 字段)' };
148
+ }
149
+ // 1. 基本非空校验
150
+ if (!resolvedContent || resolvedContent.trim().length === 0) {
151
+ return { file: filePath, success: false, error: 'AI 生成了空内容,操作已拦截' };
152
+ }
153
+ // 2. 长度偏差校验
154
+ if (content.length > 300 && resolvedContent.length < content.length * 0.3) {
155
+ return { file: filePath, success: false, error: 'AI 生成的内容量严重缺失,疑似合并失败' };
156
+ }
157
+ // 3. 冲突标记残留校验
158
+ if (resolvedContent.includes('<<<<<<<') || resolvedContent.includes('=======') || resolvedContent.includes('>>>>>>>')) {
159
+ return { file: filePath, success: false, error: 'AI 生成的内容仍包含冲突标记' };
160
+ }
161
+ // 4. 基础语法完整性校验
162
+ const syntaxError = this.validateSyntax(filePath, resolvedContent);
163
+ if (syntaxError) {
164
+ return { file: filePath, success: false, error: `AI 生成的代码存在基础语法风险: ${syntaxError}` };
165
+ }
166
+ // 5. 更严格的语法校验(根据文件类型)
167
+ const advancedSyntaxError = await this.validateAdvancedSyntax(filePath, resolvedContent);
168
+ if (advancedSyntaxError) {
169
+ return { file: filePath, success: false, error: `AI 生成的代码存在高级语法错误: ${advancedSyntaxError}` };
170
+ }
171
+ if (dryRun) {
172
+ return { file: filePath, success: true, suggestion: 'Dry-run: 内容已生成但未写回文件' };
173
+ }
174
+ // 6. 备份处理
175
+ let backupFile;
176
+ if (backup) {
177
+ backupFile = `${fullPath}.bak`;
178
+ await fs_1.default.promises.writeFile(backupFile, content, 'utf8');
126
179
  }
180
+ // 7. 覆盖写入
181
+ await fs_1.default.promises.writeFile(fullPath, resolvedContent, 'utf8');
182
+ return { file: filePath, success: true, backupFile };
127
183
  }
128
184
  /**
129
185
  * 对生成的代码进行基础语法校验
@@ -1 +1 @@
1
- {"version":3,"file":"ConflictResolver.js","sourceRoot":"","sources":["../../../src/core/git/ConflictResolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ConflictResolver.js","sourceRoot":"","sources":["../../../src/core/git/ConflictResolver.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAAoB;AACpB,gDAAwB;AAExB,yCAAkD;AAClD,2CAA+C;AAU/C,IAAY,eAIX;AAJD,WAAY,eAAe;IACvB,wCAAqB,CAAA;IACrB,gCAAa,CAAA;IACb,oCAAiB,CAAA;AACrB,CAAC,EAJW,eAAe,+BAAf,eAAe,QAI1B;AAUD,MAAa,gBAAgB;IACL;IAApB,YAAoB,UAAsB;QAAtB,eAAU,GAAV,UAAU,CAAY;IAAI,CAAC;IAE/C;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,QAAgB,EAAE,UAA0B,EAAE;QAC5D,MAAM,EACF,KAAK,GAAG,4BAAgB,EACxB,MAAM,GAAG,KAAK,EACd,MAAM,GAAG,IAAI,EACb,QAAQ,GAAG,eAAe,CAAC,QAAQ,EACnC,OAAO,GAAG,KAAK,CAAC,gBAAgB;UACnC,GAAG,OAAO,CAAC;QAEZ,IAAI,CAAC;YACD,MAAM,QAAQ,GAAG,cAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAC;YAE3F,IAAI,CAAC;gBACD,MAAM,YAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,YAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAC1D,CAAC;YAAC,MAAM,CAAC;gBACL,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;YAC9D,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,YAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAE7D,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC/D,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;YACjE,CAAC;YAED,sCAAsC;YACtC,IAAI,QAAQ,KAAK,eAAe,CAAC,IAAI,IAAI,QAAQ,KAAK,eAAe,CAAC,MAAM,EAAE,CAAC;gBAC3E,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;YAC3E,CAAC;YAED,8BAA8B;YAC9B,MAAM,kBAAkB,GAAG,IAAI,CAAC,aAAa,CACzC,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,KAAK,EACL,MAAM,EACN,MAAM,CACT,CAAC;YAEF,MAAM,cAAc,GAAG,IAAI,OAAO,CAA2B,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;gBACvE,UAAU,CAAC,GAAG,EAAE;oBACZ,MAAM,CAAC,IAAI,KAAK,CAAC,UAAU,OAAO,qCAAqC,CAAC,CAAC,CAAC;gBAC9E,CAAC,EAAE,OAAO,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,kBAAkB,EAAE,cAAc,CAAC,CAAC,CAAC;YACxE,OAAO,MAAM,CAAC;QAClB,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACtB,MAAM,MAAM,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAC5G,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAC7D,CAAC;IACL,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,cAAc,CACxB,QAAgB,EAChB,QAAgB,EAChB,QAAyB,EACzB,MAAe;QAEf,IAAI,CAAC;YACD,MAAM,SAAS,GAAG,QAAQ,KAAK,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC;YAE5E,QAAQ;YACR,IAAI,UAA8B,CAAC;YACnC,IAAI,MAAM,EAAE,CAAC;gBACT,MAAM,OAAO,GAAG,MAAM,YAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBAC7D,UAAU,GAAG,GAAG,QAAQ,MAAM,CAAC;gBAC/B,MAAM,YAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YAC7D,CAAC;YAED,uBAAuB;YACvB,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,YAAY,SAAS,QAAQ,QAAQ,GAAG,CAAC,CAAC;YAEzE,OAAO;gBACH,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,IAAI;gBACb,UAAU,EAAE,OAAO,QAAQ,SAAS;gBACpC,UAAU;aACb,CAAC;QACN,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACtB,MAAM,MAAM,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACtE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,MAAM,EAAE,EAAE,CAAC;QAC5E,CAAC;IACL,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,aAAa,CACvB,QAAgB,EAChB,QAAgB,EAChB,OAAe,EACf,KAAa,EACb,MAAe,EACf,MAAe;QAEf,MAAM,MAAM,GAAG;YACX,MAAM,EAAE;;;;;;;sDAOkC;YAC1C,QAAQ,EAAE;gBACN;oBACI,IAAI,EAAE,MAAe;oBACrB,OAAO,EAAE,SAAS,QAAQ,YAAY,OAAO,EAAE;iBAClD;aACJ;SACJ,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,IAAA,YAAM,EAAC;YAC1B,MAAM;YACN,KAAK,EAAE,KAAK,IAAI,4BAAgB;YAChC,MAAM,EAAE,KAAK;SAChB,CAAC,CAAC;QAEH,qCAAqC;QACrC,MAAM,eAAe,GAAG,QAAQ,EAAE,OAAO,CAAC;QAC1C,IAAI,CAAC,eAAe,EAAE,CAAC;YACnB,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,2BAA2B,EAAE,CAAC;QAClF,CAAC;QAED,YAAY;QACZ,IAAI,CAAC,eAAe,IAAI,eAAe,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1D,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC;QACxE,CAAC;QAED,YAAY;QACZ,IAAI,OAAO,CAAC,MAAM,GAAG,GAAG,IAAI,eAAe,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;YACxE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,sBAAsB,EAAE,CAAC;QAC7E,CAAC;QAED,cAAc;QACd,IAAI,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACpH,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC;QACxE,CAAC;QAED,eAAe;QACf,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;QACnE,IAAI,WAAW,EAAE,CAAC;YACd,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,qBAAqB,WAAW,EAAE,EAAE,CAAC;QACzF,CAAC;QAED,sBAAsB;QACtB,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;QACzF,IAAI,mBAAmB,EAAE,CAAC;YACtB,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,qBAAqB,mBAAmB,EAAE,EAAE,CAAC;QACjG,CAAC;QAED,IAAI,MAAM,EAAE,CAAC;YACT,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,sBAAsB,EAAE,CAAC;QACjF,CAAC;QAED,UAAU;QACV,IAAI,UAA8B,CAAC;QACnC,IAAI,MAAM,EAAE,CAAC;YACT,UAAU,GAAG,GAAG,QAAQ,MAAM,CAAC;YAC/B,MAAM,YAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAC7D,CAAC;QAED,UAAU;QACV,MAAM,YAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,eAAe,EAAE,MAAM,CAAC,CAAC;QAE/D,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IACzD,CAAC;IAED;;OAEG;IACK,cAAc,CAAC,QAAgB,EAAE,OAAe;QACpD,MAAM,GAAG,GAAG,cAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;QAEjD,UAAU;QACV,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;YAClB,IAAI,CAAC;gBACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACxB,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBACd,OAAO,cAAc,CAAC,CAAC,OAAO,EAAE,CAAC;YACrC,CAAC;QACL,CAAC;QAED,iBAAiB;QACjB,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/E,MAAM,UAAU,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;YACtD,MAAM,WAAW,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;YACvD,IAAI,UAAU,KAAK,WAAW,EAAE,CAAC;gBAC7B,OAAO,cAAc,UAAU,OAAO,WAAW,IAAI,CAAC;YAC1D,CAAC;YAED,MAAM,UAAU,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;YACvD,MAAM,WAAW,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;YACxD,IAAI,UAAU,KAAK,WAAW,EAAE,CAAC;gBAC7B,OAAO,cAAc,UAAU,OAAO,WAAW,IAAI,CAAC;YAC1D,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,sBAAsB,CAAC,QAAgB,EAAE,OAAe;QAClE,MAAM,GAAG,GAAG,cAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;QAEjD,gCAAgC;QAChC,IAAI,GAAG,KAAK,KAAK,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;YAClC,IAAI,CAAC;gBACD,MAAM,QAAQ,GAAG,wDAAa,YAAY,GAAC,CAAC;gBAC5C,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC;gBAExC,kBAAkB;gBAClB,uCAAuC;gBACvC,EAAE,CAAC,gBAAgB,CACf,MAAM,GAAG,GAAG,EACZ,OAAO,EACP,EAAE,CAAC,YAAY,CAAC,MAAM,EACtB,IAAI,CACP,CAAC;gBAEF,yBAAyB;gBACzB,OAAO,IAAI,CAAC;YAChB,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBACd,6BAA6B;gBAC7B,OAAO,oBAAoB,CAAC,CAAC,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YACxD,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAlPD,4CAkPC"}
@@ -4,10 +4,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.ContextGatherer = void 0;
7
+ const promises_1 = __importDefault(require("fs/promises"));
7
8
  const fs_1 = __importDefault(require("fs"));
8
9
  const path_1 = __importDefault(require("path"));
9
10
  const ContextMeta_1 = require("../context/ContextMeta");
10
11
  const ASTParser_1 = require("../kernel/ASTParser");
12
+ const p_limit_1 = __importDefault(require("p-limit"));
11
13
  /**
12
14
  * 项目上下文采集器
13
15
  * 负责为 LLM 提供项目现状的真实快照
@@ -16,7 +18,7 @@ class ContextGatherer {
16
18
  gitService;
17
19
  MAX_FILE_CONTENT_LENGTH = 10000; // 单个文件读取上限
18
20
  MAX_TOTAL_CONTEXT_LENGTH = 50000; // 总上限
19
- SUMMARY_THRESHOLD = 2000; // 文件大小超过此阈值时进行摘要
21
+ SUMMARY_THRESHOLD = 200; // P2: 改为200行,避免过度摘要
20
22
  astParser; // Reuse AST parser instance
21
23
  constructor(gitService) {
22
24
  this.gitService = gitService;
@@ -174,43 +176,63 @@ class ContextGatherer {
174
176
  potentialPaths.add(f);
175
177
  });
176
178
  }
177
- // 3. 读取内容 (带上限)
178
- let currentTotalLength = 0;
179
+ // P2: 3. 读取内容 (正确使用异步 I/O + 并发控制 + 原子长度计数)
180
+ const limit = (0, p_limit_1.default)(5); // 限制并发数为 5
181
+ const totalLength = { value: 0 }; // 使用对象实现原子计数器
182
+ const readResults = [];
179
183
  for (const filePath of potentialPaths) {
180
- if (currentTotalLength > this.MAX_TOTAL_CONTEXT_LENGTH)
184
+ // 如果已达到总长度限制,提前终止
185
+ if (totalLength.value >= this.MAX_TOTAL_CONTEXT_LENGTH) {
186
+ console.log(`[ContextGatherer] 达到总长度限制 (${this.MAX_TOTAL_CONTEXT_LENGTH}),停止读取更多文件`);
181
187
  break;
182
- const fullPath = path_1.default.join(repoRoot, filePath);
188
+ }
183
189
  try {
184
- if (fs_1.default.existsSync(fullPath) && fs_1.default.statSync(fullPath).isFile()) {
185
- let content = fs_1.default.readFileSync(fullPath, 'utf8');
186
- // Determine if the file should be summarized based on size and file type
187
- const isReferenceOnly = !description.includes(filePath); // If the file path is not explicitly mentioned in the description
188
- const isTooLarge = content.length > this.SUMMARY_THRESHOLD;
190
+ // 使用 limit 包裹任务,真正控制并发
191
+ const result = await limit(async () => {
192
+ const fullPath = path_1.default.join(repoRoot, filePath);
193
+ // 检查文件是否存在并获取信息
194
+ const stats = await promises_1.default.stat(fullPath);
195
+ if (!stats.isFile())
196
+ return null;
197
+ // 读取文件内容
198
+ let content = await promises_1.default.readFile(fullPath, 'utf8');
199
+ // 判断是否需要摘要
200
+ const isReferenceOnly = !description.includes(filePath);
201
+ const lineCount = content.split('\n').length;
202
+ const isTooLarge = lineCount > this.SUMMARY_THRESHOLD;
189
203
  const isTSFile = filePath.endsWith('.ts') || filePath.endsWith('.tsx');
190
204
  if (isReferenceOnly && isTooLarge && isTSFile) {
191
- // Generate semantic summary for large TS files that are not directly referenced
192
205
  try {
193
206
  content = this.astParser.generateSummary(filePath, content);
194
- console.log(`[Economy] ✂️ Summarized ${filePath} to save tokens.`);
207
+ console.log(`[Economy] ✂️ Summarized ${filePath} (${lineCount} lines) to save tokens.`);
195
208
  }
196
209
  catch (error) {
197
210
  console.warn(`[ContextGatherer] 警告:摘要生成失败 "${filePath}": ${error.message}`);
198
- // 如果摘要生成失败,回退到截断内容
199
211
  content = content.substring(0, this.MAX_FILE_CONTENT_LENGTH) + '\n... (内容过长已截断,摘要生成失败)';
200
212
  }
201
213
  }
202
214
  else if (content.length > this.MAX_FILE_CONTENT_LENGTH) {
203
215
  content = content.substring(0, this.MAX_FILE_CONTENT_LENGTH) + '\n... (内容过长已截断)';
204
216
  }
205
- results.push({ path: filePath, content });
206
- currentTotalLength += content.length;
217
+ // 原子地更新总长度
218
+ if (totalLength.value + content.length <= this.MAX_TOTAL_CONTEXT_LENGTH) {
219
+ totalLength.value += content.length;
220
+ return { path: filePath, content };
221
+ }
222
+ else {
223
+ console.log(`[ContextGatherer] 跳过 ${filePath} (会超过总长度限制)`);
224
+ return null;
225
+ }
226
+ });
227
+ if (result) {
228
+ readResults.push(result);
207
229
  }
208
230
  }
209
231
  catch (e) {
210
232
  console.warn(`[ContextGatherer] 警告:无法读取相关上下文文件 "${filePath}": ${e.message}`);
211
233
  }
212
234
  }
213
- return results;
235
+ return readResults.filter((r) => r !== null);
214
236
  }
215
237
  /**
216
238
  * 获取审计日志
@@ -1 +1 @@
1
- {"version":3,"file":"ContextGatherer.js","sourceRoot":"","sources":["../../../src/core/git/ContextGatherer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ContextGatherer.js","sourceRoot":"","sources":["../../../src/core/git/ContextGatherer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ import { ReviewIssue } from './CodeReviewer';
2
+ import { GitService } from './GitService';
3
+ export interface FixAction {
4
+ type: 'apply' | 'skip' | 'edit' | 'batch';
5
+ issue?: ReviewIssue;
6
+ customFix?: string;
7
+ }
8
+ export interface InteractiveFixResult {
9
+ applied: number;
10
+ skipped: number;
11
+ edited: number;
12
+ batchApplied: number;
13
+ }
14
+ export declare class InteractiveReview {
15
+ private gitService;
16
+ private rl;
17
+ constructor(gitService: GitService);
18
+ startInteractiveFix(issues: ReviewIssue[]): Promise<InteractiveFixResult>;
19
+ private askBatchProcessing;
20
+ private processBatch;
21
+ private groupIssuesByType;
22
+ private processSingleIssue;
23
+ private displayIssue;
24
+ private askBatchAction;
25
+ private askCustomFix;
26
+ private applyFix;
27
+ private editAndApplyFix;
28
+ private showProgress;
29
+ private printSummary;
30
+ private askQuestion;
31
+ destroy(): void;
32
+ }
33
+ export declare function startInteractiveReview(issues: ReviewIssue[], gitService: GitService): Promise<InteractiveFixResult>;