driftdetect-core 0.7.1 → 0.8.1

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 (466) hide show
  1. package/dist/boundaries/types.d.ts +1 -1
  2. package/dist/boundaries/types.d.ts.map +1 -1
  3. package/dist/call-graph/analysis/graph-builder.d.ts.map +1 -1
  4. package/dist/call-graph/analysis/graph-builder.js +2 -0
  5. package/dist/call-graph/analysis/graph-builder.js.map +1 -1
  6. package/dist/call-graph/extractors/cpp-data-access-extractor.d.ts +37 -0
  7. package/dist/call-graph/extractors/cpp-data-access-extractor.d.ts.map +1 -0
  8. package/dist/call-graph/extractors/cpp-data-access-extractor.js +467 -0
  9. package/dist/call-graph/extractors/cpp-data-access-extractor.js.map +1 -0
  10. package/dist/call-graph/extractors/cpp-hybrid-extractor.d.ts +89 -0
  11. package/dist/call-graph/extractors/cpp-hybrid-extractor.d.ts.map +1 -0
  12. package/dist/call-graph/extractors/cpp-hybrid-extractor.js +541 -0
  13. package/dist/call-graph/extractors/cpp-hybrid-extractor.js.map +1 -0
  14. package/dist/call-graph/extractors/index.d.ts +8 -1
  15. package/dist/call-graph/extractors/index.d.ts.map +1 -1
  16. package/dist/call-graph/extractors/index.js +9 -1
  17. package/dist/call-graph/extractors/index.js.map +1 -1
  18. package/dist/call-graph/extractors/regex/cpp-regex.d.ts +46 -0
  19. package/dist/call-graph/extractors/regex/cpp-regex.d.ts.map +1 -0
  20. package/dist/call-graph/extractors/regex/cpp-regex.js +325 -0
  21. package/dist/call-graph/extractors/regex/cpp-regex.js.map +1 -0
  22. package/dist/call-graph/extractors/regex/index.d.ts +2 -0
  23. package/dist/call-graph/extractors/regex/index.d.ts.map +1 -1
  24. package/dist/call-graph/extractors/regex/index.js +16 -0
  25. package/dist/call-graph/extractors/regex/index.js.map +1 -1
  26. package/dist/call-graph/extractors/regex/rust-regex.d.ts +45 -0
  27. package/dist/call-graph/extractors/regex/rust-regex.d.ts.map +1 -0
  28. package/dist/call-graph/extractors/regex/rust-regex.js +517 -0
  29. package/dist/call-graph/extractors/regex/rust-regex.js.map +1 -0
  30. package/dist/call-graph/extractors/rust-data-access-extractor.d.ts +35 -0
  31. package/dist/call-graph/extractors/rust-data-access-extractor.d.ts.map +1 -0
  32. package/dist/call-graph/extractors/rust-data-access-extractor.js +349 -0
  33. package/dist/call-graph/extractors/rust-data-access-extractor.js.map +1 -0
  34. package/dist/call-graph/extractors/rust-extractor.d.ts +125 -0
  35. package/dist/call-graph/extractors/rust-extractor.d.ts.map +1 -0
  36. package/dist/call-graph/extractors/rust-extractor.js +604 -0
  37. package/dist/call-graph/extractors/rust-extractor.js.map +1 -0
  38. package/dist/call-graph/extractors/rust-hybrid-extractor.d.ts +119 -0
  39. package/dist/call-graph/extractors/rust-hybrid-extractor.d.ts.map +1 -0
  40. package/dist/call-graph/extractors/rust-hybrid-extractor.js +548 -0
  41. package/dist/call-graph/extractors/rust-hybrid-extractor.js.map +1 -0
  42. package/dist/call-graph/index.d.ts +2 -0
  43. package/dist/call-graph/index.d.ts.map +1 -1
  44. package/dist/call-graph/index.js +4 -0
  45. package/dist/call-graph/index.js.map +1 -1
  46. package/dist/call-graph/streaming-builder.d.ts +60 -0
  47. package/dist/call-graph/streaming-builder.d.ts.map +1 -0
  48. package/dist/call-graph/streaming-builder.js +204 -0
  49. package/dist/call-graph/streaming-builder.js.map +1 -0
  50. package/dist/call-graph/types.d.ts +1 -1
  51. package/dist/call-graph/types.d.ts.map +1 -1
  52. package/dist/call-graph/unified-provider.d.ts +72 -0
  53. package/dist/call-graph/unified-provider.d.ts.map +1 -0
  54. package/dist/call-graph/unified-provider.js +502 -0
  55. package/dist/call-graph/unified-provider.js.map +1 -0
  56. package/dist/constants/extractors/regex/rust-regex.d.ts +43 -0
  57. package/dist/constants/extractors/regex/rust-regex.d.ts.map +1 -0
  58. package/dist/constants/extractors/regex/rust-regex.js +370 -0
  59. package/dist/constants/extractors/regex/rust-regex.js.map +1 -0
  60. package/dist/constants/types.d.ts +1 -1
  61. package/dist/constants/types.d.ts.map +1 -1
  62. package/dist/constants/types.js.map +1 -1
  63. package/dist/constraints/store/constraint-store.d.ts.map +1 -1
  64. package/dist/constraints/store/constraint-store.js +2 -0
  65. package/dist/constraints/store/constraint-store.js.map +1 -1
  66. package/dist/constraints/types.d.ts +1 -1
  67. package/dist/constraints/types.d.ts.map +1 -1
  68. package/dist/constraints/types.js +2 -0
  69. package/dist/constraints/types.js.map +1 -1
  70. package/dist/context/context-generator.d.ts +38 -0
  71. package/dist/context/context-generator.d.ts.map +1 -0
  72. package/dist/context/context-generator.js +392 -0
  73. package/dist/context/context-generator.js.map +1 -0
  74. package/dist/context/index.d.ts +13 -0
  75. package/dist/context/index.d.ts.map +1 -0
  76. package/dist/context/index.js +14 -0
  77. package/dist/context/index.js.map +1 -0
  78. package/dist/context/package-detector.d.ts +53 -0
  79. package/dist/context/package-detector.d.ts.map +1 -0
  80. package/dist/context/package-detector.js +672 -0
  81. package/dist/context/package-detector.js.map +1 -0
  82. package/dist/context/types.d.ts +258 -0
  83. package/dist/context/types.d.ts.map +1 -0
  84. package/dist/context/types.js +10 -0
  85. package/dist/context/types.js.map +1 -0
  86. package/dist/cpp/cpp-analyzer.d.ts +179 -0
  87. package/dist/cpp/cpp-analyzer.d.ts.map +1 -0
  88. package/dist/cpp/cpp-analyzer.js +532 -0
  89. package/dist/cpp/cpp-analyzer.js.map +1 -0
  90. package/dist/cpp/index.d.ts +9 -0
  91. package/dist/cpp/index.d.ts.map +1 -0
  92. package/dist/cpp/index.js +9 -0
  93. package/dist/cpp/index.js.map +1 -0
  94. package/dist/decisions/analyzer/decision-mining-analyzer.d.ts.map +1 -1
  95. package/dist/decisions/analyzer/decision-mining-analyzer.js +4 -0
  96. package/dist/decisions/analyzer/decision-mining-analyzer.js.map +1 -1
  97. package/dist/decisions/types.d.ts +1 -1
  98. package/dist/decisions/types.d.ts.map +1 -1
  99. package/dist/environment/extractors/cpp-env-extractor.d.ts +58 -0
  100. package/dist/environment/extractors/cpp-env-extractor.d.ts.map +1 -0
  101. package/dist/environment/extractors/cpp-env-extractor.js +298 -0
  102. package/dist/environment/extractors/cpp-env-extractor.js.map +1 -0
  103. package/dist/environment/extractors/index.d.ts +2 -0
  104. package/dist/environment/extractors/index.d.ts.map +1 -1
  105. package/dist/environment/extractors/index.js +2 -0
  106. package/dist/environment/extractors/index.js.map +1 -1
  107. package/dist/environment/extractors/rust-env-extractor.d.ts +58 -0
  108. package/dist/environment/extractors/rust-env-extractor.d.ts.map +1 -0
  109. package/dist/environment/extractors/rust-env-extractor.js +297 -0
  110. package/dist/environment/extractors/rust-env-extractor.js.map +1 -0
  111. package/dist/environment/index.d.ts +1 -1
  112. package/dist/environment/index.d.ts.map +1 -1
  113. package/dist/environment/index.js +1 -1
  114. package/dist/environment/index.js.map +1 -1
  115. package/dist/environment/types.d.ts +2 -2
  116. package/dist/environment/types.d.ts.map +1 -1
  117. package/dist/environment/types.js.map +1 -1
  118. package/dist/index.d.ts +15 -3
  119. package/dist/index.d.ts.map +1 -1
  120. package/dist/index.js +62 -2
  121. package/dist/index.js.map +1 -1
  122. package/dist/licensing/feature-guard.d.ts +103 -0
  123. package/dist/licensing/feature-guard.d.ts.map +1 -0
  124. package/dist/licensing/feature-guard.js +195 -0
  125. package/dist/licensing/feature-guard.js.map +1 -0
  126. package/dist/licensing/index.d.ts +46 -0
  127. package/dist/licensing/index.d.ts.map +1 -0
  128. package/dist/licensing/index.js +47 -0
  129. package/dist/licensing/index.js.map +1 -0
  130. package/dist/licensing/license-manager.d.ts +88 -0
  131. package/dist/licensing/license-manager.d.ts.map +1 -0
  132. package/dist/licensing/license-manager.js +251 -0
  133. package/dist/licensing/license-manager.js.map +1 -0
  134. package/dist/licensing/license-validator.d.ts +60 -0
  135. package/dist/licensing/license-validator.d.ts.map +1 -0
  136. package/dist/licensing/license-validator.js +300 -0
  137. package/dist/licensing/license-validator.js.map +1 -0
  138. package/dist/licensing/types.d.ts +76 -0
  139. package/dist/licensing/types.d.ts.map +1 -0
  140. package/dist/licensing/types.js +51 -0
  141. package/dist/licensing/types.js.map +1 -0
  142. package/dist/parsers/tree-sitter/cpp-loader.d.ts +51 -0
  143. package/dist/parsers/tree-sitter/cpp-loader.d.ts.map +1 -0
  144. package/dist/parsers/tree-sitter/cpp-loader.js +162 -0
  145. package/dist/parsers/tree-sitter/cpp-loader.js.map +1 -0
  146. package/dist/parsers/tree-sitter/index.d.ts +6 -0
  147. package/dist/parsers/tree-sitter/index.d.ts.map +1 -1
  148. package/dist/parsers/tree-sitter/index.js +16 -0
  149. package/dist/parsers/tree-sitter/index.js.map +1 -1
  150. package/dist/parsers/tree-sitter/rust-loader.d.ts +50 -0
  151. package/dist/parsers/tree-sitter/rust-loader.d.ts.map +1 -0
  152. package/dist/parsers/tree-sitter/rust-loader.js +161 -0
  153. package/dist/parsers/tree-sitter/rust-loader.js.map +1 -0
  154. package/dist/parsers/tree-sitter/tree-sitter-cpp-parser.d.ts +198 -0
  155. package/dist/parsers/tree-sitter/tree-sitter-cpp-parser.d.ts.map +1 -0
  156. package/dist/parsers/tree-sitter/tree-sitter-cpp-parser.js +671 -0
  157. package/dist/parsers/tree-sitter/tree-sitter-cpp-parser.js.map +1 -0
  158. package/dist/parsers/tree-sitter/tree-sitter-rust-parser.d.ts +180 -0
  159. package/dist/parsers/tree-sitter/tree-sitter-rust-parser.d.ts.map +1 -0
  160. package/dist/parsers/tree-sitter/tree-sitter-rust-parser.js +478 -0
  161. package/dist/parsers/tree-sitter/tree-sitter-rust-parser.js.map +1 -0
  162. package/dist/parsers/types.d.ts +1 -1
  163. package/dist/parsers/types.d.ts.map +1 -1
  164. package/dist/patterns/adapters/pattern-store-adapter.d.ts.map +1 -1
  165. package/dist/patterns/adapters/pattern-store-adapter.js +35 -10
  166. package/dist/patterns/adapters/pattern-store-adapter.js.map +1 -1
  167. package/dist/quality-gates/gates/base-gate.d.ts +71 -0
  168. package/dist/quality-gates/gates/base-gate.d.ts.map +1 -0
  169. package/dist/quality-gates/gates/base-gate.js +178 -0
  170. package/dist/quality-gates/gates/base-gate.js.map +1 -0
  171. package/dist/quality-gates/gates/constraint-verification/constraint-verification-gate.d.ts +62 -0
  172. package/dist/quality-gates/gates/constraint-verification/constraint-verification-gate.d.ts.map +1 -0
  173. package/dist/quality-gates/gates/constraint-verification/constraint-verification-gate.js +255 -0
  174. package/dist/quality-gates/gates/constraint-verification/constraint-verification-gate.js.map +1 -0
  175. package/dist/quality-gates/gates/constraint-verification/index.d.ts +7 -0
  176. package/dist/quality-gates/gates/constraint-verification/index.d.ts.map +1 -0
  177. package/dist/quality-gates/gates/constraint-verification/index.js +7 -0
  178. package/dist/quality-gates/gates/constraint-verification/index.js.map +1 -0
  179. package/dist/quality-gates/gates/custom-rules/custom-rules-gate.d.ts +73 -0
  180. package/dist/quality-gates/gates/custom-rules/custom-rules-gate.d.ts.map +1 -0
  181. package/dist/quality-gates/gates/custom-rules/custom-rules-gate.js +351 -0
  182. package/dist/quality-gates/gates/custom-rules/custom-rules-gate.js.map +1 -0
  183. package/dist/quality-gates/gates/custom-rules/index.d.ts +7 -0
  184. package/dist/quality-gates/gates/custom-rules/index.d.ts.map +1 -0
  185. package/dist/quality-gates/gates/custom-rules/index.js +7 -0
  186. package/dist/quality-gates/gates/custom-rules/index.js.map +1 -0
  187. package/dist/quality-gates/gates/impact-simulation/impact-simulation-gate.d.ts +61 -0
  188. package/dist/quality-gates/gates/impact-simulation/impact-simulation-gate.d.ts.map +1 -0
  189. package/dist/quality-gates/gates/impact-simulation/impact-simulation-gate.js +318 -0
  190. package/dist/quality-gates/gates/impact-simulation/impact-simulation-gate.js.map +1 -0
  191. package/dist/quality-gates/gates/impact-simulation/index.d.ts +7 -0
  192. package/dist/quality-gates/gates/impact-simulation/index.d.ts.map +1 -0
  193. package/dist/quality-gates/gates/impact-simulation/index.js +7 -0
  194. package/dist/quality-gates/gates/impact-simulation/index.js.map +1 -0
  195. package/dist/quality-gates/gates/index.d.ts +13 -0
  196. package/dist/quality-gates/gates/index.d.ts.map +1 -0
  197. package/dist/quality-gates/gates/index.js +13 -0
  198. package/dist/quality-gates/gates/index.js.map +1 -0
  199. package/dist/quality-gates/gates/pattern-compliance/index.d.ts +7 -0
  200. package/dist/quality-gates/gates/pattern-compliance/index.d.ts.map +1 -0
  201. package/dist/quality-gates/gates/pattern-compliance/index.js +7 -0
  202. package/dist/quality-gates/gates/pattern-compliance/index.js.map +1 -0
  203. package/dist/quality-gates/gates/pattern-compliance/pattern-compliance-gate.d.ts +61 -0
  204. package/dist/quality-gates/gates/pattern-compliance/pattern-compliance-gate.d.ts.map +1 -0
  205. package/dist/quality-gates/gates/pattern-compliance/pattern-compliance-gate.js +261 -0
  206. package/dist/quality-gates/gates/pattern-compliance/pattern-compliance-gate.js.map +1 -0
  207. package/dist/quality-gates/gates/regression-detection/index.d.ts +7 -0
  208. package/dist/quality-gates/gates/regression-detection/index.d.ts.map +1 -0
  209. package/dist/quality-gates/gates/regression-detection/index.js +7 -0
  210. package/dist/quality-gates/gates/regression-detection/index.js.map +1 -0
  211. package/dist/quality-gates/gates/regression-detection/regression-detection-gate.d.ts +69 -0
  212. package/dist/quality-gates/gates/regression-detection/regression-detection-gate.d.ts.map +1 -0
  213. package/dist/quality-gates/gates/regression-detection/regression-detection-gate.js +330 -0
  214. package/dist/quality-gates/gates/regression-detection/regression-detection-gate.js.map +1 -0
  215. package/dist/quality-gates/gates/security-boundary/index.d.ts +7 -0
  216. package/dist/quality-gates/gates/security-boundary/index.d.ts.map +1 -0
  217. package/dist/quality-gates/gates/security-boundary/index.js +7 -0
  218. package/dist/quality-gates/gates/security-boundary/index.js.map +1 -0
  219. package/dist/quality-gates/gates/security-boundary/security-boundary-gate.d.ts +65 -0
  220. package/dist/quality-gates/gates/security-boundary/security-boundary-gate.d.ts.map +1 -0
  221. package/dist/quality-gates/gates/security-boundary/security-boundary-gate.js +307 -0
  222. package/dist/quality-gates/gates/security-boundary/security-boundary-gate.js.map +1 -0
  223. package/dist/quality-gates/index.d.ts +35 -0
  224. package/dist/quality-gates/index.d.ts.map +1 -0
  225. package/dist/quality-gates/index.js +43 -0
  226. package/dist/quality-gates/index.js.map +1 -0
  227. package/dist/quality-gates/orchestrator/gate-orchestrator.d.ts +79 -0
  228. package/dist/quality-gates/orchestrator/gate-orchestrator.d.ts.map +1 -0
  229. package/dist/quality-gates/orchestrator/gate-orchestrator.js +314 -0
  230. package/dist/quality-gates/orchestrator/gate-orchestrator.js.map +1 -0
  231. package/dist/quality-gates/orchestrator/gate-registry.d.ts +53 -0
  232. package/dist/quality-gates/orchestrator/gate-registry.d.ts.map +1 -0
  233. package/dist/quality-gates/orchestrator/gate-registry.js +141 -0
  234. package/dist/quality-gates/orchestrator/gate-registry.js.map +1 -0
  235. package/dist/quality-gates/orchestrator/index.d.ts +10 -0
  236. package/dist/quality-gates/orchestrator/index.d.ts.map +1 -0
  237. package/dist/quality-gates/orchestrator/index.js +10 -0
  238. package/dist/quality-gates/orchestrator/index.js.map +1 -0
  239. package/dist/quality-gates/orchestrator/parallel-executor.d.ts +35 -0
  240. package/dist/quality-gates/orchestrator/parallel-executor.d.ts.map +1 -0
  241. package/dist/quality-gates/orchestrator/parallel-executor.js +70 -0
  242. package/dist/quality-gates/orchestrator/parallel-executor.js.map +1 -0
  243. package/dist/quality-gates/orchestrator/result-aggregator.d.ts +27 -0
  244. package/dist/quality-gates/orchestrator/result-aggregator.d.ts.map +1 -0
  245. package/dist/quality-gates/orchestrator/result-aggregator.js +70 -0
  246. package/dist/quality-gates/orchestrator/result-aggregator.js.map +1 -0
  247. package/dist/quality-gates/policy/default-policies.d.ts +14 -0
  248. package/dist/quality-gates/policy/default-policies.d.ts.map +1 -0
  249. package/dist/quality-gates/policy/default-policies.js +266 -0
  250. package/dist/quality-gates/policy/default-policies.js.map +1 -0
  251. package/dist/quality-gates/policy/index.d.ts +9 -0
  252. package/dist/quality-gates/policy/index.d.ts.map +1 -0
  253. package/dist/quality-gates/policy/index.js +9 -0
  254. package/dist/quality-gates/policy/index.js.map +1 -0
  255. package/dist/quality-gates/policy/policy-evaluator.d.ts +43 -0
  256. package/dist/quality-gates/policy/policy-evaluator.d.ts.map +1 -0
  257. package/dist/quality-gates/policy/policy-evaluator.js +136 -0
  258. package/dist/quality-gates/policy/policy-evaluator.js.map +1 -0
  259. package/dist/quality-gates/policy/policy-loader.d.ts +72 -0
  260. package/dist/quality-gates/policy/policy-loader.d.ts.map +1 -0
  261. package/dist/quality-gates/policy/policy-loader.js +228 -0
  262. package/dist/quality-gates/policy/policy-loader.js.map +1 -0
  263. package/dist/quality-gates/reporters/github-reporter.d.ts +19 -0
  264. package/dist/quality-gates/reporters/github-reporter.d.ts.map +1 -0
  265. package/dist/quality-gates/reporters/github-reporter.js +49 -0
  266. package/dist/quality-gates/reporters/github-reporter.js.map +1 -0
  267. package/dist/quality-gates/reporters/gitlab-reporter.d.ts +20 -0
  268. package/dist/quality-gates/reporters/gitlab-reporter.d.ts.map +1 -0
  269. package/dist/quality-gates/reporters/gitlab-reporter.js +42 -0
  270. package/dist/quality-gates/reporters/gitlab-reporter.js.map +1 -0
  271. package/dist/quality-gates/reporters/index.d.ts +12 -0
  272. package/dist/quality-gates/reporters/index.d.ts.map +1 -0
  273. package/dist/quality-gates/reporters/index.js +12 -0
  274. package/dist/quality-gates/reporters/index.js.map +1 -0
  275. package/dist/quality-gates/reporters/json-reporter.d.ts +18 -0
  276. package/dist/quality-gates/reporters/json-reporter.d.ts.map +1 -0
  277. package/dist/quality-gates/reporters/json-reporter.js +51 -0
  278. package/dist/quality-gates/reporters/json-reporter.js.map +1 -0
  279. package/dist/quality-gates/reporters/reporter-interface.d.ts +35 -0
  280. package/dist/quality-gates/reporters/reporter-interface.d.ts.map +1 -0
  281. package/dist/quality-gates/reporters/reporter-interface.js +22 -0
  282. package/dist/quality-gates/reporters/reporter-interface.js.map +1 -0
  283. package/dist/quality-gates/reporters/sarif-reporter.d.ts +22 -0
  284. package/dist/quality-gates/reporters/sarif-reporter.d.ts.map +1 -0
  285. package/dist/quality-gates/reporters/sarif-reporter.js +85 -0
  286. package/dist/quality-gates/reporters/sarif-reporter.js.map +1 -0
  287. package/dist/quality-gates/reporters/text-reporter.d.ts +18 -0
  288. package/dist/quality-gates/reporters/text-reporter.d.ts.map +1 -0
  289. package/dist/quality-gates/reporters/text-reporter.js +92 -0
  290. package/dist/quality-gates/reporters/text-reporter.js.map +1 -0
  291. package/dist/quality-gates/store/gate-run-store.d.ts +37 -0
  292. package/dist/quality-gates/store/gate-run-store.d.ts.map +1 -0
  293. package/dist/quality-gates/store/gate-run-store.js +104 -0
  294. package/dist/quality-gates/store/gate-run-store.js.map +1 -0
  295. package/dist/quality-gates/store/index.d.ts +8 -0
  296. package/dist/quality-gates/store/index.d.ts.map +1 -0
  297. package/dist/quality-gates/store/index.js +8 -0
  298. package/dist/quality-gates/store/index.js.map +1 -0
  299. package/dist/quality-gates/store/snapshot-store.d.ts +41 -0
  300. package/dist/quality-gates/store/snapshot-store.d.ts.map +1 -0
  301. package/dist/quality-gates/store/snapshot-store.js +117 -0
  302. package/dist/quality-gates/store/snapshot-store.js.map +1 -0
  303. package/dist/quality-gates/types.d.ts +992 -0
  304. package/dist/quality-gates/types.d.ts.map +1 -0
  305. package/dist/quality-gates/types.js +14 -0
  306. package/dist/quality-gates/types.js.map +1 -0
  307. package/dist/rust/index.d.ts +7 -0
  308. package/dist/rust/index.d.ts.map +1 -0
  309. package/dist/rust/index.js +8 -0
  310. package/dist/rust/index.js.map +1 -0
  311. package/dist/rust/rust-analyzer.d.ts +185 -0
  312. package/dist/rust/rust-analyzer.d.ts.map +1 -0
  313. package/dist/rust/rust-analyzer.js +538 -0
  314. package/dist/rust/rust-analyzer.js.map +1 -0
  315. package/dist/scanner/file-walker.d.ts.map +1 -1
  316. package/dist/scanner/file-walker.js +11 -0
  317. package/dist/scanner/file-walker.js.map +1 -1
  318. package/dist/simulation/simulation-engine.d.ts +6 -0
  319. package/dist/simulation/simulation-engine.d.ts.map +1 -1
  320. package/dist/simulation/simulation-engine.js +6 -0
  321. package/dist/simulation/simulation-engine.js.map +1 -1
  322. package/dist/speculative/types.d.ts +1 -1
  323. package/dist/speculative/types.d.ts.map +1 -1
  324. package/dist/speculative/types.js +2 -0
  325. package/dist/speculative/types.js.map +1 -1
  326. package/dist/store/project-config.d.ts +19 -0
  327. package/dist/store/project-config.d.ts.map +1 -1
  328. package/dist/store/project-config.js.map +1 -1
  329. package/dist/telemetry/index.d.ts +10 -0
  330. package/dist/telemetry/index.d.ts.map +1 -0
  331. package/dist/telemetry/index.js +11 -0
  332. package/dist/telemetry/index.js.map +1 -0
  333. package/dist/telemetry/telemetry-client.d.ts +127 -0
  334. package/dist/telemetry/telemetry-client.d.ts.map +1 -0
  335. package/dist/telemetry/telemetry-client.js +373 -0
  336. package/dist/telemetry/telemetry-client.js.map +1 -0
  337. package/dist/telemetry/types.d.ts +160 -0
  338. package/dist/telemetry/types.d.ts.map +1 -0
  339. package/dist/telemetry/types.js +27 -0
  340. package/dist/telemetry/types.js.map +1 -0
  341. package/dist/test-topology/extractors/cpp-test-extractor.d.ts +38 -0
  342. package/dist/test-topology/extractors/cpp-test-extractor.d.ts.map +1 -0
  343. package/dist/test-topology/extractors/cpp-test-extractor.js +507 -0
  344. package/dist/test-topology/extractors/cpp-test-extractor.js.map +1 -0
  345. package/dist/test-topology/extractors/index.d.ts +2 -0
  346. package/dist/test-topology/extractors/index.d.ts.map +1 -1
  347. package/dist/test-topology/extractors/index.js +2 -0
  348. package/dist/test-topology/extractors/index.js.map +1 -1
  349. package/dist/test-topology/extractors/regex/index.d.ts +1 -0
  350. package/dist/test-topology/extractors/regex/index.d.ts.map +1 -1
  351. package/dist/test-topology/extractors/regex/index.js +4 -0
  352. package/dist/test-topology/extractors/regex/index.js.map +1 -1
  353. package/dist/test-topology/extractors/regex/rust-test-regex.d.ts +66 -0
  354. package/dist/test-topology/extractors/regex/rust-test-regex.d.ts.map +1 -0
  355. package/dist/test-topology/extractors/regex/rust-test-regex.js +565 -0
  356. package/dist/test-topology/extractors/regex/rust-test-regex.js.map +1 -0
  357. package/dist/test-topology/extractors/rust-test-extractor.d.ts +49 -0
  358. package/dist/test-topology/extractors/rust-test-extractor.d.ts.map +1 -0
  359. package/dist/test-topology/extractors/rust-test-extractor.js +422 -0
  360. package/dist/test-topology/extractors/rust-test-extractor.js.map +1 -0
  361. package/dist/test-topology/hybrid-test-topology-analyzer.d.ts.map +1 -1
  362. package/dist/test-topology/hybrid-test-topology-analyzer.js +2 -0
  363. package/dist/test-topology/hybrid-test-topology-analyzer.js.map +1 -1
  364. package/dist/test-topology/test-topology-analyzer.d.ts.map +1 -1
  365. package/dist/test-topology/test-topology-analyzer.js +2 -0
  366. package/dist/test-topology/test-topology-analyzer.js.map +1 -1
  367. package/dist/test-topology/types.d.ts +2 -2
  368. package/dist/test-topology/types.d.ts.map +1 -1
  369. package/dist/unified-provider/integration/unified-scanner.d.ts.map +1 -1
  370. package/dist/unified-provider/integration/unified-scanner.js +3 -0
  371. package/dist/unified-provider/integration/unified-scanner.js.map +1 -1
  372. package/dist/unified-provider/matching/diesel-matcher.d.ts +33 -0
  373. package/dist/unified-provider/matching/diesel-matcher.d.ts.map +1 -0
  374. package/dist/unified-provider/matching/diesel-matcher.js +210 -0
  375. package/dist/unified-provider/matching/diesel-matcher.js.map +1 -0
  376. package/dist/unified-provider/matching/index.d.ts +3 -1
  377. package/dist/unified-provider/matching/index.d.ts.map +1 -1
  378. package/dist/unified-provider/matching/index.js +4 -1
  379. package/dist/unified-provider/matching/index.js.map +1 -1
  380. package/dist/unified-provider/matching/matcher-registry.d.ts.map +1 -1
  381. package/dist/unified-provider/matching/matcher-registry.js +7 -2
  382. package/dist/unified-provider/matching/matcher-registry.js.map +1 -1
  383. package/dist/unified-provider/matching/seaorm-matcher.d.ts +35 -0
  384. package/dist/unified-provider/matching/seaorm-matcher.d.ts.map +1 -0
  385. package/dist/unified-provider/matching/seaorm-matcher.js +200 -0
  386. package/dist/unified-provider/matching/seaorm-matcher.js.map +1 -0
  387. package/dist/unified-provider/matching/sqlx-matcher.d.ts +19 -24
  388. package/dist/unified-provider/matching/sqlx-matcher.d.ts.map +1 -1
  389. package/dist/unified-provider/matching/sqlx-matcher.js +171 -149
  390. package/dist/unified-provider/matching/sqlx-matcher.js.map +1 -1
  391. package/dist/unified-provider/normalization/cpp-normalizer.d.ts +62 -0
  392. package/dist/unified-provider/normalization/cpp-normalizer.d.ts.map +1 -0
  393. package/dist/unified-provider/normalization/cpp-normalizer.js +581 -0
  394. package/dist/unified-provider/normalization/cpp-normalizer.js.map +1 -0
  395. package/dist/unified-provider/normalization/index.d.ts +2 -0
  396. package/dist/unified-provider/normalization/index.d.ts.map +1 -1
  397. package/dist/unified-provider/normalization/index.js +11 -1
  398. package/dist/unified-provider/normalization/index.js.map +1 -1
  399. package/dist/unified-provider/normalization/rust-normalizer.d.ts +71 -0
  400. package/dist/unified-provider/normalization/rust-normalizer.d.ts.map +1 -0
  401. package/dist/unified-provider/normalization/rust-normalizer.js +670 -0
  402. package/dist/unified-provider/normalization/rust-normalizer.js.map +1 -0
  403. package/dist/unified-provider/parsing/parser-registry.d.ts.map +1 -1
  404. package/dist/unified-provider/parsing/parser-registry.js +62 -1
  405. package/dist/unified-provider/parsing/parser-registry.js.map +1 -1
  406. package/dist/unified-provider/provider/unified-language-provider.js +1 -1
  407. package/dist/unified-provider/provider/unified-language-provider.js.map +1 -1
  408. package/dist/unified-provider/types.d.ts +1 -1
  409. package/dist/unified-provider/types.d.ts.map +1 -1
  410. package/dist/wrappers/index.d.ts.map +1 -1
  411. package/dist/wrappers/index.js +2 -0
  412. package/dist/wrappers/index.js.map +1 -1
  413. package/dist/wrappers/integration/adapter.d.ts.map +1 -1
  414. package/dist/wrappers/integration/adapter.js +2 -0
  415. package/dist/wrappers/integration/adapter.js.map +1 -1
  416. package/dist/wrappers/integration/scanner.d.ts.map +1 -1
  417. package/dist/wrappers/integration/scanner.js +2 -0
  418. package/dist/wrappers/integration/scanner.js.map +1 -1
  419. package/dist/wrappers/primitives/registry.d.ts +18 -0
  420. package/dist/wrappers/primitives/registry.d.ts.map +1 -1
  421. package/dist/wrappers/primitives/registry.js +190 -0
  422. package/dist/wrappers/primitives/registry.js.map +1 -1
  423. package/dist/wrappers/types.d.ts +1 -1
  424. package/dist/wrappers/types.d.ts.map +1 -1
  425. package/package.json +5 -2
  426. package/LICENSE +0 -21
  427. package/dist/lake/lake.bak/index-store.d.ts +0 -82
  428. package/dist/lake/lake.bak/index-store.d.ts.map +0 -1
  429. package/dist/lake/lake.bak/index-store.js +0 -357
  430. package/dist/lake/lake.bak/index-store.js.map +0 -1
  431. package/dist/lake/lake.bak/index.d.ts +0 -81
  432. package/dist/lake/lake.bak/index.d.ts.map +0 -1
  433. package/dist/lake/lake.bak/index.js +0 -114
  434. package/dist/lake/lake.bak/index.js.map +0 -1
  435. package/dist/lake/lake.bak/manifest-store.d.ts +0 -51
  436. package/dist/lake/lake.bak/manifest-store.d.ts.map +0 -1
  437. package/dist/lake/lake.bak/manifest-store.js +0 -347
  438. package/dist/lake/lake.bak/manifest-store.js.map +0 -1
  439. package/dist/lake/lake.bak/query-engine.d.ts +0 -112
  440. package/dist/lake/lake.bak/query-engine.d.ts.map +0 -1
  441. package/dist/lake/lake.bak/query-engine.js +0 -370
  442. package/dist/lake/lake.bak/query-engine.js.map +0 -1
  443. package/dist/lake/lake.bak/types.d.ts +0 -428
  444. package/dist/lake/lake.bak/types.d.ts.map +0 -1
  445. package/dist/lake/lake.bak/types.js +0 -46
  446. package/dist/lake/lake.bak/types.js.map +0 -1
  447. package/dist/lake/lake.bak/view-materializer.d.ts +0 -70
  448. package/dist/lake/lake.bak/view-materializer.d.ts.map +0 -1
  449. package/dist/lake/lake.bak/view-materializer.js +0 -314
  450. package/dist/lake/lake.bak/view-materializer.js.map +0 -1
  451. package/dist/lake/lake.bak/view-store.d.ts +0 -57
  452. package/dist/lake/lake.bak/view-store.d.ts.map +0 -1
  453. package/dist/lake/lake.bak/view-store.js +0 -348
  454. package/dist/lake/lake.bak/view-store.js.map +0 -1
  455. package/dist/unified-provider/migration/deprecated-extractors.d.ts +0 -104
  456. package/dist/unified-provider/migration/deprecated-extractors.d.ts.map +0 -1
  457. package/dist/unified-provider/migration/deprecated-extractors.js +0 -129
  458. package/dist/unified-provider/migration/deprecated-extractors.js.map +0 -1
  459. package/dist/unified-provider/migration/deprecated-scanner.d.ts +0 -40
  460. package/dist/unified-provider/migration/deprecated-scanner.d.ts.map +0 -1
  461. package/dist/unified-provider/migration/deprecated-scanner.js +0 -49
  462. package/dist/unified-provider/migration/deprecated-scanner.js.map +0 -1
  463. package/dist/unified-provider/migration/index.d.ts +0 -41
  464. package/dist/unified-provider/migration/index.d.ts.map +0 -1
  465. package/dist/unified-provider/migration/index.js +0 -43
  466. package/dist/unified-provider/migration/index.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parallel-executor.js","sourceRoot":"","sources":["../../../src/quality-gates/orchestrator/parallel-executor.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH;;GAEG;AACH,MAAM,OAAO,gBAAgB;IAC3B;;OAEG;IACH,KAAK,CAAC,OAAO,CACX,MAAmD,EACnD,QAAsB;QAEtB,8BAA8B;QAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAEhD,MAAM,OAAO,GAAkD,EAAE,CAAC;QAElE,iEAAiE;QACjE,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,GAAG,CACpC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE;gBACpC,IAAI,CAAC;oBACH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;oBACxC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;oBACzC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;gBAC5B,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,4CAA4C;oBAC5C,OAAO;wBACL,MAAM;wBACN,MAAM,EAAE;4BACN,MAAM;4BACN,QAAQ,EAAE,MAAM;4BAChB,MAAM,EAAE,SAAkB;4BAC1B,MAAM,EAAE,IAAI,EAAE,gCAAgC;4BAC9C,KAAK,EAAE,CAAC;4BACR,OAAO,EAAE,2BAA2B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;4BAC5F,UAAU,EAAE,EAAE;4BACd,QAAQ,EAAE,CAAC,QAAQ,MAAM,oBAAoB,CAAC;4BAC9C,eAAe,EAAE,CAAC;4BAClB,OAAO,EAAE,EAAE;4BACX,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;yBAC9D;qBACF,CAAC;gBACJ,CAAC;YACH,CAAC,CAAC,CACH,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC;QAChC,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;;;OAOG;IACK,mBAAmB,CACzB,MAAmD;QAEnD,6DAA6D;QAC7D,mDAAmD;QACnD,GAAG;QACH,iDAAiD;QACjD,oEAAoE;QACpE,gEAAgE;QAChE,OAAO,CAAC,MAAM,CAAC,CAAC;IAClB,CAAC;CACF"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Result Aggregator
3
+ *
4
+ * @license Apache-2.0
5
+ *
6
+ * Aggregates gate results into a final quality gate result.
7
+ */
8
+ import type { QualityGateResult, QualityGateOptions, QualityPolicy, GateId, GateResult, GateStatus } from '../types.js';
9
+ /**
10
+ * Aggregates gate results into a final quality gate result.
11
+ */
12
+ export declare class ResultAggregator {
13
+ /**
14
+ * Aggregate gate results.
15
+ */
16
+ aggregate(gateResults: Record<GateId, GateResult>, evaluation: {
17
+ passed: boolean;
18
+ status: GateStatus;
19
+ score: number;
20
+ summary: string;
21
+ }, policy: QualityPolicy, context: {
22
+ files: string[];
23
+ startTime: number;
24
+ options: QualityGateOptions;
25
+ }): QualityGateResult;
26
+ }
27
+ //# sourceMappingURL=result-aggregator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"result-aggregator.d.ts","sourceRoot":"","sources":["../../../src/quality-gates/orchestrator/result-aggregator.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,iBAAiB,EACjB,kBAAkB,EAClB,aAAa,EACb,MAAM,EACN,UAAU,EAEV,UAAU,EACX,MAAM,aAAa,CAAC;AAErB;;GAEG;AACH,qBAAa,gBAAgB;IAC3B;;OAEG;IACH,SAAS,CACP,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,EACvC,UAAU,EAAE;QACV,MAAM,EAAE,OAAO,CAAC;QAChB,MAAM,EAAE,UAAU,CAAC;QACnB,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;KACjB,EACD,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE;QACP,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,kBAAkB,CAAC;KAC7B,GACA,iBAAiB;CA2DrB"}
@@ -0,0 +1,70 @@
1
+ /**
2
+ * Result Aggregator
3
+ *
4
+ * @license Apache-2.0
5
+ *
6
+ * Aggregates gate results into a final quality gate result.
7
+ */
8
+ /**
9
+ * Aggregates gate results into a final quality gate result.
10
+ */
11
+ export class ResultAggregator {
12
+ /**
13
+ * Aggregate gate results.
14
+ */
15
+ aggregate(gateResults, evaluation, policy, context) {
16
+ // Collect all violations
17
+ const violations = [];
18
+ for (const result of Object.values(gateResults)) {
19
+ violations.push(...result.violations);
20
+ }
21
+ // Sort violations by severity (errors first)
22
+ violations.sort((a, b) => {
23
+ const severityOrder = { error: 0, warning: 1, info: 2, hint: 3 };
24
+ return (severityOrder[a.severity] ?? 4) - (severityOrder[b.severity] ?? 4);
25
+ });
26
+ // Collect all warnings
27
+ const warnings = [];
28
+ for (const result of Object.values(gateResults)) {
29
+ warnings.push(...result.warnings);
30
+ }
31
+ // Determine gates run and skipped
32
+ const gatesRun = Object.keys(gateResults);
33
+ const allGates = [
34
+ 'pattern-compliance',
35
+ 'constraint-verification',
36
+ 'regression-detection',
37
+ 'impact-simulation',
38
+ 'security-boundary',
39
+ 'custom-rules',
40
+ ];
41
+ const gatesSkipped = allGates.filter(g => !gatesRun.includes(g));
42
+ // Determine exit code
43
+ const exitCode = evaluation.passed ? 0 : 1;
44
+ return {
45
+ passed: evaluation.passed,
46
+ status: evaluation.status,
47
+ score: evaluation.score,
48
+ summary: evaluation.summary,
49
+ gates: gateResults,
50
+ violations,
51
+ warnings,
52
+ policy: {
53
+ id: policy.id,
54
+ name: policy.name,
55
+ },
56
+ metadata: {
57
+ executionTimeMs: Date.now() - context.startTime,
58
+ filesChecked: context.files.length,
59
+ gatesRun,
60
+ gatesSkipped,
61
+ timestamp: new Date().toISOString(),
62
+ branch: context.options.branch ?? 'main',
63
+ ...(context.options.commitSha ? { commitSha: context.options.commitSha } : {}),
64
+ ci: context.options.ci ?? false,
65
+ },
66
+ exitCode,
67
+ };
68
+ }
69
+ }
70
+ //# sourceMappingURL=result-aggregator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"result-aggregator.js","sourceRoot":"","sources":["../../../src/quality-gates/orchestrator/result-aggregator.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAYH;;GAEG;AACH,MAAM,OAAO,gBAAgB;IAC3B;;OAEG;IACH,SAAS,CACP,WAAuC,EACvC,UAKC,EACD,MAAqB,EACrB,OAIC;QAED,yBAAyB;QACzB,MAAM,UAAU,GAAoB,EAAE,CAAC;QACvC,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;YAChD,UAAU,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;QACxC,CAAC;QAED,6CAA6C;QAC7C,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACvB,MAAM,aAAa,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;YACjE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7E,CAAC,CAAC,CAAC;QAEH,uBAAuB;QACvB,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;YAChD,QAAQ,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;QACpC,CAAC;QAED,kCAAkC;QAClC,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAa,CAAC;QACtD,MAAM,QAAQ,GAAa;YACzB,oBAAoB;YACpB,yBAAyB;YACzB,sBAAsB;YACtB,mBAAmB;YACnB,mBAAmB;YACnB,cAAc;SACf,CAAC;QACF,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAEjE,sBAAsB;QACtB,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAE3C,OAAO;YACL,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,KAAK,EAAE,UAAU,CAAC,KAAK;YACvB,OAAO,EAAE,UAAU,CAAC,OAAO;YAC3B,KAAK,EAAE,WAAW;YAClB,UAAU;YACV,QAAQ;YACR,MAAM,EAAE;gBACN,EAAE,EAAE,MAAM,CAAC,EAAE;gBACb,IAAI,EAAE,MAAM,CAAC,IAAI;aAClB;YACD,QAAQ,EAAE;gBACR,eAAe,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,SAAS;gBAC/C,YAAY,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM;gBAClC,QAAQ;gBACR,YAAY;gBACZ,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,IAAI,MAAM;gBACxC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC9E,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,KAAK;aAChC;YACD,QAAQ;SACT,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Default Policies
3
+ *
4
+ * @license Apache-2.0
5
+ *
6
+ * Built-in default policies for quality gates.
7
+ * These provide sensible defaults for common use cases.
8
+ */
9
+ import type { QualityPolicy } from '../types.js';
10
+ /**
11
+ * Built-in default policies.
12
+ */
13
+ export declare const DEFAULT_POLICIES: Record<string, QualityPolicy>;
14
+ //# sourceMappingURL=default-policies.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-policies.d.ts","sourceRoot":"","sources":["../../../src/quality-gates/policy/default-policies.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAgQ1D,CAAC"}
@@ -0,0 +1,266 @@
1
+ /**
2
+ * Default Policies
3
+ *
4
+ * @license Apache-2.0
5
+ *
6
+ * Built-in default policies for quality gates.
7
+ * These provide sensible defaults for common use cases.
8
+ */
9
+ /**
10
+ * Built-in default policies.
11
+ */
12
+ export const DEFAULT_POLICIES = {
13
+ /**
14
+ * Default policy - balanced settings for most projects.
15
+ */
16
+ default: {
17
+ id: 'default',
18
+ name: 'Default Policy',
19
+ description: 'Balanced quality gate settings for most projects',
20
+ version: '1.0.0',
21
+ scope: {},
22
+ gates: {
23
+ 'pattern-compliance': {
24
+ enabled: true,
25
+ blocking: true,
26
+ minComplianceRate: 80,
27
+ maxNewOutliers: 0,
28
+ categories: [],
29
+ minPatternConfidence: 0.7,
30
+ approvedOnly: true,
31
+ },
32
+ 'constraint-verification': {
33
+ enabled: true,
34
+ blocking: true,
35
+ enforceApproved: true,
36
+ enforceDiscovered: false,
37
+ minConfidence: 0.9,
38
+ categories: [],
39
+ },
40
+ 'regression-detection': {
41
+ enabled: true,
42
+ blocking: false, // Warn only by default
43
+ maxConfidenceDrop: 5,
44
+ maxComplianceDrop: 10,
45
+ maxNewOutliersPerPattern: 3,
46
+ criticalCategories: ['auth', 'security'],
47
+ baseline: 'branch-base',
48
+ },
49
+ 'impact-simulation': {
50
+ enabled: true,
51
+ blocking: false, // Warn only by default
52
+ maxFilesAffected: 20,
53
+ maxFunctionsAffected: 50,
54
+ maxEntryPointsAffected: 10,
55
+ maxFrictionScore: 60,
56
+ analyzeSensitiveData: true,
57
+ },
58
+ 'security-boundary': {
59
+ enabled: true,
60
+ blocking: true,
61
+ allowNewSensitiveAccess: false,
62
+ protectedTables: ['users', 'payments', 'credentials', 'tokens'],
63
+ maxDataFlowDepth: 5,
64
+ requiredAuthPatterns: ['authenticate', 'authorize', 'checkAuth', 'requireAuth'],
65
+ },
66
+ 'custom-rules': {
67
+ enabled: false,
68
+ blocking: true,
69
+ ruleFiles: [],
70
+ inlineRules: [],
71
+ useBuiltInRules: false,
72
+ },
73
+ },
74
+ aggregation: {
75
+ mode: 'any',
76
+ requiredGates: ['pattern-compliance'],
77
+ },
78
+ actions: {
79
+ onPass: [],
80
+ onFail: [],
81
+ onWarn: [],
82
+ },
83
+ metadata: {
84
+ createdAt: '2026-01-25T00:00:00Z',
85
+ updatedAt: '2026-01-25T00:00:00Z',
86
+ },
87
+ },
88
+ /**
89
+ * Strict policy - for main/release branches.
90
+ */
91
+ strict: {
92
+ id: 'strict',
93
+ name: 'Strict Policy',
94
+ description: 'Strict quality gate settings for main/release branches',
95
+ version: '1.0.0',
96
+ scope: {
97
+ branches: ['main', 'master', 'release/*'],
98
+ },
99
+ gates: {
100
+ 'pattern-compliance': {
101
+ enabled: true,
102
+ blocking: true,
103
+ minComplianceRate: 90,
104
+ maxNewOutliers: 0,
105
+ categories: [],
106
+ minPatternConfidence: 0.8,
107
+ approvedOnly: true,
108
+ },
109
+ 'constraint-verification': {
110
+ enabled: true,
111
+ blocking: true,
112
+ enforceApproved: true,
113
+ enforceDiscovered: true, // Also enforce discovered
114
+ minConfidence: 0.85,
115
+ categories: [],
116
+ },
117
+ 'regression-detection': {
118
+ enabled: true,
119
+ blocking: true, // Block on regressions
120
+ maxConfidenceDrop: 2,
121
+ maxComplianceDrop: 5,
122
+ maxNewOutliersPerPattern: 1,
123
+ criticalCategories: ['auth', 'security', 'api'],
124
+ baseline: 'branch-base',
125
+ },
126
+ 'impact-simulation': {
127
+ enabled: true,
128
+ blocking: true, // Block on high impact
129
+ maxFilesAffected: 15,
130
+ maxFunctionsAffected: 30,
131
+ maxEntryPointsAffected: 5,
132
+ maxFrictionScore: 40,
133
+ analyzeSensitiveData: true,
134
+ },
135
+ 'security-boundary': {
136
+ enabled: true,
137
+ blocking: true,
138
+ allowNewSensitiveAccess: false,
139
+ protectedTables: ['users', 'payments', 'credentials', 'tokens', 'sessions'],
140
+ maxDataFlowDepth: 3,
141
+ requiredAuthPatterns: ['authenticate', 'authorize', 'checkAuth', 'requireAuth'],
142
+ },
143
+ 'custom-rules': {
144
+ enabled: true,
145
+ blocking: true,
146
+ ruleFiles: [],
147
+ inlineRules: [],
148
+ useBuiltInRules: true,
149
+ },
150
+ },
151
+ aggregation: {
152
+ mode: 'any',
153
+ requiredGates: ['pattern-compliance', 'security-boundary'],
154
+ },
155
+ actions: {
156
+ onPass: [],
157
+ onFail: [],
158
+ onWarn: [],
159
+ },
160
+ metadata: {
161
+ createdAt: '2026-01-25T00:00:00Z',
162
+ updatedAt: '2026-01-25T00:00:00Z',
163
+ },
164
+ },
165
+ /**
166
+ * Relaxed policy - for feature branches.
167
+ */
168
+ relaxed: {
169
+ id: 'relaxed',
170
+ name: 'Relaxed Policy',
171
+ description: 'Relaxed quality gate settings for feature branches',
172
+ version: '1.0.0',
173
+ scope: {
174
+ branches: ['feature/*', 'fix/*', 'chore/*'],
175
+ },
176
+ gates: {
177
+ 'pattern-compliance': {
178
+ enabled: true,
179
+ blocking: true,
180
+ minComplianceRate: 70,
181
+ maxNewOutliers: 3,
182
+ categories: [],
183
+ minPatternConfidence: 0.6,
184
+ approvedOnly: true,
185
+ },
186
+ 'constraint-verification': {
187
+ enabled: true,
188
+ blocking: false, // Warn only
189
+ enforceApproved: true,
190
+ enforceDiscovered: false,
191
+ minConfidence: 0.9,
192
+ categories: [],
193
+ },
194
+ 'regression-detection': 'skip',
195
+ 'impact-simulation': {
196
+ enabled: true,
197
+ blocking: false, // Warn only
198
+ maxFilesAffected: 50,
199
+ maxFunctionsAffected: 100,
200
+ maxEntryPointsAffected: 20,
201
+ maxFrictionScore: 80,
202
+ analyzeSensitiveData: false,
203
+ },
204
+ 'security-boundary': {
205
+ enabled: true,
206
+ blocking: true, // Still block on security
207
+ allowNewSensitiveAccess: true, // But allow new access
208
+ protectedTables: ['users', 'payments', 'credentials'],
209
+ maxDataFlowDepth: 10,
210
+ requiredAuthPatterns: ['authenticate', 'authorize'],
211
+ },
212
+ 'custom-rules': 'skip',
213
+ },
214
+ aggregation: {
215
+ mode: 'any',
216
+ },
217
+ actions: {
218
+ onPass: [],
219
+ onFail: [],
220
+ onWarn: [],
221
+ },
222
+ metadata: {
223
+ createdAt: '2026-01-25T00:00:00Z',
224
+ updatedAt: '2026-01-25T00:00:00Z',
225
+ },
226
+ },
227
+ /**
228
+ * CI-only policy - minimal checks for fast CI.
229
+ */
230
+ 'ci-fast': {
231
+ id: 'ci-fast',
232
+ name: 'CI Fast Policy',
233
+ description: 'Minimal checks for fast CI feedback',
234
+ version: '1.0.0',
235
+ scope: {},
236
+ gates: {
237
+ 'pattern-compliance': {
238
+ enabled: true,
239
+ blocking: true,
240
+ minComplianceRate: 70,
241
+ maxNewOutliers: 5,
242
+ categories: [],
243
+ minPatternConfidence: 0.7,
244
+ approvedOnly: true,
245
+ },
246
+ 'constraint-verification': 'skip',
247
+ 'regression-detection': 'skip',
248
+ 'impact-simulation': 'skip',
249
+ 'security-boundary': 'skip',
250
+ 'custom-rules': 'skip',
251
+ },
252
+ aggregation: {
253
+ mode: 'any',
254
+ },
255
+ actions: {
256
+ onPass: [],
257
+ onFail: [],
258
+ onWarn: [],
259
+ },
260
+ metadata: {
261
+ createdAt: '2026-01-25T00:00:00Z',
262
+ updatedAt: '2026-01-25T00:00:00Z',
263
+ },
264
+ },
265
+ };
266
+ //# sourceMappingURL=default-policies.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-policies.js","sourceRoot":"","sources":["../../../src/quality-gates/policy/default-policies.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Policy Module - Exports
3
+ *
4
+ * @license Apache-2.0
5
+ */
6
+ export { PolicyLoader } from './policy-loader.js';
7
+ export { PolicyEvaluator } from './policy-evaluator.js';
8
+ export { DEFAULT_POLICIES } from './default-policies.js';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/quality-gates/policy/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Policy Module - Exports
3
+ *
4
+ * @license Apache-2.0
5
+ */
6
+ export { PolicyLoader } from './policy-loader.js';
7
+ export { PolicyEvaluator } from './policy-evaluator.js';
8
+ export { DEFAULT_POLICIES } from './default-policies.js';
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/quality-gates/policy/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Policy Evaluator
3
+ *
4
+ * @license Apache-2.0
5
+ *
6
+ * Evaluates gate results against a policy to determine overall pass/fail.
7
+ */
8
+ import type { QualityPolicy, GateResult, GateId, GateStatus } from '../types.js';
9
+ /**
10
+ * Evaluates gate results against a policy to determine overall pass/fail.
11
+ */
12
+ export declare class PolicyEvaluator {
13
+ /**
14
+ * Evaluate gate results against a policy.
15
+ */
16
+ evaluate(gateResults: Record<GateId, GateResult>, policy: QualityPolicy): {
17
+ passed: boolean;
18
+ status: GateStatus;
19
+ score: number;
20
+ summary: string;
21
+ };
22
+ /**
23
+ * Any gate failure = overall failure.
24
+ */
25
+ private evaluateAny;
26
+ /**
27
+ * All gates must fail for overall failure.
28
+ */
29
+ private evaluateAll;
30
+ /**
31
+ * Weighted average of gate scores.
32
+ */
33
+ private evaluateWeighted;
34
+ /**
35
+ * Overall score must meet threshold.
36
+ */
37
+ private evaluateThreshold;
38
+ /**
39
+ * Calculate overall score from gate results.
40
+ */
41
+ private calculateScore;
42
+ }
43
+ //# sourceMappingURL=policy-evaluator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"policy-evaluator.d.ts","sourceRoot":"","sources":["../../../src/quality-gates/policy/policy-evaluator.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,aAAa,EACb,UAAU,EACV,MAAM,EACN,UAAU,EAEX,MAAM,aAAa,CAAC;AAErB;;GAEG;AACH,qBAAa,eAAe;IAC1B;;OAEG;IACH,QAAQ,CACN,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,EACvC,MAAM,EAAE,aAAa,GACpB;QACD,MAAM,EAAE,OAAO,CAAC;QAChB,MAAM,EAAE,UAAU,CAAC;QACnB,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;KACjB;IAiCD;;OAEG;IACH,OAAO,CAAC,WAAW;IA2BnB;;OAEG;IACH,OAAO,CAAC,WAAW;IAkBnB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA0BxB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAgBzB;;OAEG;IACH,OAAO,CAAC,cAAc;CAmBvB"}
@@ -0,0 +1,136 @@
1
+ /**
2
+ * Policy Evaluator
3
+ *
4
+ * @license Apache-2.0
5
+ *
6
+ * Evaluates gate results against a policy to determine overall pass/fail.
7
+ */
8
+ /**
9
+ * Evaluates gate results against a policy to determine overall pass/fail.
10
+ */
11
+ export class PolicyEvaluator {
12
+ /**
13
+ * Evaluate gate results against a policy.
14
+ */
15
+ evaluate(gateResults, policy) {
16
+ const aggregation = policy.aggregation;
17
+ // Check required gates first
18
+ if (aggregation.requiredGates) {
19
+ for (const gateId of aggregation.requiredGates) {
20
+ const result = gateResults[gateId];
21
+ if (result && !result.passed) {
22
+ return {
23
+ passed: false,
24
+ status: 'failed',
25
+ score: this.calculateScore(gateResults, aggregation),
26
+ summary: `Required gate failed: ${result.gateName}`,
27
+ };
28
+ }
29
+ }
30
+ }
31
+ // Evaluate based on aggregation mode
32
+ switch (aggregation.mode) {
33
+ case 'any':
34
+ return this.evaluateAny(gateResults, aggregation);
35
+ case 'all':
36
+ return this.evaluateAll(gateResults, aggregation);
37
+ case 'weighted':
38
+ return this.evaluateWeighted(gateResults, aggregation);
39
+ case 'threshold':
40
+ return this.evaluateThreshold(gateResults, aggregation);
41
+ default:
42
+ return this.evaluateAny(gateResults, aggregation);
43
+ }
44
+ }
45
+ /**
46
+ * Any gate failure = overall failure.
47
+ */
48
+ evaluateAny(gateResults, aggregation) {
49
+ const results = Object.values(gateResults);
50
+ const failed = results.filter(r => r.status === 'failed');
51
+ const warned = results.filter(r => r.status === 'warned');
52
+ const passed = failed.length === 0;
53
+ const status = failed.length > 0 ? 'failed' :
54
+ warned.length > 0 ? 'warned' : 'passed';
55
+ const score = this.calculateScore(gateResults, aggregation);
56
+ let summary;
57
+ if (passed) {
58
+ if (warned.length > 0) {
59
+ summary = `All gates passed with ${warned.length} warning${warned.length === 1 ? '' : 's'} (${results.length} gates)`;
60
+ }
61
+ else {
62
+ summary = `All gates passed (${results.length} gates)`;
63
+ }
64
+ }
65
+ else {
66
+ summary = `${failed.length} gate${failed.length === 1 ? '' : 's'} failed: ${failed.map(f => f.gateName).join(', ')}`;
67
+ }
68
+ return { passed, status, score, summary };
69
+ }
70
+ /**
71
+ * All gates must fail for overall failure.
72
+ */
73
+ evaluateAll(gateResults, aggregation) {
74
+ const results = Object.values(gateResults);
75
+ const passed = results.filter(r => r.passed);
76
+ const overallPassed = passed.length > 0;
77
+ const status = overallPassed ? 'passed' : 'failed';
78
+ const score = this.calculateScore(gateResults, aggregation);
79
+ const summary = overallPassed
80
+ ? `${passed.length}/${results.length} gates passed`
81
+ : 'All gates failed';
82
+ return { passed: overallPassed, status, score, summary };
83
+ }
84
+ /**
85
+ * Weighted average of gate scores.
86
+ */
87
+ evaluateWeighted(gateResults, aggregation) {
88
+ const weights = aggregation.weights ?? {};
89
+ let totalWeight = 0;
90
+ let weightedScore = 0;
91
+ for (const [gateId, result] of Object.entries(gateResults)) {
92
+ const weight = weights[gateId] ?? 1;
93
+ totalWeight += weight;
94
+ weightedScore += result.score * weight;
95
+ }
96
+ const score = totalWeight > 0 ? Math.round(weightedScore / totalWeight) : 100;
97
+ const minScore = aggregation.minScore ?? 70;
98
+ const passed = score >= minScore;
99
+ const status = passed ? 'passed' : 'failed';
100
+ const summary = passed
101
+ ? `Weighted score: ${score}/100 (min: ${minScore})`
102
+ : `Weighted score below threshold: ${score}/100 (min: ${minScore})`;
103
+ return { passed, status, score, summary };
104
+ }
105
+ /**
106
+ * Overall score must meet threshold.
107
+ */
108
+ evaluateThreshold(gateResults, aggregation) {
109
+ const score = this.calculateScore(gateResults, aggregation);
110
+ const minScore = aggregation.minScore ?? 70;
111
+ const passed = score >= minScore;
112
+ const status = passed ? 'passed' : 'failed';
113
+ const summary = passed
114
+ ? `Score: ${score}/100 (min: ${minScore})`
115
+ : `Score below threshold: ${score}/100 (min: ${minScore})`;
116
+ return { passed, status, score, summary };
117
+ }
118
+ /**
119
+ * Calculate overall score from gate results.
120
+ */
121
+ calculateScore(gateResults, aggregation) {
122
+ const results = Object.values(gateResults);
123
+ if (results.length === 0)
124
+ return 100;
125
+ const weights = aggregation.weights ?? {};
126
+ let totalWeight = 0;
127
+ let weightedScore = 0;
128
+ for (const [gateId, result] of Object.entries(gateResults)) {
129
+ const weight = weights[gateId] ?? 1;
130
+ totalWeight += weight;
131
+ weightedScore += result.score * weight;
132
+ }
133
+ return totalWeight > 0 ? Math.round(weightedScore / totalWeight) : 100;
134
+ }
135
+ }
136
+ //# sourceMappingURL=policy-evaluator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"policy-evaluator.js","sourceRoot":"","sources":["../../../src/quality-gates/policy/policy-evaluator.ts"],"names":[],"mappings":"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"}