soloforge 1.0.0 → 1.1.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.
Files changed (182) hide show
  1. package/README.md +4 -1
  2. package/dist/adapters/claude_code/claude_md.d.ts +1 -2
  3. package/dist/adapters/claude_code/claude_md.d.ts.map +1 -1
  4. package/dist/adapters/claude_code/claude_md.js +2 -76
  5. package/dist/adapters/claude_code/claude_md.js.map +1 -1
  6. package/dist/adapters/claude_code/server.d.ts +16 -0
  7. package/dist/adapters/claude_code/server.d.ts.map +1 -1
  8. package/dist/adapters/claude_code/server.js +17 -1
  9. package/dist/adapters/claude_code/server.js.map +1 -1
  10. package/dist/adapters/claude_code/tools.d.ts +32 -1
  11. package/dist/adapters/claude_code/tools.d.ts.map +1 -1
  12. package/dist/adapters/claude_code/tools.js +65 -30
  13. package/dist/adapters/claude_code/tools.js.map +1 -1
  14. package/dist/adapters/codex/codex_config.d.ts +3 -0
  15. package/dist/adapters/codex/codex_config.d.ts.map +1 -0
  16. package/dist/adapters/codex/codex_config.js +51 -0
  17. package/dist/adapters/codex/codex_config.js.map +1 -0
  18. package/dist/adapters/codex/codex_rules.d.ts +2 -0
  19. package/dist/adapters/codex/codex_rules.d.ts.map +1 -0
  20. package/dist/adapters/codex/codex_rules.js +5 -0
  21. package/dist/adapters/codex/codex_rules.js.map +1 -0
  22. package/dist/adapters/shared/workflow_template.d.ts +3 -0
  23. package/dist/adapters/shared/workflow_template.d.ts.map +1 -0
  24. package/dist/adapters/shared/workflow_template.js +78 -0
  25. package/dist/adapters/shared/workflow_template.js.map +1 -0
  26. package/dist/adapters/trae/trae_rules.d.ts +1 -2
  27. package/dist/adapters/trae/trae_rules.d.ts.map +1 -1
  28. package/dist/adapters/trae/trae_rules.js +2 -75
  29. package/dist/adapters/trae/trae_rules.js.map +1 -1
  30. package/dist/bin/soloforge.js +171 -22
  31. package/dist/bin/soloforge.js.map +1 -1
  32. package/dist/engine/change_coordinator.d.ts +20 -5
  33. package/dist/engine/change_coordinator.d.ts.map +1 -1
  34. package/dist/engine/change_coordinator.js +36 -22
  35. package/dist/engine/change_coordinator.js.map +1 -1
  36. package/dist/engine/classifier.d.ts +7 -0
  37. package/dist/engine/classifier.d.ts.map +1 -1
  38. package/dist/engine/classifier.js +75 -3
  39. package/dist/engine/classifier.js.map +1 -1
  40. package/dist/engine/code_reviewer.d.ts +37 -1
  41. package/dist/engine/code_reviewer.d.ts.map +1 -1
  42. package/dist/engine/code_reviewer.js +126 -24
  43. package/dist/engine/code_reviewer.js.map +1 -1
  44. package/dist/engine/confidence_scorer.d.ts +21 -0
  45. package/dist/engine/confidence_scorer.d.ts.map +1 -1
  46. package/dist/engine/confidence_scorer.js +19 -6
  47. package/dist/engine/confidence_scorer.js.map +1 -1
  48. package/dist/engine/contract_guard.d.ts +23 -0
  49. package/dist/engine/contract_guard.d.ts.map +1 -1
  50. package/dist/engine/contract_guard.js +152 -43
  51. package/dist/engine/contract_guard.js.map +1 -1
  52. package/dist/engine/convention_detector.d.ts +20 -0
  53. package/dist/engine/convention_detector.d.ts.map +1 -1
  54. package/dist/engine/convention_detector.js +19 -1
  55. package/dist/engine/convention_detector.js.map +1 -1
  56. package/dist/engine/debt_reporter.d.ts +5 -0
  57. package/dist/engine/debt_reporter.d.ts.map +1 -1
  58. package/dist/engine/debt_reporter.js +30 -6
  59. package/dist/engine/debt_reporter.js.map +1 -1
  60. package/dist/engine/debt_tracker.d.ts +52 -0
  61. package/dist/engine/debt_tracker.d.ts.map +1 -1
  62. package/dist/engine/debt_tracker.js +66 -1
  63. package/dist/engine/debt_tracker.js.map +1 -1
  64. package/dist/engine/debugger.d.ts +9 -0
  65. package/dist/engine/debugger.d.ts.map +1 -1
  66. package/dist/engine/debugger.js +112 -20
  67. package/dist/engine/debugger.js.map +1 -1
  68. package/dist/engine/delivery.d.ts +27 -0
  69. package/dist/engine/delivery.d.ts.map +1 -1
  70. package/dist/engine/delivery.js +67 -13
  71. package/dist/engine/delivery.js.map +1 -1
  72. package/dist/engine/dependency_scanner.d.ts +5 -8
  73. package/dist/engine/dependency_scanner.d.ts.map +1 -1
  74. package/dist/engine/dependency_scanner.js +46 -29
  75. package/dist/engine/dependency_scanner.js.map +1 -1
  76. package/dist/engine/evolver.d.ts +54 -0
  77. package/dist/engine/evolver.d.ts.map +1 -1
  78. package/dist/engine/evolver.js +159 -6
  79. package/dist/engine/evolver.js.map +1 -1
  80. package/dist/engine/exploration.d.ts +114 -0
  81. package/dist/engine/exploration.d.ts.map +1 -0
  82. package/dist/engine/exploration.js +414 -0
  83. package/dist/engine/exploration.js.map +1 -0
  84. package/dist/engine/failure_classifier.d.ts +28 -0
  85. package/dist/engine/failure_classifier.d.ts.map +1 -1
  86. package/dist/engine/failure_classifier.js +51 -5
  87. package/dist/engine/failure_classifier.js.map +1 -1
  88. package/dist/engine/git_deps.d.ts +29 -0
  89. package/dist/engine/git_deps.d.ts.map +1 -1
  90. package/dist/engine/git_deps.js +1 -0
  91. package/dist/engine/git_deps.js.map +1 -1
  92. package/dist/engine/impact_analyzer.d.ts +17 -0
  93. package/dist/engine/impact_analyzer.d.ts.map +1 -1
  94. package/dist/engine/impact_analyzer.js +76 -4
  95. package/dist/engine/impact_analyzer.js.map +1 -1
  96. package/dist/engine/intent_expander.d.ts +58 -0
  97. package/dist/engine/intent_expander.d.ts.map +1 -1
  98. package/dist/engine/intent_expander.js +173 -1
  99. package/dist/engine/intent_expander.js.map +1 -1
  100. package/dist/engine/migration_guard.d.ts +6 -0
  101. package/dist/engine/migration_guard.d.ts.map +1 -1
  102. package/dist/engine/migration_guard.js +26 -7
  103. package/dist/engine/migration_guard.js.map +1 -1
  104. package/dist/engine/observability.d.ts +31 -7
  105. package/dist/engine/observability.d.ts.map +1 -1
  106. package/dist/engine/observability.js +88 -28
  107. package/dist/engine/observability.js.map +1 -1
  108. package/dist/engine/onboarding.d.ts +41 -1
  109. package/dist/engine/onboarding.d.ts.map +1 -1
  110. package/dist/engine/onboarding.js +83 -8
  111. package/dist/engine/onboarding.js.map +1 -1
  112. package/dist/engine/scaffolder.d.ts +10 -0
  113. package/dist/engine/scaffolder.d.ts.map +1 -1
  114. package/dist/engine/scaffolder.js +55 -10
  115. package/dist/engine/scaffolder.js.map +1 -1
  116. package/dist/engine/scope_controller.d.ts +13 -0
  117. package/dist/engine/scope_controller.d.ts.map +1 -1
  118. package/dist/engine/scope_controller.js +76 -12
  119. package/dist/engine/scope_controller.js.map +1 -1
  120. package/dist/engine/task_context.d.ts +124 -0
  121. package/dist/engine/task_context.d.ts.map +1 -1
  122. package/dist/engine/task_context.js +155 -7
  123. package/dist/engine/task_context.js.map +1 -1
  124. package/dist/engine/task_planner.d.ts +17 -0
  125. package/dist/engine/task_planner.d.ts.map +1 -1
  126. package/dist/engine/task_planner.js +51 -4
  127. package/dist/engine/task_planner.js.map +1 -1
  128. package/dist/engine/team_awareness.d.ts +17 -0
  129. package/dist/engine/team_awareness.d.ts.map +1 -1
  130. package/dist/engine/team_awareness.js +29 -11
  131. package/dist/engine/team_awareness.js.map +1 -1
  132. package/dist/engine/test_generator.d.ts +5 -4
  133. package/dist/engine/test_generator.d.ts.map +1 -1
  134. package/dist/engine/test_generator.js +22 -5
  135. package/dist/engine/test_generator.js.map +1 -1
  136. package/dist/engine/test_quality.d.ts +11 -4
  137. package/dist/engine/test_quality.d.ts.map +1 -1
  138. package/dist/engine/test_quality.js +171 -14
  139. package/dist/engine/test_quality.js.map +1 -1
  140. package/dist/engine/verifier.d.ts +41 -0
  141. package/dist/engine/verifier.d.ts.map +1 -1
  142. package/dist/engine/verifier.js +110 -1
  143. package/dist/engine/verifier.js.map +1 -1
  144. package/dist/git/operations.d.ts +1 -0
  145. package/dist/git/operations.d.ts.map +1 -1
  146. package/dist/git/operations.js +3 -0
  147. package/dist/git/operations.js.map +1 -1
  148. package/dist/index.d.ts +9 -0
  149. package/dist/index.d.ts.map +1 -1
  150. package/dist/index.js +14 -0
  151. package/dist/index.js.map +1 -1
  152. package/dist/knowledge/index_manager.d.ts +7 -1
  153. package/dist/knowledge/index_manager.d.ts.map +1 -1
  154. package/dist/knowledge/index_manager.js +112 -37
  155. package/dist/knowledge/index_manager.js.map +1 -1
  156. package/dist/knowledge/loader.d.ts +31 -0
  157. package/dist/knowledge/loader.d.ts.map +1 -1
  158. package/dist/knowledge/loader.js +102 -8
  159. package/dist/knowledge/loader.js.map +1 -1
  160. package/dist/types.d.ts +608 -0
  161. package/dist/types.d.ts.map +1 -1
  162. package/package.json +1 -1
  163. package/templates/knowledge/acceptance_templates//346/212/200/346/234/257/351/200/211/345/236/213/351/252/214/346/224/266/346/270/205/345/215/225.md +19 -0
  164. package/templates/knowledge/acceptance_templates//351/200/232/347/224/250/350/264/250/351/207/217/351/252/214/346/224/266/346/270/205/345/215/225.md +4 -0
  165. package/templates/knowledge/procedures//345/212/237/350/203/275/345/274/200/345/217/221/346/265/201/347/250/213.md +4 -1
  166. package/templates/knowledge/procedures//350/207/252/344/270/273/351/200/211/345/236/213/346/265/201/347/250/213.md +34 -0
  167. package/templates/knowledge/review_rules//344/272/244/344/273/230/345/256/214/345/244/207/346/200/247/345/256/241/346/237/245/350/247/204/345/210/231.md +66 -0
  168. package/templates/scaffolds/react/Form.tsx.hbs +9 -1
  169. package/templates/scaffolds/react/List.tsx.hbs +10 -1
  170. package/templates/scaffolds/react/Page.tsx.hbs +4 -1
  171. package/templates/scaffolds/react/service.ts.hbs +29 -0
  172. package/templates/scaffolds/react/types.ts.hbs +7 -1
  173. package/templates/scaffolds/react/use{{ModuleName}}.ts.hbs +34 -2
  174. package/templates/scaffolds/spring-boot/Controller.java.hbs +27 -0
  175. package/templates/scaffolds/spring-boot/DTO.java.hbs +7 -1
  176. package/templates/scaffolds/spring-boot/Entity.java.hbs +11 -1
  177. package/templates/scaffolds/spring-boot/ErrorCode.java.hbs +13 -1
  178. package/templates/scaffolds/spring-boot/Mapper.java.hbs +4 -1
  179. package/templates/scaffolds/spring-boot/PageResponse.java.hbs +24 -1
  180. package/templates/scaffolds/spring-boot/Service.java.hbs +32 -0
  181. package/templates/scaffolds/spring-boot/ServiceImpl.java.hbs +23 -5
  182. package/templates/scaffolds/spring-boot/ServiceTest.java.hbs +7 -1
@@ -1 +1 @@
1
- {"version":3,"file":"intent_expander.js","sourceRoot":"","sources":["../../src/engine/intent_expander.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"intent_expander.js","sourceRoot":"","sources":["../../src/engine/intent_expander.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,9 @@
1
1
  import type { MigrationAnalysis } from "../types.js";
2
+ /**
3
+ * 分析 SQL 迁移脚本 — 逐行匹配规则,生成风险评级、语句列表和回滚建议。
4
+ * @param content - SQL 迁移文件内容
5
+ * @param filename - 文件名(用于结果标识)
6
+ * @returns 迁移分析结果,包含风险等级(critical/warning/safe)、语句列表、回滚建议和中文摘要
7
+ */
2
8
  export declare function analyzeMigration(content: string, filename: string): MigrationAnalysis;
3
9
  //# sourceMappingURL=migration_guard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"migration_guard.d.ts","sourceRoot":"","sources":["../../src/engine/migration_guard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAsB,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAwLzE,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,iBAAiB,CAsErF"}
1
+ {"version":3,"file":"migration_guard.d.ts","sourceRoot":"","sources":["../../src/engine/migration_guard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAsB,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAoMzE;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,iBAAiB,CAsErF"}
@@ -1,3 +1,8 @@
1
+ /**
2
+ * 数据库迁移守卫 — 逐行分析 SQL 迁移脚本,检测高风险操作(DROP TABLE、DELETE 无 WHERE 等),
3
+ * 并生成中文风险摘要和回滚建议。纯规则匹配,零 AI 依赖。
4
+ */
5
+ /** 回滚建议模板 — 按 SQL 语句类型映射到对应的回滚操作建议 */
1
6
  // ── Rollback suggestion templates keyed by statement type ──
2
7
  const ROLLBACK_SUGGESTIONS = {
3
8
  DROP_TABLE: "恢复数据需要从备份还原,建议先创建备份",
@@ -10,7 +15,11 @@ const ROLLBACK_SUGGESTIONS = {
10
15
  ADD_INDEX: "大表添加索引可能造成长时间锁表,建议在低峰期执行",
11
16
  ADD_FK: "添加外键前建议确认引用完整性,并在低峰期执行",
12
17
  };
13
- // ── Table name extraction helpers ──
18
+ /**
19
+ * 从 SQL 行中提取表名 — 支持 TABLE/FROM/INTO 三种常见语法位置。
20
+ * @param line - 已转大写的 SQL 行
21
+ * @returns 提取到的表名,未匹配时返回 undefined
22
+ */
14
23
  function extractTableFrom(line) {
15
24
  // TABLE <name> (covers DROP TABLE, ALTER TABLE, CREATE TABLE, RENAME TABLE)
16
25
  const tableMatch = line.match(/TABLE\s+(\w+)/);
@@ -26,6 +35,7 @@ function extractTableFrom(line) {
26
35
  return intoMatch[1];
27
36
  return undefined;
28
37
  }
38
+ /** 高风险规则集 — 检测 DROP TABLE、DROP COLUMN、修改列类型、DELETE 无 WHERE、TRUNCATE 等危险操作 */
29
39
  const CRITICAL_RULES = [
30
40
  {
31
41
  test: (upper) => /DROP\s+TABLE/.test(upper),
@@ -43,7 +53,7 @@ const CRITICAL_RULES = [
43
53
  test: (upper, raw) => {
44
54
  if (!/ALTER\s+COLUMN/.test(upper) && !/ALTER\s+TABLE\b/.test(upper))
45
55
  return false;
46
- // Detect type change patterns: TYPE, USING, SET DATA TYPE
56
+ // 检测列类型变更模式: TYPEUSINGSET DATA TYPE 关键字
47
57
  return /TYPE\s|SET\s+DATA\s+TYPE\s|USING\s/.test(upper);
48
58
  },
49
59
  type: "ALTER_COLUMN",
@@ -66,10 +76,10 @@ const CRITICAL_RULES = [
66
76
  test: (upper, raw, _lines, _lineIndex) => {
67
77
  if (!/DELETE\s+FROM/.test(upper))
68
78
  return false;
69
- // No WHERE clause on the same line look ahead for WHERE in subsequent lines
79
+ // 当前行无 WHERE — 向后预查最多 10 行,寻找 WHERE 子句或语句结束符(;)
70
80
  if (/WHERE\b/.test(upper))
71
81
  return false;
72
- // Look ahead up to next ';' or 10 lines for a WHERE clause
82
+ // 向后预查最多 10 行,若遇到分号则语句结束
73
83
  const lines = _lines;
74
84
  const startIdx = _lineIndex;
75
85
  const lookAheadLimit = Math.min(lines.length, startIdx + 10);
@@ -95,6 +105,7 @@ const CRITICAL_RULES = [
95
105
  description: "清空表操作",
96
106
  },
97
107
  ];
108
+ /** 警告规则集 — 检测 ADD COLUMN 无 DEFAULT 的 NOT NULL、RENAME、添加索引、添加外键等需谨慎操作 */
98
109
  const WARNING_RULES = [
99
110
  {
100
111
  test: (upper, raw) => {
@@ -126,6 +137,7 @@ const WARNING_RULES = [
126
137
  description: "添加外键约束,需确认引用完整性",
127
138
  },
128
139
  ];
140
+ /** 安全规则集 — 检测 CREATE TABLE、ADD COLUMN(可空/有默认值)、INSERT、COMMENT 等低风险操作 */
129
141
  const SAFE_RULES = [
130
142
  {
131
143
  test: (upper) => /CREATE\s+TABLE/.test(upper),
@@ -168,8 +180,15 @@ const SAFE_RULES = [
168
180
  description: "添加带默认值的列",
169
181
  },
170
182
  ];
183
+ // 合并所有规则,按优先级排列(critical → warning → safe),每行匹配到第一条规则即停止
171
184
  const ALL_RULES = [...CRITICAL_RULES, ...WARNING_RULES, ...SAFE_RULES];
172
185
  // ── Public API ──
186
+ /**
187
+ * 分析 SQL 迁移脚本 — 逐行匹配规则,生成风险评级、语句列表和回滚建议。
188
+ * @param content - SQL 迁移文件内容
189
+ * @param filename - 文件名(用于结果标识)
190
+ * @returns 迁移分析结果,包含风险等级(critical/warning/safe)、语句列表、回滚建议和中文摘要
191
+ */
173
192
  export function analyzeMigration(content, filename) {
174
193
  const lines = content.split("\n");
175
194
  const statements = [];
@@ -180,7 +199,7 @@ export function analyzeMigration(content, filename) {
180
199
  if (raw === "" || raw.startsWith("--"))
181
200
  continue;
182
201
  const upper = raw.toUpperCase();
183
- // Try matching rules in priority order (critical → warning → safe)
202
+ // 按优先级顺序尝试匹配规则(critical → warning → safe),首条命中即终止
184
203
  for (const rule of ALL_RULES) {
185
204
  if (rule.test(upper, raw, lines, i)) {
186
205
  const table = extractTableFrom(upper);
@@ -201,7 +220,7 @@ export function analyzeMigration(content, filename) {
201
220
  }
202
221
  }
203
222
  }
204
- // Determine overall risk level
223
+ // 确定整体风险等级: critical 则为 critical,有 warning 则为 warning,否则 safe
205
224
  const hasCritical = statements.some((s) => s.risk === "critical");
206
225
  const hasWarning = statements.some((s) => s.risk === "warning");
207
226
  const risk_level = hasCritical
@@ -215,7 +234,7 @@ export function analyzeMigration(content, filename) {
215
234
  const safeCount = statements.filter((s) => s.risk === "safe").length;
216
235
  // Build Chinese summary
217
236
  const summary = `检测到 ${statements.length} 条语句:${criticalCount} 条高风险,${warningCount} 条警告,${safeCount} 条安全`;
218
- // Rollback suggestions in deterministic order (critical types first)
237
+ // 回滚建议按原始出现顺序排列,仅保留非安全操作的唯一建议
219
238
  const rollbackSuggestions = statements
220
239
  .filter((s) => s.risk !== "safe" && ROLLBACK_SUGGESTIONS[s.type])
221
240
  .reduce((acc, s) => {
@@ -1 +1 @@
1
- {"version":3,"file":"migration_guard.js","sourceRoot":"","sources":["../../src/engine/migration_guard.ts"],"names":[],"mappings":"AAEA,8DAA8D;AAE9D,MAAM,oBAAoB,GAA2B;IACnD,UAAU,EAAE,qBAAqB;IACjC,WAAW,EAAE,mBAAmB;IAChC,eAAe,EAAE,sBAAsB;IACvC,YAAY,EAAE,qBAAqB;IACnC,QAAQ,EAAE,mBAAmB;IAC7B,YAAY,EAAE,oCAAoC;IAClD,MAAM,EAAE,oBAAoB;IAC5B,SAAS,EAAE,0BAA0B;IACrC,MAAM,EAAE,wBAAwB;CACjC,CAAC;AAEF,sCAAsC;AAEtC,SAAS,gBAAgB,CAAC,IAAY;IACpC,4EAA4E;IAC5E,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IAC/C,IAAI,UAAU;QAAE,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC;IAErC,gDAAgD;IAChD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAC7C,IAAI,SAAS;QAAE,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC;IAEnC,mCAAmC;IACnC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAC7C,IAAI,SAAS;QAAE,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC;IAEnC,OAAO,SAAS,CAAC;AACnB,CAAC;AAWD,MAAM,cAAc,GAAkB;IACpC;QACE,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC;QAC3C,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,cAAc;KAC5B;IACD;QACE,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC;QAC5C,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,cAAc;KAC5B;IACD;QACE,IAAI,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YACnB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC;YAClF,0DAA0D;YAC1D,OAAO,oCAAoC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1D,CAAC;QACD,IAAI,EAAE,cAAc;QACpB,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,eAAe;KAC7B;IACD;QACE,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC;QAC9C,IAAI,EAAE,cAAc;QACpB,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,mCAAmC;KACjD;IACD;QACE,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC;QAC9C,IAAI,EAAE,cAAc;QACpB,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,mCAAmC;KACjD;IACD;QACE,IAAI,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE;YACvC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC;YAC/C,8EAA8E;YAC9E,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC;YACxC,2DAA2D;YAC3D,MAAM,KAAK,GAAG,MAAM,CAAC;YACrB,MAAM,QAAQ,GAAG,UAAU,CAAC;YAC5B,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,GAAG,EAAE,CAAC,CAAC;YAC7D,KAAK,IAAI,CAAC,GAAG,QAAQ,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,EAAE,CAAC,EAAE,EAAE,CAAC;gBACnD,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;gBACjD,IAAI,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC;oBAAE,SAAS,CAAC,gBAAgB;gBAC3D,IAAI,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC;oBAAE,OAAO,KAAK,CAAC;gBAC7C,IAAI,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC;oBAAE,MAAM,CAAC,iBAAiB;YACpF,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,EAAE,iBAAiB;QACvB,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,cAAc;KAC5B;IACD;QACE,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC;QAC3E,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,OAAO;KACrB;CACF,CAAC;AAEF,MAAM,aAAa,GAAkB;IACnC;QACE,IAAI,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YACnB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC;YAC9C,kCAAkC;YAClC,OAAO,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9D,CAAC;QACD,IAAI,EAAE,cAAc;QACpB,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,iBAAiB;KAC/B;IACD;QACE,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,yBAAyB,CAAC,IAAI,CAAC,KAAK,CAAC;QACtD,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,gBAAgB;KAC9B;IACD;QACE,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,oDAAoD,CAAC,IAAI,CAAC,KAAK,CAAC;QACjF,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,YAAY;KAC1B;IACD;QACE,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC;QAChF,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,iBAAiB;KAC/B;CACF,CAAC;AAEF,MAAM,UAAU,GAAkB;IAChC;QACE,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC;QAC7C,IAAI,EAAE,cAAc;QACpB,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,OAAO;KACrB;IACD;QACE,IAAI,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YACnB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC;YAC9C,kCAAkC;YAClC,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpE,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC3C,OAAO,OAAO,IAAI,UAAU,CAAC;QAC/B,CAAC;QACD,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,OAAO;KACrB;IACD;QACE,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC;QAC5C,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,QAAQ;KACtB;IACD;QACE,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC;QAC3C,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,QAAQ;KACtB;IACD;QACE,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE;YACd,wDAAwD;YACxD,OAAO,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9F,CAAC;QACD,IAAI,EAAE,oBAAoB;QAC1B,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,UAAU;KACxB;CACF,CAAC;AAEF,MAAM,SAAS,GAAG,CAAC,GAAG,cAAc,EAAE,GAAG,aAAa,EAAE,GAAG,UAAU,CAAC,CAAC;AAEvE,mBAAmB;AAEnB,MAAM,UAAU,gBAAgB,CAAC,OAAe,EAAE,QAAgB;IAChE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,UAAU,GAAyB,EAAE,CAAC;IAC5C,MAAM,uBAAuB,GAAG,IAAI,GAAG,EAAU,CAAC;IAElD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAE5B,0CAA0C;QAC1C,IAAI,GAAG,KAAK,EAAE,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,SAAS;QAEjD,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;QAEhC,mEAAmE;QACnE,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;YAC7B,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC;gBACpC,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;gBACtC,UAAU,CAAC,IAAI,CAAC;oBACd,IAAI,EAAE,CAAC,GAAG,CAAC;oBACX,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,KAAK;oBACL,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,WAAW,EAAE,IAAI,CAAC,WAAW;iBAC9B,CAAC,CAAC;gBAEH,sCAAsC;gBACtC,MAAM,UAAU,GAAG,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACnD,IAAI,UAAU,EAAE,CAAC;oBACf,uBAAuB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBAC1C,CAAC;gBAED,4BAA4B;gBAC5B,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAED,+BAA+B;IAC/B,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;IAClE,MAAM,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;IAChE,MAAM,UAAU,GAAoC,WAAW;QAC7D,CAAC,CAAC,UAAU;QACZ,CAAC,CAAC,UAAU;YACV,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,MAAM,CAAC;IAEb,gBAAgB;IAChB,MAAM,aAAa,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,MAAM,CAAC;IAC7E,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,MAAM,CAAC;IAC3E,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,MAAM,CAAC;IAErE,wBAAwB;IACxB,MAAM,OAAO,GAAG,OAAO,UAAU,CAAC,MAAM,QAAQ,aAAa,SAAS,YAAY,QAAQ,SAAS,MAAM,CAAC;IAE1G,qEAAqE;IACrE,MAAM,mBAAmB,GAAG,UAAU;SACnC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;SAChE,MAAM,CAAW,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;QAC3B,MAAM,IAAI,GAAG,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChD,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAE,CAAC,CAAC;IAET,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,UAAU;QACV,UAAU;QACV,oBAAoB,EAAE,mBAAmB;QACzC,OAAO;KACR,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"migration_guard.js","sourceRoot":"","sources":["../../src/engine/migration_guard.ts"],"names":[],"mappings":"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"}
@@ -1,30 +1,54 @@
1
1
  import type { MetricsSnapshot, AlertItem, ObservabilityReport, CostBudget, CostAlert } from "../types.js";
2
2
  /**
3
- * Read all TaskContext JSON files from `stateDir` and compute aggregate metrics.
3
+ * 采集任务目录下的所有 TaskContext,计算聚合指标。
4
+ * 包括通过率、重试率、平均耗时和知识匹配率。
5
+ * @param stateDir - 任务状态文件目录路径
6
+ * @returns 指标快照,包含通过率、重试率、平均耗时、知识匹配率
4
7
  */
5
8
  export declare function collectMetrics(stateDir: string): Promise<MetricsSnapshot>;
6
9
  /**
7
- * Generate threshold-based alerts from a metrics snapshot.
10
+ * 基于阈值检测指标异常,生成告警列表。
11
+ * 告警规则:
12
+ * - 失败率 >= 30% → critical
13
+ * - 失败率 >= 15% → warning
14
+ * - 重试率 > 40% → warning
15
+ * - 平均耗时 > 5 分钟 → warning
16
+ * - 知识匹配率 < 50% → warning
17
+ * @param snapshot - 采集到的指标快照
18
+ * @returns 告警条目列表(按检测顺序排列)
8
19
  */
9
20
  export declare function checkAlerts(snapshot: MetricsSnapshot): AlertItem[];
10
21
  /**
11
- * Generate a full observability report for the given period.
22
+ * 生成指定周期内的完整可观测性报告。
23
+ * 包含聚合指标、告警、每日趋势数据和中文摘要。
24
+ * @param stateDir - 任务状态文件目录路径
25
+ * @param periodDays - 报告回溯天数,默认 30 天
26
+ * @returns 可观测性报告,包含时间范围、指标快照、告警、趋势和摘要
12
27
  */
13
28
  export declare function generateReport(stateDir: string, periodDays?: number): Promise<ObservabilityReport>;
14
29
  /**
15
- * Rough token cost estimation based on task count and type.
30
+ * 根据任务数量和类型粗略估算 Token 消耗。
31
+ * @param stateDir - 任务状态文件目录路径
32
+ * @returns 包含总估算 Token 数和按任务类型分组的估算明细
16
33
  */
17
34
  export declare function estimateCost(stateDir: string): Promise<{
18
35
  total_estimated_tokens: number;
19
36
  by_task_type: Record<string, number>;
20
37
  }>;
21
38
  /**
22
- * Check token usage against the given budget and return alerts for
23
- * over-budget or near-budget (>= 80%) periods.
39
+ * 检查 Token 用量是否超出预算,生成超支或接近预算(>=80%)的告警。
40
+ * 分别检查日、周、月三个维度的预算。
41
+ * @param stateDir - 任务状态文件目录路径
42
+ * @param budget - 成本预算配置(含日/周/月 Token 限额)
43
+ * @returns 成本告警列表
24
44
  */
25
45
  export declare function checkCostBudget(stateDir: string, budget: CostBudget): Promise<CostAlert[]>;
26
46
  /**
27
- * Get daily token usage trend for the last `days` days.
47
+ * 获取最近指定天数的每日 Token 用量趋势。
48
+ * 缺失的日期填充为 0,确保时间线连续。
49
+ * @param stateDir - 任务状态文件目录路径
50
+ * @param days - 回溯天数,默认 30 天
51
+ * @returns 按日期排列的每日 Token 消耗估算数组
28
52
  */
29
53
  export declare function getCostTrend(stateDir: string, days?: number): Promise<Array<{
30
54
  date: string;
@@ -1 +1 @@
1
- {"version":3,"file":"observability.d.ts","sourceRoot":"","sources":["../../src/engine/observability.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAe,eAAe,EAAE,SAAS,EAAE,mBAAmB,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAiEvH;;GAEG;AACH,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CA0C/E;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,eAAe,GAAG,SAAS,EAAE,CA0DlE;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,QAAQ,EAAE,MAAM,EAChB,UAAU,GAAE,MAAW,GACtB,OAAO,CAAC,mBAAmB,CAAC,CAiE9B;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;IAAE,sBAAsB,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAAC,CAcnF;AAcD;;;GAGG;AACH,wBAAsB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CA2EhG;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE,MAAW,GAChB,OAAO,CAAC,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,gBAAgB,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAiC5D"}
1
+ {"version":3,"file":"observability.d.ts","sourceRoot":"","sources":["../../src/engine/observability.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAe,eAAe,EAAE,SAAS,EAAE,mBAAmB,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAuFvH;;;;;GAKG;AACH,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CA+C/E;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,eAAe,GAAG,SAAS,EAAE,CA0DlE;AAED;;;;;;GAMG;AACH,wBAAsB,cAAc,CAClC,QAAQ,EAAE,MAAM,EAChB,UAAU,GAAE,MAAW,GACtB,OAAO,CAAC,mBAAmB,CAAC,CAmE9B;AAED;;;;GAIG;AACH,wBAAsB,YAAY,CAChC,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;IAAE,sBAAsB,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAAC,CAcnF;AAoBD;;;;;;GAMG;AACH,wBAAsB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CA8EhG;AAED;;;;;;GAMG;AACH,wBAAsB,YAAY,CAChC,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE,MAAW,GAChB,OAAO,CAAC,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,gBAAgB,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAiC5D"}
@@ -1,14 +1,26 @@
1
1
  import fs from "node:fs/promises";
2
2
  import fss from "node:fs";
3
3
  import path from "node:path";
4
- // ── Token cost estimates by task type ──
4
+ /**
5
+ * 系统可观测模块 — 采集任务指标、检测异常告警、生成周期报告和成本估算。
6
+ * 基于 TaskContext JSON 文件聚合计算,零外部依赖。
7
+ */
8
+ // ── 各任务类型的单次 Token 消耗估算值 ──
9
+ // 用于成本预估和预算检查,单位为 token 数
5
10
  const TOKEN_ESTIMATES = {
6
- feature: 8_000,
7
- bugfix: 5_000,
8
- refactor: 10_000,
9
- hotfix: 4_000,
11
+ feature: 8_000, // 新功能:涉及上下文理解和代码生成,估算较高
12
+ bugfix: 5_000, // 缺陷修复:上下文范围相对集中
13
+ refactor: 10_000, // 重构:需要全局理解和多文件修改,估算最高
14
+ hotfix: 4_000, // 紧急修复:范围明确,耗时较短
10
15
  };
16
+ /** 未知任务类型的默认 Token 估算值 */
11
17
  const DEFAULT_TOKEN_ESTIMATE = 3_000;
18
+ /**
19
+ * 从指定目录加载所有 TaskContext JSON 文件。
20
+ * 跳过损坏或格式不正确的文件,忽略无 task_id 或 created_at 的无效条目。
21
+ * @param stateDir - 任务状态文件目录路径
22
+ * @returns 有效的任务上下文列表(附加文件 mtime 信息)
23
+ */
12
24
  async function loadTasks(stateDir) {
13
25
  const tasks = [];
14
26
  let files;
@@ -37,19 +49,30 @@ async function loadTasks(stateDir) {
37
49
  }
38
50
  return tasks;
39
51
  }
52
+ /**
53
+ * 计算单个任务的持续时间(毫秒)。
54
+ * 已完成任务使用文件修改时间作为结束时间的近似值,避免 "now - created" 一直增长的问题。
55
+ * 进行中任务使用当前时间作为结束时间。
56
+ * @param task - 任务上下文
57
+ * @param now - 当前时间戳(毫秒)
58
+ * @param fileMtimeMs - 任务文件最后修改时间(毫秒),用于已完成任务的精确耗时计算
59
+ * @returns 任务持续时间(毫秒)
60
+ */
40
61
  function taskDurationMs(task, now, fileMtimeMs) {
41
62
  const created = new Date(task.created_at).getTime();
42
- // For completed tasks, use file mtime as an approximation of when the task finished.
43
- // This is more accurate than "now - created_at" which keeps growing indefinitely.
63
+ // 已完成任务:用文件 mtime 近似任务完成时刻,比 "now - created_at" 更准确
44
64
  if (task.status === "done" && fileMtimeMs && fileMtimeMs > created) {
45
65
  return fileMtimeMs - created;
46
66
  }
47
- // For in-progress tasks, use now as the end time.
67
+ // 进行中任务:用当前时间作为截止点
48
68
  return now - created;
49
69
  }
50
- // ── Public API ──
70
+ // ── 公开接口 ──
51
71
  /**
52
- * Read all TaskContext JSON files from `stateDir` and compute aggregate metrics.
72
+ * 采集任务目录下的所有 TaskContext,计算聚合指标。
73
+ * 包括通过率、重试率、平均耗时和知识匹配率。
74
+ * @param stateDir - 任务状态文件目录路径
75
+ * @returns 指标快照,包含通过率、重试率、平均耗时、知识匹配率
53
76
  */
54
77
  export async function collectMetrics(stateDir) {
55
78
  const tasks = await loadTasks(stateDir);
@@ -67,13 +90,18 @@ export async function collectMetrics(stateDir) {
67
90
  const total = tasks.length;
68
91
  const doneCount = tasks.filter((t) => t.status === "done").length;
69
92
  const passRate = doneCount / total;
93
+ // 统计有过失败历史的任务(即经历过重试的任务)
70
94
  const retriedCount = tasks.filter((t) => t.execution && t.execution.failure_history && t.execution.failure_history.length > 0).length;
71
95
  const retryRate = retriedCount / total;
96
+ // 计算所有任务的平均持续时间
72
97
  const durations = tasks.map((t) => taskDurationMs(t, now, t._mtimeMs));
73
98
  const avgDuration = durations.reduce((a, b) => a + b, 0) / total;
99
+ // 知识匹配率:在有过 expansion 的任务中,匹配到知识条目的比例
74
100
  const tasksWithExpansion = tasks.filter((t) => !!t.expansion);
75
101
  const knowledgeHitCount = tasksWithExpansion.filter((t) => t.expansion.matched_knowledge && t.expansion.matched_knowledge.length > 0).length;
102
+ // 避免除零:无 expansion 记录时知识匹配率为 0
76
103
  const knowledgeHitRate = tasksWithExpansion.length > 0 ? knowledgeHitCount / tasksWithExpansion.length : 0;
104
+ // 保留 3 位小数精度
77
105
  return {
78
106
  timestamp: new Date(now).toISOString(),
79
107
  total_tasks: total,
@@ -84,11 +112,19 @@ export async function collectMetrics(stateDir) {
84
112
  };
85
113
  }
86
114
  /**
87
- * Generate threshold-based alerts from a metrics snapshot.
115
+ * 基于阈值检测指标异常,生成告警列表。
116
+ * 告警规则:
117
+ * - 失败率 >= 30% → critical
118
+ * - 失败率 >= 15% → warning
119
+ * - 重试率 > 40% → warning
120
+ * - 平均耗时 > 5 分钟 → warning
121
+ * - 知识匹配率 < 50% → warning
122
+ * @param snapshot - 采集到的指标快照
123
+ * @returns 告警条目列表(按检测顺序排列)
88
124
  */
89
125
  export function checkAlerts(snapshot) {
90
126
  const alerts = [];
91
- // fail_rate > 30% (pass_rate < 0.7)
127
+ // 失败率超过 30% 时触发严重告警
92
128
  if (snapshot.pass_rate < 0.7 && snapshot.total_tasks > 0) {
93
129
  alerts.push({
94
130
  level: "critical",
@@ -98,7 +134,7 @@ export function checkAlerts(snapshot) {
98
134
  message: "近期任务失败率过高",
99
135
  });
100
136
  }
101
- // fail_rate > 15% (pass_rate < 0.85)
137
+ // 失败率超过 15% 时触发警告告警
102
138
  else if (snapshot.pass_rate < 0.85 && snapshot.total_tasks > 0) {
103
139
  alerts.push({
104
140
  level: "warning",
@@ -108,7 +144,7 @@ export function checkAlerts(snapshot) {
108
144
  message: "任务失败率呈上升趋势",
109
145
  });
110
146
  }
111
- // retry_rate > 0.4
147
+ // 重试率超过 40% 说明任务首次执行成功率偏低
112
148
  if (snapshot.retry_rate > 0.4) {
113
149
  alerts.push({
114
150
  level: "warning",
@@ -118,7 +154,7 @@ export function checkAlerts(snapshot) {
118
154
  message: "任务重试率偏高",
119
155
  });
120
156
  }
121
- // avg_duration_ms > 300000 (5 min)
157
+ // 平均耗时超过 5 分钟(300,000ms)说明任务可能过重
122
158
  if (snapshot.avg_duration_ms > 300_000) {
123
159
  alerts.push({
124
160
  level: "warning",
@@ -128,7 +164,7 @@ export function checkAlerts(snapshot) {
128
164
  message: "平均任务耗时过长",
129
165
  });
130
166
  }
131
- // knowledge_hit_rate < 0.5
167
+ // 知识匹配率低于 50% 提示需要补充项目知识
132
168
  if (snapshot.knowledge_hit_rate < 0.5 && snapshot.total_tasks > 0) {
133
169
  alerts.push({
134
170
  level: "warning",
@@ -141,10 +177,15 @@ export function checkAlerts(snapshot) {
141
177
  return alerts;
142
178
  }
143
179
  /**
144
- * Generate a full observability report for the given period.
180
+ * 生成指定周期内的完整可观测性报告。
181
+ * 包含聚合指标、告警、每日趋势数据和中文摘要。
182
+ * @param stateDir - 任务状态文件目录路径
183
+ * @param periodDays - 报告回溯天数,默认 30 天
184
+ * @returns 可观测性报告,包含时间范围、指标快照、告警、趋势和摘要
145
185
  */
146
186
  export async function generateReport(stateDir, periodDays = 30) {
147
187
  const now = new Date();
188
+ // 计算报告起始时间点
148
189
  const start = new Date(now.getTime() - periodDays * 24 * 60 * 60 * 1000);
149
190
  const period = {
150
191
  start: start.toISOString(),
@@ -152,18 +193,19 @@ export async function generateReport(stateDir, periodDays = 30) {
152
193
  };
153
194
  const snapshot = await collectMetrics(stateDir);
154
195
  const alerts = checkAlerts(snapshot);
155
- // Compute daily trends by grouping tasks by created_at date
196
+ // 按创建日期将任务分桶,构建每日趋势数据
156
197
  const tasks = await loadTasks(stateDir);
157
198
  const dailyMap = new Map();
158
199
  for (const task of tasks) {
159
200
  const taskDate = new Date(task.created_at);
160
201
  if (taskDate >= start && taskDate <= now) {
161
- const dayKey = taskDate.toISOString().slice(0, 10); // YYYY-MM-DD
202
+ const dayKey = taskDate.toISOString().slice(0, 10); // YYYY-MM-DD 格式作为分桶键
162
203
  const bucket = dailyMap.get(dayKey) ?? [];
163
204
  bucket.push(task);
164
205
  dailyMap.set(dayKey, bucket);
165
206
  }
166
207
  }
208
+ // 按日期升序排列,确保趋势时间线正确
167
209
  // Sort days chronologically
168
210
  const sortedDays = Array.from(dailyMap.keys()).sort();
169
211
  const passRateValues = [];
@@ -192,7 +234,9 @@ export async function generateReport(stateDir, periodDays = 30) {
192
234
  return { period, snapshot, alerts, trends, summary };
193
235
  }
194
236
  /**
195
- * Rough token cost estimation based on task count and type.
237
+ * 根据任务数量和类型粗略估算 Token 消耗。
238
+ * @param stateDir - 任务状态文件目录路径
239
+ * @returns 包含总估算 Token 数和按任务类型分组的估算明细
196
240
  */
197
241
  export async function estimateCost(stateDir) {
198
242
  const tasks = await loadTasks(stateDir);
@@ -206,18 +250,27 @@ export async function estimateCost(stateDir) {
206
250
  }
207
251
  return { total_estimated_tokens: total, by_task_type: byTaskType };
208
252
  }
209
- // ── Cost budget checking ──
253
+ // ── 成本预算检查 ──
254
+ /** 从 ISO 日期字符串提取 YYYY-MM-DD 日期键 */
210
255
  function dateKey(iso) {
211
256
  return iso.slice(0, 10); // YYYY-MM-DD
212
257
  }
258
+ /**
259
+ * 计算指定天数前的零点时间戳(毫秒)。
260
+ * @param days - 回溯天数
261
+ * @returns 对应日期零点的时间戳
262
+ */
213
263
  function daysAgoMs(days) {
214
264
  const d = new Date();
215
265
  d.setHours(0, 0, 0, 0);
216
266
  return d.getTime() - days * 24 * 60 * 60 * 1000;
217
267
  }
218
268
  /**
219
- * Check token usage against the given budget and return alerts for
220
- * over-budget or near-budget (>= 80%) periods.
269
+ * 检查 Token 用量是否超出预算,生成超支或接近预算(>=80%)的告警。
270
+ * 分别检查日、周、月三个维度的预算。
271
+ * @param stateDir - 任务状态文件目录路径
272
+ * @param budget - 成本预算配置(含日/周/月 Token 限额)
273
+ * @returns 成本告警列表
221
274
  */
222
275
  export async function checkCostBudget(stateDir, budget) {
223
276
  const tasks = await loadTasks(stateDir);
@@ -231,7 +284,7 @@ export async function checkCostBudget(stateDir, budget) {
231
284
  }
232
285
  const today = dateKey(new Date().toISOString());
233
286
  const todayTokens = dayMap.get(today) ?? 0;
234
- // Weekly: last 7 days (including today)
287
+ // 周维度:最近 7 天(含今天),从 6 天前的零点开始计算
235
288
  let weeklyTokens = 0;
236
289
  for (const task of tasks) {
237
290
  const taskMs = new Date(task.created_at).getTime();
@@ -240,7 +293,7 @@ export async function checkCostBudget(stateDir, budget) {
240
293
  weeklyTokens += TOKEN_ESTIMATES[taskType] ?? DEFAULT_TOKEN_ESTIMATE;
241
294
  }
242
295
  }
243
- // Monthly: last 30 days (including today)
296
+ // 月维度:最近 30 天(含今天),从 29 天前的零点开始计算
244
297
  let monthlyTokens = 0;
245
298
  for (const task of tasks) {
246
299
  const taskMs = new Date(task.created_at).getTime();
@@ -249,11 +302,13 @@ export async function checkCostBudget(stateDir, budget) {
249
302
  monthlyTokens += TOKEN_ESTIMATES[taskType] ?? DEFAULT_TOKEN_ESTIMATE;
250
303
  }
251
304
  }
305
+ // 检查单个时间周期的预算使用情况
252
306
  // Helper to check and push alerts
253
307
  function checkPeriod(period, used, limit) {
254
308
  if (limit <= 0)
255
- return;
309
+ return; // 未配置限额则跳过
256
310
  const ratio = used / limit;
311
+ // 用量达到或超过预算 100% 时触发严重告警
257
312
  if (ratio >= 1) {
258
313
  alerts.push({
259
314
  level: "critical",
@@ -262,6 +317,7 @@ export async function checkCostBudget(stateDir, budget) {
262
317
  limit,
263
318
  message: `${period === "daily" ? "今日" : period === "weekly" ? "本周" : "本月"} token 用量已超出预算(${used.toLocaleString()} / ${limit.toLocaleString()})`,
264
319
  });
320
+ // 用量达到预算 80% 时触发预警(提前告警)
265
321
  }
266
322
  else if (ratio >= 0.8) {
267
323
  alerts.push({
@@ -279,7 +335,11 @@ export async function checkCostBudget(stateDir, budget) {
279
335
  return alerts;
280
336
  }
281
337
  /**
282
- * Get daily token usage trend for the last `days` days.
338
+ * 获取最近指定天数的每日 Token 用量趋势。
339
+ * 缺失的日期填充为 0,确保时间线连续。
340
+ * @param stateDir - 任务状态文件目录路径
341
+ * @param days - 回溯天数,默认 30 天
342
+ * @returns 按日期排列的每日 Token 消耗估算数组
283
343
  */
284
344
  export async function getCostTrend(stateDir, days = 30) {
285
345
  const tasks = await loadTasks(stateDir);
@@ -295,7 +355,7 @@ export async function getCostTrend(stateDir, days = 30) {
295
355
  const day = dateKey(task.created_at);
296
356
  dayMap.set(day, (dayMap.get(day) ?? 0) + perTask);
297
357
  }
298
- // Fill in missing days with zero
358
+ // 填充缺失日期为 0,保证趋势图表连续
299
359
  const result = [];
300
360
  const now = new Date();
301
361
  for (let i = days - 1; i >= 0; i--) {