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,451 @@
1
+ /**
2
+ * WPF Framework Support Types
3
+ *
4
+ * Core types for WPF XAML parsing, binding extraction, and ViewModel linking.
5
+ * Enables full call graph analysis across XAML UI layer and C# code-behind/ViewModels.
6
+ */
7
+ /**
8
+ * A parsed XAML element
9
+ */
10
+ export interface XamlElement {
11
+ /** Element name (e.g., "Button", "TextBox") */
12
+ name: string;
13
+ /** XML namespace */
14
+ namespace: string;
15
+ /** Element attributes */
16
+ attributes: Map<string, string>;
17
+ /** Data bindings on this element */
18
+ bindings: XamlBinding[];
19
+ /** Command bindings on this element */
20
+ commands: XamlCommand[];
21
+ /** Child elements */
22
+ children: XamlElement[];
23
+ /** Source location */
24
+ location: SourceLocation;
25
+ /** x:Name if specified */
26
+ xName?: string;
27
+ }
28
+ /**
29
+ * A data binding expression
30
+ */
31
+ export interface XamlBinding {
32
+ /** Target property (e.g., "Text", "ItemsSource") */
33
+ property: string;
34
+ /** Binding path (e.g., "UserName", "Items[0].Name") */
35
+ path: string;
36
+ /** Binding mode */
37
+ mode: BindingMode;
38
+ /** Value converter resource key */
39
+ converter?: string | undefined;
40
+ /** Converter parameter */
41
+ converterParameter?: string | undefined;
42
+ /** Binding source type */
43
+ sourceType?: BindingSourceType | undefined;
44
+ /** Source value (StaticResource key, ElementName, etc.) */
45
+ sourceValue?: string | undefined;
46
+ /** Fallback value */
47
+ fallbackValue?: string | undefined;
48
+ /** Target null value */
49
+ targetNullValue?: string | undefined;
50
+ /** Update source trigger */
51
+ updateSourceTrigger?: UpdateSourceTrigger | undefined;
52
+ /** Raw binding expression */
53
+ raw: string;
54
+ /** Source location */
55
+ location: SourceLocation;
56
+ }
57
+ export type BindingMode = 'OneWay' | 'TwoWay' | 'OneTime' | 'OneWayToSource' | 'Default';
58
+ export type BindingSourceType = 'DataContext' | 'StaticResource' | 'DynamicResource' | 'RelativeSource' | 'ElementName' | 'Self';
59
+ export type UpdateSourceTrigger = 'PropertyChanged' | 'LostFocus' | 'Explicit' | 'Default';
60
+ /**
61
+ * A command binding
62
+ */
63
+ export interface XamlCommand {
64
+ /** Target property (usually "Command") */
65
+ property: string;
66
+ /** Command binding path */
67
+ binding: string;
68
+ /** Command parameter binding */
69
+ commandParameter?: string;
70
+ /** Raw expression */
71
+ raw: string;
72
+ /** Source location */
73
+ location: SourceLocation;
74
+ }
75
+ /**
76
+ * A parsed XAML file
77
+ */
78
+ export interface XamlFile {
79
+ /** File path */
80
+ path: string;
81
+ /** Root element */
82
+ rootElement: XamlElement | null;
83
+ /** x:Class attribute - links to code-behind */
84
+ xClass: string | null;
85
+ /** DataContext type (from d:DataContext or explicit binding) */
86
+ dataContextType: string | null;
87
+ /** Resources defined in this file */
88
+ resources: XamlResource[];
89
+ /** XML namespace declarations */
90
+ namespaces: Map<string, string>;
91
+ /** All bindings in the file (flattened) */
92
+ allBindings: XamlBinding[];
93
+ /** All commands in the file (flattened) */
94
+ allCommands: XamlCommand[];
95
+ /** Parse errors */
96
+ errors: string[];
97
+ }
98
+ /**
99
+ * A XAML resource
100
+ */
101
+ export interface XamlResource {
102
+ /** Resource key */
103
+ key: string;
104
+ /** Resource type */
105
+ type: XamlResourceType;
106
+ /** Target type for styles/templates */
107
+ targetType?: string | undefined;
108
+ /** C# class for converters */
109
+ converterType?: string | undefined;
110
+ /** Source location */
111
+ location: SourceLocation;
112
+ }
113
+ export type XamlResourceType = 'Style' | 'DataTemplate' | 'ControlTemplate' | 'Converter' | 'Brush' | 'Other';
114
+ /**
115
+ * Analysis result for a ViewModel class
116
+ */
117
+ export interface ViewModelAnalysis {
118
+ /** Class name */
119
+ className: string;
120
+ /** Full qualified name */
121
+ qualifiedName: string;
122
+ /** File path */
123
+ filePath: string;
124
+ /** Properties */
125
+ properties: ViewModelProperty[];
126
+ /** Commands */
127
+ commands: ViewModelCommand[];
128
+ /** Implements INotifyPropertyChanged */
129
+ implementsINPC: boolean;
130
+ /** Base class */
131
+ baseClass?: string | undefined;
132
+ /** Class start line */
133
+ startLine: number;
134
+ /** Class end line */
135
+ endLine: number;
136
+ }
137
+ /**
138
+ * A ViewModel property
139
+ */
140
+ export interface ViewModelProperty {
141
+ /** Property name */
142
+ name: string;
143
+ /** Property type */
144
+ type: string;
145
+ /** Has getter */
146
+ hasGetter: boolean;
147
+ /** Has setter */
148
+ hasSetter: boolean;
149
+ /** Raises PropertyChanged notification */
150
+ raisesPropertyChanged: boolean;
151
+ /** Backing field name */
152
+ backingField?: string | undefined;
153
+ /** Is source-generated (MVVM Toolkit) */
154
+ isSourceGenerated?: boolean | undefined;
155
+ /** Source location */
156
+ location: SourceLocation;
157
+ }
158
+ /**
159
+ * A ViewModel command
160
+ */
161
+ export interface ViewModelCommand {
162
+ /** Command property name */
163
+ name: string;
164
+ /** Command type (RelayCommand, DelegateCommand, etc.) */
165
+ commandType: string;
166
+ /** Execute method name */
167
+ executeMethod?: string | undefined;
168
+ /** CanExecute method name */
169
+ canExecuteMethod?: string | undefined;
170
+ /** Is async command */
171
+ isAsync?: boolean | undefined;
172
+ /** Source location */
173
+ location: SourceLocation;
174
+ }
175
+ /**
176
+ * A dependency property definition
177
+ */
178
+ export interface DependencyPropertyInfo {
179
+ /** Property name */
180
+ name: string;
181
+ /** Static field name (e.g., "MyPropertyProperty") */
182
+ fieldName: string;
183
+ /** Property type */
184
+ propertyType: string;
185
+ /** Owner type */
186
+ ownerType?: string;
187
+ /** Is attached property */
188
+ isAttached: boolean;
189
+ /** Default value */
190
+ defaultValue?: string;
191
+ /** Callbacks */
192
+ callbacks: DependencyPropertyCallback[];
193
+ /** Source location */
194
+ location: SourceLocation;
195
+ }
196
+ export interface DependencyPropertyCallback {
197
+ type: 'PropertyChanged' | 'CoerceValue' | 'Validate';
198
+ methodName: string;
199
+ }
200
+ /**
201
+ * Link between XAML binding and ViewModel property
202
+ */
203
+ export interface ViewModelLink {
204
+ /** XAML file path */
205
+ xamlFile: string;
206
+ /** XAML element name/type */
207
+ xamlElement: string;
208
+ /** Binding path */
209
+ bindingPath: string;
210
+ /** ViewModel class name */
211
+ viewModelClass: string;
212
+ /** ViewModel property name */
213
+ viewModelProperty: string;
214
+ /** Property type */
215
+ propertyType: string;
216
+ /** Whether property notifies changes */
217
+ notifiesChange: boolean;
218
+ /** Locations */
219
+ locations: {
220
+ xaml: SourceLocation;
221
+ csharp: SourceLocation;
222
+ };
223
+ /** Link confidence */
224
+ confidence: number;
225
+ }
226
+ /**
227
+ * Link between XAML and code-behind
228
+ */
229
+ export interface CodeBehindLink {
230
+ /** XAML file path */
231
+ xamlFile: string;
232
+ /** Code-behind file path */
233
+ codeBehindFile: string;
234
+ /** Class name */
235
+ className: string;
236
+ /** Namespace */
237
+ namespace: string;
238
+ /** Event handlers */
239
+ eventHandlers: EventHandlerLink[];
240
+ /** Named elements */
241
+ namedElements: NamedElementLink[];
242
+ }
243
+ export interface EventHandlerLink {
244
+ /** XAML element */
245
+ xamlElement: string;
246
+ /** Event name (e.g., "Click", "Loaded") */
247
+ eventName: string;
248
+ /** Handler method name */
249
+ handlerName: string;
250
+ /** Handler location in code-behind */
251
+ handlerLocation: SourceLocation;
252
+ }
253
+ export interface NamedElementLink {
254
+ /** x:Name value */
255
+ xamlName: string;
256
+ /** Element type */
257
+ elementType: string;
258
+ /** Usages in code-behind */
259
+ codeBehindUsages: SourceLocation[];
260
+ }
261
+ /**
262
+ * DataContext resolution result
263
+ */
264
+ export interface DataContextResolution {
265
+ /** XAML file */
266
+ xamlFile: string;
267
+ /** Element path */
268
+ element: string;
269
+ /** Resolved type */
270
+ resolvedType: string | null;
271
+ /** Resolution path */
272
+ resolutionPath: DataContextStep[];
273
+ /** Resolution confidence */
274
+ confidence: 'high' | 'medium' | 'low';
275
+ }
276
+ export interface DataContextStep {
277
+ /** How DataContext was determined */
278
+ source: 'explicit' | 'inherited' | 'design-time' | 'code-behind';
279
+ /** Element where DataContext is set */
280
+ element?: string | undefined;
281
+ /** DataContext type */
282
+ type: string;
283
+ /** Location */
284
+ location?: SourceLocation | undefined;
285
+ }
286
+ export type WpfNodeType = 'xaml-element' | 'xaml-binding' | 'xaml-command' | 'viewmodel-property' | 'viewmodel-command' | 'dependency-property' | 'value-converter' | 'code-behind-handler';
287
+ export interface WpfCallGraphNode {
288
+ /** Unique ID */
289
+ id: string;
290
+ /** Node type */
291
+ type: WpfNodeType;
292
+ /** Display name */
293
+ name: string;
294
+ /** Source file */
295
+ file: string;
296
+ /** Line number */
297
+ line: number;
298
+ /** Additional metadata */
299
+ metadata: WpfNodeMetadata;
300
+ }
301
+ export interface WpfNodeMetadata {
302
+ /** For xaml-binding */
303
+ bindingPath?: string;
304
+ bindingMode?: string;
305
+ /** For viewmodel-property */
306
+ propertyType?: string;
307
+ notifiesChange?: boolean;
308
+ /** For viewmodel-command */
309
+ executeMethod?: string;
310
+ canExecuteMethod?: string;
311
+ /** For dependency-property */
312
+ ownerType?: string;
313
+ defaultValue?: string;
314
+ callbacks?: string[];
315
+ }
316
+ export type WpfEdgeType = 'binds-to' | 'invokes-command' | 'converts-with' | 'handles-event' | 'inherits-context' | 'accesses-data';
317
+ export interface WpfCallGraphEdge {
318
+ /** Source node ID */
319
+ source: string;
320
+ /** Target node ID */
321
+ target: string;
322
+ /** Edge type */
323
+ type: WpfEdgeType;
324
+ /** Confidence score (0-1) */
325
+ confidence: number;
326
+ }
327
+ export interface MvvmComplianceResult {
328
+ /** Compliance score (0-100) */
329
+ score: number;
330
+ /** Violations found */
331
+ violations: MvvmViolation[];
332
+ /** Recommendations */
333
+ recommendations: string[];
334
+ }
335
+ export interface MvvmViolation {
336
+ /** Violation type */
337
+ type: MvvmViolationType;
338
+ /** Severity */
339
+ severity: 'error' | 'warning' | 'info';
340
+ /** File path */
341
+ file: string;
342
+ /** Line number */
343
+ line: number;
344
+ /** Description */
345
+ message: string;
346
+ /** Suggested fix */
347
+ suggestion?: string;
348
+ }
349
+ export type MvvmViolationType = 'logic-in-code-behind' | 'direct-ui-manipulation' | 'missing-inpc' | 'tight-coupling' | 'missing-command' | 'event-handler-with-logic' | 'property-without-notification';
350
+ export interface BindingError {
351
+ /** Error type */
352
+ type: BindingErrorType;
353
+ /** XAML file */
354
+ xamlFile: string;
355
+ /** Line number */
356
+ line: number;
357
+ /** Binding path */
358
+ bindingPath: string;
359
+ /** Error message */
360
+ message: string;
361
+ /** Suggested fix */
362
+ suggestion?: string | undefined;
363
+ }
364
+ export type BindingErrorType = 'missing-property' | 'wrong-type' | 'missing-converter' | 'invalid-path' | 'missing-datacontext' | 'readonly-twoway';
365
+ export interface WpfProjectInfo {
366
+ /** Is this a WPF project */
367
+ isWpfProject: boolean;
368
+ /** Project file path */
369
+ projectFile: string;
370
+ /** Target framework */
371
+ targetFramework: string;
372
+ /** XAML files */
373
+ xamlFiles: string[];
374
+ /** ViewModel files */
375
+ viewModels: string[];
376
+ /** Value converter files */
377
+ converters: string[];
378
+ /** Resource dictionary files */
379
+ resourceDictionaries: string[];
380
+ /** App.xaml path */
381
+ appXaml: string | null;
382
+ }
383
+ export interface XamlExtractionResult {
384
+ /** x:Class value */
385
+ xClass: string | null;
386
+ /** DataContext type */
387
+ dataContextType: string | null;
388
+ /** Extracted bindings */
389
+ bindings: ExtractedBinding[];
390
+ /** Extracted commands */
391
+ commands: ExtractedCommand[];
392
+ /** Extracted resources */
393
+ resources: XamlResource[];
394
+ /** Extraction confidence (0-1) */
395
+ confidence: number;
396
+ /** Extraction method */
397
+ method: 'ast' | 'regex' | 'hybrid';
398
+ /** Parse errors */
399
+ errors: string[];
400
+ }
401
+ export interface ExtractedBinding {
402
+ /** Element name/type */
403
+ elementName: string;
404
+ /** Element type */
405
+ elementType: string;
406
+ /** Target property */
407
+ property: string;
408
+ /** Raw binding expression */
409
+ bindingExpression: string;
410
+ /** Parsed binding */
411
+ parsed: XamlBinding;
412
+ /** Source location */
413
+ location: SourceLocation;
414
+ }
415
+ export interface ExtractedCommand {
416
+ /** Element name/type */
417
+ elementName: string;
418
+ /** Command binding path */
419
+ binding: string;
420
+ /** Command parameter */
421
+ parameter?: string | undefined;
422
+ /** Raw expression */
423
+ raw: string;
424
+ /** Source location */
425
+ location: SourceLocation;
426
+ }
427
+ export interface SourceLocation {
428
+ file: string;
429
+ line: number;
430
+ column?: number;
431
+ }
432
+ /**
433
+ * Extraction quality metrics
434
+ */
435
+ export interface WpfExtractionQuality {
436
+ /** Confidence score (0-1) */
437
+ confidence: number;
438
+ /** Extraction method used */
439
+ method: 'ast' | 'regex' | 'hybrid';
440
+ /** Items extracted */
441
+ itemsExtracted: number;
442
+ /** Parse errors */
443
+ parseErrors: number;
444
+ /** Warnings */
445
+ warnings: string[];
446
+ /** Used fallback */
447
+ usedFallback: boolean;
448
+ /** Extraction time in ms */
449
+ extractionTimeMs: number;
450
+ }
451
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/wpf/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * WPF Framework Support Types
3
+ *
4
+ * Core types for WPF XAML parsing, binding extraction, and ViewModel linking.
5
+ * Enables full call graph analysis across XAML UI layer and C# code-behind/ViewModels.
6
+ */
7
+ export {};
8
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/wpf/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
@@ -0,0 +1,114 @@
1
+ /**
2
+ * WPF Analyzer
3
+ *
4
+ * Main entry point for WPF framework analysis.
5
+ * Coordinates XAML parsing, ViewModel extraction, and linking.
6
+ */
7
+ import type { XamlExtractionResult, ViewModelAnalysis, ViewModelLink, DataContextResolution, WpfProjectInfo, MvvmComplianceResult, BindingError } from './types.js';
8
+ export interface WpfAnalyzerConfig {
9
+ /** Root directory */
10
+ rootDir: string;
11
+ /** Enable verbose logging */
12
+ verbose?: boolean | undefined;
13
+ /** File patterns to include */
14
+ includePatterns?: string[] | undefined;
15
+ /** File patterns to exclude */
16
+ excludePatterns?: string[] | undefined;
17
+ }
18
+ export interface WpfAnalysisResult {
19
+ /** Project info */
20
+ project: WpfProjectInfo | null;
21
+ /** XAML files analyzed */
22
+ xamlFiles: Map<string, XamlExtractionResult>;
23
+ /** ViewModels found */
24
+ viewModels: Map<string, ViewModelAnalysis>;
25
+ /** Binding links */
26
+ links: ViewModelLink[];
27
+ /** DataContext resolutions */
28
+ dataContexts: DataContextResolution[];
29
+ /** Binding errors */
30
+ bindingErrors: BindingError[];
31
+ /** Statistics */
32
+ stats: WpfAnalysisStats;
33
+ }
34
+ export interface WpfAnalysisStats {
35
+ /** Total XAML files */
36
+ xamlFileCount: number;
37
+ /** Total ViewModels */
38
+ viewModelCount: number;
39
+ /** Total bindings */
40
+ totalBindings: number;
41
+ /** Resolved bindings */
42
+ resolvedBindings: number;
43
+ /** Unresolved bindings */
44
+ unresolvedBindings: number;
45
+ /** Total commands */
46
+ totalCommands: number;
47
+ /** Analysis time in ms */
48
+ analysisTimeMs: number;
49
+ }
50
+ export declare class WpfAnalyzer {
51
+ private config;
52
+ private xamlExtractor;
53
+ private viewModelExtractor;
54
+ private dataContextResolver;
55
+ private viewModelLinker;
56
+ constructor(config: WpfAnalyzerConfig);
57
+ /**
58
+ * Analyze a WPF project
59
+ */
60
+ analyze(): Promise<WpfAnalysisResult>;
61
+ /**
62
+ * Find files matching a pattern
63
+ */
64
+ private findFiles;
65
+ /**
66
+ * Detect if this is a WPF project
67
+ */
68
+ detectWpfProject(): Promise<WpfProjectInfo | null>;
69
+ /**
70
+ * Check if csproj content indicates WPF project
71
+ */
72
+ private isWpfProject;
73
+ /**
74
+ * Extract target framework from csproj
75
+ */
76
+ private extractTargetFramework;
77
+ /**
78
+ * Analyze all XAML files
79
+ */
80
+ private analyzeXamlFiles;
81
+ /**
82
+ * Analyze all ViewModel files
83
+ */
84
+ private analyzeViewModels;
85
+ /**
86
+ * Link all bindings to ViewModels
87
+ */
88
+ private linkAllBindings;
89
+ /**
90
+ * Calculate analysis statistics
91
+ */
92
+ private calculateStats;
93
+ /**
94
+ * Check MVVM compliance
95
+ */
96
+ checkMvvmCompliance(): Promise<MvvmComplianceResult>;
97
+ /**
98
+ * Get all bindings with their resolution status
99
+ */
100
+ getBindingsReport(): Promise<{
101
+ resolved: ViewModelLink[];
102
+ unresolved: BindingError[];
103
+ stats: {
104
+ total: number;
105
+ resolved: number;
106
+ unresolved: number;
107
+ };
108
+ }>;
109
+ }
110
+ /**
111
+ * Factory function
112
+ */
113
+ export declare function createWpfAnalyzer(config: WpfAnalyzerConfig): WpfAnalyzer;
114
+ //# sourceMappingURL=wpf-analyzer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wpf-analyzer.d.ts","sourceRoot":"","sources":["../../src/wpf/wpf-analyzer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EACV,oBAAoB,EACpB,iBAAiB,EACjB,aAAa,EACb,qBAAqB,EACrB,cAAc,EACd,oBAAoB,EAEpB,YAAY,EACb,MAAM,YAAY,CAAC;AAUpB,MAAM,WAAW,iBAAiB;IAChC,qBAAqB;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,6BAA6B;IAC7B,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,+BAA+B;IAC/B,eAAe,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IACvC,+BAA+B;IAC/B,eAAe,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;CACxC;AAYD,MAAM,WAAW,iBAAiB;IAChC,mBAAmB;IACnB,OAAO,EAAE,cAAc,GAAG,IAAI,CAAC;IAC/B,0BAA0B;IAC1B,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IAC7C,uBAAuB;IACvB,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAC3C,oBAAoB;IACpB,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,8BAA8B;IAC9B,YAAY,EAAE,qBAAqB,EAAE,CAAC;IACtC,qBAAqB;IACrB,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,iBAAiB;IACjB,KAAK,EAAE,gBAAgB,CAAC;CACzB;AAED,MAAM,WAAW,gBAAgB;IAC/B,uBAAuB;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,uBAAuB;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,qBAAqB;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,wBAAwB;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,0BAA0B;IAC1B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,qBAAqB;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,0BAA0B;IAC1B,cAAc,EAAE,MAAM,CAAC;CACxB;AAMD,qBAAa,WAAW;IACtB,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,aAAa,CAAsB;IAC3C,OAAO,CAAC,kBAAkB,CAA2B;IACrD,OAAO,CAAC,mBAAmB,CAAsB;IACjD,OAAO,CAAC,eAAe,CAAkB;gBAE7B,MAAM,EAAE,iBAAiB;IAQrC;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,iBAAiB,CAAC;IA0C3C;;OAEG;YACW,SAAS;IAkCvB;;OAEG;IACG,gBAAgB,IAAI,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAoCxD;;OAEG;IACH,OAAO,CAAC,YAAY;IAYpB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAK9B;;OAEG;YACW,gBAAgB;IAyB9B;;OAEG;YACW,iBAAiB;IA4B/B;;OAEG;YACW,eAAe;IAsC7B;;OAEG;IACH,OAAO,CAAC,cAAc;IA2BtB;;OAEG;IACG,mBAAmB,IAAI,OAAO,CAAC,oBAAoB,CAAC;IA6D1D;;OAEG;IACG,iBAAiB,IAAI,OAAO,CAAC;QACjC,QAAQ,EAAE,aAAa,EAAE,CAAC;QAC1B,UAAU,EAAE,YAAY,EAAE,CAAC;QAC3B,KAAK,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,CAAA;SAAE,CAAC;KAChE,CAAC;CAaH;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,iBAAiB,GAAG,WAAW,CAExE"}