@dommaker/harness 0.8.1 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (339) hide show
  1. package/README.md +126 -183
  2. package/bin/harness.js +29 -12
  3. package/dist/agents/index.d.ts +3 -0
  4. package/dist/agents/index.d.ts.map +1 -0
  5. package/dist/agents/index.js +19 -0
  6. package/dist/agents/index.js.map +1 -0
  7. package/dist/agents/lifecycle.d.ts +68 -0
  8. package/dist/agents/lifecycle.d.ts.map +1 -0
  9. package/dist/agents/lifecycle.js +181 -0
  10. package/dist/agents/lifecycle.js.map +1 -0
  11. package/dist/agents/types.d.ts +42 -0
  12. package/dist/agents/types.d.ts.map +1 -0
  13. package/dist/agents/types.js +6 -0
  14. package/dist/agents/types.js.map +1 -0
  15. package/dist/architecture/cross-project-checker.d.ts +19 -1
  16. package/dist/architecture/cross-project-checker.d.ts.map +1 -1
  17. package/dist/architecture/cross-project-checker.js +72 -60
  18. package/dist/architecture/cross-project-checker.js.map +1 -1
  19. package/dist/cli/commands/acceptance.d.ts.map +1 -1
  20. package/dist/cli/commands/acceptance.js +1 -0
  21. package/dist/cli/commands/acceptance.js.map +1 -1
  22. package/dist/cli/commands/check.d.ts.map +1 -1
  23. package/dist/cli/commands/check.js +2 -4
  24. package/dist/cli/commands/check.js.map +1 -1
  25. package/dist/cli/commands/command.d.ts +19 -0
  26. package/dist/cli/commands/command.d.ts.map +1 -0
  27. package/dist/cli/commands/command.js +81 -0
  28. package/dist/cli/commands/command.js.map +1 -0
  29. package/dist/cli/commands/index.d.ts +1 -0
  30. package/dist/cli/commands/index.d.ts.map +1 -1
  31. package/dist/cli/commands/index.js +3 -1
  32. package/dist/cli/commands/index.js.map +1 -1
  33. package/dist/cli/commands/passes-gate.d.ts.map +1 -1
  34. package/dist/cli/commands/passes-gate.js +2 -4
  35. package/dist/cli/commands/passes-gate.js.map +1 -1
  36. package/dist/cli/commands/review.d.ts.map +1 -1
  37. package/dist/cli/commands/review.js +27 -63
  38. package/dist/cli/commands/review.js.map +1 -1
  39. package/dist/cli/commands/security.d.ts +1 -1
  40. package/dist/cli/commands/security.d.ts.map +1 -1
  41. package/dist/cli/commands/security.js +40 -94
  42. package/dist/cli/commands/security.js.map +1 -1
  43. package/dist/cli/commands/status.d.ts.map +1 -1
  44. package/dist/cli/commands/status.js +2 -2
  45. package/dist/cli/commands/status.js.map +1 -1
  46. package/dist/constraints/definitions.d.ts +39 -0
  47. package/dist/constraints/definitions.d.ts.map +1 -0
  48. package/dist/constraints/definitions.js +71 -0
  49. package/dist/constraints/definitions.js.map +1 -0
  50. package/dist/constraints/index.d.ts +5 -0
  51. package/dist/constraints/index.d.ts.map +1 -0
  52. package/dist/constraints/index.js +21 -0
  53. package/dist/constraints/index.js.map +1 -0
  54. package/dist/constraints/quality.d.ts +11 -0
  55. package/dist/constraints/quality.d.ts.map +1 -0
  56. package/dist/constraints/quality.js +257 -0
  57. package/dist/constraints/quality.js.map +1 -0
  58. package/dist/constraints/registry.d.ts +64 -0
  59. package/dist/constraints/registry.d.ts.map +1 -0
  60. package/dist/constraints/registry.js +167 -0
  61. package/dist/constraints/registry.js.map +1 -0
  62. package/dist/constraints/safety.d.ts +13 -0
  63. package/dist/constraints/safety.d.ts.map +1 -0
  64. package/dist/constraints/safety.js +103 -0
  65. package/dist/constraints/safety.js.map +1 -0
  66. package/dist/constraints/types.d.ts +53 -0
  67. package/dist/constraints/types.d.ts.map +1 -0
  68. package/dist/constraints/types.js +8 -0
  69. package/dist/constraints/types.js.map +1 -0
  70. package/dist/context/compaction.d.ts +57 -0
  71. package/dist/context/compaction.d.ts.map +1 -0
  72. package/dist/context/compaction.js +166 -0
  73. package/dist/context/compaction.js.map +1 -0
  74. package/dist/context/file-budget.d.ts +40 -0
  75. package/dist/context/file-budget.d.ts.map +1 -0
  76. package/dist/context/file-budget.js +147 -0
  77. package/dist/context/file-budget.js.map +1 -0
  78. package/dist/context/index.d.ts +15 -0
  79. package/dist/context/index.d.ts.map +1 -0
  80. package/dist/context/index.js +31 -0
  81. package/dist/context/index.js.map +1 -0
  82. package/dist/context/knowledge-injector.d.ts +49 -0
  83. package/dist/context/knowledge-injector.d.ts.map +1 -0
  84. package/dist/context/knowledge-injector.js +122 -0
  85. package/dist/context/knowledge-injector.js.map +1 -0
  86. package/dist/context/progressive-loader.d.ts +0 -1
  87. package/dist/context/progressive-loader.d.ts.map +1 -1
  88. package/dist/context/progressive-loader.js +15 -32
  89. package/dist/context/progressive-loader.js.map +1 -1
  90. package/dist/context/session-manager.d.ts +67 -0
  91. package/dist/context/session-manager.d.ts.map +1 -0
  92. package/dist/context/session-manager.js +275 -0
  93. package/dist/context/session-manager.js.map +1 -0
  94. package/dist/context/token-pipeline.d.ts +55 -0
  95. package/dist/context/token-pipeline.d.ts.map +1 -0
  96. package/dist/context/token-pipeline.js +220 -0
  97. package/dist/context/token-pipeline.js.map +1 -0
  98. package/dist/context/tool-output-budget.d.ts +59 -0
  99. package/dist/context/tool-output-budget.d.ts.map +1 -0
  100. package/dist/context/tool-output-budget.js +177 -0
  101. package/dist/context/tool-output-budget.js.map +1 -0
  102. package/dist/context/types.d.ts +113 -0
  103. package/dist/context/types.d.ts.map +1 -0
  104. package/dist/context/types.js +30 -0
  105. package/dist/context/types.js.map +1 -0
  106. package/dist/core/constraints/checker.d.ts +9 -1
  107. package/dist/core/constraints/checker.d.ts.map +1 -1
  108. package/dist/core/constraints/checker.js +72 -155
  109. package/dist/core/constraints/checker.js.map +1 -1
  110. package/dist/core/constraints/definitions.d.ts.map +1 -1
  111. package/dist/core/constraints/definitions.js +8 -10
  112. package/dist/core/constraints/definitions.js.map +1 -1
  113. package/dist/core/constraints/interceptor.d.ts.map +1 -1
  114. package/dist/core/constraints/interceptor.js +2 -6
  115. package/dist/core/constraints/interceptor.js.map +1 -1
  116. package/dist/core/project-config-loader.d.ts.map +1 -1
  117. package/dist/core/project-config-loader.js +12 -30
  118. package/dist/core/project-config-loader.js.map +1 -1
  119. package/dist/core/session/clean-state.d.ts.map +1 -1
  120. package/dist/core/session/clean-state.js +6 -8
  121. package/dist/core/session/clean-state.js.map +1 -1
  122. package/dist/core/session/startup.d.ts.map +1 -1
  123. package/dist/core/session/startup.js +3 -5
  124. package/dist/core/session/startup.js.map +1 -1
  125. package/dist/core/spec/validator.d.ts.map +1 -1
  126. package/dist/core/spec/validator.js +2 -4
  127. package/dist/core/spec/validator.js.map +1 -1
  128. package/dist/core/validators/checkpoint.d.ts.map +1 -1
  129. package/dist/core/validators/checkpoint.js +3 -5
  130. package/dist/core/validators/checkpoint.js.map +1 -1
  131. package/dist/core/validators/passes-gate.d.ts +0 -4
  132. package/dist/core/validators/passes-gate.d.ts.map +1 -1
  133. package/dist/core/validators/passes-gate.js +5 -13
  134. package/dist/core/validators/passes-gate.js.map +1 -1
  135. package/dist/dashboard/data.d.ts +39 -0
  136. package/dist/dashboard/data.d.ts.map +1 -0
  137. package/dist/dashboard/data.js +89 -0
  138. package/dist/dashboard/data.js.map +1 -0
  139. package/dist/dashboard/index.d.ts +4 -0
  140. package/dist/dashboard/index.d.ts.map +1 -0
  141. package/dist/dashboard/index.js +20 -0
  142. package/dist/dashboard/index.js.map +1 -0
  143. package/dist/dashboard/stats.d.ts +20 -0
  144. package/dist/dashboard/stats.d.ts.map +1 -0
  145. package/dist/dashboard/stats.js +115 -0
  146. package/dist/dashboard/stats.js.map +1 -0
  147. package/dist/dashboard/types.d.ts +98 -0
  148. package/dist/dashboard/types.d.ts.map +1 -0
  149. package/dist/dashboard/types.js +8 -0
  150. package/dist/dashboard/types.js.map +1 -0
  151. package/dist/failure/recorder.d.ts +4 -0
  152. package/dist/failure/recorder.d.ts.map +1 -1
  153. package/dist/failure/recorder.js +9 -11
  154. package/dist/failure/recorder.js.map +1 -1
  155. package/dist/gates/acceptance.d.ts.map +1 -1
  156. package/dist/gates/acceptance.js +2 -4
  157. package/dist/gates/acceptance.js.map +1 -1
  158. package/dist/gates/contract.d.ts.map +1 -1
  159. package/dist/gates/contract.js +0 -3
  160. package/dist/gates/contract.js.map +1 -1
  161. package/dist/gates/performance.d.ts.map +1 -1
  162. package/dist/gates/performance.js +3 -5
  163. package/dist/gates/performance.js.map +1 -1
  164. package/dist/gates/review.d.ts.map +1 -1
  165. package/dist/gates/review.js +4 -6
  166. package/dist/gates/review.js.map +1 -1
  167. package/dist/gates/security.d.ts.map +1 -1
  168. package/dist/gates/security.js +2 -4
  169. package/dist/gates/security.js.map +1 -1
  170. package/dist/index.d.ts +9 -2
  171. package/dist/index.d.ts.map +1 -1
  172. package/dist/index.js +34 -3
  173. package/dist/index.js.map +1 -1
  174. package/dist/knowledge/import.d.ts +95 -0
  175. package/dist/knowledge/import.d.ts.map +1 -0
  176. package/dist/knowledge/import.js +429 -0
  177. package/dist/knowledge/import.js.map +1 -0
  178. package/dist/knowledge/index.d.ts +15 -0
  179. package/dist/knowledge/index.d.ts.map +1 -0
  180. package/dist/knowledge/index.js +40 -0
  181. package/dist/knowledge/index.js.map +1 -0
  182. package/dist/knowledge/ingest.d.ts +30 -0
  183. package/dist/knowledge/ingest.d.ts.map +1 -0
  184. package/dist/knowledge/ingest.js +94 -0
  185. package/dist/knowledge/ingest.js.map +1 -0
  186. package/dist/knowledge/lifecycle-hooks.d.ts +62 -0
  187. package/dist/knowledge/lifecycle-hooks.d.ts.map +1 -0
  188. package/dist/knowledge/lifecycle-hooks.js +140 -0
  189. package/dist/knowledge/lifecycle-hooks.js.map +1 -0
  190. package/dist/knowledge/lifecycle.d.ts +43 -0
  191. package/dist/knowledge/lifecycle.d.ts.map +1 -0
  192. package/dist/knowledge/lifecycle.js +141 -0
  193. package/dist/knowledge/lifecycle.js.map +1 -0
  194. package/dist/knowledge/lint.d.ts +57 -0
  195. package/dist/knowledge/lint.d.ts.map +1 -0
  196. package/dist/knowledge/lint.js +235 -0
  197. package/dist/knowledge/lint.js.map +1 -0
  198. package/dist/knowledge/query.d.ts +33 -0
  199. package/dist/knowledge/query.d.ts.map +1 -0
  200. package/dist/knowledge/query.js +107 -0
  201. package/dist/knowledge/query.js.map +1 -0
  202. package/dist/knowledge/reference-tracker.d.ts +31 -0
  203. package/dist/knowledge/reference-tracker.d.ts.map +1 -0
  204. package/dist/knowledge/reference-tracker.js +124 -0
  205. package/dist/knowledge/reference-tracker.js.map +1 -0
  206. package/dist/knowledge/store.d.ts +42 -0
  207. package/dist/knowledge/store.d.ts.map +1 -0
  208. package/dist/knowledge/store.js +278 -0
  209. package/dist/knowledge/store.js.map +1 -0
  210. package/dist/knowledge/types.d.ts +103 -0
  211. package/dist/knowledge/types.d.ts.map +1 -0
  212. package/dist/knowledge/types.js +17 -0
  213. package/dist/knowledge/types.js.map +1 -0
  214. package/dist/llm/adapter.d.ts +36 -0
  215. package/dist/llm/adapter.d.ts.map +1 -0
  216. package/dist/llm/adapter.js +118 -0
  217. package/dist/llm/adapter.js.map +1 -0
  218. package/dist/llm/index.d.ts +3 -0
  219. package/dist/llm/index.d.ts.map +1 -0
  220. package/dist/llm/index.js +19 -0
  221. package/dist/llm/index.js.map +1 -0
  222. package/dist/llm/types.d.ts +62 -0
  223. package/dist/llm/types.d.ts.map +1 -0
  224. package/dist/llm/types.js +8 -0
  225. package/dist/llm/types.js.map +1 -0
  226. package/dist/monitoring/context-tracker.d.ts +38 -0
  227. package/dist/monitoring/context-tracker.d.ts.map +1 -0
  228. package/dist/monitoring/context-tracker.js +162 -0
  229. package/dist/monitoring/context-tracker.js.map +1 -0
  230. package/dist/monitoring/index.d.ts +3 -0
  231. package/dist/monitoring/index.d.ts.map +1 -1
  232. package/dist/monitoring/index.js +6 -0
  233. package/dist/monitoring/index.js.map +1 -1
  234. package/dist/monitoring/knowledge-doctor.d.ts +78 -0
  235. package/dist/monitoring/knowledge-doctor.d.ts.map +1 -0
  236. package/dist/monitoring/knowledge-doctor.js +266 -0
  237. package/dist/monitoring/knowledge-doctor.js.map +1 -0
  238. package/dist/monitoring/knowledge-evolver.d.ts +72 -0
  239. package/dist/monitoring/knowledge-evolver.d.ts.map +1 -0
  240. package/dist/monitoring/knowledge-evolver.js +205 -0
  241. package/dist/monitoring/knowledge-evolver.js.map +1 -0
  242. package/dist/monitoring/performance-analyzer.d.ts.map +1 -1
  243. package/dist/monitoring/performance-analyzer.js +10 -4
  244. package/dist/monitoring/performance-analyzer.js.map +1 -1
  245. package/dist/monitoring/trace-analyzer.d.ts.map +1 -1
  246. package/dist/monitoring/trace-analyzer.js +12 -5
  247. package/dist/monitoring/trace-analyzer.js.map +1 -1
  248. package/dist/safety/index.d.ts +6 -0
  249. package/dist/safety/index.d.ts.map +1 -0
  250. package/dist/safety/index.js +22 -0
  251. package/dist/safety/index.js.map +1 -0
  252. package/dist/safety/input-guardrail.d.ts +36 -0
  253. package/dist/safety/input-guardrail.d.ts.map +1 -0
  254. package/dist/safety/input-guardrail.js +118 -0
  255. package/dist/safety/input-guardrail.js.map +1 -0
  256. package/dist/safety/output-guardrail.d.ts +40 -0
  257. package/dist/safety/output-guardrail.d.ts.map +1 -0
  258. package/dist/safety/output-guardrail.js +150 -0
  259. package/dist/safety/output-guardrail.js.map +1 -0
  260. package/dist/safety/sandbox.d.ts +45 -0
  261. package/dist/safety/sandbox.d.ts.map +1 -0
  262. package/dist/safety/sandbox.js +134 -0
  263. package/dist/safety/sandbox.js.map +1 -0
  264. package/dist/safety/tool-guardrail.d.ts +51 -0
  265. package/dist/safety/tool-guardrail.d.ts.map +1 -0
  266. package/dist/safety/tool-guardrail.js +147 -0
  267. package/dist/safety/tool-guardrail.js.map +1 -0
  268. package/dist/safety/types.d.ts +104 -0
  269. package/dist/safety/types.d.ts.map +1 -0
  270. package/dist/safety/types.js +6 -0
  271. package/dist/safety/types.js.map +1 -0
  272. package/dist/tools/core/index.d.ts +13 -0
  273. package/dist/tools/core/index.d.ts.map +1 -0
  274. package/dist/tools/core/index.js +198 -0
  275. package/dist/tools/core/index.js.map +1 -0
  276. package/dist/tools/index.d.ts +4 -0
  277. package/dist/tools/index.d.ts.map +1 -0
  278. package/dist/tools/index.js +20 -0
  279. package/dist/tools/index.js.map +1 -0
  280. package/dist/tools/registry.d.ts +59 -0
  281. package/dist/tools/registry.d.ts.map +1 -0
  282. package/dist/tools/registry.js +115 -0
  283. package/dist/tools/registry.js.map +1 -0
  284. package/dist/tools/types.d.ts +38 -0
  285. package/dist/tools/types.d.ts.map +1 -0
  286. package/dist/tools/types.js +6 -0
  287. package/dist/tools/types.js.map +1 -0
  288. package/dist/types/constraint.d.ts +4 -0
  289. package/dist/types/constraint.d.ts.map +1 -1
  290. package/dist/types/constraint.js.map +1 -1
  291. package/dist/utils/exec.d.ts +11 -1
  292. package/dist/utils/exec.d.ts.map +1 -1
  293. package/dist/utils/exec.js +19 -1
  294. package/dist/utils/exec.js.map +1 -1
  295. package/dist/verification/index.d.ts +4 -0
  296. package/dist/verification/index.d.ts.map +1 -0
  297. package/dist/verification/index.js +20 -0
  298. package/dist/verification/index.js.map +1 -0
  299. package/dist/verification/loop.d.ts +30 -0
  300. package/dist/verification/loop.d.ts.map +1 -0
  301. package/dist/verification/loop.js +114 -0
  302. package/dist/verification/loop.js.map +1 -0
  303. package/dist/verification/rules-based.d.ts +40 -0
  304. package/dist/verification/rules-based.d.ts.map +1 -0
  305. package/dist/verification/rules-based.js +130 -0
  306. package/dist/verification/rules-based.js.map +1 -0
  307. package/dist/verification/types.d.ts +69 -0
  308. package/dist/verification/types.d.ts.map +1 -0
  309. package/dist/verification/types.js +6 -0
  310. package/dist/verification/types.js.map +1 -0
  311. package/package.json +1 -1
  312. package/dist/cli/commands/diagnose.d.ts +0 -16
  313. package/dist/cli/commands/diagnose.d.ts.map +0 -1
  314. package/dist/cli/commands/diagnose.js +0 -195
  315. package/dist/cli/commands/diagnose.js.map +0 -1
  316. package/dist/cli/commands/propose.d.ts +0 -18
  317. package/dist/cli/commands/propose.d.ts.map +0 -1
  318. package/dist/cli/commands/propose.js +0 -331
  319. package/dist/cli/commands/propose.js.map +0 -1
  320. package/dist/cli/commands/traces.d.ts +0 -15
  321. package/dist/cli/commands/traces.d.ts.map +0 -1
  322. package/dist/cli/commands/traces.js +0 -167
  323. package/dist/cli/commands/traces.js.map +0 -1
  324. package/dist/extensions/long-running/constraints.d.ts +0 -38
  325. package/dist/extensions/long-running/constraints.d.ts.map +0 -1
  326. package/dist/extensions/long-running/constraints.js +0 -153
  327. package/dist/extensions/long-running/constraints.js.map +0 -1
  328. package/dist/extensions/long-running/index.d.ts +0 -30
  329. package/dist/extensions/long-running/index.d.ts.map +0 -1
  330. package/dist/extensions/long-running/index.js +0 -50
  331. package/dist/extensions/long-running/index.js.map +0 -1
  332. package/dist/extensions/long-running/types.d.ts +0 -154
  333. package/dist/extensions/long-running/types.d.ts.map +0 -1
  334. package/dist/extensions/long-running/types.js +0 -9
  335. package/dist/extensions/long-running/types.js.map +0 -1
  336. package/dist/presets/long-running.d.ts +0 -33
  337. package/dist/presets/long-running.d.ts.map +0 -1
  338. package/dist/presets/long-running.js +0 -52
  339. package/dist/presets/long-running.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"check.js","sourceRoot":"","sources":["../../../src/cli/commands/check.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"check.js","sourceRoot":"","sources":["../../../src/cli/commands/check.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * 命令黑名单检查
3
+ *
4
+ * 用法:
5
+ * harness command "rm -rf /"
6
+ * harness command --level "DROP TABLE users"
7
+ * harness command --list
8
+ */
9
+ export interface CommandCheckOptions {
10
+ level?: boolean;
11
+ list?: boolean;
12
+ json?: boolean;
13
+ strict?: boolean;
14
+ }
15
+ /**
16
+ * 执行命令黑名单检查(供 bin/harness.js 调用)
17
+ */
18
+ export declare function executeCommand(cmd: string | undefined, options: CommandCheckOptions): Promise<void>;
19
+ //# sourceMappingURL=command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/command.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAoEzG"}
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ /**
3
+ * 命令黑名单检查
4
+ *
5
+ * 用法:
6
+ * harness command "rm -rf /"
7
+ * harness command --level "DROP TABLE users"
8
+ * harness command --list
9
+ */
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.executeCommand = executeCommand;
12
+ const gates_1 = require("../../gates");
13
+ /**
14
+ * 执行命令黑名单检查(供 bin/harness.js 调用)
15
+ */
16
+ async function executeCommand(cmd, options) {
17
+ if (options.list) {
18
+ if (options.json) {
19
+ console.log(JSON.stringify(gates_1.DEFAULT_COMMAND_BLACKLIST.map((r) => ({
20
+ id: r.id,
21
+ level: r.level,
22
+ message: r.message,
23
+ category: r.category,
24
+ })), null, 2));
25
+ }
26
+ else {
27
+ console.log('\n命令黑名单规则:\n');
28
+ const byCategory = gates_1.DEFAULT_COMMAND_BLACKLIST.reduce((acc, rule) => {
29
+ if (!acc[rule.category])
30
+ acc[rule.category] = [];
31
+ acc[rule.category].push(rule);
32
+ return acc;
33
+ }, {});
34
+ for (const [category, rules] of Object.entries(byCategory)) {
35
+ console.log(`[${category}]`);
36
+ for (const rule of rules) {
37
+ const levelIcon = rule.level === 'block' ? '🚫' : rule.level === 'warn' ? '⚠️' : '📋';
38
+ console.log(` ${levelIcon} ${rule.id}: ${rule.message} (${rule.level})`);
39
+ }
40
+ console.log();
41
+ }
42
+ console.log(`共 ${gates_1.DEFAULT_COMMAND_BLACKLIST.length} 条规则`);
43
+ }
44
+ return;
45
+ }
46
+ if (!cmd) {
47
+ console.error('错误:请提供要检查的命令');
48
+ console.error('用法:harness command "your command"');
49
+ process.exit(1);
50
+ }
51
+ const gate = (0, gates_1.createCommandGate)({ strict: options.strict });
52
+ const result = await gate.check(cmd);
53
+ if (options.level) {
54
+ const level = (0, gates_1.getCommandRiskLevel)(cmd);
55
+ if (options.json) {
56
+ console.log(JSON.stringify({ level, command: cmd }));
57
+ }
58
+ else {
59
+ const levelColors = {
60
+ high: '\x1b[31m',
61
+ medium: '\x1b[33m',
62
+ low: '\x1b[32m',
63
+ };
64
+ console.log(`${levelColors[level]}${level}\x1b[0m ${cmd}`);
65
+ }
66
+ process.exit(level === 'high' ? 1 : 0);
67
+ }
68
+ if (options.json) {
69
+ console.log(JSON.stringify({
70
+ command: cmd,
71
+ passed: result.passed,
72
+ message: result.message,
73
+ details: result.details,
74
+ }, null, 2));
75
+ }
76
+ else {
77
+ console.log(result.passed ? `\x1b[32m✓\x1b[0m ${result.message}` : `\x1b[31m✗\x1b[0m ${result.message}`);
78
+ }
79
+ process.exit(result.passed ? 0 : 1);
80
+ }
81
+ //# sourceMappingURL=command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command.js","sourceRoot":"","sources":["../../../src/cli/commands/command.ts"],"names":[],"mappings":"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"}
@@ -14,4 +14,5 @@ export { performance, type PerformanceOptions } from './performance';
14
14
  export { security, auditDetails, type SecurityOptions } from './security';
15
15
  export { contract, validateSchema, type ContractOptions } from './contract';
16
16
  export { review, reviewStatus, type ReviewOptions } from './review';
17
+ export { executeCommand, type CommandCheckOptions } from './command';
17
18
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,YAAY,EAAE,MAAM,SAAS,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,uBAAuB,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;AACrF,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,KAAK,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACrF,OAAO,EAAE,IAAI,EAAE,KAAK,WAAW,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,KAAK,aAAa,EAAE,MAAM,UAAU,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,KAAK,aAAa,EAAE,MAAM,UAAU,CAAC;AACtD,OAAO,EAAE,IAAI,EAAE,KAAK,WAAW,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,KAAK,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAC/E,OAAO,EAAE,UAAU,EAAE,sBAAsB,EAAE,KAAK,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAC1F,OAAO,EAAE,WAAW,EAAE,KAAK,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;AAC5E,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,aAAa,EAAE,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,YAAY,EAAE,MAAM,SAAS,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,uBAAuB,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;AACrF,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,KAAK,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACrF,OAAO,EAAE,IAAI,EAAE,KAAK,WAAW,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,KAAK,aAAa,EAAE,MAAM,UAAU,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,KAAK,aAAa,EAAE,MAAM,UAAU,CAAC;AACtD,OAAO,EAAE,IAAI,EAAE,KAAK,WAAW,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,KAAK,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAC/E,OAAO,EAAE,UAAU,EAAE,sBAAsB,EAAE,KAAK,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAC1F,OAAO,EAAE,WAAW,EAAE,KAAK,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;AAC5E,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,aAAa,EAAE,MAAM,UAAU,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,KAAK,mBAAmB,EAAE,MAAM,WAAW,CAAC"}
@@ -3,7 +3,7 @@
3
3
  * CLI 命令导出
4
4
  */
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.reviewStatus = exports.review = exports.validateSchema = exports.contract = exports.auditDetails = exports.security = exports.performance = exports.listAcceptanceCriteria = exports.acceptance = exports.listSpecTypes = exports.specValidate = exports.flow = exports.status = exports.report = exports.init = exports.checkCoverage = exports.runPassesGate = exports.createExampleCheckpoint = exports.validate = exports.listLaws = exports.check = void 0;
6
+ exports.executeCommand = exports.reviewStatus = exports.review = exports.validateSchema = exports.contract = exports.auditDetails = exports.security = exports.performance = exports.listAcceptanceCriteria = exports.acceptance = exports.listSpecTypes = exports.specValidate = exports.flow = exports.status = exports.report = exports.init = exports.checkCoverage = exports.runPassesGate = exports.createExampleCheckpoint = exports.validate = exports.listLaws = exports.check = void 0;
7
7
  var check_1 = require("./check");
8
8
  Object.defineProperty(exports, "check", { enumerable: true, get: function () { return check_1.check; } });
9
9
  Object.defineProperty(exports, "listLaws", { enumerable: true, get: function () { return check_1.listLaws; } });
@@ -38,4 +38,6 @@ Object.defineProperty(exports, "validateSchema", { enumerable: true, get: functi
38
38
  var review_1 = require("./review");
39
39
  Object.defineProperty(exports, "review", { enumerable: true, get: function () { return review_1.review; } });
40
40
  Object.defineProperty(exports, "reviewStatus", { enumerable: true, get: function () { return review_1.reviewStatus; } });
41
+ var command_1 = require("./command");
42
+ Object.defineProperty(exports, "executeCommand", { enumerable: true, get: function () { return command_1.executeCommand; } });
41
43
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/commands/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,iCAA6D;AAApD,8FAAA,KAAK,OAAA;AAAE,iGAAA,QAAQ,OAAA;AACxB,uCAAqF;AAA5E,oGAAA,QAAQ,OAAA;AAAE,mHAAA,uBAAuB,OAAA;AAC1C,6CAAqF;AAA5E,4GAAA,aAAa,OAAA;AAAE,4GAAA,aAAa,OAAA;AACrC,+BAAgD;AAAvC,4FAAA,IAAI,OAAA;AACb,mCAAsD;AAA7C,gGAAA,MAAM,OAAA;AACf,mCAAsD;AAA7C,gGAAA,MAAM,OAAA;AACf,+BAAgD;AAAvC,4FAAA,IAAI,OAAA;AACb,+BAA+E;AAAtE,oGAAA,YAAY,OAAA;AAAE,qGAAA,aAAa,OAAA;AACpC,2CAA0F;AAAjF,wGAAA,UAAU,OAAA;AAAE,oHAAA,sBAAsB,OAAA;AAC3C,6CAAqE;AAA5D,0GAAA,WAAW,OAAA;AACpB,uCAA0E;AAAjE,oGAAA,QAAQ,OAAA;AAAE,wGAAA,YAAY,OAAA;AAC/B,uCAA4E;AAAnE,oGAAA,QAAQ,OAAA;AAAE,0GAAA,cAAc,OAAA;AACjC,mCAAoE;AAA3D,gGAAA,MAAM,OAAA;AAAE,sGAAA,YAAY,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/commands/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,iCAA6D;AAApD,8FAAA,KAAK,OAAA;AAAE,iGAAA,QAAQ,OAAA;AACxB,uCAAqF;AAA5E,oGAAA,QAAQ,OAAA;AAAE,mHAAA,uBAAuB,OAAA;AAC1C,6CAAqF;AAA5E,4GAAA,aAAa,OAAA;AAAE,4GAAA,aAAa,OAAA;AACrC,+BAAgD;AAAvC,4FAAA,IAAI,OAAA;AACb,mCAAsD;AAA7C,gGAAA,MAAM,OAAA;AACf,mCAAsD;AAA7C,gGAAA,MAAM,OAAA;AACf,+BAAgD;AAAvC,4FAAA,IAAI,OAAA;AACb,+BAA+E;AAAtE,oGAAA,YAAY,OAAA;AAAE,qGAAA,aAAa,OAAA;AACpC,2CAA0F;AAAjF,wGAAA,UAAU,OAAA;AAAE,oHAAA,sBAAsB,OAAA;AAC3C,6CAAqE;AAA5D,0GAAA,WAAW,OAAA;AACpB,uCAA0E;AAAjE,oGAAA,QAAQ,OAAA;AAAE,wGAAA,YAAY,OAAA;AAC/B,uCAA4E;AAAnE,oGAAA,QAAQ,OAAA;AAAE,0GAAA,cAAc,OAAA;AACjC,mCAAoE;AAA3D,gGAAA,MAAM,OAAA;AAAE,sGAAA,YAAY,OAAA;AAC7B,qCAAqE;AAA5D,yGAAA,cAAc,OAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"passes-gate.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/passes-gate.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH,MAAM,WAAW,iBAAiB;IAChC,WAAW;IACX,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW;IACX,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe;IACf,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAoCD;;GAEG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CA8D7E;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,GAAE,MAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAiCjG"}
1
+ {"version":3,"file":"passes-gate.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/passes-gate.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AASH,MAAM,WAAW,iBAAiB;IAChC,WAAW;IACX,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW;IACX,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe;IACf,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAoCD;;GAEG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CA8D7E;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,GAAE,MAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CA6BjG"}
@@ -46,6 +46,7 @@ exports.checkCoverage = checkCoverage;
46
46
  const chalk_1 = __importDefault(require("chalk"));
47
47
  const fs = __importStar(require("fs/promises"));
48
48
  const path = __importStar(require("path"));
49
+ const exec_1 = require("../../utils/exec");
49
50
  const passes_gate_1 = require("../../core/validators/passes-gate");
50
51
  /**
51
52
  * 检测项目的测试命令
@@ -141,11 +142,8 @@ async function runPassesGate(options) {
141
142
  async function checkCoverage(projectPath, threshold = 80) {
142
143
  console.log(chalk_1.default.blue(`📊 检查测试覆盖率 (阈值: ${threshold}%)...`));
143
144
  try {
144
- const { exec } = await Promise.resolve().then(() => __importStar(require('child_process')));
145
- const { promisify } = await Promise.resolve().then(() => __importStar(require('util')));
146
- const execAsync = promisify(exec);
147
145
  // 运行覆盖率检查
148
- await execAsync('npm test -- --coverage --coverageReporters=json-summary', {
146
+ await (0, exec_1.execAsync)('npm test -- --coverage --coverageReporters=json-summary', {
149
147
  cwd: projectPath,
150
148
  });
151
149
  // 读取覆盖率报告
@@ -1 +1 @@
1
- {"version":3,"file":"passes-gate.js","sourceRoot":"","sources":["../../../src/cli/commands/passes-gate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"passes-gate.js","sourceRoot":"","sources":["../../../src/cli/commands/passes-gate.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"review.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/review.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH,MAAM,WAAW,aAAa;IAC5B,WAAW;IACX,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa;IACb,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,eAAe;IACf,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,mBAAmB;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,wBAAsB,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CA4ElE;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CA4CxE"}
1
+ {"version":3,"file":"review.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/review.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,MAAM,WAAW,aAAa;IAC5B,WAAW;IACX,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa;IACb,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,eAAe;IACf,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,mBAAmB;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,wBAAsB,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CA8ClE;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAwCxE"}
@@ -11,72 +11,39 @@ Object.defineProperty(exports, "__esModule", { value: true });
11
11
  exports.review = review;
12
12
  exports.reviewStatus = reviewStatus;
13
13
  const chalk_1 = __importDefault(require("chalk"));
14
- const child_process_1 = require("child_process");
15
- const util_1 = require("util");
16
- const execAsync = (0, util_1.promisify)(child_process_1.exec);
14
+ const exec_1 = require("../../utils/exec");
15
+ const review_1 = require("../../gates/review");
17
16
  /**
18
17
  * 执行审查门控
19
18
  */
20
19
  async function review(options) {
21
20
  console.log(chalk_1.default.blue('👀 代码审查门控检查...'));
22
21
  const projectPath = options.projectPath || process.cwd();
23
- const minReviewers = options.minReviewers || 1;
22
+ const gate = new review_1.ReviewGate({
23
+ minReviewers: options.minReviewers ?? 1,
24
+ requireApproval: options.requireApproval ?? true,
25
+ blockOnChangesRequested: options.blockOnChangesRequested ?? true,
26
+ allowedReviewers: options.allowedReviewers
27
+ ? options.allowedReviewers.split(',').map(s => s.trim()).filter(Boolean)
28
+ : [],
29
+ });
24
30
  try {
25
- // 获取当前分支
26
- const { stdout: branch } = await execAsync('git rev-parse --abbrev-ref HEAD', { cwd: projectPath });
27
- const currentBranch = branch.trim();
28
- console.log(chalk_1.default.gray(`当前分支: ${currentBranch}`));
29
- // 尝试获取 PR 信息
30
- try {
31
- const { stdout: prInfo } = await execAsync('gh pr view --json number,title,state,reviewDecision,reviews', {
32
- cwd: projectPath,
33
- });
34
- const pr = JSON.parse(prInfo);
35
- console.log();
36
- console.log(chalk_1.default.cyan(`PR #${pr.number}: ${pr.title}`));
37
- console.log(chalk_1.default.gray(`状态: ${pr.state}`));
38
- // 检查审查决策
39
- if (pr.reviewDecision === 'APPROVED') {
40
- console.log(chalk_1.default.green(`审查决策: APPROVED ✅`));
41
- console.log();
42
- console.log(chalk_1.default.green('✅ 代码审查门控检查通过'));
43
- return;
44
- }
45
- else if (pr.reviewDecision === 'CHANGES_REQUESTED') {
46
- console.log(chalk_1.default.red(`审查决策: CHANGES_REQUESTED ❌`));
47
- console.log();
48
- console.log(chalk_1.default.red('❌ 代码审查门控检查失败'));
49
- console.log(chalk_1.default.red(' 有变更请求未处理'));
50
- process.exit(1);
51
- return;
52
- }
53
- else if (pr.reviewDecision === 'REVIEW_REQUIRED') {
54
- console.log(chalk_1.default.yellow(`审查决策: REVIEW_REQUIRED`));
55
- console.log();
56
- console.log(chalk_1.default.red('❌ 代码审查门控检查失败'));
57
- console.log(chalk_1.default.yellow(` 需要至少 ${minReviewers} 个审查`));
58
- process.exit(1);
59
- return;
60
- }
61
- // 检查审批数
62
- const approvals = pr.reviews?.filter((r) => r.state === 'APPROVED').length || 0;
63
- if (approvals >= minReviewers) {
64
- console.log();
65
- console.log(chalk_1.default.green('✅ 代码审查门控检查通过'));
66
- console.log(chalk_1.default.gray(` 审批数: ${approvals}`));
67
- }
68
- else {
69
- console.log();
70
- console.log(chalk_1.default.red('❌ 代码审查门控检查失败'));
71
- console.log(chalk_1.default.yellow(` 当前审批: ${approvals}`));
72
- console.log(chalk_1.default.yellow(` 所需审批: ${minReviewers}`));
73
- process.exit(1);
31
+ const { stdout: branch } = await (0, exec_1.execAsync)('git rev-parse --abbrev-ref HEAD', { cwd: projectPath });
32
+ console.log(chalk_1.default.gray(`当前分支: ${branch.trim()}`));
33
+ const result = await gate.check({ projectPath, projectId: 'default' });
34
+ console.log();
35
+ if (result.passed) {
36
+ console.log(chalk_1.default.green('✅ 代码审查门控检查通过'));
37
+ if (result.details) {
38
+ console.log(chalk_1.default.gray(` 审批: ${result.details.approvals ?? 0}, 变更请求: ${result.details.changesRequested ?? 0}`));
74
39
  }
75
40
  }
76
- catch {
77
- console.log();
78
- console.log(chalk_1.default.yellow('⚠️ 未找到关联的 PR'));
79
- console.log(chalk_1.default.gray(' 使用 gh pr create 创建 PR'));
41
+ else {
42
+ console.log(chalk_1.default.red('❌ 代码审查门控检查失败'));
43
+ console.log(chalk_1.default.red(` ${result.message}`));
44
+ if (result.details?.suggestion) {
45
+ console.log(chalk_1.default.gray(` ${result.details.suggestion}`));
46
+ }
80
47
  process.exit(1);
81
48
  }
82
49
  }
@@ -98,13 +65,10 @@ async function reviewStatus(options) {
98
65
  console.log(chalk_1.default.blue('👀 代码审查状态...\n'));
99
66
  const projectPath = options.projectPath || process.cwd();
100
67
  try {
101
- // 获取当前分支
102
- const { stdout: branch } = await execAsync('git rev-parse --abbrev-ref HEAD', { cwd: projectPath });
103
- const currentBranch = branch.trim();
104
- console.log(chalk_1.default.gray(`当前分支: ${currentBranch}`));
105
- // 尝试获取 PR 信息
68
+ const { stdout: branch } = await (0, exec_1.execAsync)('git rev-parse --abbrev-ref HEAD', { cwd: projectPath });
69
+ console.log(chalk_1.default.gray(`当前分支: ${branch.trim()}`));
106
70
  try {
107
- const { stdout: prInfo } = await execAsync('gh pr view --json number,title,state,reviewDecision,reviews', {
71
+ const { stdout: prInfo } = await (0, exec_1.execAsync)('gh pr view --json number,title,state,reviewDecision,reviews', {
108
72
  cwd: projectPath,
109
73
  });
110
74
  const pr = JSON.parse(prInfo);
@@ -1 +1 @@
1
- {"version":3,"file":"review.js","sourceRoot":"","sources":["../../../src/cli/commands/review.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"review.js","sourceRoot":"","sources":["../../../src/cli/commands/review.ts"],"names":[],"mappings":"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"}
@@ -20,7 +20,7 @@ export interface SecurityOptions {
20
20
  */
21
21
  export declare function security(options: SecurityOptions): Promise<void>;
22
22
  /**
23
- * 运行 npm audit 并返回详细报告
23
+ * 运行安全审计详情
24
24
  */
25
25
  export declare function auditDetails(options: SecurityOptions): Promise<void>;
26
26
  //# sourceMappingURL=security.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"security.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/security.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH,MAAM,WAAW,eAAe;IAC9B,WAAW;IACX,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yCAAyC;IACzC,QAAQ,CAAC,EAAE,KAAK,GAAG,UAAU,GAAG,MAAM,GAAG,UAAU,CAAC;IACpD,aAAa;IACb,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe;IACf,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,wBAAsB,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAgEtE;AAoBD;;GAEG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAmD1E"}
1
+ {"version":3,"file":"security.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/security.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,MAAM,WAAW,eAAe;IAC9B,WAAW;IACX,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yCAAyC;IACzC,QAAQ,CAAC,EAAE,KAAK,GAAG,UAAU,GAAG,MAAM,GAAG,UAAU,CAAC;IACpD,aAAa;IACb,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe;IACf,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,wBAAsB,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAkCtE;AAoBD;;GAEG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CA2B1E"}
@@ -11,69 +11,39 @@ Object.defineProperty(exports, "__esModule", { value: true });
11
11
  exports.security = security;
12
12
  exports.auditDetails = auditDetails;
13
13
  const chalk_1 = __importDefault(require("chalk"));
14
- const child_process_1 = require("child_process");
15
- const util_1 = require("util");
16
- const execAsync = (0, util_1.promisify)(child_process_1.exec);
14
+ const security_1 = require("../../gates/security");
17
15
  /**
18
16
  * 执行安全门控
19
17
  */
20
18
  async function security(options) {
21
19
  console.log(chalk_1.default.blue('🔒 安全门控检查...'));
22
20
  const projectPath = options.projectPath || process.cwd();
23
- const severityThreshold = options.severity || 'high';
24
- try {
25
- // 运行 npm audit
26
- const { stdout } = await execAsync('npm audit --json', { cwd: projectPath });
27
- const auditResult = JSON.parse(stdout);
28
- // 过滤漏洞
29
- const severityOrder = ['low', 'moderate', 'high', 'critical'];
30
- const thresholdIndex = severityOrder.indexOf(severityThreshold);
31
- const vulnerabilities = Object.entries(auditResult.vulnerabilities || {})
32
- .filter(([_, vuln]) => {
33
- const severityIndex = severityOrder.indexOf(vuln.severity);
34
- return severityIndex >= thresholdIndex;
35
- });
36
- if (vulnerabilities.length === 0) {
37
- console.log();
38
- console.log(chalk_1.default.green('✅ 安全门控检查通过'));
39
- console.log(chalk_1.default.gray(' 未发现安全漏洞'));
21
+ const gate = new security_1.SecurityGate({
22
+ severityThreshold: options.severity || 'high',
23
+ scanCommand: options.scanCommand,
24
+ ignoreWarnings: options.ignoreWarnings,
25
+ ignoreDevDependencies: options.ignoreDevDeps,
26
+ });
27
+ const result = await gate.scan({ projectPath, projectId: 'default' });
28
+ console.log();
29
+ if (result.passed) {
30
+ console.log(chalk_1.default.green('✅ 安全门控检查通过'));
31
+ if (result.details) {
32
+ console.log(chalk_1.default.gray(` critical: ${result.details.critical}, high: ${result.details.high}, moderate: ${result.details.moderate}, low: ${result.details.low}`));
40
33
  }
41
- else {
34
+ }
35
+ else {
36
+ console.log(chalk_1.default.red('❌ 安全门控检查失败'));
37
+ console.log(chalk_1.default.red(` ${result.message}`));
38
+ if (result.details?.vulnerabilities) {
42
39
  console.log();
43
- console.log(chalk_1.default.red('❌ 安全门控检查失败'));
44
- console.log(chalk_1.default.red(` 发现 ${vulnerabilities.length} 个安全漏洞:\n`));
45
- vulnerabilities.forEach(([name, vuln], i) => {
46
- const severityColor = getSeverityColor(vuln.severity);
47
- console.log(severityColor(`${i + 1}. [${vuln.severity.toUpperCase()}] ${name}`));
48
- console.log(chalk_1.default.gray(` 通过: ${vuln.via?.map((x) => x.name || x).join(', ') || '未知'}`));
49
- if (vuln.fixAvailable) {
50
- console.log(chalk_1.default.green(` 可修复: npm audit fix`));
51
- }
52
- console.log();
40
+ result.details.vulnerabilities.forEach((v, i) => {
41
+ const severityColor = getSeverityColor(v.severity);
42
+ console.log(severityColor(` ${i + 1}. [${v.severity.toUpperCase()}] ${v.name}`));
43
+ console.log(chalk_1.default.gray(` via: ${v.via}`));
53
44
  });
54
- process.exit(1);
55
- }
56
- }
57
- catch (error) {
58
- // npm audit 在有漏洞时返回非零退出码,需要解析 stdout
59
- if (error.stdout) {
60
- try {
61
- const auditResult = JSON.parse(error.stdout);
62
- if (auditResult.vulnerabilities && Object.keys(auditResult.vulnerabilities).length > 0) {
63
- console.log();
64
- console.log(chalk_1.default.red('❌ 安全门控检查失败'));
65
- console.log(chalk_1.default.red(` 发现 ${Object.keys(auditResult.vulnerabilities).length} 个安全漏洞`));
66
- console.log(chalk_1.default.gray(' 运行 harness security audit 查看详情'));
67
- process.exit(1);
68
- }
69
- }
70
- catch {
71
- // JSON 解析失败
72
- }
73
45
  }
74
- console.log();
75
- console.log(chalk_1.default.red('❌ 安全门控检查出错'));
76
- console.log(chalk_1.default.red(` ${error.message}`));
46
+ console.log(chalk_1.default.gray('\n 运行 harness security audit 查看详情'));
77
47
  process.exit(1);
78
48
  }
79
49
  }
@@ -95,53 +65,29 @@ function getSeverityColor(severity) {
95
65
  }
96
66
  }
97
67
  /**
98
- * 运行 npm audit 并返回详细报告
68
+ * 运行安全审计详情
99
69
  */
100
70
  async function auditDetails(options) {
101
71
  console.log(chalk_1.default.blue('🔒 安全审计详情...\n'));
102
72
  const projectPath = options.projectPath || process.cwd();
103
- try {
104
- const { stdout } = await execAsync('npm audit --json', { cwd: projectPath });
105
- const auditResult = JSON.parse(stdout);
106
- if (!auditResult.vulnerabilities || Object.keys(auditResult.vulnerabilities).length === 0) {
107
- console.log(chalk_1.default.green('✅ 未发现安全漏洞'));
108
- return;
109
- }
110
- console.log(chalk_1.default.yellow(`发现 ${Object.keys(auditResult.vulnerabilities).length} 个漏洞:\n`));
111
- for (const [name, vuln] of Object.entries(auditResult.vulnerabilities)) {
112
- const v = vuln;
113
- console.log(chalk_1.default.cyan(`${name}@${v.via?.[0]?.range || 'unknown'}`));
114
- console.log(chalk_1.default.gray(` 严重性: ${v.severity}`));
115
- if (v.via && v.via.length > 0) {
116
- console.log(chalk_1.default.gray(` 通过: ${v.via.map((x) => x.name || x).join(', ')}`));
117
- }
118
- if (v.fixAvailable) {
119
- console.log(chalk_1.default.green(` 可修复: npm audit fix`));
120
- }
121
- else {
122
- console.log(chalk_1.default.yellow(` 需手动修复`));
123
- }
124
- console.log();
125
- }
73
+ const gate = new security_1.SecurityGate({
74
+ severityThreshold: options.severity || 'low',
75
+ scanCommand: options.scanCommand,
76
+ });
77
+ const result = await gate.scan({ projectPath, projectId: 'default' });
78
+ if (result.passed && !result.details?.total) {
79
+ console.log(chalk_1.default.green('✅ 未发现安全漏洞'));
80
+ return;
126
81
  }
127
- catch (error) {
128
- if (error.stdout) {
129
- const auditResult = JSON.parse(error.stdout);
130
- if (auditResult.vulnerabilities) {
131
- console.log(chalk_1.default.yellow(`发现 ${Object.keys(auditResult.vulnerabilities).length} 个漏洞:\n`));
132
- for (const [name, vuln] of Object.entries(auditResult.vulnerabilities)) {
133
- const v = vuln;
134
- console.log(chalk_1.default.cyan(`${name}`));
135
- console.log(chalk_1.default.gray(` 严重性: ${v.severity}`));
136
- if (v.fixAvailable) {
137
- console.log(chalk_1.default.green(` 可修复: npm audit fix`));
138
- }
139
- console.log();
140
- }
141
- return;
142
- }
82
+ const details = result.details;
83
+ if (details?.vulnerabilities?.length > 0) {
84
+ console.log(chalk_1.default.yellow(`发现 ${details.total} 个漏洞:\n`));
85
+ for (const v of details.vulnerabilities) {
86
+ const severityColor = getSeverityColor(v.severity);
87
+ console.log(severityColor(`[${v.severity.toUpperCase()}] ${v.name}`));
88
+ console.log(chalk_1.default.gray(` via: ${v.via}`));
89
+ console.log();
143
90
  }
144
- console.log(chalk_1.default.red(`❌ 安全审计失败: ${error.message}`));
145
91
  }
146
92
  }
147
93
  //# sourceMappingURL=security.js.map