@winspan/claude-forge 0.3.7 → 0.3.9

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 (61) hide show
  1. package/README.md +2 -2
  2. package/dist/autopilot/intent-engine.d.ts +7 -1
  3. package/dist/autopilot/intent-engine.d.ts.map +1 -1
  4. package/dist/autopilot/intent-engine.js +30 -3
  5. package/dist/autopilot/intent-engine.js.map +1 -1
  6. package/dist/autopilot/quality-gate.d.ts +6 -0
  7. package/dist/autopilot/quality-gate.d.ts.map +1 -1
  8. package/dist/autopilot/quality-gate.js +74 -2
  9. package/dist/autopilot/quality-gate.js.map +1 -1
  10. package/dist/cli/commands/config.d.ts.map +1 -1
  11. package/dist/cli/commands/config.js +4 -1
  12. package/dist/cli/commands/config.js.map +1 -1
  13. package/dist/cli/commands/init/project-doctor.d.ts.map +1 -1
  14. package/dist/cli/commands/init/project-doctor.js +41 -3
  15. package/dist/cli/commands/init/project-doctor.js.map +1 -1
  16. package/dist/cli/commands/pipeline.d.ts.map +1 -1
  17. package/dist/cli/commands/pipeline.js +6 -3
  18. package/dist/cli/commands/pipeline.js.map +1 -1
  19. package/dist/cli/tui.d.ts.map +1 -1
  20. package/dist/cli/tui.js +110 -85
  21. package/dist/cli/tui.js.map +1 -1
  22. package/dist/config/defaults.d.ts.map +1 -1
  23. package/dist/config/defaults.js +5 -0
  24. package/dist/config/defaults.js.map +1 -1
  25. package/dist/config/index.d.ts.map +1 -1
  26. package/dist/config/index.js +1 -0
  27. package/dist/config/index.js.map +1 -1
  28. package/dist/config/schema.d.ts +5 -0
  29. package/dist/config/schema.d.ts.map +1 -1
  30. package/dist/config/schema.js +12 -0
  31. package/dist/config/schema.js.map +1 -1
  32. package/dist/daemon/context-injector.js +1 -1
  33. package/dist/daemon/handlers/post-tool-use-handler.d.ts.map +1 -1
  34. package/dist/daemon/handlers/post-tool-use-handler.js +6 -0
  35. package/dist/daemon/handlers/post-tool-use-handler.js.map +1 -1
  36. package/dist/daemon/handlers/user-prompt-handler.d.ts +10 -3
  37. package/dist/daemon/handlers/user-prompt-handler.d.ts.map +1 -1
  38. package/dist/daemon/handlers/user-prompt-handler.js +120 -44
  39. package/dist/daemon/handlers/user-prompt-handler.js.map +1 -1
  40. package/dist/distill/index.js +1 -1
  41. package/dist/distill/index.js.map +1 -1
  42. package/dist/distill/tree-index.d.ts +40 -0
  43. package/dist/distill/tree-index.d.ts.map +1 -0
  44. package/dist/distill/tree-index.js +237 -0
  45. package/dist/distill/tree-index.js.map +1 -0
  46. package/dist/distill/writer.d.ts +3 -0
  47. package/dist/distill/writer.d.ts.map +1 -1
  48. package/dist/distill/writer.js +13 -0
  49. package/dist/distill/writer.js.map +1 -1
  50. package/dist/pipeline/index.d.ts +1 -0
  51. package/dist/pipeline/index.d.ts.map +1 -1
  52. package/dist/pipeline/index.js +1 -1
  53. package/dist/pipeline/index.js.map +1 -1
  54. package/dist/pipeline/phase-manager.d.ts +3 -0
  55. package/dist/pipeline/phase-manager.d.ts.map +1 -1
  56. package/dist/pipeline/phase-manager.js +65 -44
  57. package/dist/pipeline/phase-manager.js.map +1 -1
  58. package/dist/skill-registry/evolver/keyword-evolver.d.ts.map +1 -1
  59. package/dist/skill-registry/evolver/keyword-evolver.js +5 -1
  60. package/dist/skill-registry/evolver/keyword-evolver.js.map +1 -1
  61. package/package.json +1 -1
@@ -0,0 +1,237 @@
1
+ import fs from 'fs';
2
+ import path from 'path';
3
+ import { logger } from '../utils/logger.js';
4
+ // ── Markdown 解析 ─────────────────────────────────────────────
5
+ /**
6
+ * 从 Markdown 内容中提取标题节点列表(跳过代码块内的标题)
7
+ */
8
+ function extractNodes(markdown) {
9
+ const lines = markdown.split('\n');
10
+ const rawNodes = [];
11
+ let inCodeBlock = false;
12
+ for (let i = 0; i < lines.length; i++) {
13
+ const stripped = lines[i].trim();
14
+ if (stripped.startsWith('```')) {
15
+ inCodeBlock = !inCodeBlock;
16
+ continue;
17
+ }
18
+ if (inCodeBlock || !stripped)
19
+ continue;
20
+ const match = stripped.match(/^(#{1,6})\s+(.+)$/);
21
+ if (match) {
22
+ rawNodes.push({ title: match[2].trim(), line_num: i + 1 });
23
+ }
24
+ }
25
+ // 提取每个节点的文本内容(从当前标题到下一个同级或更高级标题)
26
+ const result = [];
27
+ for (let i = 0; i < rawNodes.length; i++) {
28
+ const lineContent = lines[rawNodes[i].line_num - 1];
29
+ const levelMatch = lineContent.match(/^(#{1,6})/);
30
+ if (!levelMatch)
31
+ continue;
32
+ const level = levelMatch[1].length;
33
+ const start = rawNodes[i].line_num - 1;
34
+ const end = i + 1 < rawNodes.length ? rawNodes[i + 1].line_num - 1 : lines.length;
35
+ result.push({
36
+ title: rawNodes[i].title,
37
+ line_num: rawNodes[i].line_num,
38
+ level,
39
+ text: lines.slice(start, end).join('\n').trim(),
40
+ });
41
+ }
42
+ return { nodes: result, lines };
43
+ }
44
+ /**
45
+ * 将扁平节点列表构建为树结构
46
+ */
47
+ function buildTree(nodes) {
48
+ if (nodes.length === 0)
49
+ return [];
50
+ const stack = [];
51
+ const roots = [];
52
+ let counter = 1;
53
+ for (const node of nodes) {
54
+ const treeNode = {
55
+ title: node.title,
56
+ node_id: String(counter).padStart(4, '0'),
57
+ text: node.text,
58
+ line_num: node.line_num,
59
+ nodes: [],
60
+ };
61
+ counter++;
62
+ // 弹出所有层级 >= 当前层级的节点
63
+ while (stack.length > 0 && stack[stack.length - 1][1] >= node.level) {
64
+ stack.pop();
65
+ }
66
+ if (stack.length === 0) {
67
+ roots.push(treeNode);
68
+ }
69
+ else {
70
+ stack[stack.length - 1][0].nodes.push(treeNode);
71
+ }
72
+ stack.push([treeNode, node.level]);
73
+ }
74
+ return roots;
75
+ }
76
+ // ── 摘要生成 ──────────────────────────────────────────────────
77
+ const SUMMARY_TOKEN_THRESHOLD = 200; // 少于此字符数直接用原文
78
+ async function generateNodeSummary(node, api) {
79
+ if (node.text.length < SUMMARY_TOKEN_THRESHOLD)
80
+ return node.text;
81
+ const prompt = `请用 1-2 句话(不超过 80 字)概括以下内容的核心要点,只输出摘要,不要解释:
82
+
83
+ ${node.text.substring(0, 1500)}`;
84
+ try {
85
+ return await api.complete(prompt, 'tree-index-summary', { maxTokens: 150, temperature: 0 });
86
+ }
87
+ catch {
88
+ // 摘要失败时截断原文
89
+ return node.text.substring(0, 200) + '…';
90
+ }
91
+ }
92
+ async function generateSummaries(nodes, api) {
93
+ // 并行生成所有叶节点摘要(有子节点的用 prefix_summary)
94
+ const tasks = [];
95
+ function traverse(node) {
96
+ if (node.nodes.length === 0) {
97
+ tasks.push(generateNodeSummary(node, api).then(s => { node.summary = s; }));
98
+ }
99
+ else {
100
+ tasks.push(generateNodeSummary(node, api).then(s => { node.summary = s; }));
101
+ node.nodes.forEach(traverse);
102
+ }
103
+ }
104
+ nodes.forEach(traverse);
105
+ await Promise.all(tasks);
106
+ }
107
+ // ── 推理检索 ──────────────────────────────────────────────────
108
+ /**
109
+ * 将树结构序列化为紧凑的目录格式(供 LLM 推理)
110
+ */
111
+ function serializeTreeTOC(nodes, depth = 0) {
112
+ return nodes.map(n => {
113
+ const indent = ' '.repeat(depth);
114
+ const summary = n.summary ? ` — ${n.summary}` : '';
115
+ const children = n.nodes.length > 0 ? '\n' + serializeTreeTOC(n.nodes, depth + 1) : '';
116
+ return `${indent}[${n.node_id}] ${n.title}${summary}${children}`;
117
+ }).join('\n');
118
+ }
119
+ /**
120
+ * 根据 node_id 从树中提取节点文本
121
+ */
122
+ function extractNodesByIds(nodes, ids) {
123
+ const results = [];
124
+ function traverse(node) {
125
+ if (ids.includes(node.node_id)) {
126
+ results.push(`### ${node.title}\n${node.text}`);
127
+ }
128
+ node.nodes.forEach(traverse);
129
+ }
130
+ nodes.forEach(traverse);
131
+ return results;
132
+ }
133
+ // ── 主引擎 ────────────────────────────────────────────────────
134
+ export class TreeIndexEngine {
135
+ api;
136
+ constructor(api) {
137
+ this.api = api;
138
+ }
139
+ /**
140
+ * 从 Markdown 内容构建树索引(含 AI 摘要生成)
141
+ */
142
+ async buildFromMarkdown(content, docName) {
143
+ const { nodes: rawNodes } = extractNodes(content);
144
+ if (rawNodes.length === 0) {
145
+ logger.warn(`[TreeIndex] ${docName} 无标题节点,跳过索引构建`);
146
+ return { doc_name: docName, line_count: content.split('\n').length, built_at: new Date().toISOString(), structure: [] };
147
+ }
148
+ const tree = buildTree(rawNodes);
149
+ await generateSummaries(tree, this.api);
150
+ const index = {
151
+ doc_name: docName,
152
+ line_count: content.split('\n').length,
153
+ built_at: new Date().toISOString(),
154
+ structure: tree,
155
+ };
156
+ logger.info(`[TreeIndex] 构建完成:${docName},共 ${rawNodes.length} 个节点`);
157
+ return index;
158
+ }
159
+ /**
160
+ * 从文件构建树索引并持久化
161
+ */
162
+ async buildFromFile(mdPath) {
163
+ const content = fs.readFileSync(mdPath, 'utf-8');
164
+ const docName = path.basename(mdPath, '.md');
165
+ const index = await this.buildFromMarkdown(content, docName);
166
+ const outputPath = mdPath.replace(/\.md$/, '.tree.json');
167
+ fs.writeFileSync(outputPath, JSON.stringify(index, null, 2), 'utf-8');
168
+ logger.info(`[TreeIndex] 已写入:${outputPath}`);
169
+ return index;
170
+ }
171
+ /**
172
+ * 推理检索:根据 query 从树索引中找到最相关的节点内容
173
+ */
174
+ async search(index, query) {
175
+ if (index.structure.length === 0)
176
+ return null;
177
+ const toc = serializeTreeTOC(index.structure);
178
+ const prompt = `你是一个项目知识检索助手。基于以下文档目录结构,找出与当前需求最相关的 2-3 个节点 ID。
179
+
180
+ ## 文档目录
181
+ ${toc}
182
+
183
+ ## 当前需求
184
+ ${query}
185
+
186
+ ## 输出格式
187
+ 只输出节点 ID 列表,用逗号分隔,例如:0001,0003,0007
188
+ 不要输出任何其他内容。`;
189
+ try {
190
+ const response = await this.api.complete(prompt, 'tree-index-search', { maxTokens: 50, temperature: 0 });
191
+ const ids = response.trim().split(/[,\s]+/).filter(id => /^\d{4}$/.test(id));
192
+ if (ids.length === 0)
193
+ return null;
194
+ const excerpts = extractNodesByIds(index.structure, ids);
195
+ if (excerpts.length === 0)
196
+ return null;
197
+ logger.info(`[TreeIndex] 推理检索命中节点:${ids.join(', ')}`);
198
+ return excerpts.join('\n\n');
199
+ }
200
+ catch (err) {
201
+ logger.warn(`[TreeIndex] 推理检索失败:${err}`);
202
+ return null;
203
+ }
204
+ }
205
+ /**
206
+ * 从持久化文件加载树索引
207
+ */
208
+ static loadFromFile(mdPath) {
209
+ const treePath = mdPath.replace(/\.md$/, '.tree.json');
210
+ if (!fs.existsSync(treePath))
211
+ return null;
212
+ try {
213
+ const raw = fs.readFileSync(treePath, 'utf-8');
214
+ return JSON.parse(raw);
215
+ }
216
+ catch {
217
+ return null;
218
+ }
219
+ }
220
+ /**
221
+ * 判断树索引是否需要重建(decisions.md 比 tree.json 更新)
222
+ */
223
+ static isStale(mdPath) {
224
+ const treePath = mdPath.replace(/\.md$/, '.tree.json');
225
+ if (!fs.existsSync(treePath))
226
+ return true;
227
+ try {
228
+ const mdMtime = fs.statSync(mdPath).mtimeMs;
229
+ const treeMtime = fs.statSync(treePath).mtimeMs;
230
+ return mdMtime > treeMtime;
231
+ }
232
+ catch {
233
+ return true;
234
+ }
235
+ }
236
+ }
237
+ //# sourceMappingURL=tree-index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tree-index.js","sourceRoot":"","sources":["../../src/distill/tree-index.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type { AIProvider } from '../ai-provider/types.js';
1
2
  export interface RefineState {
2
3
  /** 上次 refine 时 decisions.md 的内容 hash */
3
4
  lastRefineHash: string;
@@ -7,6 +8,8 @@ export interface RefineState {
7
8
  lastRefineAt: string;
8
9
  }
9
10
  export declare class DistillWriter {
11
+ private api?;
12
+ constructor(api?: AIProvider);
10
13
  private ensureDir;
11
14
  writeDecisions(projectPath: string, content: string): void;
12
15
  writeTimeline(projectPath: string, content: string): void;
@@ -1 +1 @@
1
- {"version":3,"file":"writer.d.ts","sourceRoot":"","sources":["../../src/distill/writer.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,WAAW;IAC1B,wCAAwC;IACxC,cAAc,EAAE,MAAM,CAAC;IACvB,yBAAyB;IACzB,uBAAuB,EAAE,MAAM,CAAC;IAChC,oBAAoB;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,SAAS;IAQjB,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAU1D,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAUzD,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,GAAE,MAAW,GAAG,MAAM;IAQlE;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA4B1B;;OAEG;IACH,OAAO,CAAC,cAAc;IAatB,oCAAoC;IACpC,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;IAO3C,mBAAmB;IACnB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI;IAUxD,mBAAmB;IACnB,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,IAAI;IAK/D,aAAa;IACb,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAUhD;;;;OAIG;IACH,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;CAqChD"}
1
+ {"version":3,"file":"writer.d.ts","sourceRoot":"","sources":["../../src/distill/writer.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAW1D,MAAM,WAAW,WAAW;IAC1B,wCAAwC;IACxC,cAAc,EAAE,MAAM,CAAC;IACvB,yBAAyB;IACzB,uBAAuB,EAAE,MAAM,CAAC;IAChC,oBAAoB;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,GAAG,CAAC,CAAa;gBAEb,GAAG,CAAC,EAAE,UAAU;IAI5B,OAAO,CAAC,SAAS;IAQjB,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAkB1D,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAUzD,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,GAAE,MAAW,GAAG,MAAM;IAQlE;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA4B1B;;OAEG;IACH,OAAO,CAAC,cAAc;IAatB,oCAAoC;IACpC,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;IAO3C,mBAAmB;IACnB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI;IAUxD,mBAAmB;IACnB,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,IAAI;IAK/D,aAAa;IACb,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAUhD;;;;OAIG;IACH,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;CAqChD"}
@@ -1,6 +1,8 @@
1
1
  import fs from 'fs';
2
2
  import path from 'path';
3
3
  import crypto from 'crypto';
4
+ import { TreeIndexEngine } from './tree-index.js';
5
+ import { logger } from '../utils/logger.js';
4
6
  /** 每个文件保留的最大条目数 */
5
7
  const MAX_ENTRIES = 20;
6
8
  /** 条目分隔符 */
@@ -8,6 +10,10 @@ const ENTRY_SEPARATOR = '\n---\n';
8
10
  /** Refine 状态文件名 */
9
11
  const REFINE_STATE_FILE = 'refine-state.json';
10
12
  export class DistillWriter {
13
+ api;
14
+ constructor(api) {
15
+ this.api = api;
16
+ }
11
17
  ensureDir(projectPath) {
12
18
  const forgeDir = path.join(projectPath, '.claude-forge');
13
19
  if (!fs.existsSync(forgeDir)) {
@@ -22,6 +28,13 @@ export class DistillWriter {
22
28
  const timestamp = new Date().toISOString().split('T')[0];
23
29
  const entry = `## ${timestamp}\n\n${content}`;
24
30
  this.appendWithRotation(filePath, header, entry, dir);
31
+ // 异步重建树索引(不阻塞主流程)
32
+ if (this.api) {
33
+ const engine = new TreeIndexEngine(this.api);
34
+ engine.buildFromFile(filePath).catch(err => {
35
+ logger.warn(`[TreeIndex] 决策树索引重建失败:${err}`);
36
+ });
37
+ }
25
38
  }
26
39
  writeTimeline(projectPath, content) {
27
40
  const dir = this.ensureDir(projectPath);
@@ -1 +1 @@
1
- {"version":3,"file":"writer.js","sourceRoot":"","sources":["../../src/distill/writer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"writer.js","sourceRoot":"","sources":["../../src/distill/writer.ts"],"names":[],"mappings":"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"}
@@ -30,6 +30,7 @@ export declare class PipelineEngine {
30
30
  message: string | null;
31
31
  qualityBlocked?: boolean;
32
32
  qualityIssues?: string[];
33
+ systemMessage?: string;
33
34
  }>;
34
35
  /**
35
36
  * 启动新 Pipeline
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/pipeline/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAG1D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAEtE,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,YAAY,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAElF,qBAAa,cAAc;IACzB,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,QAAQ,CAAmB;IACnC,OAAO,CAAC,YAAY,CAAe;IACnC,4CAA4C;IAC5C,OAAO,CAAC,eAAe,CAA+B;IACtD,4DAA4D;IAC5D,OAAO,CAAC,kBAAkB,CAA6B;IACvD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAM;gBAErC,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,UAAU;IAMnD;;OAEG;IACH,OAAO,CAAC,SAAS;IAWjB;;OAEG;IACG,gBAAgB,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IA2BjE;;OAEG;IACG,iBAAiB,CAAC,KAAK,EAAE,UAAU,EAAE,WAAW,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,cAAc,CAAC,EAAE,OAAO,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAoCpK;;OAEG;IACG,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAqBnG;;OAEG;IACH,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO;IAM/C;;OAEG;IACH,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAWpD;;OAEG;IACH,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAUtD;;OAEG;IACH,eAAe,IAAI,YAAY;IAI/B;;OAEG;IACH,2BAA2B,CAAC,WAAW,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI;IAIjE;;;OAGG;IACH,aAAa,CAAC,eAAe,EAAE,MAAM,EAAE,IAAI,UAAQ,GAAG,IAAI;IAoB1D;;;OAGG;IACH,cAAc,CAAC,KAAK,SAAqB,GAAG,IAAI;IAUhD,oCAAoC;IACpC,UAAU,IAAI,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;CAGhH"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/pipeline/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAG1D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAEtE,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,YAAY,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAElF,qBAAa,cAAc;IACzB,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,QAAQ,CAAmB;IACnC,OAAO,CAAC,YAAY,CAAe;IACnC,4CAA4C;IAC5C,OAAO,CAAC,eAAe,CAA+B;IACtD,4DAA4D;IAC5D,OAAO,CAAC,kBAAkB,CAA6B;IACvD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAM;gBAErC,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,UAAU;IAMnD;;OAEG;IACH,OAAO,CAAC,SAAS;IAWjB;;OAEG;IACG,gBAAgB,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IA2BjE;;OAEG;IACG,iBAAiB,CAAC,KAAK,EAAE,UAAU,EAAE,WAAW,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,cAAc,CAAC,EAAE,OAAO,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAoC5L;;OAEG;IACG,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAqBnG;;OAEG;IACH,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO;IAM/C;;OAEG;IACH,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAWpD;;OAEG;IACH,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAUtD;;OAEG;IACH,eAAe,IAAI,YAAY;IAI/B;;OAEG;IACH,2BAA2B,CAAC,WAAW,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI;IAIjE;;;OAGG;IACH,aAAa,CAAC,eAAe,EAAE,MAAM,EAAE,IAAI,UAAQ,GAAG,IAAI;IAoB1D;;;OAGG;IACH,cAAc,CAAC,KAAK,SAAqB,GAAG,IAAI;IAUhD,oCAAoC;IACpC,UAAU,IAAI,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;CAGhH"}
@@ -75,7 +75,7 @@ export class PipelineEngine {
75
75
  pipeline.tasks = this.store.getTasks(pipeline.id);
76
76
  const result = await this.phaseManager.checkAndAdvance(pipeline, event, qualityGate);
77
77
  if (result.qualityBlocked) {
78
- return { message: null, qualityBlocked: true, qualityIssues: result.qualityIssues };
78
+ return { message: null, qualityBlocked: true, qualityIssues: result.qualityIssues, systemMessage: result.systemMessage };
79
79
  }
80
80
  if (result.advanced && result.newPhase) {
81
81
  pipeline.phase = result.newPhase;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/pipeline/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/pipeline/index.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,8 @@ export declare class PhaseManager {
7
7
  private knowledgeContext;
8
8
  private phaseEventCount;
9
9
  private phaseToolsSeen;
10
+ private phaseFixAttempts;
11
+ private static readonly MAX_FIX_ATTEMPTS;
10
12
  constructor(store: PipelineStore);
11
13
  /**
12
14
  * 注入知识库内容到特定 Pipeline
@@ -24,6 +26,7 @@ export declare class PhaseManager {
24
26
  newPhase?: PipelinePhase;
25
27
  qualityBlocked?: boolean;
26
28
  qualityIssues?: string[];
29
+ systemMessage?: string;
27
30
  }>;
28
31
  /** 每个阶段兜底推进所需的最少工具调用次数 */
29
32
  private getPhaseActivityThreshold;
@@ -1 +1 @@
1
- {"version":3,"file":"phase-manager.d.ts","sourceRoot":"","sources":["../../src/pipeline/phase-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAgB,MAAM,YAAY,CAAC;AAExE,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAEtE,qBAAa,YAAY;IACvB,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,gBAAgB,CAAkC;IAC1D,OAAO,CAAC,eAAe,CAAkC;IACzD,OAAO,CAAC,cAAc,CAAuC;gBAEjD,KAAK,EAAE,aAAa;IAIhC;;OAEG;IACH,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAIhE;;OAEG;IACH,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM;IAyE/C;;OAEG;IACG,eAAe,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,aAAa,CAAC;QAAC,cAAc,CAAC,EAAE,OAAO,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAkF3M,0BAA0B;IAC1B,OAAO,CAAC,yBAAyB;IAWjC,OAAO,CAAC,iBAAiB;IAiCzB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAiD5B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAkB1B;;OAEG;IACH,OAAO,CAAC,iBAAiB;CA+B1B"}
1
+ {"version":3,"file":"phase-manager.d.ts","sourceRoot":"","sources":["../../src/pipeline/phase-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAgB,MAAM,YAAY,CAAC;AAExE,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAEtE,qBAAa,YAAY;IACvB,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,gBAAgB,CAAkC;IAC1D,OAAO,CAAC,eAAe,CAAkC;IACzD,OAAO,CAAC,cAAc,CAAuC;IAC7D,OAAO,CAAC,gBAAgB,CAAkC;IAE1D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAK;gBAEjC,KAAK,EAAE,aAAa;IAIhC;;OAEG;IACH,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAIhE;;OAEG;IACH,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM;IAqD/C;;OAEG;IACG,eAAe,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,aAAa,CAAC;QAAC,cAAc,CAAC,EAAE,OAAO,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAuHnO,0BAA0B;IAC1B,OAAO,CAAC,yBAAyB;IAWjC,OAAO,CAAC,iBAAiB;IAiCzB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAiD5B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAkB1B;;OAEG;IACH,OAAO,CAAC,iBAAiB;CA+B1B"}
@@ -1,10 +1,12 @@
1
- import { PHASE_LABELS, PHASE_ORDER, nextPhase } from './types.js';
1
+ import { PHASE_LABELS, nextPhase } from './types.js';
2
2
  import { logger } from '../utils/logger.js';
3
3
  export class PhaseManager {
4
4
  store;
5
5
  knowledgeContext = new Map(); // pipeline.id → 知识注入内容
6
6
  phaseEventCount = new Map(); // `${pipelineId}:${phase}` → count
7
7
  phaseToolsSeen = new Map(); // `${pipelineId}:${phase}` → tool categories seen
8
+ phaseFixAttempts = new Map(); // `${pipelineId}:${phase}` → fix attempt count
9
+ static MAX_FIX_ATTEMPTS = 3;
8
10
  constructor(store) {
9
11
  this.store = store;
10
12
  }
@@ -34,46 +36,30 @@ export class PhaseManager {
34
36
  this.store.updateTaskStatus(currentTask.id, 'in_progress');
35
37
  }
36
38
  const parts = [];
37
- // Pipeline 状态头
38
- parts.push(`[Forge Pipeline] 当前阶段:${PHASE_LABELS[phase]}(${progress.completed}/${progress.total})`);
39
- // 根据阶段显示不同的上下文标签
40
- const contextLabel = {
41
- analyze: '需求',
42
- design: '设计目标',
43
- code: '实现任务',
44
- test: '测试范围',
45
- review: '审查重点',
46
- done: '已完成',
47
- };
48
- parts.push(`${contextLabel[phase]}:${pipeline.requirement}`);
39
+ // 状态头(单行)
40
+ const reqShort = pipeline.requirement.length > 120
41
+ ? pipeline.requirement.substring(0, 120) + '…'
42
+ : pipeline.requirement;
43
+ parts.push(`[Forge Pipeline] ${PHASE_LABELS[phase]}(${progress.completed}/${progress.total})| ${reqShort}`);
44
+ // 当前任务指令(仅当前任务,不展示已完成任务)
49
45
  parts.push('');
50
- // 阶段指令
51
46
  parts.push(this.getPhaseDirective(phase, currentTask, pipeline));
52
- // 注入知识库内容(analyze design 阶段)
53
- const knowledge = this.knowledgeContext.get(pipeline.id);
54
- if (knowledge && (phase === 'analyze' || phase === 'design')) {
47
+ // 未完成任务列表(仅 pending/in_progress,跳过 completed)
48
+ const pendingTasks = phaseTasks.filter(t => t.status !== 'completed');
49
+ if (pendingTasks.length > 1) {
55
50
  parts.push('');
56
- parts.push('--- 最佳实践参考 ---');
57
- parts.push(knowledge.substring(0, 1500)); // 限制注入长度
58
- }
59
- // 质量门禁提醒
60
- if (phase === 'code' || phase === 'test') {
61
- parts.push('');
62
- parts.push('[质量门禁] 每步完成后,Forge 会自动审查代码质量和安全性。');
63
- }
64
- // 任务列表
65
- if (phaseTasks.length > 1) {
66
- parts.push('');
67
- parts.push('当前阶段任务:');
68
- for (const t of phaseTasks) {
69
- const icon = t.status === 'completed' ? '[完成]' : t.status === 'in_progress' ? '[进行中]' : '[待处理]';
51
+ parts.push('待完成:');
52
+ for (const t of pendingTasks) {
53
+ const icon = t.status === 'in_progress' ? '[进行中]' : '[待处理]';
70
54
  parts.push(` ${icon} ${t.title}`);
71
55
  }
72
56
  }
73
- // 总进度
57
+ // 总进度(仅在多阶段时显示)
74
58
  const totalDone = pipeline.tasks.filter(t => t.status === 'completed').length;
75
- parts.push('');
76
- parts.push(`总进度:${totalDone}/${pipeline.tasks.length} 任务 | 阶段 ${PHASE_ORDER.indexOf(phase) + 1}/${PHASE_ORDER.length - 1}`);
59
+ if (pipeline.tasks.length > progress.total) {
60
+ parts.push('');
61
+ parts.push(`总进度:${totalDone}/${pipeline.tasks.length}`);
62
+ }
77
63
  return parts.join('\n');
78
64
  }
79
65
  /**
@@ -120,18 +106,53 @@ export class PhaseManager {
120
106
  // 检查阶段是否全部完成
121
107
  const updatedProgress = this.store.getPhaseProgress(pipeline.id, phase);
122
108
  if (updatedProgress.total > 0 && updatedProgress.completed >= updatedProgress.total) {
123
- // 质量门禁:阶段推进前检查
109
+ // 质量门禁:阶段推进前检查(含自动修复循环)
124
110
  if (qualityGate) {
125
- const gateResult = await qualityGate.reviewForPhase(event, phase);
111
+ const fixKey = `${pipeline.id}:${phase}`;
112
+ const fixAttempts = this.phaseFixAttempts.get(fixKey) || 0;
113
+ // analyze/design 阶段产出为文本,使用 reviewPhaseCompletion;其他阶段使用 reviewForPhase
114
+ const phaseContext = pipeline.tasks
115
+ .filter(t => t.phase === phase)
116
+ .map(t => `- ${t.title}: ${t.output || '(进行中)'}`)
117
+ .join('\n');
118
+ const gateResult = (phase === 'analyze' || phase === 'design')
119
+ ? await qualityGate.reviewPhaseCompletion(phase, pipeline.requirement, phaseContext)
120
+ : await qualityGate.reviewForPhase(event, phase);
126
121
  if (gateResult && gateResult.level === 'fail') {
127
- logger.warn(`[Pipeline] 质量门禁阻止推进 ${PHASE_LABELS[phase]}:${gateResult.summary}`);
128
- return {
129
- advanced: false,
130
- qualityBlocked: true,
131
- qualityIssues: gateResult.checks
132
- .filter(c => c.level === 'fail')
133
- .map(c => `[${c.category}] ${c.message}: ${c.suggestion || ''}`)
134
- };
122
+ const newAttempts = fixAttempts + 1;
123
+ this.phaseFixAttempts.set(fixKey, newAttempts);
124
+ const failIssues = gateResult.checks
125
+ .filter(c => c.level === 'fail')
126
+ .map(c => `[${c.category}] ${c.message}${c.suggestion ? `\n 修复建议:${c.suggestion}` : ''}`);
127
+ if (newAttempts >= PhaseManager.MAX_FIX_ATTEMPTS) {
128
+ // 达到最大重试次数,强制放行并记录警告
129
+ logger.warn(`[Pipeline] 质量门禁阶段 ${PHASE_LABELS[phase]} 已达最大修复次数(${PhaseManager.MAX_FIX_ATTEMPTS}),强制放行`);
130
+ this.phaseFixAttempts.delete(fixKey);
131
+ }
132
+ else {
133
+ logger.warn(`[Pipeline] 质量门禁阻止推进 ${PHASE_LABELS[phase]}(第 ${newAttempts}/${PhaseManager.MAX_FIX_ATTEMPTS} 次):${gateResult.summary}`);
134
+ const systemMessage = `[Forge 强制质量检测] ❌ ${PHASE_LABELS[phase]}阶段质量检查未通过(第 ${newAttempts}/${PhaseManager.MAX_FIX_ATTEMPTS} 次检查)
135
+
136
+ 以下问题必须修复后才能进入下一阶段:
137
+
138
+ ${failIssues.join('\n')}
139
+
140
+ 请立即修复以上所有问题。修复完成后,继续正常工作流程,质量门禁将在下次工具调用后自动重新检查。
141
+ ${newAttempts >= PhaseManager.MAX_FIX_ATTEMPTS - 1 ? `\n⚠️ 警告:这是最后一次自动修复机会,修复后若仍不通过将强制放行。` : ''}`;
142
+ return {
143
+ advanced: false,
144
+ qualityBlocked: true,
145
+ qualityIssues: failIssues,
146
+ systemMessage,
147
+ };
148
+ }
149
+ }
150
+ else {
151
+ // 通过或放行,清理修复计数
152
+ if (fixAttempts > 0) {
153
+ logger.info(`[Pipeline] 质量门禁 ${PHASE_LABELS[phase]} 通过(经过 ${fixAttempts} 次修复)`);
154
+ }
155
+ this.phaseFixAttempts.delete(fixKey);
135
156
  }
136
157
  }
137
158
  const newPh = nextPhase(phase);
@@ -1 +1 @@
1
- {"version":3,"file":"phase-manager.js","sourceRoot":"","sources":["../../src/pipeline/phase-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"phase-manager.js","sourceRoot":"","sources":["../../src/pipeline/phase-manager.ts"],"names":[],"mappings":"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"}