soloforge 1.1.45 → 1.1.47

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 (608) hide show
  1. package/README.md +15 -3
  2. package/dist/context/adapters/shared/integration_guide.js +3 -1
  3. package/dist/context/adapters/shared/integration_guide.js.map +1 -1
  4. package/dist/context/contracts/lifecycle_knowledge_contract.d.ts.map +1 -1
  5. package/dist/context/contracts/lifecycle_knowledge_contract.js +2 -2
  6. package/dist/context/contracts/lifecycle_knowledge_contract.js.map +1 -1
  7. package/dist/core/gate_record_store.d.ts +11 -7
  8. package/dist/core/gate_record_store.d.ts.map +1 -1
  9. package/dist/core/gate_record_store.js +31 -17
  10. package/dist/core/gate_record_store.js.map +1 -1
  11. package/dist/core/observer.d.ts.map +1 -1
  12. package/dist/core/observer.js +7 -4
  13. package/dist/core/observer.js.map +1 -1
  14. package/dist/core/task_context/manager.d.ts +0 -8
  15. package/dist/core/task_context/manager.d.ts.map +1 -1
  16. package/dist/core/task_context/manager.js +1 -19
  17. package/dist/core/task_context/manager.js.map +1 -1
  18. package/dist/core/task_context/state_fact_classifier.d.ts +0 -8
  19. package/dist/core/task_context/state_fact_classifier.d.ts.map +1 -1
  20. package/dist/core/task_context/state_fact_classifier.js +0 -36
  21. package/dist/core/task_context/state_fact_classifier.js.map +1 -1
  22. package/dist/domain/asset_registry/derived_registry.d.ts.map +1 -1
  23. package/dist/domain/asset_registry/derived_registry.js +20 -5
  24. package/dist/domain/asset_registry/derived_registry.js.map +1 -1
  25. package/dist/domain/asset_registry/derived_types.d.ts +5 -1
  26. package/dist/domain/asset_registry/derived_types.d.ts.map +1 -1
  27. package/dist/domain/build/contract.d.ts.map +1 -1
  28. package/dist/domain/build/contract.js +3 -8
  29. package/dist/domain/build/contract.js.map +1 -1
  30. package/dist/domain/build/engine.d.ts +3 -2
  31. package/dist/domain/build/engine.d.ts.map +1 -1
  32. package/dist/domain/build/engine.js +5 -2
  33. package/dist/domain/build/engine.js.map +1 -1
  34. package/dist/domain/contracts/design_artifact_pack.d.ts +0 -1
  35. package/dist/domain/contracts/design_artifact_pack.d.ts.map +1 -1
  36. package/dist/domain/contracts/design_artifact_pack.js +1 -4
  37. package/dist/domain/contracts/design_artifact_pack.js.map +1 -1
  38. package/dist/domain/design/contract.d.ts.map +1 -1
  39. package/dist/domain/design/contract.js +2 -31
  40. package/dist/domain/design/contract.js.map +1 -1
  41. package/dist/domain/design/engine.d.ts +3 -2
  42. package/dist/domain/design/engine.d.ts.map +1 -1
  43. package/dist/domain/design/engine.js +5 -2
  44. package/dist/domain/design/engine.js.map +1 -1
  45. package/dist/domain/engine_helpers.d.ts +18 -2
  46. package/dist/domain/engine_helpers.d.ts.map +1 -1
  47. package/dist/domain/engine_helpers.js +87 -8
  48. package/dist/domain/engine_helpers.js.map +1 -1
  49. package/dist/domain/index.d.ts +1 -1
  50. package/dist/domain/index.d.ts.map +1 -1
  51. package/dist/domain/operate/contract.js +1 -1
  52. package/dist/domain/operate/contract.js.map +1 -1
  53. package/dist/domain/operate/engine.d.ts +3 -2
  54. package/dist/domain/operate/engine.d.ts.map +1 -1
  55. package/dist/domain/operate/engine.js +5 -2
  56. package/dist/domain/operate/engine.js.map +1 -1
  57. package/dist/domain/registry.d.ts +2 -2
  58. package/dist/domain/registry.d.ts.map +1 -1
  59. package/dist/domain/types.d.ts +1 -12
  60. package/dist/domain/types.d.ts.map +1 -1
  61. package/dist/domain/types.js +3 -0
  62. package/dist/domain/types.js.map +1 -1
  63. package/dist/domain/verify/engine.d.ts +3 -2
  64. package/dist/domain/verify/engine.d.ts.map +1 -1
  65. package/dist/domain/verify/engine.js +5 -2
  66. package/dist/domain/verify/engine.js.map +1 -1
  67. package/dist/gate/contracts/capability_registry.d.ts.map +1 -1
  68. package/dist/gate/contracts/capability_registry.js +0 -26
  69. package/dist/gate/contracts/capability_registry.js.map +1 -1
  70. package/dist/gate/contracts/control_plane_contract.d.ts +1 -1
  71. package/dist/gate/contracts/control_plane_contract.d.ts.map +1 -1
  72. package/dist/gate/contracts/control_plane_contract.js +1 -10
  73. package/dist/gate/contracts/control_plane_contract.js.map +1 -1
  74. package/dist/gate/contracts/tool_invocation_contract_registry.d.ts +1 -0
  75. package/dist/gate/contracts/tool_invocation_contract_registry.d.ts.map +1 -1
  76. package/dist/gate/contracts/tool_invocation_contract_registry.js +1 -1
  77. package/dist/gate/contracts/tool_invocation_contract_registry.js.map +1 -1
  78. package/dist/gate/executors/executors_artifact.d.ts.map +1 -1
  79. package/dist/gate/executors/executors_artifact.js +8 -5
  80. package/dist/gate/executors/executors_artifact.js.map +1 -1
  81. package/dist/gate/executors/executors_prerequisite.d.ts.map +1 -1
  82. package/dist/gate/executors/executors_prerequisite.js +26 -6
  83. package/dist/gate/executors/executors_prerequisite.js.map +1 -1
  84. package/dist/gate/executors/executors_regex_scan.js +2 -2
  85. package/dist/gate/executors/executors_regex_scan.js.map +1 -1
  86. package/dist/gate/executors/executors_trace.d.ts.map +1 -1
  87. package/dist/gate/executors/executors_trace.js +2 -0
  88. package/dist/gate/executors/executors_trace.js.map +1 -1
  89. package/dist/gate/gate_registry_bridge.d.ts +7 -6
  90. package/dist/gate/gate_registry_bridge.d.ts.map +1 -1
  91. package/dist/gate/gate_registry_bridge.js +51 -13
  92. package/dist/gate/gate_registry_bridge.js.map +1 -1
  93. package/dist/gate/index.d.ts +0 -2
  94. package/dist/gate/index.d.ts.map +1 -1
  95. package/dist/gate/index.js +0 -1
  96. package/dist/gate/index.js.map +1 -1
  97. package/dist/server/tools/index.d.ts.map +1 -1
  98. package/dist/server/tools/index.js +1 -3
  99. package/dist/server/tools/index.js.map +1 -1
  100. package/dist/server/tools/lazy_loaders.d.ts +0 -23
  101. package/dist/server/tools/lazy_loaders.d.ts.map +1 -1
  102. package/dist/server/tools/lazy_loaders.js +2 -33
  103. package/dist/server/tools/lazy_loaders.js.map +1 -1
  104. package/dist/server/tools/middleware.d.ts +2 -5
  105. package/dist/server/tools/middleware.d.ts.map +1 -1
  106. package/dist/server/tools/middleware.js +3 -33
  107. package/dist/server/tools/middleware.js.map +1 -1
  108. package/dist/server/tools/sf_doctor.d.ts +1 -0
  109. package/dist/server/tools/sf_doctor.d.ts.map +1 -1
  110. package/dist/server/tools/sf_doctor.js +15 -1
  111. package/dist/server/tools/sf_doctor.js.map +1 -1
  112. package/dist/server/tools/sf_gate.d.ts +1 -1
  113. package/dist/server/tools/sf_gate.js +2 -2
  114. package/dist/server/tools/sf_gate.js.map +1 -1
  115. package/dist/server/tools/sf_task.js +2 -7
  116. package/dist/server/tools/sf_task.js.map +1 -1
  117. package/dist/server/tools/sf_work.d.ts.map +1 -1
  118. package/dist/server/tools/sf_work.js +18 -6
  119. package/dist/server/tools/sf_work.js.map +1 -1
  120. package/dist/server/tools/types.d.ts +0 -2
  121. package/dist/server/tools/types.d.ts.map +1 -1
  122. package/dist/types/pipeline_types.d.ts +1 -9
  123. package/dist/types/pipeline_types.d.ts.map +1 -1
  124. package/dist/verify/audit/verifier.d.ts.map +1 -1
  125. package/dist/verify/audit/verifier.js +0 -33
  126. package/dist/verify/audit/verifier.js.map +1 -1
  127. package/dist/verify/index.d.ts +1 -4
  128. package/dist/verify/index.d.ts.map +1 -1
  129. package/dist/verify/index.js +0 -3
  130. package/dist/verify/index.js.map +1 -1
  131. package/dist/verify/types.d.ts +0 -21
  132. package/dist/verify/types.d.ts.map +1 -1
  133. package/package.json +2 -1
  134. package/templates/build/enforced.md +73 -0
  135. package/templates/build//344/270/223/351/241/271/345/256/236/347/216/260.md +75 -0
  136. package/templates/build//345/256/211/345/205/250/345/212/240/345/233/272.md +75 -0
  137. package/templates/build//346/265/213/350/257/225/344/274/230/345/205/210/347/274/226/347/240/201.md +50 -79
  138. package/templates/build//346/265/213/350/257/225/350/256/241/345/210/222.md +26 -24
  139. package/templates/build//347/274/226/347/240/201/347/272/252/345/276/213.md +75 -0
  140. package/templates/build//350/260/203/350/257/225/346/216/222/346/237/245.md +44 -75
  141. package/templates/build//351/207/215/346/236/204/346/226/271/346/263/225.md +68 -0
  142. package/templates/design/API/346/216/245/345/217/243/350/247/204/346/240/274/346/226/207/346/241/243.md +31 -28
  143. package/templates/design/enforced.md +47 -77
  144. package/templates/design//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 +1 -0
  145. package/templates/design//345/205/274/345/256/271/346/200/247/344/270/216/350/277/201/347/247/273/350/257/204/344/274/260.md +71 -0
  146. package/templates/design//345/206/263/347/255/226/344/270/216/351/200/211/345/236/213.md +70 -0
  147. package/templates/design//345/210/207/347/211/207/350/247/204/345/210/222.md +49 -55
  148. package/templates/design//346/225/260/346/215/256/345/272/223/350/256/276/350/256/241/346/226/207/346/241/243.md +33 -47
  149. package/templates/design//346/236/266/346/236/204/350/256/276/350/256/241.md +41 -83
  150. package/templates/design//351/234/200/346/261/202/345/210/206/346/236/220.md +31 -59
  151. package/templates/operate/enforced.md +11 -0
  152. package/templates/operate//344/270/212/347/272/277/350/247/202/345/257/237.md +53 -32
  153. package/templates/operate//345/217/221/345/270/203/350/257/264/346/230/216.md +3 -0
  154. package/templates/operate//351/203/250/347/275/262/351/205/215/347/275/256.md +83 -0
  155. package/templates/shared/enforced.md +46 -5
  156. package/templates/shared//345/217/215/351/246/210/344/277/256/345/244/215/351/227/255/347/216/257.md +86 -0
  157. package/templates/shared//345/267/245/347/250/213/346/211/247/350/241/214/346/200/273/347/272/262.md +148 -0
  158. package/templates/shared//345/267/245/347/250/213/347/272/252/345/276/213.md +71 -0
  159. package/templates/shared//345/274/200/345/217/221/350/200/205/345/256/252/346/263/225.md +48 -43
  160. package/templates/shared//346/234/272/345/210/266/350/257/264/346/230/216.md +67 -0
  161. package/templates/shared//350/257/201/346/215/256/351/251/261/345/212/250/344/270/216/345/217/215/345/271/273/350/247/211.md +27 -17
  162. package/templates/shared//350/264/241/347/214/256/350/247/204/350/214/203.md +78 -0
  163. package/templates/verify/enforced.md +3 -0
  164. package/templates/verify//344/272/244/344/273/230/345/256/214/345/244/207/346/200/247/345/256/241/346/237/245.md +45 -87
  165. package/templates/verify//344/273/243/347/240/201/345/256/241/346/237/245/346/212/245/345/221/212.md +7 -0
  166. package/templates/verify//345/256/241/346/237/245/346/270/205/345/215/225.md +79 -0
  167. package/templates/verify//351/252/214/350/257/201/346/226/271/346/263/225.md +72 -0
  168. package/dist/context/engine/dependency_scanner.d.ts +0 -23
  169. package/dist/context/engine/dependency_scanner.d.ts.map +0 -1
  170. package/dist/context/engine/dependency_scanner.js +0 -309
  171. package/dist/context/engine/dependency_scanner.js.map +0 -1
  172. package/dist/context/engine/exploration.d.ts +0 -194
  173. package/dist/context/engine/exploration.d.ts.map +0 -1
  174. package/dist/context/engine/exploration.js +0 -712
  175. package/dist/context/engine/exploration.js.map +0 -1
  176. package/dist/context/knowledge/knowledge_acceptance_registry.d.ts +0 -42
  177. package/dist/context/knowledge/knowledge_acceptance_registry.d.ts.map +0 -1
  178. package/dist/context/knowledge/knowledge_acceptance_registry.js +0 -249
  179. package/dist/context/knowledge/knowledge_acceptance_registry.js.map +0 -1
  180. package/dist/context/knowledge/knowledge_scenario_registry.d.ts +0 -26
  181. package/dist/context/knowledge/knowledge_scenario_registry.d.ts.map +0 -1
  182. package/dist/context/knowledge/knowledge_scenario_registry.js +0 -267
  183. package/dist/context/knowledge/knowledge_scenario_registry.js.map +0 -1
  184. package/dist/context/knowledge/knowledge_sovereignty.d.ts +0 -65
  185. package/dist/context/knowledge/knowledge_sovereignty.d.ts.map +0 -1
  186. package/dist/context/knowledge/knowledge_sovereignty.js +0 -199
  187. package/dist/context/knowledge/knowledge_sovereignty.js.map +0 -1
  188. package/dist/context/team_awareness.d.ts +0 -42
  189. package/dist/context/team_awareness.d.ts.map +0 -1
  190. package/dist/context/team_awareness.js +0 -154
  191. package/dist/context/team_awareness.js.map +0 -1
  192. package/dist/context/templates/template_asset_visibility.d.ts +0 -116
  193. package/dist/context/templates/template_asset_visibility.d.ts.map +0 -1
  194. package/dist/context/templates/template_asset_visibility.js +0 -310
  195. package/dist/context/templates/template_asset_visibility.js.map +0 -1
  196. package/dist/gate/conflict_gate.d.ts +0 -53
  197. package/dist/gate/conflict_gate.d.ts.map +0 -1
  198. package/dist/gate/conflict_gate.js +0 -96
  199. package/dist/gate/conflict_gate.js.map +0 -1
  200. package/dist/gate/contracts/capability_action_advisor.d.ts +0 -34
  201. package/dist/gate/contracts/capability_action_advisor.d.ts.map +0 -1
  202. package/dist/gate/contracts/capability_action_advisor.js +0 -165
  203. package/dist/gate/contracts/capability_action_advisor.js.map +0 -1
  204. package/dist/gate/contracts/capability_state_store.d.ts +0 -121
  205. package/dist/gate/contracts/capability_state_store.d.ts.map +0 -1
  206. package/dist/gate/contracts/capability_state_store.js +0 -188
  207. package/dist/gate/contracts/capability_state_store.js.map +0 -1
  208. package/dist/gate/contracts/contract_guard.d.ts +0 -50
  209. package/dist/gate/contracts/contract_guard.d.ts.map +0 -1
  210. package/dist/gate/contracts/contract_guard.js +0 -611
  211. package/dist/gate/contracts/contract_guard.js.map +0 -1
  212. package/dist/gate/contracts/escape_report.d.ts +0 -103
  213. package/dist/gate/contracts/escape_report.d.ts.map +0 -1
  214. package/dist/gate/contracts/escape_report.js +0 -145
  215. package/dist/gate/contracts/escape_report.js.map +0 -1
  216. package/dist/gate/feasibility_checker.d.ts +0 -27
  217. package/dist/gate/feasibility_checker.d.ts.map +0 -1
  218. package/dist/gate/feasibility_checker.js +0 -114
  219. package/dist/gate/feasibility_checker.js.map +0 -1
  220. package/dist/gate/migration_guard.d.ts +0 -22
  221. package/dist/gate/migration_guard.d.ts.map +0 -1
  222. package/dist/gate/migration_guard.js +0 -277
  223. package/dist/gate/migration_guard.js.map +0 -1
  224. package/dist/gate/scope_lease.d.ts +0 -94
  225. package/dist/gate/scope_lease.d.ts.map +0 -1
  226. package/dist/gate/scope_lease.js +0 -180
  227. package/dist/gate/scope_lease.js.map +0 -1
  228. package/dist/git/git_deps.d.ts +0 -85
  229. package/dist/git/git_deps.d.ts.map +0 -1
  230. package/dist/git/git_deps.js +0 -22
  231. package/dist/git/git_deps.js.map +0 -1
  232. package/dist/git/operations.d.ts +0 -173
  233. package/dist/git/operations.d.ts.map +0 -1
  234. package/dist/git/operations.js +0 -350
  235. package/dist/git/operations.js.map +0 -1
  236. package/dist/server/tools/gate_engine.d.ts +0 -17
  237. package/dist/server/tools/gate_engine.d.ts.map +0 -1
  238. package/dist/server/tools/gate_engine.js +0 -17
  239. package/dist/server/tools/gate_engine.js.map +0 -1
  240. package/dist/server/tools/middleware/budget_check.d.ts +0 -35
  241. package/dist/server/tools/middleware/budget_check.d.ts.map +0 -1
  242. package/dist/server/tools/middleware/budget_check.js +0 -69
  243. package/dist/server/tools/middleware/budget_check.js.map +0 -1
  244. package/dist/shared/contracts/contract_registry/builtin_contracts_core.d.ts +0 -16
  245. package/dist/shared/contracts/contract_registry/builtin_contracts_core.d.ts.map +0 -1
  246. package/dist/shared/contracts/contract_registry/builtin_contracts_core.js +0 -306
  247. package/dist/shared/contracts/contract_registry/builtin_contracts_core.js.map +0 -1
  248. package/dist/shared/contracts/contract_registry/builtin_contracts_core_2.d.ts +0 -16
  249. package/dist/shared/contracts/contract_registry/builtin_contracts_core_2.d.ts.map +0 -1
  250. package/dist/shared/contracts/contract_registry/builtin_contracts_core_2.js +0 -304
  251. package/dist/shared/contracts/contract_registry/builtin_contracts_core_2.js.map +0 -1
  252. package/dist/shared/contracts/contract_registry/builtin_contracts_extended.d.ts +0 -16
  253. package/dist/shared/contracts/contract_registry/builtin_contracts_extended.d.ts.map +0 -1
  254. package/dist/shared/contracts/contract_registry/builtin_contracts_extended.js +0 -434
  255. package/dist/shared/contracts/contract_registry/builtin_contracts_extended.js.map +0 -1
  256. package/dist/shared/contracts/contract_registry/index.d.ts +0 -8
  257. package/dist/shared/contracts/contract_registry/index.d.ts.map +0 -1
  258. package/dist/shared/contracts/contract_registry/index.js +0 -7
  259. package/dist/shared/contracts/contract_registry/index.js.map +0 -1
  260. package/dist/shared/contracts/contract_registry/registry.d.ts +0 -62
  261. package/dist/shared/contracts/contract_registry/registry.d.ts.map +0 -1
  262. package/dist/shared/contracts/contract_registry/registry.js +0 -191
  263. package/dist/shared/contracts/contract_registry/registry.js.map +0 -1
  264. package/dist/shared/contracts/contract_registry/registry_internal.d.ts +0 -19
  265. package/dist/shared/contracts/contract_registry/registry_internal.d.ts.map +0 -1
  266. package/dist/shared/contracts/contract_registry/registry_internal.js +0 -54
  267. package/dist/shared/contracts/contract_registry/registry_internal.js.map +0 -1
  268. package/dist/shared/contracts/contract_registry/types.d.ts +0 -47
  269. package/dist/shared/contracts/contract_registry/types.d.ts.map +0 -1
  270. package/dist/shared/contracts/contract_registry/types.js +0 -5
  271. package/dist/shared/contracts/contract_registry/types.js.map +0 -1
  272. package/dist/shared/contracts/contract_registry/validation.d.ts +0 -25
  273. package/dist/shared/contracts/contract_registry/validation.d.ts.map +0 -1
  274. package/dist/shared/contracts/contract_registry/validation.js +0 -363
  275. package/dist/shared/contracts/contract_registry/validation.js.map +0 -1
  276. package/dist/shared/llm_gateway.d.ts +0 -186
  277. package/dist/shared/llm_gateway.d.ts.map +0 -1
  278. package/dist/shared/llm_gateway.js +0 -393
  279. package/dist/shared/llm_gateway.js.map +0 -1
  280. package/dist/verify/audit/audit_sampler.d.ts +0 -29
  281. package/dist/verify/audit/audit_sampler.d.ts.map +0 -1
  282. package/dist/verify/audit/audit_sampler.js +0 -42
  283. package/dist/verify/audit/audit_sampler.js.map +0 -1
  284. package/dist/verify/audit/debt_reporter.d.ts +0 -22
  285. package/dist/verify/audit/debt_reporter.d.ts.map +0 -1
  286. package/dist/verify/audit/debt_reporter.js +0 -107
  287. package/dist/verify/audit/debt_reporter.js.map +0 -1
  288. package/dist/verify/audit/debugger.d.ts +0 -25
  289. package/dist/verify/audit/debugger.d.ts.map +0 -1
  290. package/dist/verify/audit/debugger.js +0 -429
  291. package/dist/verify/audit/debugger.js.map +0 -1
  292. package/dist/verify/audit/degradation.d.ts +0 -62
  293. package/dist/verify/audit/degradation.d.ts.map +0 -1
  294. package/dist/verify/audit/degradation.js +0 -78
  295. package/dist/verify/audit/degradation.js.map +0 -1
  296. package/dist/verify/audit/developer_sovereignty.d.ts +0 -29
  297. package/dist/verify/audit/developer_sovereignty.d.ts.map +0 -1
  298. package/dist/verify/audit/developer_sovereignty.js +0 -137
  299. package/dist/verify/audit/developer_sovereignty.js.map +0 -1
  300. package/dist/verify/audit/failure_report.d.ts +0 -76
  301. package/dist/verify/audit/failure_report.d.ts.map +0 -1
  302. package/dist/verify/audit/failure_report.js +0 -145
  303. package/dist/verify/audit/failure_report.js.map +0 -1
  304. package/dist/verify/audit/governance_report.d.ts +0 -110
  305. package/dist/verify/audit/governance_report.d.ts.map +0 -1
  306. package/dist/verify/audit/governance_report.js +0 -194
  307. package/dist/verify/audit/governance_report.js.map +0 -1
  308. package/dist/verify/audit/mutation_audit.d.ts +0 -40
  309. package/dist/verify/audit/mutation_audit.d.ts.map +0 -1
  310. package/dist/verify/audit/mutation_audit.js +0 -154
  311. package/dist/verify/audit/mutation_audit.js.map +0 -1
  312. package/dist/verify/audit/risk_sampler.d.ts +0 -44
  313. package/dist/verify/audit/risk_sampler.d.ts.map +0 -1
  314. package/dist/verify/audit/risk_sampler.js +0 -80
  315. package/dist/verify/audit/risk_sampler.js.map +0 -1
  316. package/dist/verify/audit/runtime_safety.d.ts +0 -89
  317. package/dist/verify/audit/runtime_safety.d.ts.map +0 -1
  318. package/dist/verify/audit/runtime_safety.js +0 -209
  319. package/dist/verify/audit/runtime_safety.js.map +0 -1
  320. package/dist/verify/audit/semantic_evidence.d.ts +0 -36
  321. package/dist/verify/audit/semantic_evidence.d.ts.map +0 -1
  322. package/dist/verify/audit/semantic_evidence.js +0 -90
  323. package/dist/verify/audit/semantic_evidence.js.map +0 -1
  324. package/dist/verify/audit/test_generator.d.ts +0 -23
  325. package/dist/verify/audit/test_generator.d.ts.map +0 -1
  326. package/dist/verify/audit/test_generator.js +0 -278
  327. package/dist/verify/audit/test_generator.js.map +0 -1
  328. package/dist/verify/audit/test_quality.d.ts +0 -49
  329. package/dist/verify/audit/test_quality.d.ts.map +0 -1
  330. package/dist/verify/audit/test_quality.js +0 -684
  331. package/dist/verify/audit/test_quality.js.map +0 -1
  332. package/dist/verify/change_coordinator.d.ts +0 -45
  333. package/dist/verify/change_coordinator.d.ts.map +0 -1
  334. package/dist/verify/change_coordinator.js +0 -168
  335. package/dist/verify/change_coordinator.js.map +0 -1
  336. package/dist/verify/contracts/decision_contract.d.ts +0 -51
  337. package/dist/verify/contracts/decision_contract.d.ts.map +0 -1
  338. package/dist/verify/contracts/decision_contract.js +0 -70
  339. package/dist/verify/contracts/decision_contract.js.map +0 -1
  340. package/dist/verify/contracts/mechanism_contract_registry/contracts-audit.d.ts +0 -17
  341. package/dist/verify/contracts/mechanism_contract_registry/contracts-audit.d.ts.map +0 -1
  342. package/dist/verify/contracts/mechanism_contract_registry/contracts-audit.js +0 -428
  343. package/dist/verify/contracts/mechanism_contract_registry/contracts-audit.js.map +0 -1
  344. package/dist/verify/contracts/mechanism_contract_registry/contracts-governance.d.ts +0 -17
  345. package/dist/verify/contracts/mechanism_contract_registry/contracts-governance.d.ts.map +0 -1
  346. package/dist/verify/contracts/mechanism_contract_registry/contracts-governance.js +0 -429
  347. package/dist/verify/contracts/mechanism_contract_registry/contracts-governance.js.map +0 -1
  348. package/dist/verify/contracts/mechanism_contract_registry/contracts-pipeline.d.ts +0 -17
  349. package/dist/verify/contracts/mechanism_contract_registry/contracts-pipeline.d.ts.map +0 -1
  350. package/dist/verify/contracts/mechanism_contract_registry/contracts-pipeline.js +0 -194
  351. package/dist/verify/contracts/mechanism_contract_registry/contracts-pipeline.js.map +0 -1
  352. package/dist/verify/contracts/mechanism_contract_registry/contracts-platform.d.ts +0 -17
  353. package/dist/verify/contracts/mechanism_contract_registry/contracts-platform.d.ts.map +0 -1
  354. package/dist/verify/contracts/mechanism_contract_registry/contracts-platform.js +0 -365
  355. package/dist/verify/contracts/mechanism_contract_registry/contracts-platform.js.map +0 -1
  356. package/dist/verify/contracts/mechanism_contract_registry/index.d.ts +0 -19
  357. package/dist/verify/contracts/mechanism_contract_registry/index.d.ts.map +0 -1
  358. package/dist/verify/contracts/mechanism_contract_registry/index.js +0 -21
  359. package/dist/verify/contracts/mechanism_contract_registry/index.js.map +0 -1
  360. package/dist/verify/contracts/mechanism_contract_registry/types.d.ts +0 -33
  361. package/dist/verify/contracts/mechanism_contract_registry/types.d.ts.map +0 -1
  362. package/dist/verify/contracts/mechanism_contract_registry/types.js +0 -5
  363. package/dist/verify/contracts/mechanism_contract_registry/types.js.map +0 -1
  364. package/dist/verify/contracts/mechanism_contract_registry/validation.d.ts +0 -38
  365. package/dist/verify/contracts/mechanism_contract_registry/validation.d.ts.map +0 -1
  366. package/dist/verify/contracts/mechanism_contract_registry/validation.js +0 -136
  367. package/dist/verify/contracts/mechanism_contract_registry/validation.js.map +0 -1
  368. package/templates/build/Bug/345/210/206/346/236/220.md +0 -59
  369. package/templates/build/Git/346/223/215/344/275/234.md +0 -48
  370. package/templates/build/OOD/350/256/276/350/256/241/346/221/230/350/246/201.md +0 -46
  371. package/templates/build/React/346/216/245/345/217/243/351/233/206/346/210/220.md +0 -42
  372. package/templates/build/Schema/345/217/230/346/233/264/346/265/201/346/260/264/347/272/277.md +0 -52
  373. package/templates/build/TS/350/264/250/351/207/217/345/256/241/346/237/245.md +0 -78
  374. package/templates/build//344/270/212/346/270/270/344/272/244/345/217/211/351/252/214/350/257/201.md +0 -68
  375. package/templates/build//344/270/273/351/223/276/350/267/257/346/216/245/345/205/245/351/252/214/350/257/201.md +0 -56
  376. package/templates/build//344/273/243/347/240/201/351/227/250/347/246/201.md +0 -58
  377. package/templates/build//345/205/250/346/240/210/346/265/201/347/250/213/344/277/256/345/244/215.md +0 -48
  378. package/templates/build//345/210/207/347/211/207/346/211/247/350/241/214/347/272/252/345/276/213.md +0 -108
  379. package/templates/build//345/210/207/347/211/207/347/253/257/345/210/260/347/253/257/351/252/214/350/257/201.md +0 -221
  380. package/templates/build//345/212/237/350/203/275/345/274/200/345/217/221.md +0 -66
  381. package/templates/build//345/220/216/347/253/257/345/256/236/347/216/260.md +0 -39
  382. package/templates/build//345/220/216/347/253/257/345/256/236/347/216/260/345/267/245/347/250/213.md +0 -33
  383. package/templates/build//345/220/216/347/253/257/345/256/236/347/216/260/345/267/245/347/250/213/345/256/241/346/237/245.md +0 -70
  384. package/templates/build//345/220/216/347/253/257/346/216/245/345/217/243/345/256/236/347/216/260.md +0 -43
  385. package/templates/build//345/233/275/351/231/205/345/214/226.md +0 -45
  386. package/templates/build//345/256/211/345/205/250/345/212/240/345/233/272/346/265/201/346/260/264/347/272/277.md +0 -68
  387. package/templates/build//345/256/211/345/205/250/345/256/241/346/237/245.md +0 -154
  388. package/templates/build//345/256/211/345/205/250/345/256/241/350/256/241.md +0 -47
  389. package/templates/build//345/267/245/347/250/213/347/272/252/345/276/213.md +0 -56
  390. package/templates/build//346/200/247/350/203/275/345/210/206/346/236/220.md +0 -59
  391. package/templates/build//346/200/247/350/203/275/346/265/201/346/260/264/347/272/277.md +0 -53
  392. package/templates/build//346/216/245/345/217/243/351/233/206/346/210/220/346/265/201/346/260/264/347/272/277.md +0 -76
  393. package/templates/build//346/225/260/346/215/256/345/272/223/350/277/201/347/247/273.md +0 -63
  394. package/templates/build//346/226/260/350/200/201/351/200/273/350/276/221/346/257/224/345/257/271/346/227/245/345/277/227.md +0 -39
  395. package/templates/build//346/235/203/351/231/220/350/256/244/350/257/201.md +0 -49
  396. package/templates/build//346/265/213/350/257/225/350/264/250/351/207/217.md +0 -45
  397. package/templates/build//347/206/224/346/226/255/351/231/215/347/272/247.md +0 -49
  398. package/templates/build//347/212/266/346/200/201/346/265/201/350/275/254.md +0 -43
  399. package/templates/build//347/213/254/347/253/213/345/256/241/346/237/245.md +0 -45
  400. package/templates/build//347/272/246/346/235/237/345/256/236/347/216/260.md +0 -47
  401. package/templates/build//347/274/226/347/240/201/345/260/261/347/273/252/345/256/241/346/237/245.md +0 -60
  402. package/templates/build//347/274/226/347/240/201/350/201/232/345/220/210/346/243/200/346/237/245.md +0 -22
  403. package/templates/build//347/274/226/347/240/201/350/264/250/351/207/217.md +0 -46
  404. package/templates/build//347/274/226/347/240/201/351/230/266/346/256/265/346/211/247/350/241/214.md +0 -105
  405. package/templates/build//347/274/272/351/231/267/347/256/241/347/220/206.md +0 -47
  406. package/templates/build//350/200/246/345/220/210/346/243/200/346/265/213.md +0 -86
  407. package/templates/build//350/246/206/347/233/226/347/216/207/346/240/207/345/207/206.md +0 -40
  408. package/templates/build//350/264/250/351/207/217/345/256/241/346/237/245.md +0 -111
  409. package/templates/build//350/277/201/347/247/273/346/265/201/346/260/264/347/272/277.md +0 -52
  410. package/templates/build//351/200/232/347/224/250/350/264/250/351/207/217.md +0 -176
  411. package/templates/build//351/207/215/346/236/204/346/226/271/346/241/210.md +0 -61
  412. package/templates/build//351/207/215/346/236/204/346/265/201/346/260/264/347/272/277.md +0 -53
  413. package/templates/build//351/230/262/345/276/241/346/200/247/347/274/226/347/240/201.md +0 -94
  414. package/templates/build//351/233/206/346/210/220/351/252/214/350/257/201.md +0 -67
  415. package/templates/build//351/233/267/345/214/272/345/217/215/346/250/241/345/274/217.md +0 -135
  416. package/templates/build//351/252/214/346/224/266/346/240/207/345/207/206/345/256/241/346/237/245.md +0 -64
  417. package/templates/build//351/252/214/346/224/266/346/265/213/350/257/225/350/247/204/345/210/222.md +0 -75
  418. package/templates/design/API/350/256/276/350/256/241.md +0 -47
  419. package/templates/design/N/345/212/2401/346/237/245/350/257/242.md +0 -48
  420. package/templates/design/OOD/350/256/276/350/256/241.md +0 -72
  421. package/templates/design//344/270/200/350/207/264/346/200/247/346/240/241/351/252/214.md +0 -109
  422. package/templates/design//344/270/215/347/241/256/345/256/232/346/227/266/345/244/264/350/204/221/351/243/216/346/232/264.md +0 -105
  423. package/templates/design//344/273/273/345/212/241/346/213/206/350/247/243.md +0 -61
  424. package/templates/design//344/273/273/345/212/241/350/247/204/345/210/222.md +0 -84
  425. package/templates/design//344/274/232/350/257/235/346/201/242/345/244/215-procedures.md +0 -78
  426. package/templates/design//345/205/274/345/256/271/346/200/247/346/243/200/346/237/245.md +0 -89
  427. package/templates/design//345/210/207/347/211/207/350/256/241/345/210/222.md +0 -149
  428. package/templates/design//345/211/215/347/253/257/346/200/247/350/203/275.md +0 -49
  429. package/templates/design//345/216/206/345/217/262/351/201/227/347/225/231/351/233/267/345/214/272/346/270/205/345/215/225.md +0 -50
  430. package/templates/design//345/216/237/345/236/213/346/272/220/347/240/201/346/217/220/345/217/226.md +0 -78
  431. package/templates/design//345/216/237/345/236/213/350/257/264/346/230/216.md +0 -200
  432. package/templates/design//345/216/237/345/236/213/350/257/264/346/230/216/345/256/241/346/237/245.md +0 -81
  433. package/templates/design//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.md +0 -52
  434. package/templates/design//345/221/275/344/273/244/346/211/247/350/241/214-procedures.md +0 -45
  435. package/templates/design//345/221/275/344/273/244/350/267/257/347/224/261-procedures.md +0 -46
  436. package/templates/design//345/221/275/345/220/215.md +0 -49
  437. package/templates/design//345/242/236/351/207/217/350/276/271/347/225/214/347/225/214/345/256/232/346/226/207/346/241/243.md +0 -48
  438. package/templates/design//345/267/245/345/205/267/350/260/203/347/224/250-procedures.md +0 -41
  439. package/templates/design//345/271/266/345/217/221/346/216/247/345/210/266.md +0 -50
  440. package/templates/design//346/212/200/346/234/257/351/200/211/345/236/213.md +0 -33
  441. package/templates/design//346/216/245/345/217/243/345/257/271/346/216/245/346/226/271/346/241/210.md +0 -97
  442. package/templates/design//346/224/271/351/200/240/345/275/261/345/223/215/350/214/203/345/233/264/350/257/204/344/274/260.md +0 -56
  443. package/templates/design//346/225/260/346/215/256/345/272/223/345/217/230/346/233/264/346/226/271/346/241/210.md +0 -75
  444. package/templates/design//346/225/260/346/215/256/350/241/200/347/274/230/345/233/276.md +0 -49
  445. package/templates/design//346/227/240/351/232/234/347/242/215.md +0 -49
  446. package/templates/design//346/236/266/346/236/204/345/206/263/347/255/226/350/256/260/345/275/225.md +0 -53
  447. package/templates/design//346/236/266/346/236/204/345/256/241/346/237/245.md +0 -256
  448. package/templates/design//346/236/266/346/236/204/350/256/276/350/256/241-constraints.md +0 -177
  449. package/templates/design//346/236/266/346/236/204/350/256/276/350/256/241-procedures.md +0 -130
  450. package/templates/design//346/246/202/345/277/265/351/252/214/350/257/201/346/265/201/346/260/264/347/272/277.md +0 -47
  451. package/templates/design//346/272/220/347/240/201/345/216/237/345/236/213/344/272/244/344/273/230.md +0 -58
  452. package/templates/design//347/216/260/346/234/211/347/263/273/347/273/237/345/267/256/350/267/235/345/210/206/346/236/220.md +0 -114
  453. package/templates/design//347/237/245/350/257/206/347/273/264/346/212/244/346/265/201/346/260/264/347/272/277.md +0 -64
  454. package/templates/design//347/254/254/344/270/200/346/200/247/345/216/237/347/220/206/346/216/250/347/220/206.md +0 -182
  455. package/templates/design//347/264/247/346/200/245/345/233/236/346/273/232/346/211/213/345/206/214.md +0 -77
  456. package/templates/design//347/274/226/347/240/201/345/211/215/346/276/204/346/270/205.md +0 -85
  457. package/templates/design//350/200/201/347/263/273/347/273/237/345/210/207/347/211/207/350/247/204/345/210/222.md +0 -48
  458. package/templates/design//350/207/252/344/270/273/351/200/211/345/236/213.md +0 -57
  459. package/templates/design//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.md +0 -34
  460. package/templates/design//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.md +0 -60
  461. package/templates/design//350/256/276/350/256/241/350/201/232/345/220/210/346/243/200/346/237/245.md +0 -21
  462. package/templates/design//350/257/246/347/273/206/350/256/276/350/256/241-procedures.md +0 -123
  463. package/templates/design//350/257/246/347/273/206/350/256/276/350/256/241.md +0 -109
  464. package/templates/design//350/257/246/347/273/206/350/256/276/350/256/241/345/256/241/346/237/245.md +0 -88
  465. package/templates/design//350/260/203/350/257/225/346/226/271/346/263/225/350/256/272.md +0 -43
  466. package/templates/design//350/277/201/347/247/273/350/257/204/344/274/260.md +0 -67
  467. package/templates/design//351/232/224/347/246/273/351/200/202/351/205/215/345/231/250/346/226/271/346/241/210.md +0 -44
  468. package/templates/design//351/234/200/346/261/202/346/276/204/346/270/205.md +0 -65
  469. package/templates/design//351/234/200/346/261/202/350/264/250/351/207/217/345/256/241/346/237/245.md +0 -88
  470. package/templates/design//351/242/206/345/237/237/351/251/261/345/212/250/350/256/276/350/256/241.md +0 -43
  471. package/templates/operate//345/217/221/345/270/203/350/257/264/346/230/216/345/256/241/346/237/245.md +0 -60
  472. package/templates/operate//350/277/220/347/273/264/350/201/232/345/220/210/346/243/200/346/237/245.md +0 -22
  473. package/templates/operate//351/203/250/347/275/262/351/205/215/347/275/256/345/256/241/346/237/245.md +0 -59
  474. package/templates/shared/Diff/345/275/222/345/261/236/350/277/275/350/270/252.md +0 -55
  475. package/templates/shared/Java/350/264/250/351/207/217/351/227/250/347/246/201.md +0 -54
  476. package/templates/shared/LLM/351/242/204/347/256/227/347/275/221/345/205/263.md +0 -54
  477. package/templates/shared/OOD/344/270/216SOLID/350/256/276/350/256/241.md +0 -48
  478. package/templates/shared//344/272/247/347/211/251Schema/346/263/250/345/206/214/344/270/255/345/277/203.md +0 -57
  479. package/templates/shared//344/272/247/347/211/251/345/245/221/347/272/246.md +0 -44
  480. package/templates/shared//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.md +0 -116
  481. package/templates/shared//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 +0 -45
  482. package/templates/shared//344/273/273/345/212/241/347/212/266/346/200/201/346/234/272.md +0 -55
  483. package/templates/shared//344/273/273/345/212/241/347/256/241/347/220/206/345/231/250.md +0 -55
  484. package/templates/shared//344/274/230/351/233/205/345/201/234/346/234/272.md +0 -43
  485. package/templates/shared//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 +0 -54
  486. package/templates/shared//344/275/234/347/224/250/345/237/237/347/247/237/347/272/246.md +0 -55
  487. package/templates/shared//345/206/262/347/252/201/351/227/250/347/246/201.md +0 -55
  488. package/templates/shared//345/206/263/347/255/226/347/275/221/345/205/263.md +0 -61
  489. package/templates/shared//345/210/207/347/211/207/350/201/232/345/220/210/346/243/200/346/237/245.md +0 -72
  490. package/templates/shared//345/217/230/345/274/202/345/256/241/350/256/241.md +0 -58
  491. package/templates/shared//345/220/216/347/253/257/345/256/236/347/216/260/345/267/245/347/250/213/345/245/221/347/272/246.md +0 -40
  492. package/templates/shared//345/221/275/344/273/244/346/211/247/350/241/214.md +0 -48
  493. package/templates/shared//345/221/275/344/273/244/350/267/257/347/224/261.md +0 -45
  494. package/templates/shared//345/233/236/345/275/222/347/237/251/351/230/265.md +0 -54
  495. package/templates/shared//345/244/232/347/247/237/346/210/267.md +0 -49
  496. package/templates/shared//345/256/241/350/256/241/346/227/245/345/277/227.md +0 -46
  497. package/templates/shared//345/257/274/345/205/245/345/257/274/345/207/272.md +0 -51
  498. package/templates/shared//345/267/245/344/275/234/345/214/272/344/272/222/346/226/245/351/224/201.md +0 -52
  499. package/templates/shared//345/267/245/344/275/234/345/214/272/345/224/244/351/206/222.md +0 -54
  500. package/templates/shared//345/267/245/344/275/234/346/265/201/345/245/221/347/272/246.md +0 -42
  501. package/templates/shared//345/267/245/344/275/234/346/265/201/345/274/225/346/223/216.md +0 -50
  502. package/templates/shared//345/267/245/344/275/234/346/265/201/346/250/241/347/211/210/345/214/205.md +0 -34
  503. package/templates/shared//345/267/245/345/205/267/350/260/203/347/224/250.md +0 -48
  504. package/templates/shared//345/271/266/345/217/221/351/224/201.md +0 -57
  505. package/templates/shared//346/211/247/350/241/214/345/256/210/345/215/253/350/257/204/344/274/260.md +0 -47
  506. package/templates/shared//346/211/251/345/261/225/347/224/237/345/221/275/345/221/250/346/234/237.md +0 -34
  507. package/templates/shared//346/212/200/346/234/257/345/206/263/347/255/226/344/270/273/346/235/203.md +0 -50
  508. package/templates/shared//346/212/245/350/241/250/347/273/237/350/256/241.md +0 -50
  509. package/templates/shared//346/224/257/344/273/230.md +0 -51
  510. package/templates/shared//346/225/217/346/204/237/344/277/241/346/201/257/345/244/204/347/220/206.md +0 -77
  511. package/templates/shared//346/225/217/346/204/237/344/277/241/346/201/257/346/211/253/346/217/217.md +0 -53
  512. package/templates/shared//346/225/260/346/215/256/346/235/203/351/231/220.md +0 -47
  513. package/templates/shared//346/226/275/345/267/245/346/214/207/344/273/244/345/245/221/347/272/246.md +0 -69
  514. package/templates/shared//346/227/245/345/277/227/346/262/273/347/220/206.md +0 -31
  515. package/templates/shared//346/234/272/345/210/266/350/207/252/346/262/273/347/220/206.md +0 -31
  516. package/templates/shared//346/240/207/345/207/206/350/265/204/344/272/247/350/246/206/347/233/226.md +0 -50
  517. package/templates/shared//346/240/270/345/277/203/344/275/223/351/252/214/345/216/237/345/210/231.md +0 -38
  518. package/templates/shared//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 +0 -154
  519. package/templates/shared//346/250/241/347/211/210Frontmatter.md +0 -125
  520. package/templates/shared//346/250/241/347/211/210/350/264/241/347/214/256/346/214/207/345/215/227.md +0 -282
  521. package/templates/shared//346/250/241/347/211/210/350/265/204/344/272/247/345/217/257/350/247/201/346/200/247.md +0 -48
  522. package/templates/shared//346/262/273/347/220/206/350/277/220/350/241/214/346/227/266/345/276/252/347/216/257.md +0 -56
  523. package/templates/shared//346/263/250/345/206/214/350/241/250/345/237/272/347/241/200/350/256/276/346/226/275.md +0 -49
  524. package/templates/shared//346/265/201/345/274/217/345/277/203/350/267/263.md +0 -64
  525. package/templates/shared//346/274/224/350/277/233/345/233/236/345/275/222/351/227/250/346/216/247.md +0 -50
  526. package/templates/shared//347/224/250/346/210/267/345/217/215/351/246/210/345/245/221/347/272/246.md +0 -86
  527. package/templates/shared//347/237/245/350/257/206/344/270/273/346/235/203.md +0 -66
  528. package/templates/shared//347/237/245/350/257/206/346/262/273/347/220/206.md +0 -31
  529. package/templates/shared//347/237/245/350/257/206/346/263/250/345/205/245/350/276/271/347/225/214.md +0 -47
  530. package/templates/shared//347/273/206/350/212/202/347/272/252/345/276/213.md +0 -54
  531. package/templates/shared//350/204/221/346/232/264/344/270/216/346/226/271/346/241/210/346/216/242/347/264/242.md +0 -51
  532. package/templates/shared//350/256/241/345/210/222/345/211/215/347/275/256/351/227/250.md +0 -47
  533. package/templates/shared//350/256/276/350/256/241/344/272/247/347/211/251/345/214/205.md +0 -58
  534. package/templates/shared//350/257/255/344/271/211/350/257/201/346/215/256.md +0 -55
  535. package/templates/shared//350/267/250/345/271/263/345/217/260/350/267/257/345/276/204/345/256/211/345/205/250.md +0 -41
  536. package/templates/shared//350/276/223/345/205/245/346/235/220/346/226/231/345/245/221/347/272/246.md +0 -50
  537. package/templates/shared//350/277/220/350/241/214/345/256/211/345/205/250/345/214/205.md +0 -58
  538. package/templates/shared//351/200/232/347/224/250/345/206/263/347/255/226/347/240/224/350/256/250.md +0 -62
  539. package/templates/shared//351/200/232/347/224/250/346/234/272/346/242/260/346/235/241/346/254/276.md +0 -47
  540. package/templates/shared//351/200/232/347/237/245.md +0 -50
  541. package/templates/shared//351/203/250/347/275/262/351/205/215/347/275/256.md +0 -14
  542. package/templates/shared//351/205/215/347/275/256/344/274/230/345/205/210/347/272/247.md +0 -67
  543. package/templates/shared//351/205/215/347/275/256/350/220/275/347/233/230/350/276/271/347/225/214.md +0 -32
  544. package/templates/shared//351/230/262/345/255/244/345/262/233/345/256/236/347/216/260.md +0 -51
  545. package/templates/shared//351/233/266/351/205/215/347/275/256/345/210/235/345/247/213/345/214/226.md +0 -57
  546. package/templates/shared//351/252/214/346/224/266/346/250/241/347/211/210/350/276/223/345/207/272/345/245/221/347/272/246.md +0 -71
  547. package/templates/shared//351/252/214/350/257/201/345/221/275/344/273/244/347/224/237/346/210/220.md +0 -55
  548. package/templates/shared//351/252/214/350/257/201/345/245/221/347/272/246.md +0 -48
  549. package/templates/verify/Docker/351/203/250/347/275/262.md +0 -46
  550. package/templates/verify/POC/347/273/223/350/256/272.md +0 -53
  551. package/templates/verify/React/345/210/227/350/241/250/350/241/250/346/240/274.md +0 -43
  552. package/templates/verify/React/347/212/266/346/200/201/347/256/241/347/220/206.md +0 -42
  553. package/templates/verify/React/347/273/204/344/273/266.md +0 -42
  554. package/templates/verify/React/350/241/250/345/215/225.md +0 -43
  555. package/templates/verify/React/350/267/257/347/224/261.md +0 -43
  556. package/templates/verify/SOLID/344/273/243/347/240/201/345/256/241/346/237/245.md +0 -74
  557. package/templates/verify/SOLID/350/256/276/350/256/241.md +0 -31
  558. package/templates/verify/Schema/345/205/274/345/256/271.md +0 -42
  559. package/templates/verify/Vue/347/212/266/346/200/201/347/256/241/347/220/206.md +0 -42
  560. package/templates/verify/Vue/347/273/204/344/273/266.md +0 -42
  561. package/templates/verify/Vue/350/267/257/347/224/261.md +0 -43
  562. package/templates/verify//344/270/212/346/270/270/350/256/276/350/256/241/344/272/244/345/217/211/351/252/214/350/257/201/345/256/241/346/237/245.md +0 -76
  563. package/templates/verify//344/270/273/351/223/276/350/267/257/346/216/245/345/205/245.md +0 -38
  564. package/templates/verify//344/272/213/344/273/266/351/251/261/345/212/250.md +0 -46
  565. package/templates/verify//344/272/213/345/212/241/346/250/241/345/274/217.md +0 -42
  566. package/templates/verify//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 +0 -92
  567. package/templates/verify//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.md +0 -64
  568. package/templates/verify//344/274/232/350/257/235/346/201/242/345/244/215.md +0 -46
  569. package/templates/verify//345/206/263/347/255/226/345/256/214/346/225/264/346/200/247/345/256/241/346/237/245.md +0 -71
  570. package/templates/verify//345/210/206/351/241/265/346/237/245/350/257/242.md +0 -41
  571. package/templates/verify//345/211/215/347/253/257/351/241/265/351/235/242.md +0 -40
  572. package/templates/verify//345/216/206/345/217/262/346/225/260/346/215/256/346/270/205/346/264/227/350/204/232/346/234/254.md +0 -55
  573. package/templates/verify//345/217/221/345/270/203/345/220/216/345/256/241/346/237/245.md +0 -73
  574. package/templates/verify//345/220/216/347/253/257API.md +0 -39
  575. package/templates/verify//345/242/236/345/210/240/346/224/271/346/237/245.md +0 -45
  576. package/templates/verify//345/244/226/351/203/250/344/276/235/350/265/226.md +0 -43
  577. package/templates/verify//345/245/221/347/272/246/345/205/274/345/256/271.md +0 -42
  578. package/templates/verify//345/256/232/346/227/266/344/273/273/345/212/241.md +0 -39
  579. package/templates/verify//345/256/236/346/227/266/346/216/250/351/200/201.md +0 -48
  580. package/templates/verify//345/256/241/346/237/245/346/221/230/350/246/201.md +0 -58
  581. package/templates/verify//345/267/245/344/275/234/346/265/201.md +0 -38
  582. package/templates/verify//345/271/266/345/217/221/345/256/241/346/237/245.md +0 -132
  583. package/templates/verify//345/274/202/346/255/245/345/257/274/345/207/272.md +0 -41
  584. package/templates/verify//346/200/247/350/203/275/345/256/241/346/237/245.md +0 -110
  585. package/templates/verify//346/216/245/345/217/243/345/245/221/347/272/246.md +0 -44
  586. package/templates/verify//346/216/245/345/217/243/345/245/221/347/272/246/345/256/241/346/237/245.md +0 -131
  587. package/templates/verify//346/220/234/347/264/242/346/250/241/345/274/217.md +0 -47
  588. package/templates/verify//346/225/205/351/232/234/345/244/215/347/233/230.md +0 -67
  589. package/templates/verify//346/225/260/346/215/256/345/272/223/345/217/230/346/233/264.md +0 -37
  590. package/templates/verify//346/225/260/346/215/256/351/232/220/347/247/201.md +0 -46
  591. package/templates/verify//346/226/207/344/273/266/344/270/212/344/274/240.md +0 -45
  592. package/templates/verify//346/227/245/345/277/227.md +0 -45
  593. package/templates/verify//346/234/254/345/234/260/346/265/217/350/247/210/345/231/250/351/252/214/346/224/266.md +0 -94
  594. package/templates/verify//346/240/270/345/277/203/345/267/245/347/250/213/346/211/247/350/241/214.md +0 -65
  595. package/templates/verify//347/237/245/350/257/206/346/263/250/345/205/245.md +0 -38
  596. package/templates/verify//347/264/247/346/200/245/344/277/256/345/244/215/346/265/201/346/260/264/347/272/277.md +0 -76
  597. package/templates/verify//347/274/223/345/255/230/347/255/226/347/225/245.md +0 -45
  598. package/templates/verify//350/201/224/350/260/203/350/256/276/350/256/241/347/274/272/351/231/267/345/210/244/345/256/232.md +0 -67
  599. package/templates/verify//350/201/224/350/260/203/351/252/214/350/257/201.md +0 -87
  600. package/templates/verify//350/256/276/350/256/241/345/256/241/350/256/241.md +0 -184
  601. package/templates/verify//350/257/225/350/277/220/350/241/214/347/206/224/346/226/255.md +0 -74
  602. package/templates/verify//350/276/223/345/205/245/346/240/241/351/252/214.md +0 -44
  603. package/templates/verify//351/203/250/347/275/262/345/217/221/345/270/203.md +0 -101
  604. package/templates/verify//351/224/231/350/257/257/345/244/204/347/220/206.md +0 -46
  605. package/templates/verify//351/224/231/350/257/257/350/276/271/347/225/214.md +0 -38
  606. package/templates/verify//351/232/220/347/247/201/345/256/241/346/237/245.md +0 -37
  607. package/templates/verify//351/252/214/350/257/201.md +0 -38
  608. package/templates/verify//351/252/214/350/257/201/350/201/232/345/220/210/346/243/200/346/237/245.md +0 -22
@@ -1,277 +0,0 @@
1
- /**
2
- * Migration Guard — 模块模块。
3
- *
4
- * 职责边界:
5
- * - 负责:analyzeMigration 等 模块职责
6
- * - 不负责:不属于本模块的职责由对应模块承担
7
- *
8
- * 被谁调用:上层模块按需调用
9
- * 调用谁:index、logger
10
- *
11
- * 数据流:输入 → analyzeMigration 处理 → 输出
12
- * 持久化:无持久化(纯计算/内存态)
13
- */
14
- import { debug } from "../shared/logger.js";
15
- /**
16
- * 数据库迁移守卫 — 逐行分析 SQL 迁移脚本,检测高风险操作(DROP TABLE、DELETE 无 WHERE 等),
17
- * 并生成中文风险摘要和回滚建议。纯规则匹配,零 AI 依赖。
18
- */
19
- /** 回滚建议模板 — 按 SQL 语句类型映射到对应的回滚操作建议 */
20
- // ── 回滚建议模板(按语句类型索引) ──
21
- const ROLLBACK_SUGGESTIONS = {
22
- DROP_TABLE: "恢复数据需要从备份还原,建议先创建备份",
23
- DROP_COLUMN: "此操作不可逆,建议先迁移数据到新列",
24
- DELETE_NO_WHERE: "建议添加 WHERE 条件或使用事务包装",
25
- ALTER_COLUMN: "修改列类型前建议备份数据,并验证兼容性",
26
- TRUNCATE: "清空操作不可逆,建议先创建数据备份",
27
- ADD_NOT_NULL: "建议添加 DEFAULT 值或分步执行(先加可为空列→回填→改非空)",
28
- RENAME: "重命名操作需确认无其他代码引用该名称",
29
- ADD_INDEX: "大表添加索引可能造成长时间锁表,建议在低峰期执行",
30
- ADD_FK: "添加外键前建议确认引用完整性,并在低峰期执行",
31
- };
32
- /**
33
- * 从 SQL 行中提取表名 — 支持 TABLE/FROM/INTO 三种常见语法位置。
34
- * @param line - 已转大写的 SQL 行
35
- * @returns 提取到的表名,未匹配时返回 undefined
36
- */
37
- function extractTableFrom(line) {
38
- // TABLE <name>(覆盖 DROP TABLE、ALTER TABLE、CREATE TABLE、RENAME TABLE)
39
- const tableMatch = line.match(/TABLE\s+(\w+)/);
40
- if (tableMatch)
41
- return tableMatch[1];
42
- // FROM <name>(覆盖 DELETE FROM、INSERT INTO)
43
- const fromMatch = line.match(/FROM\s+(\w+)/);
44
- if (fromMatch)
45
- return fromMatch[1];
46
- // INTO <name>(覆盖 INSERT INTO)
47
- const intoMatch = line.match(/INTO\s+(\w+)/);
48
- if (intoMatch)
49
- return intoMatch[1];
50
- return undefined;
51
- }
52
- /** 高风险规则集 — 检测 DROP TABLE、DROP COLUMN、修改列类型、DELETE 无 WHERE、TRUNCATE 等危险操作 */
53
- const CRITICAL_RULES = [
54
- {
55
- test: (upper) => /DROP\s+TABLE/.test(upper),
56
- type: "DROP_TABLE",
57
- risk: "critical",
58
- description: "删除表操作,数据不可恢复",
59
- },
60
- {
61
- test: (upper) => /DROP\s+COLUMN/.test(upper),
62
- type: "DROP_COLUMN",
63
- risk: "critical",
64
- description: "删除列操作,数据不可恢复",
65
- },
66
- {
67
- test: (upper, _raw) => {
68
- if (!/ALTER\s+COLUMN/.test(upper) && !/ALTER\s+TABLE\b/.test(upper))
69
- return false;
70
- // 检测列类型变更模式: TYPE、USING、SET DATA TYPE 关键字
71
- return /TYPE\s|SET\s+DATA\s+TYPE\s|USING\s/.test(upper);
72
- },
73
- type: "ALTER_COLUMN",
74
- risk: "critical",
75
- description: "修改列类型可能导致数据丢失",
76
- },
77
- {
78
- test: (upper) => /MODIFY\s+COLUMN/.test(upper),
79
- type: "ALTER_COLUMN",
80
- risk: "critical",
81
- description: "MySQL MODIFY COLUMN 修改列类型可能导致数据丢失",
82
- },
83
- {
84
- test: (upper) => /CHANGE\s+COLUMN/.test(upper),
85
- type: "ALTER_COLUMN",
86
- risk: "critical",
87
- description: "MySQL CHANGE COLUMN 修改列定义可能导致数据丢失",
88
- },
89
- {
90
- test: (upper, _raw, _lines, _lineIndex) => {
91
- if (!/DELETE\s+FROM/.test(upper))
92
- return false;
93
- // 当前行无 WHERE — 向后预查最多 10 行,寻找 WHERE 子句或语句结束符(;)
94
- if (/WHERE\b/.test(upper))
95
- return false;
96
- // 向后预查最多 10 行,若遇到分号则语句结束
97
- const lines = _lines;
98
- const startIdx = _lineIndex;
99
- const lookAheadLimit = Math.min(lines.length, startIdx + 10);
100
- for (let j = startIdx + 1; j < lookAheadLimit; j++) {
101
- const futureLine = lines[j].trim().toUpperCase();
102
- if (futureLine.startsWith("--"))
103
- continue; // 跳过注释行
104
- if (/WHERE\b/.test(futureLine))
105
- return false;
106
- if (/;\s*$/.test(futureLine) || futureLine.endsWith(";"))
107
- break; // 语句结束
108
- }
109
- return true;
110
- },
111
- type: "DELETE_NO_WHERE",
112
- risk: "critical",
113
- description: "无条件删除,将清空表数据",
114
- },
115
- {
116
- test: (upper) => /TRUNCATE\s+TABLE/.test(upper) || /TRUNCATE\b/.test(upper),
117
- type: "TRUNCATE",
118
- risk: "critical",
119
- description: "清空表操作",
120
- },
121
- ];
122
- /** 警告规则集 — 检测 ADD COLUMN 无 DEFAULT 的 NOT NULL、RENAME、添加索引、添加外键等需谨慎操作 */
123
- const WARNING_RULES = [
124
- {
125
- test: (upper, _raw) => {
126
- if (!/ADD\s+COLUMN/.test(upper))
127
- return false;
128
- // 存在 NOT NULL 但无 DEFAULT
129
- return /NOT\s+NULL/.test(upper) && !/DEFAULT\s/.test(upper);
130
- },
131
- type: "ADD_NOT_NULL",
132
- risk: "warning",
133
- description: "添加非空列无默认值,需回填数据",
134
- },
135
- {
136
- test: (upper) => /RENAME\s+(TABLE|COLUMN)/.test(upper),
137
- type: "RENAME",
138
- risk: "warning",
139
- description: "重命名操作,需确认无其他引用",
140
- },
141
- {
142
- test: (upper) => /ADD\s+(UNIQUE\s+)?INDEX|CREATE\s+(UNIQUE\s+)?INDEX/.test(upper),
143
- type: "ADD_INDEX",
144
- risk: "warning",
145
- description: "添加索引可能导致锁表",
146
- },
147
- {
148
- test: (upper) => /ADD\s+CONSTRAINT\b/.test(upper) && /FOREIGN\s+KEY/.test(upper),
149
- type: "ADD_FK",
150
- risk: "warning",
151
- description: "添加外键约束,需确认引用完整性",
152
- },
153
- ];
154
- /** 安全规则集 — 检测 CREATE TABLE、ADD COLUMN(可空/有默认值)、INSERT、COMMENT 等低风险操作 */
155
- const SAFE_RULES = [
156
- {
157
- test: (upper) => /CREATE\s+TABLE/.test(upper),
158
- type: "CREATE_TABLE",
159
- risk: "safe",
160
- description: "创建表操作",
161
- },
162
- {
163
- test: (upper, _raw) => {
164
- if (!/ADD\s+COLUMN/.test(upper))
165
- return false;
166
- // 明确指定为可空,或有默认值
167
- const hasNull = /\bNULL\b/.test(upper) && !/NOT\s+NULL/.test(upper);
168
- const hasDefault = /DEFAULT\s/.test(upper);
169
- return hasNull || hasDefault;
170
- },
171
- type: "ADD_COLUMN",
172
- risk: "safe",
173
- description: "添加列操作",
174
- },
175
- {
176
- test: (upper) => /INSERT\s+INTO/.test(upper),
177
- type: "INSERT",
178
- risk: "safe",
179
- description: "插入数据操作",
180
- },
181
- {
182
- test: (upper) => /COMMENT\s+ON/.test(upper),
183
- type: "COMMENT",
184
- risk: "safe",
185
- description: "添加注释操作",
186
- },
187
- {
188
- test: (upper) => {
189
- // ALTER TABLE ... ADD COLUMN ... DEFAULT(安全变体)
190
- return /ALTER\s+TABLE/.test(upper) && /ADD\s+COLUMN/.test(upper) && /DEFAULT\s/.test(upper);
191
- },
192
- type: "ADD_COLUMN_DEFAULT",
193
- risk: "safe",
194
- description: "添加带默认值的列",
195
- },
196
- ];
197
- // 合并所有规则,按优先级排列(critical → warning → safe),每行匹配到第一条规则即停止
198
- const ALL_RULES = [...CRITICAL_RULES, ...WARNING_RULES, ...SAFE_RULES];
199
- // ── 公共 API ──
200
- /**
201
- * 分析 SQL 迁移脚本 — 逐行匹配规则,生成风险评级、语句列表和回滚建议。
202
- * @param content - SQL 迁移文件内容
203
- * @param filename - 文件名(用于结果标识)
204
- * @returns 迁移分析结果,包含风险等级(critical/warning/safe)、语句列表、回滚建议和中文摘要
205
- */
206
- export function analyzeMigration(content, filename) {
207
- debug("迁移守卫", `开始分析 ${filename}`);
208
- const lines = content.split("\n");
209
- const statements = [];
210
- const seenRollbackSuggestions = new Set();
211
- if (lines.length === 0) {
212
- debug("迁移守卫", "文件内容为空", filename);
213
- }
214
- for (let i = 0; i < lines.length; i++) {
215
- const raw = lines[i].trim();
216
- // 跳过空行和纯注释行
217
- if (raw === "" || raw.startsWith("--"))
218
- continue;
219
- const upper = raw.toUpperCase();
220
- // 按优先级顺序尝试匹配规则(critical → warning → safe),首条命中即终止
221
- for (const rule of ALL_RULES) {
222
- if (rule.test(upper, raw, lines, i)) {
223
- const table = extractTableFrom(upper);
224
- statements.push({
225
- line: i + 1,
226
- type: rule.type,
227
- table,
228
- risk: rule.risk,
229
- description: rule.description,
230
- });
231
- // 收集唯一的回滚建议
232
- const suggestion = ROLLBACK_SUGGESTIONS[rule.type];
233
- if (suggestion) {
234
- seenRollbackSuggestions.add(suggestion);
235
- }
236
- // 每行仅匹配第一条规则
237
- break;
238
- }
239
- }
240
- }
241
- // 确定整体风险等级: 有 critical 则为 critical,有 warning 则为 warning,否则 safe
242
- const hasCritical = statements.some((s) => s.risk === "critical");
243
- const hasWarning = statements.some((s) => s.risk === "warning");
244
- if (hasCritical)
245
- debug("迁移守卫", `检测到高风险语句,请人工审核 ${filename}`);
246
- else if (hasWarning)
247
- debug("迁移守卫", `检测到警告级语句 ${filename}`);
248
- const risk_level = hasCritical
249
- ? "critical"
250
- : hasWarning
251
- ? "warning"
252
- : "safe";
253
- // 按风险等级统计数量
254
- const criticalCount = statements.filter((s) => s.risk === "critical").length;
255
- const warningCount = statements.filter((s) => s.risk === "warning").length;
256
- const safeCount = statements.filter((s) => s.risk === "safe").length;
257
- // 生成中文摘要
258
- const summary = `检测到 ${statements.length} 条语句:${criticalCount} 条高风险,${warningCount} 条警告,${safeCount} 条安全`;
259
- // 回滚建议按原始出现顺序排列,仅保留非安全操作的唯一建议
260
- const rollbackSuggestions = statements
261
- .filter((s) => s.risk !== "safe" && ROLLBACK_SUGGESTIONS[s.type])
262
- .reduce((acc, s) => {
263
- const text = ROLLBACK_SUGGESTIONS[s.type];
264
- if (text && !acc.includes(text))
265
- acc.push(text);
266
- return acc;
267
- }, []);
268
- debug("迁移守卫", `分析完成 ${filename} — ${summary}`);
269
- return {
270
- file: filename,
271
- risk_level,
272
- statements,
273
- rollback_suggestions: rollbackSuggestions,
274
- summary,
275
- };
276
- }
277
- //# sourceMappingURL=migration_guard.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"migration_guard.js","sourceRoot":"","sources":["../../src/gate/migration_guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAE5C;;;GAGG;AAEH,sCAAsC;AACtC,wBAAwB;AAExB,MAAM,oBAAoB,GAA2B;IACnD,UAAU,EAAE,qBAAqB;IACjC,WAAW,EAAE,mBAAmB;IAChC,eAAe,EAAE,sBAAsB;IACvC,YAAY,EAAE,qBAAqB;IACnC,QAAQ,EAAE,mBAAmB;IAC7B,YAAY,EAAE,oCAAoC;IAClD,MAAM,EAAE,oBAAoB;IAC5B,SAAS,EAAE,0BAA0B;IACrC,MAAM,EAAE,wBAAwB;CACjC,CAAC;AAEF;;;;GAIG;AACH,SAAS,gBAAgB,CAAC,IAAY;IACpC,oEAAoE;IACpE,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IAC/C,IAAI,UAAU;QAAE,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC;IAErC,0CAA0C;IAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAC7C,IAAI,SAAS;QAAE,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC;IAEnC,8BAA8B;IAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAC7C,IAAI,SAAS;QAAE,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC;IAEnC,OAAO,SAAS,CAAC;AACnB,CAAC;AAUD,6EAA6E;AAC7E,MAAM,cAAc,GAAkB;IACpC;QACE,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC;QAC3C,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,cAAc;KAC5B;IACD;QACE,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC;QAC5C,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,cAAc;KAC5B;IACD;QACE,IAAI,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;YACpB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC;YAClF,0CAA0C;YAC1C,OAAO,oCAAoC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1D,CAAC;QACD,IAAI,EAAE,cAAc;QACpB,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,eAAe;KAC7B;IACD;QACE,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC;QAC9C,IAAI,EAAE,cAAc;QACpB,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,mCAAmC;KACjD;IACD;QACE,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC;QAC9C,IAAI,EAAE,cAAc;QACpB,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,mCAAmC;KACjD;IACD;QACE,IAAI,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE;YACxC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC;YAC/C,gDAAgD;YAChD,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC;YACxC,yBAAyB;YACzB,MAAM,KAAK,GAAG,MAAM,CAAC;YACrB,MAAM,QAAQ,GAAG,UAAU,CAAC;YAC5B,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,GAAG,EAAE,CAAC,CAAC;YAC7D,KAAK,IAAI,CAAC,GAAG,QAAQ,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,EAAE,CAAC,EAAE,EAAE,CAAC;gBACnD,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;gBACjD,IAAI,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC;oBAAE,SAAS,CAAC,QAAQ;gBACnD,IAAI,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC;oBAAE,OAAO,KAAK,CAAC;gBAC7C,IAAI,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC;oBAAE,MAAM,CAAC,OAAO;YAC1E,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,EAAE,iBAAiB;QACvB,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,cAAc;KAC5B;IACD;QACE,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC;QAC3E,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,OAAO;KACrB;CACF,CAAC;AAEF,wEAAwE;AACxE,MAAM,aAAa,GAAkB;IACnC;QACE,IAAI,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;YACpB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC;YAC9C,yBAAyB;YACzB,OAAO,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9D,CAAC;QACD,IAAI,EAAE,cAAc;QACpB,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,iBAAiB;KAC/B;IACD;QACE,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,yBAAyB,CAAC,IAAI,CAAC,KAAK,CAAC;QACtD,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,gBAAgB;KAC9B;IACD;QACE,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,oDAAoD,CAAC,IAAI,CAAC,KAAK,CAAC;QACjF,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,YAAY;KAC1B;IACD;QACE,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC;QAChF,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,iBAAiB;KAC/B;CACF,CAAC;AAEF,wEAAwE;AACxE,MAAM,UAAU,GAAkB;IAChC;QACE,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC;QAC7C,IAAI,EAAE,cAAc;QACpB,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,OAAO;KACrB;IACD;QACE,IAAI,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;YACpB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC;YAC9C,gBAAgB;YAChB,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpE,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC3C,OAAO,OAAO,IAAI,UAAU,CAAC;QAC/B,CAAC;QACD,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,OAAO;KACrB;IACD;QACE,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC;QAC5C,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,QAAQ;KACtB;IACD;QACE,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC;QAC3C,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,QAAQ;KACtB;IACD;QACE,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE;YACd,+CAA+C;YAC/C,OAAO,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9F,CAAC;QACD,IAAI,EAAE,oBAAoB;QAC1B,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,UAAU;KACxB;CACF,CAAC;AAEF,yDAAyD;AACzD,MAAM,SAAS,GAAG,CAAC,GAAG,cAAc,EAAE,GAAG,aAAa,EAAE,GAAG,UAAU,CAAC,CAAC;AAEvE,eAAe;AAEf;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAe,EAAE,QAAgB;IAChE,KAAK,CAAC,MAAM,EAAE,QAAQ,QAAQ,EAAE,CAAC,CAAC;IAClC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,UAAU,GAAyB,EAAE,CAAC;IAC5C,MAAM,uBAAuB,GAAG,IAAI,GAAG,EAAU,CAAC;IAElD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACpC,CAAC;IACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAE5B,YAAY;QACZ,IAAI,GAAG,KAAK,EAAE,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,SAAS;QAEjD,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;QAEhC,kDAAkD;QAClD,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;YAC7B,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC;gBACpC,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;gBACtC,UAAU,CAAC,IAAI,CAAC;oBACd,IAAI,EAAE,CAAC,GAAG,CAAC;oBACX,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,KAAK;oBACL,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,WAAW,EAAE,IAAI,CAAC,WAAW;iBAC9B,CAAC,CAAC;gBAEH,YAAY;gBACZ,MAAM,UAAU,GAAG,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACnD,IAAI,UAAU,EAAE,CAAC;oBACf,uBAAuB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBAC1C,CAAC;gBAED,aAAa;gBACb,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAED,gEAAgE;IAChE,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;IAClE,MAAM,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;IAChE,IAAI,WAAW;QAAE,KAAK,CAAC,MAAM,EAAE,kBAAkB,QAAQ,EAAE,CAAC,CAAC;SACxD,IAAI,UAAU;QAAE,KAAK,CAAC,MAAM,EAAE,YAAY,QAAQ,EAAE,CAAC,CAAC;IAC3D,MAAM,UAAU,GAAoC,WAAW;QAC7D,CAAC,CAAC,UAAU;QACZ,CAAC,CAAC,UAAU;YACV,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,MAAM,CAAC;IAEb,YAAY;IACZ,MAAM,aAAa,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,MAAM,CAAC;IAC7E,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,MAAM,CAAC;IAC3E,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,MAAM,CAAC;IAErE,SAAS;IACT,MAAM,OAAO,GAAG,OAAO,UAAU,CAAC,MAAM,QAAQ,aAAa,SAAS,YAAY,QAAQ,SAAS,MAAM,CAAC;IAE1G,8BAA8B;IAC9B,MAAM,mBAAmB,GAAG,UAAU;SACnC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;SAChE,MAAM,CAAW,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;QAC3B,MAAM,IAAI,GAAG,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChD,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAE,CAAC,CAAC;IAET,KAAK,CAAC,MAAM,EAAE,QAAQ,QAAQ,MAAM,OAAO,EAAE,CAAC,CAAC;IAE/C,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,UAAU;QACV,UAAU;QACV,oBAAoB,EAAE,mBAAmB;QACzC,OAAO;KACR,CAAC;AACJ,CAAC"}
@@ -1,94 +0,0 @@
1
- /**
2
- * Scope Lease — 管线层模块。
3
- *
4
- * 职责边界:
5
- * - 负责:LeaseEntry 等 管线层职责
6
- * - 不负责:不属于本模块的职责由对应模块承担
7
- *
8
- * 被谁调用:状态机、工具层
9
- * 调用谁:node:fs、node:path、logger、helpers、path_scope_utils
10
- *
11
- * 数据流:用户意图 → 解析/扩展 → 执行 → 输出
12
- * 持久化:读写本地文件(详见代码内路径)
13
- */
14
- /** 租约条目 */
15
- export interface LeaseEntry {
16
- task_id: string;
17
- file_paths: string[];
18
- acquired_at: string;
19
- released_at: string | null;
20
- }
21
- /** 租约冲突信息 */
22
- export interface LeaseConflict {
23
- file_path: string;
24
- leased_by: string;
25
- lease_acquired_at: string;
26
- severity: "advisory";
27
- message: string;
28
- }
29
- /** 租约摘要 */
30
- export interface LeaseSummary {
31
- active_leases: number;
32
- total_files_leased: number;
33
- leased_by_task: Record<string, string[]>;
34
- }
35
- /** 范围租约存储 */
36
- export declare class ScopeLeaseStore {
37
- private filePath;
38
- private leases;
39
- private loaded;
40
- /**
41
- * 创建范围租约存储实例。
42
- * @param stateDir - 状态存储目录路径
43
- */
44
- constructor(stateDir: string);
45
- /** 从磁盘加载租约数据(首次访问时自动调用) */
46
- private ensureLoaded;
47
- /** 将租约数据持久化到磁盘 */
48
- private persist;
49
- /**
50
- * 为任务获取文件范围租约。
51
- * @param taskId - 任务 ID
52
- * @param filePaths - 任务操作的文件路径列表
53
- * @returns 创建的租约条目
54
- */
55
- acquire(taskId: string, filePaths: string[]): LeaseEntry;
56
- /**
57
- * 释放任务的文件范围租约。
58
- * 释放前检查是否有其他活跃任务持有重叠路径。
59
- * @param taskId - 任务 ID
60
- * @returns 释放结果,包含是否成功和冲突警告
61
- */
62
- release(taskId: string): {
63
- released: boolean;
64
- warnings: string[];
65
- };
66
- /**
67
- * 查询指定文件是否存在与其他任务的租约冲突。
68
- * @param taskId - 当前任务 ID(排除自身)
69
- * @param filePath - 要查询的文件路径
70
- * @returns 租约冲突信息,无冲突时返回 null
71
- */
72
- queryLease(taskId: string, filePath: string): LeaseConflict | null;
73
- /**
74
- * 获取所有活跃的租约列表。
75
- * @returns 活跃租约条目数组
76
- */
77
- getActiveLeases(): LeaseEntry[];
78
- /**
79
- * 获取指定任务的租约信息。
80
- * @param taskId - 任务 ID
81
- * @returns 对应的租约条目,未找到时返回 null
82
- */
83
- getLeaseForTask(taskId: string): LeaseEntry | null;
84
- /**
85
- * 获取租约摘要统计。
86
- * @returns 租约摘要信息
87
- */
88
- getSummary(): LeaseSummary;
89
- /**
90
- * 清除所有租约数据。
91
- */
92
- clear(): void;
93
- }
94
- //# sourceMappingURL=scope_lease.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"scope_lease.d.ts","sourceRoot":"","sources":["../../src/gate/scope_lease.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAQH,WAAW;AACX,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,aAAa;AACb,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,UAAU,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,WAAW;AACX,MAAM,WAAW,YAAY;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;CAC1C;AAED,aAAa;AACb,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,MAAM,CAAsC;IACpD,OAAO,CAAC,MAAM,CAAS;IAEvB;;;OAGG;gBACS,QAAQ,EAAE,MAAM;IAK5B,2BAA2B;IAC3B,OAAO,CAAC,YAAY;IAgBpB,kBAAkB;IAClB,OAAO,CAAC,OAAO;IAOf;;;;;OAKG;IACH,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,UAAU;IAexD;;;;;OAKG;IACH,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE;IA0BlE;;;;;OAKG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI;IAoBlE;;;OAGG;IACH,eAAe,IAAI,UAAU,EAAE;IAK/B;;;;OAIG;IACH,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;IAKlD;;;OAGG;IACH,UAAU,IAAI,YAAY;IAe1B;;OAEG;IACH,KAAK,IAAI,IAAI;CAMd"}
@@ -1,180 +0,0 @@
1
- /**
2
- * Scope Lease — 管线层模块。
3
- *
4
- * 职责边界:
5
- * - 负责:LeaseEntry 等 管线层职责
6
- * - 不负责:不属于本模块的职责由对应模块承担
7
- *
8
- * 被谁调用:状态机、工具层
9
- * 调用谁:node:fs、node:path、logger、helpers、path_scope_utils
10
- *
11
- * 数据流:用户意图 → 解析/扩展 → 执行 → 输出
12
- * 持久化:读写本地文件(详见代码内路径)
13
- */
14
- import fs from "node:fs";
15
- import path from "node:path";
16
- import { debug } from "../shared/logger.js";
17
- import { safeJsonParse } from "../shared/helpers.js";
18
- import { isPathInScope } from "../shared/path_scope_utils.js";
19
- /** 范围租约存储 */
20
- export class ScopeLeaseStore {
21
- filePath;
22
- leases = new Map();
23
- loaded = false;
24
- /**
25
- * 创建范围租约存储实例。
26
- * @param stateDir - 状态存储目录路径
27
- */
28
- constructor(stateDir) {
29
- fs.mkdirSync(stateDir, { recursive: true });
30
- this.filePath = path.join(stateDir, "scope-leases.json");
31
- }
32
- /** 从磁盘加载租约数据(首次访问时自动调用) */
33
- ensureLoaded() {
34
- if (this.loaded)
35
- return;
36
- this.loaded = true;
37
- try {
38
- const data = fs.readFileSync(this.filePath, "utf-8");
39
- const entries = safeJsonParse(data) ?? [];
40
- for (const e of entries) {
41
- if (e.released_at === null) {
42
- this.leases.set(e.task_id, e);
43
- }
44
- }
45
- }
46
- catch {
47
- this.leases = new Map();
48
- }
49
- }
50
- /** 将租约数据持久化到磁盘 */
51
- persist() {
52
- const entries = [...this.leases.values()];
53
- const tmpPath = `${this.filePath}.tmp`;
54
- fs.writeFileSync(tmpPath, JSON.stringify(entries, null, 2));
55
- fs.renameSync(tmpPath, this.filePath);
56
- }
57
- /**
58
- * 为任务获取文件范围租约。
59
- * @param taskId - 任务 ID
60
- * @param filePaths - 任务操作的文件路径列表
61
- * @returns 创建的租约条目
62
- */
63
- acquire(taskId, filePaths) {
64
- debug("ScopeLease", "获取租约", taskId, "文件数:", filePaths.length);
65
- this.ensureLoaded();
66
- const resolved = filePaths.map(f => path.resolve(f));
67
- const entry = {
68
- task_id: taskId,
69
- file_paths: resolved,
70
- acquired_at: new Date().toISOString(),
71
- released_at: null,
72
- };
73
- this.leases.set(taskId, entry);
74
- this.persist();
75
- return entry;
76
- }
77
- /**
78
- * 释放任务的文件范围租约。
79
- * 释放前检查是否有其他活跃任务持有重叠路径。
80
- * @param taskId - 任务 ID
81
- * @returns 释放结果,包含是否成功和冲突警告
82
- */
83
- release(taskId) {
84
- debug("ScopeLease", "释放租约", taskId);
85
- this.ensureLoaded();
86
- const entry = this.leases.get(taskId);
87
- if (!entry || entry.released_at) {
88
- return { released: false, warnings: [] };
89
- }
90
- // 检查是否有其他活跃任务依赖相同文件路径
91
- const warnings = [];
92
- for (const [otherId, other] of this.leases) {
93
- if (otherId === taskId || other.released_at)
94
- continue;
95
- const overlap = entry.file_paths.some(p => other.file_paths.some(op => op === p || op.startsWith(p + "/") || p.startsWith(op + "/")));
96
- if (overlap) {
97
- warnings.push(`任务 ${otherId} 的 scope 与本任务有重叠,释放后可能出现写入冲突`);
98
- }
99
- }
100
- entry.released_at = new Date().toISOString();
101
- this.leases.delete(taskId);
102
- this.persist();
103
- return { released: true, warnings };
104
- }
105
- /**
106
- * 查询指定文件是否存在与其他任务的租约冲突。
107
- * @param taskId - 当前任务 ID(排除自身)
108
- * @param filePath - 要查询的文件路径
109
- * @returns 租约冲突信息,无冲突时返回 null
110
- */
111
- queryLease(taskId, filePath) {
112
- this.ensureLoaded();
113
- const resolved = path.resolve(filePath);
114
- for (const [ownerId, entry] of this.leases) {
115
- if (ownerId === taskId)
116
- continue;
117
- for (const leased of entry.file_paths) {
118
- if (leased === resolved || isParentPath(leased, resolved)) {
119
- return {
120
- file_path: resolved,
121
- leased_by: ownerId,
122
- lease_acquired_at: entry.acquired_at,
123
- severity: "advisory",
124
- message: `advisory: file is in scope of task ${ownerId} (leased since ${entry.acquired_at})`,
125
- };
126
- }
127
- }
128
- }
129
- return null;
130
- }
131
- /**
132
- * 获取所有活跃的租约列表。
133
- * @returns 活跃租约条目数组
134
- */
135
- getActiveLeases() {
136
- this.ensureLoaded();
137
- return [...this.leases.values()];
138
- }
139
- /**
140
- * 获取指定任务的租约信息。
141
- * @param taskId - 任务 ID
142
- * @returns 对应的租约条目,未找到时返回 null
143
- */
144
- getLeaseForTask(taskId) {
145
- this.ensureLoaded();
146
- return this.leases.get(taskId) ?? null;
147
- }
148
- /**
149
- * 获取租约摘要统计。
150
- * @returns 租约摘要信息
151
- */
152
- getSummary() {
153
- this.ensureLoaded();
154
- const leasedByTask = {};
155
- let totalFiles = 0;
156
- for (const [taskId, entry] of this.leases) {
157
- leasedByTask[taskId] = [...entry.file_paths];
158
- totalFiles += entry.file_paths.length;
159
- }
160
- return {
161
- active_leases: this.leases.size,
162
- total_files_leased: totalFiles,
163
- leased_by_task: leasedByTask,
164
- };
165
- }
166
- /**
167
- * 清除所有租约数据。
168
- */
169
- clear() {
170
- debug("ScopeLease", "清除所有租约");
171
- this.leases.clear();
172
- this.loaded = true;
173
- this.persist();
174
- }
175
- }
176
- /** 判断 child 路径是否在 parent 路径下 */
177
- function isParentPath(parent, child) {
178
- return isPathInScope(child, parent, { caseSensitive: true });
179
- }
180
- //# sourceMappingURL=scope_lease.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"scope_lease.js","sourceRoot":"","sources":["../../src/gate/scope_lease.ts"],"names":[],"mappings":"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"}
@@ -1,85 +0,0 @@
1
- /**
2
- * Git Deps — Git 集成层模块。
3
- *
4
- * 职责边界:
5
- * - 负责:GitOperations 等 Git 集成层职责
6
- * - 不负责:不属于本模块的职责由对应模块承担
7
- *
8
- * 被谁调用:上层模块按需调用
9
- * 调用谁:operations、logger
10
- *
11
- * 数据流:输入 → GitOperations 处理 → 输出
12
- * 持久化:无持久化(纯计算/内存态)
13
- */
14
- import type { GitFileStatus, GitLogEntry, GitDiffHunk, GitBlameLine } from "./operations.js";
15
- /**
16
- * Git 操作依赖注入模块。
17
- * @description 定义 GitOperations 接口作为抽象层,并导出基于真实 Git 命令的实现(realGitOps)。
18
- * 使用依赖注入模式,便于测试时替换为 mock 实现。
19
- *
20
- * 位置: src/git/git_deps.ts(从 engine/core/ 移出,恢复 core/ 零反向依赖)
21
- */
22
- /**
23
- * Git 操作抽象接口。
24
- * @description 封装所有项目需要的 Git 操作,包括仓库查询、状态检查、日志查看、
25
- * 差异比较、分支管理和远程操作等。
26
- */
27
- export interface GitOperations {
28
- /** 检查指定目录是否为 Git 仓库 */
29
- isGitRepo(cwd: string): Promise<boolean>;
30
- /** 获取 Git 仓库根目录路径 */
31
- getRootDir(cwd: string): Promise<string>;
32
- /** 获取当前分支名称 */
33
- getCurrentBranch(cwd: string): Promise<string>;
34
- /** 检查工作区是否干净(无未提交变更) */
35
- isClean(cwd: string): Promise<boolean>;
36
- /** 获取工作区文件状态列表 */
37
- getStatus(cwd: string): Promise<GitFileStatus[]>;
38
- /** 获取提交日志,支持按数量、时间、作者和路径过滤 */
39
- getLog(cwd: string, options?: {
40
- maxCount?: number;
41
- since?: string;
42
- author?: string;
43
- path?: string;
44
- ref?: string;
45
- }): Promise<GitLogEntry[]>;
46
- /** 获取简短日志摘要(按作者分组统计提交数) */
47
- getShortlog(cwd: string, since?: string): Promise<Array<{
48
- author: string;
49
- count: number;
50
- }>>;
51
- /** 获取差异信息(结构化 Hunk 列表) */
52
- getDiff(cwd: string, options?: {
53
- cached?: boolean;
54
- path?: string;
55
- }): Promise<GitDiffHunk[]>;
56
- /** 获取指定文件的差异补丁文本 */
57
- getDiffPatch(cwd: string, filePath: string, options?: {
58
- cached?: boolean;
59
- }): Promise<string>;
60
- /** 获取指定文件的逐行 Blame 信息 */
61
- getBlame(cwd: string, filePath: string): Promise<GitBlameLine[]>;
62
- /** 列出所有本地分支及其当前标记 */
63
- listBranches(cwd: string): Promise<Array<{
64
- name: string;
65
- isCurrent: boolean;
66
- }>>;
67
- /** 将文件添加到暂存区 */
68
- add(cwd: string, paths: string[]): Promise<void>;
69
- /** 创建提交,返回提交 SHA */
70
- commit(cwd: string, message: string): Promise<string>;
71
- /** 推送到远程仓库,返回推送结果 */
72
- push(cwd: string, remote?: string, branch?: string): Promise<string>;
73
- /** 获取两个分支的最新公共祖先提交 SHA */
74
- getMergeBase(cwd: string, branchA: string, branchB: string): Promise<string>;
75
- /** 获取远程仓库 URL,不存在则返回 null */
76
- getRemoteUrl(cwd: string, remote?: string): Promise<string | null>;
77
- /** 获取 HEAD 的短 commit hash */
78
- getHeadCommitHash(cwd: string): Promise<string>;
79
- }
80
- /**
81
- * 基于真实 Git 命令的 GitOperations 实现。
82
- * @description 导出 realGitOps 实例,将所有 Git 操作委托给真实的 git 命令行工具。
83
- */
84
- export declare const realGitOps: GitOperations;
85
- //# sourceMappingURL=git_deps.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"git_deps.d.ts","sourceRoot":"","sources":["../../src/git/git_deps.ts"],"names":[],"mappings":"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"}