driftdetect-core 0.4.4 → 0.4.6

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 (277) hide show
  1. package/LICENSE +21 -0
  2. package/dist/boundaries/boundary-scanner.d.ts.map +1 -1
  3. package/dist/boundaries/boundary-scanner.js +184 -18
  4. package/dist/boundaries/boundary-scanner.js.map +1 -1
  5. package/dist/boundaries/types.d.ts +34 -2
  6. package/dist/boundaries/types.d.ts.map +1 -1
  7. package/dist/call-graph/analysis/graph-builder.d.ts +3 -0
  8. package/dist/call-graph/analysis/graph-builder.d.ts.map +1 -1
  9. package/dist/call-graph/analysis/graph-builder.js +81 -18
  10. package/dist/call-graph/analysis/graph-builder.js.map +1 -1
  11. package/dist/call-graph/extractors/csharp-data-access-extractor.d.ts.map +1 -1
  12. package/dist/call-graph/extractors/csharp-data-access-extractor.js +10 -5
  13. package/dist/call-graph/extractors/csharp-data-access-extractor.js.map +1 -1
  14. package/dist/call-graph/extractors/data-access-extractor.d.ts +16 -2
  15. package/dist/call-graph/extractors/data-access-extractor.d.ts.map +1 -1
  16. package/dist/call-graph/extractors/data-access-extractor.js +114 -5
  17. package/dist/call-graph/extractors/data-access-extractor.js.map +1 -1
  18. package/dist/call-graph/extractors/java-data-access-extractor.d.ts.map +1 -1
  19. package/dist/call-graph/extractors/java-data-access-extractor.js +12 -6
  20. package/dist/call-graph/extractors/java-data-access-extractor.js.map +1 -1
  21. package/dist/call-graph/extractors/php-data-access-extractor.d.ts.map +1 -1
  22. package/dist/call-graph/extractors/php-data-access-extractor.js +12 -6
  23. package/dist/call-graph/extractors/php-data-access-extractor.js.map +1 -1
  24. package/dist/call-graph/extractors/python-data-access-extractor.d.ts.map +1 -1
  25. package/dist/call-graph/extractors/python-data-access-extractor.js +12 -6
  26. package/dist/call-graph/extractors/python-data-access-extractor.js.map +1 -1
  27. package/dist/call-graph/extractors/semantic-data-access-scanner.d.ts +4 -0
  28. package/dist/call-graph/extractors/semantic-data-access-scanner.d.ts.map +1 -1
  29. package/dist/call-graph/extractors/semantic-data-access-scanner.js +46 -2
  30. package/dist/call-graph/extractors/semantic-data-access-scanner.js.map +1 -1
  31. package/dist/call-graph/extractors/typescript-data-access-extractor.d.ts.map +1 -1
  32. package/dist/call-graph/extractors/typescript-data-access-extractor.js +23 -10
  33. package/dist/call-graph/extractors/typescript-data-access-extractor.js.map +1 -1
  34. package/dist/call-graph/index.d.ts +2 -4
  35. package/dist/call-graph/index.d.ts.map +1 -1
  36. package/dist/call-graph/index.js +5 -6
  37. package/dist/call-graph/index.js.map +1 -1
  38. package/dist/index.d.ts +4 -2
  39. package/dist/index.d.ts.map +1 -1
  40. package/dist/index.js +15 -5
  41. package/dist/index.js.map +1 -1
  42. package/dist/language-intelligence/base-normalizer.d.ts +68 -0
  43. package/dist/language-intelligence/base-normalizer.d.ts.map +1 -0
  44. package/dist/language-intelligence/base-normalizer.js +210 -0
  45. package/dist/language-intelligence/base-normalizer.js.map +1 -0
  46. package/dist/language-intelligence/framework-registry.d.ts +89 -0
  47. package/dist/language-intelligence/framework-registry.d.ts.map +1 -0
  48. package/dist/language-intelligence/framework-registry.js +165 -0
  49. package/dist/language-intelligence/framework-registry.js.map +1 -0
  50. package/dist/language-intelligence/frameworks/aspnet.d.ts +11 -0
  51. package/dist/language-intelligence/frameworks/aspnet.d.ts.map +1 -0
  52. package/dist/language-intelligence/frameworks/aspnet.js +325 -0
  53. package/dist/language-intelligence/frameworks/aspnet.js.map +1 -0
  54. package/dist/language-intelligence/frameworks/fastapi.d.ts +11 -0
  55. package/dist/language-intelligence/frameworks/fastapi.d.ts.map +1 -0
  56. package/dist/language-intelligence/frameworks/fastapi.js +188 -0
  57. package/dist/language-intelligence/frameworks/fastapi.js.map +1 -0
  58. package/dist/language-intelligence/frameworks/index.d.ts +32 -0
  59. package/dist/language-intelligence/frameworks/index.d.ts.map +1 -0
  60. package/dist/language-intelligence/frameworks/index.js +51 -0
  61. package/dist/language-intelligence/frameworks/index.js.map +1 -0
  62. package/dist/language-intelligence/frameworks/laravel.d.ts +12 -0
  63. package/dist/language-intelligence/frameworks/laravel.d.ts.map +1 -0
  64. package/dist/language-intelligence/frameworks/laravel.js +194 -0
  65. package/dist/language-intelligence/frameworks/laravel.js.map +1 -0
  66. package/dist/language-intelligence/frameworks/nestjs.d.ts +11 -0
  67. package/dist/language-intelligence/frameworks/nestjs.d.ts.map +1 -0
  68. package/dist/language-intelligence/frameworks/nestjs.js +307 -0
  69. package/dist/language-intelligence/frameworks/nestjs.js.map +1 -0
  70. package/dist/language-intelligence/frameworks/spring.d.ts +11 -0
  71. package/dist/language-intelligence/frameworks/spring.d.ts.map +1 -0
  72. package/dist/language-intelligence/frameworks/spring.js +369 -0
  73. package/dist/language-intelligence/frameworks/spring.js.map +1 -0
  74. package/dist/language-intelligence/index.d.ts +33 -0
  75. package/dist/language-intelligence/index.d.ts.map +1 -0
  76. package/dist/language-intelligence/index.js +37 -0
  77. package/dist/language-intelligence/index.js.map +1 -0
  78. package/dist/language-intelligence/language-intelligence.d.ts +99 -0
  79. package/dist/language-intelligence/language-intelligence.d.ts.map +1 -0
  80. package/dist/language-intelligence/language-intelligence.js +239 -0
  81. package/dist/language-intelligence/language-intelligence.js.map +1 -0
  82. package/dist/language-intelligence/normalizers/csharp-normalizer.d.ts +39 -0
  83. package/dist/language-intelligence/normalizers/csharp-normalizer.d.ts.map +1 -0
  84. package/dist/language-intelligence/normalizers/csharp-normalizer.js +86 -0
  85. package/dist/language-intelligence/normalizers/csharp-normalizer.js.map +1 -0
  86. package/dist/language-intelligence/normalizers/index.d.ts +25 -0
  87. package/dist/language-intelligence/normalizers/index.d.ts.map +1 -0
  88. package/dist/language-intelligence/normalizers/index.js +60 -0
  89. package/dist/language-intelligence/normalizers/index.js.map +1 -0
  90. package/dist/language-intelligence/normalizers/java-normalizer.d.ts +39 -0
  91. package/dist/language-intelligence/normalizers/java-normalizer.d.ts.map +1 -0
  92. package/dist/language-intelligence/normalizers/java-normalizer.js +96 -0
  93. package/dist/language-intelligence/normalizers/java-normalizer.js.map +1 -0
  94. package/dist/language-intelligence/normalizers/php-normalizer.d.ts +39 -0
  95. package/dist/language-intelligence/normalizers/php-normalizer.d.ts.map +1 -0
  96. package/dist/language-intelligence/normalizers/php-normalizer.js +86 -0
  97. package/dist/language-intelligence/normalizers/php-normalizer.js.map +1 -0
  98. package/dist/language-intelligence/normalizers/python-normalizer.d.ts +39 -0
  99. package/dist/language-intelligence/normalizers/python-normalizer.d.ts.map +1 -0
  100. package/dist/language-intelligence/normalizers/python-normalizer.js +95 -0
  101. package/dist/language-intelligence/normalizers/python-normalizer.js.map +1 -0
  102. package/dist/language-intelligence/normalizers/typescript-normalizer.d.ts +39 -0
  103. package/dist/language-intelligence/normalizers/typescript-normalizer.d.ts.map +1 -0
  104. package/dist/language-intelligence/normalizers/typescript-normalizer.js +84 -0
  105. package/dist/language-intelligence/normalizers/typescript-normalizer.js.map +1 -0
  106. package/dist/language-intelligence/types.d.ts +270 -0
  107. package/dist/language-intelligence/types.d.ts.map +1 -0
  108. package/dist/language-intelligence/types.js +9 -0
  109. package/dist/language-intelligence/types.js.map +1 -0
  110. package/dist/scanner/file-processor-worker.d.ts +66 -0
  111. package/dist/scanner/file-processor-worker.d.ts.map +1 -0
  112. package/dist/scanner/file-processor-worker.js +189 -0
  113. package/dist/scanner/file-processor-worker.js.map +1 -0
  114. package/dist/scanner/index.d.ts +2 -0
  115. package/dist/scanner/index.d.ts.map +1 -1
  116. package/dist/scanner/index.js +2 -0
  117. package/dist/scanner/index.js.map +1 -1
  118. package/dist/scanner/threaded-worker-pool.d.ts +182 -0
  119. package/dist/scanner/threaded-worker-pool.d.ts.map +1 -0
  120. package/dist/scanner/threaded-worker-pool.js +243 -0
  121. package/dist/scanner/threaded-worker-pool.js.map +1 -0
  122. package/dist/store/types.d.ts +6 -3
  123. package/dist/store/types.d.ts.map +1 -1
  124. package/dist/store/types.js.map +1 -1
  125. package/dist/unified-provider/compat/index.d.ts +11 -0
  126. package/dist/unified-provider/compat/index.d.ts.map +1 -0
  127. package/dist/unified-provider/compat/index.js +13 -0
  128. package/dist/unified-provider/compat/index.js.map +1 -0
  129. package/dist/unified-provider/compat/legacy-extractors.d.ts +63 -0
  130. package/dist/unified-provider/compat/legacy-extractors.d.ts.map +1 -0
  131. package/dist/unified-provider/compat/legacy-extractors.js +80 -0
  132. package/dist/unified-provider/compat/legacy-extractors.js.map +1 -0
  133. package/dist/unified-provider/compat/legacy-scanner.d.ts +28 -0
  134. package/dist/unified-provider/compat/legacy-scanner.d.ts.map +1 -0
  135. package/dist/unified-provider/compat/legacy-scanner.js +31 -0
  136. package/dist/unified-provider/compat/legacy-scanner.js.map +1 -0
  137. package/dist/unified-provider/index.d.ts +28 -0
  138. package/dist/unified-provider/index.d.ts.map +1 -0
  139. package/dist/unified-provider/index.js +47 -0
  140. package/dist/unified-provider/index.js.map +1 -0
  141. package/dist/unified-provider/integration/index.d.ts +9 -0
  142. package/dist/unified-provider/integration/index.d.ts.map +1 -0
  143. package/dist/unified-provider/integration/index.js +11 -0
  144. package/dist/unified-provider/integration/index.js.map +1 -0
  145. package/dist/unified-provider/integration/unified-data-access-adapter.d.ts +75 -0
  146. package/dist/unified-provider/integration/unified-data-access-adapter.d.ts.map +1 -0
  147. package/dist/unified-provider/integration/unified-data-access-adapter.js +210 -0
  148. package/dist/unified-provider/integration/unified-data-access-adapter.js.map +1 -0
  149. package/dist/unified-provider/integration/unified-scanner.d.ts +90 -0
  150. package/dist/unified-provider/integration/unified-scanner.d.ts.map +1 -0
  151. package/dist/unified-provider/integration/unified-scanner.js +369 -0
  152. package/dist/unified-provider/integration/unified-scanner.js.map +1 -0
  153. package/dist/unified-provider/matching/base-matcher.d.ts +80 -0
  154. package/dist/unified-provider/matching/base-matcher.d.ts.map +1 -0
  155. package/dist/unified-provider/matching/base-matcher.js +196 -0
  156. package/dist/unified-provider/matching/base-matcher.js.map +1 -0
  157. package/dist/unified-provider/matching/django-matcher.d.ts +32 -0
  158. package/dist/unified-provider/matching/django-matcher.d.ts.map +1 -0
  159. package/dist/unified-provider/matching/django-matcher.js +107 -0
  160. package/dist/unified-provider/matching/django-matcher.js.map +1 -0
  161. package/dist/unified-provider/matching/drizzle-matcher.d.ts +25 -0
  162. package/dist/unified-provider/matching/drizzle-matcher.d.ts.map +1 -0
  163. package/dist/unified-provider/matching/drizzle-matcher.js +123 -0
  164. package/dist/unified-provider/matching/drizzle-matcher.js.map +1 -0
  165. package/dist/unified-provider/matching/efcore-matcher.d.ts +27 -0
  166. package/dist/unified-provider/matching/efcore-matcher.d.ts.map +1 -0
  167. package/dist/unified-provider/matching/efcore-matcher.js +88 -0
  168. package/dist/unified-provider/matching/efcore-matcher.js.map +1 -0
  169. package/dist/unified-provider/matching/eloquent-matcher.d.ts +32 -0
  170. package/dist/unified-provider/matching/eloquent-matcher.d.ts.map +1 -0
  171. package/dist/unified-provider/matching/eloquent-matcher.js +162 -0
  172. package/dist/unified-provider/matching/eloquent-matcher.js.map +1 -0
  173. package/dist/unified-provider/matching/index.d.ts +19 -0
  174. package/dist/unified-provider/matching/index.d.ts.map +1 -0
  175. package/dist/unified-provider/matching/index.js +24 -0
  176. package/dist/unified-provider/matching/index.js.map +1 -0
  177. package/dist/unified-provider/matching/knex-matcher.d.ts +26 -0
  178. package/dist/unified-provider/matching/knex-matcher.d.ts.map +1 -0
  179. package/dist/unified-provider/matching/knex-matcher.js +109 -0
  180. package/dist/unified-provider/matching/knex-matcher.js.map +1 -0
  181. package/dist/unified-provider/matching/matcher-registry.d.ts +55 -0
  182. package/dist/unified-provider/matching/matcher-registry.d.ts.map +1 -0
  183. package/dist/unified-provider/matching/matcher-registry.js +130 -0
  184. package/dist/unified-provider/matching/matcher-registry.js.map +1 -0
  185. package/dist/unified-provider/matching/mongoose-matcher.d.ts +30 -0
  186. package/dist/unified-provider/matching/mongoose-matcher.d.ts.map +1 -0
  187. package/dist/unified-provider/matching/mongoose-matcher.js +132 -0
  188. package/dist/unified-provider/matching/mongoose-matcher.js.map +1 -0
  189. package/dist/unified-provider/matching/prisma-matcher.d.ts +31 -0
  190. package/dist/unified-provider/matching/prisma-matcher.d.ts.map +1 -0
  191. package/dist/unified-provider/matching/prisma-matcher.js +123 -0
  192. package/dist/unified-provider/matching/prisma-matcher.js.map +1 -0
  193. package/dist/unified-provider/matching/raw-sql-matcher.d.ts +31 -0
  194. package/dist/unified-provider/matching/raw-sql-matcher.d.ts.map +1 -0
  195. package/dist/unified-provider/matching/raw-sql-matcher.js +173 -0
  196. package/dist/unified-provider/matching/raw-sql-matcher.js.map +1 -0
  197. package/dist/unified-provider/matching/sequelize-matcher.d.ts +28 -0
  198. package/dist/unified-provider/matching/sequelize-matcher.d.ts.map +1 -0
  199. package/dist/unified-provider/matching/sequelize-matcher.js +132 -0
  200. package/dist/unified-provider/matching/sequelize-matcher.js.map +1 -0
  201. package/dist/unified-provider/matching/spring-data-matcher.d.ts +32 -0
  202. package/dist/unified-provider/matching/spring-data-matcher.d.ts.map +1 -0
  203. package/dist/unified-provider/matching/spring-data-matcher.js +112 -0
  204. package/dist/unified-provider/matching/spring-data-matcher.js.map +1 -0
  205. package/dist/unified-provider/matching/sqlalchemy-matcher.d.ts +32 -0
  206. package/dist/unified-provider/matching/sqlalchemy-matcher.d.ts.map +1 -0
  207. package/dist/unified-provider/matching/sqlalchemy-matcher.js +201 -0
  208. package/dist/unified-provider/matching/sqlalchemy-matcher.js.map +1 -0
  209. package/dist/unified-provider/matching/supabase-matcher.d.ts +27 -0
  210. package/dist/unified-provider/matching/supabase-matcher.d.ts.map +1 -0
  211. package/dist/unified-provider/matching/supabase-matcher.js +122 -0
  212. package/dist/unified-provider/matching/supabase-matcher.js.map +1 -0
  213. package/dist/unified-provider/matching/typeorm-matcher.d.ts +32 -0
  214. package/dist/unified-provider/matching/typeorm-matcher.d.ts.map +1 -0
  215. package/dist/unified-provider/matching/typeorm-matcher.js +169 -0
  216. package/dist/unified-provider/matching/typeorm-matcher.js.map +1 -0
  217. package/dist/unified-provider/migration/deprecated-extractors.d.ts +104 -0
  218. package/dist/unified-provider/migration/deprecated-extractors.d.ts.map +1 -0
  219. package/dist/unified-provider/migration/deprecated-extractors.js +129 -0
  220. package/dist/unified-provider/migration/deprecated-extractors.js.map +1 -0
  221. package/dist/unified-provider/migration/deprecated-scanner.d.ts +40 -0
  222. package/dist/unified-provider/migration/deprecated-scanner.d.ts.map +1 -0
  223. package/dist/unified-provider/migration/deprecated-scanner.js +49 -0
  224. package/dist/unified-provider/migration/deprecated-scanner.js.map +1 -0
  225. package/dist/unified-provider/migration/index.d.ts +41 -0
  226. package/dist/unified-provider/migration/index.d.ts.map +1 -0
  227. package/dist/unified-provider/migration/index.js +43 -0
  228. package/dist/unified-provider/migration/index.js.map +1 -0
  229. package/dist/unified-provider/normalization/base-normalizer.d.ts +188 -0
  230. package/dist/unified-provider/normalization/base-normalizer.d.ts.map +1 -0
  231. package/dist/unified-provider/normalization/base-normalizer.js +339 -0
  232. package/dist/unified-provider/normalization/base-normalizer.js.map +1 -0
  233. package/dist/unified-provider/normalization/csharp-normalizer.d.ts +58 -0
  234. package/dist/unified-provider/normalization/csharp-normalizer.d.ts.map +1 -0
  235. package/dist/unified-provider/normalization/csharp-normalizer.js +467 -0
  236. package/dist/unified-provider/normalization/csharp-normalizer.js.map +1 -0
  237. package/dist/unified-provider/normalization/index.d.ts +23 -0
  238. package/dist/unified-provider/normalization/index.d.ts.map +1 -0
  239. package/dist/unified-provider/normalization/index.js +62 -0
  240. package/dist/unified-provider/normalization/index.js.map +1 -0
  241. package/dist/unified-provider/normalization/java-normalizer.d.ts +54 -0
  242. package/dist/unified-provider/normalization/java-normalizer.d.ts.map +1 -0
  243. package/dist/unified-provider/normalization/java-normalizer.js +453 -0
  244. package/dist/unified-provider/normalization/java-normalizer.js.map +1 -0
  245. package/dist/unified-provider/normalization/php-normalizer.d.ts +54 -0
  246. package/dist/unified-provider/normalization/php-normalizer.d.ts.map +1 -0
  247. package/dist/unified-provider/normalization/php-normalizer.js +489 -0
  248. package/dist/unified-provider/normalization/php-normalizer.js.map +1 -0
  249. package/dist/unified-provider/normalization/python-normalizer.d.ts +61 -0
  250. package/dist/unified-provider/normalization/python-normalizer.d.ts.map +1 -0
  251. package/dist/unified-provider/normalization/python-normalizer.js +548 -0
  252. package/dist/unified-provider/normalization/python-normalizer.js.map +1 -0
  253. package/dist/unified-provider/normalization/typescript-normalizer.d.ts +60 -0
  254. package/dist/unified-provider/normalization/typescript-normalizer.d.ts.map +1 -0
  255. package/dist/unified-provider/normalization/typescript-normalizer.js +608 -0
  256. package/dist/unified-provider/normalization/typescript-normalizer.js.map +1 -0
  257. package/dist/unified-provider/parsing/index.d.ts +5 -0
  258. package/dist/unified-provider/parsing/index.d.ts.map +1 -0
  259. package/dist/unified-provider/parsing/index.js +5 -0
  260. package/dist/unified-provider/parsing/index.js.map +1 -0
  261. package/dist/unified-provider/parsing/parser-registry.d.ts +70 -0
  262. package/dist/unified-provider/parsing/parser-registry.d.ts.map +1 -0
  263. package/dist/unified-provider/parsing/parser-registry.js +260 -0
  264. package/dist/unified-provider/parsing/parser-registry.js.map +1 -0
  265. package/dist/unified-provider/provider/index.d.ts +5 -0
  266. package/dist/unified-provider/provider/index.d.ts.map +1 -0
  267. package/dist/unified-provider/provider/index.js +5 -0
  268. package/dist/unified-provider/provider/index.js.map +1 -0
  269. package/dist/unified-provider/provider/unified-language-provider.d.ts +56 -0
  270. package/dist/unified-provider/provider/unified-language-provider.d.ts.map +1 -0
  271. package/dist/unified-provider/provider/unified-language-provider.js +212 -0
  272. package/dist/unified-provider/provider/unified-language-provider.js.map +1 -0
  273. package/dist/unified-provider/types.d.ts +389 -0
  274. package/dist/unified-provider/types.d.ts.map +1 -0
  275. package/dist/unified-provider/types.js +9 -0
  276. package/dist/unified-provider/types.js.map +1 -0
  277. package/package.json +21 -17
@@ -0,0 +1,80 @@
1
+ /**
2
+ * Extractor Compatibility Aliases
3
+ *
4
+ * Provides the old per-language extractor names that delegate to UnifiedDataAccessAdapter.
5
+ * These exist purely for backward compatibility with existing code.
6
+ */
7
+ import { UnifiedDataAccessAdapter, createUnifiedDataAccessAdapter, } from '../integration/unified-data-access-adapter.js';
8
+ /**
9
+ * Base class for extractor aliases
10
+ */
11
+ class ExtractorAlias {
12
+ adapter = null;
13
+ getAdapter() {
14
+ if (!this.adapter) {
15
+ this.adapter = createUnifiedDataAccessAdapter();
16
+ }
17
+ return this.adapter;
18
+ }
19
+ canHandle(filePath) {
20
+ const ext = filePath.split('.').pop()?.toLowerCase();
21
+ return ext ? this.extensions.some(e => e.slice(1) === ext) : false;
22
+ }
23
+ extract(_source, _filePath) {
24
+ throw new Error(`${this.constructor.name}.extract() is no longer synchronous. ` +
25
+ 'Use extractAsync() or UnifiedDataAccessAdapter.extract().');
26
+ }
27
+ async extractAsync(source, filePath) {
28
+ const result = await this.getAdapter().extract(source, filePath);
29
+ return {
30
+ accessPoints: result.accessPoints,
31
+ language: result.language,
32
+ errors: result.errors,
33
+ };
34
+ }
35
+ }
36
+ export class TypeScriptDataAccessExtractor extends ExtractorAlias {
37
+ language = 'typescript';
38
+ extensions = ['.ts', '.tsx', '.js', '.jsx', '.mjs', '.cjs'];
39
+ }
40
+ export class PythonDataAccessExtractor extends ExtractorAlias {
41
+ language = 'python';
42
+ extensions = ['.py', '.pyw'];
43
+ }
44
+ export class CSharpDataAccessExtractor extends ExtractorAlias {
45
+ language = 'csharp';
46
+ extensions = ['.cs'];
47
+ }
48
+ export class JavaDataAccessExtractor extends ExtractorAlias {
49
+ language = 'java';
50
+ extensions = ['.java'];
51
+ }
52
+ export class PhpDataAccessExtractor extends ExtractorAlias {
53
+ language = 'php';
54
+ extensions = ['.php', '.phtml'];
55
+ }
56
+ export function createTypeScriptDataAccessExtractor() {
57
+ return new TypeScriptDataAccessExtractor();
58
+ }
59
+ export function createPythonDataAccessExtractor() {
60
+ return new PythonDataAccessExtractor();
61
+ }
62
+ export function createCSharpDataAccessExtractor() {
63
+ return new CSharpDataAccessExtractor();
64
+ }
65
+ export function createJavaDataAccessExtractor() {
66
+ return new JavaDataAccessExtractor();
67
+ }
68
+ export function createPhpDataAccessExtractor() {
69
+ return new PhpDataAccessExtractor();
70
+ }
71
+ export function createDataAccessExtractors() {
72
+ return {
73
+ typescript: createTypeScriptDataAccessExtractor(),
74
+ python: createPythonDataAccessExtractor(),
75
+ csharp: createCSharpDataAccessExtractor(),
76
+ java: createJavaDataAccessExtractor(),
77
+ php: createPhpDataAccessExtractor(),
78
+ };
79
+ }
80
+ //# sourceMappingURL=legacy-extractors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"legacy-extractors.js","sourceRoot":"","sources":["../../../src/unified-provider/compat/legacy-extractors.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Scanner Compatibility Alias
3
+ *
4
+ * Provides the old SemanticDataAccessScanner name that delegates to UnifiedScanner.
5
+ * This exists purely for backward compatibility with existing code.
6
+ */
7
+ import { detectProjectStack, type UnifiedScannerConfig, type UnifiedScanResult, type DetectedStack } from '../integration/unified-scanner.js';
8
+ export type SemanticScannerConfig = UnifiedScannerConfig;
9
+ export type SemanticScanResult = UnifiedScanResult;
10
+ export { type DetectedStack };
11
+ /**
12
+ * SemanticDataAccessScanner - alias for UnifiedScanner
13
+ */
14
+ export declare class SemanticDataAccessScanner {
15
+ private readonly scanner;
16
+ constructor(config: SemanticScannerConfig);
17
+ scanFiles(files: string[]): Promise<SemanticScanResult>;
18
+ scanDirectory(options?: {
19
+ patterns?: string[];
20
+ ignorePatterns?: string[];
21
+ }): Promise<SemanticScanResult>;
22
+ }
23
+ /**
24
+ * createSemanticDataAccessScanner - alias for createUnifiedScanner
25
+ */
26
+ export declare function createSemanticDataAccessScanner(config: SemanticScannerConfig): SemanticDataAccessScanner;
27
+ export { detectProjectStack };
28
+ //# sourceMappingURL=legacy-scanner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"legacy-scanner.d.ts","sourceRoot":"","sources":["../../../src/unified-provider/compat/legacy-scanner.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAGL,kBAAkB,EAClB,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EACnB,MAAM,mCAAmC,CAAC;AAG3C,MAAM,MAAM,qBAAqB,GAAG,oBAAoB,CAAC;AACzD,MAAM,MAAM,kBAAkB,GAAG,iBAAiB,CAAC;AACnD,OAAO,EAAE,KAAK,aAAa,EAAE,CAAC;AAE9B;;GAEG;AACH,qBAAa,yBAAyB;IACpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;gBAE7B,MAAM,EAAE,qBAAqB;IAInC,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAIvD,aAAa,CAAC,OAAO,GAAE;QAC3B,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;KACtB,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAGrC;AAED;;GAEG;AACH,wBAAgB,+BAA+B,CAAC,MAAM,EAAE,qBAAqB,GAAG,yBAAyB,CAExG;AAED,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Scanner Compatibility Alias
3
+ *
4
+ * Provides the old SemanticDataAccessScanner name that delegates to UnifiedScanner.
5
+ * This exists purely for backward compatibility with existing code.
6
+ */
7
+ import { UnifiedScanner, createUnifiedScanner, detectProjectStack, } from '../integration/unified-scanner.js';
8
+ export {};
9
+ /**
10
+ * SemanticDataAccessScanner - alias for UnifiedScanner
11
+ */
12
+ export class SemanticDataAccessScanner {
13
+ scanner;
14
+ constructor(config) {
15
+ this.scanner = createUnifiedScanner(config);
16
+ }
17
+ async scanFiles(files) {
18
+ return this.scanner.scanFiles(files);
19
+ }
20
+ async scanDirectory(options = {}) {
21
+ return this.scanner.scanDirectory(options);
22
+ }
23
+ }
24
+ /**
25
+ * createSemanticDataAccessScanner - alias for createUnifiedScanner
26
+ */
27
+ export function createSemanticDataAccessScanner(config) {
28
+ return new SemanticDataAccessScanner(config);
29
+ }
30
+ export { detectProjectStack };
31
+ //# sourceMappingURL=legacy-scanner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"legacy-scanner.js","sourceRoot":"","sources":["../../../src/unified-provider/compat/legacy-scanner.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,kBAAkB,GAInB,MAAM,mCAAmC,CAAC;AAK3C,OAAO,EAAsB,CAAC;AAE9B;;GAEG;AACH,MAAM,OAAO,yBAAyB;IACnB,OAAO,CAAiB;IAEzC,YAAY,MAA6B;QACvC,IAAI,CAAC,OAAO,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,KAAe;QAC7B,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,UAGhB,EAAE;QACJ,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,+BAA+B,CAAC,MAA6B;IAC3E,OAAO,IAAI,yBAAyB,CAAC,MAAM,CAAC,CAAC;AAC/C,CAAC;AAED,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Unified Language Provider
3
+ *
4
+ * A composable extraction pipeline that normalizes AST differences
5
+ * into a universal representation, enabling language-agnostic pattern
6
+ * matching while preserving the proven hybrid tree-sitter + regex approach.
7
+ *
8
+ * @example
9
+ * ```typescript
10
+ * import { createUnifiedProvider } from './unified-provider';
11
+ *
12
+ * const provider = createUnifiedProvider({ projectRoot: '/path/to/project' });
13
+ * const result = await provider.extract(sourceCode, 'src/api/users.ts');
14
+ *
15
+ * // Access extracted data
16
+ * console.log(result.functions); // All functions/methods
17
+ * console.log(result.callChains); // Normalized call chains
18
+ * console.log(result.dataAccess); // Detected data access points
19
+ * ```
20
+ */
21
+ export { UnifiedLanguageProvider, createUnifiedProvider, } from './provider/index.js';
22
+ export type { UnifiedLanguage, UnifiedProviderOptions, UnifiedExtractionResult, ExtractionStats, UnifiedCallChain, CallChainSegment, NormalizedArg, UnifiedFunction, UnifiedClass, UnifiedImport, UnifiedExport, UnifiedParameter, UnifiedImportedName, UnifiedDataAccess, PatternMatchResult, PatternMatcher, CallChainNormalizer, LanguageConfig, } from './types.js';
23
+ export { getParserRegistry, detectLanguage, getLanguageExtensions, ParserRegistry, type ParserAvailability, } from './parsing/index.js';
24
+ export { getNormalizer, getAvailableNormalizers, resetNormalizers, BaseNormalizer, TypeScriptNormalizer, PythonNormalizer, JavaNormalizer, PhpNormalizer, CSharpNormalizer, } from './normalization/index.js';
25
+ export { getMatcherRegistry, resetMatcherRegistry, MatcherRegistry, BaseMatcher, SupabaseMatcher, PrismaMatcher, DrizzleMatcher, TypeORMMatcher, SequelizeMatcher, MongooseMatcher, KnexMatcher, RawSqlMatcher, DjangoMatcher, SQLAlchemyMatcher, EFCoreMatcher, EloquentMatcher, SpringDataMatcher, } from './matching/index.js';
26
+ export { UnifiedDataAccessAdapter, createUnifiedDataAccessAdapter, toDataAccessPoint, toFunctionExtraction, toClassExtraction, toImportExtraction, toExportExtraction, toFileExtractionResult, UnifiedScanner, createUnifiedScanner, detectProjectStack, type UnifiedScannerConfig, type UnifiedScanResult, type DetectedStack, } from './integration/index.js';
27
+ export { SemanticDataAccessScanner, createSemanticDataAccessScanner, type SemanticScannerConfig, type SemanticScanResult, TypeScriptDataAccessExtractor, PythonDataAccessExtractor, CSharpDataAccessExtractor, JavaDataAccessExtractor, PhpDataAccessExtractor, createTypeScriptDataAccessExtractor, createPythonDataAccessExtractor, createCSharpDataAccessExtractor, createJavaDataAccessExtractor, createPhpDataAccessExtractor, createDataAccessExtractors, type DataAccessExtractionResult, } from './compat/index.js';
28
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/unified-provider/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,EACL,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAG7B,YAAY,EAEV,eAAe,EACf,sBAAsB,EACtB,uBAAuB,EACvB,eAAe,EAGf,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EAGb,eAAe,EACf,YAAY,EACZ,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EAGjB,kBAAkB,EAClB,cAAc,EAGd,mBAAmB,EACnB,cAAc,GACf,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,qBAAqB,EACrB,cAAc,EACd,KAAK,kBAAkB,GACxB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,aAAa,EACb,uBAAuB,EACvB,gBAAgB,EAChB,cAAc,EACd,oBAAoB,EACpB,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,gBAAgB,GACjB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EACf,WAAW,EAEX,eAAe,EACf,aAAa,EACb,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,WAAW,EACX,aAAa,EAEb,aAAa,EACb,iBAAiB,EAEjB,aAAa,EAEb,eAAe,EAEf,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAEL,wBAAwB,EACxB,8BAA8B,EAC9B,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,EAEtB,cAAc,EACd,oBAAoB,EACpB,kBAAkB,EAClB,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,KAAK,aAAa,GACnB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACL,yBAAyB,EACzB,+BAA+B,EAC/B,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,EACvB,6BAA6B,EAC7B,yBAAyB,EACzB,yBAAyB,EACzB,uBAAuB,EACvB,sBAAsB,EACtB,mCAAmC,EACnC,+BAA+B,EAC/B,+BAA+B,EAC/B,6BAA6B,EAC7B,4BAA4B,EAC5B,0BAA0B,EAC1B,KAAK,0BAA0B,GAChC,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Unified Language Provider
3
+ *
4
+ * A composable extraction pipeline that normalizes AST differences
5
+ * into a universal representation, enabling language-agnostic pattern
6
+ * matching while preserving the proven hybrid tree-sitter + regex approach.
7
+ *
8
+ * @example
9
+ * ```typescript
10
+ * import { createUnifiedProvider } from './unified-provider';
11
+ *
12
+ * const provider = createUnifiedProvider({ projectRoot: '/path/to/project' });
13
+ * const result = await provider.extract(sourceCode, 'src/api/users.ts');
14
+ *
15
+ * // Access extracted data
16
+ * console.log(result.functions); // All functions/methods
17
+ * console.log(result.callChains); // Normalized call chains
18
+ * console.log(result.dataAccess); // Detected data access points
19
+ * ```
20
+ */
21
+ // Main provider
22
+ export { UnifiedLanguageProvider, createUnifiedProvider, } from './provider/index.js';
23
+ // Parsing utilities
24
+ export { getParserRegistry, detectLanguage, getLanguageExtensions, ParserRegistry, } from './parsing/index.js';
25
+ // Normalization
26
+ export { getNormalizer, getAvailableNormalizers, resetNormalizers, BaseNormalizer, TypeScriptNormalizer, PythonNormalizer, JavaNormalizer, PhpNormalizer, CSharpNormalizer, } from './normalization/index.js';
27
+ // Pattern matching
28
+ export { getMatcherRegistry, resetMatcherRegistry, MatcherRegistry, BaseMatcher,
29
+ // JavaScript/TypeScript ORMs
30
+ SupabaseMatcher, PrismaMatcher, DrizzleMatcher, TypeORMMatcher, SequelizeMatcher, MongooseMatcher, KnexMatcher, RawSqlMatcher,
31
+ // Python ORMs
32
+ DjangoMatcher, SQLAlchemyMatcher,
33
+ // C# ORMs
34
+ EFCoreMatcher,
35
+ // PHP ORMs
36
+ EloquentMatcher,
37
+ // Java ORMs
38
+ SpringDataMatcher, } from './matching/index.js';
39
+ // Integration adapters (for compatibility with existing systems)
40
+ export {
41
+ // Unified Data Access Adapter
42
+ UnifiedDataAccessAdapter, createUnifiedDataAccessAdapter, toDataAccessPoint, toFunctionExtraction, toClassExtraction, toImportExtraction, toExportExtraction, toFileExtractionResult,
43
+ // Unified Scanner (replacement for SemanticDataAccessScanner)
44
+ UnifiedScanner, createUnifiedScanner, detectProjectStack, } from './integration/index.js';
45
+ // Backward compatibility aliases (old API names that delegate to unified provider)
46
+ export { SemanticDataAccessScanner, createSemanticDataAccessScanner, TypeScriptDataAccessExtractor, PythonDataAccessExtractor, CSharpDataAccessExtractor, JavaDataAccessExtractor, PhpDataAccessExtractor, createTypeScriptDataAccessExtractor, createPythonDataAccessExtractor, createCSharpDataAccessExtractor, createJavaDataAccessExtractor, createPhpDataAccessExtractor, createDataAccessExtractors, } from './compat/index.js';
47
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/unified-provider/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,gBAAgB;AAChB,OAAO,EACL,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAiC7B,oBAAoB;AACpB,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,qBAAqB,EACrB,cAAc,GAEf,MAAM,oBAAoB,CAAC;AAE5B,gBAAgB;AAChB,OAAO,EACL,aAAa,EACb,uBAAuB,EACvB,gBAAgB,EAChB,cAAc,EACd,oBAAoB,EACpB,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,gBAAgB,GACjB,MAAM,0BAA0B,CAAC;AAElC,mBAAmB;AACnB,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EACf,WAAW;AACX,6BAA6B;AAC7B,eAAe,EACf,aAAa,EACb,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,WAAW,EACX,aAAa;AACb,cAAc;AACd,aAAa,EACb,iBAAiB;AACjB,UAAU;AACV,aAAa;AACb,WAAW;AACX,eAAe;AACf,YAAY;AACZ,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAE7B,iEAAiE;AACjE,OAAO;AACL,8BAA8B;AAC9B,wBAAwB,EACxB,8BAA8B,EAC9B,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB;AACtB,8DAA8D;AAC9D,cAAc,EACd,oBAAoB,EACpB,kBAAkB,GAInB,MAAM,wBAAwB,CAAC;AAEhC,mFAAmF;AACnF,OAAO,EACL,yBAAyB,EACzB,+BAA+B,EAG/B,6BAA6B,EAC7B,yBAAyB,EACzB,yBAAyB,EACzB,uBAAuB,EACvB,sBAAsB,EACtB,mCAAmC,EACnC,+BAA+B,EAC/B,+BAA+B,EAC/B,6BAA6B,EAC7B,4BAA4B,EAC5B,0BAA0B,GAE3B,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Integration Module Exports
3
+ *
4
+ * Provides adapters and bridges between the UnifiedLanguageProvider
5
+ * and existing systems (SemanticDataAccessScanner, CallGraphAnalyzer).
6
+ */
7
+ export { UnifiedDataAccessAdapter, createUnifiedDataAccessAdapter, toDataAccessPoint, toFunctionExtraction, toClassExtraction, toImportExtraction, toExportExtraction, toFileExtractionResult, } from './unified-data-access-adapter.js';
8
+ export { UnifiedScanner, createUnifiedScanner, detectProjectStack, type UnifiedScannerConfig, type UnifiedScanResult, type DetectedStack, } from './unified-scanner.js';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/unified-provider/integration/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,wBAAwB,EACxB,8BAA8B,EAC9B,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,kCAAkC,CAAC;AAG1C,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,kBAAkB,EAClB,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,KAAK,aAAa,GACnB,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Integration Module Exports
3
+ *
4
+ * Provides adapters and bridges between the UnifiedLanguageProvider
5
+ * and existing systems (SemanticDataAccessScanner, CallGraphAnalyzer).
6
+ */
7
+ // Unified Data Access Adapter
8
+ export { UnifiedDataAccessAdapter, createUnifiedDataAccessAdapter, toDataAccessPoint, toFunctionExtraction, toClassExtraction, toImportExtraction, toExportExtraction, toFileExtractionResult, } from './unified-data-access-adapter.js';
9
+ // Unified Scanner (replacement for SemanticDataAccessScanner)
10
+ export { UnifiedScanner, createUnifiedScanner, detectProjectStack, } from './unified-scanner.js';
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/unified-provider/integration/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,8BAA8B;AAC9B,OAAO,EACL,wBAAwB,EACxB,8BAA8B,EAC9B,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,kCAAkC,CAAC;AAE1C,8DAA8D;AAC9D,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,kBAAkB,GAInB,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,75 @@
1
+ /**
2
+ * Unified Data Access Adapter
3
+ *
4
+ * Bridges the UnifiedLanguageProvider with the existing SemanticDataAccessScanner
5
+ * and CallGraphAnalyzer systems. This adapter converts between the unified
6
+ * extraction format and the legacy DataAccessPoint format.
7
+ */
8
+ import type { DataAccessPoint } from '../../boundaries/types.js';
9
+ import type { FileExtractionResult, FunctionExtraction, ImportExtraction, ExportExtraction, ClassExtraction } from '../../call-graph/types.js';
10
+ import type { UnifiedExtractionResult, UnifiedDataAccess, UnifiedFunction, UnifiedClass, UnifiedImport, UnifiedExport, UnifiedLanguage } from '../types.js';
11
+ /**
12
+ * Convert UnifiedDataAccess to DataAccessPoint
13
+ */
14
+ export declare function toDataAccessPoint(access: UnifiedDataAccess): DataAccessPoint;
15
+ /**
16
+ * Convert UnifiedFunction to FunctionExtraction
17
+ */
18
+ export declare function toFunctionExtraction(func: UnifiedFunction): FunctionExtraction;
19
+ /**
20
+ * Convert UnifiedClass to ClassExtraction
21
+ */
22
+ export declare function toClassExtraction(cls: UnifiedClass): ClassExtraction;
23
+ /**
24
+ * Convert UnifiedImport to ImportExtraction
25
+ */
26
+ export declare function toImportExtraction(imp: UnifiedImport): ImportExtraction;
27
+ /**
28
+ * Convert UnifiedExport to ExportExtraction
29
+ */
30
+ export declare function toExportExtraction(exp: UnifiedExport): ExportExtraction;
31
+ /**
32
+ * Convert UnifiedExtractionResult to FileExtractionResult
33
+ */
34
+ export declare function toFileExtractionResult(result: UnifiedExtractionResult): FileExtractionResult;
35
+ /**
36
+ * Unified Data Access Adapter
37
+ *
38
+ * Provides a drop-in replacement for the existing data access extractors
39
+ * using the new unified language provider.
40
+ */
41
+ export declare class UnifiedDataAccessAdapter {
42
+ private provider;
43
+ constructor(projectRoot?: string);
44
+ /**
45
+ * Extract data access points from source code
46
+ * Compatible with BaseDataAccessExtractor interface
47
+ */
48
+ extract(source: string, filePath: string): Promise<{
49
+ accessPoints: DataAccessPoint[];
50
+ language: string;
51
+ errors: string[];
52
+ }>;
53
+ /**
54
+ * Extract full file information
55
+ * Compatible with CallGraphExtractor interface
56
+ */
57
+ extractFull(source: string, filePath: string): Promise<FileExtractionResult>;
58
+ /**
59
+ * Get the raw unified extraction result
60
+ */
61
+ extractUnified(source: string, filePath: string): Promise<UnifiedExtractionResult>;
62
+ /**
63
+ * Check if a file can be handled
64
+ */
65
+ canHandle(filePath: string): boolean;
66
+ /**
67
+ * Get supported languages
68
+ */
69
+ getSupportedLanguages(): Promise<UnifiedLanguage[]>;
70
+ }
71
+ /**
72
+ * Create a unified data access adapter
73
+ */
74
+ export declare function createUnifiedDataAccessAdapter(projectRoot?: string): UnifiedDataAccessAdapter;
75
+ //# sourceMappingURL=unified-data-access-adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unified-data-access-adapter.d.ts","sourceRoot":"","sources":["../../../src/unified-provider/integration/unified-data-access-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,KAAK,EAAE,oBAAoB,EAAE,kBAAkB,EAAkB,gBAAgB,EAAE,gBAAgB,EAAE,eAAe,EAAqB,MAAM,2BAA2B,CAAC;AAClL,OAAO,KAAK,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,eAAe,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAU5J;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,iBAAiB,GAAG,eAAe,CAa5E;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,eAAe,GAAG,kBAAkB,CAyB9E;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,YAAY,GAAG,eAAe,CASpE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,aAAa,GAAG,gBAAgB,CAYvE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,aAAa,GAAG,gBAAgB,CAQvE;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,uBAAuB,GAAG,oBAAoB,CAqC5F;AAED;;;;;GAKG;AACH,qBAAa,wBAAwB;IACnC,OAAO,CAAC,QAAQ,CAA0B;gBAE9B,WAAW,CAAC,EAAE,MAAM;IAQhC;;;OAGG;IACG,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;QACvD,YAAY,EAAE,eAAe,EAAE,CAAC;QAChC,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,EAAE,CAAC;KAClB,CAAC;IAUF;;;OAGG;IACG,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAKlF;;OAEG;IACG,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAIxF;;OAEG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAYpC;;OAEG;IACG,qBAAqB,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;CAG1D;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,wBAAwB,CAE7F"}
@@ -0,0 +1,210 @@
1
+ /**
2
+ * Unified Data Access Adapter
3
+ *
4
+ * Bridges the UnifiedLanguageProvider with the existing SemanticDataAccessScanner
5
+ * and CallGraphAnalyzer systems. This adapter converts between the unified
6
+ * extraction format and the legacy DataAccessPoint format.
7
+ */
8
+ import { UnifiedLanguageProvider, createUnifiedProvider } from '../provider/unified-language-provider.js';
9
+ /**
10
+ * Convert UnifiedLanguage to CallGraphLanguage
11
+ */
12
+ function toCallGraphLanguage(lang) {
13
+ return lang;
14
+ }
15
+ /**
16
+ * Convert UnifiedDataAccess to DataAccessPoint
17
+ */
18
+ export function toDataAccessPoint(access) {
19
+ return {
20
+ id: access.id,
21
+ table: access.table,
22
+ fields: access.fields,
23
+ operation: access.operation,
24
+ file: access.file,
25
+ line: access.line,
26
+ column: access.column,
27
+ context: access.context,
28
+ isRawSql: access.isRawSql,
29
+ confidence: access.confidence,
30
+ };
31
+ }
32
+ /**
33
+ * Convert UnifiedFunction to FunctionExtraction
34
+ */
35
+ export function toFunctionExtraction(func) {
36
+ return {
37
+ name: func.name,
38
+ qualifiedName: func.qualifiedName,
39
+ startLine: func.startLine,
40
+ endLine: func.endLine,
41
+ startColumn: func.startColumn,
42
+ endColumn: func.endColumn,
43
+ parameters: func.parameters.map(p => ({
44
+ name: p.name,
45
+ type: p.type,
46
+ hasDefault: p.hasDefault,
47
+ isRest: p.isRest,
48
+ })),
49
+ returnType: func.returnType,
50
+ isMethod: func.isMethod,
51
+ isStatic: func.isStatic,
52
+ isExported: func.isExported,
53
+ isConstructor: func.isConstructor,
54
+ isAsync: func.isAsync,
55
+ className: func.className,
56
+ decorators: func.decorators,
57
+ bodyStartLine: func.bodyStartLine,
58
+ bodyEndLine: func.bodyEndLine,
59
+ };
60
+ }
61
+ /**
62
+ * Convert UnifiedClass to ClassExtraction
63
+ */
64
+ export function toClassExtraction(cls) {
65
+ return {
66
+ name: cls.name,
67
+ startLine: cls.startLine,
68
+ endLine: cls.endLine,
69
+ baseClasses: cls.baseClasses,
70
+ methods: cls.methods,
71
+ isExported: cls.isExported,
72
+ };
73
+ }
74
+ /**
75
+ * Convert UnifiedImport to ImportExtraction
76
+ */
77
+ export function toImportExtraction(imp) {
78
+ return {
79
+ source: imp.source,
80
+ names: imp.names.map(n => ({
81
+ imported: n.imported,
82
+ local: n.local,
83
+ isDefault: n.isDefault,
84
+ isNamespace: n.isNamespace,
85
+ })),
86
+ line: imp.line,
87
+ isTypeOnly: imp.isTypeOnly,
88
+ };
89
+ }
90
+ /**
91
+ * Convert UnifiedExport to ExportExtraction
92
+ */
93
+ export function toExportExtraction(exp) {
94
+ return {
95
+ name: exp.name,
96
+ isDefault: exp.isDefault,
97
+ isReExport: exp.isReExport,
98
+ source: exp.source,
99
+ line: exp.line,
100
+ };
101
+ }
102
+ /**
103
+ * Convert UnifiedExtractionResult to FileExtractionResult
104
+ */
105
+ export function toFileExtractionResult(result) {
106
+ // Extract calls from call chains
107
+ const calls = [];
108
+ for (const chain of result.callChains) {
109
+ // Each call chain represents a series of method calls
110
+ // We extract individual calls from the chain
111
+ for (let i = 0; i < chain.segments.length; i++) {
112
+ const segment = chain.segments[i];
113
+ if (!segment)
114
+ continue;
115
+ if (segment.isCall) {
116
+ const prevSegment = i > 0 ? chain.segments[i - 1] : undefined;
117
+ const receiver = i === 0 ? chain.receiver : prevSegment?.name;
118
+ calls.push({
119
+ calleeName: segment.name,
120
+ receiver,
121
+ fullExpression: chain.fullExpression,
122
+ line: segment.line,
123
+ column: segment.column,
124
+ argumentCount: segment.args.length,
125
+ isMethodCall: i > 0 || !!chain.receiver,
126
+ isConstructorCall: false,
127
+ });
128
+ }
129
+ }
130
+ }
131
+ return {
132
+ file: result.file,
133
+ language: toCallGraphLanguage(result.language),
134
+ functions: result.functions.map(toFunctionExtraction),
135
+ calls,
136
+ imports: result.imports.map(toImportExtraction),
137
+ exports: result.exports.map(toExportExtraction),
138
+ classes: result.classes.map(toClassExtraction),
139
+ errors: result.errors,
140
+ };
141
+ }
142
+ /**
143
+ * Unified Data Access Adapter
144
+ *
145
+ * Provides a drop-in replacement for the existing data access extractors
146
+ * using the new unified language provider.
147
+ */
148
+ export class UnifiedDataAccessAdapter {
149
+ provider;
150
+ constructor(projectRoot) {
151
+ this.provider = createUnifiedProvider({
152
+ projectRoot,
153
+ extractDataAccess: true,
154
+ extractCallGraph: true,
155
+ });
156
+ }
157
+ /**
158
+ * Extract data access points from source code
159
+ * Compatible with BaseDataAccessExtractor interface
160
+ */
161
+ async extract(source, filePath) {
162
+ const result = await this.provider.extract(source, filePath);
163
+ return {
164
+ accessPoints: result.dataAccess.map(toDataAccessPoint),
165
+ language: result.language,
166
+ errors: result.errors,
167
+ };
168
+ }
169
+ /**
170
+ * Extract full file information
171
+ * Compatible with CallGraphExtractor interface
172
+ */
173
+ async extractFull(source, filePath) {
174
+ const result = await this.provider.extract(source, filePath);
175
+ return toFileExtractionResult(result);
176
+ }
177
+ /**
178
+ * Get the raw unified extraction result
179
+ */
180
+ async extractUnified(source, filePath) {
181
+ return this.provider.extract(source, filePath);
182
+ }
183
+ /**
184
+ * Check if a file can be handled
185
+ */
186
+ canHandle(filePath) {
187
+ const ext = filePath.split('.').pop()?.toLowerCase();
188
+ const supportedExtensions = [
189
+ 'ts', 'tsx', 'js', 'jsx', 'mjs', 'cjs', // TypeScript/JavaScript
190
+ 'py', 'pyw', // Python
191
+ 'java', // Java
192
+ 'cs', // C#
193
+ 'php', 'phtml', // PHP
194
+ ];
195
+ return ext ? supportedExtensions.includes(ext) : false;
196
+ }
197
+ /**
198
+ * Get supported languages
199
+ */
200
+ async getSupportedLanguages() {
201
+ return this.provider.getSupportedLanguages();
202
+ }
203
+ }
204
+ /**
205
+ * Create a unified data access adapter
206
+ */
207
+ export function createUnifiedDataAccessAdapter(projectRoot) {
208
+ return new UnifiedDataAccessAdapter(projectRoot);
209
+ }
210
+ //# sourceMappingURL=unified-data-access-adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unified-data-access-adapter.js","sourceRoot":"","sources":["../../../src/unified-provider/integration/unified-data-access-adapter.ts"],"names":[],"mappings":"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"}