soloforge 1.2.1 → 1.2.3

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 (185) hide show
  1. package/README.md +78 -18
  2. package/dist/adapters/claude_code/server.d.ts.map +1 -1
  3. package/dist/adapters/claude_code/server.js +2 -25
  4. package/dist/adapters/claude_code/server.js.map +1 -1
  5. package/dist/adapters/claude_code/tools.d.ts +8 -13
  6. package/dist/adapters/claude_code/tools.d.ts.map +1 -1
  7. package/dist/adapters/claude_code/tools.js +508 -87
  8. package/dist/adapters/claude_code/tools.js.map +1 -1
  9. package/dist/adapters/codex/codex_rules.d.ts.map +1 -1
  10. package/dist/adapters/codex/codex_rules.js +23 -1
  11. package/dist/adapters/codex/codex_rules.js.map +1 -1
  12. package/dist/adapters/shared/workflow_template.d.ts.map +1 -1
  13. package/dist/adapters/shared/workflow_template.js +25 -0
  14. package/dist/adapters/shared/workflow_template.js.map +1 -1
  15. package/dist/bin/soloforge.js +169 -18
  16. package/dist/bin/soloforge.js.map +1 -1
  17. package/dist/engine/audit_pool.d.ts +36 -0
  18. package/dist/engine/audit_pool.d.ts.map +1 -0
  19. package/dist/engine/audit_pool.js +83 -0
  20. package/dist/engine/audit_pool.js.map +1 -0
  21. package/dist/engine/audit_sampler.d.ts +15 -0
  22. package/dist/engine/audit_sampler.d.ts.map +1 -0
  23. package/dist/engine/audit_sampler.js +26 -0
  24. package/dist/engine/audit_sampler.js.map +1 -0
  25. package/dist/engine/audit_verifier.d.ts +1 -1
  26. package/dist/engine/audit_verifier.js +1 -1
  27. package/dist/engine/audit_verifier.js.map +1 -1
  28. package/dist/engine/capability_action_advisor.d.ts +24 -0
  29. package/dist/engine/capability_action_advisor.d.ts.map +1 -0
  30. package/dist/engine/capability_action_advisor.js +147 -0
  31. package/dist/engine/capability_action_advisor.js.map +1 -0
  32. package/dist/engine/capability_registry.d.ts +58 -0
  33. package/dist/engine/capability_registry.d.ts.map +1 -0
  34. package/dist/engine/capability_registry.js +625 -0
  35. package/dist/engine/capability_registry.js.map +1 -0
  36. package/dist/engine/capability_state_store.d.ts +50 -0
  37. package/dist/engine/capability_state_store.d.ts.map +1 -0
  38. package/dist/engine/capability_state_store.js +123 -0
  39. package/dist/engine/capability_state_store.js.map +1 -0
  40. package/dist/engine/cognitive_anchor.d.ts +59 -0
  41. package/dist/engine/cognitive_anchor.d.ts.map +1 -0
  42. package/dist/engine/cognitive_anchor.js +68 -0
  43. package/dist/engine/cognitive_anchor.js.map +1 -0
  44. package/dist/engine/conflict_gate.d.ts +36 -0
  45. package/dist/engine/conflict_gate.d.ts.map +1 -0
  46. package/dist/engine/conflict_gate.js +73 -0
  47. package/dist/engine/conflict_gate.js.map +1 -0
  48. package/dist/engine/decision_contract.d.ts +29 -0
  49. package/dist/engine/decision_contract.d.ts.map +1 -0
  50. package/dist/engine/decision_contract.js +41 -0
  51. package/dist/engine/decision_contract.js.map +1 -0
  52. package/dist/engine/delivery.d.ts.map +1 -1
  53. package/dist/engine/delivery.js +83 -0
  54. package/dist/engine/delivery.js.map +1 -1
  55. package/dist/engine/developer_sovereignty.d.ts +62 -0
  56. package/dist/engine/developer_sovereignty.d.ts.map +1 -0
  57. package/dist/engine/developer_sovereignty.js +134 -0
  58. package/dist/engine/developer_sovereignty.js.map +1 -0
  59. package/dist/engine/diff_ownership.d.ts +74 -0
  60. package/dist/engine/diff_ownership.d.ts.map +1 -0
  61. package/dist/engine/diff_ownership.js +143 -0
  62. package/dist/engine/diff_ownership.js.map +1 -0
  63. package/dist/engine/diff_ownership_store.d.ts +76 -0
  64. package/dist/engine/diff_ownership_store.d.ts.map +1 -0
  65. package/dist/engine/diff_ownership_store.js +264 -0
  66. package/dist/engine/diff_ownership_store.js.map +1 -0
  67. package/dist/engine/escape_report.d.ts +45 -0
  68. package/dist/engine/escape_report.d.ts.map +1 -0
  69. package/dist/engine/escape_report.js +97 -0
  70. package/dist/engine/escape_report.js.map +1 -0
  71. package/dist/engine/exploration.d.ts +54 -0
  72. package/dist/engine/exploration.d.ts.map +1 -1
  73. package/dist/engine/exploration.js +138 -0
  74. package/dist/engine/exploration.js.map +1 -1
  75. package/dist/engine/governance_report.d.ts +36 -0
  76. package/dist/engine/governance_report.d.ts.map +1 -0
  77. package/dist/engine/governance_report.js +79 -0
  78. package/dist/engine/governance_report.js.map +1 -0
  79. package/dist/engine/java_quality_guard.d.ts +52 -0
  80. package/dist/engine/java_quality_guard.d.ts.map +1 -0
  81. package/dist/engine/java_quality_guard.js +237 -0
  82. package/dist/engine/java_quality_guard.js.map +1 -0
  83. package/dist/engine/job_manager.d.ts +76 -0
  84. package/dist/engine/job_manager.d.ts.map +1 -0
  85. package/dist/engine/job_manager.js +225 -0
  86. package/dist/engine/job_manager.js.map +1 -0
  87. package/dist/engine/knowledge_config_loader.d.ts +1 -1
  88. package/dist/engine/knowledge_config_loader.js +1 -1
  89. package/dist/engine/knowledge_sovereignty.d.ts +61 -0
  90. package/dist/engine/knowledge_sovereignty.d.ts.map +1 -0
  91. package/dist/engine/knowledge_sovereignty.js +190 -0
  92. package/dist/engine/knowledge_sovereignty.js.map +1 -0
  93. package/dist/engine/llm_gateway.js +2 -2
  94. package/dist/engine/llm_gateway.js.map +1 -1
  95. package/dist/engine/mutation_audit.d.ts +43 -0
  96. package/dist/engine/mutation_audit.d.ts.map +1 -0
  97. package/dist/engine/mutation_audit.js +118 -0
  98. package/dist/engine/mutation_audit.js.map +1 -0
  99. package/dist/engine/policy_drift_detector.d.ts +46 -0
  100. package/dist/engine/policy_drift_detector.d.ts.map +1 -0
  101. package/dist/engine/policy_drift_detector.js +181 -0
  102. package/dist/engine/policy_drift_detector.js.map +1 -0
  103. package/dist/engine/regression_matrix.d.ts +102 -0
  104. package/dist/engine/regression_matrix.d.ts.map +1 -0
  105. package/dist/engine/regression_matrix.js +380 -0
  106. package/dist/engine/regression_matrix.js.map +1 -0
  107. package/dist/engine/risk_sampler.d.ts +37 -0
  108. package/dist/engine/risk_sampler.d.ts.map +1 -0
  109. package/dist/engine/risk_sampler.js +69 -0
  110. package/dist/engine/risk_sampler.js.map +1 -0
  111. package/dist/engine/runtime_safety.d.ts +80 -0
  112. package/dist/engine/runtime_safety.d.ts.map +1 -0
  113. package/dist/engine/runtime_safety.js +195 -0
  114. package/dist/engine/runtime_safety.js.map +1 -0
  115. package/dist/engine/scope_lease.d.ts +45 -0
  116. package/dist/engine/scope_lease.d.ts.map +1 -0
  117. package/dist/engine/scope_lease.js +122 -0
  118. package/dist/engine/scope_lease.js.map +1 -0
  119. package/dist/engine/semantic_evidence.d.ts +23 -0
  120. package/dist/engine/semantic_evidence.d.ts.map +1 -0
  121. package/dist/engine/semantic_evidence.js +81 -0
  122. package/dist/engine/semantic_evidence.js.map +1 -0
  123. package/dist/engine/task_context.d.ts +16 -0
  124. package/dist/engine/task_context.d.ts.map +1 -1
  125. package/dist/engine/task_context.js +59 -1
  126. package/dist/engine/task_context.js.map +1 -1
  127. package/dist/engine/test_quality.js +2 -2
  128. package/dist/engine/test_quality.js.map +1 -1
  129. package/dist/engine/verifier.d.ts.map +1 -1
  130. package/dist/engine/verifier.js +113 -20
  131. package/dist/engine/verifier.js.map +1 -1
  132. package/dist/engine/workspace_resumer.d.ts +43 -0
  133. package/dist/engine/workspace_resumer.d.ts.map +1 -1
  134. package/dist/engine/workspace_resumer.js +119 -4
  135. package/dist/engine/workspace_resumer.js.map +1 -1
  136. package/dist/engine/zero_config_init.d.ts +87 -0
  137. package/dist/engine/zero_config_init.d.ts.map +1 -0
  138. package/dist/engine/zero_config_init.js +427 -0
  139. package/dist/engine/zero_config_init.js.map +1 -0
  140. package/dist/knowledge/index_manager.d.ts +19 -0
  141. package/dist/knowledge/index_manager.d.ts.map +1 -1
  142. package/dist/knowledge/index_manager.js +31 -0
  143. package/dist/knowledge/index_manager.js.map +1 -1
  144. package/dist/knowledge/writer.d.ts.map +1 -1
  145. package/dist/knowledge/writer.js +1 -0
  146. package/dist/knowledge/writer.js.map +1 -1
  147. package/dist/types.d.ts +61 -85
  148. package/dist/types.d.ts.map +1 -1
  149. package/package.json +2 -2
  150. package/templates/knowledge/domain//345/256/241/350/256/241/346/227/245/345/277/227.md +6 -7
  151. package/templates/knowledge/domain//345/257/274/345/205/245/345/257/274/345/207/272/350/247/204/345/210/231.md +3 -3
  152. package/templates/knowledge/domain//351/200/232/347/224/250/346/234/272/346/242/260/346/235/241/346/254/276.md +24 -14
  153. package/templates/knowledge/patterns/core/Diff/345/275/222/345/261/236/350/277/275/350/270/252.md +47 -0
  154. package/templates/knowledge/patterns/core/Java/350/264/250/351/207/217/351/227/250/347/246/201.md +46 -0
  155. package/templates/knowledge/patterns/core/LLM/351/242/204/347/256/227/347/275/221/345/205/263.md +46 -0
  156. package/templates/knowledge/patterns/core//344/273/273/345/212/241/344/270/212/344/270/213/346/226/207/347/224/237/345/221/275/345/221/250/346/234/237.md +47 -0
  157. package/templates/knowledge/patterns/core//344/273/273/345/212/241/347/256/241/347/220/206/345/231/250.md +47 -0
  158. package/templates/knowledge/patterns/core//344/275/234/347/224/250/345/237/237/344/270/216/345/257/206/351/222/245/346/213/246/346/210/252.md +46 -0
  159. package/templates/knowledge/patterns/core//344/275/234/347/224/250/345/237/237/347/247/237/347/272/246.md +47 -0
  160. package/templates/knowledge/patterns/core//345/206/262/347/252/201/351/227/250/347/246/201.md +47 -0
  161. package/templates/knowledge/patterns/core//345/206/263/347/255/226/347/275/221/345/205/263.md +52 -0
  162. package/templates/knowledge/patterns/core/{mutation_audit.md → /345/217/230/345/274/202/345/256/241/350/256/241.md} +20 -0
  163. package/templates/knowledge/patterns/core//345/233/236/345/275/222/347/237/251/351/230/265.md +46 -0
  164. package/templates/knowledge/patterns/core//345/267/245/344/275/234/345/214/272/344/272/222/346/226/245/351/224/201.md +44 -0
  165. package/templates/knowledge/patterns/core//345/267/245/344/275/234/345/214/272/345/224/244/351/206/222.md +46 -0
  166. package/templates/knowledge/patterns/core//345/271/266/345/217/221/351/224/201.md +49 -0
  167. package/templates/knowledge/patterns/core/{developer_constitution.md → /345/274/200/345/217/221/350/200/205/345/256/252/346/263/225.md} +20 -0
  168. package/templates/knowledge/patterns/core//346/225/217/346/204/237/344/277/241/346/201/257/346/211/253/346/217/217.md +45 -0
  169. package/templates/knowledge/patterns/core//346/262/273/347/220/206/350/277/220/350/241/214/346/227/266/345/276/252/347/216/257.md +48 -0
  170. package/templates/knowledge/patterns/core/{streaming_protocol.md → /346/265/201/345/274/217/345/277/203/350/267/263.md} +20 -0
  171. package/templates/knowledge/patterns/core/{authority.md → /347/237/245/350/257/206/344/270/273/346/235/203.md} +20 -0
  172. package/templates/knowledge/patterns/core//350/257/255/344/271/211/350/257/201/346/215/256.md +47 -0
  173. package/templates/knowledge/patterns/core//350/277/220/350/241/214/345/256/211/345/205/250/345/214/205.md +50 -0
  174. package/templates/knowledge/patterns/core//351/233/266/351/205/215/347/275/256/345/210/235/345/247/213/345/214/226.md +47 -0
  175. package/templates/knowledge/patterns/core//351/252/214/350/257/201/345/221/275/344/273/244/347/224/237/346/210/220.md +46 -0
  176. package/templates/knowledge/procedures//347/264/247/346/200/245/344/277/256/345/244/215/346/265/201/346/260/264/347/272/277.md +1 -1
  177. package/templates/knowledge/procedures//347/264/247/346/200/245/344/277/256/345/244/215/346/265/201/347/250/213.md +1 -1
  178. package/templates/knowledge/review_rules//345/271/266/345/217/221/345/256/241/346/237/245/350/247/204/345/210/231.md +1 -1
  179. package/templates/knowledge/review_rules//346/200/247/350/203/275/345/256/241/346/237/245/350/247/204/345/210/231.md +1 -1
  180. package/templates/knowledge/review_rules//346/216/245/345/217/243/345/245/221/347/272/246/345/256/241/346/237/245/350/247/204/345/210/231.md +1 -1
  181. package/templates/knowledge/review_rules//346/236/266/346/236/204/345/256/241/346/237/245/350/247/204/345/210/231.md +1 -1
  182. package/templates/knowledge/review_rules//350/264/250/351/207/217/345/256/241/346/237/245/350/247/204/345/210/231.md +1 -1
  183. package/templates/knowledge/patterns/core/concurrency_lock.md +0 -36
  184. package/templates/knowledge/patterns/core/decision_gateway.md +0 -33
  185. /package/templates/knowledge/checklists/{session_recovery.md → /344/274/232/350/257/235/346/201/242/345/244/215.md"} +0 -0
@@ -0,0 +1,625 @@
1
+ /**
2
+ * 能力状态登记表 — 声明每个治理能力的当前等级,防止文档和实现过度承诺。
3
+ *
4
+ * P1-4 范围: 状态登记 + policy_id + 交叉引用 + 晋级/降级条件与证据要求(只读)。
5
+ * 不做自动晋级/降级,不接抽检池,不改状态。
6
+ *
7
+ * 状态等级:
8
+ * - enforced: 强制执行,违规即 hard fail,阻断流程
9
+ * - advisory: 建议执行,违规仅产生 advisory 警告,不阻断流程
10
+ * - experimental: 实验性,接口和行为可能变更,仅供内部评估
11
+ * - removed: 已移除,保留登记用于追溯
12
+ */
13
+ const BUILTIN_CAPABILITIES = [
14
+ {
15
+ id: "task_context_lifecycle",
16
+ name: "任务上下文生命周期",
17
+ state: "enforced",
18
+ owner_module: "engine/task_context",
19
+ evidence: "VALID_TRANSITIONS 状态机 + updateStatus 校验 + 1256 tests",
20
+ policy_id: "CAP-001",
21
+ code_files: ["src/engine/task_context.ts"],
22
+ test_files: ["tests/engine/task_context.test.ts"],
23
+ lifecycle_test_files: ["tests/engine/task_context.test.ts"],
24
+ knowledge_docs: ["templates/knowledge/patterns/core/任务上下文生命周期.md"],
25
+ prompt_files: ["src/adapters/claude_code/tools.ts"],
26
+ promotion_conditions: [
27
+ "生命周期测试覆盖所有状态转移",
28
+ "并发场景下无竞态条件",
29
+ ],
30
+ demotion_conditions: [
31
+ "核心状态转移出现逃逸(任务绕过状态机)",
32
+ "状态机变更未同步测试",
33
+ ],
34
+ evidence_requirements: [
35
+ "全量状态转移测试通过",
36
+ "handler 生命周期测试通过",
37
+ "无已知逃逸缺陷",
38
+ ],
39
+ reason: "核心状态机,所有 handler 依赖此约束",
40
+ },
41
+ {
42
+ id: "verify_command_generation",
43
+ name: "验证命令生成",
44
+ state: "enforced",
45
+ owner_module: "engine/verifier",
46
+ evidence: "generateVerifyCommands 覆盖 config/doc-only/repo 匹配三个分支",
47
+ policy_id: "CAP-002",
48
+ code_files: ["src/engine/verifier.ts"],
49
+ test_files: ["tests/engine/verifier_phase25.test.ts"],
50
+ lifecycle_test_files: ["tests/engine/verifier_phase25.test.ts"],
51
+ knowledge_docs: ["templates/knowledge/patterns/core/验证命令生成.md"],
52
+ prompt_files: ["src/adapters/claude_code/tools.ts"],
53
+ promotion_conditions: [
54
+ "覆盖所有项目类型(monorepo/polyrepo)",
55
+ "自定义命令模板验证通过",
56
+ ],
57
+ demotion_conditions: [
58
+ "生成的命令在标准项目上失败",
59
+ "新项目类型未覆盖且无 fallback",
60
+ ],
61
+ evidence_requirements: [
62
+ "config/doc-only/repo 三分支测试通过",
63
+ "边界项目(无 package.json)验证通过",
64
+ ],
65
+ reason: "编译和测试命令是质量门禁的基础",
66
+ },
67
+ {
68
+ id: "scope_hook",
69
+ name: "作用域与密钥拦截",
70
+ state: "enforced",
71
+ owner_module: "engine/scope_controller",
72
+ evidence: "checkScope() 路径校验 + detectSecrets() 密钥扫描 + gitleaks 集成",
73
+ policy_id: "CAP-003",
74
+ code_files: ["src/engine/scope_controller.ts"],
75
+ test_files: ["tests/engine/scope_controller.test.ts"],
76
+ lifecycle_test_files: ["tests/engine/scope_controller.test.ts"],
77
+ knowledge_docs: ["templates/knowledge/patterns/core/作用域与密钥拦截.md"],
78
+ prompt_files: ["src/adapters/claude_code/tools.ts"],
79
+ promotion_conditions: [
80
+ "symlink 解析覆盖所有 OS",
81
+ "密钥检测误报率 < 1%",
82
+ ],
83
+ demotion_conditions: [
84
+ "合法路径被误判为越权",
85
+ "密钥检测出现 3+ 次逃逸",
86
+ ],
87
+ evidence_requirements: [
88
+ "路径匹配 + symlink 测试通过",
89
+ "密钥扫描 golden set 通过",
90
+ "无已知越权逃逸",
91
+ ],
92
+ reason: "文件范围和安全是强制门禁",
93
+ },
94
+ {
95
+ id: "secret_scan",
96
+ name: "敏感信息扫描",
97
+ state: "enforced",
98
+ owner_module: "engine/scope_controller",
99
+ evidence: "detectSecrets() 正则 + gitleaks 回退链,severity=blocked 阻断写入",
100
+ policy_id: "CAP-004",
101
+ code_files: ["src/engine/scope_controller.ts"],
102
+ test_files: ["tests/engine/scope_controller.test.ts"],
103
+ lifecycle_test_files: ["tests/engine/scope_controller.test.ts"],
104
+ knowledge_docs: ["templates/knowledge/patterns/core/敏感信息扫描.md"],
105
+ prompt_files: ["src/adapters/claude_code/tools.ts"],
106
+ promotion_conditions: [
107
+ "误报率 < 0.5%",
108
+ "覆盖所有主流密钥格式(AWS/GCP/Azure/API key)",
109
+ ],
110
+ demotion_conditions: [
111
+ "密钥泄露逃逸(写入含密钥文件未被拦截)",
112
+ "误报率 > 5% 影响正常工作流",
113
+ ],
114
+ evidence_requirements: [
115
+ "golden set 密钥检测通过",
116
+ "误报率测试通过",
117
+ "无已知密钥泄露事件",
118
+ ],
119
+ reason: "密钥泄露是最高风险,必须 hard fail",
120
+ },
121
+ {
122
+ id: "resume_workspace",
123
+ name: "工作区状态唤醒",
124
+ state: "advisory",
125
+ owner_module: "engine/workspace_resumer",
126
+ evidence: "scanAndResume() 扫描 state 目录恢复中断任务,无 hard fail 逻辑",
127
+ policy_id: "CAP-005",
128
+ code_files: ["src/engine/workspace_resumer.ts"],
129
+ test_files: ["tests/engine/workspace_resumer.test.ts"],
130
+ lifecycle_test_files: [],
131
+ knowledge_docs: ["templates/knowledge/patterns/core/工作区唤醒.md"],
132
+ prompt_files: ["src/adapters/claude_code/tools.ts"],
133
+ promotion_conditions: [
134
+ "恢复后任务可无缝继续",
135
+ "corrupt state 文件降级处理(advisory 报告)",
136
+ ],
137
+ demotion_conditions: [
138
+ "恢复逻辑导致新任务状态异常",
139
+ "state 目录膨胀无清理机制",
140
+ ],
141
+ evidence_requirements: [
142
+ "中断恢复测试通过",
143
+ "corrupt state 处理测试通过",
144
+ ],
145
+ reason: "advisory: 恢复是最佳实践但非强制,新会话可忽略恢复直接新建任务",
146
+ },
147
+ {
148
+ id: "llm_gateway",
149
+ name: "LLM Token 预算网关",
150
+ state: "advisory",
151
+ owner_module: "engine/llm_gateway",
152
+ evidence: "H1 handler 返回 h1_advisory warning,任务仍继续进入 executing",
153
+ policy_id: "CAP-006",
154
+ code_files: ["src/engine/llm_gateway.ts"],
155
+ test_files: ["tests/engine/llm_gateway.test.ts"],
156
+ lifecycle_test_files: [],
157
+ knowledge_docs: ["templates/knowledge/patterns/core/LLM预算网关.md", "templates/knowledge/patterns/core/决策网关.md", "templates/knowledge/patterns/core/流式心跳.md"],
158
+ prompt_files: ["src/adapters/claude_code/tools.ts"],
159
+ promotion_conditions: [
160
+ "预算耗尽时建议降级到更便宜的模型(advisory 报告)",
161
+ "预算使用率可观测",
162
+ ],
163
+ demotion_conditions: [
164
+ "gateway 误判导致正常任务被阻断",
165
+ "预算计算逻辑出现严重偏差",
166
+ ],
167
+ evidence_requirements: [
168
+ "H1/H4 handler 测试通过",
169
+ "heartbeat 测试通过",
170
+ ],
171
+ reason: "advisory: 预算耗尽是 warning 不是 hard fail,不应阻断任务",
172
+ },
173
+ {
174
+ id: "io_lock",
175
+ name: "工作区互斥锁",
176
+ state: "advisory",
177
+ owner_module: "engine/io_controller",
178
+ evidence: "P0 已移除持久锁 acquire/release,仅保留 isLocked() 查询",
179
+ policy_id: "CAP-007",
180
+ code_files: ["src/engine/io_controller.ts"],
181
+ test_files: ["tests/engine/io_controller.test.ts"],
182
+ lifecycle_test_files: [],
183
+ knowledge_docs: ["templates/knowledge/patterns/core/工作区互斥锁.md"],
184
+ prompt_files: ["src/adapters/claude_code/tools.ts"],
185
+ promotion_conditions: [
186
+ "跨进程互斥锁实现并通过并发测试",
187
+ "deadlock 检测与人工确认恢复",
188
+ ],
189
+ demotion_conditions: [
190
+ "互斥检查导致正常操作频繁失败",
191
+ "锁状态与实际不一致",
192
+ ],
193
+ evidence_requirements: [
194
+ "isLocked() 查询测试通过",
195
+ "写入前冲突检测测试通过",
196
+ ],
197
+ reason: "advisory: 锁机制为 advisory check,不强制阻断",
198
+ },
199
+ {
200
+ id: "mutation_audit",
201
+ name: "变异审计",
202
+ state: "advisory",
203
+ owner_module: "engine/mutation_audit",
204
+ evidence: "extractMutationPoints + computeMutationAudit + 评分中变异覆盖率是建议维度,不阻断",
205
+ policy_id: "CAP-008",
206
+ code_files: ["src/engine/mutation_audit.ts"],
207
+ test_files: ["tests/engine/mutation_audit.test.ts"],
208
+ lifecycle_test_files: [],
209
+ knowledge_docs: ["templates/knowledge/patterns/core/变异审计.md"],
210
+ prompt_files: [],
211
+ promotion_conditions: [
212
+ "变异覆盖率 > 80%",
213
+ "变异算子覆盖所有主流模式",
214
+ ],
215
+ demotion_conditions: [
216
+ "变异评分算法出现严重偏差",
217
+ "变异测试执行时间导致开发者跳过",
218
+ ],
219
+ evidence_requirements: [
220
+ "变异算子测试通过",
221
+ "评分一致性测试通过",
222
+ ],
223
+ reason: "advisory: 变异测试是质量建议,非强制要求",
224
+ },
225
+ {
226
+ id: "knowledge_sovereignty",
227
+ name: "知识主权",
228
+ state: "advisory",
229
+ owner_module: "engine/knowledge_sovereignty",
230
+ evidence: "quarantineGate + promoteToQuarantine + promoteToCore + 三级生命周期,severity=critical 但不 hard fail",
231
+ policy_id: "CAP-009",
232
+ code_files: ["src/engine/knowledge_sovereignty.ts"],
233
+ test_files: ["tests/engine/knowledge_sovereignty.test.ts"],
234
+ lifecycle_test_files: [],
235
+ knowledge_docs: ["templates/knowledge/patterns/core/知识主权.md"],
236
+ prompt_files: [],
237
+ promotion_conditions: [
238
+ "知识模板覆盖所有审查规则",
239
+ "知识-代码漂移检测接入",
240
+ ],
241
+ demotion_conditions: [
242
+ "知识规则与代码实现严重不一致",
243
+ "知识模板格式频繁变更无兼容",
244
+ ],
245
+ evidence_requirements: [
246
+ "知识模板格式验证测试通过",
247
+ "中文语义化路径测试通过",
248
+ ],
249
+ reason: "advisory: 知识治理是建议性的,尚未接入强制门禁",
250
+ },
251
+ {
252
+ id: "governance_runtime_loop",
253
+ name: "治理运行时循环",
254
+ state: "advisory",
255
+ owner_module: "engine/audit_sampler+escape_report+governance_report+capability_action_advisor",
256
+ evidence: "抽检(18)+逃逸报告(23)+治理报告(37)+能力状态(37)+集成(6)+handler(28)=149 cases, 只读不改状态",
257
+ policy_id: "CAP-010",
258
+ code_files: [
259
+ "src/engine/audit_sampler.ts",
260
+ "src/engine/escape_report.ts",
261
+ "src/engine/governance_report.ts",
262
+ "src/engine/capability_state_store.ts",
263
+ "src/engine/capability_action_advisor.ts",
264
+ ],
265
+ test_files: [
266
+ "tests/engine/audit_sampler.test.ts",
267
+ "tests/engine/escape_report.test.ts",
268
+ "tests/engine/governance_report.test.ts",
269
+ "tests/engine/capability_state_store.test.ts",
270
+ "tests/engine/governance_integration.test.ts",
271
+ "tests/adapters/p2_governance_tools.test.ts",
272
+ ],
273
+ lifecycle_test_files: ["tests/engine/governance_integration.test.ts"],
274
+ knowledge_docs: ["templates/knowledge/patterns/core/治理运行时循环.md"],
275
+ prompt_files: ["src/adapters/claude_code/tools.ts"],
276
+ promotion_conditions: [
277
+ "所有治理闭环 handler 生命周期测试通过",
278
+ "跨工具闭环(sample→escape→report→update)无逃逸",
279
+ ],
280
+ demotion_conditions: [
281
+ "治理闭环工具产生误判导致正常能力被降级",
282
+ "report 数据与实际 escape 不一致",
283
+ ],
284
+ evidence_requirements: [
285
+ "抽检→逃逸→报告→显式更新闭环测试通过",
286
+ "MCP handler 闭环测试通过",
287
+ "无自动降级行为",
288
+ ],
289
+ reason: "advisory: 治理闭环只读不改,状态更新必须经 sf_capability_update + 人工确认",
290
+ },
291
+ {
292
+ id: "diff_ownership",
293
+ name: "Diff 归属追踪",
294
+ state: "experimental",
295
+ owner_module: "engine/diff_ownership",
296
+ evidence: "diff_ownership 状态模型 + DiffOwnershipStore 持久化 + CAS 校验 + scope 目录展开排除 + 84 cases",
297
+ policy_id: "CAP-011",
298
+ code_files: ["src/engine/diff_ownership.ts", "src/engine/diff_ownership_store.ts"],
299
+ test_files: ["tests/engine/diff_ownership.test.ts", "tests/engine/diff_ownership_store.test.ts"],
300
+ lifecycle_test_files: [],
301
+ knowledge_docs: ["templates/knowledge/patterns/core/Diff归属追踪.md"],
302
+ prompt_files: [],
303
+ promotion_conditions: [
304
+ "归属追踪实现并通过集成测试",
305
+ "跨任务 diff 关联正确",
306
+ ],
307
+ demotion_conditions: [
308
+ "30 天内无进一步实现",
309
+ ],
310
+ evidence_requirements: [
311
+ "Diff 归属分类测试通过",
312
+ "CAS 校验生命周期测试通过",
313
+ "冲突检测测试通过",
314
+ ],
315
+ reason: "experimental: 只做状态模型和 CAS 校验,不替换现有写入流程,不新增 hard block",
316
+ },
317
+ {
318
+ id: "scope_lease",
319
+ name: "作用域租约",
320
+ state: "advisory",
321
+ owner_module: "engine/scope_lease",
322
+ evidence: "ScopeLeaseStore acquire/release/queryLease/getActiveLeases + 过期自动清理",
323
+ policy_id: "CAP-012",
324
+ code_files: ["src/engine/scope_lease.ts"],
325
+ test_files: ["tests/engine/scope_lease.test.ts"],
326
+ lifecycle_test_files: [],
327
+ knowledge_docs: ["templates/knowledge/patterns/core/作用域租约.md", "templates/knowledge/patterns/core/并发锁.md"],
328
+ prompt_files: [],
329
+ promotion_conditions: [
330
+ "跨进程租约测试通过",
331
+ "高并发 acquire 无竞态",
332
+ ],
333
+ demotion_conditions: [
334
+ "租约泄漏导致文件永久锁定",
335
+ "过期清理失效",
336
+ ],
337
+ evidence_requirements: [
338
+ "acquire/release 测试通过",
339
+ "过期清理测试通过",
340
+ ],
341
+ reason: "advisory: 租约是写入前建议检查,不强制阻断",
342
+ },
343
+ {
344
+ id: "conflict_gate",
345
+ name: "冲突门禁",
346
+ state: "advisory",
347
+ owner_module: "engine/conflict_gate",
348
+ evidence: "ConflictGate preWriteGate CAS 校验 + markConfirmed + 统一冲突报告",
349
+ policy_id: "CAP-013",
350
+ code_files: ["src/engine/conflict_gate.ts"],
351
+ test_files: ["tests/engine/conflict_gate.test.ts"],
352
+ lifecycle_test_files: [],
353
+ knowledge_docs: ["templates/knowledge/patterns/core/冲突门禁.md"],
354
+ prompt_files: [],
355
+ promotion_conditions: [
356
+ "CAS 校验覆盖所有文件类型",
357
+ "冲突报告自动合并",
358
+ ],
359
+ demotion_conditions: [
360
+ "CAS 误判率高导致频繁冲突",
361
+ "markConfirmed 后仍阻断",
362
+ ],
363
+ evidence_requirements: [
364
+ "CAS 校验测试通过",
365
+ "冲突报告测试通过",
366
+ ],
367
+ reason: "advisory: 冲突检测是建议性的,开发者可选择覆盖",
368
+ },
369
+ {
370
+ id: "semantic_evidence",
371
+ name: "语义证据",
372
+ state: "advisory",
373
+ owner_module: "engine/semantic_evidence",
374
+ evidence: "computeSemanticEvidence + buildDeliveryEvidenceChain + SHA256 hash chain",
375
+ policy_id: "CAP-014",
376
+ code_files: ["src/engine/semantic_evidence.ts"],
377
+ test_files: ["tests/engine/semantic_evidence.test.ts"],
378
+ lifecycle_test_files: [],
379
+ knowledge_docs: ["templates/knowledge/patterns/core/语义证据.md"],
380
+ prompt_files: [],
381
+ promotion_conditions: [
382
+ "所有需求点自动关联代码变更",
383
+ "证据链接入交付流程",
384
+ ],
385
+ demotion_conditions: [
386
+ "需求覆盖计算严重不准确",
387
+ "hash chain 校验失败",
388
+ ],
389
+ evidence_requirements: [
390
+ "语义证据计算测试通过",
391
+ "证据链完整性测试通过",
392
+ ],
393
+ reason: "advisory: 需求覆盖是质量建议,uncovered 不阻断交付",
394
+ },
395
+ {
396
+ id: "developer_sovereignty",
397
+ name: "开发者主权",
398
+ state: "advisory",
399
+ owner_module: "engine/developer_sovereignty",
400
+ evidence: "preDeliveryReview + delivery veto + rollback 绑定 commit_hash",
401
+ policy_id: "CAP-015",
402
+ code_files: ["src/engine/developer_sovereignty.ts"],
403
+ test_files: ["tests/engine/developer_sovereignty.test.ts"],
404
+ lifecycle_test_files: [],
405
+ knowledge_docs: ["templates/knowledge/patterns/core/开发者宪法.md"],
406
+ prompt_files: [],
407
+ promotion_conditions: [
408
+ "preDeliveryReview 接入真实 git diff",
409
+ "delivery veto 结果传递到 sf_deliver",
410
+ ],
411
+ demotion_conditions: [
412
+ "veto 误判阻断正常交付",
413
+ "rollback 命令不可执行",
414
+ ],
415
+ evidence_requirements: [
416
+ "preDeliveryReview 测试通过",
417
+ "veto 逻辑测试通过",
418
+ ],
419
+ reason: "advisory: 开发者主权的审查建议不 hard block 交付",
420
+ },
421
+ {
422
+ id: "job_manager",
423
+ name: "任务管理器",
424
+ state: "advisory",
425
+ owner_module: "engine/job_manager",
426
+ evidence: "JobManager createJob/updateCheckpoint/heartbeat/resumeFromCheckpoint + CognitiveAnchor",
427
+ policy_id: "CAP-016",
428
+ code_files: ["src/engine/job_manager.ts"],
429
+ test_files: ["tests/engine/job_manager.test.ts"],
430
+ lifecycle_test_files: [],
431
+ knowledge_docs: ["templates/knowledge/patterns/core/任务管理器.md"],
432
+ prompt_files: [],
433
+ promotion_conditions: [
434
+ "checkpoint 持久化并支持跨进程恢复",
435
+ "CognitiveAnchor 自动提取关键决策",
436
+ ],
437
+ demotion_conditions: [
438
+ "checkpoint 数据丢失",
439
+ "listActiveJobs 包含大量过期任务",
440
+ ],
441
+ evidence_requirements: [
442
+ "checkpoint 更新测试通过",
443
+ "恢复测试通过",
444
+ ],
445
+ reason: "advisory: 任务管理是辅助工具,不强制要求使用",
446
+ },
447
+ {
448
+ id: "zero_config_init",
449
+ name: "零配置初始化",
450
+ state: "advisory",
451
+ owner_module: "engine/zero_config_init",
452
+ evidence: "detectFingerprint 确定性检测 + generateConfigDraft 配置草案",
453
+ policy_id: "CAP-017",
454
+ code_files: ["src/engine/zero_config_init.ts"],
455
+ test_files: ["tests/engine/zero_config_init.test.ts"],
456
+ lifecycle_test_files: [],
457
+ knowledge_docs: ["templates/knowledge/patterns/core/零配置初始化.md"],
458
+ prompt_files: [],
459
+ promotion_conditions: [
460
+ "覆盖所有主流框架(Spring Boot/Go/Rust/Angular)",
461
+ "monorepo 多框架同时检测",
462
+ ],
463
+ demotion_conditions: [
464
+ "主流项目类型检测失败",
465
+ "fingerprint 不稳定(同项目不同结果)",
466
+ ],
467
+ evidence_requirements: [
468
+ "fingerprint 检测测试通过",
469
+ "配置草案格式验证通过",
470
+ ],
471
+ reason: "advisory: 自动检测是便利功能,可手动配置覆盖",
472
+ },
473
+ {
474
+ id: "java_quality_guard",
475
+ name: "Java 质量门禁",
476
+ state: "advisory",
477
+ owner_module: "engine/java_quality_guard",
478
+ evidence: "checkJavaQuality hard gate(空catch/raw type/System.out/Thread.sleep)+ advisory + 项目规则覆盖",
479
+ policy_id: "CAP-018",
480
+ code_files: ["src/engine/java_quality_guard.ts"],
481
+ test_files: ["tests/engine/java_quality_guard.test.ts"],
482
+ lifecycle_test_files: [],
483
+ knowledge_docs: ["templates/knowledge/patterns/core/Java质量门禁.md"],
484
+ prompt_files: [],
485
+ promotion_conditions: [
486
+ "覆盖所有 Java 代码异味",
487
+ "IDE 插件集成",
488
+ ],
489
+ demotion_conditions: [
490
+ "hard gate 误报率高",
491
+ "项目规则覆盖失效",
492
+ ],
493
+ evidence_requirements: [
494
+ "hard gate 测试通过",
495
+ "项目规则覆盖测试通过",
496
+ ],
497
+ reason: "advisory: Java 质量门禁中只有 hard gate 阻断,其余为建议",
498
+ },
499
+ {
500
+ id: "runtime_safety",
501
+ name: "运行安全包",
502
+ state: "advisory",
503
+ owner_module: "engine/runtime_safety",
504
+ evidence: "证据 hash chain + 命令副作用分级 + 供应链治理 + 迁移回滚契约",
505
+ policy_id: "CAP-019",
506
+ code_files: ["src/engine/runtime_safety.ts"],
507
+ test_files: ["tests/engine/runtime_safety.test.ts"],
508
+ lifecycle_test_files: [],
509
+ knowledge_docs: ["templates/knowledge/patterns/core/运行安全包.md"],
510
+ prompt_files: [],
511
+ promotion_conditions: [
512
+ "证据链接入所有交付流程",
513
+ "命令分级接入 verifier/deliver",
514
+ ],
515
+ demotion_conditions: [
516
+ "证据链 hash 校验失败",
517
+ "destructive 命令漏检",
518
+ ],
519
+ evidence_requirements: [
520
+ "证据链构建/验证测试通过",
521
+ "命令分级测试通过",
522
+ "供应链检查测试通过",
523
+ ],
524
+ reason: "advisory: 只有 destructive 命令需人工确认,其余为 advisory 警告",
525
+ },
526
+ {
527
+ id: "regression_matrix",
528
+ name: "回归矩阵",
529
+ state: "advisory",
530
+ owner_module: "engine/regression_matrix",
531
+ evidence: "6 fixtures(Spring Boot/React/Go/Node-TS/monorepo/docs-only)+ E2E pipeline(fingerprint→classify→expand→verify→learn→governance report)+ 复杂度预算",
532
+ policy_id: "CAP-020",
533
+ code_files: ["src/engine/regression_matrix.ts"],
534
+ test_files: ["tests/engine/regression_matrix.test.ts"],
535
+ lifecycle_test_files: [],
536
+ knowledge_docs: ["templates/knowledge/patterns/core/回归矩阵.md"],
537
+ prompt_files: [],
538
+ promotion_conditions: [
539
+ "fixture 落盘成临时 repo + 真实 detectFingerprint",
540
+ "覆盖所有项目类型兼容性",
541
+ ],
542
+ demotion_conditions: [
543
+ "fixture 模板过时",
544
+ "复杂度预算严重低估",
545
+ ],
546
+ evidence_requirements: [
547
+ "回归矩阵测试通过",
548
+ "复杂度预算报告正确",
549
+ ],
550
+ reason: "advisory: 回归矩阵是质量保证工具,复杂度超预算不阻断",
551
+ },
552
+ ];
553
+ function cloneEntry(e) {
554
+ return {
555
+ ...e,
556
+ code_files: [...e.code_files],
557
+ test_files: [...e.test_files],
558
+ lifecycle_test_files: [...e.lifecycle_test_files],
559
+ knowledge_docs: [...e.knowledge_docs],
560
+ prompt_files: [...e.prompt_files],
561
+ promotion_conditions: [...e.promotion_conditions],
562
+ demotion_conditions: [...e.demotion_conditions],
563
+ evidence_requirements: [...e.evidence_requirements],
564
+ };
565
+ }
566
+ export function getAllCapabilities() {
567
+ return BUILTIN_CAPABILITIES.map(cloneEntry);
568
+ }
569
+ export function getCapability(id) {
570
+ const found = BUILTIN_CAPABILITIES.find((c) => c.id === id);
571
+ return found ? cloneEntry(found) : undefined;
572
+ }
573
+ export function getCapsByState(state) {
574
+ return BUILTIN_CAPABILITIES.filter((c) => c.state === state).map(cloneEntry);
575
+ }
576
+ export function canHardFail(id) {
577
+ const cap = BUILTIN_CAPABILITIES.find((c) => c.id === id);
578
+ return cap?.state === "enforced";
579
+ }
580
+ export function getSummary() {
581
+ const enforced = BUILTIN_CAPABILITIES.filter((c) => c.state === "enforced");
582
+ const advisory = BUILTIN_CAPABILITIES.filter((c) => c.state === "advisory");
583
+ const experimental = BUILTIN_CAPABILITIES.filter((c) => c.state === "experimental");
584
+ const removed = BUILTIN_CAPABILITIES.filter((c) => c.state === "removed");
585
+ return {
586
+ enforced: enforced.map((c) => c.id),
587
+ advisory: advisory.map((c) => c.id),
588
+ experimental: experimental.map((c) => c.id),
589
+ removed: removed.map((c) => c.id),
590
+ can_hard_fail: enforced.map((c) => c.id),
591
+ cannot_hard_fail: [...advisory, ...experimental, ...removed].map((c) => c.id),
592
+ };
593
+ }
594
+ export function getAllPolicyRefs() {
595
+ return BUILTIN_CAPABILITIES.map((c) => ({
596
+ policy_id: c.policy_id,
597
+ capability_id: c.id,
598
+ state: c.state,
599
+ code_files: [...c.code_files],
600
+ test_files: [...c.test_files],
601
+ lifecycle_test_files: [...c.lifecycle_test_files],
602
+ knowledge_docs: [...c.knowledge_docs],
603
+ prompt_files: [...c.prompt_files],
604
+ }));
605
+ }
606
+ function isPlannedOnly(c) {
607
+ return (c.code_files.length === 0 &&
608
+ c.test_files.length === 0 &&
609
+ c.knowledge_docs.length === 0);
610
+ }
611
+ export function getDriftPolicyRefs() {
612
+ return BUILTIN_CAPABILITIES
613
+ .filter((c) => !isPlannedOnly(c))
614
+ .map((c) => ({
615
+ policy_id: c.policy_id,
616
+ capability_id: c.id,
617
+ state: c.state,
618
+ code_files: [...c.code_files],
619
+ test_files: [...c.test_files],
620
+ lifecycle_test_files: [...c.lifecycle_test_files],
621
+ knowledge_docs: [...c.knowledge_docs],
622
+ prompt_files: [...c.prompt_files],
623
+ }));
624
+ }
625
+ //# sourceMappingURL=capability_registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capability_registry.js","sourceRoot":"","sources":["../../src/engine/capability_registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAiCH,MAAM,oBAAoB,GAA+B;IACvD;QACE,EAAE,EAAE,wBAAwB;QAC5B,IAAI,EAAE,WAAW;QACjB,KAAK,EAAE,UAAU;QACjB,YAAY,EAAE,qBAAqB;QACnC,QAAQ,EAAE,sDAAsD;QAChE,SAAS,EAAE,SAAS;QACpB,UAAU,EAAE,CAAC,4BAA4B,CAAC;QAC1C,UAAU,EAAE,CAAC,mCAAmC,CAAC;QACjD,oBAAoB,EAAE,CAAC,mCAAmC,CAAC;QAC3D,cAAc,EAAE,CAAC,gDAAgD,CAAC;QAClE,YAAY,EAAE,CAAC,mCAAmC,CAAC;QACnD,oBAAoB,EAAE;YACpB,gBAAgB;YAChB,YAAY;SACb;QACD,mBAAmB,EAAE;YACnB,qBAAqB;YACrB,YAAY;SACb;QACD,qBAAqB,EAAE;YACrB,YAAY;YACZ,kBAAkB;YAClB,SAAS;SACV;QACD,MAAM,EAAE,wBAAwB;KACjC;IACD;QACE,EAAE,EAAE,2BAA2B;QAC/B,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,UAAU;QACjB,YAAY,EAAE,iBAAiB;QAC/B,QAAQ,EAAE,uDAAuD;QACjE,SAAS,EAAE,SAAS;QACpB,UAAU,EAAE,CAAC,wBAAwB,CAAC;QACtC,UAAU,EAAE,CAAC,uCAAuC,CAAC;QACrD,oBAAoB,EAAE,CAAC,uCAAuC,CAAC;QAC/D,cAAc,EAAE,CAAC,6CAA6C,CAAC;QAC/D,YAAY,EAAE,CAAC,mCAAmC,CAAC;QACnD,oBAAoB,EAAE;YACpB,6BAA6B;YAC7B,aAAa;SACd;QACD,mBAAmB,EAAE;YACnB,eAAe;YACf,qBAAqB;SACtB;QACD,qBAAqB,EAAE;YACrB,8BAA8B;YAC9B,0BAA0B;SAC3B;QACD,MAAM,EAAE,iBAAiB;KAC1B;IACD;QACE,EAAE,EAAE,YAAY;QAChB,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,UAAU;QACjB,YAAY,EAAE,yBAAyB;QACvC,QAAQ,EAAE,wDAAwD;QAClE,SAAS,EAAE,SAAS;QACpB,UAAU,EAAE,CAAC,gCAAgC,CAAC;QAC9C,UAAU,EAAE,CAAC,uCAAuC,CAAC;QACrD,oBAAoB,EAAE,CAAC,uCAAuC,CAAC;QAC/D,cAAc,EAAE,CAAC,+CAA+C,CAAC;QACjE,YAAY,EAAE,CAAC,mCAAmC,CAAC;QACnD,oBAAoB,EAAE;YACpB,mBAAmB;YACnB,cAAc;SACf;QACD,mBAAmB,EAAE;YACnB,YAAY;YACZ,eAAe;SAChB;QACD,qBAAqB,EAAE;YACrB,qBAAqB;YACrB,oBAAoB;YACpB,SAAS;SACV;QACD,MAAM,EAAE,cAAc;KACvB;IACD;QACE,EAAE,EAAE,aAAa;QACjB,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,UAAU;QACjB,YAAY,EAAE,yBAAyB;QACvC,QAAQ,EAAE,yDAAyD;QACnE,SAAS,EAAE,SAAS;QACpB,UAAU,EAAE,CAAC,gCAAgC,CAAC;QAC9C,UAAU,EAAE,CAAC,uCAAuC,CAAC;QACrD,oBAAoB,EAAE,CAAC,uCAAuC,CAAC;QAC/D,cAAc,EAAE,CAAC,6CAA6C,CAAC;QAC/D,YAAY,EAAE,CAAC,mCAAmC,CAAC;QACnD,oBAAoB,EAAE;YACpB,YAAY;YACZ,mCAAmC;SACpC;QACD,mBAAmB,EAAE;YACnB,qBAAqB;YACrB,kBAAkB;SACnB;QACD,qBAAqB,EAAE;YACrB,mBAAmB;YACnB,SAAS;YACT,WAAW;SACZ;QACD,MAAM,EAAE,wBAAwB;KACjC;IACD;QACE,EAAE,EAAE,kBAAkB;QACtB,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,UAAU;QACjB,YAAY,EAAE,0BAA0B;QACxC,QAAQ,EAAE,kDAAkD;QAC5D,SAAS,EAAE,SAAS;QACpB,UAAU,EAAE,CAAC,iCAAiC,CAAC;QAC/C,UAAU,EAAE,CAAC,wCAAwC,CAAC;QACtD,oBAAoB,EAAE,EAAE;QACxB,cAAc,EAAE,CAAC,4CAA4C,CAAC;QAC9D,YAAY,EAAE,CAAC,mCAAmC,CAAC;QACnD,oBAAoB,EAAE;YACpB,YAAY;YACZ,mCAAmC;SACpC;QACD,mBAAmB,EAAE;YACnB,eAAe;YACf,iBAAiB;SAClB;QACD,qBAAqB,EAAE;YACrB,UAAU;YACV,sBAAsB;SACvB;QACD,MAAM,EAAE,sCAAsC;KAC/C;IACD;QACE,EAAE,EAAE,aAAa;QACjB,IAAI,EAAE,gBAAgB;QACtB,KAAK,EAAE,UAAU;QACjB,YAAY,EAAE,oBAAoB;QAClC,QAAQ,EAAE,qDAAqD;QAC/D,SAAS,EAAE,SAAS;QACpB,UAAU,EAAE,CAAC,2BAA2B,CAAC;QACzC,UAAU,EAAE,CAAC,kCAAkC,CAAC;QAChD,oBAAoB,EAAE,EAAE;QACxB,cAAc,EAAE,CAAC,8CAA8C,EAAE,2CAA2C,EAAE,2CAA2C,CAAC;QAC1J,YAAY,EAAE,CAAC,mCAAmC,CAAC;QACnD,oBAAoB,EAAE;YACpB,+BAA+B;YAC/B,UAAU;SACX;QACD,mBAAmB,EAAE;YACnB,qBAAqB;YACrB,cAAc;SACf;QACD,qBAAqB,EAAE;YACrB,oBAAoB;YACpB,gBAAgB;SACjB;QACD,MAAM,EAAE,6CAA6C;KACtD;IACD;QACE,EAAE,EAAE,SAAS;QACb,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,UAAU;QACjB,YAAY,EAAE,sBAAsB;QACpC,QAAQ,EAAE,6CAA6C;QACvD,SAAS,EAAE,SAAS;QACpB,UAAU,EAAE,CAAC,6BAA6B,CAAC;QAC3C,UAAU,EAAE,CAAC,oCAAoC,CAAC;QAClD,oBAAoB,EAAE,EAAE;QACxB,cAAc,EAAE,CAAC,6CAA6C,CAAC;QAC/D,YAAY,EAAE,CAAC,mCAAmC,CAAC;QACnD,oBAAoB,EAAE;YACpB,iBAAiB;YACjB,oBAAoB;SACrB;QACD,mBAAmB,EAAE;YACnB,gBAAgB;YAChB,WAAW;SACZ;QACD,qBAAqB,EAAE;YACrB,mBAAmB;YACnB,aAAa;SACd;QACD,MAAM,EAAE,qCAAqC;KAC9C;IACD;QACE,EAAE,EAAE,gBAAgB;QACpB,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,UAAU;QACjB,YAAY,EAAE,uBAAuB;QACrC,QAAQ,EAAE,kEAAkE;QAC5E,SAAS,EAAE,SAAS;QACpB,UAAU,EAAE,CAAC,8BAA8B,CAAC;QAC5C,UAAU,EAAE,CAAC,qCAAqC,CAAC;QACnD,oBAAoB,EAAE,EAAE;QACxB,cAAc,EAAE,CAAC,2CAA2C,CAAC;QAC7D,YAAY,EAAE,EAAE;QAChB,oBAAoB,EAAE;YACpB,aAAa;YACb,cAAc;SACf;QACD,mBAAmB,EAAE;YACnB,cAAc;YACd,iBAAiB;SAClB;QACD,qBAAqB,EAAE;YACrB,UAAU;YACV,WAAW;SACZ;QACD,MAAM,EAAE,2BAA2B;KACpC;IACD;QACE,EAAE,EAAE,uBAAuB;QAC3B,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,UAAU;QACjB,YAAY,EAAE,8BAA8B;QAC5C,QAAQ,EAAE,8FAA8F;QACxG,SAAS,EAAE,SAAS;QACpB,UAAU,EAAE,CAAC,qCAAqC,CAAC;QACnD,UAAU,EAAE,CAAC,4CAA4C,CAAC;QAC1D,oBAAoB,EAAE,EAAE;QACxB,cAAc,EAAE,CAAC,2CAA2C,CAAC;QAC7D,YAAY,EAAE,EAAE;QAChB,oBAAoB,EAAE;YACpB,cAAc;YACd,aAAa;SACd;QACD,mBAAmB,EAAE;YACnB,gBAAgB;YAChB,eAAe;SAChB;QACD,qBAAqB,EAAE;YACrB,cAAc;YACd,aAAa;SACd;QACD,MAAM,EAAE,8BAA8B;KACvC;IACD;QACE,EAAE,EAAE,yBAAyB;QAC7B,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,UAAU;QACjB,YAAY,EAAE,gFAAgF;QAC9F,QAAQ,EAAE,uEAAuE;QACjF,SAAS,EAAE,SAAS;QACpB,UAAU,EAAE;YACV,6BAA6B;YAC7B,6BAA6B;YAC7B,iCAAiC;YACjC,sCAAsC;YACtC,yCAAyC;SAC1C;QACD,UAAU,EAAE;YACV,oCAAoC;YACpC,oCAAoC;YACpC,wCAAwC;YACxC,6CAA6C;YAC7C,6CAA6C;YAC7C,4CAA4C;SAC7C;QACD,oBAAoB,EAAE,CAAC,6CAA6C,CAAC;QACrE,cAAc,EAAE,CAAC,8CAA8C,CAAC;QAChE,YAAY,EAAE,CAAC,mCAAmC,CAAC;QACnD,oBAAoB,EAAE;YACpB,yBAAyB;YACzB,uCAAuC;SACxC;QACD,mBAAmB,EAAE;YACnB,qBAAqB;YACrB,yBAAyB;SAC1B;QACD,qBAAqB,EAAE;YACrB,qBAAqB;YACrB,oBAAoB;YACpB,SAAS;SACV;QACD,MAAM,EAAE,wDAAwD;KACjE;IACD;QACE,EAAE,EAAE,gBAAgB;QACpB,IAAI,EAAE,WAAW;QACjB,KAAK,EAAE,cAAc;QACrB,YAAY,EAAE,uBAAuB;QACrC,QAAQ,EAAE,iFAAiF;QAC3F,SAAS,EAAE,SAAS;QACpB,UAAU,EAAE,CAAC,8BAA8B,EAAE,oCAAoC,CAAC;QAClF,UAAU,EAAE,CAAC,qCAAqC,EAAE,2CAA2C,CAAC;QAChG,oBAAoB,EAAE,EAAE;QACxB,cAAc,EAAE,CAAC,+CAA+C,CAAC;QACjE,YAAY,EAAE,EAAE;QAChB,oBAAoB,EAAE;YACpB,eAAe;YACf,eAAe;SAChB;QACD,mBAAmB,EAAE;YACnB,aAAa;SACd;QACD,qBAAqB,EAAE;YACrB,eAAe;YACf,gBAAgB;YAChB,UAAU;SACX;QACD,MAAM,EAAE,uDAAuD;KAChE;IACD;QACE,EAAE,EAAE,aAAa;QACjB,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,UAAU;QACjB,YAAY,EAAE,oBAAoB;QAClC,QAAQ,EAAE,qEAAqE;QAC/E,SAAS,EAAE,SAAS;QACpB,UAAU,EAAE,CAAC,2BAA2B,CAAC;QACzC,UAAU,EAAE,CAAC,kCAAkC,CAAC;QAChD,oBAAoB,EAAE,EAAE;QACxB,cAAc,EAAE,CAAC,4CAA4C,EAAE,0CAA0C,CAAC;QAC1G,YAAY,EAAE,EAAE;QAChB,oBAAoB,EAAE;YACpB,WAAW;YACX,iBAAiB;SAClB;QACD,mBAAmB,EAAE;YACnB,cAAc;YACd,QAAQ;SACT;QACD,qBAAqB,EAAE;YACrB,sBAAsB;YACtB,UAAU;SACX;QACD,MAAM,EAAE,4BAA4B;KACrC;IACD;QACE,EAAE,EAAE,eAAe;QACnB,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,UAAU;QACjB,YAAY,EAAE,sBAAsB;QACpC,QAAQ,EAAE,2DAA2D;QACrE,SAAS,EAAE,SAAS;QACpB,UAAU,EAAE,CAAC,6BAA6B,CAAC;QAC3C,UAAU,EAAE,CAAC,oCAAoC,CAAC;QAClD,oBAAoB,EAAE,EAAE;QACxB,cAAc,EAAE,CAAC,2CAA2C,CAAC;QAC7D,YAAY,EAAE,EAAE;QAChB,oBAAoB,EAAE;YACpB,gBAAgB;YAChB,UAAU;SACX;QACD,mBAAmB,EAAE;YACnB,gBAAgB;YAChB,oBAAoB;SACrB;QACD,qBAAqB,EAAE;YACrB,YAAY;YACZ,UAAU;SACX;QACD,MAAM,EAAE,8BAA8B;KACvC;IACD;QACE,EAAE,EAAE,mBAAmB;QACvB,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,UAAU;QACjB,YAAY,EAAE,0BAA0B;QACxC,QAAQ,EAAE,0EAA0E;QACpF,SAAS,EAAE,SAAS;QACpB,UAAU,EAAE,CAAC,iCAAiC,CAAC;QAC/C,UAAU,EAAE,CAAC,wCAAwC,CAAC;QACtD,oBAAoB,EAAE,EAAE;QACxB,cAAc,EAAE,CAAC,2CAA2C,CAAC;QAC7D,YAAY,EAAE,EAAE;QAChB,oBAAoB,EAAE;YACpB,eAAe;YACf,WAAW;SACZ;QACD,mBAAmB,EAAE;YACnB,aAAa;YACb,iBAAiB;SAClB;QACD,qBAAqB,EAAE;YACrB,YAAY;YACZ,YAAY;SACb;QACD,MAAM,EAAE,qCAAqC;KAC9C;IACD;QACE,EAAE,EAAE,uBAAuB;QAC3B,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,UAAU;QACjB,YAAY,EAAE,8BAA8B;QAC5C,QAAQ,EAAE,6DAA6D;QACvE,SAAS,EAAE,SAAS;QACpB,UAAU,EAAE,CAAC,qCAAqC,CAAC;QACnD,UAAU,EAAE,CAAC,4CAA4C,CAAC;QAC1D,oBAAoB,EAAE,EAAE;QACxB,cAAc,EAAE,CAAC,4CAA4C,CAAC;QAC9D,YAAY,EAAE,EAAE;QAChB,oBAAoB,EAAE;YACpB,iCAAiC;YACjC,gCAAgC;SACjC;QACD,mBAAmB,EAAE;YACnB,eAAe;YACf,iBAAiB;SAClB;QACD,qBAAqB,EAAE;YACrB,wBAAwB;YACxB,aAAa;SACd;QACD,MAAM,EAAE,qCAAqC;KAC9C;IACD;QACE,EAAE,EAAE,aAAa;QACjB,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,UAAU;QACjB,YAAY,EAAE,oBAAoB;QAClC,QAAQ,EAAE,wFAAwF;QAClG,SAAS,EAAE,SAAS;QACpB,UAAU,EAAE,CAAC,2BAA2B,CAAC;QACzC,UAAU,EAAE,CAAC,kCAAkC,CAAC;QAChD,oBAAoB,EAAE,EAAE;QACxB,cAAc,EAAE,CAAC,4CAA4C,CAAC;QAC9D,YAAY,EAAE,EAAE;QAChB,oBAAoB,EAAE;YACpB,wBAAwB;YACxB,0BAA0B;SAC3B;QACD,mBAAmB,EAAE;YACnB,iBAAiB;YACjB,yBAAyB;SAC1B;QACD,qBAAqB,EAAE;YACrB,mBAAmB;YACnB,QAAQ;SACT;QACD,MAAM,EAAE,6BAA6B;KACtC;IACD;QACE,EAAE,EAAE,kBAAkB;QACtB,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,UAAU;QACjB,YAAY,EAAE,yBAAyB;QACvC,QAAQ,EAAE,oDAAoD;QAC9D,SAAS,EAAE,SAAS;QACpB,UAAU,EAAE,CAAC,gCAAgC,CAAC;QAC9C,UAAU,EAAE,CAAC,uCAAuC,CAAC;QACrD,oBAAoB,EAAE,EAAE;QACxB,cAAc,EAAE,CAAC,6CAA6C,CAAC;QAC/D,YAAY,EAAE,EAAE;QAChB,oBAAoB,EAAE;YACpB,uCAAuC;YACvC,kBAAkB;SACnB;QACD,mBAAmB,EAAE;YACnB,YAAY;YACZ,0BAA0B;SAC3B;QACD,qBAAqB,EAAE;YACrB,oBAAoB;YACpB,YAAY;SACb;QACD,MAAM,EAAE,6BAA6B;KACtC;IACD;QACE,EAAE,EAAE,oBAAoB;QACxB,IAAI,EAAE,WAAW;QACjB,KAAK,EAAE,UAAU;QACjB,YAAY,EAAE,2BAA2B;QACzC,QAAQ,EAAE,wFAAwF;QAClG,SAAS,EAAE,SAAS;QACpB,UAAU,EAAE,CAAC,kCAAkC,CAAC;QAChD,UAAU,EAAE,CAAC,yCAAyC,CAAC;QACvD,oBAAoB,EAAE,EAAE;QACxB,cAAc,EAAE,CAAC,+CAA+C,CAAC;QACjE,YAAY,EAAE,EAAE;QAChB,oBAAoB,EAAE;YACpB,gBAAgB;YAChB,UAAU;SACX;QACD,mBAAmB,EAAE;YACnB,gBAAgB;YAChB,UAAU;SACX;QACD,qBAAqB,EAAE;YACrB,gBAAgB;YAChB,YAAY;SACb;QACD,MAAM,EAAE,2CAA2C;KACpD;IACD;QACE,EAAE,EAAE,gBAAgB;QACpB,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,UAAU;QACjB,YAAY,EAAE,uBAAuB;QACrC,QAAQ,EAAE,0CAA0C;QACpD,SAAS,EAAE,SAAS;QACpB,UAAU,EAAE,CAAC,8BAA8B,CAAC;QAC5C,UAAU,EAAE,CAAC,qCAAqC,CAAC;QACnD,oBAAoB,EAAE,EAAE;QACxB,cAAc,EAAE,CAAC,4CAA4C,CAAC;QAC9D,YAAY,EAAE,EAAE;QAChB,oBAAoB,EAAE;YACpB,aAAa;YACb,yBAAyB;SAC1B;QACD,mBAAmB,EAAE;YACnB,eAAe;YACf,kBAAkB;SACnB;QACD,qBAAqB,EAAE;YACrB,cAAc;YACd,UAAU;YACV,WAAW;SACZ;QACD,MAAM,EAAE,kDAAkD;KAC3D;IACD;QACE,EAAE,EAAE,mBAAmB;QACvB,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,UAAU;QACjB,YAAY,EAAE,0BAA0B;QACxC,QAAQ,EAAE,8IAA8I;QACxJ,SAAS,EAAE,SAAS;QACpB,UAAU,EAAE,CAAC,iCAAiC,CAAC;QAC/C,UAAU,EAAE,CAAC,wCAAwC,CAAC;QACtD,oBAAoB,EAAE,EAAE;QACxB,cAAc,EAAE,CAAC,2CAA2C,CAAC;QAC7D,YAAY,EAAE,EAAE;QAChB,oBAAoB,EAAE;YACpB,2CAA2C;YAC3C,aAAa;SACd;QACD,mBAAmB,EAAE;YACnB,cAAc;YACd,WAAW;SACZ;QACD,qBAAqB,EAAE;YACrB,UAAU;YACV,WAAW;SACZ;QACD,MAAM,EAAE,iCAAiC;KAC1C;CACO,CAAC;AAEX,SAAS,UAAU,CAAC,CAAkB;IACpC,OAAO;QACL,GAAG,CAAC;QACJ,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC;QAC7B,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC;QAC7B,oBAAoB,EAAE,CAAC,GAAG,CAAC,CAAC,oBAAoB,CAAC;QACjD,cAAc,EAAE,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC;QACrC,YAAY,EAAE,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC;QACjC,oBAAoB,EAAE,CAAC,GAAG,CAAC,CAAC,oBAAoB,CAAC;QACjD,mBAAmB,EAAE,CAAC,GAAG,CAAC,CAAC,mBAAmB,CAAC;QAC/C,qBAAqB,EAAE,CAAC,GAAG,CAAC,CAAC,qBAAqB,CAAC;KACpD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB;IAChC,OAAO,oBAAoB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,EAAU;IACtC,MAAM,KAAK,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAC5D,OAAO,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAsB;IACnD,OAAO,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AAC/E,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,EAAU;IACpC,MAAM,GAAG,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAC1D,OAAO,GAAG,EAAE,KAAK,KAAK,UAAU,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,MAAM,QAAQ,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC;IAC5E,MAAM,QAAQ,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC;IAC5E,MAAM,YAAY,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,cAAc,CAAC,CAAC;IACpF,MAAM,OAAO,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC;IAE1E,OAAO;QACL,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnC,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnC,YAAY,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3C,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjC,aAAa,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxC,gBAAgB,EAAE,CAAC,GAAG,QAAQ,EAAE,GAAG,YAAY,EAAE,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC9E,CAAC;AACJ,CAAC;AAaD,MAAM,UAAU,gBAAgB;IAC9B,OAAO,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACtC,SAAS,EAAE,CAAC,CAAC,SAAS;QACtB,aAAa,EAAE,CAAC,CAAC,EAAE;QACnB,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC;QAC7B,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC;QAC7B,oBAAoB,EAAE,CAAC,GAAG,CAAC,CAAC,oBAAoB,CAAC;QACjD,cAAc,EAAE,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC;QACrC,YAAY,EAAE,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC;KAClC,CAAC,CAAC,CAAC;AACN,CAAC;AAED,SAAS,aAAa,CAAC,CAAkB;IACvC,OAAO,CACL,CAAC,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC;QACzB,CAAC,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC;QACzB,CAAC,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,CAC9B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB;IAChC,OAAO,oBAAoB;SACxB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;SAChC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACX,SAAS,EAAE,CAAC,CAAC,SAAS;QACtB,aAAa,EAAE,CAAC,CAAC,EAAE;QACnB,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC;QAC7B,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC;QAC7B,oBAAoB,EAAE,CAAC,GAAG,CAAC,CAAC,oBAAoB,CAAC;QACjD,cAAc,EAAE,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC;QACrC,YAAY,EAAE,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC;KAClC,CAAC,CAAC,CAAC;AACR,CAAC"}