soloforge 1.1.33 → 1.1.35

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 (484) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/dist/adapters/shared/workflow_template.js +1 -1
  3. package/dist/bin/commands/check_bash.d.ts +6 -0
  4. package/dist/bin/commands/check_bash.d.ts.map +1 -1
  5. package/dist/bin/commands/check_bash.js +68 -1
  6. package/dist/bin/commands/check_bash.js.map +1 -1
  7. package/dist/bin/commands/check_write.d.ts +23 -0
  8. package/dist/bin/commands/check_write.d.ts.map +1 -1
  9. package/dist/bin/commands/check_write.js +110 -0
  10. package/dist/bin/commands/check_write.js.map +1 -1
  11. package/dist/bin/commands/init.d.ts.map +1 -1
  12. package/dist/bin/commands/init.js +7 -1
  13. package/dist/bin/commands/init.js.map +1 -1
  14. package/dist/engine/audit/code_reviewer.d.ts +2 -0
  15. package/dist/engine/audit/code_reviewer.d.ts.map +1 -1
  16. package/dist/engine/audit/code_reviewer.js +4 -3
  17. package/dist/engine/audit/code_reviewer.js.map +1 -1
  18. package/dist/engine/audit/mutation_audit.d.ts +5 -1
  19. package/dist/engine/audit/mutation_audit.d.ts.map +1 -1
  20. package/dist/engine/audit/mutation_audit.js +18 -1
  21. package/dist/engine/audit/mutation_audit.js.map +1 -1
  22. package/dist/engine/audit/test_quality.d.ts.map +1 -1
  23. package/dist/engine/audit/test_quality.js +9 -0
  24. package/dist/engine/audit/test_quality.js.map +1 -1
  25. package/dist/engine/config/config_auto_repair.d.ts.map +1 -1
  26. package/dist/engine/config/config_auto_repair.js +3 -1
  27. package/dist/engine/config/config_auto_repair.js.map +1 -1
  28. package/dist/engine/config/zero_config_init.d.ts.map +1 -1
  29. package/dist/engine/config/zero_config_init.js +42 -2
  30. package/dist/engine/config/zero_config_init.js.map +1 -1
  31. package/dist/engine/contracts/artifact_process_rules.d.ts +46 -0
  32. package/dist/engine/contracts/artifact_process_rules.d.ts.map +1 -0
  33. package/dist/engine/contracts/artifact_process_rules.js +396 -0
  34. package/dist/engine/contracts/artifact_process_rules.js.map +1 -0
  35. package/dist/engine/contracts/artifact_schema_registry.d.ts +137 -0
  36. package/dist/engine/contracts/artifact_schema_registry.d.ts.map +1 -0
  37. package/dist/engine/contracts/artifact_schema_registry.js +773 -0
  38. package/dist/engine/contracts/artifact_schema_registry.js.map +1 -0
  39. package/dist/engine/contracts/behavior_coverage_verifier.d.ts +35 -0
  40. package/dist/engine/contracts/behavior_coverage_verifier.d.ts.map +1 -0
  41. package/dist/engine/contracts/behavior_coverage_verifier.js +220 -0
  42. package/dist/engine/contracts/behavior_coverage_verifier.js.map +1 -0
  43. package/dist/engine/contracts/capability_registry.d.ts.map +1 -1
  44. package/dist/engine/contracts/capability_registry.js +74 -0
  45. package/dist/engine/contracts/capability_registry.js.map +1 -1
  46. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_extension.js +2 -2
  47. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_platform.d.ts.map +1 -1
  48. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_platform.js +61 -2
  49. package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_platform.js.map +1 -1
  50. package/dist/engine/contracts/error_path_verifier.d.ts +36 -0
  51. package/dist/engine/contracts/error_path_verifier.d.ts.map +1 -0
  52. package/dist/engine/contracts/error_path_verifier.js +131 -0
  53. package/dist/engine/contracts/error_path_verifier.js.map +1 -0
  54. package/dist/engine/contracts/lazy_pattern_detector.d.ts +43 -0
  55. package/dist/engine/contracts/lazy_pattern_detector.d.ts.map +1 -0
  56. package/dist/engine/contracts/lazy_pattern_detector.js +164 -0
  57. package/dist/engine/contracts/lazy_pattern_detector.js.map +1 -0
  58. package/dist/engine/contracts/mechanism_contract_registry/contracts-governance.d.ts.map +1 -1
  59. package/dist/engine/contracts/mechanism_contract_registry/contracts-governance.js +29 -0
  60. package/dist/engine/contracts/mechanism_contract_registry/contracts-governance.js.map +1 -1
  61. package/dist/engine/contracts/omission_scanner.d.ts +83 -0
  62. package/dist/engine/contracts/omission_scanner.d.ts.map +1 -0
  63. package/dist/engine/contracts/omission_scanner.js +191 -0
  64. package/dist/engine/contracts/omission_scanner.js.map +1 -0
  65. package/dist/engine/contracts/template_schema_loader.d.ts +79 -0
  66. package/dist/engine/contracts/template_schema_loader.d.ts.map +1 -0
  67. package/dist/engine/contracts/template_schema_loader.js +301 -0
  68. package/dist/engine/contracts/template_schema_loader.js.map +1 -0
  69. package/dist/engine/knowledge/knowledge_injection_boundary.d.ts +21 -4
  70. package/dist/engine/knowledge/knowledge_injection_boundary.d.ts.map +1 -1
  71. package/dist/engine/knowledge/knowledge_injection_boundary.js +96 -22
  72. package/dist/engine/knowledge/knowledge_injection_boundary.js.map +1 -1
  73. package/dist/engine/pipeline/intent_expander/expand.d.ts.map +1 -1
  74. package/dist/engine/pipeline/intent_expander/expand.js +2 -2
  75. package/dist/engine/pipeline/intent_expander/expand.js.map +1 -1
  76. package/dist/engine/pipeline/intent_expander/knowledge.d.ts +2 -1
  77. package/dist/engine/pipeline/intent_expander/knowledge.d.ts.map +1 -1
  78. package/dist/engine/pipeline/intent_expander/knowledge.js +34 -1
  79. package/dist/engine/pipeline/intent_expander/knowledge.js.map +1 -1
  80. package/dist/engine/pipeline/intent_expander/knowledge_resolution.d.ts +2 -1
  81. package/dist/engine/pipeline/intent_expander/knowledge_resolution.d.ts.map +1 -1
  82. package/dist/engine/pipeline/intent_expander/knowledge_resolution.js +16 -5
  83. package/dist/engine/pipeline/intent_expander/knowledge_resolution.js.map +1 -1
  84. package/dist/engine/pipeline/intent_expander/scope_acceptance.d.ts +6 -2
  85. package/dist/engine/pipeline/intent_expander/scope_acceptance.d.ts.map +1 -1
  86. package/dist/engine/pipeline/intent_expander/scope_acceptance.js +6 -1
  87. package/dist/engine/pipeline/intent_expander/scope_acceptance.js.map +1 -1
  88. package/dist/engine/pipeline/intent_expander/templates.d.ts.map +1 -1
  89. package/dist/engine/pipeline/intent_expander/templates.js +99 -0
  90. package/dist/engine/pipeline/intent_expander/templates.js.map +1 -1
  91. package/dist/engine/pipeline/intent_expander/types.d.ts +3 -0
  92. package/dist/engine/pipeline/intent_expander/types.d.ts.map +1 -1
  93. package/dist/engine/pipeline/intent_router.d.ts +3 -0
  94. package/dist/engine/pipeline/intent_router.d.ts.map +1 -1
  95. package/dist/engine/pipeline/intent_router.js +34 -6
  96. package/dist/engine/pipeline/intent_router.js.map +1 -1
  97. package/dist/engine/pipeline/intent_signal_extractor.js +11 -11
  98. package/dist/engine/pipeline/intent_signal_extractor.js.map +1 -1
  99. package/dist/engine/pipeline/stage_prechecks.d.ts +83 -0
  100. package/dist/engine/pipeline/stage_prechecks.d.ts.map +1 -0
  101. package/dist/engine/pipeline/stage_prechecks.js +199 -0
  102. package/dist/engine/pipeline/stage_prechecks.js.map +1 -0
  103. package/dist/engine/pipeline/task_context/manager_setters.d.ts.map +1 -1
  104. package/dist/engine/pipeline/task_context/manager_setters.js +5 -2
  105. package/dist/engine/pipeline/task_context/manager_setters.js.map +1 -1
  106. package/dist/engine/pipeline/task_planner.d.ts +2 -0
  107. package/dist/engine/pipeline/task_planner.d.ts.map +1 -1
  108. package/dist/engine/pipeline/task_planner.js +4 -0
  109. package/dist/engine/pipeline/task_planner.js.map +1 -1
  110. package/dist/engine/release/release_issue_scenario_registry/scenarios_template_visibility.js +3 -3
  111. package/dist/engine/release/release_issue_scenario_registry/scenarios_template_visibility.js.map +1 -1
  112. package/dist/engine/release/release_readiness_gate.d.ts +4 -1
  113. package/dist/engine/release/release_readiness_gate.d.ts.map +1 -1
  114. package/dist/engine/release/release_readiness_gate.js +57 -1
  115. package/dist/engine/release/release_readiness_gate.js.map +1 -1
  116. package/dist/engine/templates/asset_manifest.d.ts.map +1 -1
  117. package/dist/engine/templates/asset_manifest.js +107 -91
  118. package/dist/engine/templates/asset_manifest.js.map +1 -1
  119. package/dist/engine/templates/consumable_asset_registry/builtin_assets_core.d.ts.map +1 -1
  120. package/dist/engine/templates/consumable_asset_registry/builtin_assets_core.js +30 -14
  121. package/dist/engine/templates/consumable_asset_registry/builtin_assets_core.js.map +1 -1
  122. package/dist/engine/templates/consumable_asset_registry/builtin_assets_dual_layer_core.js +21 -21
  123. package/dist/engine/templates/consumable_asset_registry/builtin_assets_dual_layer_core.js.map +1 -1
  124. package/dist/engine/templates/consumable_asset_registry/builtin_assets_dual_layer_ext.js +20 -20
  125. package/dist/engine/templates/consumable_asset_registry/builtin_assets_dual_layer_ext.js.map +1 -1
  126. package/dist/engine/templates/consumable_asset_registry/builtin_assets_dual_layer_ext2.d.ts.map +1 -1
  127. package/dist/engine/templates/consumable_asset_registry/builtin_assets_dual_layer_ext2.js +22 -21
  128. package/dist/engine/templates/consumable_asset_registry/builtin_assets_dual_layer_ext2.js.map +1 -1
  129. package/dist/engine/templates/consumable_asset_registry/builtin_assets_pipeline.d.ts.map +1 -1
  130. package/dist/engine/templates/consumable_asset_registry/builtin_assets_pipeline.js +10 -1
  131. package/dist/engine/templates/consumable_asset_registry/builtin_assets_pipeline.js.map +1 -1
  132. package/dist/engine/templates/consumable_asset_registry/types.d.ts +3 -1
  133. package/dist/engine/templates/consumable_asset_registry/types.d.ts.map +1 -1
  134. package/dist/engine/templates/consumable_asset_registry/types.js +1 -1
  135. package/dist/engine/templates/consumable_asset_registry/types.js.map +1 -1
  136. package/dist/engine/templates/explicit_asset_registry/adapters.js +1 -1
  137. package/dist/engine/templates/explicit_asset_registry/adapters.js.map +1 -1
  138. package/dist/engine/templates/explicit_asset_registry/artifacts_existing_system.js +29 -29
  139. package/dist/engine/templates/explicit_asset_registry/artifacts_existing_system.js.map +1 -1
  140. package/dist/engine/templates/explicit_asset_registry/artifacts_shared_part1.js +47 -47
  141. package/dist/engine/templates/explicit_asset_registry/artifacts_shared_part1.js.map +1 -1
  142. package/dist/engine/templates/explicit_asset_registry/artifacts_shared_part2.js +9 -9
  143. package/dist/engine/templates/explicit_asset_registry/artifacts_shared_part2.js.map +1 -1
  144. package/dist/engine/templates/explicit_asset_registry/checklists.js +13 -13
  145. package/dist/engine/templates/explicit_asset_registry/checklists.js.map +1 -1
  146. package/dist/engine/templates/explicit_asset_registry/contributing.d.ts +3 -0
  147. package/dist/engine/templates/explicit_asset_registry/contributing.d.ts.map +1 -0
  148. package/dist/engine/templates/explicit_asset_registry/contributing.js +19 -0
  149. package/dist/engine/templates/explicit_asset_registry/contributing.js.map +1 -0
  150. package/dist/engine/templates/explicit_asset_registry/domain.js +18 -18
  151. package/dist/engine/templates/explicit_asset_registry/domain.js.map +1 -1
  152. package/dist/engine/templates/explicit_asset_registry/gates.d.ts.map +1 -1
  153. package/dist/engine/templates/explicit_asset_registry/gates.js +140 -11
  154. package/dist/engine/templates/explicit_asset_registry/gates.js.map +1 -1
  155. package/dist/engine/templates/explicit_asset_registry/index.d.ts.map +1 -1
  156. package/dist/engine/templates/explicit_asset_registry/index.js +3 -0
  157. package/dist/engine/templates/explicit_asset_registry/index.js.map +1 -1
  158. package/dist/engine/templates/explicit_asset_registry/internal_patterns.d.ts.map +1 -1
  159. package/dist/engine/templates/explicit_asset_registry/internal_patterns.js +110 -46
  160. package/dist/engine/templates/explicit_asset_registry/internal_patterns.js.map +1 -1
  161. package/dist/engine/templates/explicit_asset_registry/internal_rules_part1.js +52 -52
  162. package/dist/engine/templates/explicit_asset_registry/internal_rules_part1.js.map +1 -1
  163. package/dist/engine/templates/explicit_asset_registry/internal_rules_part2.d.ts.map +1 -1
  164. package/dist/engine/templates/explicit_asset_registry/internal_rules_part2.js +55 -39
  165. package/dist/engine/templates/explicit_asset_registry/internal_rules_part2.js.map +1 -1
  166. package/dist/engine/templates/explicit_asset_registry/patterns_part1.js +50 -50
  167. package/dist/engine/templates/explicit_asset_registry/patterns_part1.js.map +1 -1
  168. package/dist/engine/templates/explicit_asset_registry/patterns_part2.js +50 -50
  169. package/dist/engine/templates/explicit_asset_registry/patterns_part2.js.map +1 -1
  170. package/dist/engine/templates/explicit_asset_registry/patterns_part3.js +2 -2
  171. package/dist/engine/templates/explicit_asset_registry/patterns_part3.js.map +1 -1
  172. package/dist/engine/templates/explicit_asset_registry/procedures_part1.js +66 -66
  173. package/dist/engine/templates/explicit_asset_registry/procedures_part1.js.map +1 -1
  174. package/dist/engine/templates/explicit_asset_registry/procedures_part2.d.ts.map +1 -1
  175. package/dist/engine/templates/explicit_asset_registry/procedures_part2.js +43 -26
  176. package/dist/engine/templates/explicit_asset_registry/procedures_part2.js.map +1 -1
  177. package/dist/engine/templates/explicit_asset_registry/profiles.js +3 -3
  178. package/dist/engine/templates/explicit_asset_registry/profiles.js.map +1 -1
  179. package/dist/engine/templates/explicit_asset_registry/rules_pipeline.js +18 -18
  180. package/dist/engine/templates/explicit_asset_registry/rules_pipeline.js.map +1 -1
  181. package/dist/engine/templates/explicit_asset_registry/rules_shared.d.ts.map +1 -1
  182. package/dist/engine/templates/explicit_asset_registry/rules_shared.js +128 -17
  183. package/dist/engine/templates/explicit_asset_registry/rules_shared.js.map +1 -1
  184. package/dist/engine/templates/explicit_asset_registry/scaffolds.d.ts.map +1 -1
  185. package/dist/engine/templates/explicit_asset_registry/scaffolds.js +87 -18
  186. package/dist/engine/templates/explicit_asset_registry/scaffolds.js.map +1 -1
  187. package/dist/engine/templates/standard_asset_contract.d.ts +30 -0
  188. package/dist/engine/templates/standard_asset_contract.d.ts.map +1 -1
  189. package/dist/engine/templates/standard_asset_contract.js +152 -0
  190. package/dist/engine/templates/standard_asset_contract.js.map +1 -1
  191. package/dist/engine/templates/template_asset_contract_registry.d.ts +1 -1
  192. package/dist/engine/templates/template_asset_contract_registry.d.ts.map +1 -1
  193. package/dist/engine/templates/template_asset_contract_registry.js +44 -7
  194. package/dist/engine/templates/template_asset_contract_registry.js.map +1 -1
  195. package/dist/engine/templates/template_init_sync.d.ts +7 -1
  196. package/dist/engine/templates/template_init_sync.d.ts.map +1 -1
  197. package/dist/engine/templates/template_init_sync.js +72 -19
  198. package/dist/engine/templates/template_init_sync.js.map +1 -1
  199. package/dist/engine/templates/workflow_rule_generator.d.ts +1 -1
  200. package/dist/engine/templates/workflow_rule_generator.js +2 -2
  201. package/dist/engine/templates/workflow_rule_generator.js.map +1 -1
  202. package/dist/engine/workflow/project_stage_detector.d.ts.map +1 -1
  203. package/dist/engine/workflow/project_stage_detector.js +50 -1
  204. package/dist/engine/workflow/project_stage_detector.js.map +1 -1
  205. package/dist/knowledge/index_manager.d.ts +1 -0
  206. package/dist/knowledge/index_manager.d.ts.map +1 -1
  207. package/dist/knowledge/index_manager.js +23 -1
  208. package/dist/knowledge/index_manager.js.map +1 -1
  209. package/dist/server/tools/middleware.d.ts.map +1 -1
  210. package/dist/server/tools/middleware.js +27 -11
  211. package/dist/server/tools/middleware.js.map +1 -1
  212. package/dist/server/tools/tool_groups/expand_handler.d.ts.map +1 -1
  213. package/dist/server/tools/tool_groups/expand_handler.js +4 -0
  214. package/dist/server/tools/tool_groups/expand_handler.js.map +1 -1
  215. package/dist/server/tools/tool_groups/verify_learn.d.ts.map +1 -1
  216. package/dist/server/tools/tool_groups/verify_learn.js +209 -58
  217. package/dist/server/tools/tool_groups/verify_learn.js.map +1 -1
  218. package/dist/types/analysis.d.ts +5 -0
  219. package/dist/types/analysis.d.ts.map +1 -1
  220. package/dist/types/knowledge.d.ts +13 -2
  221. package/dist/types/knowledge.d.ts.map +1 -1
  222. package/dist/types/knowledge.js.map +1 -1
  223. package/dist/types/pipeline.d.ts +35 -0
  224. package/dist/types/pipeline.d.ts.map +1 -1
  225. package/dist/types/task.d.ts +19 -0
  226. package/dist/types/task.d.ts.map +1 -1
  227. package/package.json +4 -2
  228. package/templates/artifacts/existing-system//345/216/206/345/217/262/346/225/260/346/215/256/346/270/205/346/264/227/350/204/232/346/234/254/346/250/241/347/211/210.md +8 -4
  229. package/templates/artifacts/existing-system//345/216/206/345/217/262/351/201/227/347/225/231/351/233/267/345/214/272/346/270/205/345/215/225/346/250/241/347/211/210.md +8 -4
  230. package/templates/artifacts/existing-system//345/220/221/345/220/216/345/205/274/345/256/271/346/200/247/345/220/210/350/247/204/346/212/245/345/221/212/346/250/241/347/211/210.md +8 -4
  231. package/templates/artifacts/existing-system//345/242/236/351/207/217/350/276/271/347/225/214/347/225/214/345/256/232/346/226/207/346/241/243/346/250/241/347/211/210.md +8 -4
  232. package/templates/artifacts/existing-system//346/224/271/351/200/240/345/275/261/345/223/215/350/214/203/345/233/264/350/257/204/344/274/260/346/250/241/347/211/210.md +8 -4
  233. package/templates/artifacts/existing-system//346/225/260/346/215/256/350/241/200/347/274/230/345/233/276/346/250/241/347/211/210.md +8 -4
  234. package/templates/artifacts/existing-system//346/226/260/350/200/201/351/200/273/350/276/221/346/257/224/345/257/271/346/227/245/345/277/227/346/250/241/347/211/210.md +8 -4
  235. package/templates/artifacts/existing-system//347/264/247/346/200/245/345/233/236/346/273/232/346/211/213/345/206/214/346/250/241/347/211/210.md +8 -4
  236. package/templates/artifacts/existing-system//351/232/224/347/246/273/351/200/202/351/205/215/345/231/250/346/226/271/346/241/210/346/250/241/347/211/210.md +8 -4
  237. package/templates/artifacts/shared/ADR/346/250/241/347/211/210.md +5 -2
  238. package/templates/artifacts/shared/API/346/216/245/345/217/243/350/247/204/346/240/274/346/226/207/346/241/243/346/250/241/347/211/210.md +52 -5
  239. package/templates/artifacts/shared/Bug/345/210/206/346/236/220/346/250/241/347/211/210.md +6 -5
  240. package/templates/artifacts/shared/OOD/350/256/276/350/256/241/346/221/230/350/246/201/346/250/241/347/211/210.md +5 -5
  241. package/templates/artifacts/shared/POC/347/273/223/350/256/272/346/250/241/347/211/210.md +6 -5
  242. package/templates/artifacts/shared//344/273/243/347/240/201/345/256/241/346/237/245/346/212/245/345/221/212/346/250/241/347/211/210.md +6 -3
  243. package/templates/artifacts/shared//344/273/243/347/240/201/346/263/250/351/207/212/344/270/216/346/227/245/345/277/227/351/252/214/346/224/266/346/250/241/{346/235/277.md → 347/211/210.md} +11 -14
  244. package/templates/artifacts/shared//345/210/207/347/211/207/350/256/241/345/210/222/346/250/241/347/211/210.md +5 -2
  245. package/templates/artifacts/shared//345/211/215/347/253/257/351/241/265/351/235/242/351/252/214/346/224/266/346/270/205/345/215/225.md +5 -4
  246. package/templates/artifacts/shared//345/216/237/345/236/213/350/257/264/346/230/216/346/250/241/347/211/210.md +81 -4
  247. package/templates/artifacts/shared//345/220/216/347/253/257API/351/252/214/346/224/266/346/270/205/345/215/225.md +5 -4
  248. package/templates/artifacts/shared//345/220/216/347/253/257/345/256/236/347/216/260/351/252/214/346/224/266/346/270/205/345/215/225.md +6 -8
  249. package/templates/artifacts/shared//345/256/211/345/205/250/345/256/241/350/256/241/346/250/241/347/211/210.md +6 -5
  250. package/templates/artifacts/shared//345/256/241/346/237/245/346/221/230/350/246/201.md +7 -7
  251. package/templates/artifacts/shared//346/200/247/350/203/275/345/210/206/346/236/220/346/250/241/347/211/210.md +6 -5
  252. package/templates/artifacts/shared//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 +5 -4
  253. package/templates/artifacts/shared//346/216/245/345/217/243/345/257/271/346/216/245/346/226/271/346/241/210/346/250/241/347/211/210.md +6 -5
  254. package/templates/artifacts/shared//346/225/205/351/232/234/345/244/215/347/233/230/346/250/241/347/211/210.md +6 -5
  255. package/templates/artifacts/shared//346/225/260/346/215/256/345/272/223/345/217/230/346/233/264/346/226/271/346/241/210/346/250/241/347/211/210.md +6 -5
  256. package/templates/artifacts/shared//346/225/260/346/215/256/345/272/223/345/217/230/346/233/264/351/252/214/346/224/266/346/270/205/345/215/225.md +5 -4
  257. package/templates/artifacts/shared//346/225/260/346/215/256/345/272/223/350/256/276/350/256/241/346/226/207/346/241/243/346/250/241/347/211/210.md +33 -5
  258. package/templates/artifacts/shared//346/236/266/346/236/204/350/256/276/350/256/241/346/250/241/347/211/210.md +57 -5
  259. package/templates/artifacts/shared//346/265/213/350/257/225/350/256/241/345/210/222/346/250/241/347/211/210.md +6 -5
  260. package/templates/artifacts/shared//350/256/276/350/256/241/344/270/200/350/207/264/346/200/247/351/252/214/346/224/266/346/212/245/345/221/212/346/250/241/347/211/210.md +27 -9
  261. package/templates/artifacts/shared//350/257/246/347/273/206/350/256/276/350/256/241/346/250/241/347/211/210.md +6 -5
  262. package/templates/artifacts/shared//350/277/201/347/247/273/350/257/204/344/274/260/346/250/241/347/211/210.md +6 -5
  263. package/templates/artifacts/shared//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 +5 -4
  264. package/templates/artifacts/shared//351/207/215/346/236/204/346/226/271/346/241/210/346/250/241/347/211/210.md +6 -5
  265. package/templates/artifacts/shared//351/234/200/346/261/202/345/210/206/346/236/220/346/250/241/347/211/210.md +6 -5
  266. package/templates/artifacts/shared//351/234/200/346/261/202/345/216/237/345/236/213/350/256/276/350/256/241/345/256/236/347/216/260/350/277/275/350/270/252/347/237/251/351/230/265/346/250/241/347/211/210.md +7 -10
  267. package/templates/checklists//344/270/273/351/223/276/350/267/257/346/216/245/345/205/245/351/252/214/346/224/266/346/270/205/345/215/225.md +6 -9
  268. package/templates/checklists//344/274/232/350/257/235/346/201/242/345/244/215.md +8 -14
  269. package/templates/checklists//345/267/245/344/275/234/346/265/201/351/252/214/346/224/266/346/270/205/345/215/225.md +6 -10
  270. package/templates/checklists//346/240/270/345/277/203/345/267/245/347/250/213/346/211/247/350/241/214/351/252/214/346/224/266/346/270/205/345/215/225.md +6 -9
  271. package/templates/checklists//347/237/245/350/257/206/346/263/250/345/205/245/351/252/214/346/224/266/346/270/205/345/215/225.md +7 -11
  272. package/templates/checklists//351/232/220/347/247/201/345/256/241/346/237/245/346/270/205/345/215/225.md +6 -9
  273. package/templates/checklists//351/252/214/350/257/201/351/252/214/346/224/266/346/270/205/345/215/225.md +6 -9
  274. package/templates/domain//345/244/232/347/247/237/346/210/267.md +5 -4
  275. package/templates/domain//345/256/241/350/256/241/346/227/245/345/277/227.md +5 -4
  276. package/templates/domain//345/257/274/345/205/245/345/257/274/345/207/272/350/247/204/345/210/231.md +10 -9
  277. package/templates/domain//345/267/245/344/275/234/346/265/201/345/274/225/346/223/216.md +5 -4
  278. package/templates/domain//346/212/245/350/241/250/347/273/237/350/256/241.md +5 -4
  279. package/templates/domain//346/224/257/344/273/230/350/247/204/345/210/231.md +5 -4
  280. package/templates/domain//346/225/260/346/215/256/346/235/203/351/231/220.md +5 -4
  281. package/templates/domain//351/200/232/347/224/250/346/234/272/346/242/260/346/235/241/346/254/276.md +5 -4
  282. package/templates/domain//351/200/232/347/237/245/350/247/204/345/210/231.md +10 -9
  283. package/templates/gates/existing-system/gate-/346/236/266/346/236/204/350/256/276/350/256/241.yaml +1 -0
  284. package/templates/gates/existing-system/gate-/347/216/260/346/234/211/347/263/273/347/273/237/345/210/206/346/236/220.yaml +2 -2
  285. package/templates/gates/existing-system/gate-/347/274/226/347/240/201/344/270/216/345/215/225/345/205/203/346/265/213/350/257/225.yaml +2 -1
  286. package/templates/gates/existing-system/gate-/350/257/246/347/273/206/350/256/276/350/256/241.yaml +1 -0
  287. package/templates/gates/shared/gate-/344/272/244/344/273/230.yaml +14 -0
  288. package/templates/gates/shared/gate-/344/273/273/345/212/241/350/247/204/345/210/222.yaml +3 -3
  289. package/templates/gates/shared/gate-/344/274/232/350/257/235/345/220/257/345/212/250.yaml +14 -0
  290. package/templates/gates/shared/gate-/345/206/263/347/255/226/347/240/224/350/256/250.yaml +14 -0
  291. package/templates/gates/shared/gate-/345/217/221/345/270/203/345/220/216/350/247/202/345/257/237.yaml +14 -0
  292. package/templates/gates/shared/gate-/346/234/254/345/234/260/351/252/214/346/224/266.yaml +14 -0
  293. package/templates/gates/shared/gate-/347/274/226/347/240/201/345/207/206/345/244/207.yaml +14 -0
  294. package/templates/gates/shared/gate-/347/274/226/347/240/201/345/256/236/347/216/260.yaml +14 -0
  295. package/templates/gates/shared/gate-/347/274/226/347/240/201/351/252/214/350/257/201.yaml +18 -0
  296. package/templates/internal/patterns/Diff/345/275/222/345/261/236/350/277/275/350/270/252.md +5 -5
  297. package/templates/internal/patterns/Hook/345/261/202/344/272/247/347/211/251/347/273/223/346/236/204/346/240/241/351/252/214.md +61 -0
  298. package/templates/internal/patterns/Java/350/264/250/351/207/217/351/227/250/347/246/201.md +5 -5
  299. package/templates/internal/patterns/LLM/351/242/204/347/256/227/347/275/221/345/205/263.md +5 -5
  300. package/templates/internal/patterns//344/272/247/347/211/251Schema/346/263/250/345/206/214/344/270/255/345/277/203.md +61 -0
  301. package/templates/internal/patterns//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 +5 -5
  302. package/templates/internal/patterns//344/273/273/345/212/241/347/256/241/347/220/206/345/231/250.md +5 -5
  303. package/templates/internal/patterns//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 +5 -5
  304. package/templates/internal/patterns//344/275/234/347/224/250/345/237/237/347/247/237/347/272/246.md +5 -5
  305. package/templates/internal/patterns//345/206/262/347/252/201/351/227/250/347/246/201.md +5 -5
  306. package/templates/internal/patterns//345/206/263/347/255/226/347/275/221/345/205/263.md +5 -5
  307. package/templates/internal/patterns//345/210/206/345/234/272/346/231/257/350/277/207/347/250/213/350/247/204/345/210/231.md +61 -0
  308. package/templates/internal/patterns//345/217/230/345/274/202/345/256/241/350/256/241.md +5 -5
  309. package/templates/internal/patterns//345/233/236/345/275/222/347/237/251/351/230/265.md +6 -6
  310. package/templates/internal/patterns//345/267/245/344/275/234/345/214/272/344/272/222/346/226/245/351/224/201.md +5 -5
  311. package/templates/internal/patterns//345/267/245/344/275/234/345/214/272/345/224/244/351/206/222.md +5 -5
  312. package/templates/internal/patterns//345/271/266/345/217/221/351/224/201.md +5 -5
  313. package/templates/internal/patterns//345/274/200/345/217/221/350/200/205/345/256/252/346/263/225.md +5 -5
  314. package/templates/internal/patterns//346/225/217/346/204/237/344/277/241/346/201/257/346/211/253/346/217/217.md +5 -5
  315. package/templates/internal/patterns//346/250/241/347/211/210Frontmatter/350/247/243/346/236/220.md +61 -0
  316. package/templates/internal/patterns//346/262/273/347/220/206/350/277/220/350/241/214/346/227/266/345/276/252/347/216/257.md +5 -5
  317. package/templates/internal/patterns//346/265/201/345/274/217/345/277/203/350/267/263.md +5 -5
  318. package/templates/internal/patterns//347/237/245/350/257/206/344/270/273/346/235/203.md +6 -6
  319. package/templates/internal/patterns//350/257/255/344/271/211/350/257/201/346/215/256.md +5 -5
  320. package/templates/internal/patterns//350/277/220/350/241/214/345/256/211/345/205/250/345/214/205.md +5 -5
  321. package/templates/internal/patterns//351/233/266/351/205/215/347/275/256/345/210/235/345/247/213/345/214/226.md +5 -5
  322. package/templates/internal/patterns//351/252/214/350/257/201/345/221/275/344/273/244/347/224/237/346/210/220.md +6 -6
  323. package/templates/internal/rules/OOD/344/270/216SOLID/350/256/276/350/256/241/350/247/204/345/210/231.md +7 -9
  324. package/templates/internal/rules//344/272/247/347/211/251/345/245/221/347/272/246/350/247/204/345/210/231.md +7 -9
  325. package/templates/internal/rules//344/273/243/347/240/201/346/263/250/351/207/212/344/270/216/346/227/245/345/277/227/345/245/221/347/272/246/350/247/204/345/210/231.md +7 -9
  326. package/templates/internal/rules//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/350/247/204/345/210/231.md +7 -6
  327. package/templates/internal/rules//345/220/216/347/253/257/345/256/236/347/216/260/345/267/245/347/250/213/345/245/221/347/272/246/350/247/204/345/210/231.md +7 -9
  328. package/templates/internal/rules//345/221/275/344/273/244/346/211/247/350/241/214/350/247/204/345/210/231.md +7 -9
  329. package/templates/internal/rules//345/267/245/344/275/234/346/265/201/345/245/221/347/272/246/350/247/204/345/210/231.md +8 -10
  330. package/templates/internal/rules//345/267/245/344/275/234/346/265/201/345/257/274/350/210/252/345/245/221/347/272/246/350/247/204/345/210/231.md +8 -10
  331. package/templates/internal/rules//345/267/245/344/275/234/346/265/201/346/250/241/{346/235/277 → 347/211/210}/345/214/205/350/247/204/345/210/231.md +15 -15
  332. package/templates/internal/rules//345/267/245/345/205/267/350/260/203/347/224/250/350/247/204/345/210/231.md +7 -9
  333. package/templates/internal/rules//346/204/217/345/233/276/350/267/257/347/224/261/350/247/204/345/210/231.md +7 -9
  334. package/templates/internal/rules//346/211/247/350/241/214/345/256/210/345/215/253/350/257/204/344/274/260/350/247/204/345/210/231.md +7 -9
  335. package/templates/internal/rules//346/211/251/345/261/225/347/224/237/345/221/275/345/221/250/346/234/237/350/247/204/345/210/231.md +7 -7
  336. package/templates/internal/rules//346/212/200/346/234/257/345/206/263/347/255/226/344/270/273/346/235/203/350/247/204/345/210/231.md +7 -6
  337. package/templates/internal/rules//346/225/217/346/204/237/344/277/241/346/201/257/345/244/204/347/220/206/350/247/204/345/210/231.md +8 -10
  338. package/templates/internal/rules//346/226/275/345/267/245/346/214/207/344/273/244/345/245/221/347/272/246/350/247/204/345/210/231.md +7 -7
  339. package/templates/internal/rules//346/227/245/345/277/227/346/262/273/347/220/206/350/247/204/345/210/231.md +7 -8
  340. package/templates/internal/rules//346/234/272/345/210/266/350/207/252/346/262/273/347/220/206/350/247/204/345/210/231.md +7 -8
  341. package/templates/internal/rules//346/236/266/346/236/204/345/206/263/347/255/226/347/240/224/350/256/250/350/247/204/345/210/231.md +7 -8
  342. package/templates/internal/rules//346/240/207/345/207/206/350/265/204/344/272/247/350/246/206/347/233/226/350/247/204/345/210/231.md +8 -7
  343. package/templates/internal/rules//346/240/270/345/277/203/344/275/223/351/252/214/345/216/237/345/210/231.md +9 -13
  344. package/templates/internal/rules//346/240/270/345/277/203/345/267/245/347/250/213/346/211/247/350/241/214/345/216/237/345/210/231.md +7 -9
  345. package/templates/internal/rules//346/250/241/347/211/210Frontmatter/350/247/204/350/214/203.md +281 -0
  346. package/templates/internal/rules//346/250/241/{346/235/277 → 347/211/210}/350/265/204/344/272/247/345/217/257/350/247/201/346/200/247/350/247/204/345/210/231.md +10 -9
  347. package/templates/internal/rules//346/263/250/345/206/214/350/241/250/345/237/272/347/241/200/350/256/276/346/226/275/350/247/204/345/210/231.md +10 -12
  348. package/templates/internal/rules//346/274/224/350/277/233/345/233/236/345/275/222/351/227/250/346/216/247/350/247/204/345/210/231.md +14 -13
  349. package/templates/internal/rules//347/224/250/346/210/267/345/217/215/351/246/210/345/245/221/347/272/246/350/247/204/345/210/231.md +12 -14
  350. package/templates/internal/rules//347/237/245/350/257/206/346/262/273/347/220/206/350/247/204/345/210/231.md +8 -10
  351. package/templates/internal/rules//347/237/245/350/257/206/346/263/250/345/205/245/350/276/271/347/225/214/350/247/204/345/210/231.md +9 -11
  352. package/templates/internal/rules//347/237/245/350/257/206/350/265/204/344/272/247/346/262/273/347/220/206/350/247/204/345/210/231.md +10 -17
  353. package/templates/internal/rules//347/254/254/344/270/200/346/200/247/345/216/237/347/220/206/346/216/250/347/220/206/350/247/204/345/210/231.md +10 -9
  354. package/templates/internal/rules//347/273/206/350/212/202/347/272/252/345/276/213/350/247/204/345/210/231.md +7 -6
  355. package/templates/internal/rules//350/204/221/346/232/264/344/270/216/346/226/271/346/241/210/346/216/242/347/264/242/350/247/204/345/210/231.md +7 -6
  356. package/templates/internal/rules//350/256/241/345/210/222/345/211/215/347/275/256/351/227/250/350/247/204/345/210/231.md +8 -11
  357. package/templates/internal/rules//350/256/276/350/256/241/344/272/247/347/211/251/345/214/205/350/247/204/345/210/231.md +7 -8
  358. package/templates/internal/rules//350/257/201/346/215/256/351/251/261/345/212/250/344/270/216/345/217/215/345/271/273/350/247/211/350/247/204/345/210/231.md +7 -7
  359. package/templates/internal/rules//350/267/250/345/271/263/345/217/260/350/267/257/345/276/204/345/256/211/345/205/250/350/247/204/345/210/231.md +7 -7
  360. package/templates/internal/rules//350/276/223/345/205/245/346/235/220/346/226/231/345/245/221/347/272/246/350/247/204/345/210/231.md +8 -10
  361. package/templates/internal/rules//351/200/232/347/224/250/345/206/263/347/255/226/347/240/224/350/256/250/350/247/204/345/210/231.md +6 -5
  362. package/templates/internal/rules//351/205/215/347/275/256/344/274/230/345/205/210/347/272/247/350/247/204/345/210/231.md +8 -10
  363. package/templates/internal/rules//351/205/215/347/275/256/350/220/275/347/233/230/350/276/271/347/225/214/350/247/204/345/210/231.md +7 -6
  364. package/templates/internal/rules//351/230/262/345/255/244/345/262/233/345/256/236/347/216/260/350/247/204/345/210/231.md +7 -9
  365. package/templates/internal/rules//351/233/266/351/205/215/347/275/256/345/210/235/345/247/213/345/214/226/350/247/204/345/210/231.md +9 -11
  366. package/templates/internal/rules//351/252/214/346/224/266/346/250/241/{346/235/277 → 347/211/210}/350/276/223/345/207/272/345/245/221/347/272/246/350/247/204/345/210/231.md +14 -16
  367. package/templates/internal/rules//351/252/214/350/257/201/345/245/221/347/272/246/350/247/204/345/210/231.md +7 -9
  368. package/templates/patterns/API/350/256/276/350/256/241/350/247/204/350/214/203.md +4 -3
  369. package/templates/patterns/Docker/351/203/250/347/275/262/350/247/204/350/214/203.md +4 -3
  370. package/templates/patterns/Git/346/223/215/344/275/234/350/247/204/350/214/203.md +4 -3
  371. package/templates/patterns/N/345/212/2401/346/237/245/350/257/242/350/247/204/350/214/203.md +4 -3
  372. package/templates/patterns/React/345/210/227/350/241/250/350/241/250/346/240/274/350/247/204/350/214/203.md +5 -4
  373. package/templates/patterns/React/346/216/245/345/217/243/351/233/206/346/210/220/350/247/204/350/214/203.md +4 -3
  374. package/templates/patterns/React/347/212/266/346/200/201/347/256/241/347/220/206/350/247/204/350/214/203.md +4 -3
  375. package/templates/patterns/React/347/273/204/344/273/266/350/247/204/350/214/203.md +4 -3
  376. package/templates/patterns/React/350/241/250/345/215/225/350/247/204/350/214/203.md +4 -3
  377. package/templates/patterns/React/350/267/257/347/224/261/350/247/204/350/214/203.md +4 -3
  378. package/templates/patterns/SOLID/350/256/276/350/256/241/350/247/204/350/214/203.md +3 -3
  379. package/templates/patterns/Schema/345/205/274/345/256/271/350/247/204/350/214/203.md +4 -3
  380. package/templates/patterns/Vue/347/212/266/346/200/201/347/256/241/347/220/206/350/247/204/350/214/203.md +4 -3
  381. package/templates/patterns/Vue/347/273/204/344/273/266/350/247/204/350/214/203.md +4 -3
  382. package/templates/patterns/Vue/350/267/257/347/224/261/350/247/204/350/214/203.md +4 -3
  383. package/templates/patterns//344/272/213/344/273/266/351/251/261/345/212/250/350/247/204/350/214/203.md +4 -3
  384. package/templates/patterns//344/272/213/345/212/241/346/250/241/345/274/217/350/247/204/350/214/203.md +4 -3
  385. package/templates/patterns//344/274/230/351/233/205/345/201/234/346/234/272/350/247/204/350/214/203.md +4 -3
  386. package/templates/patterns//345/205/250/346/240/210/346/265/201/347/250/213/344/277/256/345/244/215.md +4 -3
  387. package/templates/patterns//345/210/206/351/241/265/346/237/245/350/257/242/350/247/204/350/214/203.md +4 -3
  388. package/templates/patterns//345/211/215/347/253/257/346/200/247/350/203/275/350/247/204/350/214/203.md +4 -3
  389. package/templates/patterns//345/220/216/347/253/257/345/256/236/347/216/260/345/267/245/347/250/213/350/247/204/350/214/203.md +3 -3
  390. package/templates/patterns//345/221/275/345/220/215/350/247/204/350/214/203.md +4 -3
  391. package/templates/patterns//345/233/275/351/231/205/345/214/226/350/247/204/350/214/203.md +5 -4
  392. package/templates/patterns//345/242/236/345/210/240/346/224/271/346/237/245/350/247/204/350/214/203.md +4 -3
  393. package/templates/patterns//345/244/226/351/203/250/344/276/235/350/265/226/350/247/204/350/214/203.md +4 -3
  394. package/templates/patterns//345/245/221/347/272/246/345/205/274/345/256/271/350/247/204/350/214/203.md +4 -3
  395. package/templates/patterns//345/256/232/346/227/266/344/273/273/345/212/241/350/247/204/350/214/203.md +4 -3
  396. package/templates/patterns//345/256/236/346/227/266/346/216/250/351/200/201/350/247/204/350/214/203.md +4 -3
  397. package/templates/patterns//345/267/245/347/250/213/347/272/252/345/276/213.md +4 -3
  398. package/templates/patterns//345/271/266/345/217/221/346/216/247/345/210/266/350/247/204/350/214/203.md +4 -3
  399. package/templates/patterns//345/274/202/346/255/245/345/257/274/345/207/272/350/247/204/350/214/203.md +4 -3
  400. package/templates/patterns//346/216/245/345/217/243/345/245/221/347/272/246/350/247/204/350/214/203.md +4 -3
  401. package/templates/patterns//346/220/234/347/264/242/346/250/241/345/274/217/350/247/204/350/214/203.md +4 -3
  402. package/templates/patterns//346/225/260/346/215/256/351/232/220/347/247/201/350/247/204/350/214/203.md +4 -3
  403. package/templates/patterns//346/226/207/344/273/266/344/270/212/344/274/240/350/247/204/350/214/203.md +4 -3
  404. package/templates/patterns//346/227/240/351/232/234/347/242/215/350/247/204/350/214/203.md +4 -3
  405. package/templates/patterns//346/227/245/345/277/227/350/247/204/350/214/203.md +4 -3
  406. package/templates/patterns//346/235/203/351/231/220/350/256/244/350/257/201/350/247/204/350/214/203.md +4 -3
  407. package/templates/patterns//346/236/266/346/236/204/347/272/242/347/272/277.md +4 -3
  408. package/templates/patterns//346/265/213/350/257/225/350/264/250/351/207/217/350/247/204/350/214/203.md +4 -3
  409. package/templates/patterns//347/206/224/346/226/255/351/231/215/347/272/247/350/247/204/350/214/203.md +4 -3
  410. package/templates/patterns//347/212/266/346/200/201/346/265/201/350/275/254/350/247/204/350/214/203.md +4 -3
  411. package/templates/patterns//347/272/246/346/235/237/345/256/236/347/216/260/350/247/204/350/214/203.md +4 -3
  412. package/templates/patterns//347/274/223/345/255/230/347/255/226/347/225/245/350/247/204/350/214/203.md +4 -3
  413. package/templates/patterns//347/274/226/347/240/201/350/264/250/351/207/217/350/247/204/350/214/203.md +4 -3
  414. package/templates/patterns//347/274/272/351/231/267/347/256/241/347/220/206/350/247/204/350/214/203.md +5 -4
  415. package/templates/patterns//350/260/203/350/257/225/346/226/271/346/263/225/350/256/272.md +4 -3
  416. package/templates/patterns//350/276/223/345/205/245/346/240/241/351/252/214/350/247/204/350/214/203.md +4 -3
  417. package/templates/patterns//351/224/231/350/257/257/345/244/204/347/220/206/350/247/204/350/214/203.md +4 -3
  418. package/templates/patterns//351/224/231/350/257/257/350/276/271/347/225/214/350/247/204/350/214/203.md +4 -3
  419. package/templates/patterns//351/242/206/345/237/237/351/251/261/345/212/250/350/256/276/350/256/241/350/247/204/350/214/203.md +4 -3
  420. package/templates/procedures/OOD/350/256/276/350/256/241/345/267/245/344/275/234/346/265/201.md +7 -4
  421. package/templates/procedures/Schema/345/217/230/346/233/264/346/265/201/346/260/264/347/272/277.md +9 -9
  422. package/templates/procedures//344/270/273/351/223/276/350/267/257/346/216/245/345/205/245/351/252/214/350/257/201/346/265/201/347/250/213.md +8 -9
  423. package/templates/procedures//344/273/243/347/240/201/351/227/250/347/246/201/346/265/201/347/250/213.md +6 -7
  424. package/templates/procedures//344/273/273/345/212/241/346/213/206/350/247/243/346/265/201/347/250/213.md +6 -7
  425. package/templates/procedures//344/274/232/350/257/235/346/201/242/345/244/215/346/265/201/347/250/213.md +85 -0
  426. package/templates/procedures//345/205/250/347/224/237/345/221/275/345/221/250/346/234/237/345/267/245/344/275/234/346/265/201/345/257/274/350/210/252.md +6 -9
  427. package/templates/procedures//345/212/237/350/203/275/345/274/200/345/217/221/346/265/201/347/250/213.md +6 -7
  428. package/templates/procedures//345/220/216/347/253/257/346/216/245/345/217/243/345/256/236/347/216/260/345/267/245/344/275/234/346/265/201.md +4 -4
  429. package/templates/procedures//345/221/275/344/273/244/346/211/247/350/241/214/346/265/201/347/250/213.md +7 -8
  430. package/templates/procedures//345/256/211/345/205/250/345/212/240/345/233/272/346/265/201/346/260/264/347/272/277.md +9 -9
  431. package/templates/procedures//345/267/245/345/205/267/350/260/203/347/224/250/346/265/201/347/250/213.md +7 -8
  432. package/templates/procedures//346/200/247/350/203/275/346/265/201/346/260/264/347/272/277.md +9 -9
  433. package/templates/procedures//346/204/217/345/233/276/350/267/257/347/224/261/346/265/201/347/250/213.md +6 -8
  434. package/templates/procedures//346/216/245/345/217/243/351/233/206/346/210/220/346/265/201/346/260/264/347/272/277.md +10 -10
  435. package/templates/procedures//346/225/260/346/215/256/345/272/223/350/277/201/347/247/273/346/265/201/347/250/213.md +7 -7
  436. package/templates/procedures//346/234/254/345/234/260/346/265/217/350/247/210/345/231/250/351/252/214/346/224/266/345/267/245/344/275/234/346/265/201.md +6 -7
  437. package/templates/procedures//346/236/266/346/236/204/345/206/263/347/255/226/347/240/224/350/256/250/345/267/245/344/275/234/346/265/201.md +5 -5
  438. package/templates/procedures//346/236/266/346/236/204/350/256/276/350/256/241/345/267/245/344/275/234/346/265/201.md +8 -8
  439. package/templates/procedures//346/246/202/345/277/265/351/252/214/350/257/201/346/265/201/346/260/264/347/272/277.md +9 -9
  440. package/templates/procedures//346/265/213/350/257/225/344/274/230/345/205/210/347/274/226/347/240/201/345/267/245/344/275/234/346/265/201.md +6 -7
  441. package/templates/procedures//346/272/220/347/240/201/345/216/237/345/236/213/344/272/244/344/273/230/346/265/201/347/250/213.md +8 -9
  442. package/templates/procedures//347/216/260/346/234/211/347/263/273/347/273/237/345/267/256/350/267/235/345/210/206/346/236/220/345/267/245/344/275/234/346/265/201.md +8 -7
  443. package/templates/procedures//347/237/245/350/257/206/347/273/264/346/212/244/346/265/201/346/260/264/347/272/277.md +7 -8
  444. package/templates/procedures//347/264/247/346/200/245/344/277/256/345/244/215/346/265/201/346/260/264/347/272/277.md +9 -9
  445. package/templates/procedures//347/274/226/347/240/201/345/211/215/346/276/204/346/270/205/346/265/201/347/250/213.md +9 -10
  446. package/templates/procedures//350/207/252/344/270/273/351/200/211/345/236/213/346/265/201/347/250/213.md +7 -7
  447. package/templates/procedures//350/256/276/350/256/241/344/272/247/347/211/251/347/224/237/346/210/220/344/270/216/345/244/215/351/252/214/345/267/245/344/275/234/346/265/201.md +4 -4
  448. package/templates/procedures//350/257/246/347/273/206/350/256/276/350/256/241/346/265/201/347/250/213.md +8 -7
  449. package/templates/procedures//350/260/203/350/257/225/346/216/222/346/237/245/346/265/201/347/250/213.md +7 -7
  450. package/templates/procedures//350/277/201/347/247/273/346/265/201/346/260/264/347/272/277.md +9 -9
  451. package/templates/procedures//351/203/250/347/275/262/345/217/221/345/270/203/346/265/201/347/250/213.md +6 -7
  452. package/templates/procedures//351/207/215/346/236/204/346/265/201/346/260/264/347/272/277.md +9 -9
  453. package/templates/procedures//351/233/206/346/210/220/351/252/214/350/257/201/346/265/201/347/250/213.md +6 -7
  454. package/templates/procedures//351/234/200/346/261/202/346/276/204/346/270/205/346/265/201/347/250/213.md +5 -6
  455. package/templates/procedures//351/252/214/346/224/266/346/265/213/350/257/225/350/247/204/345/210/222.md +7 -8
  456. package/templates/rules/existing-system//345/205/274/345/256/271/346/200/247/346/243/200/346/237/245/350/247/204/345/210/231.md +7 -3
  457. package/templates/rules/existing-system//350/200/246/345/220/210/346/243/200/346/265/213/350/247/204/345/210/231.md +7 -3
  458. package/templates/rules/existing-system//350/257/225/350/277/220/350/241/214/347/206/224/346/226/255/350/247/204/345/210/231.md +7 -3
  459. package/templates/rules/existing-system//351/230/262/345/276/241/346/200/247/347/274/226/347/240/201/350/247/204/345/210/231.md +7 -3
  460. package/templates/rules/existing-system//351/233/267/345/214/272/345/217/215/346/250/241/345/274/217/346/270/205/345/215/225.md +7 -3
  461. package/templates/rules/new-system//350/201/224/350/260/203/350/256/276/350/256/241/347/274/272/351/231/267/345/210/244/345/256/232/350/247/204/345/210/231.md +7 -3
  462. package/templates/rules/shared/SOLID/344/273/243/347/240/201/345/256/241/346/237/245/350/247/204/345/210/231.md +6 -4
  463. package/templates/rules/shared//344/270/200/350/207/264/346/200/247/346/240/241/351/252/214/350/247/204/345/210/231.md +6 -3
  464. package/templates/rules/shared//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 +4 -6
  465. package/templates/rules/shared//344/273/243/347/240/201/345/217/257/347/273/264/346/212/244/346/200/247/344/270/216/345/217/257/350/247/202/346/265/213/346/200/247/345/256/241/346/237/245.md +5 -5
  466. package/templates/rules/shared//345/206/263/347/255/226/345/256/214/346/225/264/346/200/247/345/256/241/346/237/245/350/247/204/345/210/231.md +57 -0
  467. package/templates/rules/shared//345/217/221/345/270/203/345/220/216/345/256/241/346/237/245/350/247/204/345/210/231.md +58 -0
  468. package/templates/rules/shared//345/220/216/347/253/257/345/256/236/347/216/260/345/267/245/347/250/213/345/256/241/346/237/245/350/247/204/345/210/231.md +6 -4
  469. package/templates/rules/shared//345/256/211/345/205/250/345/256/241/346/237/245/350/247/204/345/210/231.md +4 -6
  470. package/templates/rules/shared//345/271/266/345/217/221/345/256/241/346/237/245/350/247/204/345/210/231.md +4 -6
  471. package/templates/rules/shared//346/200/247/350/203/275/345/256/241/346/237/245/350/247/204/345/210/231.md +4 -6
  472. package/templates/rules/shared//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 +4 -6
  473. package/templates/rules/shared//346/236/266/346/236/204/345/256/241/346/237/245/350/247/204/345/210/231.md +4 -6
  474. package/templates/rules/shared//347/274/226/347/240/201/345/260/261/347/273/252/345/256/241/346/237/245/350/247/204/345/210/231.md +58 -0
  475. package/templates/rules/shared//350/201/224/350/260/203/351/252/214/350/257/201/346/270/205/345/215/225.md +6 -3
  476. package/templates/rules/shared//350/246/206/347/233/226/347/216/207/346/240/207/345/207/206.md +7 -4
  477. package/templates/rules/shared//350/264/250/351/207/217/345/256/241/346/237/245/350/247/204/345/210/231.md +4 -6
  478. package/templates/rules/shared//351/234/200/346/261/202/350/264/250/351/207/217/345/256/241/346/237/245/350/247/204/345/210/231.md +64 -0
  479. package/templates/rules/shared//351/252/214/346/224/266/346/240/207/345/207/206/345/256/241/346/237/245/350/247/204/345/210/231.md +58 -0
  480. package/templates/scaffolds/react/ErrorBoundary.tsx.hbs +49 -0
  481. package/templates/scaffolds/react/Layout.tsx.hbs +20 -0
  482. package/templates/scaffolds/spring-boot/ControllerTest.java.hbs +36 -0
  483. package/templates/scaffolds/spring-boot/Mapper.xml.hbs +29 -0
  484. package/templates//346/250/241/347/211/210/350/264/241/347/214/256/346/214/207/345/215/227.md +147 -0
@@ -1 +1 @@
1
- {"version":3,"file":"expand_handler.js","sourceRoot":"","sources":["../../../../src/server/tools/tool_groups/expand_handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"expand_handler.js","sourceRoot":"","sources":["../../../../src/server/tools/tool_groups/expand_handler.ts"],"names":[],"mappings":"AAAA,wBAAwB;AACxB,sCAAsC;AACtC,kBAAkB;AAElB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,QAAQ,IAAI,GAAG,EAAE,MAAM,SAAS,CAAC;AAE1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EACL,YAAY,EACZ,sBAAsB,EACtB,oBAAoB,EACpB,YAAY,EACZ,yBAAyB,EACzB,qBAAqB,EACrB,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,GACb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,2BAA2B,GAC5B,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,qCAAqC,EACrC,2BAA2B,EAC3B,+BAA+B,GAChC,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,4BAA4B,EAC5B,yBAAyB,EACzB,wBAAwB,EACxB,mBAAmB,GACpB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,qBAAqB,EAAE,MAAM,8CAA8C,CAAC;AACrF,OAAO,EAAE,sBAAsB,EAAE,MAAM,sDAAsD,CAAC;AAC9F,OAAO,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAClF,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,iDAAiD,CAAC;AAElF,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,GAA4B;IACnE,MAAM,EAAE,gBAAgB,EAAE,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACtD,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,GAAG,CAAC;IAExF,8CAA8C;IAC9C,gBAAgB,CACd,WAAW,EACX,4DAA4D,EAC5D,YAAY,EACZ,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACjD,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;YAChC,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,6BAA6B,EAAE,EAAE,CAAC;QAC9D,CAAC;QAED,yCAAyC;QACzC,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,KAAK,MAAM,KAAK,IAAI,sBAAsB,EAAE,CAAC;YAC3C,sBAAsB;YACtB,MAAM,GAAG,GAAI,IAAgC,CAAC,KAAK,CAAC,IAAK,GAA0C,CAAC,KAAK,CAAC,CAAC;YAC3G,IAAI,CAAC,GAAG;gBAAE,SAAS;YACnB,MAAM,MAAM,GAAG,mBAAmB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC/C,IAAI,MAAM,CAAC,KAAK;gBAAE,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,EAAE,CAAC;YACtF,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBAChB,GAA0C,CAAC,KAAK,CAAC,GAAG,KAAK,KAAK,mBAAmB;oBAChF,CAAC,CAAC,CAAC,CAAC,MAAM,oBAAoB,EAAE,CAAC,CAAC,iCAAiC,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC;oBAChH,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gBACjB,SAAS,GAAG,IAAI,CAAC;YACnB,CAAC;QACH,CAAC;QACD,IAAI,SAAS;YAAE,MAAM,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAE3C,2DAA2D;QAC3D,IAAI,GAAG,CAAC,MAAM,KAAK,aAAa,IAAI,GAAG,CAAC,MAAM,KAAK,YAAY,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC3F,MAAM,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YAC1D,GAAG,CAAC,MAAM,GAAG,WAAW,CAAC;QAC3B,CAAC;aAAM,IAAI,GAAG,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YACtC,OAAO;gBACf,MAAM,EAAE,EAAE,KAAK,EAAE,QAAQ,GAAG,CAAC,MAAM,kCAAkC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE;aAClF,CAAC;QACJ,CAAC;QAED,kBAAkB;QAClB,IAAI,WAAW,CAAC;QAChB,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,kBAAkB,GAAG,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;YACzH,MAAM,WAAW,GAAG,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;YAC5E,MAAM,eAAe,GAA2B,EAAE,CAAC;YAEnD,wBAAwB;YACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAAC,EAAE,EAAE,CAAC;gBACzD,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBACvC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;oBACrB,IAAI,CAAC;wBACH,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;wBAC5C,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;wBAC7D,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC;oBACxC,CAAC;oBAAC,MAAM,CAAC;wBACP,WAAW;oBACb,CAAC;gBACH,CAAC;YACH,CAAC;YAED,WAAW,GAAG,EAAE,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,eAAe,EAAE,CAAC;QACjF,CAAC;QAED,sCAAsC;QACtC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAChC,IAAI,SAAoE,CAAC;QACzE,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;YAC1D,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;gBACxB,SAAS,GAAG,EAAE,OAAO,EAAE,gBAAgB,UAAU,CAAC,MAAM,EAAE,EAAE,gBAAgB,EAAE,UAAU,CAAC,gBAAgB,EAAE,CAAC;YAC9G,CAAC;QACH,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,SAAS,GAAG,EAAE,OAAO,EAAE,gBAAgB,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,gBAAgB,EAAE,CAAC,EAAE,CAAC;QAClF,CAAC;QAED,uCAAuC;QACvC,IAAI,aAAiC,CAAC;QACtC,MAAM,UAAU,GAAG,MAAM,YAAY,CAAC,QAAQ,EAAE,CAAC;QACjD,IAAI,UAAU,CAAC,MAAM,IAAI,UAAU,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;YAC7D,aAAa,GAAG,wBAAwB,UAAU,CAAC,OAAO,OAAO,UAAU,CAAC,MAAM,IAAI,IAAI,gBAAgB,CAAC;QAC7G,CAAC;QAED,IAAI,SAAS,CAAC;QACd,IAAI,CAAC;YACH,oBAAoB;YACpB,MAAM,aAAa,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;YAC3C,SAAS,GAAG,MAAM,CAAC,MAAM,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC;gBAC9C,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,cAAc,EAAE,GAAG,CAAC,cAAc;gBAClC,WAAW;gBACX,MAAM;gBACN,cAAc;gBACd,oBAAoB,EAAE,IAAI,CAAC,qBAAqB;gBAChD,cAAc,EAAE,GAAG,CAAC,cAAc,EAAE,cAAc;gBAClD,YAAY,EAAE,WAAW;gBACzB,4BAA4B,EAAE,IAAI,CAAC,4BAA4B;gBAC/D,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,kBAAkB,EAAE,GAAG,CAAC,kBAAkB,IAAI,SAAS;gBACvD,UAAU,EAAE,aAAa;aAC1B,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,SAAS,EAAE,CAAC;YACnB,oCAAoC;YACpC,IAAI,CAAC;gBACH,MAAM,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YACzD,CAAC;YAAC,MAAM,CAAC;gBACP,2BAA2B;YAC7B,CAAC;YACD,MAAM,SAAS,CAAC;QAClB,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,SAAS;gBAAE,OAAO,CAAC,iBAAiB,EAAE,CAAC;YAC5C,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,CAAC;QAED,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QACjC,MAAM,WAAW,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACpD,MAAM,uBAAuB,GAAG,IAAI,GAAG,CACrC,CAAC,SAAS,CAAC,eAAe,IAAI,EAAE,CAAC;aAC9B,GAAG,CAAC,CAAC,QAAiC,EAAE,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;aAChE,MAAM,CAAC,CAAC,YAAqB,EAA0B,EAAE,CAAC,OAAO,YAAY,KAAK,QAAQ,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;aACtH,GAAG,CAAC,CAAC,YAAoB,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,sBAAsB,CAAC,YAAY,CAAC,CAAC,CAAC,CAClG,CAAC;QACF,MAAM,oBAAoB,GAAG,CAAC,IAAI,CAAC,4BAA4B,IAAI,EAAE,CAAC;aACnE,GAAG,CAAC,CAAC,YAAoB,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,sBAAsB,CAAC,YAAY,CAAC,CAAC,CAAC;aAC9F,MAAM,CAAC,CAAC,YAAoB,EAAE,EAAE,CAAC,sBAAsB,CAAC,YAAY,EAAE,WAAW,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;aAC7G,MAAM,CAAC,CAAC,YAAoB,EAAE,EAAE,CAAC,uBAAuB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC;QAC/E,MAAM,2BAA2B,GAAa,EAAE,CAAC;QACjD,KAAK,MAAM,YAAY,IAAI,oBAAoB,EAAE,CAAC;YAChD,IAAI,CAAC;gBACH,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,EAAE;uBACtC,CAAC,MAAM,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;oBAChF,2BAA2B,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBACjD,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,SAAS;YACX,CAAC;QACH,CAAC;QACD,MAAM,+BAA+B,GAAG,CAAC,QAWxC,EAAE,EAAE;YACH,KAAK,MAAM,YAAY,IAAI,2BAA2B,EAAE,CAAC;gBACvD,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;gBAC3D,QAAQ,CAAC,QAAQ,CAAC;oBAChB,WAAW,EAAE,cAAc;oBAC3B,aAAa,EAAE,qBAAqB;oBACpC,SAAS,EAAE,eAAe;oBAC1B,SAAS,EAAE,SAAS;oBACpB,UAAU,EAAE,SAAS;oBACrB,KAAK,EAAE,0BAA0B;oBACjC,WAAW,EAAE,cAAc,SAAS,EAAE;oBACtC,UAAU,EAAE,SAAS;iBACtB,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,cAAc,GAAG,GAAG,CAAC,cAAc,EAAE,eAAe,IAAI,GAAG,CAAC,cAAc,CAAC,cAAc,EAAE,eAAe,CAAC;QAEjH,yCAAyC;QACzC,IAAI,0BAA0B,GAAG,KAAK,CAAC;QACvC,CAAC;YACC,MAAM,OAAO,GAAG,GAAG,CAAC,cAAc,EAAE,KAAK,IAAI,GAAG,CAAC,cAAc,EAAE,cAAc,EAAE,KAAK,CAAC;YACvF,MAAM,gBAAgB,GAAG,GAAG,CAAC,cAAc,EAAE,eAAe,IAAI,GAAG,CAAC,cAAc,EAAE,cAAc,EAAE,eAAe,CAAC;YACpH,MAAM,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,0DAA0D,CAAC,CAAC,CAAC,cAAc,CACtG,GAAG,CAAC,cAAc,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,CACnD,CAAC;YACF,MAAM,qBAAqB,GACzB,gBAAgB,KAAK,qBAAqB;mBACvC,gBAAgB,KAAK,8BAA8B;mBACnD,OAAO,KAAK,qBAAqB;mBACjC,2BAA2B,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC7C,IAAI,qBAAqB,IAAI,CAAC,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,UAAU,CAAC,EAAE,CAAC;gBAC1E,MAAM,EAAE,6BAA6B,EAAE,GAAG,MAAM,MAAM,CAAC,0DAA0D,CAAC,CAAC;gBACnH,MAAM,GAAG,GAAG,6BAA6B,EAAE,CAAC;gBAC5C,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC;oBACpB,WAAW,EAAE,cAAc;oBAC3B,aAAa,EAAE,gBAAgB;oBAC/B,SAAS,EAAE,eAAe;oBAC1B,SAAS,EAAE,SAAS;oBACpB,UAAU,EAAE,SAAS;oBACrB,KAAK,EAAE,gBAAgB;oBACvB,WAAW,EAAE,QAAQ;oBACrB,UAAU,EAAE,QAAQ,IAAI,CAAC,OAAO,EAAE;iBACnC,CAAC,CAAC;gBACH,IAAI,cAAc,EAAE,CAAC;oBACnB,MAAM,EAAE,OAAO,EAAE,GAAG,cAAc,CAAC,aAAa,EAAE,CAAC;oBACnD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;wBAC5B,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ;4BAAE,SAAS;wBACxC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC;4BACpB,WAAW,EAAE,iBAAiB;4BAC9B,aAAa,EAAE,mBAAmB;4BAClC,SAAS,EAAE,SAAS;4BACpB,SAAS,EAAE,SAAS;4BACpB,UAAU,EAAE,SAAS;4BACrB,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,WAAW;4BAC5C,WAAW,EAAE,KAAK,CAAC,IAAI;4BACvB,UAAU,EAAE,KAAK,CAAC,SAAS;yBAC5B,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBACD,MAAM,GAAG,GAAG,GAAG,CAAC,4BAA4B,CAAC;gBAC7C,IAAI,GAAG,EAAE,mBAAmB,EAAE,CAAC;oBAC7B,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC;wBACpB,WAAW,EAAE,mBAAmB;wBAChC,aAAa,EAAE,mBAAmB;wBAClC,SAAS,EAAE,eAAe;wBAC1B,SAAS,EAAE,SAAS;wBACpB,UAAU,EAAE,SAAS;wBACrB,KAAK,EAAE,qBAAqB;wBAC5B,WAAW,EAAE,WAAW,GAAG,CAAC,cAAc,IAAI,SAAS,EAAE;wBACzD,UAAU,EAAE,YAAY,GAAG,CAAC,WAAW,IAAI,IAAI,CAAC,OAAO,EAAE;qBAC1D,CAAC,CAAC;gBACL,CAAC;gBACD,+BAA+B,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAC9C,MAAM,QAAQ,GAAG;oBACf;wBACE,EAAE,EAAE,gBAAgB;wBACpB,QAAQ,EAAE,mBAA4B;wBACtC,UAAU,EAAE,cAAc;wBAC1B,YAAY,EAAE,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBAClF,YAAY,EAAE,KAAK;wBACnB,UAAU,EAAE,MAAM;qBACnB;oBACD;wBACE,EAAE,EAAE,gBAAgB;wBACpB,QAAQ,EAAE,cAAuB;wBACjC,UAAU,EAAE,cAAc;wBAC1B,YAAY,EAAE,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAChD,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,aAAa,KAAK,mBAAmB,IAAI,CAAC,CAAC,aAAa,KAAK,gBAAgB,CACnG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBAClB,YAAY,EAAE,KAAK;wBACnB,UAAU,EAAE,MAAM;qBACnB;iBACF,CAAC;gBACF,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,EAAE;oBAClD,aAAa,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;oBAChD,YAAY,EAAE,EAAE;oBAChB,QAAQ,EAAE,EAAE;oBACZ,WAAW,EAAE,EAAE;iBAChB,CAAC,CAAC;gBACH,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;gBAChC,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBACnD,MAAM,WAAW,CAAC,0BAA0B,CAAC,IAAI,CAAC,OAAO,EAAE;oBACzD,eAAe,EAAE,QAAQ;oBACzB,oBAAoB,EAAE,MAAM;oBAC5B,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;oBAC7C,oBAAoB,EAAE,QAAQ,CAAC,SAAS;iBACzC,CAAC,CAAC;gBACH,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBACpB,OAAO;wBACL,MAAM,EAAE;4BACN,KAAK,EAAE,aAAa,MAAM,CAAC,SAAS,EAAE;4BACtC,eAAe,EAAE,MAAM,CAAC,eAAe;4BACvC,SAAS,EAAE,MAAM,CAAC,SAAS;4BAC3B,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;4BAC7C,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;4BACzC,MAAM,EAAE,SAAS;4BACjB,QAAQ,EAAE,wCAAwC;yBACnD;qBACF,CAAC;gBACJ,CAAC;gBACD,0BAA0B,GAAG,IAAI,CAAC;YACpC,CAAC;QACH,CAAC;QAED,wCAAwC;QACxC,IAAI,kBAAkB,GAAG,KAAK,CAAC;QAC/B,KAAK,MAAM,SAAS,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,CAAC;YAC3E,IAAI,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;gBACtF,kBAAkB,GAAG,IAAI,CAAC;gBAC1B,MAAM;YACR,CAAC;QACH,CAAC;QACD,IAAI,gBAAgB,GAAG,KAAK,CAAC;QAC7B,KAAK,MAAM,SAAS,IAAI,CAAC,cAAc,EAAE,SAAS,EAAE,cAAc,EAAE,iBAAiB,CAAC,EAAE,CAAC;YACvF,IAAI,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;gBACtF,gBAAgB,GAAG,IAAI,CAAC;gBACxB,MAAM;YACR,CAAC;QACH,CAAC;QACD,MAAM,2BAA2B,GAAG,kBAAkB,IAAI,gBAAgB;YACxE,CAAC,CAAC,iBAA0B;YAC5B,CAAC,CAAC,CAAC,CAAC,kBAAkB,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,eAAwB,CAAC,CAAC,CAAC,YAAqB,CAAC,CAAC;QAClG,MAAM,YAAY,GAAG,MAAM,qCAAqC,CAAC;YAC/D,GAAG;YACH,cAAc;YACd,cAAc,EAAE,2BAA2B;SAC5C,CAAC,CAAC;QACH,MAAM,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;YAC1B,OAAO;gBACL,MAAM,EAAE;oBACN,KAAK,EAAE,yBAAyB;oBAChC,MAAM,EAAE,uBAAuB;oBAC/B,8BAA8B,EAAE,YAAY,CAAC,QAAQ;oBACrD,iBAAiB,EAAE,YAAY,CAAC,QAAQ;oBACxC,WAAW,EAAE,YAAY,CAAC,WAAW;oBACrC,QAAQ,EAAE,+CAA+C;iBAC1D;aACF,CAAC;QACJ,CAAC;QAED,yCAAyC;QACzC,IAAI,cAAc,KAAK,qBAAqB,IAAI,CAAC,GAAG,CAAC,oBAAoB,EAAE,CAAC;YAC1E,MAAM,YAAY,GAAG,MAAM,sBAAsB,EAAE,CAAC;YACpD,GAAG,CAAC,oBAAoB,GAAG,YAAY,CAAC,wBAAwB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC/E,GAAG,CAAC,oBAAoB,CAAC,MAAM,GAAG,oBAAoB,CAAC;YACvD,GAAG,CAAC,oBAAoB,CAAC,qBAAqB,GAAG,QAAQ,IAAI,CAAC,OAAO,iCAAiC,CAAC;YACvG,GAAG,CAAC,oBAAoB,CAAC,qBAAqB,GAAG,GAAG,CAAC,8BAA8B,EAAE,gCAAgC,CAAC;YACtH,MAAM,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9B,CAAC;QAED,sBAAsB;QACtB,MAAM,QAAQ,GAAG,MAAM,oBAAoB,EAAE,CAAC;QAC9C,MAAM,SAAS,GAAG,QAAQ,CAAC,kBAAkB,CAAC;YAC5C,eAAe,EAAE,cAAc;YAC/B,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,SAAS,EAAE,GAAG,CAAC,cAAc,EAAE,SAAS;SACzC,CAAC,CAAC;QACH,sBAAsB;QACtB,MAAM,YAAY,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,KAAK,cAAc,CAAC,CAAC;QACjF,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,UAAU,GAAG,GAAG,CAAC,iBAAiB,IAAI,QAAQ,CAAC,sBAAsB,CACzE,IAAI,CAAC,OAAO,EAAE,YAAY,EAAE,2BAA2B,EAAE,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CACrF,CAAC;YACF,MAAM,MAAM,GAAG,QAAQ,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAC;YAC7D,GAAG,CAAC,iBAAiB,GAAG,QAAQ,CAAC,yBAAyB,CAAC,UAAU,CAAC,CAAC;YACvE,MAAM,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC5B,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpB,OAAO;oBACL,MAAM,EAAE;wBACN,KAAK,EAAE,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,iBAAiB;wBACtD,MAAM,EAAE,uBAAuB;wBAC/B,iBAAiB,EAAE,GAAG,CAAC,iBAAiB;wBACxC,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;wBAC3C,WAAW,EAAE,MAAM,CAAC,WAAW;wBAC/B,eAAe,EAAE,YAAY;wBAC7B,QAAQ,EAAE,+CAA+C;qBAC1D;iBACF,CAAC;YACJ,CAAC;QACH,CAAC;QAED,iCAAiC;QACjC,MAAM,cAAc,GAAG,SAAS,EAAE,cAAc;YAC9C,CAAC,CAAC,SAAS,EAAE,cAAc,EAAE,KAA2B;YACxD,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,sBAAsB,GAAG,CAAC,CAAC,GAAG,EAAE,oBAAoB,CAAC;QAC3D,IAAI,sBAAsB,EAAE,CAAC;YAC3B,IAAI,cAAc,KAAK,qBAAqB,IAAI,cAAc,KAAK,UAAU,EAAE,CAAC;gBAC9E,MAAM,QAAQ,GAAG,MAAM,2BAA2B,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC;gBACnF,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;oBACtB,OAAO;wBACL,MAAM,EAAE;4BACN,KAAK,EAAE,QAAQ,CAAC,SAAS;4BACzB,0BAA0B,EAAE,QAAQ,CAAC,QAAQ;4BAC7C,MAAM,EAAE,SAAS;4BACjB,QAAQ,EAAE,+BAA+B;yBAC1C;qBACF,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,IAAI,cAAc,KAAK,aAAa,IAAI,cAAc,KAAK,qBAAqB,EAAE,CAAC;gBACjF,MAAM,YAAY,GAAG,MAAM,+BAA+B,CAAC;oBACzD,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,UAAU;oBACrC,cAAc,EAAE,CAAC,CAAC,WAAW;oBAC7B,SAAS,EAAE,IAAI;oBACf,WAAW,EAAE,CAAC,CAAC,GAAG,CAAC,wBAAwB;oBAC3C,cAAc,EAAE,CAAC,CAAC,GAAG,CAAC,wBAAwB;iBAC/C,CAAC,CAAC;gBACH,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;oBAC1B,OAAO;wBACL,MAAM,EAAE;4BACN,KAAK,EAAE,gBAAgB,YAAY,CAAC,SAAS,EAAE;4BAC/C,gBAAgB,EAAE,YAAY,CAAC,gBAAgB;4BAC/C,MAAM,EAAE,SAAS;4BACjB,QAAQ,EAAE,+BAA+B;yBAC1C;qBACF,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,wDAAwD;QACxD,MAAM,kBAAkB,GAAG,cAAc,KAAK,YAAY,IAAI,cAAc,KAAK,QAAQ;eACpF,cAAc,KAAK,eAAe,IAAI,cAAc,KAAK,UAAU,CAAC;QAEzE,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1B,8DAA8D;YAC9D,4CAA4C;YAC5C,CAAC;gBACC,MAAM,YAAY,GAAG,MAAM,4BAA4B,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC;gBACxF,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;oBAC1B,OAAO;wBACL,MAAM,EAAE;4BACN,KAAK,EAAE,YAAY,CAAC,SAAS;4BAC7B,MAAM,EAAE,SAAS;4BACjB,eAAe,EAAE,YAAY,CAAC,eAAe;4BAC7C,QAAQ,EAAE,YAAY,CAAC,mBAAmB,CAAC,CAAC,CAAC,kCAAkC,CAAC,CAAC,CAAC,kEAAkE;yBACrJ;qBACF,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,wCAAwC;YACxC,CAAC;gBACC,MAAM,UAAU,GAAG,MAAM,yBAAyB,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC;gBACnF,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;oBACxB,OAAO;wBACL,MAAM,EAAE;4BACN,KAAK,EAAE,UAAU,CAAC,SAAS;4BAC3B,eAAe,EAAE,UAAU,CAAC,eAAe;4BAC3C,MAAM,EAAE,SAAS;4BACjB,QAAQ,EAAE,uDAAuD;yBAClE;qBACF,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,wCAAwC;YACxC,CAAC;gBACC,MAAM,MAAM,GAAG,MAAM,wBAAwB,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC;gBAC9E,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBACpB,OAAO;wBACL,MAAM,EAAE;4BACN,KAAK,EAAE,MAAM,CAAC,SAAS;4BACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;4BACzB,eAAe,EAAE,MAAM,CAAC,eAAe;4BACvC,MAAM,EAAE,SAAS;4BACjB,QAAQ,EAAE,qEAAqE;yBAChF;qBACF,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,oDAAoD;YACpD,CAAC;gBACC,MAAM,cAAc,GAAG,MAAM,mBAAmB,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC;gBACjF,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;oBAC5B,OAAO;wBACL,MAAM,EAAE;4BACN,KAAK,EAAE,cAAc,CAAC,SAAS;4BAC/B,UAAU,EAAE,cAAc,CAAC,UAAU;4BACrC,eAAe,EAAE,cAAc,CAAC,eAAe;4BAC/C,MAAM,EAAE,SAAS;4BACjB,QAAQ,EAAE,qEAAqE;yBAChF;qBACF,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,gCAAgC;YAChC,sCAAsC;YACtC,CAAC;gBACC,MAAM,uBAAuB,GAA+C,EAAE,CAAC;gBAC/E,MAAM,wBAAwB,GAA4B,EAAE,CAAC;gBAE7D,MAAM,oBAAoB,GACxB,cAAc,KAAK,qBAAqB;uBACrC,CAAC,qBAAqB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;uBAC5G,qFAAqF,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC5G,MAAM,qBAAqB,GACzB,CAAC,oBAAoB,IAAI,CACvB,cAAc,KAAK,aAAa;uBAC7B,MAAM,CAAC,cAAc,CAAC,KAAK,4BAA4B;uBACvD,MAAM,CAAC,cAAc,CAAC,KAAK,yBAAyB;uBACpD,wCAAwC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAC7D,CAAC;gBACJ,MAAM,kBAAkB,GAAG,MAAM,gBAAgB,EAAE,CAAC;gBACpD,MAAM,WAAW,GAAG,qBAAqB;oBACvC,CAAC,CAAC,kBAAkB,CAAC,qCAAqC,CAAC,WAAW,CAAC;oBACvE,CAAC,CAAC;wBACA,MAAM,EAAE,IAAI;wBACZ,aAAa,EAAE,KAAK;wBACpB,QAAQ,EAAE,EAAE;wBACZ,aAAa,EAAE,EAAE;wBACjB,WAAW,EAAE,kBAAkB,CAAC,+CAA+C;qBAChF,CAAC;gBACJ,IAAI,qBAAqB,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;oBACjD,GAAG,CAAC,oBAAoB,GAAG;wBACzB,eAAe,EAAE,EAAE;wBACnB,aAAa,EAAE,EAAE;wBACjB,gBAAgB,EAAE,EAAE;wBACpB,iBAAiB,EAAE,EAAE;wBACrB,SAAS,EAAE,EAAE;wBACb,SAAS,EAAE,EAAE;wBACb,cAAc,EAAE,EAAE;wBAClB,MAAM,EAAE,gBAAgB;wBACxB,QAAQ,EAAE,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,UAAU,EAAE,CAAC;qBAC1F,CAAC;oBACF,MAAM,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAC5B,OAAO;wBACL,MAAM,EAAE;4BACN,KAAK,EAAE,gCAAgC;4BACvC,MAAM,EAAE,SAAS;4BACjB,eAAe,EAAE,qBAAqB,CAAC,mBAAmB;4BAC1D,qBAAqB,EAAE,WAAW,CAAC,QAAQ;4BAC3C,aAAa,EAAE,WAAW,CAAC,aAAa;4BACxC,WAAW,EAAE,WAAW,CAAC,WAAW;4BACpC,aAAa,EAAE,kBAAkB,CAAC,gDAAgD;4BAClF,gBAAgB,EAAE,kBAAkB,CAAC,mDAAmD;4BACxF,QAAQ,EAAE,GAAG,kBAAkB,CAAC,oDAAoD,iCAAiC;yBACtH;qBACF,CAAC;gBACJ,CAAC;gBACD,MAAM,eAAe,GAAG,kBAAkB,CAAC,6BAA6B,CAAC,GAAG,CAAC,CAAC;gBAC9E,IAAI,WAAW,CAAC,aAAa,IAAI,qBAAqB,EAAE,CAAC;oBACvD,MAAM,eAAe,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CACvE,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,EAAU,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,CACnE,CAAC;oBACF,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC/B,GAAG,CAAC,oBAAoB,GAAG;4BACzB,eAAe,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC,EAAU,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;4BAC9E,aAAa,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC,EAAU,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;4BAC9E,gBAAgB,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC,EAAU,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;4BAChF,iBAAiB,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC,EAAU,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;4BAC/E,SAAS,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC,EAAU,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;4BAC1E,SAAS,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC,EAAU,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;4BAC1E,cAAc,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC,EAAU,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;4BAC5E,MAAM,EAAE,SAAS;4BACjB,QAAQ,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,SAAS,MAAM,OAAO,CAAC;yBAClE,CAAC;wBACF,MAAM,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBAC5B,OAAO;4BACL,MAAM,EAAE;gCACN,KAAK,EAAE,2BAA2B;gCAClC,MAAM,EAAE,+BAA+B;gCACvC,eAAe,EAAE,qBAAqB,CAAC,0BAA0B;gCACjE,gBAAgB,EAAE,eAAe;gCACjC,WAAW,EAAE,WAAW,CAAC,WAAW;gCACpC,aAAa,EAAE,kBAAkB,CAAC,gDAAgD;gCAClF,gBAAgB,EAAE,WAAW;gCAC7B,QAAQ,EAAE,4GAA4G;6BACvH;yBACF,CAAC;oBACJ,CAAC;oBACD,GAAG,CAAC,oBAAoB,GAAG;wBACzB,eAAe,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC,EAAU,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;wBAC9E,aAAa,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC,EAAU,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;wBAC9E,gBAAgB,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC,EAAU,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;wBAChF,iBAAiB,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC,EAAU,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;wBAC/E,SAAS,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC,EAAU,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;wBAC1E,SAAS,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC,EAAU,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;wBAC1E,cAAc,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC,EAAU,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;wBAC5E,MAAM,EAAE,OAAO;wBACf,QAAQ,EAAE,EAAE;qBACb,CAAC;oBACF,wBAAwB,CAAC,oBAAoB,GAAG,GAAG,CAAC,oBAAoB,CAAC;gBAC3E,CAAC;gBAED,MAAM,SAAS,GAAG,MAAM,YAAY,EAAE,CAAC;gBACvC,MAAM,OAAO,GAAG,SAAS,CAAC,qBAAqB,CAAC;oBAC9C,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,MAAM,EAAE,GAAG,CAAC,MAAM;oBAClB,KAAK,EAAE,cAAc;oBACrB,OAAO,EAAE,GAAG,CAAC,iBAAiB;iBAC/B,CAAC,CAAC;gBACH,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;oBACvB,GAAG,CAAC,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC;oBACjD,wBAAwB,CAAC,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC;gBACxE,CAAC;gBACD,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;oBACrB,uBAAuB,CAAC,IAAI,CAAC;wBAC3B,IAAI,EAAE,qBAAqB,CAAC,iBAAiB;wBAC7C,SAAS,EAAE,OAAO,CAAC,SAAS;qBAC7B,CAAC,CAAC;gBACL,CAAC;gBAED,MAAM,aAAa,GAAG,MAAM,yBAAyB,EAAE,CAAC;gBACxD,MAAM,WAAW,GAAG,aAAa,CAAC,iCAAiC,CAAC;oBAClE,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,MAAM,EAAE,GAAG,CAAC,MAAM;oBAClB,KAAK,EAAE,cAAc;oBACrB,YAAY,EAAE,GAAG,CAAC,mCAAmC;iBACtD,CAAC,CAAC;gBACH,IAAI,WAAW,CAAC,UAAU,EAAE,CAAC;oBAC3B,GAAG,CAAC,mCAAmC,GAAG,WAAW,CAAC,YAAY,CAAC;oBACnE,wBAAwB,CAAC,mCAAmC,GAAG,WAAW,CAAC,YAAY,CAAC;gBAC1F,CAAC;gBACD,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;oBACzB,uBAAuB,CAAC,IAAI,CAAC;wBAC3B,IAAI,EAAE,qBAAqB,CAAC,qBAAqB;wBACjD,SAAS,EAAE,WAAW,CAAC,SAAS;qBACjC,CAAC,CAAC;gBACL,CAAC;gBAED,IAAI,GAAG,CAAC,cAAc,CAAC,SAAS,KAAK,UAAU,EAAE,CAAC;oBAChD,MAAM,SAAS,GAAG,MAAM,qBAAqB,EAAE,CAAC;oBAChD,MAAM,OAAO,GAAG,SAAS,CAAC,6BAA6B,CAAC;wBACtD,OAAO,EAAE,IAAI,CAAC,OAAO;wBACrB,MAAM,EAAE,GAAG,CAAC,MAAM;wBAClB,KAAK,EAAE,cAAc;wBACrB,aAAa,EAAE,GAAG,CAAC,SAAS,EAAE,aAAa;wBAC3C,YAAY,EAAE,GAAG,CAAC,+BAA+B;qBAClD,CAAC,CAAC;oBACH,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;wBACvB,GAAG,CAAC,+BAA+B,GAAG,OAAO,CAAC,YAAY,CAAC;wBAC3D,wBAAwB,CAAC,+BAA+B,GAAG,OAAO,CAAC,YAAY,CAAC;oBAClF,CAAC;oBACD,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;wBACrB,uBAAuB,CAAC,IAAI,CAAC;4BAC3B,IAAI,EAAE,qBAAqB,CAAC,4BAA4B;4BACxD,SAAS,EAAE,OAAO,CAAC,SAAS;yBAC7B,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBAED,IAAI,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACrD,MAAM,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC9B,CAAC;gBACD,IAAI,uBAAuB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACvC,OAAO;wBACL,MAAM,EAAE;4BACN,KAAK,EAAE,qBAAqB;4BAC5B,MAAM,EAAE,mCAAmC;4BAC3C,gBAAgB,EAAE,uBAAuB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;4BAC5D,iBAAiB,EAAE,uBAAuB;4BAC1C,GAAG,wBAAwB;4BAC3B,QAAQ,EAAE,iDAAiD;yBAC5D;qBACF,CAAC;gBACJ,CAAC;YACH,CAAC;QACD,CAAC,CAAC,2DAA2D;QAE7D,+CAA+C;QAC/C,4BAA4B;QAC5B,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,gBAAgB,CAAC;eAC1D,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;QACpD,IAAI,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,eAAe,EAAE,CAAC;YACxE,KAAK,MAAM,CAAC,IAAI,SAAS,CAAC,eAAe,EAAE,CAAC;gBAC1C,IAAI,CAAC,CAAC,WAAW,KAAK,WAAW,IAAI,CAAC,MAAM,iBAAiB,EAAE,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,uBAAuB,EAAE,CAAC;oBACpI,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;QAED,6BAA6B;QAC7B,MAAM,UAAU,GAA4B,EAAE,CAAC;QAC/C,IAAI,SAAS;YAAE,UAAU,CAAC,WAAW,GAAG,SAAS,CAAC;QAClD,IAAI,aAAa;YAAE,UAAU,CAAC,WAAW,GAAG,aAAa,CAAC;QAE1D,kDAAkD;QAClD,IAAI,CAAC,0BAA0B,EAAE,CAAC;YAClC,MAAM,QAAQ,GAAG,GAAG,CAAC,cAAc,EAAE,KAAK,IAAI,GAAG,CAAC,cAAc,EAAE,cAAc,EAAE,KAAK,CAAC;YACxF,MAAM,OAAO,GAAG,CAAC,MAAM,MAAM,CAAC,0DAA0D,CAAC,CAAC,CAAC,cAAc,CACvG,GAAG,CAAC,cAAc,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,CAAC,MAAM,CACpD,CAAC;YACF,IAAI,OAAO,KAAK,MAAM,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;gBACjD,MAAM,EAAE,6BAA6B,EAAE,GAAG,MAAM,MAAM,CAAC,0DAA0D,CAAC,CAAC;gBACnH,MAAM,IAAI,GAAG,6BAA6B,EAAE,CAAC;gBAC7C,IAAI,GAAG,CAAC,cAAc,EAAE,CAAC;oBACvB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;wBACrB,WAAW,EAAE,cAAc;wBAC3B,aAAa,EAAE,gBAAgB;wBAC/B,SAAS,EAAE,eAAe;wBAC1B,SAAS,EAAE,SAAS;wBACpB,UAAU,EAAE,SAAS;wBACrB,KAAK,EAAE,gBAAgB;wBACvB,WAAW,EAAE,QAAQ;wBACrB,UAAU,EAAE,QAAQ,IAAI,CAAC,OAAO,EAAE;qBACnC,CAAC,CAAC;gBACL,CAAC;gBACD,kCAAkC;gBAClC,6CAA6C;gBAC7C,IAAI,cAAc,EAAE,CAAC;oBACnB,MAAM,EAAE,OAAO,EAAE,GAAG,cAAc,CAAC,aAAa,EAAE,CAAC;oBACnD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;wBAC5B,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ;4BAAE,SAAS;wBACxC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;4BACrB,WAAW,EAAE,iBAAiB;4BAC9B,aAAa,EAAE,mBAAmB;4BAClC,SAAS,EAAE,SAAS;4BACpB,SAAS,EAAE,SAAS;4BACpB,UAAU,EAAE,SAAS;4BACrB,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,WAAW;4BAC5C,WAAW,EAAE,KAAK,CAAC,IAAI;4BACvB,UAAU,EAAE,KAAK,CAAC,SAAS;yBAC5B,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBACD,8DAA8D;gBAC9D,MAAM,IAAI,GAAG,GAAG,CAAC,4BAA4B,CAAC;gBAC9C,IAAI,IAAI,EAAE,mBAAmB,EAAE,CAAC;oBAC9B,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;wBACrB,WAAW,EAAE,mBAAmB;wBAChC,aAAa,EAAE,mBAAmB;wBAClC,SAAS,EAAE,eAAe;wBAC1B,SAAS,EAAE,SAAS;wBACpB,UAAU,EAAE,SAAS;wBACrB,KAAK,EAAE,qBAAqB;wBAC5B,WAAW,EAAE,WAAW,IAAI,CAAC,cAAc,IAAI,SAAS,EAAE;wBAC1D,UAAU,EAAE,YAAY,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,OAAO,EAAE;qBAC3D,CAAC,CAAC;gBACL,CAAC;gBACD,+BAA+B,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAG/C,MAAM,SAAS,GAAe;oBAC5B;wBACE,EAAE,EAAE,gBAAgB;wBACpB,QAAQ,EAAE,mBAAmB;wBAC7B,UAAU,EAAE,cAAc;wBAC1B,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBACnF,YAAY,EAAE,KAAK;wBACnB,UAAU,EAAE,OAAO;qBACpB;iBACF,CAAC;gBACF,uCAAuC;gBACvC,MAAM,iBAAiB,GAAG,GAAG,CAAC,cAAc,EAAE,eAAe,IAAI,GAAG,CAAC,cAAc,EAAE,cAAc,EAAE,eAAe,CAAC;gBACrH,MAAM,sBAAsB,GAC1B,iBAAiB,KAAK,qBAAqB;uBACxC,iBAAiB,KAAK,8BAA8B;uBACpD,QAAQ,KAAK,qBAAqB;uBAClC,2BAA2B,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC7C,IAAI,sBAAsB,EAAE,CAAC;oBAC3B,SAAS,CAAC,IAAI,CAAC;wBACb,EAAE,EAAE,gBAAgB;wBACpB,QAAQ,EAAE,cAAc;wBACxB,UAAU,EAAE,cAAc;wBAC1B,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACjD,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,aAAa,KAAK,mBAAmB,IAAI,CAAC,CAAC,aAAa,KAAK,gBAAgB,CACnG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBAClB,YAAY,EAAE,KAAK;wBACnB,UAAU,EAAE,OAAO;qBACpB,CAAC,CAAC;gBACL,CAAC;gBACD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,SAAS,EAAE;oBACrD,aAAa,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;oBACjD,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE;iBAChD,CAAC,CAAC;gBACH,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;gBACjC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;gBACvD,8BAA8B;gBAC9B,MAAM,WAAW,CAAC,0BAA0B,CAAC,IAAI,CAAC,OAAO,EAAE;oBACzD,eAAe,EAAE,SAAS;oBAC1B,oBAAoB,EAAE,OAAO;oBAC7B,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;oBAC9C,oBAAoB,EAAE,SAAS,CAAC,SAAS;iBAC1C,CAAC,CAAC;gBACH,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;oBACrB,OAAO;wBACL,MAAM,EAAE;4BACN,KAAK,EAAE,aAAa,OAAO,CAAC,SAAS,EAAE;4BACvC,eAAe,EAAE,OAAO,CAAC,eAAe;4BACxC,SAAS,EAAE,OAAO,CAAC,SAAS;4BAC5B,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;4BAC9C,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;4BAC1C,MAAM,EAAE,SAAS;4BACjB,QAAQ,EAAE,wCAAwC;yBACnD;qBACF,CAAC;gBACJ,CAAC;gBACD,IAAI,OAAO,CAAC,0BAA0B,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAClD,UAAU,CAAC,iBAAiB,GAAG;wBAC7B,KAAK,EAAE,uBAAuB;wBAC9B,KAAK,EAAE,OAAO,CAAC,0BAA0B;wBACzC,eAAe,EAAE,OAAO,CAAC,eAAe;qBACzC,CAAC;gBACJ,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,kBAAkB;gBAClB,UAAU,CAAC,iBAAiB,GAAG,wBAAwB,CAAC;YAC1D,CAAC;QACD,CAAC,CAAC,uCAAuC;QAEzC,UAAU;QACV,IAAI,SAAS,CAAC,yBAAyB,IAAI,SAAS,CAAC,yBAAyB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1F,MAAM,cAAc,GAAG,SAAS,CAAC,yBAAyB;iBACvD,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;iBACnC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAC5D,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9B,UAAU,CAAC,0BAA0B,GAAG,cAAc,CAAC;YACzD,CAAC;QACH,CAAC;QAED,wCAAwC;QACxC,MAAM,gBAAgB,GAAG,CAAC,MAAM,YAAY,EAAE,CAAC,CAAC,sBAAsB,CAAC,SAA+C,CAAC,CAAC;QACxH,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC;YAC7B,UAAU,CAAC,0BAA0B,GAAG,gBAAgB,CAAC,QAAQ,CAAC;QACpE,CAAC;QAED,yCAAyC;QACzC,qEAAqE;QACrE,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACtD,IAAI,QAAQ,EAAE,CAAC;gBACb,kBAAkB;gBAClB,MAAM,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;gBAClE,qCAAqC;gBACrC,IAAI,SAAS,CAAC,sBAAsB,EAAE,CAAC;oBACrC,MAAM,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,sBAAsB,EAAE,QAAQ,CAAC,CAAC;gBAC1F,CAAC;gBACD,6BAA6B;gBAC7B,MAAM,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,QAAQ;oBACrC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,YAAY;wBACvD,CAAC,CAAC,WAAW,CAAC;gBAChB,MAAM,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;gBACnE,6CAA6C;gBAC7C,CAAC;oBACC,MAAM,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,gDAAgD,CAAC,CAAC;oBAC3H,MAAM,YAAY,GAAG,SAAS,EAAE,cAAc,EAAE,KAAK,IAAI,cAAc,IAAI,aAAa,CAAC;oBACzF,MAAM,eAAe,GAAG,qBAAqB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;oBAC1D,MAAM,aAAa,GAAG,YAAY,KAAK,YAAY,IAAI,YAAY,KAAK,QAAQ;2BACzE,YAAY,KAAK,eAAe,IAAI,YAAY,KAAK,UAAU;2BAC/D,eAAe,KAAK,kBAAkB,CAAC;oBAC9C,IAAI,aAAa,EAAE,CAAC;wBAClB,MAAM,WAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,EAAE;4BAClD,MAAM,EAAE,IAAI;4BACZ,gBAAgB,EAAE,QAAQ;4BAC1B,cAAc,EAAE,YAAY;4BAC5B,SAAS,EAAE,UAAU;4BACrB,UAAU,EAAE,EAAE;4BACd,aAAa,EAAE,EAAE;4BACjB,eAAe,EAAE,EAAE;yBACpB,EAAE,QAAQ,CAAC,CAAC;oBACf,CAAC;yBAAM,CAAC;wBACN,MAAM,UAAU,GAAG,wBAAwB,CAAC;4BAC1C,OAAO,EAAE,IAAI,CAAC,OAAO;4BACrB,SAAS,EAAE,eAAe;4BAC1B,WAAW,EAAE,GAAG,CAAC,MAAM;4BACvB,UAAU,EAAE,gBAAgB;4BAC5B,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;4BACzC,cAAc,EAAE,CAAC,cAAc,IAAI,SAAS,CAAC;4BAC7C,iBAAiB,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAA2B,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;4BAC3H,KAAK,EAAE,EAAE;4BACT,aAAa,EAAE,SAAS,CAAC,iBAAiB,IAAI,EAAE;yBACjD,CAAC,CAAC;wBACH,MAAM,WAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;oBAC5E,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,UAAU,EAAE,CAAC;YACpB,IAAI,CAAC;gBACH,MAAM,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YACzD,CAAC;YAAC,MAAM,CAAC;gBACP,YAAY;YACd,CAAC;YACD,MAAM,UAAU,CAAC;QACnB,CAAC;QAED,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC;YACtD,CAAC,CAAC,EAAE,GAAG,SAAS,EAAE,UAAU,EAAE;YAC9B,CAAC,CAAC,SAAS,CAAC;QACd,OAAO;YACb,MAAM,EAAE,aAAa;SACd,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"verify_learn.d.ts","sourceRoot":"","sources":["../../../../src/server/tools/tool_groups/verify_learn.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAsBhE,wBAAsB,wBAAwB,CAAC,GAAG,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAotB1F"}
1
+ {"version":3,"file":"verify_learn.d.ts","sourceRoot":"","sources":["../../../../src/server/tools/tool_groups/verify_learn.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAsBhE,wBAAsB,wBAAwB,CAAC,GAAG,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAk3B1F"}
@@ -5,8 +5,14 @@ import { promises as fsp } from "node:fs";
5
5
  import crypto from "node:crypto";
6
6
  import { internalWarn } from "../../../engine/core/logger.js";
7
7
  import { isSameOrDescendantPath } from "../../../engine/core/path_scope_utils.js";
8
+ import { detectTaskStage } from "../../../engine/pipeline/task_stage_detector.js";
8
9
  import { verifyArtifact } from "../../../engine/contracts/artifact_contract_registry.js";
9
10
  import { verifyRouteDecisionContract } from "../../../engine/contracts/route_decision_contract_verifier.js";
11
+ import { scanArtifactForOmissions } from "../../../engine/contracts/omission_scanner.js";
12
+ import { detectLazyPatterns } from "../../../engine/contracts/lazy_pattern_detector.js";
13
+ import { verifyErrorHandlingPaths } from "../../../engine/contracts/error_path_verifier.js";
14
+ import { verifyBehaviorCoverage } from "../../../engine/contracts/behavior_coverage_verifier.js";
15
+ import { inferArtifactKindFromPath } from "../../../bin/commands/check_write.js";
10
16
  import { TOOL_DIAGNOSTIC_CODES } from "../../../engine/audit/diagnostic_registry.js";
11
17
  import { createToolRegistrar } from "../middleware.js";
12
18
  import { VerifySchema, RecordVerificationExecutionSchema, LearnSchema } from "../schemas.js";
@@ -14,15 +20,37 @@ import { lazyVerifier, lazyEvolver, lazyTraceability, lazyOodSolid, lazyBackendI
14
20
  import { errorMessage } from "../../../engine/core/helpers.js";
15
21
  export async function registerVerifyLearnTools(ctx) {
16
22
  const { registerSafeTool, loadRelevantAnchors } = createToolRegistrar(ctx);
17
- const { taskContext, config, projectPath, ioController } = ctx;
23
+ const { taskContext, config, projectPath, ioController, knowledgeIndex } = ctx;
18
24
  // ── sf_verify: 生成验证命令(构建、测试、验收检查) ──
19
25
  registerSafeTool("sf_verify", "根据变更文件生成验证命令(构建、测试、验收检查),由 Claude Code Bash 执行", VerifySchema, async (args) => {
20
- const ctx = await taskContext.load(args.task_id);
21
- if (!ctx) {
26
+ const loadedCtx = await taskContext.load(args.task_id);
27
+ if (!loadedCtx) {
22
28
  return {
23
29
  result: { error: "任务不存在" },
24
30
  };
25
31
  }
32
+ // Phase 9a: 知识感知 — 加载阶段匹配的审查规则、代码模式和检查清单
33
+ if (knowledgeIndex) {
34
+ const stage = detectTaskStage(loadedCtx);
35
+ const reviewRules = knowledgeIndex.query({
36
+ type: "review_rule",
37
+ stages: stage ? [stage] : undefined,
38
+ limit: 5,
39
+ });
40
+ const codePatterns = knowledgeIndex.query({
41
+ type: "pattern",
42
+ stages: stage ? [stage] : undefined,
43
+ limit: 3,
44
+ });
45
+ const checklists = knowledgeIndex.query({
46
+ type: "checklist",
47
+ stages: stage ? [stage] : undefined,
48
+ limit: 2,
49
+ });
50
+ loadedCtx.review_knowledge_hints = [...reviewRules, ...codePatterns, ...checklists]
51
+ .map(e => e.body ?? e.when).filter(Boolean);
52
+ await taskContext.save(loadedCtx);
53
+ }
26
54
  const implementationFiles = args.changed_files.filter((file) => /\.(?:ts|tsx|js|jsx|java|kt|cs|go|py)$/.test(file)
27
55
  && !/(?:^|\/)tests?\//.test(file));
28
56
  if (implementationFiles.length > 0) {
@@ -39,9 +67,9 @@ export async function registerVerifyLearnTools(ctx) {
39
67
  }
40
68
  }
41
69
  const traceabilityModule = await lazyTraceability();
42
- const traceVerification = traceabilityModule.verifyChangedFilesAgainstDesignTraceability(projectPath, implementationFiles, ctx);
70
+ const traceVerification = traceabilityModule.verifyChangedFilesAgainstDesignTraceability(projectPath, implementationFiles, loadedCtx);
43
71
  if (!traceVerification.passed) {
44
- ctx.traceability_binding = {
72
+ loadedCtx.traceability_binding = {
45
73
  requirement_ids: traceVerification.binding_ids.filter((id) => id.startsWith("REQ-")),
46
74
  prototype_ids: traceVerification.binding_ids.filter((id) => id.startsWith("PROTO-")),
47
75
  architecture_ids: traceVerification.binding_ids.filter((id) => id.startsWith("ARCH-")),
@@ -52,7 +80,7 @@ export async function registerVerifyLearnTools(ctx) {
52
80
  status: "missing",
53
81
  findings: traceVerification.findings.map((finding) => `${finding.code}: ${finding.message_zh}`),
54
82
  };
55
- await taskContext.save(ctx);
83
+ await taskContext.save(loadedCtx);
56
84
  return {
57
85
  result: {
58
86
  error: "编码变更未绑定需求/原型/设计/切片/验收追踪链路,需修复后重验",
@@ -66,10 +94,10 @@ export async function registerVerifyLearnTools(ctx) {
66
94
  const oodModule = await lazyOodSolid();
67
95
  const oodGate = oodModule.evaluateOodDesignGate({
68
96
  task_id: args.task_id,
69
- intent: ctx.intent,
70
- route: ctx.expansion?.workflow_trace?.route,
97
+ intent: loadedCtx.intent,
98
+ route: loadedCtx.expansion?.workflow_trace?.route,
71
99
  changed_files: implementationFiles,
72
- summary: ctx.ood_solid_summary,
100
+ summary: loadedCtx.ood_solid_summary,
73
101
  });
74
102
  if (!oodGate.allowed) {
75
103
  return {
@@ -85,10 +113,10 @@ export async function registerVerifyLearnTools(ctx) {
85
113
  const backendModule = await lazyBackendImplementation();
86
114
  const backendGate = backendModule.evaluateBackendImplementationGate({
87
115
  task_id: args.task_id,
88
- intent: ctx.intent,
89
- route: ctx.expansion?.workflow_trace?.route,
116
+ intent: loadedCtx.intent,
117
+ route: loadedCtx.expansion?.workflow_trace?.route,
90
118
  changed_files: implementationFiles,
91
- work_package: ctx.backend_implementation_work_package,
119
+ work_package: loadedCtx.backend_implementation_work_package,
92
120
  });
93
121
  if (!backendGate.allowed) {
94
122
  return {
@@ -122,9 +150,9 @@ export async function registerVerifyLearnTools(ctx) {
122
150
  sourceFiles: implementationContents,
123
151
  }));
124
152
  }
125
- ctx.ood_solid_findings = solidFindings;
126
- ctx.backend_implementation_findings = backendFindings;
127
- await taskContext.save(ctx);
153
+ loadedCtx.ood_solid_findings = solidFindings;
154
+ loadedCtx.backend_implementation_findings = backendFindings;
155
+ await taskContext.save(loadedCtx);
128
156
  if (oodModule.hasBlockingSolidFindings(solidFindings)) {
129
157
  return {
130
158
  result: {
@@ -150,10 +178,10 @@ export async function registerVerifyLearnTools(ctx) {
150
178
  const obsFindings = codeObsModule.verifyChangedFilesObservability({
151
179
  changed_files: implementationFiles,
152
180
  file_contents: implementationContents,
153
- intent: ctx.intent,
181
+ intent: loadedCtx.intent,
154
182
  });
155
- ctx.code_observability_findings = obsFindings;
156
- await taskContext.save(ctx);
183
+ loadedCtx.code_observability_findings = obsFindings;
184
+ await taskContext.save(loadedCtx);
157
185
  if (codeObsModule.hasBlockingObservabilityFindings(obsFindings)) {
158
186
  return {
159
187
  result: {
@@ -166,20 +194,20 @@ export async function registerVerifyLearnTools(ctx) {
166
194
  }
167
195
  }
168
196
  // 问题六十二: 设计产物验证必须读取用户项目真实文件,不接受占位合同自证通过。
169
- const verifyWorkflowIntent = ctx.route_decision?.workflow_intent ?? ctx.classification?.route_decision?.workflow_intent;
197
+ const verifyWorkflowIntent = loadedCtx.route_decision?.workflow_intent ?? loadedCtx.classification?.route_decision?.workflow_intent;
170
198
  const touchesDesignArtifacts = args.changed_files.some((file) => /docs\/architecture\/|docs\/api\/|openapi|db\/(?:migrations|schema)|架构设计|数据库设计|API接口规格/i.test(file));
171
199
  if (verifyWorkflowIntent === "architecture_design" || touchesDesignArtifacts) {
172
200
  const designModule = await lazyDesignArtifactPack();
173
- const designPack = ctx.design_artifact_pack ?? designModule.createDesignArtifactPack(args.task_id);
201
+ const designPack = loadedCtx.design_artifact_pack ?? designModule.createDesignArtifactPack(args.task_id);
174
202
  const designVerification = designModule.verifyDesignArtifactPack(projectPath, designPack);
175
- ctx.design_artifact_pack = {
203
+ loadedCtx.design_artifact_pack = {
176
204
  ...designPack,
177
205
  status: designVerification.status,
178
206
  findings: designVerification.findings,
179
207
  baseline_hashes: designVerification.hashes,
180
208
  verified_at: new Date().toISOString(),
181
209
  };
182
- await taskContext.save(ctx);
210
+ await taskContext.save(loadedCtx);
183
211
  if (!designVerification.passed) {
184
212
  return {
185
213
  result: {
@@ -196,12 +224,12 @@ export async function registerVerifyLearnTools(ctx) {
196
224
  // 问题六十三: 模板契约验证 — 按文件逐一匹配契约并校验
197
225
  const sacModule = await lazyStandardAssetContract();
198
226
  const formalArtifactContract = sacModule.matchTemplateContract({
199
- output_artifact_kind: ctx.artifact_output?.kind,
227
+ output_artifact_kind: loadedCtx.artifact_output?.kind,
200
228
  workflow_intent: verifyWorkflowIntent,
201
- route_decision: ctx.route_decision?.workflow_intent,
229
+ route_decision: loadedCtx.route_decision?.workflow_intent,
202
230
  });
203
231
  if (formalArtifactContract || !sacModule.isLowRiskTask({
204
- route_decision: verifyWorkflowIntent ?? ctx.classification?.route_decision?.workflow_intent,
232
+ route_decision: verifyWorkflowIntent ?? loadedCtx.classification?.route_decision?.workflow_intent,
205
233
  workflow_intent: verifyWorkflowIntent,
206
234
  changed_files: args.changed_files,
207
235
  })) {
@@ -211,9 +239,9 @@ export async function registerVerifyLearnTools(ctx) {
211
239
  continue;
212
240
  // 按实际文件路径匹配契约(不再使用 changed_files[0] 的契约校验全部文件)
213
241
  const perFileContract = sacModule.matchTemplateContract({
214
- output_artifact_kind: ctx.artifact_output?.kind,
242
+ output_artifact_kind: loadedCtx.artifact_output?.kind,
215
243
  workflow_intent: verifyWorkflowIntent,
216
- route_decision: ctx.route_decision?.workflow_intent,
244
+ route_decision: loadedCtx.route_decision?.workflow_intent,
217
245
  file_path: changedFile,
218
246
  });
219
247
  if (!perFileContract)
@@ -221,14 +249,14 @@ export async function registerVerifyLearnTools(ctx) {
221
249
  const content = await fsp.readFile(absFile, "utf-8");
222
250
  // 草稿阻断下游消费 — 不再静默跳过
223
251
  if (sacModule.isDraftDocument(content)) {
224
- ctx.repair_reverify_directive = {
252
+ loadedCtx.repair_reverify_directive = {
225
253
  contract_id: perFileContract.asset_id,
226
254
  file_path: changedFile,
227
255
  status: "draft_blocked",
228
256
  repair_suggestion: `文件 ${changedFile} 仍为草稿状态,草稿不可用于实现。请完善内容后重新验证。`,
229
257
  blocked: true,
230
258
  };
231
- await taskContext.save(ctx);
259
+ await taskContext.save(loadedCtx);
232
260
  return {
233
261
  result: {
234
262
  error: `草稿文件 ${changedFile} 不可用于实现,需完善后重新验证`,
@@ -242,14 +270,14 @@ export async function registerVerifyLearnTools(ctx) {
242
270
  const contractResult = sacModule.verifyOutputAgainstContract(perFileContract, content, projectPath);
243
271
  if (!contractResult.passed) {
244
272
  const repairDirective = sacModule.createRepairReverifyDirective(perFileContract, contractResult);
245
- ctx.repair_reverify_directive = {
273
+ loadedCtx.repair_reverify_directive = {
246
274
  contract_id: perFileContract.asset_id,
247
275
  file_path: changedFile,
248
276
  status: "repair_required",
249
277
  repair_suggestion: repairDirective.repair_suggestion,
250
278
  blocked: true,
251
279
  };
252
- await taskContext.save(ctx);
280
+ await taskContext.save(loadedCtx);
253
281
  return {
254
282
  result: {
255
283
  error: `文件 ${changedFile} 模板契约验证未通过,进入修复重验闭环`,
@@ -265,20 +293,143 @@ export async function registerVerifyLearnTools(ctx) {
265
293
  }
266
294
  }
267
295
  // 全部契约验证通过 — 清零修复重验指令
268
- if (ctx.repair_reverify_directive) {
269
- delete ctx.repair_reverify_directive;
270
- await taskContext.save(ctx);
296
+ if (loadedCtx.repair_reverify_directive) {
297
+ delete loadedCtx.repair_reverify_directive;
298
+ await taskContext.save(loadedCtx);
299
+ }
300
+ }
301
+ // ── 遗漏扫描:检测空洞章节、占位符、空表格(防 AI 偷懒) ──
302
+ const omissionScannedFiles = [];
303
+ const allOmissionFindings = [];
304
+ for (const changedFile of args.changed_files) {
305
+ if (!/\.md$/.test(changedFile))
306
+ continue;
307
+ const kind = inferArtifactKindFromPath(changedFile);
308
+ if (!kind)
309
+ continue;
310
+ const absFile = path.join(projectPath, changedFile);
311
+ if (!await fsp.access(absFile).then(() => true, () => false))
312
+ continue;
313
+ const content = await fsp.readFile(absFile, "utf-8");
314
+ if (content.length < 100)
315
+ continue; // 初始写入跳过
316
+ const omissionResult = scanArtifactForOmissions(kind, content, {
317
+ generate_adversarial_prompt: true,
318
+ });
319
+ if (omissionResult.findings.length > 0) {
320
+ omissionScannedFiles.push(changedFile);
321
+ allOmissionFindings.push({ file: changedFile, findings: omissionResult.findings });
271
322
  }
323
+ if (!omissionResult.passed) {
324
+ const hardFails = omissionResult.findings.filter((f) => f.severity === "hard_fail");
325
+ const reasons = hardFails.map((f) => f.message).join(";");
326
+ await taskContext.save(loadedCtx);
327
+ return {
328
+ result: {
329
+ error: `产物遗漏扫描失败(${changedFile}):${reasons}`,
330
+ status: "blocked",
331
+ diagnostic_code: "SF-OMISSION-SCAN-FAILED",
332
+ recovery: `补齐以下缺失内容后重新执行 sf_verify:${reasons}`,
333
+ },
334
+ };
335
+ }
336
+ }
337
+ // 将遗漏扫描结果写入 VerifyResult(通过 loadedCtx 传递到最终结果组装)
338
+ if (omissionScannedFiles.length > 0) {
339
+ const totalFindings = allOmissionFindings.reduce((s, o) => s + o.findings.length, 0);
340
+ const hardFailCount = allOmissionFindings.reduce((s, o) => s + o.findings.filter((f) => f.severity === "hard_fail").length, 0);
341
+ // 生成对抗性 prompt(取第一个有 findings 的文件的 prompt)
342
+ const firstResultWithPrompt = allOmissionFindings[0];
343
+ loadedCtx.omission_scan_result = {
344
+ scanned_files: omissionScannedFiles,
345
+ total_findings: totalFindings,
346
+ hard_fail_count: hardFailCount,
347
+ summary: hardFailCount > 0
348
+ ? `❌ 遗漏扫描发现 ${totalFindings} 项问题(${hardFailCount} 个阻塞)`
349
+ : `⚠️ 遗漏扫描发现 ${totalFindings} 个警告`,
350
+ adversarial_prompt: firstResultWithPrompt?.findings.length
351
+ ? `对文件 ${firstResultWithPrompt.file} 执行深度遗漏审计`
352
+ : undefined,
353
+ };
354
+ await taskContext.save(loadedCtx);
355
+ }
356
+ // ── 步骤 7a: 偷懒模式检测(.ts 文件) ──
357
+ let lazyPatternHardFails = 0;
358
+ let lazyPatternWarnings = 0;
359
+ for (const changedFile of args.changed_files) {
360
+ if (!/\.ts$/.test(changedFile) || /\.d\.ts$/.test(changedFile))
361
+ continue;
362
+ const absFile = path.join(projectPath, changedFile);
363
+ if (!await fsp.access(absFile).then(() => true, () => false))
364
+ continue;
365
+ const content = await fsp.readFile(absFile, "utf-8");
366
+ const findings = detectLazyPatterns(content, changedFile);
367
+ const hfs = findings.filter((f) => f.severity === "hard_fail");
368
+ const wfs = findings.filter((f) => f.severity === "warning");
369
+ lazyPatternHardFails += hfs.length;
370
+ lazyPatternWarnings += wfs.length;
371
+ if (hfs.length > 0) {
372
+ const reasons = hfs.map((f) => f.message).join(";");
373
+ await taskContext.save(loadedCtx);
374
+ return {
375
+ result: {
376
+ error: `代码偷懒模式检测失败(${changedFile}):${reasons}`,
377
+ status: "blocked",
378
+ diagnostic_code: "SF-LAZY-PATTERN-DETECTED",
379
+ recovery: `修复以下代码质量问题后重新执行 sf_verify:${reasons}`,
380
+ },
381
+ };
382
+ }
383
+ }
384
+ // ── 步骤 7b: 错误处理路径验证(.ts 文件) ──
385
+ let errorPathHardFails = 0;
386
+ for (const changedFile of args.changed_files) {
387
+ if (!/\.ts$/.test(changedFile) || /\.d\.ts$/.test(changedFile))
388
+ continue;
389
+ const absFile = path.join(projectPath, changedFile);
390
+ if (!await fsp.access(absFile).then(() => true, () => false))
391
+ continue;
392
+ const content = await fsp.readFile(absFile, "utf-8");
393
+ const findings = verifyErrorHandlingPaths(content, changedFile);
394
+ const hfs = findings.filter((f) => f.severity === "hard_fail");
395
+ errorPathHardFails += hfs.length;
396
+ if (hfs.length > 0) {
397
+ const reasons = hfs.map((f) => f.message).join(";");
398
+ await taskContext.save(loadedCtx);
399
+ return {
400
+ result: {
401
+ error: `错误处理路径验证失败(${changedFile}):${reasons}`,
402
+ status: "blocked",
403
+ diagnostic_code: "SF-ERROR-PATH-VERIFICATION-FAILED",
404
+ recovery: `修复以下错误处理问题后重新执行 sf_verify:${reasons}`,
405
+ },
406
+ };
407
+ }
408
+ }
409
+ // ── 步骤 7c: 行为覆盖率检查 ──
410
+ const coverageFindings = verifyBehaviorCoverage(args.changed_files, projectPath);
411
+ const coverageWarnings = coverageFindings.length;
412
+ // ── 汇总 code_quality 结果到 loadedCtx ──
413
+ if (lazyPatternHardFails > 0 || lazyPatternWarnings > 0 || errorPathHardFails > 0 || coverageWarnings > 0) {
414
+ loadedCtx.code_quality_result = {
415
+ lazy_pattern_findings: lazyPatternHardFails + lazyPatternWarnings,
416
+ error_path_findings: errorPathHardFails,
417
+ test_quality_hard_fails: 0,
418
+ mutation_hard_fails: 0,
419
+ behavior_coverage_warnings: coverageWarnings,
420
+ summary: `偷懒模式: ${lazyPatternHardFails} 阻塞/${lazyPatternWarnings} 警告;错误路径: ${errorPathHardFails};行为覆盖: ${coverageWarnings} 警告`,
421
+ };
422
+ await taskContext.save(loadedCtx);
272
423
  }
273
424
  // RouteDecision 合同验证 — 无条件,在状态预检之前
274
- const rdFromCtx = ctx.route_decision ?? ctx.classification?.route_decision ?? null;
275
- const wtFromCtx = ctx.workflow_trace ?? ctx.expansion?.workflow_trace ?? null;
425
+ const rdFromCtx = loadedCtx.route_decision ?? loadedCtx.classification?.route_decision ?? null;
426
+ const wtFromCtx = loadedCtx.workflow_trace ?? loadedCtx.expansion?.workflow_trace ?? null;
276
427
  const rdContractInput = {
277
428
  route_decision: rdFromCtx,
278
429
  workflow_trace: wtFromCtx,
279
- expansion_input_materials: ctx.expansion?.input_materials?.map((m) => ({ path_or_ref: m.path_or_ref })),
280
- expansion_output_artifact: ctx.artifact_output ? { kind: ctx.artifact_output.kind, path: ctx.artifact_output.path } : null,
281
- expansion_constraints: ctx.expansion?.contract?.constraints,
430
+ expansion_input_materials: loadedCtx.expansion?.input_materials?.map((m) => ({ path_or_ref: m.path_or_ref })),
431
+ expansion_output_artifact: loadedCtx.artifact_output ? { kind: loadedCtx.artifact_output.kind, path: loadedCtx.artifact_output.path } : null,
432
+ expansion_constraints: loadedCtx.expansion?.contract?.constraints,
282
433
  };
283
434
  const rdFindings = verifyRouteDecisionContract(rdContractInput);
284
435
  const hasHardFail = rdFindings.some(f => f.severity === "hard_fail" || f.severity === "blocked");
@@ -292,20 +443,20 @@ export async function registerVerifyLearnTools(ctx) {
292
443
  };
293
444
  }
294
445
  const VALID_VERIFY_STATES = ["executing", "retrying"];
295
- if (!VALID_VERIFY_STATES.includes(ctx.status)) {
446
+ if (!VALID_VERIFY_STATES.includes(loadedCtx.status)) {
296
447
  return {
297
- result: { error: `任务状态 ${ctx.status} 不可验证,需要 executing 或 retrying`, status: ctx.status },
448
+ result: { error: `任务状态 ${loadedCtx.status} 不可验证,需要 executing 或 retrying`, status: loadedCtx.status },
298
449
  };
299
450
  }
300
- const acceptanceItems = ctx.expansion
301
- ? [...ctx.expansion.acceptance.automated, ...ctx.expansion.acceptance.manual]
451
+ const acceptanceItems = loadedCtx.expansion
452
+ ? [...loadedCtx.expansion.acceptance.automated, ...loadedCtx.expansion.acceptance.manual]
302
453
  : [];
303
454
  // H4: 工作区完整性检查 — advisory 模式,仅警告不阻断
304
455
  const integrity = await ioController.verify();
305
456
  const h4Warning = !integrity.clean
306
457
  ? { warning: `H4 advisory: ${integrity.message}`, dirty_files: integrity.dirty_files }
307
458
  : undefined;
308
- const verifyResult = (await lazyVerifier()).generateVerifyCommands(config, args.changed_files, acceptanceItems, ctx?.expansion?.workflow_trace?.route);
459
+ const verifyResult = (await lazyVerifier()).generateVerifyCommands(config, args.changed_files, acceptanceItems, loadedCtx?.expansion?.workflow_trace?.route);
309
460
  verifyResult.task_id = args.task_id;
310
461
  // 创建 VerificationPlan(plan_only,非执行结果)
311
462
  const vcModule = await lazyVerificationContract();
@@ -327,9 +478,9 @@ export async function registerVerifyLearnTools(ctx) {
327
478
  // 产物生命周期检查: draft → verified 需要 ArtifactVerificationResult.passed
328
479
  let artifactVerificationResult;
329
480
  let artifactFileMissing = false;
330
- if (ctx.artifact_output && ctx.artifact_output.status === "draft") {
481
+ if (loadedCtx.artifact_output && loadedCtx.artifact_output.status === "draft") {
331
482
  // 验证前解析产物文件并计算 hash
332
- const artifact = ctx.artifact_output;
483
+ const artifact = loadedCtx.artifact_output;
333
484
  const fullPath = path.join(projectPath, artifact.path);
334
485
  if (await fsp.access(fullPath).then(() => true, () => false)) {
335
486
  const fileContent = await fsp.readFile(fullPath);
@@ -357,9 +508,9 @@ export async function registerVerifyLearnTools(ctx) {
357
508
  // 写入护栏 — 检查变更文件是否在允许范围
358
509
  if (args.changed_files.length > 0) {
359
510
  const guardModule = await lazyEnforcementGuard();
360
- const scopePaths = ctx.expansion?.scope?.allowed_paths ?? [];
511
+ const scopePaths = loadedCtx.expansion?.scope?.allowed_paths ?? [];
361
512
  for (const cf of args.changed_files) {
362
- const writeFindings = guardModule.evaluateWriteGuard(ctx.classification?.route_decision?.route ?? "code_execution", cf, scopePaths, "command_execution_contract");
513
+ const writeFindings = guardModule.evaluateWriteGuard(loadedCtx.classification?.route_decision?.route ?? "code_execution", cf, scopePaths, "command_execution_contract");
363
514
  if (writeFindings.some((f) => f.blocked)) {
364
515
  return {
365
516
  result: {
@@ -373,7 +524,7 @@ export async function registerVerifyLearnTools(ctx) {
373
524
  }
374
525
  await taskContext.setExecution(args.task_id, args.changed_files);
375
526
  // 无实际文件变更但存在产物时标记 no_change_artifact
376
- if (args.changed_files.length === 0 && ctx.artifact_output) {
527
+ if (args.changed_files.length === 0 && loadedCtx.artifact_output) {
377
528
  const execCtx = await taskContext.load(args.task_id);
378
529
  if (execCtx?.execution) {
379
530
  execCtx.execution.no_change_artifact = true;
@@ -381,15 +532,15 @@ export async function registerVerifyLearnTools(ctx) {
381
532
  }
382
533
  }
383
534
  // 生成验证命令成功后再转换状态,避免操作失败导致任务卡在 verifying
384
- if (ctx.status === "retrying") {
535
+ if (loadedCtx.status === "retrying") {
385
536
  await taskContext.updateStatus(args.task_id, "executing");
386
537
  }
387
538
  await taskContext.updateStatus(args.task_id, "verifying");
388
539
  // 存储验证结果
389
540
  await taskContext.setVerification(args.task_id, verifyResult);
390
541
  // 产物生命周期转换: draft → verified 仅在 ArtifactVerificationResult.passed 时
391
- if (ctx.artifact_output && ctx.artifact_output.status === "draft" && artifactVerificationResult?.passed) {
392
- const evidenceRef = `verification:${ctx.task_id}:checks=${artifactVerificationResult.checks.length}:summary=${artifactVerificationResult.summary.slice(0, 60)}`;
542
+ if (loadedCtx.artifact_output && loadedCtx.artifact_output.status === "draft" && artifactVerificationResult?.passed) {
543
+ const evidenceRef = `verification:${loadedCtx.task_id}:checks=${artifactVerificationResult.checks.length}:summary=${artifactVerificationResult.summary.slice(0, 60)}`;
393
544
  try {
394
545
  await taskContext.updateArtifactStatus(args.task_id, {
395
546
  status: "verified",
@@ -408,9 +559,9 @@ export async function registerVerifyLearnTools(ctx) {
408
559
  verifyExtras.h4_advisory = h4Warning;
409
560
  if (verifyAnchors && verifyAnchors.length > 0)
410
561
  verifyExtras.cognitive_anchors = verifyAnchors;
411
- if (ctx.artifact_output && ctx.artifact_output.status === "draft" && artifactVerificationResult && !artifactVerificationResult.passed) {
562
+ if (loadedCtx.artifact_output && loadedCtx.artifact_output.status === "draft" && artifactVerificationResult && !artifactVerificationResult.passed) {
412
563
  const reason = artifactFileMissing
413
- ? `产物文件不存在 (${ctx.artifact_output.path}),无法计算 hash`
564
+ ? `产物文件不存在 (${loadedCtx.artifact_output.path}),无法计算 hash`
414
565
  : artifactVerificationResult.summary;
415
566
  verifyExtras.artifact_warning = `产物验收检查未通过: ${reason}`;
416
567
  verifyExtras.artifact_verification = artifactVerificationResult;
@@ -424,12 +575,12 @@ export async function registerVerifyLearnTools(ctx) {
424
575
  // 问题六十:验证结论必须经过 FactClaimVerifier,不得把计划当结果
425
576
  {
426
577
  const { createEvidenceGroundingSystem, assessTaskRisk } = await import("../../../engine/contracts/evidence_grounding_contract.js");
427
- const _vRoute = ctx.route_decision?.route ?? ctx.classification?.route_decision?.route;
428
- const _vRisk = assessTaskRisk(ctx.classification?.task_type, _vRoute, ctx.intent);
578
+ const _vRoute = loadedCtx.route_decision?.route ?? loadedCtx.classification?.route_decision?.route;
579
+ const _vRisk = assessTaskRisk(loadedCtx.classification?.task_type, _vRoute, loadedCtx.intent);
429
580
  if (_vRisk !== "low") {
430
581
  const _veg = createEvidenceGroundingSystem();
431
582
  // 只有真实执行结果才能作为 validation_result 证据
432
- const _hasRealPassed = ctx.verification_result && ctx.verification_result.status === "passed";
583
+ const _hasRealPassed = loadedCtx.verification_result && loadedCtx.verification_result.status === "passed";
433
584
  if (_hasRealPassed) {
434
585
  _veg.registry.register({
435
586
  source_type: "validation_result",
@@ -437,7 +588,7 @@ export async function registerVerifyLearnTools(ctx) {
437
588
  freshness: "current",
438
589
  permission: "allowed",
439
590
  scope: "verification",
440
- description: `验证状态: ${ctx.verification_result?.status ?? "unknown"}`,
591
+ description: `验证状态: ${loadedCtx.verification_result?.status ?? "unknown"}`,
441
592
  source_ref: `verification:${args.task_id}`,
442
593
  });
443
594
  }