@winspan/claude-forge 0.4.2 → 0.4.5

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 (89) hide show
  1. package/README.md +1 -1
  2. package/dist/autopilot/intent-engine.d.ts +2 -2
  3. package/dist/autopilot/intent-engine.d.ts.map +1 -1
  4. package/dist/autopilot/intent-engine.js +16 -4
  5. package/dist/autopilot/intent-engine.js.map +1 -1
  6. package/dist/autopilot/quality-gate.d.ts +17 -1
  7. package/dist/autopilot/quality-gate.d.ts.map +1 -1
  8. package/dist/autopilot/quality-gate.js +89 -5
  9. package/dist/autopilot/quality-gate.js.map +1 -1
  10. package/dist/daemon/engine-registry/init-autopilot.d.ts +2 -1
  11. package/dist/daemon/engine-registry/init-autopilot.d.ts.map +1 -1
  12. package/dist/daemon/engine-registry/init-autopilot.js +3 -2
  13. package/dist/daemon/engine-registry/init-autopilot.js.map +1 -1
  14. package/dist/daemon/engine-registry.js +1 -1
  15. package/dist/daemon/engine-registry.js.map +1 -1
  16. package/dist/daemon/handlers/post-tool-use-handler.d.ts.map +1 -1
  17. package/dist/daemon/handlers/post-tool-use-handler.js +2 -0
  18. package/dist/daemon/handlers/post-tool-use-handler.js.map +1 -1
  19. package/dist/daemon/handlers/pre-tool-use-handler.d.ts.map +1 -1
  20. package/dist/daemon/handlers/pre-tool-use-handler.js +9 -0
  21. package/dist/daemon/handlers/pre-tool-use-handler.js.map +1 -1
  22. package/dist/daemon/handlers/session-cleanup.d.ts.map +1 -1
  23. package/dist/daemon/handlers/session-cleanup.js +4 -5
  24. package/dist/daemon/handlers/session-cleanup.js.map +1 -1
  25. package/dist/daemon/handlers/user-prompt-handler.d.ts.map +1 -1
  26. package/dist/daemon/handlers/user-prompt-handler.js +20 -4
  27. package/dist/daemon/handlers/user-prompt-handler.js.map +1 -1
  28. package/dist/daemon/lifecycle.d.ts +7 -0
  29. package/dist/daemon/lifecycle.d.ts.map +1 -1
  30. package/dist/daemon/lifecycle.js +15 -0
  31. package/dist/daemon/lifecycle.js.map +1 -1
  32. package/dist/pattern-engine/execution-tracker.d.ts +1 -1
  33. package/dist/pattern-engine/execution-tracker.d.ts.map +1 -1
  34. package/dist/pattern-engine/execution-tracker.js +5 -1
  35. package/dist/pattern-engine/execution-tracker.js.map +1 -1
  36. package/dist/pattern-engine/index.d.ts.map +1 -1
  37. package/dist/pattern-engine/index.js +1 -0
  38. package/dist/pattern-engine/index.js.map +1 -1
  39. package/dist/pattern-engine/pattern-evolver.d.ts.map +1 -1
  40. package/dist/pattern-engine/pattern-evolver.js +31 -12
  41. package/dist/pattern-engine/pattern-evolver.js.map +1 -1
  42. package/dist/pattern-engine/types.d.ts +2 -0
  43. package/dist/pattern-engine/types.d.ts.map +1 -1
  44. package/dist/pipeline/analyzer.d.ts +19 -4
  45. package/dist/pipeline/analyzer.d.ts.map +1 -1
  46. package/dist/pipeline/analyzer.js +172 -59
  47. package/dist/pipeline/analyzer.js.map +1 -1
  48. package/dist/pipeline/artifact-generator.d.ts +6 -9
  49. package/dist/pipeline/artifact-generator.d.ts.map +1 -1
  50. package/dist/pipeline/artifact-generator.js +68 -29
  51. package/dist/pipeline/artifact-generator.js.map +1 -1
  52. package/dist/pipeline/index.d.ts +0 -19
  53. package/dist/pipeline/index.d.ts.map +1 -1
  54. package/dist/pipeline/index.js +7 -30
  55. package/dist/pipeline/index.js.map +1 -1
  56. package/dist/pipeline/phase-manager.d.ts +1 -1
  57. package/dist/pipeline/phase-manager.d.ts.map +1 -1
  58. package/dist/pipeline/phase-manager.js +23 -13
  59. package/dist/pipeline/phase-manager.js.map +1 -1
  60. package/dist/pipeline/store.d.ts +1 -1
  61. package/dist/pipeline/store.d.ts.map +1 -1
  62. package/dist/pipeline/store.js +15 -5
  63. package/dist/pipeline/store.js.map +1 -1
  64. package/dist/pipeline/types.d.ts +7 -2
  65. package/dist/pipeline/types.d.ts.map +1 -1
  66. package/dist/pipeline/types.js +6 -4
  67. package/dist/pipeline/types.js.map +1 -1
  68. package/dist/retrospective/index.d.ts.map +1 -1
  69. package/dist/retrospective/index.js +23 -13
  70. package/dist/retrospective/index.js.map +1 -1
  71. package/dist/retrospective/report-writer.d.ts +6 -7
  72. package/dist/retrospective/report-writer.d.ts.map +1 -1
  73. package/dist/retrospective/report-writer.js +47 -103
  74. package/dist/retrospective/report-writer.js.map +1 -1
  75. package/dist/storage/index.d.ts +37 -0
  76. package/dist/storage/index.d.ts.map +1 -1
  77. package/dist/storage/sqlite.d.ts +61 -0
  78. package/dist/storage/sqlite.d.ts.map +1 -1
  79. package/dist/storage/sqlite.js +251 -1
  80. package/dist/storage/sqlite.js.map +1 -1
  81. package/dist/strategy/bandit.d.ts +12 -0
  82. package/dist/strategy/bandit.d.ts.map +1 -1
  83. package/dist/strategy/bandit.js +38 -2
  84. package/dist/strategy/bandit.js.map +1 -1
  85. package/dist/utils/artifact-manager.d.ts +57 -0
  86. package/dist/utils/artifact-manager.d.ts.map +1 -0
  87. package/dist/utils/artifact-manager.js +164 -0
  88. package/dist/utils/artifact-manager.js.map +1 -0
  89. package/package.json +1 -1
@@ -1,65 +1,40 @@
1
1
  /**
2
2
  * 复盘报告写入器
3
3
  *
4
- * 生成 .claude-forge/retrospective.md,自动轮换归档
4
+ * 生成复盘报告到 docs/YYYY-MM-DD_HH-MM-SS/ 目录
5
5
  */
6
- import fs from 'node:fs';
7
- import path from 'node:path';
8
- const MAX_ENTRIES = 20;
9
- const ARCHIVE_FILENAME = 'retrospective-archive.md';
6
+ import { ArtifactManager } from '../utils/artifact-manager.js';
10
7
  export class RetrospectiveReportWriter {
11
8
  projectPath;
12
- reportPath;
13
- archivePath;
9
+ artifactManager;
14
10
  constructor(projectPath) {
15
11
  this.projectPath = projectPath;
16
- const forgeDir = path.join(projectPath, '.claude-forge');
17
- this.reportPath = path.join(forgeDir, 'retrospective.md');
18
- this.archivePath = path.join(forgeDir, ARCHIVE_FILENAME);
19
- // 确保目录存在
20
- if (!fs.existsSync(forgeDir)) {
21
- fs.mkdirSync(forgeDir, { recursive: true });
22
- }
12
+ this.artifactManager = new ArtifactManager(projectPath);
23
13
  }
24
14
  /**
25
15
  * 写入任务复盘条目
26
16
  */
27
17
  write(session) {
28
- const entry = this.formatEntry(session);
29
- // 读取现有内容
30
- let content = '';
31
- if (fs.existsSync(this.reportPath)) {
32
- content = fs.readFileSync(this.reportPath, 'utf-8');
33
- }
34
- else {
35
- content = '# 任务复盘日志\n\n';
36
- }
37
- // 插入新条目(在标题后的第一个分隔符之后)
38
- const lines = content.split('\n');
39
- const headerEndIndex = lines.findIndex((line, i) => i > 0 && line.startsWith('---'));
40
- if (headerEndIndex > 0) {
41
- // 在分隔符后插入(即第一条记录之前)
42
- lines.splice(headerEndIndex + 1, 0, entry);
43
- }
44
- else {
45
- // 若无分隔符,在标题后插入
46
- const titleIndex = lines.findIndex(l => l.startsWith('# '));
47
- if (titleIndex >= 0) {
48
- lines.splice(titleIndex + 2, 0, entry); // 标题后空一行
49
- }
50
- else {
51
- lines.push(entry);
52
- }
53
- }
54
- content = lines.join('\n');
55
- // 检查条目数量,超过阈值则归档
56
- const entryCount = (content.match(/^## \d{4}-\d{2}-\d{2}/gm) || []).length;
57
- if (entryCount > MAX_ENTRIES) {
58
- this.rotateArchive(content);
59
- }
60
- else {
61
- fs.writeFileSync(this.reportPath, content, 'utf-8');
62
- }
18
+ const content = this.formatReport(session);
19
+ const filename = `retrospective-${session.session_id.slice(0, 8)}.md`;
20
+ const description = this.extractTitle(session.requirement);
21
+ this.artifactManager.writeArtifact('retrospective', filename, content, description);
22
+ }
23
+ /**
24
+ * 格式化完整复盘报告
25
+ */
26
+ formatReport(session) {
27
+ const date = session.started_at.split('T')[0];
28
+ const title = this.extractTitle(session.requirement);
29
+ let report = `# 任务复盘报告\n\n`;
30
+ report += `**会话ID**: ${session.session_id}\n`;
31
+ report += `**日期**: ${date}\n`;
32
+ report += `**任务**: ${title}\n`;
33
+ report += `**类型**: ${session.task_type}\n`;
34
+ report += `**结果**: ${this.getOutcomeLabel(session.outcome)}\n\n`;
35
+ report += `---\n\n`;
36
+ report += this.formatEntry(session);
37
+ return report;
63
38
  }
64
39
  /**
65
40
  * 格式化单条复盘记录
@@ -70,84 +45,53 @@ export class RetrospectiveReportWriter {
70
45
  const title = this.extractTitle(session.requirement);
71
46
  const outcomeLabel = this.getOutcomeLabel(session.outcome);
72
47
  const durationMin = Math.round(metrics.duration_ms / 60000);
73
- let entry = `---\n## ${date} | ${title} | 类型: ${session.task_type} | 结果: ${outcomeLabel}\n\n`;
48
+ let entry = `## 执行概览\n\n`;
49
+ entry += `- **日期**: ${date}\n`;
50
+ entry += `- **任务**: ${title}\n`;
51
+ entry += `- **类型**: ${session.task_type}\n`;
52
+ entry += `- **结果**: ${outcomeLabel}\n`;
53
+ entry += `- **耗时**: ${durationMin} 分钟\n\n`;
74
54
  // 执行指标
75
- entry += '**执行指标**\n';
76
- entry += `- 总轮次: ${metrics.total_rounds} | 工具调用: ${metrics.total_tool_calls} | 修复尝试: ${metrics.fix_attempt_count} | 耗时: ${durationMin}min\n`;
77
- entry += `- 质量门禁: 通过 ${metrics.quality_pass_count} 次 / 失败 ${metrics.quality_fail_count} 次\n`;
55
+ entry += '## 执行指标\n\n';
56
+ entry += `- **总轮次**: ${metrics.total_rounds}\n`;
57
+ entry += `- **工具调用**: ${metrics.total_tool_calls}\n`;
58
+ entry += `- **修复尝试**: ${metrics.fix_attempt_count}\n`;
59
+ entry += `- **质量门禁**: 通过 ${metrics.quality_pass_count} 次 / 失败 ${metrics.quality_fail_count} 次\n`;
78
60
  // 失败信号
61
+ entry += '\n## 失败信号\n\n';
79
62
  if (failure_signals.length > 0) {
80
63
  const dissatisfied = failure_signals.filter(s => s.signal_type === 'dissatisfied').length;
81
64
  const iteration = failure_signals.filter(s => s.signal_type === 'iteration').length;
82
- entry += `- 失败信号: ${failure_signals.length} 次`;
65
+ entry += `- **总计**: ${failure_signals.length} 次\n`;
83
66
  if (dissatisfied > 0)
84
- entry += `(不满意 ${dissatisfied} 次`;
67
+ entry += `- **不满意**: ${dissatisfied} 次\n`;
85
68
  if (iteration > 0)
86
- entry += `${dissatisfied > 0 ? ',' : '('}迭代 ${iteration} 次`;
87
- entry += ')\n';
69
+ entry += `- **迭代**: ${iteration} 次\n`;
88
70
  // 详细信号列表
89
71
  const firstSignal = failure_signals[0];
90
72
  if (firstSignal) {
91
- entry += ` - 首次信号: "${firstSignal.matched_pattern}"`;
73
+ entry += `\n**首次信号**:\n`;
74
+ entry += `- 模式: "${firstSignal.matched_pattern}"\n`;
92
75
  if (firstSignal.context_phase)
93
- entry += ` 发生在 ${firstSignal.context_phase} 阶段`;
94
- entry += '\n';
76
+ entry += `- 阶段: ${firstSignal.context_phase}\n`;
95
77
  }
96
78
  }
97
79
  else {
98
- entry += '- 失败信号: 无\n';
80
+ entry += '无失败信号\n';
99
81
  }
100
82
  // 阶段分布
101
83
  if (metrics.phase_distribution.length > 0) {
102
- entry += '\n**阶段分布**\n';
84
+ entry += '\n## 阶段分布\n\n';
103
85
  for (const phase of metrics.phase_distribution) {
104
- entry += `- ${phase.phase}: ${phase.tool_call_count} 次工具调用`;
86
+ entry += `### ${phase.phase}\n\n`;
87
+ entry += `- **工具调用**: ${phase.tool_call_count} 次\n`;
105
88
  if (phase.fix_attempt_count > 0)
106
- entry += `(修复 ${phase.fix_attempt_count} 次)`;
89
+ entry += `- **修复尝试**: ${phase.fix_attempt_count} 次\n`;
107
90
  entry += '\n';
108
91
  }
109
92
  }
110
- entry += '\n';
111
93
  return entry;
112
94
  }
113
- /**
114
- * 归档旧条目
115
- */
116
- rotateArchive(content) {
117
- const lines = content.split('\n');
118
- const entries = [];
119
- let currentEntry = [];
120
- for (const line of lines) {
121
- if (line.startsWith('## ') && currentEntry.length > 0) {
122
- entries.push(currentEntry.join('\n'));
123
- currentEntry = [line];
124
- }
125
- else {
126
- currentEntry.push(line);
127
- }
128
- }
129
- if (currentEntry.length > 0) {
130
- entries.push(currentEntry.join('\n'));
131
- }
132
- // 保留最新的 MAX_ENTRIES 条
133
- const keep = entries.slice(0, MAX_ENTRIES);
134
- const archive = entries.slice(MAX_ENTRIES);
135
- // 写入主文件
136
- const newContent = '# 任务复盘日志\n\n' + keep.join('\n---\n');
137
- fs.writeFileSync(this.reportPath, newContent, 'utf-8');
138
- // 追加到归档文件
139
- if (archive.length > 0) {
140
- let archiveContent = '';
141
- if (fs.existsSync(this.archivePath)) {
142
- archiveContent = fs.readFileSync(this.archivePath, 'utf-8');
143
- }
144
- else {
145
- archiveContent = '# 任务复盘归档\n\n';
146
- }
147
- archiveContent += archive.join('\n---\n') + '\n';
148
- fs.writeFileSync(this.archivePath, archiveContent, 'utf-8');
149
- }
150
- }
151
95
  /**
152
96
  * 从需求文本提取简短标题
153
97
  */
@@ -1 +1 @@
1
- {"version":3,"file":"report-writer.js","sourceRoot":"","sources":["../../src/retrospective/report-writer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"report-writer.js","sourceRoot":"","sources":["../../src/retrospective/report-writer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE/D,MAAM,OAAO,yBAAyB;IAGhB;IAFZ,eAAe,CAAkB;IAEzC,YAAoB,WAAmB;QAAnB,gBAAW,GAAX,WAAW,CAAQ;QACrC,IAAI,CAAC,eAAe,GAAG,IAAI,eAAe,CAAC,WAAW,CAAC,CAAC;IAC1D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAoB;QACxB,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAC3C,MAAM,QAAQ,GAAG,iBAAiB,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC;QACtE,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAE3D,IAAI,CAAC,eAAe,CAAC,aAAa,CAChC,eAAe,EACf,QAAQ,EACR,OAAO,EACP,WAAW,CACZ,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,YAAY,CAAC,OAAoB;QACvC,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAErD,IAAI,MAAM,GAAG,cAAc,CAAC;QAC5B,MAAM,IAAI,aAAa,OAAO,CAAC,UAAU,IAAI,CAAC;QAC9C,MAAM,IAAI,WAAW,IAAI,IAAI,CAAC;QAC9B,MAAM,IAAI,WAAW,KAAK,IAAI,CAAC;QAC/B,MAAM,IAAI,WAAW,OAAO,CAAC,SAAS,IAAI,CAAC;QAC3C,MAAM,IAAI,WAAW,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;QACjE,MAAM,IAAI,SAAS,CAAC;QACpB,MAAM,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAEpC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACK,WAAW,CAAC,OAAoB;QACtC,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC;QAC7C,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QACrD,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC3D,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC,CAAC;QAE5D,IAAI,KAAK,GAAG,aAAa,CAAC;QAC1B,KAAK,IAAI,aAAa,IAAI,IAAI,CAAC;QAC/B,KAAK,IAAI,aAAa,KAAK,IAAI,CAAC;QAChC,KAAK,IAAI,aAAa,OAAO,CAAC,SAAS,IAAI,CAAC;QAC5C,KAAK,IAAI,aAAa,YAAY,IAAI,CAAC;QACvC,KAAK,IAAI,aAAa,WAAW,SAAS,CAAC;QAE3C,OAAO;QACP,KAAK,IAAI,aAAa,CAAC;QACvB,KAAK,IAAI,cAAc,OAAO,CAAC,YAAY,IAAI,CAAC;QAChD,KAAK,IAAI,eAAe,OAAO,CAAC,gBAAgB,IAAI,CAAC;QACrD,KAAK,IAAI,eAAe,OAAO,CAAC,iBAAiB,IAAI,CAAC;QACtD,KAAK,IAAI,kBAAkB,OAAO,CAAC,kBAAkB,WAAW,OAAO,CAAC,kBAAkB,MAAM,CAAC;QAEjG,OAAO;QACP,KAAK,IAAI,eAAe,CAAC;QACzB,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,MAAM,YAAY,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,cAAc,CAAC,CAAC,MAAM,CAAC;YAC1F,MAAM,SAAS,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,WAAW,CAAC,CAAC,MAAM,CAAC;YACpF,KAAK,IAAI,aAAa,eAAe,CAAC,MAAM,MAAM,CAAC;YACnD,IAAI,YAAY,GAAG,CAAC;gBAAE,KAAK,IAAI,cAAc,YAAY,MAAM,CAAC;YAChE,IAAI,SAAS,GAAG,CAAC;gBAAE,KAAK,IAAI,aAAa,SAAS,MAAM,CAAC;YAEzD,SAAS;YACT,MAAM,WAAW,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;YACvC,IAAI,WAAW,EAAE,CAAC;gBAChB,KAAK,IAAI,eAAe,CAAC;gBACzB,KAAK,IAAI,UAAU,WAAW,CAAC,eAAe,KAAK,CAAC;gBACpD,IAAI,WAAW,CAAC,aAAa;oBAAE,KAAK,IAAI,SAAS,WAAW,CAAC,aAAa,IAAI,CAAC;YACjF,CAAC;QACH,CAAC;aAAM,CAAC;YACN,KAAK,IAAI,SAAS,CAAC;QACrB,CAAC;QAED,OAAO;QACP,IAAI,OAAO,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1C,KAAK,IAAI,eAAe,CAAC;YACzB,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC;gBAC/C,KAAK,IAAI,OAAO,KAAK,CAAC,KAAK,MAAM,CAAC;gBAClC,KAAK,IAAI,eAAe,KAAK,CAAC,eAAe,MAAM,CAAC;gBACpD,IAAI,KAAK,CAAC,iBAAiB,GAAG,CAAC;oBAAE,KAAK,IAAI,eAAe,KAAK,CAAC,iBAAiB,MAAM,CAAC;gBACvF,KAAK,IAAI,IAAI,CAAC;YAChB,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACK,YAAY,CAAC,WAAmB;QACtC,iBAAiB;QACjB,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7C,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QACjF,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC;IACtB,CAAC;IAED;;OAEG;IACK,eAAe,CAAC,OAAe;QACrC,MAAM,MAAM,GAA2B;YACrC,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,MAAM;YACf,SAAS,EAAE,IAAI;YACf,WAAW,EAAE,KAAK;SACnB,CAAC;QACF,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC;IACpC,CAAC;CACF"}
@@ -48,6 +48,43 @@ export interface StorageEngine {
48
48
  incrementPatternAdoption(id: string): void;
49
49
  getTopPatterns(taskType: string, limit?: number): Record<string, unknown>[];
50
50
  getSessionMetrics(sessionId: string): Record<string, unknown> | null;
51
+ updatePatternExecutionOutcome(execId: string, outcome: string, taskSessionId: string): void;
52
+ queryPatternExecutionsBySession(sessionId: string, projectPath: string): Array<{
53
+ id: string;
54
+ pattern_id: string;
55
+ }>;
56
+ updatePatternEffectivenessScore(patternId: string, successRate: number): void;
57
+ getPatternSuccessRates(): Array<{
58
+ pattern_id: string;
59
+ success_rate: number;
60
+ total_count: number;
61
+ }>;
62
+ incrementSuppressionCount(category: string, projectPath: string): void;
63
+ getActiveSuppressions(projectPath: string): string[];
64
+ insertQualityGateHistory(record: {
65
+ id: string;
66
+ session_id: string;
67
+ project_path: string;
68
+ file_path: string;
69
+ category: string;
70
+ level: string;
71
+ message: string;
72
+ }): void;
73
+ markQualityIssueResolved(filePath: string, category: string): void;
74
+ getUnresolvedIssues(filePath: string): Array<{
75
+ category: string;
76
+ message: string;
77
+ }>;
78
+ cleanupExpiredSuppressions(): number;
79
+ insertEvolutionHistory(record: {
80
+ id: string;
81
+ pattern_id: string;
82
+ old_version: string;
83
+ new_version: string;
84
+ old_yaml: string;
85
+ new_yaml: string;
86
+ evolved_at: string;
87
+ }): void;
51
88
  close(): void;
52
89
  }
53
90
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":"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"}
@@ -153,5 +153,66 @@ export declare class SQLiteStorage implements StorageEngine {
153
153
  /** 获取指定 session 的指标(用于主动干预检测) */
154
154
  getSessionMetrics(sessionId: string): Record<string, unknown> | null;
155
155
  private rowToSession;
156
+ /** 更新 pattern_execution 的 outcome 和 task_session_id(批量) */
157
+ updatePatternExecutionOutcome(execId: string, outcome: string, taskSessionId: string): void;
158
+ /** 查询指定 session 的所有 pattern_executions */
159
+ queryPatternExecutionsBySession(sessionId: string, projectPath: string): Array<{
160
+ id: string;
161
+ pattern_id: string;
162
+ }>;
163
+ /** 基于真实成功率更新 effectiveness_score(使用 EMA) */
164
+ updatePatternEffectivenessScore(patternId: string, successRate: number): void;
165
+ /** 查询所有有 outcome 的 pattern_executions,按 pattern_id 分组统计成功率 */
166
+ getPatternSuccessRates(): Array<{
167
+ pattern_id: string;
168
+ success_rate: number;
169
+ total_count: number;
170
+ }>;
171
+ /** 递增抑制计数,3 次后设置过期时间 */
172
+ incrementSuppressionCount(category: string, projectPath: string): void;
173
+ /** 获取未过期的抑制规则 */
174
+ getActiveSuppressions(projectPath: string): string[];
175
+ /** 插入质量门禁历史记录 */
176
+ insertQualityGateHistory(record: {
177
+ id: string;
178
+ session_id: string;
179
+ project_path: string;
180
+ file_path: string;
181
+ category: string;
182
+ level: string;
183
+ message: string;
184
+ }): void;
185
+ /** 标记历史问题为已解决 */
186
+ markQualityIssueResolved(filePath: string, category: string): void;
187
+ /** 查询文件的未解决问题 */
188
+ getUnresolvedIssues(filePath: string): Array<{
189
+ category: string;
190
+ message: string;
191
+ }>;
192
+ /** 清理过期的抑制规则 */
193
+ cleanupExpiredSuppressions(): number;
194
+ /** 插入 Pattern 进化历史 */
195
+ insertEvolutionHistory(record: {
196
+ id: string;
197
+ pattern_id: string;
198
+ old_version: string;
199
+ new_version: string;
200
+ old_yaml: string;
201
+ new_yaml: string;
202
+ evolved_at: string;
203
+ }): void;
204
+ /** 更新进化验证状态 */
205
+ updateEvolutionValidation(historyId: string, status: string, successRate: number | null): void;
206
+ /** 获取待验证的进化记录 */
207
+ getPendingEvolutions(): Array<{
208
+ id: string;
209
+ pattern_id: string;
210
+ new_version: string;
211
+ }>;
212
+ /** 获取 Pattern 的最新进化记录 */
213
+ getLatestEvolution(patternId: string): {
214
+ old_yaml: string;
215
+ validation_status: string;
216
+ } | null;
156
217
  }
157
218
  //# sourceMappingURL=sqlite.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../../src/storage/sqlite.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../../src/storage/sqlite.ts"],"names":[],"mappings":"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"}