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
package/dist/types.d.ts CHANGED
@@ -1,76 +1,130 @@
1
+ /** 风险等级: low=低风险, medium=中风险, high=高风险 */
1
2
  export type Risk = "low" | "medium" | "high";
3
+ /** 复杂度: low=低, medium=中, high=高 */
2
4
  export type Complexity = "low" | "medium" | "high";
5
+ /** 歧义度: low=低, medium=中, high=高 */
3
6
  export type Ambiguity = "low" | "medium" | "high";
7
+ /** 任务类型 */
4
8
  export type TaskType = "feature" | "bugfix" | "refactor" | "hotfix" | "review" | "explain" | "optimize" | "document" | "test" | "scaffold" | "debug" | "passthrough";
9
+ /** 失败类型: deterministic=确定性错误, fixable=可修复, scope_insufficient=作用域不足 */
5
10
  export type FailureType = "deterministic" | "fixable" | "scope_insufficient";
11
+ /** 执行层级: auto_execute=自动执行, recommended_auto=建议自动, must_confirm=必须确认, forbidden_auto=禁止自动 */
6
12
  export type ExecutionTier = "auto_execute" | "recommended_auto" | "must_confirm" | "forbidden_auto";
13
+ /** 执行契约,定义任务的执行目标、范围、约束和验收条件 */
7
14
  export interface ExecutionContract {
15
+ /** 执行目标 */
8
16
  goal: string;
17
+ /** 影响范围(文件/模块路径列表) */
9
18
  scope: string[];
19
+ /** 约束条件 */
10
20
  constraints: string[];
21
+ /** 验证手段(命令/检查项) */
11
22
  verification: string[];
23
+ /** 停止条件 */
12
24
  stop_conditions: string[];
13
25
  }
26
+ /** 证据等级: E0=无证据, E1=命令输出, E2=文件快照, E3=端到端验证 */
14
27
  export type EvidenceLevel = "E0" | "E1" | "E2" | "E3";
28
+ /** 证据条目 */
15
29
  export interface EvidenceItem {
30
+ /** 证据唯一标识 */
16
31
  id: string;
32
+ /** 证据等级 */
17
33
  level: EvidenceLevel;
34
+ /** 证据描述 */
18
35
  description: string;
36
+ /** 证据来源 */
19
37
  source: "command" | "file" | "runtime" | "static_analysis";
38
+ /** 产生证据的命令 */
20
39
  command?: string;
40
+ /** 是否通过 */
21
41
  passed: boolean;
42
+ /** 时间戳 */
22
43
  timestamp?: string;
23
44
  }
45
+ /** 覆盖率矩阵,统计 API/页面/流程的测试覆盖情况 */
24
46
  export interface CoverageMatrix {
47
+ /** API 覆盖率 */
25
48
  api_coverage: {
26
49
  total: number;
27
50
  tested: number;
28
51
  gaps: string[];
29
52
  };
53
+ /** 页面覆盖率 */
30
54
  page_coverage: {
31
55
  total: number;
32
56
  tested: number;
33
57
  gaps: string[];
34
58
  };
59
+ /** 流程覆盖率 */
35
60
  flow_coverage: {
36
61
  total: number;
37
62
  tested: number;
38
63
  gaps: string[];
39
64
  };
40
65
  }
66
+ /** 修复循环状态 */
41
67
  export interface RepairLoopState {
68
+ /** 当前尝试次数 */
42
69
  attempt: number;
70
+ /** 最大尝试次数 */
43
71
  max_attempts: number;
72
+ /** 发起阶段 */
44
73
  phase_origin: string;
74
+ /** 是否可自动修复 */
45
75
  auto_repairable: boolean;
76
+ /** 升级原因 */
46
77
  escalation_reason?: string;
78
+ /** 重复出现次数 */
47
79
  recurrence_count: number;
48
80
  }
81
+ /** 不确定性触发器,当存在歧义或多种方案时触发 */
49
82
  export interface UncertaintyTrigger {
83
+ /** 触发类型 */
50
84
  trigger_type: string;
85
+ /** 触发描述 */
51
86
  description: string;
87
+ /** 可选方案及其权衡 */
52
88
  options: Array<{
53
89
  label: string;
54
90
  tradeoff: string;
55
91
  }>;
92
+ /** 推荐方案 */
56
93
  recommendation: string;
57
94
  }
95
+ /** 审查角色: self_review=自审, peer_review=同行评审, gate_review=门禁评审 */
58
96
  export type ReviewRole = "self_review" | "peer_review" | "gate_review";
97
+ /** 争议条目,记录实现者与审查者的分歧 */
59
98
  export interface DisputeItem {
99
+ /** 发现 ID */
60
100
  finding_id: string;
101
+ /** 实现者立场 */
61
102
  implementer_position: string;
103
+ /** 审查者立场 */
62
104
  reviewer_position: string;
105
+ /** 解决方案 */
63
106
  resolution?: string;
64
107
  }
108
+ /** 阶段指令: continue_current=继续当前阶段, advance_next=推进下一阶段, repair_reverify=修复后重验, rework_upstream=回退上游, stop_escalate=停止并升级, completed=已完成 */
65
109
  export type PhaseDirective = "continue_current" | "advance_next" | "repair_reverify" | "rework_upstream" | "stop_escalate" | "completed";
110
+ /** 返工历史记录 */
66
111
  export interface ReworkHistory {
112
+ /** 来源阶段 */
67
113
  from_phase: string;
114
+ /** 目标阶段 */
68
115
  to_phase: string;
116
+ /** 返工原因 */
69
117
  reason: string;
118
+ /** 时间戳 */
70
119
  timestamp: string;
71
120
  }
121
+ /** 项目配置 */
72
122
  export interface ProjectConfig {
123
+ /** 配置 schema 版本 */
124
+ schema_version?: number;
125
+ /** 项目名称 */
73
126
  name: string;
127
+ /** 技术栈 */
74
128
  tech_stack: {
75
129
  backend: {
76
130
  lang: string;
@@ -83,642 +137,1196 @@ export interface ProjectConfig {
83
137
  version: string;
84
138
  };
85
139
  };
140
+ /** 产品画像 */
86
141
  product_profile: string;
142
+ /** 仓库配置列表 */
87
143
  repos: RepoConfig[];
144
+ /** 构建命令 */
88
145
  build_commands: {
89
146
  backend: BuildCommands;
90
147
  frontend: BuildCommands;
91
148
  };
149
+ /** 作用域范围 */
92
150
  scope: {
93
151
  backend: string[];
94
152
  frontend: string[];
95
153
  };
154
+ /** 约定文件路径 */
96
155
  conventions_file?: string;
156
+ /** 验证超时设置 */
97
157
  verify_timeout?: {
158
+ /** 构建超时(秒) */
98
159
  build: number;
160
+ /** 测试超时(秒) */
99
161
  test: number;
100
162
  };
163
+ /** 产品映射(功能点到模块的映射) */
101
164
  product_mapping?: Record<string, string>;
165
+ /** 脚手架配置 */
102
166
  scaffold?: {
167
+ /** 基础包名 */
103
168
  base_package?: string;
169
+ /** 模板名称 */
104
170
  templates?: string;
171
+ /** 自定义模板目录 */
105
172
  custom_templates_dir?: string;
106
173
  };
107
174
  /** @internal resolved at runtime, not from config file */
108
175
  _projectPath?: string;
109
176
  }
177
+ /** 构建命令配置 */
110
178
  export interface BuildCommands {
179
+ /** 构建命令 */
111
180
  build: string;
181
+ /** 测试命令 */
112
182
  test: string;
183
+ /** 全量构建(含测试)命令 */
113
184
  full: string;
114
185
  }
186
+ /** 仓库配置 */
115
187
  export interface RepoConfig {
188
+ /** 仓库名称 */
116
189
  name: string;
190
+ /** 仓库路径 */
117
191
  path: string;
192
+ /** 编程语言 */
118
193
  lang: string;
194
+ /** 框架 */
119
195
  framework: string;
196
+ /** 作用域路径列表 */
120
197
  scope: string[];
121
198
  }
199
+ /** 任务上下文,贯穿任务全生命周期的状态容器 */
122
200
  export interface TaskContext {
201
+ /** 任务唯一标识 */
123
202
  task_id: string;
203
+ /** 创建时间 (ISO 8601) */
124
204
  created_at: string;
205
+ /** 用户意图描述 */
125
206
  intent: string;
207
+ /** 产品画像 */
126
208
  product_profile: string;
209
+ /** 当前状态 */
127
210
  status: "classifying" | "expanding" | "executing" | "verifying" | "retrying" | "learning" | "reworking" | "done" | "failed";
211
+ /** 分类结果 */
128
212
  classification?: ClassifyResult;
213
+ /** 扩展结果 */
129
214
  expansion?: ExpandResult;
215
+ /** 执行状态 */
130
216
  execution?: {
217
+ /** 已变更文件列表 */
131
218
  changed_files: string[];
219
+ /** 已尝试次数 */
132
220
  attempt_count: number;
221
+ /** 最大尝试次数 */
133
222
  max_attempts: number;
223
+ /** 失败历史 */
134
224
  failure_history: FailureRecord[];
225
+ /** 修复循环状态 */
135
226
  repair_loop?: RepairLoopState;
136
227
  };
228
+ /** 验证结果 */
137
229
  verification?: VerifyResult;
230
+ /** 规划结果 */
138
231
  planning?: PlanResult;
232
+ /** 代码审查结果 */
139
233
  code_review?: CodeReviewResult;
234
+ /** 交付结果 */
140
235
  delivery?: DeliveryResult;
236
+ /** 当前阶段指令 */
141
237
  phase_directive?: PhaseDirective;
238
+ /** 返工历史 */
142
239
  rework_history?: ReworkHistory[];
143
240
  }
241
+ /** 失败记录 */
144
242
  export interface FailureRecord {
243
+ /** 尝试序号 */
145
244
  attempt: number;
245
+ /** 失败类型 */
146
246
  type: FailureType;
247
+ /** 失败信息 */
147
248
  message: string;
249
+ /** 失败时间戳 */
148
250
  timestamp: string;
251
+ /** 失败所处阶段 */
149
252
  phase?: string;
150
253
  }
254
+ /** 分类结果 */
151
255
  export interface ClassifyResult {
256
+ /** 任务类型 */
152
257
  task_type: TaskType;
258
+ /** 风险等级 */
153
259
  risk: Risk;
260
+ /** 复杂度 */
154
261
  complexity: Complexity;
262
+ /** 歧义度 */
155
263
  ambiguity: Ambiguity;
264
+ /** 受影响的仓库列表 */
156
265
  affected_repos: string[];
266
+ /** 执行模式: autonomous=自主, supervised=受监督, passthrough=直通 */
157
267
  mode: "autonomous" | "supervised" | "passthrough";
268
+ /** 执行策略: full_pipeline=完整流水线, quick_fix=快速修复, skip_soloForge=跳过 */
158
269
  strategy: "full_pipeline" | "quick_fix" | "skip_soloForge";
270
+ /** 澄清请求 */
159
271
  clarification?: {
272
+ /** 澄清摘要 */
160
273
  summary: string;
274
+ /** 待确认的问题列表 */
161
275
  questions?: string[];
162
276
  };
277
+ /** 执行层级 */
163
278
  execution_tier?: ExecutionTier;
279
+ /** 不确定性触发器列表 */
164
280
  uncertainty_triggers?: UncertaintyTrigger[];
165
281
  }
282
+ /** 扩展结果,包含完整的任务执行指令 */
166
283
  export interface ExpandResult {
284
+ /** 任务 ID */
167
285
  task_id: string;
286
+ /** 生成的 prompt */
168
287
  prompt: string;
288
+ /** 作用域结果 */
169
289
  scope: ScopeResult;
290
+ /** 验收条件 */
170
291
  acceptance: {
292
+ /** 自动化验收项 */
171
293
  automated: AcceptanceItem[];
294
+ /** 人工验收项 */
172
295
  manual: AcceptanceItem[];
173
296
  };
297
+ /** 匹配的模式列表 */
174
298
  matched_patterns: string[];
299
+ /** 匹配的知识条目列表 */
175
300
  matched_knowledge: string[];
301
+ /** 是否为遗留代码 */
176
302
  is_legacy_code: boolean;
303
+ /** 遗留代码约定 */
177
304
  legacy_conventions?: string[];
305
+ /** 是否降级执行 */
178
306
  degraded: boolean;
307
+ /** 执行契约 */
179
308
  contract?: ExecutionContract;
309
+ /** 不确定性触发器列表 */
180
310
  uncertainty_triggers?: UncertaintyTrigger[];
311
+ /** 置信度熔断结果(机制 1) */
312
+ circuit_breaker?: {
313
+ tripped: boolean;
314
+ confidence: number;
315
+ reason?: string;
316
+ brainstorm?: {
317
+ blind_spots: string[];
318
+ evolution_tracks: {
319
+ minimal: string;
320
+ industrial: string;
321
+ radical: string;
322
+ };
323
+ decision_questions: Array<{
324
+ question: string;
325
+ option_a: string;
326
+ option_b: string;
327
+ }>;
328
+ };
329
+ };
181
330
  }
331
+ /** 作用域结果 */
182
332
  export interface ScopeResult {
333
+ /** 允许修改的路径 */
183
334
  allowed_paths: string[];
335
+ /** 只读路径 */
184
336
  readonly_paths: string[];
337
+ /** 是否允许新建文件 */
185
338
  new_files_allowed: boolean;
339
+ /** 新文件命名模式 */
186
340
  new_file_patterns?: string[];
187
341
  }
342
+ /** 验收条目 */
188
343
  export interface AcceptanceItem {
344
+ /** 验收项 ID */
189
345
  id: string;
346
+ /** 验收描述 */
190
347
  description: string;
348
+ /** 验收类型 */
191
349
  type: "automated" | "manual";
350
+ /** 自动化检查命令 */
192
351
  check_command?: string;
193
352
  }
353
+ /** 作用域检查结果 */
194
354
  export interface ScopeCheckResult {
355
+ /** 是否允许通过 */
195
356
  allowed: boolean;
357
+ /** 原因说明 */
196
358
  reason?: string;
359
+ /** 是否包含敏感信息 */
197
360
  has_secrets: boolean;
361
+ /** 敏感信息详情 */
198
362
  secret_details?: Array<{
363
+ /** 文件路径 */
199
364
  file: string;
365
+ /** 行号 */
200
366
  line: number;
367
+ /** 敏感信息类型 */
201
368
  type: string;
202
369
  }>;
370
+ /** 严重程度: ok=正常, warning=警告, blocked=阻止 */
203
371
  severity: "ok" | "warning" | "blocked";
204
372
  }
373
+ /** 验证结果 */
205
374
  export interface VerifyResult {
375
+ /** 任务 ID */
206
376
  task_id: string;
377
+ /** 检查项分组 */
207
378
  checks: {
379
+ /** 构建检查命令列表 */
208
380
  build: VerifyCommand[];
381
+ /** 测试检查命令列表 */
209
382
  tests: VerifyCommand[];
383
+ /** 验收检查结果 */
210
384
  acceptance?: AcceptanceCheckResult[];
211
385
  };
386
+ /** 验证摘要 */
212
387
  summary: string;
388
+ /** 需人工确认的项 */
213
389
  manual_items: string[];
390
+ /** 证据条目列表 */
214
391
  evidence?: EvidenceItem[];
392
+ /** 覆盖率矩阵 */
215
393
  coverage?: CoverageMatrix;
394
+ /** 三重否定推演结果(机制 2) */
395
+ triple_negation?: {
396
+ crash_scenarios: string[];
397
+ mitigation_suggestions: string[];
398
+ audit_declaration: string;
399
+ passed: boolean;
400
+ };
216
401
  }
402
+ /** 验证命令 */
217
403
  export interface VerifyCommand {
404
+ /** 要执行的命令 */
218
405
  command: string;
406
+ /** 工作目录 */
219
407
  cwd: string;
408
+ /** 超时提示(毫秒) */
220
409
  timeout_hint: number;
410
+ /** 命令描述 */
221
411
  description: string;
222
412
  }
413
+ /** 验收检查结果 */
223
414
  export interface AcceptanceCheckResult {
415
+ /** 验收项 ID */
224
416
  id: string;
417
+ /** 验收描述 */
225
418
  description: string;
419
+ /** 检查命令 */
226
420
  check_command: string;
421
+ /** 工作目录 */
227
422
  cwd: string;
228
423
  }
424
+ /** 学习结果 */
229
425
  export interface LearnResult {
426
+ /** 任务 ID */
230
427
  task_id: string;
428
+ /** 是否产生新知识 */
231
429
  learned: boolean;
430
+ /** 新知识内容 */
232
431
  new_knowledge?: {
432
+ /** 知识类型 */
233
433
  type: "pattern" | "procedure" | "rule_upgrade" | "prompt_optimization" | "acceptance_supplement";
434
+ /** 知识内容 */
234
435
  content: string;
436
+ /** 适用范围 */
235
437
  scope: string[];
438
+ /** 适用产品 */
236
439
  products: string[];
237
440
  };
441
+ /** 置信度 (0-1) */
238
442
  confidence: number;
443
+ /** 状态: accepted=已接受, staged=暂存, skipped=跳过 */
239
444
  status: "accepted" | "staged" | "skipped";
445
+ /** 暂存路径 */
240
446
  staged_path?: string;
447
+ /** 重试提示 */
241
448
  retry_hint?: string;
242
449
  }
450
+ /** 失败分类结果 */
243
451
  export interface FailureClassifyResult {
452
+ /** 失败类型 */
244
453
  failure_type: FailureType;
454
+ /** 是否与上次相同错误 */
245
455
  is_same_error: boolean;
456
+ /** 剩余重试次数 */
246
457
  retry_remaining: number;
458
+ /** 建议动作: retry=重试, expand_scope=扩大范围, escalate=升级 */
247
459
  action: "retry" | "expand_scope" | "escalate";
460
+ /** 发起阶段 */
248
461
  phase_origin?: string;
462
+ /** 是否可自动修复 */
249
463
  auto_repairable?: boolean;
464
+ /** 升级原因 */
250
465
  escalation_reason?: string;
466
+ /** 重复出现次数 */
251
467
  recurrence_count?: number;
252
468
  }
469
+ /** 知识条目 */
253
470
  export interface KnowledgeEntry {
471
+ /** 知识唯一标识 */
254
472
  id: string;
473
+ /** 文件路径 */
255
474
  file_path: string;
475
+ /** 知识名称 */
256
476
  name: string;
477
+ /** 知识类型 */
257
478
  type: "pattern" | "procedure" | "domain" | "acceptance_template" | "review_rule" | "pipeline_procedure";
479
+ /** 触发条件 */
258
480
  when: string;
481
+ /** 知识正文 */
259
482
  body?: string;
483
+ /** 适用范围 */
260
484
  scope: string[];
485
+ /** 适用产品 */
261
486
  products: string[];
487
+ /** 适用技术栈 */
262
488
  tech_stack?: string;
489
+ /** 最后使用时间 */
263
490
  last_used_at?: string;
491
+ /** 创建时间 */
264
492
  created_at: string;
493
+ /** 更新时间 */
265
494
  updated_at: string;
495
+ /** 使用次数 */
266
496
  usage_count: number;
497
+ /** 置信度 (0-1) */
267
498
  confidence: number;
499
+ /** 状态: active=活跃, staged=暂存, deprecated=已废弃, pending_review=待审查 */
268
500
  status: "active" | "staged" | "deprecated" | "pending_review";
269
501
  }
502
+ /** 知识索引 */
270
503
  export interface KnowledgeIndex {
504
+ /** 索引版本 */
271
505
  version: number;
506
+ /** 构建时间 */
272
507
  built_at: string;
508
+ /** 全局知识条目 */
273
509
  global_entries: KnowledgeEntry[];
510
+ /** 项目级知识条目 */
274
511
  project_entries: KnowledgeEntry[];
275
512
  }
513
+ /** 子任务 */
276
514
  export interface SubTask {
515
+ /** 子任务 ID */
277
516
  id: string;
517
+ /** 标题 */
278
518
  title: string;
519
+ /** 详细描述 */
279
520
  description: string;
521
+ /** 子任务意图 */
280
522
  intent: string;
523
+ /** 依赖的子任务 ID 列表 */
281
524
  depends_on: string[];
525
+ /** 受影响的仓库列表 */
282
526
  affected_repos: string[];
527
+ /** 预估复杂度 */
283
528
  estimated_complexity: Complexity;
529
+ /** 输出模板 */
284
530
  output_template?: string;
531
+ /** 输出路径 */
285
532
  output_path?: string;
533
+ /** 建议使用的工具 */
286
534
  suggested_tools?: string[];
287
535
  }
536
+ /** 规划结果 */
288
537
  export interface PlanResult {
538
+ /** 任务 ID */
289
539
  task_id: string;
540
+ /** 原始意图 */
290
541
  original_intent: string;
542
+ /** 子任务列表 */
291
543
  sub_tasks: SubTask[];
544
+ /** 执行顺序(子任务 ID 列表) */
292
545
  execution_order: string[];
546
+ /** 可并行执行的分组 */
293
547
  parallel_groups: string[][];
548
+ /** 规划摘要 */
294
549
  summary: string;
550
+ /** 跳过原因(当不执行拆解时) */
295
551
  skipped_reason?: string;
552
+ /** 当前步骤索引 */
296
553
  current_step_index: number;
297
554
  }
555
+ /** 受影响的文件 */
298
556
  export interface ImpactFile {
557
+ /** 文件路径 */
299
558
  path: string;
559
+ /** 受影响原因 */
300
560
  reason: string;
561
+ /** 置信度: high=高, medium=中, low=低 */
301
562
  confidence: "high" | "medium" | "low";
302
563
  }
564
+ /** 影响分析结果 */
303
565
  export interface ImpactAnalysisResult {
566
+ /** 任务 ID */
304
567
  task_id: string;
568
+ /** 任务意图 */
305
569
  intent: string;
570
+ /** 受影响的文件列表 */
306
571
  affected_files: ImpactFile[];
572
+ /** 已声明的范围 */
307
573
  declared_scope: string[];
574
+ /** 范围外的受影响文件 */
308
575
  out_of_scope_files: ImpactFile[];
576
+ /** 当前作用域是否充足 */
309
577
  scope_sufficient: boolean;
578
+ /** 建议: proceed=继续, expand_scope=扩大范围, confirm=确认 */
310
579
  recommendation: "proceed" | "expand_scope" | "confirm";
580
+ /** 分析摘要 */
311
581
  summary: string;
582
+ /** 扩大范围的建议 */
312
583
  expand_suggestion?: string[];
313
584
  }
585
+ /** 审查维度: quality=质量, security=安全, performance=性能, debt=债务, architecture=架构 */
314
586
  export type ReviewDimension = "quality" | "security" | "performance" | "debt" | "architecture";
587
+ /** 审查严重程度: info=提示, warning=警告, critical=严重 */
315
588
  export type ReviewSeverity = "info" | "warning" | "critical";
589
+ /** 审查发现 */
316
590
  export interface ReviewFinding {
591
+ /** 发现 ID */
317
592
  id: string;
593
+ /** 文件路径 */
318
594
  file: string;
595
+ /** 行号 */
319
596
  line?: number;
597
+ /** 审查维度 */
320
598
  dimension: ReviewDimension;
599
+ /** 严重程度 */
321
600
  severity: ReviewSeverity;
601
+ /** 标题 */
322
602
  title: string;
603
+ /** 详细描述 */
323
604
  description: string;
605
+ /** 修改建议 */
324
606
  suggestion?: string;
607
+ /** 是否为技术债务 */
325
608
  is_debt: boolean;
326
609
  }
610
+ /** 代码审查结果 */
327
611
  export interface CodeReviewResult {
612
+ /** 任务 ID */
328
613
  task_id: string;
614
+ /** 发现列表 */
329
615
  findings: ReviewFinding[];
616
+ /** 摘要统计 */
330
617
  summary: {
618
+ /** 发现总数 */
331
619
  total: number;
620
+ /** 按维度统计 */
332
621
  by_dimension: Record<ReviewDimension, number>;
622
+ /** 按严重程度统计 */
333
623
  by_severity: Record<ReviewSeverity, number>;
624
+ /** 技术债务数量 */
334
625
  debt_items: number;
335
626
  };
627
+ /** 总体评估 */
336
628
  overall_assessment: string;
629
+ /** 跳过审查的原因 */
337
630
  skip_reason?: string;
631
+ /** 审查角色 */
338
632
  review_role?: ReviewRole;
633
+ /** 置信度调整值 */
339
634
  confidence_adjustment?: number;
635
+ /** 争议列表 */
340
636
  disputes?: DisputeItem[];
637
+ /** 不确定性违规项 */
341
638
  uncertainty_violations?: string[];
639
+ /** 是否已进行风险调整 */
342
640
  risk_adjusted?: boolean;
641
+ /** 认知减负路由汇总(机制 3) */
642
+ trust_classification?: {
643
+ white_box_count: number;
644
+ gray_box_count: number;
645
+ black_box_count: number;
646
+ recommendation: string;
647
+ };
343
648
  }
649
+ /** 技术债务条目 */
344
650
  export interface DebtItem {
651
+ /** 债务 ID */
345
652
  id: string;
653
+ /** 关联的任务 ID */
346
654
  task_id: string;
655
+ /** 文件路径 */
347
656
  file: string;
657
+ /** 行号 */
348
658
  line?: number;
659
+ /** 债务标题 */
349
660
  title: string;
661
+ /** 详细描述 */
350
662
  description: string;
663
+ /** 严重程度 */
351
664
  severity: ReviewSeverity;
665
+ /** 发现时间 */
352
666
  discovered_at: string;
667
+ /** 状态: open=未处理, acknowledged=已确认, resolved=已解决 */
353
668
  status: "open" | "acknowledged" | "resolved";
669
+ /** 解决时间 */
354
670
  resolved_at?: string;
671
+ /** 分类 */
355
672
  category?: "complexity" | "duplication" | "missing_test" | "outdated_dep" | "security" | "performance" | "other";
673
+ /** 修复工作量预估 */
356
674
  effort_estimate?: "small" | "medium" | "large";
675
+ /** 影响程度 */
357
676
  impact?: "low" | "medium" | "high";
358
677
  }
678
+ /** 脚手架文件 */
359
679
  export interface ScaffoldFile {
680
+ /** 文件路径 */
360
681
  path: string;
682
+ /** 文件内容 */
361
683
  content: string;
684
+ /** 文件描述 */
362
685
  description: string;
686
+ /** 是否为模板文件 */
363
687
  is_template: boolean;
688
+ /** 模板变量 */
364
689
  template_vars?: Record<string, string>;
365
690
  }
691
+ /** 脚手架生成结果 */
366
692
  export interface ScaffoldResult {
693
+ /** 任务 ID */
367
694
  task_id: string;
695
+ /** 模块名称 */
368
696
  module_name: string;
697
+ /** 生成的文件列表 */
369
698
  files: ScaffoldFile[];
699
+ /** 生成摘要 */
370
700
  summary: string;
701
+ /** 生成文件总数 */
371
702
  total_files: number;
703
+ /** 警告信息列表 */
372
704
  warnings: string[];
373
705
  }
706
+ /** 交付动作类型: commit=提交, push=推送, pr=创建PR, changelog=生成变更日志 */
374
707
  export type DeliveryAction = "commit" | "push" | "pr" | "changelog";
708
+ /** 交付配置 */
375
709
  export interface DeliveryConfig {
710
+ /** 是否自动提交 */
376
711
  auto_commit: boolean;
712
+ /** 是否自动推送 */
377
713
  auto_push: boolean;
714
+ /** 是否自动创建 PR */
378
715
  auto_pr: boolean;
716
+ /** PR 标签列表 */
379
717
  pr_labels: string[];
718
+ /** 是否需要审批 */
380
719
  require_approval: boolean;
381
720
  }
721
+ /** 交付结果 */
382
722
  export interface DeliveryResult {
723
+ /** 任务 ID */
383
724
  task_id: string;
725
+ /** 已执行的交付动作 */
384
726
  actions_performed: DeliveryAction[];
727
+ /** 提交哈希 */
385
728
  commit_hash?: string;
729
+ /** 提交信息 */
386
730
  commit_message: string;
731
+ /** 分支名 */
387
732
  branch: string;
733
+ /** PR 链接 */
388
734
  pr_url?: string;
735
+ /** 变更日志 */
389
736
  changelog?: string;
737
+ /** 跳过的动作及原因 */
390
738
  skipped_actions: Array<{
391
739
  action: DeliveryAction;
392
740
  reason: string;
393
741
  }>;
742
+ /** 错误信息列表 */
394
743
  errors: string[];
395
744
  }
745
+ /** 变更日志条目 */
396
746
  export interface ChangelogEntry {
747
+ /** 变更类型: feat=新功能, fix=修复, refactor=重构, test=测试, docs=文档, chore=杂项 */
397
748
  type: "feat" | "fix" | "refactor" | "test" | "docs" | "chore";
749
+ /** 影响范围 */
398
750
  scope: string;
751
+ /** 变更描述 */
399
752
  description: string;
753
+ /** 关联任务 ID */
400
754
  task_id: string;
401
755
  }
756
+ /** 冲突风险等级: none=无, low=低, medium=中, high=高 */
402
757
  export type ConflictRisk = "none" | "low" | "medium" | "high";
758
+ /** 冲突警告 */
403
759
  export interface ConflictWarning {
760
+ /** 文件路径 */
404
761
  file: string;
762
+ /** 冲突风险 */
405
763
  risk: ConflictRisk;
764
+ /** 原因说明 */
406
765
  reason: string;
766
+ /** 冲突分支 */
407
767
  other_branch?: string;
768
+ /** 其他作者 */
408
769
  other_author?: string;
409
770
  }
771
+ /** 跨仓库关联提示 */
410
772
  export interface CrossRepoHint {
773
+ /** 仓库 A */
411
774
  repo_a: string;
775
+ /** 仓库 B */
412
776
  repo_b: string;
777
+ /** 共享契约 */
413
778
  shared_contract: string;
779
+ /** 关联描述 */
414
780
  description: string;
415
781
  }
782
+ /** 变更协调检查结果 */
416
783
  export interface CoordinationCheckResult {
784
+ /** 当前分支 */
417
785
  branch: string;
786
+ /** 本地变更文件列表 */
418
787
  local_changes: string[];
788
+ /** 冲突警告列表 */
419
789
  conflict_warnings: ConflictWarning[];
790
+ /** 跨仓库关联提示 */
420
791
  cross_repo_hints: CrossRepoHint[];
792
+ /** 领先 main 的提交数 */
421
793
  commits_ahead: number;
794
+ /** main 分支是否过期警告 */
422
795
  stale_main_warning: boolean;
796
+ /** 检查摘要 */
423
797
  summary: string;
424
798
  }
799
+ /** 团队活动条目 */
425
800
  export interface TeamActivityEntry {
801
+ /** 作者 */
426
802
  author: string;
803
+ /** 日期 */
427
804
  date: string;
805
+ /** 提交信息 */
428
806
  message: string;
807
+ /** 短哈希 */
429
808
  short_hash: string;
809
+ /** 变更文件数 */
430
810
  files_changed: number;
431
811
  }
812
+ /** 团队成员工作负载 */
432
813
  export interface TeamMemberWorkload {
814
+ /** 作者 */
433
815
  author: string;
816
+ /** 提交次数 */
434
817
  commit_count: number;
818
+ /** 活跃文件列表 */
435
819
  active_files: string[];
820
+ /** 最后活跃时间 */
436
821
  last_active: string;
437
822
  }
823
+ /** 团队状态结果 */
438
824
  export interface TeamStatusResult {
825
+ /** 活动动态列表 */
439
826
  activity_feed: TeamActivityEntry[];
827
+ /** 成员工作负载列表 */
440
828
  member_workloads: TeamMemberWorkload[];
829
+ /** 近期知识更新 */
441
830
  recent_knowledge: Array<{
442
831
  name: string;
443
832
  type: string;
444
833
  updated: string;
445
834
  }>;
835
+ /** 过期分支列表 */
446
836
  stale_branches: Array<{
447
837
  name: string;
448
838
  last_commit_date: string;
449
839
  }>;
840
+ /** 状态摘要 */
450
841
  summary: string;
451
842
  }
843
+ /** 契约变更类型 */
452
844
  export type ContractChangeType = "path_added" | "path_removed" | "method_changed" | "field_added" | "field_removed" | "field_type_changed";
845
+ /** 契约变更严重程度: breaking=破坏性, compatible=兼容 */
453
846
  export type ContractChangeSeverity = "breaking" | "compatible";
847
+ /** 契约变更条目 */
454
848
  export interface ContractChange {
849
+ /** 文件路径 */
455
850
  file: string;
851
+ /** 变更类型 */
456
852
  change_type: ContractChangeType;
853
+ /** 严重程度 */
457
854
  severity: ContractChangeSeverity;
855
+ /** 变更描述 */
458
856
  description: string;
857
+ /** 变更前内容 */
459
858
  before?: string;
859
+ /** 变更后内容 */
460
860
  after?: string;
461
861
  }
862
+ /** 契约检查结果 */
462
863
  export interface ContractCheckResult {
864
+ /** 变更列表 */
463
865
  changes: ContractChange[];
866
+ /** 破坏性变更数量 */
464
867
  breaking_count: number;
868
+ /** 兼容变更数量 */
465
869
  compatible_count: number;
870
+ /** 跨服务影响 */
466
871
  cross_service_impact: Array<{
467
872
  service: string;
468
873
  endpoints: string[];
469
874
  }>;
875
+ /** 是否需要审查 */
470
876
  requires_review: boolean;
877
+ /** 检查摘要 */
471
878
  summary: string;
472
879
  }
880
+ /** 引导步骤: project_overview=项目概览, code_tour=代码漫游, knowledge_review=知识复习, first_task=首个任务 */
473
881
  export type OnboardingStep = "project_overview" | "code_tour" | "knowledge_review" | "first_task";
882
+ /** 代码漫游条目 */
474
883
  export interface CodeTourItem {
884
+ /** 文件路径 */
475
885
  path: string;
886
+ /** 描述说明 */
476
887
  description: string;
477
888
  }
889
+ /** 引导结果 */
478
890
  export interface OnboardingResult {
891
+ /** 当前步骤 */
479
892
  current_step: OnboardingStep;
893
+ /** 已完成的步骤 */
480
894
  completed_steps: OnboardingStep[];
895
+ /** 项目概览 */
481
896
  project_overview?: {
897
+ /** 项目名称 */
482
898
  name: string;
899
+ /** 技术栈 */
483
900
  tech_stack: string;
901
+ /** 仓库列表 */
484
902
  repos: Array<{
485
903
  name: string;
486
904
  lang: string;
487
905
  framework: string;
488
906
  }>;
907
+ /** 编码约定 */
489
908
  conventions: string[];
490
909
  };
910
+ /** 代码漫游 */
491
911
  code_tour?: {
912
+ /** 关键模块 */
492
913
  key_modules: CodeTourItem[];
914
+ /** 入口文件 */
493
915
  entry_points: string[];
494
916
  };
917
+ /** 知识摘要 */
495
918
  knowledge_summary?: {
919
+ /** 知识总数 */
496
920
  total: number;
921
+ /** 模式数量 */
497
922
  patterns: number;
923
+ /** 流程数量 */
498
924
  procedures: number;
925
+ /** 关键主题 */
499
926
  key_topics: string[];
500
927
  };
928
+ /** 首个任务建议 */
501
929
  first_task_suggestion?: {
930
+ /** 任务意图 */
502
931
  intent: string;
932
+ /** 推荐原因 */
503
933
  reason: string;
934
+ /** 难度 */
504
935
  difficulty: Complexity;
505
936
  };
937
+ /** 下一步操作提示 */
506
938
  next_action_hint: string;
507
939
  }
940
+ /** 可行性等级: feasible=可行, risky=有风险, infeasible=不可行 */
508
941
  export type FeasibilityLevel = "feasible" | "risky" | "infeasible";
942
+ /** 可行性评估结果 */
509
943
  export interface FeasibilityResult {
944
+ /** 可行性等级 */
510
945
  level: FeasibilityLevel;
946
+ /** 原因列表 */
511
947
  reasons: string[];
948
+ /** 建议列表 */
512
949
  recommendations: string[];
950
+ /** 是否被阻止 */
513
951
  blocked: false;
514
952
  }
953
+ /** 解析后的错误信息 */
515
954
  export interface ParsedError {
955
+ /** 错误类型: compilation=编译错误, test_failure=测试失败, runtime=运行时错误, unknown=未知 */
516
956
  error_type: "compilation" | "test_failure" | "runtime" | "unknown";
957
+ /** 出错文件 */
517
958
  file?: string;
959
+ /** 出错行号 */
518
960
  line?: number;
961
+ /** 错误信息 */
519
962
  message: string;
963
+ /** 调用栈帧 */
520
964
  stack_frames: string[];
521
965
  }
966
+ /** 调用链条目 */
522
967
  export interface CallChainItem {
968
+ /** 文件路径 */
523
969
  file: string;
970
+ /** 函数名 */
524
971
  function?: string;
972
+ /** 行号 */
525
973
  line?: number;
526
974
  }
975
+ /** 根因分析 */
527
976
  export interface RootCauseAnalysis {
977
+ /** 失败类型 */
528
978
  failure_type: FailureType;
979
+ /** 发起阶段 */
529
980
  phase_origin?: string;
981
+ /** 分析摘要 */
530
982
  summary: string;
983
+ /** 置信度 (0-1) */
531
984
  confidence: number;
532
985
  }
986
+ /** 修复方案建议 */
533
987
  export interface FixProposal {
988
+ /** 修复描述 */
534
989
  description: string;
990
+ /** 需检查的文件列表 */
535
991
  files_to_check: string[];
992
+ /** 修复方法 */
536
993
  approach: string;
994
+ /** 修复风险 */
537
995
  risk: Risk;
538
996
  }
997
+ /** 测试补充建议 */
539
998
  export interface TestSuggestion {
999
+ /** 测试场景 */
540
1000
  scenario: string;
1001
+ /** 覆盖范围 */
541
1002
  covers: string;
1003
+ /** 优先级 */
542
1004
  priority: "high" | "medium" | "low";
543
1005
  }
1006
+ /** 调试会话 */
544
1007
  export interface DebugSession {
1008
+ /** 任务 ID */
545
1009
  task_id: string;
1010
+ /** 原始错误输出 */
546
1011
  error_output: string;
1012
+ /** 解析后的错误 */
547
1013
  parsed_error: ParsedError;
1014
+ /** 调用链 */
548
1015
  call_chain: CallChainItem[];
1016
+ /** 根因分析 */
549
1017
  root_cause: RootCauseAnalysis;
1018
+ /** 修复方案 */
550
1019
  fix_proposal: FixProposal;
1020
+ /** 测试补充建议列表 */
551
1021
  test_supplement: TestSuggestion[];
552
1022
  }
1023
+ /** 指标快照 */
553
1024
  export interface MetricsSnapshot {
1025
+ /** 采集时间戳 */
554
1026
  timestamp: string;
1027
+ /** 任务总数 */
555
1028
  total_tasks: number;
1029
+ /** 通过率 */
556
1030
  pass_rate: number;
1031
+ /** 重试率 */
557
1032
  retry_rate: number;
1033
+ /** 平均执行耗时(毫秒) */
558
1034
  avg_duration_ms: number;
1035
+ /** 知识命中率 */
559
1036
  knowledge_hit_rate: number;
560
1037
  }
1038
+ /** 告警条目 */
561
1039
  export interface AlertItem {
1040
+ /** 告警级别: warning=警告, critical=严重 */
562
1041
  level: "warning" | "critical";
1042
+ /** 指标名称 */
563
1043
  metric: string;
1044
+ /** 当前值 */
564
1045
  current: number;
1046
+ /** 阈值 */
565
1047
  threshold: number;
1048
+ /** 告警信息 */
566
1049
  message: string;
567
1050
  }
1051
+ /** 可观测性报告 */
568
1052
  export interface ObservabilityReport {
1053
+ /** 报告周期 */
569
1054
  period: {
570
1055
  start: string;
571
1056
  end: string;
572
1057
  };
1058
+ /** 当前快照 */
573
1059
  snapshot: MetricsSnapshot;
1060
+ /** 告警列表 */
574
1061
  alerts: AlertItem[];
1062
+ /** 趋势数据 */
575
1063
  trends: Array<{
576
1064
  metric: string;
577
1065
  values: number[];
578
1066
  }>;
1067
+ /** 报告摘要 */
579
1068
  summary: string;
580
1069
  }
1070
+ /** 降级级别: full=完整功能, partial=部分降级, minimal=最小可用 */
581
1071
  export type DegradationLevel = "full" | "partial" | "minimal";
1072
+ /** 降级状态 */
582
1073
  export interface DegradationStatus {
1074
+ /** 组件名称 */
583
1075
  component: string;
1076
+ /** 降级级别 */
584
1077
  level: DegradationLevel;
1078
+ /** 降级原因 */
585
1079
  reason: string;
1080
+ /** 降级起始时间 */
586
1081
  since: string;
587
1082
  }
1083
+ /** 追溯子任务 */
588
1084
  export interface TraceSubTask {
1085
+ /** 子任务 ID */
589
1086
  id: string;
1087
+ /** 子任务标题 */
590
1088
  title: string;
1089
+ /** 变更文件列表 */
591
1090
  changed_files: string[];
1091
+ /** 测试覆盖程度: full=完整, partial=部分, none=无 */
592
1092
  test_coverage: "full" | "partial" | "none";
1093
+ /** 审查状态: passed=通过, issues=有问题, skipped=跳过 */
593
1094
  review_status: "passed" | "issues" | "skipped";
1095
+ /** 是否已验证 */
594
1096
  verified: boolean;
595
1097
  }
1098
+ /** 需求追溯链 */
596
1099
  export interface TraceabilityChain {
1100
+ /** 任务 ID */
597
1101
  task_id: string;
1102
+ /** 原始意图 */
598
1103
  intent: string;
1104
+ /** 子任务追溯列表 */
599
1105
  sub_tasks: TraceSubTask[];
1106
+ /** 覆盖情况 */
600
1107
  coverage: {
1108
+ /** 子任务总数 */
601
1109
  total_subtasks: number;
1110
+ /** 已覆盖数 */
602
1111
  covered: number;
1112
+ /** 覆盖缺口 */
603
1113
  gaps: string[];
604
1114
  };
1115
+ /** 追溯摘要 */
605
1116
  summary: string;
606
1117
  }
1118
+ /** 架构决策记录草稿 */
607
1119
  export interface ADRDraft {
1120
+ /** ADR ID */
608
1121
  id: string;
1122
+ /** 标题 */
609
1123
  title: string;
1124
+ /** 状态(始终为 draft) */
610
1125
  status: "draft";
1126
+ /** 背景上下文 */
611
1127
  context: string;
1128
+ /** 决策内容 */
612
1129
  decision: string;
1130
+ /** 决策后果 */
613
1131
  consequences: string;
1132
+ /** 关联任务 */
614
1133
  related_task: string;
1134
+ /** 检测到的变更 */
615
1135
  detected_changes: string[];
1136
+ /** 创建时间 */
616
1137
  created_at: string;
617
1138
  }
1139
+ /** 迁移语句 */
618
1140
  export interface MigrationStatement {
1141
+ /** 行号 */
619
1142
  line: number;
1143
+ /** 语句类型 */
620
1144
  type: string;
1145
+ /** 涉及的表 */
621
1146
  table?: string;
1147
+ /** 风险等级: safe=安全, warning=警告, critical=危险 */
622
1148
  risk: "safe" | "warning" | "critical";
1149
+ /** 描述说明 */
623
1150
  description: string;
624
1151
  }
1152
+ /** 迁移分析结果 */
625
1153
  export interface MigrationAnalysis {
1154
+ /** 迁移文件路径 */
626
1155
  file: string;
1156
+ /** 整体风险等级 */
627
1157
  risk_level: "safe" | "warning" | "critical";
1158
+ /** 语句分析列表 */
628
1159
  statements: MigrationStatement[];
1160
+ /** 回滚建议 */
629
1161
  rollback_suggestions: string[];
1162
+ /** 分析摘要 */
630
1163
  summary: string;
631
1164
  }
1165
+ /** 测试场景 */
632
1166
  export interface TestScenario {
1167
+ /** 场景名称 */
633
1168
  name: string;
1169
+ /** 前置条件 */
634
1170
  given: string;
1171
+ /** 执行操作 */
635
1172
  when: string;
1173
+ /** 预期结果 */
636
1174
  then: string;
1175
+ /** 优先级 */
637
1176
  priority: "high" | "medium" | "low";
638
1177
  }
1178
+ /** 测试生成指南 */
639
1179
  export interface TestGenGuide {
1180
+ /** 源文件路径 */
640
1181
  source_file: string;
1182
+ /** 测试类型: unit=单元测试, integration=集成测试, e2e=端到端测试 */
641
1183
  test_type: "unit" | "integration" | "e2e";
1184
+ /** 建议的测试文件路径 */
642
1185
  test_file_suggestion: string;
1186
+ /** 测试场景列表 */
643
1187
  scenarios: TestScenario[];
1188
+ /** 所需的测试夹具 */
644
1189
  fixtures_needed: string[];
1190
+ /** 需要模拟的依赖点 */
645
1191
  mock_points: string[];
646
1192
  }
1193
+ /** 测试质量检查项 */
647
1194
  export interface TestQualityCheck {
1195
+ /** 检查维度: assertion_density=断言密度, boundary_coverage=边界覆盖, naming=命名规范, duplication=重复度, scenario_coverage=场景覆盖 */
648
1196
  dimension: "assertion_density" | "boundary_coverage" | "naming" | "duplication" | "scenario_coverage";
1197
+ /** 是否通过 */
649
1198
  passed: boolean;
1199
+ /** 详细说明 */
650
1200
  detail: string;
651
1201
  }
1202
+ /** 测试质量报告 */
652
1203
  export interface TestQualityReport {
1204
+ /** 测试文件路径 */
653
1205
  file: string;
1206
+ /** 质量评分 (0-100) */
654
1207
  score: number;
1208
+ /** 检查项列表 */
655
1209
  checks: TestQualityCheck[];
1210
+ /** 改进建议 */
656
1211
  suggestions: string[];
657
1212
  }
1213
+ /** 漏洞条目 */
658
1214
  export interface VulnerabilityItem {
1215
+ /** 包名 */
659
1216
  package: string;
1217
+ /** 已安装版本 */
660
1218
  installed_version: string;
1219
+ /** 严重程度 */
661
1220
  severity: "low" | "medium" | "high" | "critical";
1221
+ /** 漏洞描述 */
662
1222
  issue: string;
1223
+ /** 修复版本 */
663
1224
  fixed_in: string;
664
1225
  }
1226
+ /** 依赖扫描结果 */
665
1227
  export interface DependencyScanResult {
1228
+ /** 扫描的依赖文件 */
666
1229
  file: string;
1230
+ /** 扫描的依赖数量 */
667
1231
  dependencies_scanned: number;
1232
+ /** 发现的漏洞列表 */
668
1233
  vulnerabilities: VulnerabilityItem[];
1234
+ /** 未锁定版本的依赖列表 */
669
1235
  unscoped_versions: string[];
1236
+ /** 扫描摘要 */
670
1237
  summary: string;
671
1238
  }
1239
+ /** 技术债务报告 */
672
1240
  export interface DebtReport {
1241
+ /** 未解决债务总数 */
673
1242
  total_open: number;
1243
+ /** 按分类统计 */
674
1244
  by_category: Record<string, number>;
1245
+ /** 按严重程度统计 */
675
1246
  by_severity: Record<string, number>;
1247
+ /** 最老债务天数 */
676
1248
  oldest_debt_days: number;
1249
+ /** 近 30 天趋势 */
677
1250
  trend_30d: {
678
1251
  created: number;
679
1252
  resolved: number;
680
1253
  net: number;
681
1254
  };
1255
+ /** 高优先级债务列表 */
682
1256
  top_priority: DebtItem[];
1257
+ /** 报告摘要 */
683
1258
  summary: string;
684
1259
  }
1260
+ /** 工作区产品 */
685
1261
  export interface WorkspaceProduct {
1262
+ /** 产品名称 */
686
1263
  name: string;
1264
+ /** 产品画像 */
687
1265
  profile: string;
1266
+ /** 关联路径 */
688
1267
  paths: string[];
1268
+ /** 知识作用域: isolated=隔离, shared=共享 */
689
1269
  knowledge_scope: "isolated" | "shared";
690
1270
  }
1271
+ /** 工作区配置 */
691
1272
  export interface WorkspaceConfig {
1273
+ /** 产品列表 */
692
1274
  products: WorkspaceProduct[];
1275
+ /** 共享知识列表 */
693
1276
  shared_knowledge: string[];
694
1277
  }
1278
+ /** 成本预算 */
695
1279
  export interface CostBudget {
1280
+ /** 每日 token 限制 */
696
1281
  daily_token_limit: number;
1282
+ /** 每周 token 限制 */
697
1283
  weekly_token_limit: number;
1284
+ /** 每月 token 限制 */
698
1285
  monthly_token_limit: number;
699
1286
  }
1287
+ /** 成本告警 */
700
1288
  export interface CostAlert {
1289
+ /** 告警级别: warning=警告, critical=严重 */
701
1290
  level: "warning" | "critical";
1291
+ /** 统计周期: daily=每日, weekly=每周, monthly=每月 */
702
1292
  period: "daily" | "weekly" | "monthly";
1293
+ /** 已使用量 */
703
1294
  used: number;
1295
+ /** 限制量 */
704
1296
  limit: number;
1297
+ /** 告警信息 */
705
1298
  message: string;
706
1299
  }
1300
+ /** Prompt 实验配置 */
707
1301
  export interface PromptExperiment {
1302
+ /** 实验 ID */
708
1303
  id: string;
1304
+ /** 关联的知识条目 */
709
1305
  knowledge_entry: string;
1306
+ /** 变体 A (原始 prompt) */
710
1307
  variant_a: string;
1308
+ /** 变体 B (优化 prompt) */
711
1309
  variant_b: string;
1310
+ /** 评估指标列表 */
712
1311
  metrics: string[];
1312
+ /** 实验状态: draft=草稿, running=运行中, completed=已完成 */
713
1313
  status: "draft" | "running" | "completed";
1314
+ /** 创建时间 */
714
1315
  created_at: string;
715
1316
  }
1317
+ /** 实验结果 */
716
1318
  export interface ExperimentResult {
1319
+ /** 实验 ID */
717
1320
  experiment_id: string;
1321
+ /** 变体 A 指标 */
718
1322
  variant_a_metrics: Record<string, number>;
1323
+ /** 变体 B 指标 */
719
1324
  variant_b_metrics: Record<string, number>;
1325
+ /** 获胜方: a=A 胜, b=B 胜, inconclusive=无定论 */
720
1326
  winner: "a" | "b" | "inconclusive";
1327
+ /** 置信度 (0-1) */
721
1328
  confidence: number;
1329
+ /** 结果摘要 */
722
1330
  summary: string;
723
1331
  }
724
1332
  //# sourceMappingURL=types.d.ts.map