driftdetect-core 0.5.0 → 0.6.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 (350) 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 +1 -0
  5. package/dist/call-graph/analysis/graph-builder.js.map +1 -1
  6. package/dist/call-graph/extractors/go-data-access-extractor.d.ts +80 -0
  7. package/dist/call-graph/extractors/go-data-access-extractor.d.ts.map +1 -0
  8. package/dist/call-graph/extractors/go-data-access-extractor.js +457 -0
  9. package/dist/call-graph/extractors/go-data-access-extractor.js.map +1 -0
  10. package/dist/call-graph/extractors/go-extractor.d.ts +103 -0
  11. package/dist/call-graph/extractors/go-extractor.d.ts.map +1 -0
  12. package/dist/call-graph/extractors/go-extractor.js +509 -0
  13. package/dist/call-graph/extractors/go-extractor.js.map +1 -0
  14. package/dist/call-graph/extractors/go-hybrid-extractor.d.ts +97 -0
  15. package/dist/call-graph/extractors/go-hybrid-extractor.d.ts.map +1 -0
  16. package/dist/call-graph/extractors/go-hybrid-extractor.js +496 -0
  17. package/dist/call-graph/extractors/go-hybrid-extractor.js.map +1 -0
  18. package/dist/call-graph/extractors/regex/go-regex.d.ts +51 -0
  19. package/dist/call-graph/extractors/regex/go-regex.d.ts.map +1 -0
  20. package/dist/call-graph/extractors/regex/go-regex.js +435 -0
  21. package/dist/call-graph/extractors/regex/go-regex.js.map +1 -0
  22. package/dist/call-graph/extractors/regex/index.d.ts +1 -0
  23. package/dist/call-graph/extractors/regex/index.d.ts.map +1 -1
  24. package/dist/call-graph/extractors/regex/index.js +8 -0
  25. package/dist/call-graph/extractors/regex/index.js.map +1 -1
  26. package/dist/call-graph/index.d.ts +3 -0
  27. package/dist/call-graph/index.d.ts.map +1 -1
  28. package/dist/call-graph/index.js +5 -0
  29. package/dist/call-graph/index.js.map +1 -1
  30. package/dist/call-graph/types.d.ts +1 -1
  31. package/dist/call-graph/types.d.ts.map +1 -1
  32. package/dist/constraints/extraction/constraint-synthesizer.d.ts +72 -0
  33. package/dist/constraints/extraction/constraint-synthesizer.d.ts.map +1 -0
  34. package/dist/constraints/extraction/constraint-synthesizer.js +336 -0
  35. package/dist/constraints/extraction/constraint-synthesizer.js.map +1 -0
  36. package/dist/constraints/extraction/index.d.ts +10 -0
  37. package/dist/constraints/extraction/index.d.ts.map +1 -0
  38. package/dist/constraints/extraction/index.js +10 -0
  39. package/dist/constraints/extraction/index.js.map +1 -0
  40. package/dist/constraints/extraction/invariant-detector.d.ts +109 -0
  41. package/dist/constraints/extraction/invariant-detector.d.ts.map +1 -0
  42. package/dist/constraints/extraction/invariant-detector.js +979 -0
  43. package/dist/constraints/extraction/invariant-detector.js.map +1 -0
  44. package/dist/constraints/index.d.ts +15 -0
  45. package/dist/constraints/index.d.ts.map +1 -0
  46. package/dist/constraints/index.js +16 -0
  47. package/dist/constraints/index.js.map +1 -0
  48. package/dist/constraints/store/constraint-store.d.ts +110 -0
  49. package/dist/constraints/store/constraint-store.d.ts.map +1 -0
  50. package/dist/constraints/store/constraint-store.js +584 -0
  51. package/dist/constraints/store/constraint-store.js.map +1 -0
  52. package/dist/constraints/types.d.ts +605 -0
  53. package/dist/constraints/types.d.ts.map +1 -0
  54. package/dist/constraints/types.js +57 -0
  55. package/dist/constraints/types.js.map +1 -0
  56. package/dist/constraints/verification/constraint-verifier.d.ts +100 -0
  57. package/dist/constraints/verification/constraint-verifier.d.ts.map +1 -0
  58. package/dist/constraints/verification/constraint-verifier.js +638 -0
  59. package/dist/constraints/verification/constraint-verifier.js.map +1 -0
  60. package/dist/constraints/verification/index.d.ts +8 -0
  61. package/dist/constraints/verification/index.d.ts.map +1 -0
  62. package/dist/constraints/verification/index.js +8 -0
  63. package/dist/constraints/verification/index.js.map +1 -0
  64. package/dist/decisions/analyzer/decision-mining-analyzer.d.ts +121 -0
  65. package/dist/decisions/analyzer/decision-mining-analyzer.d.ts.map +1 -0
  66. package/dist/decisions/analyzer/decision-mining-analyzer.js +904 -0
  67. package/dist/decisions/analyzer/decision-mining-analyzer.js.map +1 -0
  68. package/dist/decisions/analyzer/index.d.ts +5 -0
  69. package/dist/decisions/analyzer/index.d.ts.map +1 -0
  70. package/dist/decisions/analyzer/index.js +5 -0
  71. package/dist/decisions/analyzer/index.js.map +1 -0
  72. package/dist/decisions/extractors/base-commit-extractor.d.ts +104 -0
  73. package/dist/decisions/extractors/base-commit-extractor.d.ts.map +1 -0
  74. package/dist/decisions/extractors/base-commit-extractor.js +305 -0
  75. package/dist/decisions/extractors/base-commit-extractor.js.map +1 -0
  76. package/dist/decisions/extractors/csharp-commit-extractor.d.ts +18 -0
  77. package/dist/decisions/extractors/csharp-commit-extractor.d.ts.map +1 -0
  78. package/dist/decisions/extractors/csharp-commit-extractor.js +281 -0
  79. package/dist/decisions/extractors/csharp-commit-extractor.js.map +1 -0
  80. package/dist/decisions/extractors/index.d.ts +31 -0
  81. package/dist/decisions/extractors/index.d.ts.map +1 -0
  82. package/dist/decisions/extractors/index.js +63 -0
  83. package/dist/decisions/extractors/index.js.map +1 -0
  84. package/dist/decisions/extractors/java-commit-extractor.d.ts +18 -0
  85. package/dist/decisions/extractors/java-commit-extractor.d.ts.map +1 -0
  86. package/dist/decisions/extractors/java-commit-extractor.js +248 -0
  87. package/dist/decisions/extractors/java-commit-extractor.js.map +1 -0
  88. package/dist/decisions/extractors/php-commit-extractor.d.ts +18 -0
  89. package/dist/decisions/extractors/php-commit-extractor.d.ts.map +1 -0
  90. package/dist/decisions/extractors/php-commit-extractor.js +280 -0
  91. package/dist/decisions/extractors/php-commit-extractor.js.map +1 -0
  92. package/dist/decisions/extractors/python-commit-extractor.d.ts +18 -0
  93. package/dist/decisions/extractors/python-commit-extractor.d.ts.map +1 -0
  94. package/dist/decisions/extractors/python-commit-extractor.js +248 -0
  95. package/dist/decisions/extractors/python-commit-extractor.js.map +1 -0
  96. package/dist/decisions/extractors/typescript-commit-extractor.d.ts +37 -0
  97. package/dist/decisions/extractors/typescript-commit-extractor.d.ts.map +1 -0
  98. package/dist/decisions/extractors/typescript-commit-extractor.js +229 -0
  99. package/dist/decisions/extractors/typescript-commit-extractor.js.map +1 -0
  100. package/dist/decisions/git/commit-parser.d.ts +58 -0
  101. package/dist/decisions/git/commit-parser.d.ts.map +1 -0
  102. package/dist/decisions/git/commit-parser.js +344 -0
  103. package/dist/decisions/git/commit-parser.js.map +1 -0
  104. package/dist/decisions/git/diff-analyzer.d.ts +30 -0
  105. package/dist/decisions/git/diff-analyzer.d.ts.map +1 -0
  106. package/dist/decisions/git/diff-analyzer.js +492 -0
  107. package/dist/decisions/git/diff-analyzer.js.map +1 -0
  108. package/dist/decisions/git/git-walker.d.ts +64 -0
  109. package/dist/decisions/git/git-walker.d.ts.map +1 -0
  110. package/dist/decisions/git/git-walker.js +441 -0
  111. package/dist/decisions/git/git-walker.js.map +1 -0
  112. package/dist/decisions/git/index.d.ts +11 -0
  113. package/dist/decisions/git/index.d.ts.map +1 -0
  114. package/dist/decisions/git/index.js +13 -0
  115. package/dist/decisions/git/index.js.map +1 -0
  116. package/dist/decisions/git/types.d.ts +223 -0
  117. package/dist/decisions/git/types.d.ts.map +1 -0
  118. package/dist/decisions/git/types.js +7 -0
  119. package/dist/decisions/git/types.js.map +1 -0
  120. package/dist/decisions/index.d.ts +27 -0
  121. package/dist/decisions/index.d.ts.map +1 -0
  122. package/dist/decisions/index.js +45 -0
  123. package/dist/decisions/index.js.map +1 -0
  124. package/dist/decisions/types.d.ts +530 -0
  125. package/dist/decisions/types.d.ts.map +1 -0
  126. package/dist/decisions/types.js +8 -0
  127. package/dist/decisions/types.js.map +1 -0
  128. package/dist/go/go-analyzer.d.ts +203 -0
  129. package/dist/go/go-analyzer.d.ts.map +1 -0
  130. package/dist/go/go-analyzer.js +509 -0
  131. package/dist/go/go-analyzer.js.map +1 -0
  132. package/dist/go/index.d.ts +7 -0
  133. package/dist/go/index.d.ts.map +1 -0
  134. package/dist/go/index.js +8 -0
  135. package/dist/go/index.js.map +1 -0
  136. package/dist/index.d.ts +11 -0
  137. package/dist/index.d.ts.map +1 -1
  138. package/dist/index.js +56 -0
  139. package/dist/index.js.map +1 -1
  140. package/dist/parsers/tree-sitter/go-loader.d.ts +50 -0
  141. package/dist/parsers/tree-sitter/go-loader.d.ts.map +1 -0
  142. package/dist/parsers/tree-sitter/go-loader.js +161 -0
  143. package/dist/parsers/tree-sitter/go-loader.js.map +1 -0
  144. package/dist/parsers/tree-sitter/tree-sitter-go-parser.d.ts +250 -0
  145. package/dist/parsers/tree-sitter/tree-sitter-go-parser.d.ts.map +1 -0
  146. package/dist/parsers/tree-sitter/tree-sitter-go-parser.js +707 -0
  147. package/dist/parsers/tree-sitter/tree-sitter-go-parser.js.map +1 -0
  148. package/dist/parsers/types.d.ts +1 -1
  149. package/dist/parsers/types.d.ts.map +1 -1
  150. package/dist/simulation/approach-generator.d.ts +73 -0
  151. package/dist/simulation/approach-generator.d.ts.map +1 -0
  152. package/dist/simulation/approach-generator.js +371 -0
  153. package/dist/simulation/approach-generator.js.map +1 -0
  154. package/dist/simulation/index.d.ts +14 -0
  155. package/dist/simulation/index.d.ts.map +1 -0
  156. package/dist/simulation/index.js +19 -0
  157. package/dist/simulation/index.js.map +1 -0
  158. package/dist/simulation/language-strategies/csharp-strategies.d.ts +17 -0
  159. package/dist/simulation/language-strategies/csharp-strategies.d.ts.map +1 -0
  160. package/dist/simulation/language-strategies/csharp-strategies.js +118 -0
  161. package/dist/simulation/language-strategies/csharp-strategies.js.map +1 -0
  162. package/dist/simulation/language-strategies/index.d.ts +41 -0
  163. package/dist/simulation/language-strategies/index.d.ts.map +1 -0
  164. package/dist/simulation/language-strategies/index.js +92 -0
  165. package/dist/simulation/language-strategies/index.js.map +1 -0
  166. package/dist/simulation/language-strategies/java-strategies.d.ts +17 -0
  167. package/dist/simulation/language-strategies/java-strategies.d.ts.map +1 -0
  168. package/dist/simulation/language-strategies/java-strategies.js +119 -0
  169. package/dist/simulation/language-strategies/java-strategies.js.map +1 -0
  170. package/dist/simulation/language-strategies/php-strategies.d.ts +17 -0
  171. package/dist/simulation/language-strategies/php-strategies.d.ts.map +1 -0
  172. package/dist/simulation/language-strategies/php-strategies.js +129 -0
  173. package/dist/simulation/language-strategies/php-strategies.js.map +1 -0
  174. package/dist/simulation/language-strategies/python-strategies.d.ts +17 -0
  175. package/dist/simulation/language-strategies/python-strategies.d.ts.map +1 -0
  176. package/dist/simulation/language-strategies/python-strategies.js +208 -0
  177. package/dist/simulation/language-strategies/python-strategies.js.map +1 -0
  178. package/dist/simulation/language-strategies/types.d.ts +67 -0
  179. package/dist/simulation/language-strategies/types.d.ts.map +1 -0
  180. package/dist/simulation/language-strategies/types.js +23 -0
  181. package/dist/simulation/language-strategies/types.js.map +1 -0
  182. package/dist/simulation/language-strategies/typescript-strategies.d.ts +17 -0
  183. package/dist/simulation/language-strategies/typescript-strategies.d.ts.map +1 -0
  184. package/dist/simulation/language-strategies/typescript-strategies.js +251 -0
  185. package/dist/simulation/language-strategies/typescript-strategies.js.map +1 -0
  186. package/dist/simulation/scorers/friction-scorer.d.ts +45 -0
  187. package/dist/simulation/scorers/friction-scorer.d.ts.map +1 -0
  188. package/dist/simulation/scorers/friction-scorer.js +336 -0
  189. package/dist/simulation/scorers/friction-scorer.js.map +1 -0
  190. package/dist/simulation/scorers/impact-scorer.d.ts +56 -0
  191. package/dist/simulation/scorers/impact-scorer.d.ts.map +1 -0
  192. package/dist/simulation/scorers/impact-scorer.js +273 -0
  193. package/dist/simulation/scorers/impact-scorer.js.map +1 -0
  194. package/dist/simulation/scorers/index.d.ts +12 -0
  195. package/dist/simulation/scorers/index.d.ts.map +1 -0
  196. package/dist/simulation/scorers/index.js +12 -0
  197. package/dist/simulation/scorers/index.js.map +1 -0
  198. package/dist/simulation/scorers/pattern-alignment-scorer.d.ts +83 -0
  199. package/dist/simulation/scorers/pattern-alignment-scorer.d.ts.map +1 -0
  200. package/dist/simulation/scorers/pattern-alignment-scorer.js +367 -0
  201. package/dist/simulation/scorers/pattern-alignment-scorer.js.map +1 -0
  202. package/dist/simulation/scorers/security-scorer.d.ts +63 -0
  203. package/dist/simulation/scorers/security-scorer.d.ts.map +1 -0
  204. package/dist/simulation/scorers/security-scorer.js +346 -0
  205. package/dist/simulation/scorers/security-scorer.js.map +1 -0
  206. package/dist/simulation/simulation-engine.d.ts +89 -0
  207. package/dist/simulation/simulation-engine.d.ts.map +1 -0
  208. package/dist/simulation/simulation-engine.js +480 -0
  209. package/dist/simulation/simulation-engine.js.map +1 -0
  210. package/dist/simulation/types.d.ts +200 -0
  211. package/dist/simulation/types.d.ts.map +1 -0
  212. package/dist/simulation/types.js +23 -0
  213. package/dist/simulation/types.js.map +1 -0
  214. package/dist/speculative/approach-generator.d.ts +2 -0
  215. package/dist/speculative/approach-generator.d.ts.map +1 -0
  216. package/dist/speculative/approach-generator.js +2 -0
  217. package/dist/speculative/approach-generator.js.map +1 -0
  218. package/dist/speculative/templates/types.d.ts +133 -0
  219. package/dist/speculative/templates/types.d.ts.map +1 -0
  220. package/dist/speculative/templates/types.js +208 -0
  221. package/dist/speculative/templates/types.js.map +1 -0
  222. package/dist/speculative/types.d.ts +523 -0
  223. package/dist/speculative/types.d.ts.map +1 -0
  224. package/dist/speculative/types.js +71 -0
  225. package/dist/speculative/types.js.map +1 -0
  226. package/dist/test-topology/extractors/base-test-extractor.d.ts +1 -1
  227. package/dist/test-topology/extractors/base-test-extractor.d.ts.map +1 -1
  228. package/dist/test-topology/extractors/base-test-extractor.js.map +1 -1
  229. package/dist/test-topology/extractors/go-test-extractor.d.ts +33 -0
  230. package/dist/test-topology/extractors/go-test-extractor.d.ts.map +1 -0
  231. package/dist/test-topology/extractors/go-test-extractor.js +436 -0
  232. package/dist/test-topology/extractors/go-test-extractor.js.map +1 -0
  233. package/dist/test-topology/extractors/index.d.ts +1 -0
  234. package/dist/test-topology/extractors/index.d.ts.map +1 -1
  235. package/dist/test-topology/extractors/index.js +1 -0
  236. package/dist/test-topology/extractors/index.js.map +1 -1
  237. package/dist/test-topology/extractors/regex/go-test-regex.d.ts +62 -0
  238. package/dist/test-topology/extractors/regex/go-test-regex.d.ts.map +1 -0
  239. package/dist/test-topology/extractors/regex/go-test-regex.js +528 -0
  240. package/dist/test-topology/extractors/regex/go-test-regex.js.map +1 -0
  241. package/dist/test-topology/extractors/regex/index.d.ts +1 -0
  242. package/dist/test-topology/extractors/regex/index.d.ts.map +1 -1
  243. package/dist/test-topology/extractors/regex/index.js +4 -0
  244. package/dist/test-topology/extractors/regex/index.js.map +1 -1
  245. package/dist/test-topology/hybrid-test-topology-analyzer.d.ts.map +1 -1
  246. package/dist/test-topology/hybrid-test-topology-analyzer.js +1 -0
  247. package/dist/test-topology/hybrid-test-topology-analyzer.js.map +1 -1
  248. package/dist/test-topology/test-topology-analyzer.d.ts.map +1 -1
  249. package/dist/test-topology/test-topology-analyzer.js +1 -0
  250. package/dist/test-topology/test-topology-analyzer.js.map +1 -1
  251. package/dist/test-topology/types.d.ts +2 -2
  252. package/dist/test-topology/types.d.ts.map +1 -1
  253. package/dist/unified-provider/matching/database-sql-matcher.d.ts +42 -0
  254. package/dist/unified-provider/matching/database-sql-matcher.d.ts.map +1 -0
  255. package/dist/unified-provider/matching/database-sql-matcher.js +282 -0
  256. package/dist/unified-provider/matching/database-sql-matcher.js.map +1 -0
  257. package/dist/unified-provider/matching/gorm-matcher.d.ts +41 -0
  258. package/dist/unified-provider/matching/gorm-matcher.d.ts.map +1 -0
  259. package/dist/unified-provider/matching/gorm-matcher.js +222 -0
  260. package/dist/unified-provider/matching/gorm-matcher.js.map +1 -0
  261. package/dist/unified-provider/matching/index.d.ts +3 -0
  262. package/dist/unified-provider/matching/index.d.ts.map +1 -1
  263. package/dist/unified-provider/matching/index.js +4 -0
  264. package/dist/unified-provider/matching/index.js.map +1 -1
  265. package/dist/unified-provider/matching/matcher-registry.d.ts.map +1 -1
  266. package/dist/unified-provider/matching/matcher-registry.js +7 -0
  267. package/dist/unified-provider/matching/matcher-registry.js.map +1 -1
  268. package/dist/unified-provider/matching/sqlx-matcher.d.ts +40 -0
  269. package/dist/unified-provider/matching/sqlx-matcher.d.ts.map +1 -0
  270. package/dist/unified-provider/matching/sqlx-matcher.js +214 -0
  271. package/dist/unified-provider/matching/sqlx-matcher.js.map +1 -0
  272. package/dist/unified-provider/normalization/go-normalizer.d.ts +62 -0
  273. package/dist/unified-provider/normalization/go-normalizer.d.ts.map +1 -0
  274. package/dist/unified-provider/normalization/go-normalizer.js +608 -0
  275. package/dist/unified-provider/normalization/go-normalizer.js.map +1 -0
  276. package/dist/unified-provider/normalization/index.d.ts +1 -0
  277. package/dist/unified-provider/normalization/index.d.ts.map +1 -1
  278. package/dist/unified-provider/normalization/index.js +6 -1
  279. package/dist/unified-provider/normalization/index.js.map +1 -1
  280. package/dist/unified-provider/types.d.ts +1 -1
  281. package/dist/unified-provider/types.d.ts.map +1 -1
  282. package/dist/wpf/extractors/binding-error-detector.d.ts +75 -0
  283. package/dist/wpf/extractors/binding-error-detector.d.ts.map +1 -0
  284. package/dist/wpf/extractors/binding-error-detector.js +290 -0
  285. package/dist/wpf/extractors/binding-error-detector.js.map +1 -0
  286. package/dist/wpf/extractors/code-behind-linker.d.ts +70 -0
  287. package/dist/wpf/extractors/code-behind-linker.d.ts.map +1 -0
  288. package/dist/wpf/extractors/code-behind-linker.js +172 -0
  289. package/dist/wpf/extractors/code-behind-linker.js.map +1 -0
  290. package/dist/wpf/extractors/dependency-property-extractor.d.ts +61 -0
  291. package/dist/wpf/extractors/dependency-property-extractor.d.ts.map +1 -0
  292. package/dist/wpf/extractors/dependency-property-extractor.js +201 -0
  293. package/dist/wpf/extractors/dependency-property-extractor.js.map +1 -0
  294. package/dist/wpf/extractors/regex/viewmodel-regex.d.ts +82 -0
  295. package/dist/wpf/extractors/regex/viewmodel-regex.d.ts.map +1 -0
  296. package/dist/wpf/extractors/regex/viewmodel-regex.js +412 -0
  297. package/dist/wpf/extractors/regex/viewmodel-regex.js.map +1 -0
  298. package/dist/wpf/extractors/regex/xaml-regex.d.ts +77 -0
  299. package/dist/wpf/extractors/regex/xaml-regex.d.ts.map +1 -0
  300. package/dist/wpf/extractors/regex/xaml-regex.js +353 -0
  301. package/dist/wpf/extractors/regex/xaml-regex.js.map +1 -0
  302. package/dist/wpf/extractors/resource-dictionary-parser.d.ts +103 -0
  303. package/dist/wpf/extractors/resource-dictionary-parser.d.ts.map +1 -0
  304. package/dist/wpf/extractors/resource-dictionary-parser.js +296 -0
  305. package/dist/wpf/extractors/resource-dictionary-parser.js.map +1 -0
  306. package/dist/wpf/extractors/value-converter-extractor.d.ts +128 -0
  307. package/dist/wpf/extractors/value-converter-extractor.d.ts.map +1 -0
  308. package/dist/wpf/extractors/value-converter-extractor.js +312 -0
  309. package/dist/wpf/extractors/value-converter-extractor.js.map +1 -0
  310. package/dist/wpf/extractors/viewmodel-hybrid-extractor.d.ts +104 -0
  311. package/dist/wpf/extractors/viewmodel-hybrid-extractor.d.ts.map +1 -0
  312. package/dist/wpf/extractors/viewmodel-hybrid-extractor.js +513 -0
  313. package/dist/wpf/extractors/viewmodel-hybrid-extractor.js.map +1 -0
  314. package/dist/wpf/extractors/xaml-hybrid-extractor.d.ts +98 -0
  315. package/dist/wpf/extractors/xaml-hybrid-extractor.d.ts.map +1 -0
  316. package/dist/wpf/extractors/xaml-hybrid-extractor.js +444 -0
  317. package/dist/wpf/extractors/xaml-hybrid-extractor.js.map +1 -0
  318. package/dist/wpf/index.d.ts +25 -0
  319. package/dist/wpf/index.d.ts.map +1 -0
  320. package/dist/wpf/index.js +31 -0
  321. package/dist/wpf/index.js.map +1 -0
  322. package/dist/wpf/integration/wpf-callgraph-adapter.d.ts +82 -0
  323. package/dist/wpf/integration/wpf-callgraph-adapter.d.ts.map +1 -0
  324. package/dist/wpf/integration/wpf-callgraph-adapter.js +311 -0
  325. package/dist/wpf/integration/wpf-callgraph-adapter.js.map +1 -0
  326. package/dist/wpf/integration/wpf-data-flow-tracer.d.ts +129 -0
  327. package/dist/wpf/integration/wpf-data-flow-tracer.d.ts.map +1 -0
  328. package/dist/wpf/integration/wpf-data-flow-tracer.js +367 -0
  329. package/dist/wpf/integration/wpf-data-flow-tracer.js.map +1 -0
  330. package/dist/wpf/linkers/datacontext-resolver.d.ts +66 -0
  331. package/dist/wpf/linkers/datacontext-resolver.d.ts.map +1 -0
  332. package/dist/wpf/linkers/datacontext-resolver.js +240 -0
  333. package/dist/wpf/linkers/datacontext-resolver.js.map +1 -0
  334. package/dist/wpf/linkers/viewmodel-linker.d.ts +71 -0
  335. package/dist/wpf/linkers/viewmodel-linker.d.ts.map +1 -0
  336. package/dist/wpf/linkers/viewmodel-linker.js +268 -0
  337. package/dist/wpf/linkers/viewmodel-linker.js.map +1 -0
  338. package/dist/wpf/types.d.ts +451 -0
  339. package/dist/wpf/types.d.ts.map +1 -0
  340. package/dist/wpf/types.js +8 -0
  341. package/dist/wpf/types.js.map +1 -0
  342. package/dist/wpf/wpf-analyzer.d.ts +114 -0
  343. package/dist/wpf/wpf-analyzer.d.ts.map +1 -0
  344. package/dist/wpf/wpf-analyzer.js +332 -0
  345. package/dist/wpf/wpf-analyzer.js.map +1 -0
  346. package/dist/wrappers/integration/adapter.d.ts.map +1 -1
  347. package/dist/wrappers/integration/adapter.js +1 -0
  348. package/dist/wrappers/integration/adapter.js.map +1 -1
  349. package/package.json +29 -18
  350. package/LICENSE +0 -21
@@ -0,0 +1 @@
1
+ {"version":3,"file":"java-commit-extractor.js","sourceRoot":"","sources":["../../../src/decisions/extractors/java-commit-extractor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * PHP Commit Extractor
3
+ *
4
+ * Extracts semantic information from PHP code changes.
5
+ * Detects framework-specific patterns for Laravel, Symfony, etc.
6
+ */
7
+ import type { ArchitecturalSignal, DecisionLanguage } from '../types.js';
8
+ import { BaseCommitExtractor, type CommitExtractorOptions, type ExtractionContext } from './base-commit-extractor.js';
9
+ export declare class PhpCommitExtractor extends BaseCommitExtractor {
10
+ readonly language: DecisionLanguage;
11
+ readonly extensions: string[];
12
+ constructor(options: CommitExtractorOptions);
13
+ protected extractArchitecturalSignals(context: ExtractionContext): Promise<ArchitecturalSignal[]>;
14
+ protected isLikelyEntryPoint(filePath: string): boolean;
15
+ private adjustConfidence;
16
+ }
17
+ export declare function createPhpCommitExtractor(options: CommitExtractorOptions): PhpCommitExtractor;
18
+ //# sourceMappingURL=php-commit-extractor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"php-commit-extractor.d.ts","sourceRoot":"","sources":["../../../src/decisions/extractors/php-commit-extractor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAEV,mBAAmB,EACnB,gBAAgB,EACjB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,mBAAmB,EACnB,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EACvB,MAAM,4BAA4B,CAAC;AAkNpC,qBAAa,kBAAmB,SAAQ,mBAAmB;IACzD,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAS;IAC5C,QAAQ,CAAC,UAAU,WAAsB;gBAE7B,OAAO,EAAE,sBAAsB;cAIlB,2BAA2B,CAClD,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,mBAAmB,EAAE,CAAC;cAwDd,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAIhE,OAAO,CAAC,gBAAgB;CAoBzB;AAED,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,sBAAsB,GAC9B,kBAAkB,CAEpB"}
@@ -0,0 +1,280 @@
1
+ /**
2
+ * PHP Commit Extractor
3
+ *
4
+ * Extracts semantic information from PHP code changes.
5
+ * Detects framework-specific patterns for Laravel, Symfony, etc.
6
+ */
7
+ import { BaseCommitExtractor, } from './base-commit-extractor.js';
8
+ // ============================================================================
9
+ // PHP-Specific Patterns
10
+ // ============================================================================
11
+ const PHP_ARCHITECTURAL_PATTERNS = [
12
+ // Laravel patterns
13
+ {
14
+ filePattern: /\/Controllers\/.*\.(php)$/,
15
+ signalType: 'api-surface-change',
16
+ description: 'Laravel Controller change',
17
+ confidence: 0.8,
18
+ },
19
+ {
20
+ filePattern: /Controller\.(php)$/,
21
+ signalType: 'api-surface-change',
22
+ description: 'Controller change',
23
+ confidence: 0.7,
24
+ },
25
+ {
26
+ filePattern: /\/Models\/.*\.(php)$/,
27
+ signalType: 'data-model-change',
28
+ description: 'Laravel Model change',
29
+ confidence: 0.7,
30
+ },
31
+ {
32
+ filePattern: /\/Eloquent\/.*\.(php)$/,
33
+ signalType: 'data-model-change',
34
+ description: 'Eloquent model change',
35
+ confidence: 0.7,
36
+ },
37
+ {
38
+ filePattern: /\/migrations\/.*\.(php)$/,
39
+ signalType: 'data-model-change',
40
+ description: 'Laravel migration',
41
+ confidence: 0.9,
42
+ },
43
+ {
44
+ filePattern: /\/database\/migrations\/.*\.(php)$/,
45
+ signalType: 'data-model-change',
46
+ description: 'Database migration',
47
+ confidence: 0.9,
48
+ },
49
+ {
50
+ filePattern: /\/Middleware\/.*\.(php)$/,
51
+ signalType: 'layer-change',
52
+ description: 'Laravel Middleware change',
53
+ confidence: 0.7,
54
+ },
55
+ {
56
+ filePattern: /\/Providers\/.*\.(php)$/,
57
+ signalType: 'config-change',
58
+ description: 'Service Provider change',
59
+ confidence: 0.7,
60
+ },
61
+ {
62
+ filePattern: /\/routes\/.*\.(php)$/,
63
+ signalType: 'api-surface-change',
64
+ description: 'Route definition change',
65
+ confidence: 0.8,
66
+ },
67
+ {
68
+ filePattern: /\/Policies\/.*\.(php)$/,
69
+ signalType: 'auth-change',
70
+ description: 'Laravel Policy change',
71
+ confidence: 0.8,
72
+ },
73
+ {
74
+ filePattern: /\/Guards\/.*\.(php)$/,
75
+ signalType: 'auth-change',
76
+ description: 'Auth Guard change',
77
+ confidence: 0.8,
78
+ },
79
+ {
80
+ filePattern: /\/Jobs\/.*\.(php)$/,
81
+ signalType: 'layer-change',
82
+ description: 'Laravel Job change',
83
+ confidence: 0.6,
84
+ },
85
+ {
86
+ filePattern: /\/Events\/.*\.(php)$/,
87
+ signalType: 'layer-change',
88
+ description: 'Laravel Event change',
89
+ confidence: 0.6,
90
+ },
91
+ {
92
+ filePattern: /\/Listeners\/.*\.(php)$/,
93
+ signalType: 'layer-change',
94
+ description: 'Laravel Listener change',
95
+ confidence: 0.6,
96
+ },
97
+ {
98
+ filePattern: /\/Requests\/.*\.(php)$/,
99
+ signalType: 'api-surface-change',
100
+ description: 'Form Request change',
101
+ confidence: 0.5,
102
+ },
103
+ {
104
+ filePattern: /\/Resources\/.*\.(php)$/,
105
+ signalType: 'api-surface-change',
106
+ description: 'API Resource change',
107
+ confidence: 0.5,
108
+ },
109
+ // Symfony patterns
110
+ {
111
+ filePattern: /\/Controller\/.*\.(php)$/,
112
+ signalType: 'api-surface-change',
113
+ description: 'Symfony Controller change',
114
+ confidence: 0.7,
115
+ },
116
+ {
117
+ filePattern: /\/Entity\/.*\.(php)$/,
118
+ signalType: 'data-model-change',
119
+ description: 'Doctrine Entity change',
120
+ confidence: 0.8,
121
+ },
122
+ {
123
+ filePattern: /\/Repository\/.*\.(php)$/,
124
+ signalType: 'data-model-change',
125
+ description: 'Repository change',
126
+ confidence: 0.7,
127
+ },
128
+ {
129
+ filePattern: /\/DoctrineMigrations\/.*\.(php)$/,
130
+ signalType: 'data-model-change',
131
+ description: 'Doctrine migration',
132
+ confidence: 0.9,
133
+ },
134
+ {
135
+ filePattern: /\/Service\/.*\.(php)$/,
136
+ signalType: 'layer-change',
137
+ description: 'Service class change',
138
+ confidence: 0.6,
139
+ },
140
+ {
141
+ filePattern: /\/EventSubscriber\/.*\.(php)$/,
142
+ signalType: 'layer-change',
143
+ description: 'Event Subscriber change',
144
+ confidence: 0.6,
145
+ },
146
+ // General patterns
147
+ {
148
+ filePattern: /\/Exceptions\/.*\.(php)$/,
149
+ signalType: 'error-handling-change',
150
+ description: 'Exception class change',
151
+ confidence: 0.7,
152
+ },
153
+ {
154
+ filePattern: /Exception\.(php)$/,
155
+ signalType: 'error-handling-change',
156
+ description: 'Exception change',
157
+ confidence: 0.6,
158
+ },
159
+ {
160
+ filePattern: /\/Interfaces\/.*\.(php)$/,
161
+ signalType: 'new-abstraction',
162
+ description: 'Interface change',
163
+ confidence: 0.7,
164
+ },
165
+ {
166
+ filePattern: /Interface\.(php)$/,
167
+ signalType: 'new-abstraction',
168
+ description: 'Interface change',
169
+ confidence: 0.6,
170
+ },
171
+ {
172
+ filePattern: /\/Contracts\/.*\.(php)$/,
173
+ signalType: 'new-abstraction',
174
+ description: 'Contract/Interface change',
175
+ confidence: 0.7,
176
+ },
177
+ {
178
+ filePattern: /\/config\/.*\.(php)$/,
179
+ signalType: 'config-change',
180
+ description: 'Configuration change',
181
+ confidence: 0.5,
182
+ },
183
+ // Testing
184
+ {
185
+ filePattern: /\/tests\/.*\.(php)$/,
186
+ signalType: 'test-strategy-change',
187
+ description: 'Test file change',
188
+ confidence: 0.4,
189
+ },
190
+ {
191
+ filePattern: /Test\.(php)$/,
192
+ signalType: 'test-strategy-change',
193
+ description: 'Test class change',
194
+ confidence: 0.4,
195
+ },
196
+ ];
197
+ const PHP_ENTRY_POINT_PATTERNS = [
198
+ /\/Controllers\/.*\.(php)$/,
199
+ /Controller\.(php)$/,
200
+ /\/routes\/.*\.(php)$/,
201
+ /index\.(php)$/,
202
+ /public\/index\.(php)$/,
203
+ ];
204
+ // ============================================================================
205
+ // PHP Commit Extractor
206
+ // ============================================================================
207
+ export class PhpCommitExtractor extends BaseCommitExtractor {
208
+ language = 'php';
209
+ extensions = ['.php', '.phtml'];
210
+ constructor(options) {
211
+ super(options);
212
+ }
213
+ async extractArchitecturalSignals(context) {
214
+ const signals = [];
215
+ for (const file of context.relevantFiles) {
216
+ // Check PHP-specific patterns
217
+ for (const pattern of PHP_ARCHITECTURAL_PATTERNS) {
218
+ if (pattern.filePattern.test(file.path)) {
219
+ signals.push({
220
+ type: pattern.signalType,
221
+ description: `${pattern.description}: ${file.path}`,
222
+ files: [file.path],
223
+ confidence: this.adjustConfidence(pattern.confidence, file),
224
+ });
225
+ }
226
+ }
227
+ // Detect composer.json changes
228
+ if (file.path === 'composer.json' || file.path.endsWith('/composer.json')) {
229
+ signals.push({
230
+ type: 'build-change',
231
+ description: `Composer configuration change: ${file.path}`,
232
+ files: [file.path],
233
+ confidence: 0.7,
234
+ });
235
+ }
236
+ // Detect new trait
237
+ if (file.status === 'added' && file.path.includes('/Traits/')) {
238
+ signals.push({
239
+ type: 'new-abstraction',
240
+ description: `New trait: ${file.path}`,
241
+ files: [file.path],
242
+ confidence: 0.7,
243
+ });
244
+ }
245
+ // Detect new abstract class
246
+ if (file.status === 'added' &&
247
+ (file.path.includes('Abstract') || file.path.includes('/Base/'))) {
248
+ signals.push({
249
+ type: 'new-abstraction',
250
+ description: `New abstract class: ${file.path}`,
251
+ files: [file.path],
252
+ confidence: 0.7,
253
+ });
254
+ }
255
+ }
256
+ const baseSignals = await super.extractArchitecturalSignals(context);
257
+ signals.push(...baseSignals);
258
+ return this.deduplicateSignals(signals);
259
+ }
260
+ isLikelyEntryPoint(filePath) {
261
+ return PHP_ENTRY_POINT_PATTERNS.some(pattern => pattern.test(filePath));
262
+ }
263
+ adjustConfidence(baseConfidence, file) {
264
+ let confidence = baseConfidence;
265
+ if (file.status === 'added') {
266
+ confidence += 0.1;
267
+ }
268
+ if (file.additions + file.deletions > 50) {
269
+ confidence += 0.1;
270
+ }
271
+ if (file.isTest) {
272
+ confidence -= 0.2;
273
+ }
274
+ return Math.max(0.1, Math.min(1, confidence));
275
+ }
276
+ }
277
+ export function createPhpCommitExtractor(options) {
278
+ return new PhpCommitExtractor(options);
279
+ }
280
+ //# sourceMappingURL=php-commit-extractor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"php-commit-extractor.js","sourceRoot":"","sources":["../../../src/decisions/extractors/php-commit-extractor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,OAAO,EACL,mBAAmB,GAGpB,MAAM,4BAA4B,CAAC;AAEpC,+EAA+E;AAC/E,wBAAwB;AACxB,+EAA+E;AAE/E,MAAM,0BAA0B,GAK3B;IACH,mBAAmB;IACnB;QACE,WAAW,EAAE,2BAA2B;QACxC,UAAU,EAAE,oBAAoB;QAChC,WAAW,EAAE,2BAA2B;QACxC,UAAU,EAAE,GAAG;KAChB;IACD;QACE,WAAW,EAAE,oBAAoB;QACjC,UAAU,EAAE,oBAAoB;QAChC,WAAW,EAAE,mBAAmB;QAChC,UAAU,EAAE,GAAG;KAChB;IACD;QACE,WAAW,EAAE,sBAAsB;QACnC,UAAU,EAAE,mBAAmB;QAC/B,WAAW,EAAE,sBAAsB;QACnC,UAAU,EAAE,GAAG;KAChB;IACD;QACE,WAAW,EAAE,wBAAwB;QACrC,UAAU,EAAE,mBAAmB;QAC/B,WAAW,EAAE,uBAAuB;QACpC,UAAU,EAAE,GAAG;KAChB;IACD;QACE,WAAW,EAAE,0BAA0B;QACvC,UAAU,EAAE,mBAAmB;QAC/B,WAAW,EAAE,mBAAmB;QAChC,UAAU,EAAE,GAAG;KAChB;IACD;QACE,WAAW,EAAE,oCAAoC;QACjD,UAAU,EAAE,mBAAmB;QAC/B,WAAW,EAAE,oBAAoB;QACjC,UAAU,EAAE,GAAG;KAChB;IACD;QACE,WAAW,EAAE,0BAA0B;QACvC,UAAU,EAAE,cAAc;QAC1B,WAAW,EAAE,2BAA2B;QACxC,UAAU,EAAE,GAAG;KAChB;IACD;QACE,WAAW,EAAE,yBAAyB;QACtC,UAAU,EAAE,eAAe;QAC3B,WAAW,EAAE,yBAAyB;QACtC,UAAU,EAAE,GAAG;KAChB;IACD;QACE,WAAW,EAAE,sBAAsB;QACnC,UAAU,EAAE,oBAAoB;QAChC,WAAW,EAAE,yBAAyB;QACtC,UAAU,EAAE,GAAG;KAChB;IACD;QACE,WAAW,EAAE,wBAAwB;QACrC,UAAU,EAAE,aAAa;QACzB,WAAW,EAAE,uBAAuB;QACpC,UAAU,EAAE,GAAG;KAChB;IACD;QACE,WAAW,EAAE,sBAAsB;QACnC,UAAU,EAAE,aAAa;QACzB,WAAW,EAAE,mBAAmB;QAChC,UAAU,EAAE,GAAG;KAChB;IACD;QACE,WAAW,EAAE,oBAAoB;QACjC,UAAU,EAAE,cAAc;QAC1B,WAAW,EAAE,oBAAoB;QACjC,UAAU,EAAE,GAAG;KAChB;IACD;QACE,WAAW,EAAE,sBAAsB;QACnC,UAAU,EAAE,cAAc;QAC1B,WAAW,EAAE,sBAAsB;QACnC,UAAU,EAAE,GAAG;KAChB;IACD;QACE,WAAW,EAAE,yBAAyB;QACtC,UAAU,EAAE,cAAc;QAC1B,WAAW,EAAE,yBAAyB;QACtC,UAAU,EAAE,GAAG;KAChB;IACD;QACE,WAAW,EAAE,wBAAwB;QACrC,UAAU,EAAE,oBAAoB;QAChC,WAAW,EAAE,qBAAqB;QAClC,UAAU,EAAE,GAAG;KAChB;IACD;QACE,WAAW,EAAE,yBAAyB;QACtC,UAAU,EAAE,oBAAoB;QAChC,WAAW,EAAE,qBAAqB;QAClC,UAAU,EAAE,GAAG;KAChB;IACD,mBAAmB;IACnB;QACE,WAAW,EAAE,0BAA0B;QACvC,UAAU,EAAE,oBAAoB;QAChC,WAAW,EAAE,2BAA2B;QACxC,UAAU,EAAE,GAAG;KAChB;IACD;QACE,WAAW,EAAE,sBAAsB;QACnC,UAAU,EAAE,mBAAmB;QAC/B,WAAW,EAAE,wBAAwB;QACrC,UAAU,EAAE,GAAG;KAChB;IACD;QACE,WAAW,EAAE,0BAA0B;QACvC,UAAU,EAAE,mBAAmB;QAC/B,WAAW,EAAE,mBAAmB;QAChC,UAAU,EAAE,GAAG;KAChB;IACD;QACE,WAAW,EAAE,kCAAkC;QAC/C,UAAU,EAAE,mBAAmB;QAC/B,WAAW,EAAE,oBAAoB;QACjC,UAAU,EAAE,GAAG;KAChB;IACD;QACE,WAAW,EAAE,uBAAuB;QACpC,UAAU,EAAE,cAAc;QAC1B,WAAW,EAAE,sBAAsB;QACnC,UAAU,EAAE,GAAG;KAChB;IACD;QACE,WAAW,EAAE,+BAA+B;QAC5C,UAAU,EAAE,cAAc;QAC1B,WAAW,EAAE,yBAAyB;QACtC,UAAU,EAAE,GAAG;KAChB;IACD,mBAAmB;IACnB;QACE,WAAW,EAAE,0BAA0B;QACvC,UAAU,EAAE,uBAAuB;QACnC,WAAW,EAAE,wBAAwB;QACrC,UAAU,EAAE,GAAG;KAChB;IACD;QACE,WAAW,EAAE,mBAAmB;QAChC,UAAU,EAAE,uBAAuB;QACnC,WAAW,EAAE,kBAAkB;QAC/B,UAAU,EAAE,GAAG;KAChB;IACD;QACE,WAAW,EAAE,0BAA0B;QACvC,UAAU,EAAE,iBAAiB;QAC7B,WAAW,EAAE,kBAAkB;QAC/B,UAAU,EAAE,GAAG;KAChB;IACD;QACE,WAAW,EAAE,mBAAmB;QAChC,UAAU,EAAE,iBAAiB;QAC7B,WAAW,EAAE,kBAAkB;QAC/B,UAAU,EAAE,GAAG;KAChB;IACD;QACE,WAAW,EAAE,yBAAyB;QACtC,UAAU,EAAE,iBAAiB;QAC7B,WAAW,EAAE,2BAA2B;QACxC,UAAU,EAAE,GAAG;KAChB;IACD;QACE,WAAW,EAAE,sBAAsB;QACnC,UAAU,EAAE,eAAe;QAC3B,WAAW,EAAE,sBAAsB;QACnC,UAAU,EAAE,GAAG;KAChB;IACD,UAAU;IACV;QACE,WAAW,EAAE,qBAAqB;QAClC,UAAU,EAAE,sBAAsB;QAClC,WAAW,EAAE,kBAAkB;QAC/B,UAAU,EAAE,GAAG;KAChB;IACD;QACE,WAAW,EAAE,cAAc;QAC3B,UAAU,EAAE,sBAAsB;QAClC,WAAW,EAAE,mBAAmB;QAChC,UAAU,EAAE,GAAG;KAChB;CACF,CAAC;AAEF,MAAM,wBAAwB,GAAG;IAC/B,2BAA2B;IAC3B,oBAAoB;IACpB,sBAAsB;IACtB,eAAe;IACf,uBAAuB;CACxB,CAAC;AAEF,+EAA+E;AAC/E,uBAAuB;AACvB,+EAA+E;AAE/E,MAAM,OAAO,kBAAmB,SAAQ,mBAAmB;IAChD,QAAQ,GAAqB,KAAK,CAAC;IACnC,UAAU,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAEzC,YAAY,OAA+B;QACzC,KAAK,CAAC,OAAO,CAAC,CAAC;IACjB,CAAC;IAEkB,KAAK,CAAC,2BAA2B,CAClD,OAA0B;QAE1B,MAAM,OAAO,GAA0B,EAAE,CAAC;QAE1C,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;YACzC,8BAA8B;YAC9B,KAAK,MAAM,OAAO,IAAI,0BAA0B,EAAE,CAAC;gBACjD,IAAI,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBACxC,OAAO,CAAC,IAAI,CAAC;wBACX,IAAI,EAAE,OAAO,CAAC,UAAU;wBACxB,WAAW,EAAE,GAAG,OAAO,CAAC,WAAW,KAAK,IAAI,CAAC,IAAI,EAAE;wBACnD,KAAK,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;wBAClB,UAAU,EAAE,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC;qBAC5D,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,+BAA+B;YAC/B,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBAC1E,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,cAAc;oBACpB,WAAW,EAAE,kCAAkC,IAAI,CAAC,IAAI,EAAE;oBAC1D,KAAK,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;oBAClB,UAAU,EAAE,GAAG;iBAChB,CAAC,CAAC;YACL,CAAC;YAED,mBAAmB;YACnB,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC9D,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,iBAAiB;oBACvB,WAAW,EAAE,cAAc,IAAI,CAAC,IAAI,EAAE;oBACtC,KAAK,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;oBAClB,UAAU,EAAE,GAAG;iBAChB,CAAC,CAAC;YACL,CAAC;YAED,4BAA4B;YAC5B,IACE,IAAI,CAAC,MAAM,KAAK,OAAO;gBACvB,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAChE,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,iBAAiB;oBACvB,WAAW,EAAE,uBAAuB,IAAI,CAAC,IAAI,EAAE;oBAC/C,KAAK,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;oBAClB,UAAU,EAAE,GAAG;iBAChB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,2BAA2B,CAAC,OAAO,CAAC,CAAC;QACrE,OAAO,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC;QAE7B,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC;IAEkB,kBAAkB,CAAC,QAAgB;QACpD,OAAO,wBAAwB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC1E,CAAC;IAEO,gBAAgB,CACtB,cAAsB,EACtB,IAA2B;QAE3B,IAAI,UAAU,GAAG,cAAc,CAAC;QAEhC,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;YAC5B,UAAU,IAAI,GAAG,CAAC;QACpB,CAAC;QAED,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,GAAG,EAAE,EAAE,CAAC;YACzC,UAAU,IAAI,GAAG,CAAC;QACpB,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,UAAU,IAAI,GAAG,CAAC;QACpB,CAAC;QAED,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;IAChD,CAAC;CACF;AAED,MAAM,UAAU,wBAAwB,CACtC,OAA+B;IAE/B,OAAO,IAAI,kBAAkB,CAAC,OAAO,CAAC,CAAC;AACzC,CAAC"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Python Commit Extractor
3
+ *
4
+ * Extracts semantic information from Python code changes.
5
+ * Detects framework-specific patterns for Django, FastAPI, Flask, etc.
6
+ */
7
+ import type { ArchitecturalSignal, DecisionLanguage } from '../types.js';
8
+ import { BaseCommitExtractor, type CommitExtractorOptions, type ExtractionContext } from './base-commit-extractor.js';
9
+ export declare class PythonCommitExtractor extends BaseCommitExtractor {
10
+ readonly language: DecisionLanguage;
11
+ readonly extensions: string[];
12
+ constructor(options: CommitExtractorOptions);
13
+ protected extractArchitecturalSignals(context: ExtractionContext): Promise<ArchitecturalSignal[]>;
14
+ protected isLikelyEntryPoint(filePath: string): boolean;
15
+ private adjustConfidence;
16
+ }
17
+ export declare function createPythonCommitExtractor(options: CommitExtractorOptions): PythonCommitExtractor;
18
+ //# sourceMappingURL=python-commit-extractor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"python-commit-extractor.d.ts","sourceRoot":"","sources":["../../../src/decisions/extractors/python-commit-extractor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAEV,mBAAmB,EACnB,gBAAgB,EACjB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,mBAAmB,EACnB,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EACvB,MAAM,4BAA4B,CAAC;AAgLpC,qBAAa,qBAAsB,SAAQ,mBAAmB;IAC5D,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAY;IAC/C,QAAQ,CAAC,UAAU,WAA2B;gBAElC,OAAO,EAAE,sBAAsB;cAIlB,2BAA2B,CAClD,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,mBAAmB,EAAE,CAAC;cAwDd,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAIhE,OAAO,CAAC,gBAAgB;CAoBzB;AAED,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,sBAAsB,GAC9B,qBAAqB,CAEvB"}
@@ -0,0 +1,248 @@
1
+ /**
2
+ * Python Commit Extractor
3
+ *
4
+ * Extracts semantic information from Python code changes.
5
+ * Detects framework-specific patterns for Django, FastAPI, Flask, etc.
6
+ */
7
+ import { BaseCommitExtractor, } from './base-commit-extractor.js';
8
+ // ============================================================================
9
+ // Python-Specific Patterns
10
+ // ============================================================================
11
+ const PYTHON_ARCHITECTURAL_PATTERNS = [
12
+ // Django patterns
13
+ {
14
+ filePattern: /\/views?\.(py)$/,
15
+ signalType: 'api-surface-change',
16
+ description: 'Django view change',
17
+ confidence: 0.7,
18
+ },
19
+ {
20
+ filePattern: /\/models?\.(py)$/,
21
+ signalType: 'data-model-change',
22
+ description: 'Django model change',
23
+ confidence: 0.8,
24
+ },
25
+ {
26
+ filePattern: /\/urls?\.(py)$/,
27
+ signalType: 'api-surface-change',
28
+ description: 'Django URL routing change',
29
+ confidence: 0.7,
30
+ },
31
+ {
32
+ filePattern: /\/serializers?\.(py)$/,
33
+ signalType: 'api-surface-change',
34
+ description: 'Django REST serializer change',
35
+ confidence: 0.6,
36
+ },
37
+ {
38
+ filePattern: /\/admin\.(py)$/,
39
+ signalType: 'config-change',
40
+ description: 'Django admin configuration',
41
+ confidence: 0.5,
42
+ },
43
+ {
44
+ filePattern: /\/migrations\/.*\.(py)$/,
45
+ signalType: 'data-model-change',
46
+ description: 'Django migration',
47
+ confidence: 0.9,
48
+ },
49
+ {
50
+ filePattern: /\/middleware\.(py)$/,
51
+ signalType: 'layer-change',
52
+ description: 'Django middleware change',
53
+ confidence: 0.7,
54
+ },
55
+ // FastAPI patterns
56
+ {
57
+ filePattern: /\/(routers?|endpoints?)\/.*\.(py)$/,
58
+ signalType: 'api-surface-change',
59
+ description: 'FastAPI router change',
60
+ confidence: 0.7,
61
+ },
62
+ {
63
+ filePattern: /\/schemas?\.(py)$/,
64
+ signalType: 'api-surface-change',
65
+ description: 'Pydantic schema change',
66
+ confidence: 0.6,
67
+ },
68
+ {
69
+ filePattern: /\/dependencies\.(py)$/,
70
+ signalType: 'config-change',
71
+ description: 'FastAPI dependency injection',
72
+ confidence: 0.7,
73
+ },
74
+ // Flask patterns
75
+ {
76
+ filePattern: /\/routes?\.(py)$/,
77
+ signalType: 'api-surface-change',
78
+ description: 'Flask route change',
79
+ confidence: 0.7,
80
+ },
81
+ {
82
+ filePattern: /\/blueprints?\/.*\.(py)$/,
83
+ signalType: 'layer-change',
84
+ description: 'Flask blueprint change',
85
+ confidence: 0.6,
86
+ },
87
+ // SQLAlchemy patterns
88
+ {
89
+ filePattern: /\/models\/.*\.(py)$/,
90
+ signalType: 'data-model-change',
91
+ description: 'SQLAlchemy model change',
92
+ confidence: 0.7,
93
+ },
94
+ {
95
+ filePattern: /\/alembic\/versions\/.*\.(py)$/,
96
+ signalType: 'data-model-change',
97
+ description: 'Alembic migration',
98
+ confidence: 0.9,
99
+ },
100
+ // Celery patterns
101
+ {
102
+ filePattern: /\/tasks?\.(py)$/,
103
+ signalType: 'layer-change',
104
+ description: 'Celery task change',
105
+ confidence: 0.6,
106
+ },
107
+ // General patterns
108
+ {
109
+ filePattern: /\/services?\/.*\.(py)$/,
110
+ signalType: 'layer-change',
111
+ description: 'Service layer change',
112
+ confidence: 0.5,
113
+ },
114
+ {
115
+ filePattern: /\/repositories?\/.*\.(py)$/,
116
+ signalType: 'data-model-change',
117
+ description: 'Repository pattern change',
118
+ confidence: 0.6,
119
+ },
120
+ {
121
+ filePattern: /\/exceptions?\.(py)$/,
122
+ signalType: 'error-handling-change',
123
+ description: 'Exception handling change',
124
+ confidence: 0.7,
125
+ },
126
+ {
127
+ filePattern: /\/config\.(py)$/,
128
+ signalType: 'config-change',
129
+ description: 'Configuration change',
130
+ confidence: 0.5,
131
+ },
132
+ {
133
+ filePattern: /\/settings\.(py)$/,
134
+ signalType: 'config-change',
135
+ description: 'Settings change',
136
+ confidence: 0.5,
137
+ },
138
+ // Testing
139
+ {
140
+ filePattern: /\/tests?\/.*\.(py)$/,
141
+ signalType: 'test-strategy-change',
142
+ description: 'Test file change',
143
+ confidence: 0.4,
144
+ },
145
+ {
146
+ filePattern: /test_.*\.(py)$/,
147
+ signalType: 'test-strategy-change',
148
+ description: 'Test file change',
149
+ confidence: 0.4,
150
+ },
151
+ {
152
+ filePattern: /conftest\.(py)$/,
153
+ signalType: 'test-strategy-change',
154
+ description: 'Pytest configuration change',
155
+ confidence: 0.5,
156
+ },
157
+ ];
158
+ const PYTHON_ENTRY_POINT_PATTERNS = [
159
+ /\/views?\.(py)$/,
160
+ /\/routers?\/.*\.(py)$/,
161
+ /\/endpoints?\/.*\.(py)$/,
162
+ /\/api\/.*\.(py)$/,
163
+ /main\.(py)$/,
164
+ /app\.(py)$/,
165
+ /__main__\.(py)$/,
166
+ /manage\.(py)$/,
167
+ /wsgi\.(py)$/,
168
+ /asgi\.(py)$/,
169
+ ];
170
+ // ============================================================================
171
+ // Python Commit Extractor
172
+ // ============================================================================
173
+ export class PythonCommitExtractor extends BaseCommitExtractor {
174
+ language = 'python';
175
+ extensions = ['.py', '.pyw', '.pyi'];
176
+ constructor(options) {
177
+ super(options);
178
+ }
179
+ async extractArchitecturalSignals(context) {
180
+ const signals = [];
181
+ for (const file of context.relevantFiles) {
182
+ // Check Python-specific patterns
183
+ for (const pattern of PYTHON_ARCHITECTURAL_PATTERNS) {
184
+ if (pattern.filePattern.test(file.path)) {
185
+ signals.push({
186
+ type: pattern.signalType,
187
+ description: `${pattern.description}: ${file.path}`,
188
+ files: [file.path],
189
+ confidence: this.adjustConfidence(pattern.confidence, file),
190
+ });
191
+ }
192
+ }
193
+ // Detect __init__.py changes (module structure)
194
+ if (file.path.endsWith('__init__.py')) {
195
+ if (file.status === 'added') {
196
+ signals.push({
197
+ type: 'layer-change',
198
+ description: `New Python package: ${file.path}`,
199
+ files: [file.path],
200
+ confidence: 0.6,
201
+ });
202
+ }
203
+ else if (file.additions > 5 || file.deletions > 5) {
204
+ signals.push({
205
+ type: 'api-surface-change',
206
+ description: `Package exports changed: ${file.path}`,
207
+ files: [file.path],
208
+ confidence: 0.5,
209
+ });
210
+ }
211
+ }
212
+ // Detect abstract base class files
213
+ if (file.path.includes('/base') ||
214
+ file.path.includes('/abstract') ||
215
+ file.path.includes('/interfaces')) {
216
+ signals.push({
217
+ type: 'new-abstraction',
218
+ description: `Abstraction file ${file.status}: ${file.path}`,
219
+ files: [file.path],
220
+ confidence: 0.6,
221
+ });
222
+ }
223
+ }
224
+ const baseSignals = await super.extractArchitecturalSignals(context);
225
+ signals.push(...baseSignals);
226
+ return this.deduplicateSignals(signals);
227
+ }
228
+ isLikelyEntryPoint(filePath) {
229
+ return PYTHON_ENTRY_POINT_PATTERNS.some(pattern => pattern.test(filePath));
230
+ }
231
+ adjustConfidence(baseConfidence, file) {
232
+ let confidence = baseConfidence;
233
+ if (file.status === 'added') {
234
+ confidence += 0.1;
235
+ }
236
+ if (file.additions + file.deletions > 50) {
237
+ confidence += 0.1;
238
+ }
239
+ if (file.isTest) {
240
+ confidence -= 0.2;
241
+ }
242
+ return Math.max(0.1, Math.min(1, confidence));
243
+ }
244
+ }
245
+ export function createPythonCommitExtractor(options) {
246
+ return new PythonCommitExtractor(options);
247
+ }
248
+ //# sourceMappingURL=python-commit-extractor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"python-commit-extractor.js","sourceRoot":"","sources":["../../../src/decisions/extractors/python-commit-extractor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * TypeScript/JavaScript Commit Extractor
3
+ *
4
+ * Extracts semantic information from TypeScript and JavaScript code changes.
5
+ * Detects framework-specific patterns for React, Express, NestJS, etc.
6
+ */
7
+ import type { ArchitecturalSignal, DecisionLanguage } from '../types.js';
8
+ import { BaseCommitExtractor, type CommitExtractorOptions, type ExtractionContext } from './base-commit-extractor.js';
9
+ /**
10
+ * TypeScript/JavaScript commit extractor
11
+ */
12
+ export declare class TypeScriptCommitExtractor extends BaseCommitExtractor {
13
+ readonly language: DecisionLanguage;
14
+ readonly extensions: string[];
15
+ constructor(options: CommitExtractorOptions);
16
+ /**
17
+ * Extract architectural signals with TypeScript-specific detection
18
+ */
19
+ protected extractArchitecturalSignals(context: ExtractionContext): Promise<ArchitecturalSignal[]>;
20
+ /**
21
+ * Check if file is likely an entry point
22
+ */
23
+ protected isLikelyEntryPoint(filePath: string): boolean;
24
+ /**
25
+ * Check if file is a type definition file
26
+ */
27
+ private isTypeDefinitionFile;
28
+ /**
29
+ * Adjust confidence based on file change magnitude
30
+ */
31
+ private adjustConfidence;
32
+ }
33
+ /**
34
+ * Create a TypeScript commit extractor
35
+ */
36
+ export declare function createTypeScriptCommitExtractor(options: CommitExtractorOptions): TypeScriptCommitExtractor;
37
+ //# sourceMappingURL=typescript-commit-extractor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typescript-commit-extractor.d.ts","sourceRoot":"","sources":["../../../src/decisions/extractors/typescript-commit-extractor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAEV,mBAAmB,EACnB,gBAAgB,EACjB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,mBAAmB,EACnB,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EACvB,MAAM,4BAA4B,CAAC;AA0IpC;;GAEG;AACH,qBAAa,yBAA0B,SAAQ,mBAAmB;IAChE,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAgB;IACnD,QAAQ,CAAC,UAAU,WAAkE;gBAEzE,OAAO,EAAE,sBAAsB;IAI3C;;OAEG;cACsB,2BAA2B,CAClD,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,mBAAmB,EAAE,CAAC;IA8CjC;;OAEG;cACgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAIhE;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAU5B;;OAEG;IACH,OAAO,CAAC,gBAAgB;CAuBzB;AAED;;GAEG;AACH,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,sBAAsB,GAC9B,yBAAyB,CAE3B"}