soloforge 1.1.45 → 1.1.46

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 (269) hide show
  1. package/README.md +3 -3
  2. package/dist/context/contracts/lifecycle_knowledge_contract.d.ts.map +1 -1
  3. package/dist/context/contracts/lifecycle_knowledge_contract.js +2 -2
  4. package/dist/context/contracts/lifecycle_knowledge_contract.js.map +1 -1
  5. package/dist/core/task_context/manager.d.ts +0 -8
  6. package/dist/core/task_context/manager.d.ts.map +1 -1
  7. package/dist/core/task_context/manager.js +1 -19
  8. package/dist/core/task_context/manager.js.map +1 -1
  9. package/dist/core/task_context/state_fact_classifier.d.ts +0 -8
  10. package/dist/core/task_context/state_fact_classifier.d.ts.map +1 -1
  11. package/dist/core/task_context/state_fact_classifier.js +0 -36
  12. package/dist/core/task_context/state_fact_classifier.js.map +1 -1
  13. package/dist/domain/contracts/design_artifact_pack.d.ts +0 -1
  14. package/dist/domain/contracts/design_artifact_pack.d.ts.map +1 -1
  15. package/dist/domain/contracts/design_artifact_pack.js +1 -4
  16. package/dist/domain/contracts/design_artifact_pack.js.map +1 -1
  17. package/dist/domain/index.d.ts +1 -1
  18. package/dist/domain/index.d.ts.map +1 -1
  19. package/dist/domain/registry.d.ts +2 -2
  20. package/dist/domain/registry.d.ts.map +1 -1
  21. package/dist/domain/types.d.ts +1 -12
  22. package/dist/domain/types.d.ts.map +1 -1
  23. package/dist/domain/types.js +3 -0
  24. package/dist/domain/types.js.map +1 -1
  25. package/dist/gate/contracts/capability_registry.d.ts.map +1 -1
  26. package/dist/gate/contracts/capability_registry.js +0 -26
  27. package/dist/gate/contracts/capability_registry.js.map +1 -1
  28. package/dist/gate/contracts/control_plane_contract.d.ts +1 -1
  29. package/dist/gate/contracts/control_plane_contract.d.ts.map +1 -1
  30. package/dist/gate/contracts/control_plane_contract.js +1 -10
  31. package/dist/gate/contracts/control_plane_contract.js.map +1 -1
  32. package/dist/gate/contracts/tool_invocation_contract_registry.d.ts +1 -0
  33. package/dist/gate/contracts/tool_invocation_contract_registry.d.ts.map +1 -1
  34. package/dist/gate/contracts/tool_invocation_contract_registry.js +1 -1
  35. package/dist/gate/contracts/tool_invocation_contract_registry.js.map +1 -1
  36. package/dist/gate/index.d.ts +0 -2
  37. package/dist/gate/index.d.ts.map +1 -1
  38. package/dist/gate/index.js +0 -1
  39. package/dist/gate/index.js.map +1 -1
  40. package/dist/server/tools/index.d.ts.map +1 -1
  41. package/dist/server/tools/index.js +1 -3
  42. package/dist/server/tools/index.js.map +1 -1
  43. package/dist/server/tools/lazy_loaders.d.ts +0 -23
  44. package/dist/server/tools/lazy_loaders.d.ts.map +1 -1
  45. package/dist/server/tools/lazy_loaders.js +2 -33
  46. package/dist/server/tools/lazy_loaders.js.map +1 -1
  47. package/dist/server/tools/middleware.d.ts +2 -5
  48. package/dist/server/tools/middleware.d.ts.map +1 -1
  49. package/dist/server/tools/middleware.js +3 -33
  50. package/dist/server/tools/middleware.js.map +1 -1
  51. package/dist/server/tools/sf_task.js +2 -7
  52. package/dist/server/tools/sf_task.js.map +1 -1
  53. package/dist/server/tools/types.d.ts +0 -2
  54. package/dist/server/tools/types.d.ts.map +1 -1
  55. package/dist/types/pipeline_types.d.ts +1 -9
  56. package/dist/types/pipeline_types.d.ts.map +1 -1
  57. package/dist/verify/audit/verifier.d.ts.map +1 -1
  58. package/dist/verify/audit/verifier.js +0 -33
  59. package/dist/verify/audit/verifier.js.map +1 -1
  60. package/dist/verify/index.d.ts +1 -4
  61. package/dist/verify/index.d.ts.map +1 -1
  62. package/dist/verify/index.js +0 -3
  63. package/dist/verify/index.js.map +1 -1
  64. package/dist/verify/types.d.ts +0 -21
  65. package/dist/verify/types.d.ts.map +1 -1
  66. package/package.json +1 -1
  67. package/templates/shared//345/206/263/347/255/226/347/275/221/345/205/263.md +7 -21
  68. package/dist/context/engine/dependency_scanner.d.ts +0 -23
  69. package/dist/context/engine/dependency_scanner.d.ts.map +0 -1
  70. package/dist/context/engine/dependency_scanner.js +0 -309
  71. package/dist/context/engine/dependency_scanner.js.map +0 -1
  72. package/dist/context/engine/exploration.d.ts +0 -194
  73. package/dist/context/engine/exploration.d.ts.map +0 -1
  74. package/dist/context/engine/exploration.js +0 -712
  75. package/dist/context/engine/exploration.js.map +0 -1
  76. package/dist/context/knowledge/knowledge_acceptance_registry.d.ts +0 -42
  77. package/dist/context/knowledge/knowledge_acceptance_registry.d.ts.map +0 -1
  78. package/dist/context/knowledge/knowledge_acceptance_registry.js +0 -249
  79. package/dist/context/knowledge/knowledge_acceptance_registry.js.map +0 -1
  80. package/dist/context/knowledge/knowledge_scenario_registry.d.ts +0 -26
  81. package/dist/context/knowledge/knowledge_scenario_registry.d.ts.map +0 -1
  82. package/dist/context/knowledge/knowledge_scenario_registry.js +0 -267
  83. package/dist/context/knowledge/knowledge_scenario_registry.js.map +0 -1
  84. package/dist/context/knowledge/knowledge_sovereignty.d.ts +0 -65
  85. package/dist/context/knowledge/knowledge_sovereignty.d.ts.map +0 -1
  86. package/dist/context/knowledge/knowledge_sovereignty.js +0 -199
  87. package/dist/context/knowledge/knowledge_sovereignty.js.map +0 -1
  88. package/dist/context/team_awareness.d.ts +0 -42
  89. package/dist/context/team_awareness.d.ts.map +0 -1
  90. package/dist/context/team_awareness.js +0 -154
  91. package/dist/context/team_awareness.js.map +0 -1
  92. package/dist/context/templates/template_asset_visibility.d.ts +0 -116
  93. package/dist/context/templates/template_asset_visibility.d.ts.map +0 -1
  94. package/dist/context/templates/template_asset_visibility.js +0 -310
  95. package/dist/context/templates/template_asset_visibility.js.map +0 -1
  96. package/dist/gate/conflict_gate.d.ts +0 -53
  97. package/dist/gate/conflict_gate.d.ts.map +0 -1
  98. package/dist/gate/conflict_gate.js +0 -96
  99. package/dist/gate/conflict_gate.js.map +0 -1
  100. package/dist/gate/contracts/capability_action_advisor.d.ts +0 -34
  101. package/dist/gate/contracts/capability_action_advisor.d.ts.map +0 -1
  102. package/dist/gate/contracts/capability_action_advisor.js +0 -165
  103. package/dist/gate/contracts/capability_action_advisor.js.map +0 -1
  104. package/dist/gate/contracts/capability_state_store.d.ts +0 -121
  105. package/dist/gate/contracts/capability_state_store.d.ts.map +0 -1
  106. package/dist/gate/contracts/capability_state_store.js +0 -188
  107. package/dist/gate/contracts/capability_state_store.js.map +0 -1
  108. package/dist/gate/contracts/contract_guard.d.ts +0 -50
  109. package/dist/gate/contracts/contract_guard.d.ts.map +0 -1
  110. package/dist/gate/contracts/contract_guard.js +0 -611
  111. package/dist/gate/contracts/contract_guard.js.map +0 -1
  112. package/dist/gate/contracts/escape_report.d.ts +0 -103
  113. package/dist/gate/contracts/escape_report.d.ts.map +0 -1
  114. package/dist/gate/contracts/escape_report.js +0 -145
  115. package/dist/gate/contracts/escape_report.js.map +0 -1
  116. package/dist/gate/feasibility_checker.d.ts +0 -27
  117. package/dist/gate/feasibility_checker.d.ts.map +0 -1
  118. package/dist/gate/feasibility_checker.js +0 -114
  119. package/dist/gate/feasibility_checker.js.map +0 -1
  120. package/dist/gate/migration_guard.d.ts +0 -22
  121. package/dist/gate/migration_guard.d.ts.map +0 -1
  122. package/dist/gate/migration_guard.js +0 -277
  123. package/dist/gate/migration_guard.js.map +0 -1
  124. package/dist/gate/scope_lease.d.ts +0 -94
  125. package/dist/gate/scope_lease.d.ts.map +0 -1
  126. package/dist/gate/scope_lease.js +0 -180
  127. package/dist/gate/scope_lease.js.map +0 -1
  128. package/dist/git/git_deps.d.ts +0 -85
  129. package/dist/git/git_deps.d.ts.map +0 -1
  130. package/dist/git/git_deps.js +0 -22
  131. package/dist/git/git_deps.js.map +0 -1
  132. package/dist/git/operations.d.ts +0 -173
  133. package/dist/git/operations.d.ts.map +0 -1
  134. package/dist/git/operations.js +0 -350
  135. package/dist/git/operations.js.map +0 -1
  136. package/dist/server/tools/gate_engine.d.ts +0 -17
  137. package/dist/server/tools/gate_engine.d.ts.map +0 -1
  138. package/dist/server/tools/gate_engine.js +0 -17
  139. package/dist/server/tools/gate_engine.js.map +0 -1
  140. package/dist/server/tools/middleware/budget_check.d.ts +0 -35
  141. package/dist/server/tools/middleware/budget_check.d.ts.map +0 -1
  142. package/dist/server/tools/middleware/budget_check.js +0 -69
  143. package/dist/server/tools/middleware/budget_check.js.map +0 -1
  144. package/dist/shared/contracts/contract_registry/builtin_contracts_core.d.ts +0 -16
  145. package/dist/shared/contracts/contract_registry/builtin_contracts_core.d.ts.map +0 -1
  146. package/dist/shared/contracts/contract_registry/builtin_contracts_core.js +0 -306
  147. package/dist/shared/contracts/contract_registry/builtin_contracts_core.js.map +0 -1
  148. package/dist/shared/contracts/contract_registry/builtin_contracts_core_2.d.ts +0 -16
  149. package/dist/shared/contracts/contract_registry/builtin_contracts_core_2.d.ts.map +0 -1
  150. package/dist/shared/contracts/contract_registry/builtin_contracts_core_2.js +0 -304
  151. package/dist/shared/contracts/contract_registry/builtin_contracts_core_2.js.map +0 -1
  152. package/dist/shared/contracts/contract_registry/builtin_contracts_extended.d.ts +0 -16
  153. package/dist/shared/contracts/contract_registry/builtin_contracts_extended.d.ts.map +0 -1
  154. package/dist/shared/contracts/contract_registry/builtin_contracts_extended.js +0 -434
  155. package/dist/shared/contracts/contract_registry/builtin_contracts_extended.js.map +0 -1
  156. package/dist/shared/contracts/contract_registry/index.d.ts +0 -8
  157. package/dist/shared/contracts/contract_registry/index.d.ts.map +0 -1
  158. package/dist/shared/contracts/contract_registry/index.js +0 -7
  159. package/dist/shared/contracts/contract_registry/index.js.map +0 -1
  160. package/dist/shared/contracts/contract_registry/registry.d.ts +0 -62
  161. package/dist/shared/contracts/contract_registry/registry.d.ts.map +0 -1
  162. package/dist/shared/contracts/contract_registry/registry.js +0 -191
  163. package/dist/shared/contracts/contract_registry/registry.js.map +0 -1
  164. package/dist/shared/contracts/contract_registry/registry_internal.d.ts +0 -19
  165. package/dist/shared/contracts/contract_registry/registry_internal.d.ts.map +0 -1
  166. package/dist/shared/contracts/contract_registry/registry_internal.js +0 -54
  167. package/dist/shared/contracts/contract_registry/registry_internal.js.map +0 -1
  168. package/dist/shared/contracts/contract_registry/types.d.ts +0 -47
  169. package/dist/shared/contracts/contract_registry/types.d.ts.map +0 -1
  170. package/dist/shared/contracts/contract_registry/types.js +0 -5
  171. package/dist/shared/contracts/contract_registry/types.js.map +0 -1
  172. package/dist/shared/contracts/contract_registry/validation.d.ts +0 -25
  173. package/dist/shared/contracts/contract_registry/validation.d.ts.map +0 -1
  174. package/dist/shared/contracts/contract_registry/validation.js +0 -363
  175. package/dist/shared/contracts/contract_registry/validation.js.map +0 -1
  176. package/dist/shared/llm_gateway.d.ts +0 -186
  177. package/dist/shared/llm_gateway.d.ts.map +0 -1
  178. package/dist/shared/llm_gateway.js +0 -393
  179. package/dist/shared/llm_gateway.js.map +0 -1
  180. package/dist/verify/audit/audit_sampler.d.ts +0 -29
  181. package/dist/verify/audit/audit_sampler.d.ts.map +0 -1
  182. package/dist/verify/audit/audit_sampler.js +0 -42
  183. package/dist/verify/audit/audit_sampler.js.map +0 -1
  184. package/dist/verify/audit/debt_reporter.d.ts +0 -22
  185. package/dist/verify/audit/debt_reporter.d.ts.map +0 -1
  186. package/dist/verify/audit/debt_reporter.js +0 -107
  187. package/dist/verify/audit/debt_reporter.js.map +0 -1
  188. package/dist/verify/audit/debugger.d.ts +0 -25
  189. package/dist/verify/audit/debugger.d.ts.map +0 -1
  190. package/dist/verify/audit/debugger.js +0 -429
  191. package/dist/verify/audit/debugger.js.map +0 -1
  192. package/dist/verify/audit/degradation.d.ts +0 -62
  193. package/dist/verify/audit/degradation.d.ts.map +0 -1
  194. package/dist/verify/audit/degradation.js +0 -78
  195. package/dist/verify/audit/degradation.js.map +0 -1
  196. package/dist/verify/audit/developer_sovereignty.d.ts +0 -29
  197. package/dist/verify/audit/developer_sovereignty.d.ts.map +0 -1
  198. package/dist/verify/audit/developer_sovereignty.js +0 -137
  199. package/dist/verify/audit/developer_sovereignty.js.map +0 -1
  200. package/dist/verify/audit/failure_report.d.ts +0 -76
  201. package/dist/verify/audit/failure_report.d.ts.map +0 -1
  202. package/dist/verify/audit/failure_report.js +0 -145
  203. package/dist/verify/audit/failure_report.js.map +0 -1
  204. package/dist/verify/audit/governance_report.d.ts +0 -110
  205. package/dist/verify/audit/governance_report.d.ts.map +0 -1
  206. package/dist/verify/audit/governance_report.js +0 -194
  207. package/dist/verify/audit/governance_report.js.map +0 -1
  208. package/dist/verify/audit/mutation_audit.d.ts +0 -40
  209. package/dist/verify/audit/mutation_audit.d.ts.map +0 -1
  210. package/dist/verify/audit/mutation_audit.js +0 -154
  211. package/dist/verify/audit/mutation_audit.js.map +0 -1
  212. package/dist/verify/audit/risk_sampler.d.ts +0 -44
  213. package/dist/verify/audit/risk_sampler.d.ts.map +0 -1
  214. package/dist/verify/audit/risk_sampler.js +0 -80
  215. package/dist/verify/audit/risk_sampler.js.map +0 -1
  216. package/dist/verify/audit/runtime_safety.d.ts +0 -89
  217. package/dist/verify/audit/runtime_safety.d.ts.map +0 -1
  218. package/dist/verify/audit/runtime_safety.js +0 -209
  219. package/dist/verify/audit/runtime_safety.js.map +0 -1
  220. package/dist/verify/audit/semantic_evidence.d.ts +0 -36
  221. package/dist/verify/audit/semantic_evidence.d.ts.map +0 -1
  222. package/dist/verify/audit/semantic_evidence.js +0 -90
  223. package/dist/verify/audit/semantic_evidence.js.map +0 -1
  224. package/dist/verify/audit/test_generator.d.ts +0 -23
  225. package/dist/verify/audit/test_generator.d.ts.map +0 -1
  226. package/dist/verify/audit/test_generator.js +0 -278
  227. package/dist/verify/audit/test_generator.js.map +0 -1
  228. package/dist/verify/audit/test_quality.d.ts +0 -49
  229. package/dist/verify/audit/test_quality.d.ts.map +0 -1
  230. package/dist/verify/audit/test_quality.js +0 -684
  231. package/dist/verify/audit/test_quality.js.map +0 -1
  232. package/dist/verify/change_coordinator.d.ts +0 -45
  233. package/dist/verify/change_coordinator.d.ts.map +0 -1
  234. package/dist/verify/change_coordinator.js +0 -168
  235. package/dist/verify/change_coordinator.js.map +0 -1
  236. package/dist/verify/contracts/decision_contract.d.ts +0 -51
  237. package/dist/verify/contracts/decision_contract.d.ts.map +0 -1
  238. package/dist/verify/contracts/decision_contract.js +0 -70
  239. package/dist/verify/contracts/decision_contract.js.map +0 -1
  240. package/dist/verify/contracts/mechanism_contract_registry/contracts-audit.d.ts +0 -17
  241. package/dist/verify/contracts/mechanism_contract_registry/contracts-audit.d.ts.map +0 -1
  242. package/dist/verify/contracts/mechanism_contract_registry/contracts-audit.js +0 -428
  243. package/dist/verify/contracts/mechanism_contract_registry/contracts-audit.js.map +0 -1
  244. package/dist/verify/contracts/mechanism_contract_registry/contracts-governance.d.ts +0 -17
  245. package/dist/verify/contracts/mechanism_contract_registry/contracts-governance.d.ts.map +0 -1
  246. package/dist/verify/contracts/mechanism_contract_registry/contracts-governance.js +0 -429
  247. package/dist/verify/contracts/mechanism_contract_registry/contracts-governance.js.map +0 -1
  248. package/dist/verify/contracts/mechanism_contract_registry/contracts-pipeline.d.ts +0 -17
  249. package/dist/verify/contracts/mechanism_contract_registry/contracts-pipeline.d.ts.map +0 -1
  250. package/dist/verify/contracts/mechanism_contract_registry/contracts-pipeline.js +0 -194
  251. package/dist/verify/contracts/mechanism_contract_registry/contracts-pipeline.js.map +0 -1
  252. package/dist/verify/contracts/mechanism_contract_registry/contracts-platform.d.ts +0 -17
  253. package/dist/verify/contracts/mechanism_contract_registry/contracts-platform.d.ts.map +0 -1
  254. package/dist/verify/contracts/mechanism_contract_registry/contracts-platform.js +0 -365
  255. package/dist/verify/contracts/mechanism_contract_registry/contracts-platform.js.map +0 -1
  256. package/dist/verify/contracts/mechanism_contract_registry/index.d.ts +0 -19
  257. package/dist/verify/contracts/mechanism_contract_registry/index.d.ts.map +0 -1
  258. package/dist/verify/contracts/mechanism_contract_registry/index.js +0 -21
  259. package/dist/verify/contracts/mechanism_contract_registry/index.js.map +0 -1
  260. package/dist/verify/contracts/mechanism_contract_registry/types.d.ts +0 -33
  261. package/dist/verify/contracts/mechanism_contract_registry/types.d.ts.map +0 -1
  262. package/dist/verify/contracts/mechanism_contract_registry/types.js +0 -5
  263. package/dist/verify/contracts/mechanism_contract_registry/types.js.map +0 -1
  264. package/dist/verify/contracts/mechanism_contract_registry/validation.d.ts +0 -38
  265. package/dist/verify/contracts/mechanism_contract_registry/validation.d.ts.map +0 -1
  266. package/dist/verify/contracts/mechanism_contract_registry/validation.js +0 -136
  267. package/dist/verify/contracts/mechanism_contract_registry/validation.js.map +0 -1
  268. package/templates/shared/LLM/351/242/204/347/256/227/347/275/221/345/205/263.md +0 -54
  269. package/templates/shared//346/265/201/345/274/217/345/277/203/350/267/263.md +0 -64
@@ -1,22 +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 * as ops from "./operations.js";
15
- import { debug } from "../shared/logger.js";
16
- /**
17
- * 基于真实 Git 命令的 GitOperations 实现。
18
- * @description 导出 realGitOps 实例,将所有 Git 操作委托给真实的 git 命令行工具。
19
- */
20
- export const realGitOps = ops;
21
- debug("GitDeps", "已加载真实 Git 操作实现");
22
- //# sourceMappingURL=git_deps.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"git_deps.js","sourceRoot":"","sources":["../../src/git/git_deps.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAoD5C;;;GAGG;AACH,MAAM,CAAC,MAAM,UAAU,GAAkB,GAAG,CAAC;AAE7C,KAAK,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC"}
@@ -1,173 +0,0 @@
1
- /**
2
- * Operations — Git 集成层模块。
3
- *
4
- * 职责边界:
5
- * - 负责:GitFileStatus 等 Git 集成层职责
6
- * - 不负责:不属于本模块的职责由对应模块承担
7
- *
8
- * 被谁调用:上层模块按需调用
9
- * 调用谁:execa、logger
10
- *
11
- * 数据流:输入 → GitFileStatus 处理 → 输出
12
- * 持久化:无持久化(纯计算/内存态)
13
- */
14
- /** Git 文件状态 */
15
- export interface GitFileStatus {
16
- path: string;
17
- status: "added" | "modified" | "deleted" | "renamed" | "untracked" | "conflicted";
18
- }
19
- /** Git 日志条目 */
20
- export interface GitLogEntry {
21
- hash: string;
22
- shortHash: string;
23
- author: string;
24
- date: string;
25
- message: string;
26
- }
27
- /** Git Diff 统计块 */
28
- export interface GitDiffHunk {
29
- file: string;
30
- additions: number;
31
- deletions: number;
32
- patch: string;
33
- }
34
- /** Git Blame 行信息 */
35
- export interface GitBlameLine {
36
- line: number;
37
- hash: string;
38
- author: string;
39
- date: string;
40
- content: string;
41
- }
42
- /**
43
- * 检查指定目录是否为 Git 仓库。
44
- * @param cwd - 工作目录
45
- * @returns 是否为 Git 仓库
46
- */
47
- export declare function isGitRepo(cwd: string): Promise<boolean>;
48
- /**
49
- * 获取 Git 仓库根目录。
50
- * @param cwd - 工作目录
51
- * @returns 仓库根目录的绝对路径
52
- */
53
- export declare function getRootDir(cwd: string): Promise<string>;
54
- /**
55
- * 获取当前分支名称。
56
- * @param cwd - 工作目录
57
- * @returns 当前分支名
58
- */
59
- export declare function getCurrentBranch(cwd: string): Promise<string>;
60
- /**
61
- * 检查工作区是否干净(无未提交的变更)。
62
- * @param cwd - 工作目录
63
- * @returns 工作区是否干净
64
- */
65
- export declare function isClean(cwd: string): Promise<boolean>;
66
- /**
67
- * 获取工作区文件状态列表。
68
- * @param cwd - 工作目录
69
- * @returns 文件状态数组
70
- */
71
- export declare function getStatus(cwd: string): Promise<GitFileStatus[]>;
72
- /**
73
- * 获取 Git 提交日志。
74
- * @param cwd - 工作目录
75
- * @param options - 查询选项(最大数量、起始日期、作者、路径过滤)
76
- * @returns 提交日志条目数组
77
- */
78
- export declare function getLog(cwd: string, options?: {
79
- maxCount?: number;
80
- since?: string;
81
- author?: string;
82
- path?: string;
83
- ref?: string;
84
- }): Promise<GitLogEntry[]>;
85
- /**
86
- * 获取贡献者提交统计(shortlog)。
87
- * @param cwd - 工作目录
88
- * @param since - 起始日期过滤(可选)
89
- * @returns 贡献者及其提交次数数组
90
- */
91
- export declare function getShortlog(cwd: string, since?: string): Promise<Array<{
92
- author: string;
93
- count: number;
94
- }>>;
95
- /**
96
- * 获取差异统计信息(numstat 格式)。
97
- * @param cwd - 工作目录
98
- * @param options - 查询选项(是否包含暂存区、路径过滤)
99
- * @returns 差异统计块数组
100
- */
101
- export declare function getDiff(cwd: string, options?: {
102
- cached?: boolean;
103
- path?: string;
104
- }): Promise<GitDiffHunk[]>;
105
- /**
106
- * 获取指定文件的差异补丁。
107
- * @param cwd - 工作目录
108
- * @param filePath - 文件路径
109
- * @param options - 查询选项(是否包含暂存区)
110
- * @returns 差异补丁字符串
111
- */
112
- export declare function getDiffPatch(cwd: string, filePath: string, options?: {
113
- cached?: boolean;
114
- }): Promise<string>;
115
- /**
116
- * 获取指定文件的逐行 Blame 信息。
117
- * @param cwd - 工作目录
118
- * @param filePath - 文件路径
119
- * @returns 逐行 Blame 信息数组
120
- */
121
- export declare function getBlame(cwd: string, filePath: string): Promise<GitBlameLine[]>;
122
- /**
123
- * 列出所有本地分支。
124
- * @param cwd - 工作目录
125
- * @returns 分支信息数组(名称和是否为当前分支)
126
- */
127
- export declare function listBranches(cwd: string): Promise<Array<{
128
- name: string;
129
- isCurrent: boolean;
130
- }>>;
131
- /**
132
- * 将文件添加到暂存区。
133
- * @param cwd - 工作目录
134
- * @param paths - 要暂存的文件路径列表
135
- */
136
- export declare function add(cwd: string, paths: string[]): Promise<void>;
137
- /**
138
- * 创建提交。
139
- * @param cwd - 工作目录
140
- * @param message - 提交信息
141
- * @returns git commit 命令输出
142
- */
143
- export declare function commit(cwd: string, message: string): Promise<string>;
144
- /**
145
- * 推送到远程仓库。
146
- * @param cwd - 工作目录
147
- * @param remote - 远程名称(可选)
148
- * @param branch - 分支名称(可选)
149
- * @returns git push 命令输出
150
- */
151
- export declare function push(cwd: string, remote?: string, branch?: string): Promise<string>;
152
- /**
153
- * 获取两个分支的合并基点。
154
- * @param cwd - 工作目录
155
- * @param branchA - 分支 A 名称
156
- * @param branchB - 分支 B 名称
157
- * @returns 合并基点的 commit hash
158
- */
159
- export declare function getMergeBase(cwd: string, branchA: string, branchB: string): Promise<string>;
160
- /**
161
- * 获取远程仓库 URL。
162
- * @param cwd - 工作目录
163
- * @param remote - 远程名称,默认为 "origin"
164
- * @returns 远程 URL,未找到时返回 null
165
- */
166
- export declare function getRemoteUrl(cwd: string, remote?: string): Promise<string | null>;
167
- /**
168
- * 获取 HEAD 的短 commit hash。
169
- * @param cwd - 工作目录
170
- * @returns HEAD 的短 hash
171
- */
172
- export declare function getHeadCommitHash(cwd: string): Promise<string>;
173
- //# sourceMappingURL=operations.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../../src/git/operations.ts"],"names":[],"mappings":"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"}
@@ -1,350 +0,0 @@
1
- /**
2
- * Operations — Git 集成层模块。
3
- *
4
- * 职责边界:
5
- * - 负责:GitFileStatus 等 Git 集成层职责
6
- * - 不负责:不属于本模块的职责由对应模块承担
7
- *
8
- * 被谁调用:上层模块按需调用
9
- * 调用谁:execa、logger
10
- *
11
- * 数据流:输入 → GitFileStatus 处理 → 输出
12
- * 持久化:无持久化(纯计算/内存态)
13
- */
14
- import { execa } from "execa";
15
- import { debug } from "../shared/logger.js";
16
- // ── 基础操作 ──
17
- /** 执行 git 命令并返回标准输出 */
18
- async function git(args, cwd) {
19
- const result = await execa("git", args, { cwd, timeout: 30_000 });
20
- return result.stdout;
21
- }
22
- /**
23
- * 检查指定目录是否为 Git 仓库。
24
- * @param cwd - 工作目录
25
- * @returns 是否为 Git 仓库
26
- */
27
- export async function isGitRepo(cwd) {
28
- debug("Git操作", "检查是否为Git仓库 —", cwd);
29
- try {
30
- await execa("git", ["rev-parse", "--is-inside-work-tree"], { cwd, timeout: 5_000 });
31
- return true;
32
- }
33
- catch {
34
- return false;
35
- }
36
- }
37
- /**
38
- * 获取 Git 仓库根目录。
39
- * @param cwd - 工作目录
40
- * @returns 仓库根目录的绝对路径
41
- */
42
- export async function getRootDir(cwd) {
43
- debug("Git操作", "获取仓库根目录 —", cwd);
44
- return (await git(["rev-parse", "--show-toplevel"], cwd)).trim();
45
- }
46
- /**
47
- * 获取当前分支名称。
48
- * @param cwd - 工作目录
49
- * @returns 当前分支名
50
- */
51
- export async function getCurrentBranch(cwd) {
52
- debug("Git操作", "获取当前分支 —", cwd);
53
- return (await git(["rev-parse", "--abbrev-ref", "HEAD"], cwd)).trim();
54
- }
55
- /**
56
- * 检查工作区是否干净(无未提交的变更)。
57
- * @param cwd - 工作目录
58
- * @returns 工作区是否干净
59
- */
60
- export async function isClean(cwd) {
61
- debug("Git操作", "检查工作区是否干净 —", cwd);
62
- const output = await git(["status", "--porcelain"], cwd);
63
- return output.trim().length === 0;
64
- }
65
- // ── 状态查询 ──
66
- /**
67
- * 获取工作区文件状态列表。
68
- * @param cwd - 工作目录
69
- * @returns 文件状态数组
70
- */
71
- export async function getStatus(cwd) {
72
- debug("Git操作", "获取文件状态列表");
73
- const output = await git(["status", "--porcelain", "-z"], cwd);
74
- if (!output)
75
- return [];
76
- const files = [];
77
- // -z 格式: XY PATH\0,未合并项为 XY ORIG_PATH\0 PATH\0,重命名为 XY ORIG_PATH\0 PATH\0
78
- const entries = output.split("\0").filter(Boolean);
79
- let i = 0;
80
- while (i < entries.length) {
81
- const entry = entries[i];
82
- if (entry.length < 3) {
83
- i++;
84
- continue;
85
- }
86
- const xy = entry.slice(0, 2);
87
- let filePath = entry.slice(3);
88
- // 重命名文件:下一个条目是新路径
89
- if ((xy[0] === "R" || xy[0] === "C") && i + 1 < entries.length) {
90
- filePath = entries[i + 1];
91
- i++;
92
- }
93
- files.push({ path: filePath, status: xyToStatus(xy) });
94
- i++;
95
- }
96
- return files;
97
- }
98
- /** 将 git status XY 状态码转换为语义化状态 */
99
- function xyToStatus(xy) {
100
- if (xy.includes("?"))
101
- return "untracked";
102
- if (xy.includes("U") || xy === "AA" || xy === "DD")
103
- return "conflicted";
104
- if (xy[0] === "A" || xy[1] === "A")
105
- return "added";
106
- if (xy[0] === "D" || xy[1] === "D")
107
- return "deleted";
108
- if (xy[0] === "R")
109
- return "renamed";
110
- return "modified";
111
- }
112
- // ── 日志查询 ──
113
- /**
114
- * 获取 Git 提交日志。
115
- * @param cwd - 工作目录
116
- * @param options - 查询选项(最大数量、起始日期、作者、路径过滤)
117
- * @returns 提交日志条目数组
118
- */
119
- export async function getLog(cwd, options) {
120
- debug("Git操作", "获取提交日志");
121
- const args = ["log", "--format=%H%x00%h%x00%an%x00%ai%x00%s%x01"];
122
- if (options?.ref)
123
- args.push(options.ref);
124
- if (options?.maxCount)
125
- args.push(`--max-count=${options.maxCount}`);
126
- if (options?.since)
127
- args.push(`--since=${options.since}`);
128
- if (options?.author)
129
- args.push(`--author=${options.author}`);
130
- args.push("--");
131
- if (options?.path)
132
- args.push(options.path);
133
- let output;
134
- try {
135
- output = await git(args, cwd);
136
- }
137
- catch {
138
- return [];
139
- }
140
- if (!output.trim())
141
- return [];
142
- return output.trim().split("\x01").filter(Boolean).map((entry) => {
143
- const parts = entry.trim().split("\x00");
144
- const [hash, shortHash, author, date, ...msgParts] = parts;
145
- return { hash, shortHash, author, date, message: msgParts.join("\x00") };
146
- });
147
- }
148
- /**
149
- * 获取贡献者提交统计(shortlog)。
150
- * @param cwd - 工作目录
151
- * @param since - 起始日期过滤(可选)
152
- * @returns 贡献者及其提交次数数组
153
- */
154
- export async function getShortlog(cwd, since) {
155
- debug("Git操作", "获取贡献者统计");
156
- const args = ["shortlog", "-sn", "--all"];
157
- if (since)
158
- args.push(`--since=${since}`);
159
- const output = await git(args, cwd);
160
- if (!output.trim())
161
- return [];
162
- return output.trim().split("\n").map((line) => {
163
- const match = line.match(/^\s*(\d+)\s+(.+)$/);
164
- if (!match)
165
- return null;
166
- return { count: parseInt(match[1], 10), author: match[2].trim() };
167
- }).filter(Boolean);
168
- }
169
- // ── 差异查询 ──
170
- /**
171
- * 获取差异统计信息(numstat 格式)。
172
- * @param cwd - 工作目录
173
- * @param options - 查询选项(是否包含暂存区、路径过滤)
174
- * @returns 差异统计块数组
175
- */
176
- export async function getDiff(cwd, options) {
177
- debug("Git操作", "获取差异统计");
178
- const args = ["diff", "--numstat"];
179
- if (options?.cached)
180
- args.push("--cached");
181
- args.push("--");
182
- if (options?.path)
183
- args.push(options.path);
184
- const numstat = await git(args, cwd);
185
- if (!numstat.trim())
186
- return [];
187
- const hunks = [];
188
- for (const line of numstat.trim().split("\n")) {
189
- const parts = line.split("\t");
190
- if (parts.length >= 3) {
191
- hunks.push({
192
- file: parts[2],
193
- additions: parts[0] === "-" ? 0 : parseInt(parts[0], 10),
194
- deletions: parts[1] === "-" ? 0 : parseInt(parts[1], 10),
195
- patch: "",
196
- });
197
- }
198
- }
199
- return hunks;
200
- }
201
- /**
202
- * 获取指定文件的差异补丁。
203
- * @param cwd - 工作目录
204
- * @param filePath - 文件路径
205
- * @param options - 查询选项(是否包含暂存区)
206
- * @returns 差异补丁字符串
207
- */
208
- export async function getDiffPatch(cwd, filePath, options) {
209
- debug("Git操作", "获取文件差异补丁 —", filePath);
210
- const args = ["diff"];
211
- if (options?.cached)
212
- args.push("--cached");
213
- args.push("--", filePath);
214
- return git(args, cwd);
215
- }
216
- // ── 逐行归属 ──
217
- /**
218
- * 获取指定文件的逐行 Blame 信息。
219
- * @param cwd - 工作目录
220
- * @param filePath - 文件路径
221
- * @returns 逐行 Blame 信息数组
222
- */
223
- export async function getBlame(cwd, filePath) {
224
- debug("Git操作", "获取文件Blame信息 —", filePath);
225
- const output = await git(["blame", "--porcelain", filePath], cwd);
226
- if (!output.trim())
227
- return [];
228
- const lines = [];
229
- let currentHash = "";
230
- let currentAuthor = "";
231
- let currentDate = "";
232
- let currentLine = 0;
233
- for (const line of output.split("\n")) {
234
- const headerMatch = line.match(/^([0-9a-f]{40})\s+(\d+)\s+(\d+)/);
235
- if (headerMatch) {
236
- currentHash = headerMatch[1].slice(0, 8);
237
- currentLine = parseInt(headerMatch[3], 10);
238
- continue;
239
- }
240
- if (line.startsWith("author ")) {
241
- currentAuthor = line.slice(7);
242
- continue;
243
- }
244
- if (line.startsWith("author-time ")) {
245
- const ts = parseInt(line.slice(12), 10);
246
- currentDate = new Date(ts * 1000).toISOString().split("T")[0];
247
- continue;
248
- }
249
- if (line.startsWith("\t")) {
250
- lines.push({
251
- line: currentLine,
252
- hash: currentHash,
253
- author: currentAuthor,
254
- date: currentDate,
255
- content: line.slice(1),
256
- });
257
- }
258
- }
259
- return lines;
260
- }
261
- // ── 分支操作 ──
262
- /**
263
- * 列出所有本地分支。
264
- * @param cwd - 工作目录
265
- * @returns 分支信息数组(名称和是否为当前分支)
266
- */
267
- export async function listBranches(cwd) {
268
- debug("Git操作", "列出所有分支");
269
- const output = await git(["branch", "--format=%(refname:short) %(HEAD)"], cwd);
270
- if (!output.trim())
271
- return [];
272
- return output.trim().split("\n").map((line) => {
273
- const [name, head] = line.trim().split(/\s+/);
274
- return { name, isCurrent: head === "*" };
275
- });
276
- }
277
- // ── 写操作 ──
278
- /**
279
- * 将文件添加到暂存区。
280
- * @param cwd - 工作目录
281
- * @param paths - 要暂存的文件路径列表
282
- */
283
- export async function add(cwd, paths) {
284
- debug("Git操作", "暂存文件", paths.join(", "));
285
- await git(["add", "--", ...paths], cwd); // -- 防止路径被解析为 git flag
286
- }
287
- /**
288
- * 创建提交。
289
- * @param cwd - 工作目录
290
- * @param message - 提交信息
291
- * @returns git commit 命令输出
292
- */
293
- export async function commit(cwd, message) {
294
- debug("Git操作", "创建提交");
295
- return git(["commit", "-m", message], cwd);
296
- }
297
- /**
298
- * 推送到远程仓库。
299
- * @param cwd - 工作目录
300
- * @param remote - 远程名称(可选)
301
- * @param branch - 分支名称(可选)
302
- * @returns git push 命令输出
303
- */
304
- export async function push(cwd, remote, branch) {
305
- debug("Git操作", "推送到远程", remote, branch);
306
- const args = ["push"];
307
- if (remote && branch) {
308
- args.push(remote, branch);
309
- }
310
- else if (remote) {
311
- args.push(remote);
312
- }
313
- return git(args, cwd);
314
- }
315
- /**
316
- * 获取两个分支的合并基点。
317
- * @param cwd - 工作目录
318
- * @param branchA - 分支 A 名称
319
- * @param branchB - 分支 B 名称
320
- * @returns 合并基点的 commit hash
321
- */
322
- export async function getMergeBase(cwd, branchA, branchB) {
323
- debug("Git操作", "获取合并基点 —", branchA, branchB);
324
- return (await git(["merge-base", branchA, branchB], cwd)).trim();
325
- }
326
- /**
327
- * 获取远程仓库 URL。
328
- * @param cwd - 工作目录
329
- * @param remote - 远程名称,默认为 "origin"
330
- * @returns 远程 URL,未找到时返回 null
331
- */
332
- export async function getRemoteUrl(cwd, remote = "origin") {
333
- debug("Git操作", "获取远程仓库URL —", remote);
334
- try {
335
- return (await git(["remote", "get-url", remote], cwd)).trim();
336
- }
337
- catch {
338
- return null;
339
- }
340
- }
341
- /**
342
- * 获取 HEAD 的短 commit hash。
343
- * @param cwd - 工作目录
344
- * @returns HEAD 的短 hash
345
- */
346
- export async function getHeadCommitHash(cwd) {
347
- debug("Git操作", "获取HEAD commit hash");
348
- return (await git(["rev-parse", "--short", "HEAD"], cwd)).trim();
349
- }
350
- //# sourceMappingURL=operations.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"operations.js","sourceRoot":"","sources":["../../src/git/operations.ts"],"names":[],"mappings":"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"}
@@ -1,17 +0,0 @@
1
- /**
2
- * Gate Engine — server/tools/ 兼容 shim。
3
- *
4
- * 真实实现已迁移至 src/gate/gate_engine.ts。
5
- * 本文件保留 re-export 以维持外部 import 兼容性(builtin_executors.ts 等仍从此处 import)。
6
- *
7
- * 职责边界:
8
- * - 负责:re-export 全部 gate_engine 公共 API
9
- * - 不负责:实现(在 gate/gate_engine.ts)
10
- *
11
- * 被谁调用:gate/builtin_executors.ts、tests/server/tools/
12
- * 调用谁:gate/gate_engine.ts
13
- * 数据流:无(纯 re-export 转发,不含业务数据)
14
- * 持久化:无
15
- */
16
- export * from "../../gate/gate_engine.js";
17
- //# sourceMappingURL=gate_engine.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"gate_engine.d.ts","sourceRoot":"","sources":["../../../src/server/tools/gate_engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,cAAc,2BAA2B,CAAC"}
@@ -1,17 +0,0 @@
1
- /**
2
- * Gate Engine — server/tools/ 兼容 shim。
3
- *
4
- * 真实实现已迁移至 src/gate/gate_engine.ts。
5
- * 本文件保留 re-export 以维持外部 import 兼容性(builtin_executors.ts 等仍从此处 import)。
6
- *
7
- * 职责边界:
8
- * - 负责:re-export 全部 gate_engine 公共 API
9
- * - 不负责:实现(在 gate/gate_engine.ts)
10
- *
11
- * 被谁调用:gate/builtin_executors.ts、tests/server/tools/
12
- * 调用谁:gate/gate_engine.ts
13
- * 数据流:无(纯 re-export 转发,不含业务数据)
14
- * 持久化:无
15
- */
16
- export * from "../../gate/gate_engine.js";
17
- //# sourceMappingURL=gate_engine.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"gate_engine.js","sourceRoot":"","sources":["../../../src/server/tools/gate_engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,cAAc,2BAA2B,CAAC"}
@@ -1,35 +0,0 @@
1
- /**
2
- * LLM Token 预算检查 — 从 middleware.ts 抽出的独立关切。
3
- *
4
- * 职责边界:
5
- * - 负责:在调用 AI 能力前校验 LLMGateway 的 Token 预算
6
- * - 不负责:合同授权、工作区校验、denied_paths
7
- *
8
- * 被谁调用:middleware.performToolCall
9
- * 调用谁:LLMGateway.request / SoloForgeError 类型
10
- *
11
- * 数据流:(toolName, aiOp, taskId) → { allowed, violation?, warning? }
12
- * 持久化:无
13
- *
14
- * CORE-001:超预算时硬熔断(hard_fail);网关自身异常降级放行并返回 warning。
15
- */
16
- import type { LLMGateway } from "../../../shared/llm_gateway.js";
17
- import type { ToolInvocationViolation } from "../../../gate/index.js";
18
- /** 预算检查结果 */
19
- export interface BudgetCheckResult {
20
- /** hard_fail 违规(超预算时存在) */
21
- violation?: ToolInvocationViolation;
22
- /** 降级放行时的警告(网关自身异常或低预算警告) */
23
- warning?: string;
24
- }
25
- /**
26
- * 检查工具调用的 LLM Token 预算。
27
- *
28
- * @param toolName 工具名
29
- * @param invocationId 调用 ID(写入 violation 用)
30
- * @param taskId 任务 ID
31
- * @param gateway LLM 网关
32
- * @returns 预算检查结果(violation 表示硬阻断,warning 表示软警告)
33
- */
34
- export declare function checkTokenBudget(toolName: string, invocationId: string, taskId: string | undefined, gateway: LLMGateway): BudgetCheckResult;
35
- //# sourceMappingURL=budget_check.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"budget_check.d.ts","sourceRoot":"","sources":["../../../../src/server/tools/middleware/budget_check.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAmB,MAAM,gCAAgC,CAAC;AAClF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AActE,aAAa;AACb,MAAM,WAAW,iBAAiB;IAChC,2BAA2B;IAC3B,SAAS,CAAC,EAAE,uBAAuB,CAAC;IACpC,6BAA6B;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,OAAO,EAAE,UAAU,GAClB,iBAAiB,CA8BnB"}