soloforge 1.0.0 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -1
- package/dist/adapters/claude_code/claude_md.d.ts +1 -2
- package/dist/adapters/claude_code/claude_md.d.ts.map +1 -1
- package/dist/adapters/claude_code/claude_md.js +2 -76
- package/dist/adapters/claude_code/claude_md.js.map +1 -1
- package/dist/adapters/claude_code/server.d.ts +16 -0
- package/dist/adapters/claude_code/server.d.ts.map +1 -1
- package/dist/adapters/claude_code/server.js +17 -1
- package/dist/adapters/claude_code/server.js.map +1 -1
- package/dist/adapters/claude_code/tools.d.ts +32 -1
- package/dist/adapters/claude_code/tools.d.ts.map +1 -1
- package/dist/adapters/claude_code/tools.js +65 -30
- package/dist/adapters/claude_code/tools.js.map +1 -1
- package/dist/adapters/codex/codex_config.d.ts +3 -0
- package/dist/adapters/codex/codex_config.d.ts.map +1 -0
- package/dist/adapters/codex/codex_config.js +51 -0
- package/dist/adapters/codex/codex_config.js.map +1 -0
- package/dist/adapters/codex/codex_rules.d.ts +2 -0
- package/dist/adapters/codex/codex_rules.d.ts.map +1 -0
- package/dist/adapters/codex/codex_rules.js +5 -0
- package/dist/adapters/codex/codex_rules.js.map +1 -0
- package/dist/adapters/shared/workflow_template.d.ts +3 -0
- package/dist/adapters/shared/workflow_template.d.ts.map +1 -0
- package/dist/adapters/shared/workflow_template.js +78 -0
- package/dist/adapters/shared/workflow_template.js.map +1 -0
- package/dist/adapters/trae/trae_rules.d.ts +1 -2
- package/dist/adapters/trae/trae_rules.d.ts.map +1 -1
- package/dist/adapters/trae/trae_rules.js +2 -75
- package/dist/adapters/trae/trae_rules.js.map +1 -1
- package/dist/bin/soloforge.js +146 -22
- package/dist/bin/soloforge.js.map +1 -1
- package/dist/engine/change_coordinator.d.ts +20 -5
- package/dist/engine/change_coordinator.d.ts.map +1 -1
- package/dist/engine/change_coordinator.js +36 -22
- package/dist/engine/change_coordinator.js.map +1 -1
- package/dist/engine/classifier.d.ts +7 -0
- package/dist/engine/classifier.d.ts.map +1 -1
- package/dist/engine/classifier.js +75 -3
- package/dist/engine/classifier.js.map +1 -1
- package/dist/engine/code_reviewer.d.ts +37 -1
- package/dist/engine/code_reviewer.d.ts.map +1 -1
- package/dist/engine/code_reviewer.js +126 -24
- package/dist/engine/code_reviewer.js.map +1 -1
- package/dist/engine/confidence_scorer.d.ts +21 -0
- package/dist/engine/confidence_scorer.d.ts.map +1 -1
- package/dist/engine/confidence_scorer.js +19 -6
- package/dist/engine/confidence_scorer.js.map +1 -1
- package/dist/engine/contract_guard.d.ts +23 -0
- package/dist/engine/contract_guard.d.ts.map +1 -1
- package/dist/engine/contract_guard.js +152 -43
- package/dist/engine/contract_guard.js.map +1 -1
- package/dist/engine/convention_detector.d.ts +20 -0
- package/dist/engine/convention_detector.d.ts.map +1 -1
- package/dist/engine/convention_detector.js +19 -1
- package/dist/engine/convention_detector.js.map +1 -1
- package/dist/engine/debt_reporter.d.ts +5 -0
- package/dist/engine/debt_reporter.d.ts.map +1 -1
- package/dist/engine/debt_reporter.js +30 -6
- package/dist/engine/debt_reporter.js.map +1 -1
- package/dist/engine/debt_tracker.d.ts +52 -0
- package/dist/engine/debt_tracker.d.ts.map +1 -1
- package/dist/engine/debt_tracker.js +66 -1
- package/dist/engine/debt_tracker.js.map +1 -1
- package/dist/engine/debugger.d.ts +9 -0
- package/dist/engine/debugger.d.ts.map +1 -1
- package/dist/engine/debugger.js +112 -20
- package/dist/engine/debugger.js.map +1 -1
- package/dist/engine/delivery.d.ts +27 -0
- package/dist/engine/delivery.d.ts.map +1 -1
- package/dist/engine/delivery.js +67 -13
- package/dist/engine/delivery.js.map +1 -1
- package/dist/engine/dependency_scanner.d.ts +5 -8
- package/dist/engine/dependency_scanner.d.ts.map +1 -1
- package/dist/engine/dependency_scanner.js +46 -29
- package/dist/engine/dependency_scanner.js.map +1 -1
- package/dist/engine/evolver.d.ts +54 -0
- package/dist/engine/evolver.d.ts.map +1 -1
- package/dist/engine/evolver.js +159 -6
- package/dist/engine/evolver.js.map +1 -1
- package/dist/engine/exploration.d.ts +114 -0
- package/dist/engine/exploration.d.ts.map +1 -0
- package/dist/engine/exploration.js +414 -0
- package/dist/engine/exploration.js.map +1 -0
- package/dist/engine/failure_classifier.d.ts +28 -0
- package/dist/engine/failure_classifier.d.ts.map +1 -1
- package/dist/engine/failure_classifier.js +51 -5
- package/dist/engine/failure_classifier.js.map +1 -1
- package/dist/engine/git_deps.d.ts +29 -0
- package/dist/engine/git_deps.d.ts.map +1 -1
- package/dist/engine/git_deps.js +1 -0
- package/dist/engine/git_deps.js.map +1 -1
- package/dist/engine/impact_analyzer.d.ts +17 -0
- package/dist/engine/impact_analyzer.d.ts.map +1 -1
- package/dist/engine/impact_analyzer.js +76 -4
- package/dist/engine/impact_analyzer.js.map +1 -1
- package/dist/engine/intent_expander.d.ts +58 -0
- package/dist/engine/intent_expander.d.ts.map +1 -1
- package/dist/engine/intent_expander.js +173 -1
- package/dist/engine/intent_expander.js.map +1 -1
- package/dist/engine/migration_guard.d.ts +6 -0
- package/dist/engine/migration_guard.d.ts.map +1 -1
- package/dist/engine/migration_guard.js +26 -7
- package/dist/engine/migration_guard.js.map +1 -1
- package/dist/engine/observability.d.ts +31 -7
- package/dist/engine/observability.d.ts.map +1 -1
- package/dist/engine/observability.js +88 -28
- package/dist/engine/observability.js.map +1 -1
- package/dist/engine/onboarding.d.ts +41 -1
- package/dist/engine/onboarding.d.ts.map +1 -1
- package/dist/engine/onboarding.js +83 -8
- package/dist/engine/onboarding.js.map +1 -1
- package/dist/engine/scaffolder.d.ts +10 -0
- package/dist/engine/scaffolder.d.ts.map +1 -1
- package/dist/engine/scaffolder.js +55 -10
- package/dist/engine/scaffolder.js.map +1 -1
- package/dist/engine/scope_controller.d.ts +13 -0
- package/dist/engine/scope_controller.d.ts.map +1 -1
- package/dist/engine/scope_controller.js +76 -12
- package/dist/engine/scope_controller.js.map +1 -1
- package/dist/engine/task_context.d.ts +124 -0
- package/dist/engine/task_context.d.ts.map +1 -1
- package/dist/engine/task_context.js +155 -7
- package/dist/engine/task_context.js.map +1 -1
- package/dist/engine/task_planner.d.ts +17 -0
- package/dist/engine/task_planner.d.ts.map +1 -1
- package/dist/engine/task_planner.js +51 -4
- package/dist/engine/task_planner.js.map +1 -1
- package/dist/engine/team_awareness.d.ts +17 -0
- package/dist/engine/team_awareness.d.ts.map +1 -1
- package/dist/engine/team_awareness.js +29 -11
- package/dist/engine/team_awareness.js.map +1 -1
- package/dist/engine/test_generator.d.ts +5 -4
- package/dist/engine/test_generator.d.ts.map +1 -1
- package/dist/engine/test_generator.js +22 -5
- package/dist/engine/test_generator.js.map +1 -1
- package/dist/engine/test_quality.d.ts +11 -4
- package/dist/engine/test_quality.d.ts.map +1 -1
- package/dist/engine/test_quality.js +171 -14
- package/dist/engine/test_quality.js.map +1 -1
- package/dist/engine/verifier.d.ts +41 -0
- package/dist/engine/verifier.d.ts.map +1 -1
- package/dist/engine/verifier.js +110 -1
- package/dist/engine/verifier.js.map +1 -1
- package/dist/git/operations.d.ts +1 -0
- package/dist/git/operations.d.ts.map +1 -1
- package/dist/git/operations.js +3 -0
- package/dist/git/operations.js.map +1 -1
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +14 -0
- package/dist/index.js.map +1 -1
- package/dist/knowledge/index_manager.d.ts +7 -1
- package/dist/knowledge/index_manager.d.ts.map +1 -1
- package/dist/knowledge/index_manager.js +112 -37
- package/dist/knowledge/index_manager.js.map +1 -1
- package/dist/knowledge/loader.d.ts +31 -0
- package/dist/knowledge/loader.d.ts.map +1 -1
- package/dist/knowledge/loader.js +102 -8
- package/dist/knowledge/loader.js.map +1 -1
- package/dist/types.d.ts +608 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
- 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
- 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
- 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
- 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
- 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
- package/templates/scaffolds/react/Form.tsx.hbs +9 -1
- package/templates/scaffolds/react/List.tsx.hbs +10 -1
- package/templates/scaffolds/react/Page.tsx.hbs +4 -1
- package/templates/scaffolds/react/service.ts.hbs +29 -0
- package/templates/scaffolds/react/types.ts.hbs +7 -1
- package/templates/scaffolds/react/use{{ModuleName}}.ts.hbs +34 -2
- package/templates/scaffolds/spring-boot/Controller.java.hbs +27 -0
- package/templates/scaffolds/spring-boot/DTO.java.hbs +7 -1
- package/templates/scaffolds/spring-boot/Entity.java.hbs +11 -1
- package/templates/scaffolds/spring-boot/ErrorCode.java.hbs +13 -1
- package/templates/scaffolds/spring-boot/Mapper.java.hbs +4 -1
- package/templates/scaffolds/spring-boot/PageResponse.java.hbs +24 -1
- package/templates/scaffolds/spring-boot/Service.java.hbs +32 -0
- package/templates/scaffolds/spring-boot/ServiceImpl.java.hbs +23 -5
- 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
|