driftdetect-core 0.4.6 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (325) hide show
  1. package/dist/call-graph/extractors/csharp-data-access-extractor.d.ts +8 -0
  2. package/dist/call-graph/extractors/csharp-data-access-extractor.d.ts.map +1 -1
  3. package/dist/call-graph/extractors/csharp-data-access-extractor.js +8 -0
  4. package/dist/call-graph/extractors/csharp-data-access-extractor.js.map +1 -1
  5. package/dist/call-graph/extractors/csharp-extractor.d.ts +35 -0
  6. package/dist/call-graph/extractors/csharp-extractor.d.ts.map +1 -1
  7. package/dist/call-graph/extractors/csharp-extractor.js +362 -4
  8. package/dist/call-graph/extractors/csharp-extractor.js.map +1 -1
  9. package/dist/call-graph/extractors/csharp-hybrid-extractor.d.ts +37 -0
  10. package/dist/call-graph/extractors/csharp-hybrid-extractor.d.ts.map +1 -0
  11. package/dist/call-graph/extractors/csharp-hybrid-extractor.js +408 -0
  12. package/dist/call-graph/extractors/csharp-hybrid-extractor.js.map +1 -0
  13. package/dist/call-graph/extractors/hybrid-extractor-base.d.ts +102 -0
  14. package/dist/call-graph/extractors/hybrid-extractor-base.d.ts.map +1 -0
  15. package/dist/call-graph/extractors/hybrid-extractor-base.js +289 -0
  16. package/dist/call-graph/extractors/hybrid-extractor-base.js.map +1 -0
  17. package/dist/call-graph/extractors/index.d.ts +17 -13
  18. package/dist/call-graph/extractors/index.d.ts.map +1 -1
  19. package/dist/call-graph/extractors/index.js +24 -23
  20. package/dist/call-graph/extractors/index.js.map +1 -1
  21. package/dist/call-graph/extractors/java-data-access-extractor.d.ts +8 -0
  22. package/dist/call-graph/extractors/java-data-access-extractor.d.ts.map +1 -1
  23. package/dist/call-graph/extractors/java-data-access-extractor.js +8 -0
  24. package/dist/call-graph/extractors/java-data-access-extractor.js.map +1 -1
  25. package/dist/call-graph/extractors/java-extractor.d.ts +15 -0
  26. package/dist/call-graph/extractors/java-extractor.d.ts.map +1 -1
  27. package/dist/call-graph/extractors/java-extractor.js +120 -4
  28. package/dist/call-graph/extractors/java-extractor.js.map +1 -1
  29. package/dist/call-graph/extractors/java-hybrid-extractor.d.ts +36 -0
  30. package/dist/call-graph/extractors/java-hybrid-extractor.d.ts.map +1 -0
  31. package/dist/call-graph/extractors/java-hybrid-extractor.js +426 -0
  32. package/dist/call-graph/extractors/java-hybrid-extractor.js.map +1 -0
  33. package/dist/call-graph/extractors/php-data-access-extractor.d.ts +8 -0
  34. package/dist/call-graph/extractors/php-data-access-extractor.d.ts.map +1 -1
  35. package/dist/call-graph/extractors/php-data-access-extractor.js +8 -0
  36. package/dist/call-graph/extractors/php-data-access-extractor.js.map +1 -1
  37. package/dist/call-graph/extractors/php-extractor.d.ts +48 -1
  38. package/dist/call-graph/extractors/php-extractor.d.ts.map +1 -1
  39. package/dist/call-graph/extractors/php-extractor.js +460 -6
  40. package/dist/call-graph/extractors/php-extractor.js.map +1 -1
  41. package/dist/call-graph/extractors/php-hybrid-extractor.d.ts +35 -0
  42. package/dist/call-graph/extractors/php-hybrid-extractor.d.ts.map +1 -0
  43. package/dist/call-graph/extractors/php-hybrid-extractor.js +393 -0
  44. package/dist/call-graph/extractors/php-hybrid-extractor.js.map +1 -0
  45. package/dist/call-graph/extractors/python-data-access-extractor.d.ts +8 -0
  46. package/dist/call-graph/extractors/python-data-access-extractor.d.ts.map +1 -1
  47. package/dist/call-graph/extractors/python-data-access-extractor.js +8 -0
  48. package/dist/call-graph/extractors/python-data-access-extractor.js.map +1 -1
  49. package/dist/call-graph/extractors/python-hybrid-extractor.d.ts +85 -0
  50. package/dist/call-graph/extractors/python-hybrid-extractor.d.ts.map +1 -0
  51. package/dist/call-graph/extractors/python-hybrid-extractor.js +462 -0
  52. package/dist/call-graph/extractors/python-hybrid-extractor.js.map +1 -0
  53. package/dist/call-graph/extractors/regex/base-regex-extractor.d.ts +154 -0
  54. package/dist/call-graph/extractors/regex/base-regex-extractor.d.ts.map +1 -0
  55. package/dist/call-graph/extractors/regex/base-regex-extractor.js +346 -0
  56. package/dist/call-graph/extractors/regex/base-regex-extractor.js.map +1 -0
  57. package/dist/call-graph/extractors/regex/csharp-regex.d.ts +34 -0
  58. package/dist/call-graph/extractors/regex/csharp-regex.d.ts.map +1 -0
  59. package/dist/call-graph/extractors/regex/csharp-regex.js +393 -0
  60. package/dist/call-graph/extractors/regex/csharp-regex.js.map +1 -0
  61. package/dist/call-graph/extractors/regex/index.d.ts +25 -0
  62. package/dist/call-graph/extractors/regex/index.d.ts.map +1 -0
  63. package/dist/call-graph/extractors/regex/index.js +66 -0
  64. package/dist/call-graph/extractors/regex/index.js.map +1 -0
  65. package/dist/call-graph/extractors/regex/java-regex.d.ts +34 -0
  66. package/dist/call-graph/extractors/regex/java-regex.d.ts.map +1 -0
  67. package/dist/call-graph/extractors/regex/java-regex.js +327 -0
  68. package/dist/call-graph/extractors/regex/java-regex.js.map +1 -0
  69. package/dist/call-graph/extractors/regex/php-regex.d.ts +30 -0
  70. package/dist/call-graph/extractors/regex/php-regex.d.ts.map +1 -0
  71. package/dist/call-graph/extractors/regex/php-regex.js +333 -0
  72. package/dist/call-graph/extractors/regex/php-regex.js.map +1 -0
  73. package/dist/call-graph/extractors/regex/python-regex.d.ts +46 -0
  74. package/dist/call-graph/extractors/regex/python-regex.d.ts.map +1 -0
  75. package/dist/call-graph/extractors/regex/python-regex.js +380 -0
  76. package/dist/call-graph/extractors/regex/python-regex.js.map +1 -0
  77. package/dist/call-graph/extractors/regex/typescript-regex.d.ts +27 -0
  78. package/dist/call-graph/extractors/regex/typescript-regex.d.ts.map +1 -0
  79. package/dist/call-graph/extractors/regex/typescript-regex.js +349 -0
  80. package/dist/call-graph/extractors/regex/typescript-regex.js.map +1 -0
  81. package/dist/call-graph/extractors/semantic-data-access-scanner.d.ts +7 -0
  82. package/dist/call-graph/extractors/semantic-data-access-scanner.d.ts.map +1 -1
  83. package/dist/call-graph/extractors/semantic-data-access-scanner.js +7 -0
  84. package/dist/call-graph/extractors/semantic-data-access-scanner.js.map +1 -1
  85. package/dist/call-graph/extractors/types.d.ts +111 -0
  86. package/dist/call-graph/extractors/types.d.ts.map +1 -0
  87. package/dist/call-graph/extractors/types.js +68 -0
  88. package/dist/call-graph/extractors/types.js.map +1 -0
  89. package/dist/call-graph/extractors/typescript-data-access-extractor.d.ts +8 -0
  90. package/dist/call-graph/extractors/typescript-data-access-extractor.d.ts.map +1 -1
  91. package/dist/call-graph/extractors/typescript-data-access-extractor.js +8 -0
  92. package/dist/call-graph/extractors/typescript-data-access-extractor.js.map +1 -1
  93. package/dist/call-graph/extractors/typescript-hybrid-extractor.d.ts +116 -0
  94. package/dist/call-graph/extractors/typescript-hybrid-extractor.d.ts.map +1 -0
  95. package/dist/call-graph/extractors/typescript-hybrid-extractor.js +635 -0
  96. package/dist/call-graph/extractors/typescript-hybrid-extractor.js.map +1 -0
  97. package/dist/error-handling/error-handling-analyzer.d.ts +73 -0
  98. package/dist/error-handling/error-handling-analyzer.d.ts.map +1 -0
  99. package/dist/error-handling/error-handling-analyzer.js +706 -0
  100. package/dist/error-handling/error-handling-analyzer.js.map +1 -0
  101. package/dist/error-handling/index.d.ts +8 -0
  102. package/dist/error-handling/index.d.ts.map +1 -0
  103. package/dist/error-handling/index.js +8 -0
  104. package/dist/error-handling/index.js.map +1 -0
  105. package/dist/error-handling/types.d.ts +307 -0
  106. package/dist/error-handling/types.d.ts.map +1 -0
  107. package/dist/error-handling/types.js +7 -0
  108. package/dist/error-handling/types.js.map +1 -0
  109. package/dist/index.d.ts +14 -0
  110. package/dist/index.d.ts.map +1 -1
  111. package/dist/index.js +29 -0
  112. package/dist/index.js.map +1 -1
  113. package/dist/lake/pattern-shard-store.d.ts +6 -0
  114. package/dist/lake/pattern-shard-store.d.ts.map +1 -1
  115. package/dist/lake/pattern-shard-store.js +6 -0
  116. package/dist/lake/pattern-shard-store.js.map +1 -1
  117. package/dist/module-coupling/coupling-analyzer.d.ts +73 -0
  118. package/dist/module-coupling/coupling-analyzer.d.ts.map +1 -0
  119. package/dist/module-coupling/coupling-analyzer.js +668 -0
  120. package/dist/module-coupling/coupling-analyzer.js.map +1 -0
  121. package/dist/module-coupling/index.d.ts +9 -0
  122. package/dist/module-coupling/index.d.ts.map +1 -0
  123. package/dist/module-coupling/index.js +9 -0
  124. package/dist/module-coupling/index.js.map +1 -0
  125. package/dist/module-coupling/types.d.ts +273 -0
  126. package/dist/module-coupling/types.d.ts.map +1 -0
  127. package/dist/module-coupling/types.js +8 -0
  128. package/dist/module-coupling/types.js.map +1 -0
  129. package/dist/patterns/adapters/index.d.ts +11 -0
  130. package/dist/patterns/adapters/index.d.ts.map +1 -0
  131. package/dist/patterns/adapters/index.js +11 -0
  132. package/dist/patterns/adapters/index.js.map +1 -0
  133. package/dist/patterns/adapters/pattern-store-adapter.d.ts +59 -0
  134. package/dist/patterns/adapters/pattern-store-adapter.d.ts.map +1 -0
  135. package/dist/patterns/adapters/pattern-store-adapter.js +468 -0
  136. package/dist/patterns/adapters/pattern-store-adapter.js.map +1 -0
  137. package/dist/patterns/adapters/service-factory.d.ts +40 -0
  138. package/dist/patterns/adapters/service-factory.d.ts.map +1 -0
  139. package/dist/patterns/adapters/service-factory.js +144 -0
  140. package/dist/patterns/adapters/service-factory.js.map +1 -0
  141. package/dist/patterns/errors.d.ts +32 -0
  142. package/dist/patterns/errors.d.ts.map +1 -0
  143. package/dist/patterns/errors.js +45 -0
  144. package/dist/patterns/errors.js.map +1 -0
  145. package/dist/patterns/impl/cached-repository.d.ts +79 -0
  146. package/dist/patterns/impl/cached-repository.d.ts.map +1 -0
  147. package/dist/patterns/impl/cached-repository.js +296 -0
  148. package/dist/patterns/impl/cached-repository.js.map +1 -0
  149. package/dist/patterns/impl/file-repository.d.ts +75 -0
  150. package/dist/patterns/impl/file-repository.d.ts.map +1 -0
  151. package/dist/patterns/impl/file-repository.js +507 -0
  152. package/dist/patterns/impl/file-repository.js.map +1 -0
  153. package/dist/patterns/impl/index.d.ts +16 -0
  154. package/dist/patterns/impl/index.d.ts.map +1 -0
  155. package/dist/patterns/impl/index.js +21 -0
  156. package/dist/patterns/impl/index.js.map +1 -0
  157. package/dist/patterns/impl/memory-repository.d.ts +56 -0
  158. package/dist/patterns/impl/memory-repository.d.ts.map +1 -0
  159. package/dist/patterns/impl/memory-repository.js +323 -0
  160. package/dist/patterns/impl/memory-repository.js.map +1 -0
  161. package/dist/patterns/impl/pattern-service.d.ts +52 -0
  162. package/dist/patterns/impl/pattern-service.d.ts.map +1 -0
  163. package/dist/patterns/impl/pattern-service.js +382 -0
  164. package/dist/patterns/impl/pattern-service.js.map +1 -0
  165. package/dist/patterns/impl/repository-factory.d.ts +44 -0
  166. package/dist/patterns/impl/repository-factory.d.ts.map +1 -0
  167. package/dist/patterns/impl/repository-factory.js +140 -0
  168. package/dist/patterns/impl/repository-factory.js.map +1 -0
  169. package/dist/patterns/impl/unified-file-repository.d.ts +111 -0
  170. package/dist/patterns/impl/unified-file-repository.d.ts.map +1 -0
  171. package/dist/patterns/impl/unified-file-repository.js +677 -0
  172. package/dist/patterns/impl/unified-file-repository.js.map +1 -0
  173. package/dist/patterns/index.d.ts +23 -0
  174. package/dist/patterns/index.d.ts.map +1 -0
  175. package/dist/patterns/index.js +41 -0
  176. package/dist/patterns/index.js.map +1 -0
  177. package/dist/patterns/repository.d.ts +241 -0
  178. package/dist/patterns/repository.d.ts.map +1 -0
  179. package/dist/patterns/repository.js +23 -0
  180. package/dist/patterns/repository.js.map +1 -0
  181. package/dist/patterns/service.d.ts +245 -0
  182. package/dist/patterns/service.d.ts.map +1 -0
  183. package/dist/patterns/service.js +25 -0
  184. package/dist/patterns/service.js.map +1 -0
  185. package/dist/patterns/types.d.ts +227 -0
  186. package/dist/patterns/types.d.ts.map +1 -0
  187. package/dist/patterns/types.js +117 -0
  188. package/dist/patterns/types.js.map +1 -0
  189. package/dist/store/pattern-store.d.ts +6 -0
  190. package/dist/store/pattern-store.d.ts.map +1 -1
  191. package/dist/store/pattern-store.js +6 -0
  192. package/dist/store/pattern-store.js.map +1 -1
  193. package/dist/test-topology/extractors/base-test-extractor.d.ts +89 -0
  194. package/dist/test-topology/extractors/base-test-extractor.d.ts.map +1 -0
  195. package/dist/test-topology/extractors/base-test-extractor.js +187 -0
  196. package/dist/test-topology/extractors/base-test-extractor.js.map +1 -0
  197. package/dist/test-topology/extractors/csharp-test-extractor.d.ts +23 -0
  198. package/dist/test-topology/extractors/csharp-test-extractor.d.ts.map +1 -0
  199. package/dist/test-topology/extractors/csharp-test-extractor.js +367 -0
  200. package/dist/test-topology/extractors/csharp-test-extractor.js.map +1 -0
  201. package/dist/test-topology/extractors/index.d.ts +12 -0
  202. package/dist/test-topology/extractors/index.d.ts.map +1 -0
  203. package/dist/test-topology/extractors/index.js +12 -0
  204. package/dist/test-topology/extractors/index.js.map +1 -0
  205. package/dist/test-topology/extractors/java-test-extractor.d.ts +20 -0
  206. package/dist/test-topology/extractors/java-test-extractor.d.ts.map +1 -0
  207. package/dist/test-topology/extractors/java-test-extractor.js +275 -0
  208. package/dist/test-topology/extractors/java-test-extractor.js.map +1 -0
  209. package/dist/test-topology/extractors/php-test-extractor.d.ts +24 -0
  210. package/dist/test-topology/extractors/php-test-extractor.d.ts.map +1 -0
  211. package/dist/test-topology/extractors/php-test-extractor.js +409 -0
  212. package/dist/test-topology/extractors/php-test-extractor.js.map +1 -0
  213. package/dist/test-topology/extractors/python-test-extractor.d.ts +23 -0
  214. package/dist/test-topology/extractors/python-test-extractor.d.ts.map +1 -0
  215. package/dist/test-topology/extractors/python-test-extractor.js +342 -0
  216. package/dist/test-topology/extractors/python-test-extractor.js.map +1 -0
  217. package/dist/test-topology/extractors/regex/csharp-test-regex.d.ts +51 -0
  218. package/dist/test-topology/extractors/regex/csharp-test-regex.d.ts.map +1 -0
  219. package/dist/test-topology/extractors/regex/csharp-test-regex.js +383 -0
  220. package/dist/test-topology/extractors/regex/csharp-test-regex.js.map +1 -0
  221. package/dist/test-topology/extractors/regex/index.d.ts +18 -0
  222. package/dist/test-topology/extractors/regex/index.d.ts.map +1 -0
  223. package/dist/test-topology/extractors/regex/index.js +43 -0
  224. package/dist/test-topology/extractors/regex/index.js.map +1 -0
  225. package/dist/test-topology/extractors/regex/java-test-regex.d.ts +50 -0
  226. package/dist/test-topology/extractors/regex/java-test-regex.d.ts.map +1 -0
  227. package/dist/test-topology/extractors/regex/java-test-regex.js +370 -0
  228. package/dist/test-topology/extractors/regex/java-test-regex.js.map +1 -0
  229. package/dist/test-topology/extractors/regex/php-test-regex.d.ts +56 -0
  230. package/dist/test-topology/extractors/regex/php-test-regex.d.ts.map +1 -0
  231. package/dist/test-topology/extractors/regex/php-test-regex.js +503 -0
  232. package/dist/test-topology/extractors/regex/php-test-regex.js.map +1 -0
  233. package/dist/test-topology/extractors/regex/python-test-regex.d.ts +57 -0
  234. package/dist/test-topology/extractors/regex/python-test-regex.d.ts.map +1 -0
  235. package/dist/test-topology/extractors/regex/python-test-regex.js +381 -0
  236. package/dist/test-topology/extractors/regex/python-test-regex.js.map +1 -0
  237. package/dist/test-topology/extractors/regex/typescript-test-regex.d.ts +60 -0
  238. package/dist/test-topology/extractors/regex/typescript-test-regex.d.ts.map +1 -0
  239. package/dist/test-topology/extractors/regex/typescript-test-regex.js +368 -0
  240. package/dist/test-topology/extractors/regex/typescript-test-regex.js.map +1 -0
  241. package/dist/test-topology/extractors/typescript-test-extractor.d.ts +24 -0
  242. package/dist/test-topology/extractors/typescript-test-extractor.d.ts.map +1 -0
  243. package/dist/test-topology/extractors/typescript-test-extractor.js +266 -0
  244. package/dist/test-topology/extractors/typescript-test-extractor.js.map +1 -0
  245. package/dist/test-topology/hybrid-test-topology-analyzer.d.ts +98 -0
  246. package/dist/test-topology/hybrid-test-topology-analyzer.d.ts.map +1 -0
  247. package/dist/test-topology/hybrid-test-topology-analyzer.js +555 -0
  248. package/dist/test-topology/hybrid-test-topology-analyzer.js.map +1 -0
  249. package/dist/test-topology/index.d.ts +16 -0
  250. package/dist/test-topology/index.d.ts.map +1 -0
  251. package/dist/test-topology/index.js +19 -0
  252. package/dist/test-topology/index.js.map +1 -0
  253. package/dist/test-topology/test-topology-analyzer.d.ts +85 -0
  254. package/dist/test-topology/test-topology-analyzer.d.ts.map +1 -0
  255. package/dist/test-topology/test-topology-analyzer.js +538 -0
  256. package/dist/test-topology/test-topology-analyzer.js.map +1 -0
  257. package/dist/test-topology/types.d.ts +300 -0
  258. package/dist/test-topology/types.d.ts.map +1 -0
  259. package/dist/test-topology/types.js +7 -0
  260. package/dist/test-topology/types.js.map +1 -0
  261. package/dist/wrappers/clustering/clusterer.d.ts +43 -0
  262. package/dist/wrappers/clustering/clusterer.d.ts.map +1 -0
  263. package/dist/wrappers/clustering/clusterer.js +374 -0
  264. package/dist/wrappers/clustering/clusterer.js.map +1 -0
  265. package/dist/wrappers/clustering/exclusions.d.ts +47 -0
  266. package/dist/wrappers/clustering/exclusions.d.ts.map +1 -0
  267. package/dist/wrappers/clustering/exclusions.js +318 -0
  268. package/dist/wrappers/clustering/exclusions.js.map +1 -0
  269. package/dist/wrappers/clustering/index.d.ts +6 -0
  270. package/dist/wrappers/clustering/index.d.ts.map +1 -0
  271. package/dist/wrappers/clustering/index.js +6 -0
  272. package/dist/wrappers/clustering/index.js.map +1 -0
  273. package/dist/wrappers/detection/detector.d.ts +69 -0
  274. package/dist/wrappers/detection/detector.d.ts.map +1 -0
  275. package/dist/wrappers/detection/detector.js +279 -0
  276. package/dist/wrappers/detection/detector.js.map +1 -0
  277. package/dist/wrappers/detection/index.d.ts +5 -0
  278. package/dist/wrappers/detection/index.d.ts.map +1 -0
  279. package/dist/wrappers/detection/index.js +5 -0
  280. package/dist/wrappers/detection/index.js.map +1 -0
  281. package/dist/wrappers/export/index.d.ts +5 -0
  282. package/dist/wrappers/export/index.d.ts.map +1 -0
  283. package/dist/wrappers/export/index.js +5 -0
  284. package/dist/wrappers/export/index.js.map +1 -0
  285. package/dist/wrappers/export/json.d.ts +127 -0
  286. package/dist/wrappers/export/json.d.ts.map +1 -0
  287. package/dist/wrappers/export/json.js +160 -0
  288. package/dist/wrappers/export/json.js.map +1 -0
  289. package/dist/wrappers/index.d.ts +56 -0
  290. package/dist/wrappers/index.d.ts.map +1 -0
  291. package/dist/wrappers/index.js +159 -0
  292. package/dist/wrappers/index.js.map +1 -0
  293. package/dist/wrappers/integration/adapter.d.ts +52 -0
  294. package/dist/wrappers/integration/adapter.d.ts.map +1 -0
  295. package/dist/wrappers/integration/adapter.js +209 -0
  296. package/dist/wrappers/integration/adapter.js.map +1 -0
  297. package/dist/wrappers/integration/index.d.ts +9 -0
  298. package/dist/wrappers/integration/index.d.ts.map +1 -0
  299. package/dist/wrappers/integration/index.js +12 -0
  300. package/dist/wrappers/integration/index.js.map +1 -0
  301. package/dist/wrappers/integration/pattern-adapter.d.ts +52 -0
  302. package/dist/wrappers/integration/pattern-adapter.d.ts.map +1 -0
  303. package/dist/wrappers/integration/pattern-adapter.js +192 -0
  304. package/dist/wrappers/integration/pattern-adapter.js.map +1 -0
  305. package/dist/wrappers/integration/scanner.d.ts +85 -0
  306. package/dist/wrappers/integration/scanner.d.ts.map +1 -0
  307. package/dist/wrappers/integration/scanner.js +367 -0
  308. package/dist/wrappers/integration/scanner.js.map +1 -0
  309. package/dist/wrappers/primitives/discovery.d.ts +57 -0
  310. package/dist/wrappers/primitives/discovery.d.ts.map +1 -0
  311. package/dist/wrappers/primitives/discovery.js +389 -0
  312. package/dist/wrappers/primitives/discovery.js.map +1 -0
  313. package/dist/wrappers/primitives/index.d.ts +6 -0
  314. package/dist/wrappers/primitives/index.d.ts.map +1 -0
  315. package/dist/wrappers/primitives/index.js +6 -0
  316. package/dist/wrappers/primitives/index.js.map +1 -0
  317. package/dist/wrappers/primitives/registry.d.ts +63 -0
  318. package/dist/wrappers/primitives/registry.d.ts.map +1 -0
  319. package/dist/wrappers/primitives/registry.js +447 -0
  320. package/dist/wrappers/primitives/registry.js.map +1 -0
  321. package/dist/wrappers/types.d.ts +137 -0
  322. package/dist/wrappers/types.d.ts.map +1 -0
  323. package/dist/wrappers/types.js +7 -0
  324. package/dist/wrappers/types.js.map +1 -0
  325. package/package.json +5 -1
@@ -0,0 +1,57 @@
1
+ /**
2
+ * Primitive Discovery
3
+ *
4
+ * Discovers framework primitives from imports, decorators, and usage patterns.
5
+ */
6
+ import type { DetectedPrimitive, SupportedLanguage, FrameworkDetectionResult } from '../types.js';
7
+ export interface ImportInfo {
8
+ source: string;
9
+ names: Array<{
10
+ imported: string;
11
+ local: string;
12
+ isDefault: boolean;
13
+ }>;
14
+ line: number;
15
+ isTypeOnly: boolean;
16
+ }
17
+ export interface DecoratorUsage {
18
+ name: string;
19
+ file: string;
20
+ line: number;
21
+ arguments?: string[];
22
+ }
23
+ export interface FunctionUsage {
24
+ name: string;
25
+ file: string;
26
+ line: number;
27
+ isMethodCall?: boolean | undefined;
28
+ receiver?: string | undefined;
29
+ }
30
+ export interface DiscoveryContext {
31
+ language: SupportedLanguage;
32
+ imports: ImportInfo[];
33
+ decorators: DecoratorUsage[];
34
+ functionUsages: FunctionUsage[];
35
+ packageJson?: Record<string, unknown>;
36
+ }
37
+ /**
38
+ * Detect which frameworks are used in the codebase
39
+ */
40
+ export declare function detectFrameworks(context: DiscoveryContext): FrameworkDetectionResult[];
41
+ /**
42
+ * Discover all primitives used in the codebase
43
+ */
44
+ export declare function discoverPrimitives(context: DiscoveryContext): DetectedPrimitive[];
45
+ /**
46
+ * Filter primitives by minimum confidence
47
+ */
48
+ export declare function filterByConfidence(primitives: DetectedPrimitive[], minConfidence: number): DetectedPrimitive[];
49
+ /**
50
+ * Group primitives by framework
51
+ */
52
+ export declare function groupByFramework(primitives: DetectedPrimitive[]): Map<string, DetectedPrimitive[]>;
53
+ /**
54
+ * Group primitives by category
55
+ */
56
+ export declare function groupByCategory(primitives: DetectedPrimitive[]): Map<string, DetectedPrimitive[]>;
57
+ //# sourceMappingURL=discovery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../../../src/wrappers/primitives/discovery.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,iBAAiB,EACjB,iBAAiB,EACjB,wBAAwB,EACzB,MAAM,aAAa,CAAC;AAYrB,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,KAAK,CAAC;QACX,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,OAAO,CAAC;KACpB,CAAC,CAAC;IACH,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACnC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,UAAU,EAAE,cAAc,EAAE,CAAC;IAC7B,cAAc,EAAE,aAAa,EAAE,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACvC;AA6DD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,GAAG,wBAAwB,EAAE,CA0DtF;AA0DD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,gBAAgB,GAAG,iBAAiB,EAAE,CA8CjF;AA0LD;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,iBAAiB,EAAE,EAC/B,aAAa,EAAE,MAAM,GACpB,iBAAiB,EAAE,CAErB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,iBAAiB,EAAE,GAC9B,GAAG,CAAC,MAAM,EAAE,iBAAiB,EAAE,CAAC,CASlC;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,UAAU,EAAE,iBAAiB,EAAE,GAC9B,GAAG,CAAC,MAAM,EAAE,iBAAiB,EAAE,CAAC,CASlC"}
@@ -0,0 +1,389 @@
1
+ /**
2
+ * Primitive Discovery
3
+ *
4
+ * Discovers framework primitives from imports, decorators, and usage patterns.
5
+ */
6
+ import { ALL_PRIMITIVES, findPrimitiveFramework, looksLikePrimitive, getPrimitiveNames, } from './registry.js';
7
+ // =============================================================================
8
+ // Framework Detection
9
+ // =============================================================================
10
+ const FRAMEWORK_PACKAGE_MAP = {
11
+ // TypeScript/JavaScript
12
+ react: ['react', 'react-dom'],
13
+ 'tanstack-query': ['@tanstack/react-query', 'react-query'],
14
+ swr: ['swr'],
15
+ apollo: ['@apollo/client', 'apollo-client'],
16
+ urql: ['urql', '@urql/core'],
17
+ redux: ['react-redux', 'redux', '@reduxjs/toolkit'],
18
+ zustand: ['zustand'],
19
+ jotai: ['jotai'],
20
+ recoil: ['recoil'],
21
+ 'react-hook-form': ['react-hook-form'],
22
+ formik: ['formik'],
23
+ 'react-router': ['react-router', 'react-router-dom'],
24
+ next: ['next'],
25
+ vue: ['vue'],
26
+ 'vue-router': ['vue-router'],
27
+ pinia: ['pinia'],
28
+ svelte: ['svelte'],
29
+ angular: ['@angular/core'],
30
+ express: ['express'],
31
+ jest: ['jest', '@jest/globals'],
32
+ vitest: ['vitest'],
33
+ '@testing-library/react': ['@testing-library/react'],
34
+ // Python (detected via imports)
35
+ fastapi: ['fastapi'],
36
+ django: ['django'],
37
+ flask: ['flask'],
38
+ sqlalchemy: ['sqlalchemy'],
39
+ celery: ['celery'],
40
+ pydantic: ['pydantic'],
41
+ pytest: ['pytest'],
42
+ // Java (detected via imports/annotations)
43
+ spring: ['org.springframework'],
44
+ 'spring-boot': ['org.springframework.boot'],
45
+ junit5: ['org.junit.jupiter'],
46
+ mockito: ['org.mockito'],
47
+ // C# (detected via using statements)
48
+ aspnet: ['Microsoft.AspNetCore'],
49
+ efcore: ['Microsoft.EntityFrameworkCore'],
50
+ xunit: ['Xunit'],
51
+ nunit: ['NUnit'],
52
+ moq: ['Moq'],
53
+ // PHP (detected via use statements)
54
+ laravel: ['Illuminate'],
55
+ symfony: ['Symfony'],
56
+ phpunit: ['PHPUnit'],
57
+ pest: ['Pest'],
58
+ };
59
+ /**
60
+ * Detect which frameworks are used in the codebase
61
+ */
62
+ export function detectFrameworks(context) {
63
+ const results = [];
64
+ const seen = new Set();
65
+ // 1. Check package.json dependencies (highest confidence for JS/TS)
66
+ if (context.packageJson && context.language === 'typescript') {
67
+ const deps = {
68
+ ...(context.packageJson['dependencies'] || {}),
69
+ ...(context.packageJson['devDependencies'] || {}),
70
+ };
71
+ for (const [framework, packages] of Object.entries(FRAMEWORK_PACKAGE_MAP)) {
72
+ for (const pkg of packages) {
73
+ if (deps[pkg] && !seen.has(framework)) {
74
+ seen.add(framework);
75
+ results.push({
76
+ framework,
77
+ version: deps[pkg],
78
+ confidence: 1.0,
79
+ detectedVia: 'package.json',
80
+ });
81
+ }
82
+ }
83
+ }
84
+ }
85
+ // 2. Check imports
86
+ for (const imp of context.imports) {
87
+ for (const [framework, packages] of Object.entries(FRAMEWORK_PACKAGE_MAP)) {
88
+ if (seen.has(framework))
89
+ continue;
90
+ const matches = packages.some((pkg) => imp.source === pkg || imp.source.startsWith(`${pkg}/`));
91
+ if (matches) {
92
+ seen.add(framework);
93
+ results.push({
94
+ framework,
95
+ confidence: 0.9,
96
+ detectedVia: 'import',
97
+ });
98
+ }
99
+ }
100
+ }
101
+ // 3. Check decorators (for Python, Java, C#, PHP)
102
+ if (context.language !== 'typescript') {
103
+ const decoratorFrameworks = inferFrameworksFromDecorators(context.decorators, context.language);
104
+ for (const fw of decoratorFrameworks) {
105
+ if (!seen.has(fw.framework)) {
106
+ seen.add(fw.framework);
107
+ results.push(fw);
108
+ }
109
+ }
110
+ }
111
+ return results;
112
+ }
113
+ /**
114
+ * Infer frameworks from decorator usage
115
+ */
116
+ function inferFrameworksFromDecorators(decorators, language) {
117
+ const results = [];
118
+ const decoratorNames = new Set(decorators.map((d) => d.name));
119
+ // Spring decorators
120
+ if (language === 'java') {
121
+ const springDecorators = ['@Autowired', '@Component', '@Service', '@Repository', '@Controller', '@RestController'];
122
+ if (springDecorators.some((d) => decoratorNames.has(d))) {
123
+ results.push({ framework: 'spring', confidence: 0.95, detectedVia: 'decorator' });
124
+ }
125
+ const springBootDecorators = ['@SpringBootApplication', '@EnableAutoConfiguration'];
126
+ if (springBootDecorators.some((d) => decoratorNames.has(d))) {
127
+ results.push({ framework: 'spring-boot', confidence: 0.95, detectedVia: 'decorator' });
128
+ }
129
+ }
130
+ // Python decorators
131
+ if (language === 'python') {
132
+ if (decoratorNames.has('fixture') || decoratorNames.has('pytest.fixture')) {
133
+ results.push({ framework: 'pytest', confidence: 0.9, detectedVia: 'decorator' });
134
+ }
135
+ if (decoratorNames.has('login_required') || decoratorNames.has('permission_required')) {
136
+ results.push({ framework: 'django', confidence: 0.85, detectedVia: 'decorator' });
137
+ }
138
+ }
139
+ // C# attributes
140
+ if (language === 'csharp') {
141
+ const aspnetAttrs = ['[HttpGet]', '[HttpPost]', '[ApiController]', '[Authorize]'];
142
+ if (aspnetAttrs.some((a) => decoratorNames.has(a))) {
143
+ results.push({ framework: 'aspnet', confidence: 0.95, detectedVia: 'decorator' });
144
+ }
145
+ }
146
+ // PHP attributes
147
+ if (language === 'php') {
148
+ if (decoratorNames.has('#[Route]') || decoratorNames.has('#[Autowire]')) {
149
+ results.push({ framework: 'symfony', confidence: 0.9, detectedVia: 'decorator' });
150
+ }
151
+ }
152
+ return results;
153
+ }
154
+ // =============================================================================
155
+ // Primitive Discovery
156
+ // =============================================================================
157
+ /**
158
+ * Discover all primitives used in the codebase
159
+ */
160
+ export function discoverPrimitives(context) {
161
+ const primitives = [];
162
+ const seen = new Set();
163
+ // 1. Bootstrap from known frameworks
164
+ const frameworks = detectFrameworks(context);
165
+ const bootstrapPrimitives = discoverFromBootstrap(frameworks, context);
166
+ for (const p of bootstrapPrimitives) {
167
+ if (!seen.has(p.name)) {
168
+ seen.add(p.name);
169
+ primitives.push(p);
170
+ }
171
+ }
172
+ // 2. Discover from imports
173
+ const importPrimitives = discoverFromImports(context);
174
+ for (const p of importPrimitives) {
175
+ if (!seen.has(p.name)) {
176
+ seen.add(p.name);
177
+ primitives.push(p);
178
+ }
179
+ }
180
+ // 3. Discover from decorators
181
+ const decoratorPrimitives = discoverFromDecorators(context);
182
+ for (const p of decoratorPrimitives) {
183
+ if (!seen.has(p.name)) {
184
+ seen.add(p.name);
185
+ primitives.push(p);
186
+ }
187
+ }
188
+ // 4. Infer from frequency (high usage = likely primitive)
189
+ const frequencyPrimitives = discoverFromFrequency(context, seen);
190
+ for (const p of frequencyPrimitives) {
191
+ if (!seen.has(p.name)) {
192
+ seen.add(p.name);
193
+ primitives.push(p);
194
+ }
195
+ }
196
+ // Count usages for all primitives
197
+ return primitives.map((p) => ({
198
+ ...p,
199
+ usageCount: countUsages(p.name, context),
200
+ }));
201
+ }
202
+ /**
203
+ * Discover primitives from bootstrap registry
204
+ */
205
+ function discoverFromBootstrap(frameworks, context) {
206
+ const primitives = [];
207
+ const registry = ALL_PRIMITIVES[context.language];
208
+ for (const fw of frameworks) {
209
+ const frameworkPrimitives = registry[fw.framework];
210
+ if (!frameworkPrimitives)
211
+ continue;
212
+ for (const [category, names] of Object.entries(frameworkPrimitives)) {
213
+ for (const name of names) {
214
+ primitives.push({
215
+ name,
216
+ framework: fw.framework,
217
+ category,
218
+ source: { type: 'bootstrap', confidence: fw.confidence },
219
+ language: context.language,
220
+ usageCount: 0,
221
+ });
222
+ }
223
+ }
224
+ }
225
+ return primitives;
226
+ }
227
+ /**
228
+ * Discover primitives from imports
229
+ */
230
+ function discoverFromImports(context) {
231
+ const primitives = [];
232
+ const knownPrimitives = getPrimitiveNames(context.language);
233
+ for (const imp of context.imports) {
234
+ // Skip internal imports
235
+ if (isInternalImport(imp.source))
236
+ continue;
237
+ for (const nameInfo of imp.names) {
238
+ const name = nameInfo.imported;
239
+ // Check if it's a known primitive
240
+ if (knownPrimitives.has(name)) {
241
+ const info = findPrimitiveFramework(name, context.language);
242
+ if (info) {
243
+ primitives.push({
244
+ name,
245
+ framework: info.framework,
246
+ category: info.category,
247
+ source: { type: 'import', confidence: 0.9 },
248
+ importPath: imp.source,
249
+ language: context.language,
250
+ usageCount: 0,
251
+ });
252
+ }
253
+ }
254
+ // Check if it looks like a primitive
255
+ else if (looksLikePrimitive(name, context.language)) {
256
+ primitives.push({
257
+ name,
258
+ framework: extractFrameworkFromImport(imp.source),
259
+ category: 'discovered',
260
+ source: { type: 'import', confidence: 0.7 },
261
+ importPath: imp.source,
262
+ language: context.language,
263
+ usageCount: 0,
264
+ });
265
+ }
266
+ }
267
+ }
268
+ return primitives;
269
+ }
270
+ /**
271
+ * Discover primitives from decorator usage
272
+ */
273
+ function discoverFromDecorators(context) {
274
+ const primitives = [];
275
+ const knownPrimitives = getPrimitiveNames(context.language);
276
+ const seen = new Set();
277
+ for (const dec of context.decorators) {
278
+ if (seen.has(dec.name))
279
+ continue;
280
+ seen.add(dec.name);
281
+ // Check if it's a known primitive
282
+ if (knownPrimitives.has(dec.name)) {
283
+ const info = findPrimitiveFramework(dec.name, context.language);
284
+ if (info) {
285
+ primitives.push({
286
+ name: dec.name,
287
+ framework: info.framework,
288
+ category: info.category,
289
+ source: { type: 'decorator', confidence: 0.95 },
290
+ language: context.language,
291
+ usageCount: 0,
292
+ });
293
+ }
294
+ }
295
+ }
296
+ return primitives;
297
+ }
298
+ /**
299
+ * Discover primitives from high-frequency usage
300
+ */
301
+ function discoverFromFrequency(context, alreadySeen) {
302
+ const primitives = [];
303
+ const FREQUENCY_THRESHOLD = 15;
304
+ // Count function usages
305
+ const usageCounts = new Map();
306
+ for (const usage of context.functionUsages) {
307
+ const count = usageCounts.get(usage.name) || 0;
308
+ usageCounts.set(usage.name, count + 1);
309
+ }
310
+ for (const [name, count] of usageCounts) {
311
+ if (alreadySeen.has(name))
312
+ continue;
313
+ if (count < FREQUENCY_THRESHOLD)
314
+ continue;
315
+ // Only consider if it looks like a utility/primitive
316
+ if (looksLikeUtilityFunction(name)) {
317
+ primitives.push({
318
+ name,
319
+ framework: 'project',
320
+ category: 'inferred',
321
+ source: { type: 'frequency', confidence: 0.6 },
322
+ language: context.language,
323
+ usageCount: count,
324
+ });
325
+ }
326
+ }
327
+ return primitives;
328
+ }
329
+ // =============================================================================
330
+ // Helper Functions
331
+ // =============================================================================
332
+ function isInternalImport(source) {
333
+ return (source.startsWith('.') ||
334
+ source.startsWith('/') ||
335
+ source.startsWith('@/') ||
336
+ source.startsWith('~/'));
337
+ }
338
+ function extractFrameworkFromImport(source) {
339
+ // @scope/package -> @scope/package
340
+ // package/subpath -> package
341
+ if (source.startsWith('@')) {
342
+ const parts = source.split('/');
343
+ return parts.length >= 2 ? `${parts[0]}/${parts[1]}` : source;
344
+ }
345
+ const firstPart = source.split('/')[0];
346
+ return firstPart ?? source;
347
+ }
348
+ function looksLikeUtilityFunction(name) {
349
+ // Short, generic names are more likely primitives
350
+ if (name.length < 20)
351
+ return true;
352
+ // Common utility prefixes
353
+ const utilityPrefixes = ['get', 'set', 'create', 'make', 'build', 'use', 'with', 'to', 'from', 'parse', 'format'];
354
+ if (utilityPrefixes.some((p) => name.toLowerCase().startsWith(p)))
355
+ return true;
356
+ return false;
357
+ }
358
+ function countUsages(name, context) {
359
+ return context.functionUsages.filter((u) => u.name === name).length;
360
+ }
361
+ /**
362
+ * Filter primitives by minimum confidence
363
+ */
364
+ export function filterByConfidence(primitives, minConfidence) {
365
+ return primitives.filter((p) => p.source.confidence >= minConfidence);
366
+ }
367
+ /**
368
+ * Group primitives by framework
369
+ */
370
+ export function groupByFramework(primitives) {
371
+ const grouped = new Map();
372
+ for (const p of primitives) {
373
+ const existing = grouped.get(p.framework) || [];
374
+ grouped.set(p.framework, [...existing, p]);
375
+ }
376
+ return grouped;
377
+ }
378
+ /**
379
+ * Group primitives by category
380
+ */
381
+ export function groupByCategory(primitives) {
382
+ const grouped = new Map();
383
+ for (const p of primitives) {
384
+ const existing = grouped.get(p.category) || [];
385
+ grouped.set(p.category, [...existing, p]);
386
+ }
387
+ return grouped;
388
+ }
389
+ //# sourceMappingURL=discovery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discovery.js","sourceRoot":"","sources":["../../../src/wrappers/primitives/discovery.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,OAAO,EACL,cAAc,EACd,sBAAsB,EACtB,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,eAAe,CAAC;AAwCvB,gFAAgF;AAChF,sBAAsB;AACtB,gFAAgF;AAEhF,MAAM,qBAAqB,GAA6B;IACtD,wBAAwB;IACxB,KAAK,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC;IAC7B,gBAAgB,EAAE,CAAC,uBAAuB,EAAE,aAAa,CAAC;IAC1D,GAAG,EAAE,CAAC,KAAK,CAAC;IACZ,MAAM,EAAE,CAAC,gBAAgB,EAAE,eAAe,CAAC;IAC3C,IAAI,EAAE,CAAC,MAAM,EAAE,YAAY,CAAC;IAC5B,KAAK,EAAE,CAAC,aAAa,EAAE,OAAO,EAAE,kBAAkB,CAAC;IACnD,OAAO,EAAE,CAAC,SAAS,CAAC;IACpB,KAAK,EAAE,CAAC,OAAO,CAAC;IAChB,MAAM,EAAE,CAAC,QAAQ,CAAC;IAClB,iBAAiB,EAAE,CAAC,iBAAiB,CAAC;IACtC,MAAM,EAAE,CAAC,QAAQ,CAAC;IAClB,cAAc,EAAE,CAAC,cAAc,EAAE,kBAAkB,CAAC;IACpD,IAAI,EAAE,CAAC,MAAM,CAAC;IACd,GAAG,EAAE,CAAC,KAAK,CAAC;IACZ,YAAY,EAAE,CAAC,YAAY,CAAC;IAC5B,KAAK,EAAE,CAAC,OAAO,CAAC;IAChB,MAAM,EAAE,CAAC,QAAQ,CAAC;IAClB,OAAO,EAAE,CAAC,eAAe,CAAC;IAC1B,OAAO,EAAE,CAAC,SAAS,CAAC;IACpB,IAAI,EAAE,CAAC,MAAM,EAAE,eAAe,CAAC;IAC/B,MAAM,EAAE,CAAC,QAAQ,CAAC;IAClB,wBAAwB,EAAE,CAAC,wBAAwB,CAAC;IAEpD,gCAAgC;IAChC,OAAO,EAAE,CAAC,SAAS,CAAC;IACpB,MAAM,EAAE,CAAC,QAAQ,CAAC;IAClB,KAAK,EAAE,CAAC,OAAO,CAAC;IAChB,UAAU,EAAE,CAAC,YAAY,CAAC;IAC1B,MAAM,EAAE,CAAC,QAAQ,CAAC;IAClB,QAAQ,EAAE,CAAC,UAAU,CAAC;IACtB,MAAM,EAAE,CAAC,QAAQ,CAAC;IAElB,0CAA0C;IAC1C,MAAM,EAAE,CAAC,qBAAqB,CAAC;IAC/B,aAAa,EAAE,CAAC,0BAA0B,CAAC;IAC3C,MAAM,EAAE,CAAC,mBAAmB,CAAC;IAC7B,OAAO,EAAE,CAAC,aAAa,CAAC;IAExB,qCAAqC;IACrC,MAAM,EAAE,CAAC,sBAAsB,CAAC;IAChC,MAAM,EAAE,CAAC,+BAA+B,CAAC;IACzC,KAAK,EAAE,CAAC,OAAO,CAAC;IAChB,KAAK,EAAE,CAAC,OAAO,CAAC;IAChB,GAAG,EAAE,CAAC,KAAK,CAAC;IAEZ,oCAAoC;IACpC,OAAO,EAAE,CAAC,YAAY,CAAC;IACvB,OAAO,EAAE,CAAC,SAAS,CAAC;IACpB,OAAO,EAAE,CAAC,SAAS,CAAC;IACpB,IAAI,EAAE,CAAC,MAAM,CAAC;CACf,CAAC;AAGF;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAyB;IACxD,MAAM,OAAO,GAA+B,EAAE,CAAC;IAC/C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAE/B,oEAAoE;IACpE,IAAI,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;QAC7D,MAAM,IAAI,GAAG;YACX,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,cAAc,CAA2B,IAAI,EAAE,CAAC;YACxE,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,iBAAiB,CAA2B,IAAI,EAAE,CAAC;SAC5E,CAAC;QAEF,KAAK,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,qBAAqB,CAAC,EAAE,CAAC;YAC1E,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;gBAC3B,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;oBACtC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;oBACpB,OAAO,CAAC,IAAI,CAAC;wBACX,SAAS;wBACT,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC;wBAClB,UAAU,EAAE,GAAG;wBACf,WAAW,EAAE,cAAc;qBAC5B,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,mBAAmB;IACnB,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QAClC,KAAK,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,qBAAqB,CAAC,EAAE,CAAC;YAC1E,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;gBAAE,SAAS;YAElC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAC3B,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,GAAG,GAAG,CAAC,CAChE,CAAC;YAEF,IAAI,OAAO,EAAE,CAAC;gBACZ,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBACpB,OAAO,CAAC,IAAI,CAAC;oBACX,SAAS;oBACT,UAAU,EAAE,GAAG;oBACf,WAAW,EAAE,QAAQ;iBACtB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,kDAAkD;IAClD,IAAI,OAAO,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;QACtC,MAAM,mBAAmB,GAAG,6BAA6B,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;QAChG,KAAK,MAAM,EAAE,IAAI,mBAAmB,EAAE,CAAC;YACrC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC5B,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;gBACvB,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACnB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,SAAS,6BAA6B,CACpC,UAA4B,EAC5B,QAA2B;IAE3B,MAAM,OAAO,GAA+B,EAAE,CAAC;IAC/C,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAE9D,oBAAoB;IACpB,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;QACxB,MAAM,gBAAgB,GAAG,CAAC,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,aAAa,EAAE,iBAAiB,CAAC,CAAC;QACnH,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACxD,OAAO,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC;QACpF,CAAC;QAED,MAAM,oBAAoB,GAAG,CAAC,wBAAwB,EAAE,0BAA0B,CAAC,CAAC;QACpF,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5D,OAAO,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC;QACzF,CAAC;IACH,CAAC;IAED,oBAAoB;IACpB,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC1B,IAAI,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,cAAc,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAC1E,OAAO,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC;QACnF,CAAC;QACD,IAAI,cAAc,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,cAAc,CAAC,GAAG,CAAC,qBAAqB,CAAC,EAAE,CAAC;YACtF,OAAO,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC;QACpF,CAAC;IACH,CAAC;IAED,gBAAgB;IAChB,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC1B,MAAM,WAAW,GAAG,CAAC,WAAW,EAAE,YAAY,EAAE,iBAAiB,EAAE,aAAa,CAAC,CAAC;QAClF,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACnD,OAAO,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC;QACpF,CAAC;IACH,CAAC;IAED,iBAAiB;IACjB,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;QACvB,IAAI,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,cAAc,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;YACxE,OAAO,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC;QACpF,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAGD,gFAAgF;AAChF,sBAAsB;AACtB,gFAAgF;AAEhF;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAyB;IAC1D,MAAM,UAAU,GAAwB,EAAE,CAAC;IAC3C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAE/B,qCAAqC;IACrC,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC7C,MAAM,mBAAmB,GAAG,qBAAqB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACvE,KAAK,MAAM,CAAC,IAAI,mBAAmB,EAAE,CAAC;QACpC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;YACtB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACjB,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IAED,2BAA2B;IAC3B,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;IACtD,KAAK,MAAM,CAAC,IAAI,gBAAgB,EAAE,CAAC;QACjC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;YACtB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACjB,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IAED,8BAA8B;IAC9B,MAAM,mBAAmB,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAC5D,KAAK,MAAM,CAAC,IAAI,mBAAmB,EAAE,CAAC;QACpC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;YACtB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACjB,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IAED,0DAA0D;IAC1D,MAAM,mBAAmB,GAAG,qBAAqB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACjE,KAAK,MAAM,CAAC,IAAI,mBAAmB,EAAE,CAAC;QACpC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;YACtB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACjB,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IAED,kCAAkC;IAClC,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC5B,GAAG,CAAC;QACJ,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC;KACzC,CAAC,CAAC,CAAC;AACN,CAAC;AAED;;GAEG;AACH,SAAS,qBAAqB,CAC5B,UAAsC,EACtC,OAAyB;IAEzB,MAAM,UAAU,GAAwB,EAAE,CAAC;IAC3C,MAAM,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAElD,KAAK,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC;QAC5B,MAAM,mBAAmB,GAAG,QAAQ,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;QACnD,IAAI,CAAC,mBAAmB;YAAE,SAAS;QAEnC,KAAK,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAAE,CAAC;YACpE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,UAAU,CAAC,IAAI,CAAC;oBACd,IAAI;oBACJ,SAAS,EAAE,EAAE,CAAC,SAAS;oBACvB,QAAQ;oBACR,MAAM,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE;oBACxD,QAAQ,EAAE,OAAO,CAAC,QAAQ;oBAC1B,UAAU,EAAE,CAAC;iBACd,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;GAEG;AACH,SAAS,mBAAmB,CAAC,OAAyB;IACpD,MAAM,UAAU,GAAwB,EAAE,CAAC;IAC3C,MAAM,eAAe,GAAG,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAE5D,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QAClC,wBAAwB;QACxB,IAAI,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,SAAS;QAE3C,KAAK,MAAM,QAAQ,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;YACjC,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC;YAC/B,kCAAkC;YAClC,IAAI,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC9B,MAAM,IAAI,GAAG,sBAAsB,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;gBAC5D,IAAI,IAAI,EAAE,CAAC;oBACT,UAAU,CAAC,IAAI,CAAC;wBACd,IAAI;wBACJ,SAAS,EAAE,IAAI,CAAC,SAAS;wBACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;wBACvB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,EAAE;wBAC3C,UAAU,EAAE,GAAG,CAAC,MAAM;wBACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ;wBAC1B,UAAU,EAAE,CAAC;qBACd,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YACD,qCAAqC;iBAChC,IAAI,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACpD,UAAU,CAAC,IAAI,CAAC;oBACd,IAAI;oBACJ,SAAS,EAAE,0BAA0B,CAAC,GAAG,CAAC,MAAM,CAAC;oBACjD,QAAQ,EAAE,YAAY;oBACtB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,EAAE;oBAC3C,UAAU,EAAE,GAAG,CAAC,MAAM;oBACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ;oBAC1B,UAAU,EAAE,CAAC;iBACd,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;GAEG;AACH,SAAS,sBAAsB,CAAC,OAAyB;IACvD,MAAM,UAAU,GAAwB,EAAE,CAAC;IAC3C,MAAM,eAAe,GAAG,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC5D,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAE/B,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QACrC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,SAAS;QACjC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAEnB,kCAAkC;QAClC,IAAI,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,GAAG,sBAAsB,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;YAChE,IAAI,IAAI,EAAE,CAAC;gBACT,UAAU,CAAC,IAAI,CAAC;oBACd,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,SAAS,EAAE,IAAI,CAAC,SAAS;oBACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,MAAM,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,IAAI,EAAE;oBAC/C,QAAQ,EAAE,OAAO,CAAC,QAAQ;oBAC1B,UAAU,EAAE,CAAC;iBACd,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;GAEG;AACH,SAAS,qBAAqB,CAC5B,OAAyB,EACzB,WAAwB;IAExB,MAAM,UAAU,GAAwB,EAAE,CAAC;IAC3C,MAAM,mBAAmB,GAAG,EAAE,CAAC;IAE/B,wBAAwB;IACxB,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC9C,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;QAC3C,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/C,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,WAAW,EAAE,CAAC;QACxC,IAAI,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,SAAS;QACpC,IAAI,KAAK,GAAG,mBAAmB;YAAE,SAAS;QAE1C,qDAAqD;QACrD,IAAI,wBAAwB,CAAC,IAAI,CAAC,EAAE,CAAC;YACnC,UAAU,CAAC,IAAI,CAAC;gBACd,IAAI;gBACJ,SAAS,EAAE,SAAS;gBACpB,QAAQ,EAAE,UAAU;gBACpB,MAAM,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,EAAE;gBAC9C,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,UAAU,EAAE,KAAK;aAClB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,gFAAgF;AAChF,mBAAmB;AACnB,gFAAgF;AAEhF,SAAS,gBAAgB,CAAC,MAAc;IACtC,OAAO,CACL,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC;QACtB,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC;QACtB,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC;QACvB,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CACxB,CAAC;AACJ,CAAC;AAED,SAAS,0BAA0B,CAAC,MAAc;IAChD,mCAAmC;IACnC,6BAA6B;IAC7B,IAAI,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAChC,OAAO,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;IAChE,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACvC,OAAO,SAAS,IAAI,MAAM,CAAC;AAC7B,CAAC;AAED,SAAS,wBAAwB,CAAC,IAAY;IAC5C,kDAAkD;IAClD,IAAI,IAAI,CAAC,MAAM,GAAG,EAAE;QAAE,OAAO,IAAI,CAAC;IAElC,0BAA0B;IAC1B,MAAM,eAAe,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IAClH,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAE/E,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,WAAW,CAAC,IAAY,EAAE,OAAyB;IAC1D,OAAO,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,MAAM,CAAC;AACtE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAChC,UAA+B,EAC/B,aAAqB;IAErB,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,IAAI,aAAa,CAAC,CAAC;AACxE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAC9B,UAA+B;IAE/B,MAAM,OAAO,GAAG,IAAI,GAAG,EAA+B,CAAC;IAEvD,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QAC3B,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QAChD,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAC7B,UAA+B;IAE/B,MAAM,OAAO,GAAG,IAAI,GAAG,EAA+B,CAAC;IAEvD,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QAC3B,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC/C,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Primitive Detection Module
3
+ */
4
+ export * from './registry.js';
5
+ export * from './discovery.js';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/wrappers/primitives/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Primitive Detection Module
3
+ */
4
+ export * from './registry.js';
5
+ export * from './discovery.js';
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/wrappers/primitives/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1,63 @@
1
+ /**
2
+ * Framework Primitive Registry
3
+ *
4
+ * Bootstrap definitions of framework primitives across all supported languages.
5
+ * These are the "building blocks" that developers commonly wrap.
6
+ */
7
+ import type { PrimitiveRegistry, SupportedLanguage } from '../types.js';
8
+ export declare const REACT_PRIMITIVES: PrimitiveRegistry;
9
+ export declare const REACT_ECOSYSTEM_PRIMITIVES: PrimitiveRegistry;
10
+ export declare const VUE_PRIMITIVES: PrimitiveRegistry;
11
+ export declare const SVELTE_PRIMITIVES: PrimitiveRegistry;
12
+ export declare const ANGULAR_PRIMITIVES: PrimitiveRegistry;
13
+ export declare const EXPRESS_PRIMITIVES: PrimitiveRegistry;
14
+ export declare const JS_TESTING_PRIMITIVES: PrimitiveRegistry;
15
+ export declare const FASTAPI_PRIMITIVES: PrimitiveRegistry;
16
+ export declare const DJANGO_PRIMITIVES: PrimitiveRegistry;
17
+ export declare const FLASK_PRIMITIVES: PrimitiveRegistry;
18
+ export declare const SQLALCHEMY_PRIMITIVES: PrimitiveRegistry;
19
+ export declare const CELERY_PRIMITIVES: PrimitiveRegistry;
20
+ export declare const PYDANTIC_PRIMITIVES: PrimitiveRegistry;
21
+ export declare const PYTHON_TESTING_PRIMITIVES: PrimitiveRegistry;
22
+ export declare const SPRING_PRIMITIVES: PrimitiveRegistry;
23
+ export declare const JAVA_TESTING_PRIMITIVES: PrimitiveRegistry;
24
+ export declare const ASPNET_PRIMITIVES: PrimitiveRegistry;
25
+ export declare const EFCORE_PRIMITIVES: PrimitiveRegistry;
26
+ export declare const CSHARP_TESTING_PRIMITIVES: PrimitiveRegistry;
27
+ export declare const LARAVEL_PRIMITIVES: PrimitiveRegistry;
28
+ export declare const SYMFONY_PRIMITIVES: PrimitiveRegistry;
29
+ export declare const PHP_TESTING_PRIMITIVES: PrimitiveRegistry;
30
+ export declare const TYPESCRIPT_PRIMITIVES: PrimitiveRegistry;
31
+ export declare const PYTHON_PRIMITIVES: PrimitiveRegistry;
32
+ export declare const JAVA_PRIMITIVES: PrimitiveRegistry;
33
+ export declare const CSHARP_PRIMITIVES: PrimitiveRegistry;
34
+ export declare const PHP_PRIMITIVES: PrimitiveRegistry;
35
+ export declare const ALL_PRIMITIVES: Record<SupportedLanguage, PrimitiveRegistry>;
36
+ /**
37
+ * Get all primitive names for a language
38
+ */
39
+ export declare function getPrimitiveNames(language: SupportedLanguage): Set<string>;
40
+ /**
41
+ * Get all framework names for a language
42
+ */
43
+ export declare function getFrameworkNames(language: SupportedLanguage): string[];
44
+ /**
45
+ * Find which framework a primitive belongs to
46
+ */
47
+ export declare function findPrimitiveFramework(primitiveName: string, language: SupportedLanguage): {
48
+ framework: string;
49
+ category: string;
50
+ } | null;
51
+ /**
52
+ * Check if a name looks like a primitive based on naming conventions
53
+ */
54
+ export declare function looksLikePrimitive(name: string, language: SupportedLanguage): boolean;
55
+ /**
56
+ * Get the total count of primitives for a language
57
+ */
58
+ export declare function getPrimitiveCount(language: SupportedLanguage): number;
59
+ /**
60
+ * Get primitives by category across all frameworks for a language
61
+ */
62
+ export declare function getPrimitivesByCategory(language: SupportedLanguage): Map<string, string[]>;
63
+ //# sourceMappingURL=registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/wrappers/primitives/registry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAMxE,eAAO,MAAM,gBAAgB,EAAE,iBAW9B,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,iBAoDxC,CAAC;AAGF,eAAO,MAAM,cAAc,EAAE,iBAa5B,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,iBAO/B,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,iBAShC,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,iBAMhC,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,iBAkBnC,CAAC;AAMF,eAAO,MAAM,kBAAkB,EAAE,iBAShC,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,iBAe/B,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,iBAe9B,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,iBAOnC,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,iBAM/B,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,iBAMjC,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,iBAWvC,CAAC;AAOF,eAAO,MAAM,iBAAiB,EAAE,iBAoB/B,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,iBAUrC,CAAC;AAMF,eAAO,MAAM,iBAAiB,EAAE,iBAY/B,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,iBAO/B,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,iBAavC,CAAC;AAMF,eAAO,MAAM,kBAAkB,EAAE,iBAchC,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,iBAShC,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,iBAUpC,CAAC;AAOF,eAAO,MAAM,qBAAqB,EAAE,iBAQnC,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,iBAQ/B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,iBAG7B,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,iBAI/B,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,iBAI5B,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,iBAAiB,EAAE,iBAAiB,CAMvE,CAAC;AAMF;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,GAAG,CAAC,MAAM,CAAC,CAa1E;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,MAAM,EAAE,CAEvE;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,iBAAiB,GAC1B;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAYhD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,iBAAiB,GAAG,OAAO,CAuBrF;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,MAAM,CAErE;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,iBAAiB,GAC1B,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAYvB"}