code-auditor-mcp 1.20.0 → 2.0.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 (180) hide show
  1. package/dist/adapters/GoAdapter.d.ts +53 -0
  2. package/dist/adapters/GoAdapter.d.ts.map +1 -0
  3. package/dist/adapters/GoAdapter.js +602 -0
  4. package/dist/adapters/GoAdapter.js.map +1 -0
  5. package/dist/adapters/GoConfig.d.ts +35 -0
  6. package/dist/adapters/GoConfig.d.ts.map +1 -0
  7. package/dist/adapters/GoConfig.js +155 -0
  8. package/dist/adapters/GoConfig.js.map +1 -0
  9. package/dist/adapters/LanguageAdapter.d.ts +135 -0
  10. package/dist/adapters/LanguageAdapter.d.ts.map +1 -0
  11. package/dist/adapters/LanguageAdapter.js +47 -0
  12. package/dist/adapters/LanguageAdapter.js.map +1 -0
  13. package/dist/adapters/TypeScriptAdapter.d.ts +43 -0
  14. package/dist/adapters/TypeScriptAdapter.d.ts.map +1 -0
  15. package/dist/adapters/TypeScriptAdapter.js +386 -0
  16. package/dist/adapters/TypeScriptAdapter.js.map +1 -0
  17. package/dist/adapters/UniversalAnalyzer.d.ts +42 -0
  18. package/dist/adapters/UniversalAnalyzer.d.ts.map +1 -0
  19. package/dist/adapters/UniversalAnalyzer.js +103 -0
  20. package/dist/adapters/UniversalAnalyzer.js.map +1 -0
  21. package/dist/adapters/UniversalSOLIDAnalyzer.d.ts +48 -0
  22. package/dist/adapters/UniversalSOLIDAnalyzer.d.ts.map +1 -0
  23. package/dist/adapters/UniversalSOLIDAnalyzer.js +178 -0
  24. package/dist/adapters/UniversalSOLIDAnalyzer.js.map +1 -0
  25. package/dist/adapters/solidAnalyzerCompat.d.ts +21 -0
  26. package/dist/adapters/solidAnalyzerCompat.d.ts.map +1 -0
  27. package/dist/adapters/solidAnalyzerCompat.js +78 -0
  28. package/dist/adapters/solidAnalyzerCompat.js.map +1 -0
  29. package/dist/analyzers/cross-language/APIContractAnalyzer.d.ts +103 -0
  30. package/dist/analyzers/cross-language/APIContractAnalyzer.d.ts.map +1 -0
  31. package/dist/analyzers/cross-language/APIContractAnalyzer.js +425 -0
  32. package/dist/analyzers/cross-language/APIContractAnalyzer.js.map +1 -0
  33. package/dist/analyzers/cross-language/CrossLanguageSOLIDAnalyzer.d.ts +117 -0
  34. package/dist/analyzers/cross-language/CrossLanguageSOLIDAnalyzer.d.ts.map +1 -0
  35. package/dist/analyzers/cross-language/CrossLanguageSOLIDAnalyzer.js +618 -0
  36. package/dist/analyzers/cross-language/CrossLanguageSOLIDAnalyzer.js.map +1 -0
  37. package/dist/analyzers/cross-language/DependencyGraphBuilder.d.ts +129 -0
  38. package/dist/analyzers/cross-language/DependencyGraphBuilder.d.ts.map +1 -0
  39. package/dist/analyzers/cross-language/DependencyGraphBuilder.js +473 -0
  40. package/dist/analyzers/cross-language/DependencyGraphBuilder.js.map +1 -0
  41. package/dist/analyzers/cross-language/SchemaValidator.d.ts +126 -0
  42. package/dist/analyzers/cross-language/SchemaValidator.d.ts.map +1 -0
  43. package/dist/analyzers/cross-language/SchemaValidator.js +522 -0
  44. package/dist/analyzers/cross-language/SchemaValidator.js.map +1 -0
  45. package/dist/analyzers/dataAccessAnalyzerCompat.d.ts +20 -0
  46. package/dist/analyzers/dataAccessAnalyzerCompat.d.ts.map +1 -0
  47. package/dist/analyzers/dataAccessAnalyzerCompat.js +59 -0
  48. package/dist/analyzers/dataAccessAnalyzerCompat.js.map +1 -0
  49. package/dist/analyzers/documentationAnalyzerCompat.d.ts +20 -0
  50. package/dist/analyzers/documentationAnalyzerCompat.d.ts.map +1 -0
  51. package/dist/analyzers/documentationAnalyzerCompat.js +52 -0
  52. package/dist/analyzers/documentationAnalyzerCompat.js.map +1 -0
  53. package/dist/analyzers/dryAnalyzerCompat.d.ts +20 -0
  54. package/dist/analyzers/dryAnalyzerCompat.d.ts.map +1 -0
  55. package/dist/analyzers/dryAnalyzerCompat.js +44 -0
  56. package/dist/analyzers/dryAnalyzerCompat.js.map +1 -0
  57. package/dist/analyzers/schemaAnalyzer.d.ts +21 -0
  58. package/dist/analyzers/schemaAnalyzer.d.ts.map +1 -0
  59. package/dist/analyzers/schemaAnalyzer.js +405 -0
  60. package/dist/analyzers/schemaAnalyzer.js.map +1 -0
  61. package/dist/analyzers/schemaAnalyzerCompat.d.ts +20 -0
  62. package/dist/analyzers/schemaAnalyzerCompat.d.ts.map +1 -0
  63. package/dist/analyzers/schemaAnalyzerCompat.js +69 -0
  64. package/dist/analyzers/schemaAnalyzerCompat.js.map +1 -0
  65. package/dist/analyzers/solidAnalyzerCompat.d.ts +20 -0
  66. package/dist/analyzers/solidAnalyzerCompat.d.ts.map +1 -0
  67. package/dist/analyzers/solidAnalyzerCompat.js +78 -0
  68. package/dist/analyzers/solidAnalyzerCompat.js.map +1 -0
  69. package/dist/analyzers/universal/UniversalDRYAnalyzer.d.ts +71 -0
  70. package/dist/analyzers/universal/UniversalDRYAnalyzer.d.ts.map +1 -0
  71. package/dist/analyzers/universal/UniversalDRYAnalyzer.js +276 -0
  72. package/dist/analyzers/universal/UniversalDRYAnalyzer.js.map +1 -0
  73. package/dist/analyzers/universal/UniversalDataAccessAnalyzer.d.ts +82 -0
  74. package/dist/analyzers/universal/UniversalDataAccessAnalyzer.d.ts.map +1 -0
  75. package/dist/analyzers/universal/UniversalDataAccessAnalyzer.js +489 -0
  76. package/dist/analyzers/universal/UniversalDataAccessAnalyzer.js.map +1 -0
  77. package/dist/analyzers/universal/UniversalDocumentationAnalyzer.d.ts +48 -0
  78. package/dist/analyzers/universal/UniversalDocumentationAnalyzer.d.ts.map +1 -0
  79. package/dist/analyzers/universal/UniversalDocumentationAnalyzer.js +175 -0
  80. package/dist/analyzers/universal/UniversalDocumentationAnalyzer.js.map +1 -0
  81. package/dist/analyzers/universal/UniversalSOLIDAnalyzer.d.ts +64 -0
  82. package/dist/analyzers/universal/UniversalSOLIDAnalyzer.d.ts.map +1 -0
  83. package/dist/analyzers/universal/UniversalSOLIDAnalyzer.js +286 -0
  84. package/dist/analyzers/universal/UniversalSOLIDAnalyzer.js.map +1 -0
  85. package/dist/analyzers/universal/UniversalSchemaAnalyzer.d.ts +119 -0
  86. package/dist/analyzers/universal/UniversalSchemaAnalyzer.d.ts.map +1 -0
  87. package/dist/analyzers/universal/UniversalSchemaAnalyzer.js +812 -0
  88. package/dist/analyzers/universal/UniversalSchemaAnalyzer.js.map +1 -0
  89. package/dist/auditRunner.d.ts.map +1 -1
  90. package/dist/auditRunner.js +23 -7
  91. package/dist/auditRunner.js.map +1 -1
  92. package/dist/codeIndexDB-enhanced.d.ts +80 -0
  93. package/dist/codeIndexDB-enhanced.d.ts.map +1 -0
  94. package/dist/codeIndexDB-enhanced.js +488 -0
  95. package/dist/codeIndexDB-enhanced.js.map +1 -0
  96. package/dist/codeIndexDb.d.ts +70 -1
  97. package/dist/codeIndexDb.d.ts.map +1 -1
  98. package/dist/codeIndexDb.js +199 -2
  99. package/dist/codeIndexDb.js.map +1 -1
  100. package/dist/config/defaults.js +1 -1
  101. package/dist/config/defaults.js.map +1 -1
  102. package/dist/languages/LanguageOrchestrator.d.ts +181 -0
  103. package/dist/languages/LanguageOrchestrator.d.ts.map +1 -0
  104. package/dist/languages/LanguageOrchestrator.js +365 -0
  105. package/dist/languages/LanguageOrchestrator.js.map +1 -0
  106. package/dist/languages/LanguageRegistry.d.ts +43 -0
  107. package/dist/languages/LanguageRegistry.d.ts.map +1 -0
  108. package/dist/languages/LanguageRegistry.js +86 -0
  109. package/dist/languages/LanguageRegistry.js.map +1 -0
  110. package/dist/languages/RuntimeManager.d.ts +181 -0
  111. package/dist/languages/RuntimeManager.d.ts.map +1 -0
  112. package/dist/languages/RuntimeManager.js +841 -0
  113. package/dist/languages/RuntimeManager.js.map +1 -0
  114. package/dist/languages/UniversalAnalyzer.d.ts +37 -0
  115. package/dist/languages/UniversalAnalyzer.d.ts.map +1 -0
  116. package/dist/languages/UniversalAnalyzer.js +101 -0
  117. package/dist/languages/UniversalAnalyzer.js.map +1 -0
  118. package/dist/languages/go/GoAdapter.d.ts +57 -0
  119. package/dist/languages/go/GoAdapter.d.ts.map +1 -0
  120. package/dist/languages/go/GoAdapter.js +360 -0
  121. package/dist/languages/go/GoAdapter.js.map +1 -0
  122. package/dist/languages/index.d.ts +13 -0
  123. package/dist/languages/index.d.ts.map +1 -0
  124. package/dist/languages/index.js +23 -0
  125. package/dist/languages/index.js.map +1 -0
  126. package/dist/languages/types.d.ts +182 -0
  127. package/dist/languages/types.d.ts.map +1 -0
  128. package/dist/languages/types.js +5 -0
  129. package/dist/languages/types.js.map +1 -0
  130. package/dist/languages/typescript/TypeScriptAdapter.d.ts +108 -0
  131. package/dist/languages/typescript/TypeScriptAdapter.d.ts.map +1 -0
  132. package/dist/languages/typescript/TypeScriptAdapter.js +567 -0
  133. package/dist/languages/typescript/TypeScriptAdapter.js.map +1 -0
  134. package/dist/languages/typescript/test-extraction.d.ts +2 -0
  135. package/dist/languages/typescript/test-extraction.d.ts.map +1 -0
  136. package/dist/languages/typescript/test-extraction.js +36 -0
  137. package/dist/languages/typescript/test-extraction.js.map +1 -0
  138. package/dist/mcp-hybrid.d.ts +10 -0
  139. package/dist/mcp-hybrid.d.ts.map +1 -0
  140. package/dist/mcp-hybrid.js +41 -0
  141. package/dist/mcp-hybrid.js.map +1 -0
  142. package/dist/mcp-index.d.ts +11 -0
  143. package/dist/mcp-index.d.ts.map +1 -0
  144. package/dist/mcp-index.js +101 -0
  145. package/dist/mcp-index.js.map +1 -0
  146. package/dist/mcp-tools/workflowGuide.d.ts.map +1 -1
  147. package/dist/mcp-tools/workflowGuide.js +67 -10
  148. package/dist/mcp-tools/workflowGuide.js.map +1 -1
  149. package/dist/mcp-tools-shared.d.ts +49 -0
  150. package/dist/mcp-tools-shared.d.ts.map +1 -0
  151. package/dist/mcp-tools-shared.js +1282 -0
  152. package/dist/mcp-tools-shared.js.map +1 -0
  153. package/dist/mcp-ui-server.d.ts +27 -0
  154. package/dist/mcp-ui-server.d.ts.map +1 -0
  155. package/dist/mcp-ui-server.js +484 -0
  156. package/dist/mcp-ui-server.js.map +1 -0
  157. package/dist/mcp-ui-simple.d.ts +27 -0
  158. package/dist/mcp-ui-simple.d.ts.map +1 -0
  159. package/dist/mcp-ui-simple.js +425 -0
  160. package/dist/mcp-ui-simple.js.map +1 -0
  161. package/dist/mcp.js +7 -4
  162. package/dist/mcp.js.map +1 -1
  163. package/dist/services/SchemaParser.d.ts +89 -0
  164. package/dist/services/SchemaParser.d.ts.map +1 -0
  165. package/dist/services/SchemaParser.js +434 -0
  166. package/dist/services/SchemaParser.js.map +1 -0
  167. package/dist/types/crossLanguage.d.ts +267 -0
  168. package/dist/types/crossLanguage.d.ts.map +1 -0
  169. package/dist/types/crossLanguage.js +6 -0
  170. package/dist/types/crossLanguage.js.map +1 -0
  171. package/dist/types.d.ts +128 -0
  172. package/dist/types.d.ts.map +1 -1
  173. package/dist/types.js.map +1 -1
  174. package/dist/utils/fileDiscovery.d.ts +6 -0
  175. package/dist/utils/fileDiscovery.d.ts.map +1 -1
  176. package/dist/utils/fileDiscovery.js +12 -1
  177. package/dist/utils/fileDiscovery.js.map +1 -1
  178. package/examples/schema-example.json +364 -0
  179. package/examples/schema-example.yaml +137 -0
  180. package/package.json +10 -3
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Compatibility layer for Data Access Analyzer
3
+ * Ensures the new universal analyzer produces similar results to the legacy one
4
+ */
5
+ import type { AnalyzerFunction } from '../types.js';
6
+ /**
7
+ * Legacy-compatible data access analyzer function
8
+ * This wraps the new UniversalDataAccessAnalyzer to maintain API compatibility
9
+ */
10
+ export declare const analyzeDataAccess: AnalyzerFunction;
11
+ /**
12
+ * Analyzer definition for registration
13
+ */
14
+ export declare const dataAccessAnalyzer: {
15
+ name: string;
16
+ description: string;
17
+ category: string;
18
+ analyze: AnalyzerFunction;
19
+ };
20
+ //# sourceMappingURL=dataAccessAnalyzerCompat.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dataAccessAnalyzerCompat.d.ts","sourceRoot":"","sources":["../../src/analyzers/dataAccessAnalyzerCompat.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAOpD;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,gBAqC/B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;CAK9B,CAAC"}
@@ -0,0 +1,59 @@
1
+ /**
2
+ * Compatibility layer for Data Access Analyzer
3
+ * Ensures the new universal analyzer produces similar results to the legacy one
4
+ */
5
+ import { UniversalDataAccessAnalyzer } from './universal/UniversalDataAccessAnalyzer.js';
6
+ import { initializeLanguages } from '../languages/index.js';
7
+ // Initialize language system on module load
8
+ initializeLanguages();
9
+ /**
10
+ * Legacy-compatible data access analyzer function
11
+ * This wraps the new UniversalDataAccessAnalyzer to maintain API compatibility
12
+ */
13
+ export const analyzeDataAccess = async (files, config = {}, options = {}, progressCallback) => {
14
+ const analyzer = new UniversalDataAccessAnalyzer();
15
+ // Map legacy config to universal config, only including defined values
16
+ const universalConfig = {};
17
+ if (config.databases !== undefined)
18
+ universalConfig.databases = config.databases;
19
+ if (config.organizationPatterns !== undefined)
20
+ universalConfig.organizationPatterns = config.organizationPatterns;
21
+ if (config.tablePatterns !== undefined)
22
+ universalConfig.tablePatterns = config.tablePatterns;
23
+ if (config.performanceThresholds !== undefined)
24
+ universalConfig.performanceThresholds = config.performanceThresholds;
25
+ if (config.securityPatterns !== undefined)
26
+ universalConfig.securityPatterns = config.securityPatterns;
27
+ if (config.checkOrgFilters !== undefined)
28
+ universalConfig.checkOrgFilters = config.checkOrgFilters;
29
+ if (config.checkSQLInjection !== undefined)
30
+ universalConfig.checkSQLInjection = config.checkSQLInjection;
31
+ if (config.checkPerformance !== undefined)
32
+ universalConfig.checkPerformance = config.checkPerformance;
33
+ // Call the universal analyzer
34
+ const result = await analyzer.analyze(files, universalConfig, {
35
+ progressCallback: progressCallback ? (progress) => {
36
+ progressCallback({
37
+ current: Math.floor(progress * 100),
38
+ total: 100,
39
+ analyzer: 'data-access',
40
+ phase: 'analyzing'
41
+ });
42
+ } : undefined,
43
+ ...options
44
+ });
45
+ // Transform result to include data access patterns
46
+ // Note: The universal analyzer focuses on violations, while the legacy one
47
+ // also returned DataAccessPattern objects. For now, we'll just return violations.
48
+ return result;
49
+ };
50
+ /**
51
+ * Analyzer definition for registration
52
+ */
53
+ export const dataAccessAnalyzer = {
54
+ name: 'data-access',
55
+ description: 'Analyzes database access patterns and data layer interactions',
56
+ category: 'security',
57
+ analyze: analyzeDataAccess
58
+ };
59
+ //# sourceMappingURL=dataAccessAnalyzerCompat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dataAccessAnalyzerCompat.js","sourceRoot":"","sources":["../../src/analyzers/dataAccessAnalyzerCompat.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,2BAA2B,EAAE,MAAM,4CAA4C,CAAC;AACzF,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,4CAA4C;AAC5C,mBAAmB,EAAE,CAAC;AAEtB;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAqB,KAAK,EACtD,KAAe,EACf,SAAc,EAAE,EAChB,OAAO,GAAG,EAAE,EACZ,gBAAgB,EAChB,EAAE;IACF,MAAM,QAAQ,GAAG,IAAI,2BAA2B,EAAE,CAAC;IAEnD,uEAAuE;IACvE,MAAM,eAAe,GAAQ,EAAE,CAAC;IAEhC,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS;QAAE,eAAe,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;IACjF,IAAI,MAAM,CAAC,oBAAoB,KAAK,SAAS;QAAE,eAAe,CAAC,oBAAoB,GAAG,MAAM,CAAC,oBAAoB,CAAC;IAClH,IAAI,MAAM,CAAC,aAAa,KAAK,SAAS;QAAE,eAAe,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;IAC7F,IAAI,MAAM,CAAC,qBAAqB,KAAK,SAAS;QAAE,eAAe,CAAC,qBAAqB,GAAG,MAAM,CAAC,qBAAqB,CAAC;IACrH,IAAI,MAAM,CAAC,gBAAgB,KAAK,SAAS;QAAE,eAAe,CAAC,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;IACtG,IAAI,MAAM,CAAC,eAAe,KAAK,SAAS;QAAE,eAAe,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;IACnG,IAAI,MAAM,CAAC,iBAAiB,KAAK,SAAS;QAAE,eAAe,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC;IACzG,IAAI,MAAM,CAAC,gBAAgB,KAAK,SAAS;QAAE,eAAe,CAAC,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;IAEtG,8BAA8B;IAC9B,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,eAAe,EAAE;QAC5D,gBAAgB,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,QAAgB,EAAE,EAAE;YACxD,gBAAgB,CAAC;gBACf,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,GAAG,CAAC;gBACnC,KAAK,EAAE,GAAG;gBACV,QAAQ,EAAE,aAAa;gBACvB,KAAK,EAAE,WAAW;aACnB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC,CAAC,SAAS;QACb,GAAG,OAAO;KACX,CAAC,CAAC;IAEH,mDAAmD;IACnD,2EAA2E;IAC3E,kFAAkF;IAClF,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE,+DAA+D;IAC5E,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,iBAAiB;CAC3B,CAAC"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Compatibility layer for DocumentationAnalyzer
3
+ * Ensures the new universal analyzer produces identical results to the legacy one
4
+ */
5
+ import type { AnalyzerFunction } from '../types.js';
6
+ /**
7
+ * Legacy-compatible documentation analyzer function
8
+ * This wraps the new UniversalDocumentationAnalyzer to maintain API compatibility
9
+ */
10
+ export declare const analyzeDocumentation: AnalyzerFunction;
11
+ /**
12
+ * Analyzer definition for registration
13
+ */
14
+ export declare const documentationAnalyzer: {
15
+ name: string;
16
+ description: string;
17
+ category: string;
18
+ analyze: AnalyzerFunction;
19
+ };
20
+ //# sourceMappingURL=documentationAnalyzerCompat.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"documentationAnalyzerCompat.d.ts","sourceRoot":"","sources":["../../src/analyzers/documentationAnalyzerCompat.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAOpD;;;GAGG;AACH,eAAO,MAAM,oBAAoB,EAAE,gBAqClC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB;;;;;CAKjC,CAAC"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Compatibility layer for DocumentationAnalyzer
3
+ * Ensures the new universal analyzer produces identical results to the legacy one
4
+ */
5
+ import { UniversalDocumentationAnalyzer } from './universal/UniversalDocumentationAnalyzer.js';
6
+ import { initializeLanguages } from '../languages/index.js';
7
+ // Initialize language system on module load
8
+ initializeLanguages();
9
+ /**
10
+ * Legacy-compatible documentation analyzer function
11
+ * This wraps the new UniversalDocumentationAnalyzer to maintain API compatibility
12
+ */
13
+ export const analyzeDocumentation = async (files, config = {}, options = {}, progressCallback) => {
14
+ console.log('[DEBUG] DocumentationAnalyzerCompat called with files:', files);
15
+ console.log('[DEBUG] DocumentationAnalyzerCompat config:', config);
16
+ const analyzer = new UniversalDocumentationAnalyzer();
17
+ // Convert legacy config format if needed
18
+ const universalConfig = {
19
+ requireFunctionDocs: config.requireFunctionDocs ?? true,
20
+ requireClassDocs: config.requireComponentDocs ?? true, // Map component → class
21
+ requireFileDocs: config.requireFileDocs ?? true,
22
+ requireParamDocs: config.requireParamDocs ?? true,
23
+ requireReturnDocs: config.requireReturnDocs ?? true,
24
+ minDescriptionLength: config.minDescriptionLength ?? 10,
25
+ checkExportedOnly: config.checkExportedOnly ?? false,
26
+ exemptPatterns: config.exemptPatterns ?? ['test', 'spec', '\\.d\\.ts$', 'mock', 'fixture']
27
+ };
28
+ // Call the universal analyzer
29
+ const result = await analyzer.analyze(files, universalConfig, {
30
+ progressCallback: progressCallback ? (progress) => {
31
+ progressCallback({
32
+ current: Math.floor(progress * 100),
33
+ total: 100,
34
+ analyzer: 'documentation',
35
+ phase: 'analyzing'
36
+ });
37
+ } : undefined,
38
+ ...options
39
+ });
40
+ // The result format should be identical, but we can add any necessary transformations here
41
+ return result;
42
+ };
43
+ /**
44
+ * Analyzer definition for registration
45
+ */
46
+ export const documentationAnalyzer = {
47
+ name: 'documentation',
48
+ description: 'Analyzes documentation quality across the codebase',
49
+ category: 'documentation',
50
+ analyze: analyzeDocumentation
51
+ };
52
+ //# sourceMappingURL=documentationAnalyzerCompat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"documentationAnalyzerCompat.js","sourceRoot":"","sources":["../../src/analyzers/documentationAnalyzerCompat.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,8BAA8B,EAAE,MAAM,+CAA+C,CAAC;AAC/F,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,4CAA4C;AAC5C,mBAAmB,EAAE,CAAC;AAEtB;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAqB,KAAK,EACzD,KAAe,EACf,SAAc,EAAE,EAChB,OAAO,GAAG,EAAE,EACZ,gBAAgB,EAChB,EAAE;IACF,OAAO,CAAC,GAAG,CAAC,wDAAwD,EAAE,KAAK,CAAC,CAAC;IAC7E,OAAO,CAAC,GAAG,CAAC,6CAA6C,EAAE,MAAM,CAAC,CAAC;IACnE,MAAM,QAAQ,GAAG,IAAI,8BAA8B,EAAE,CAAC;IAEtD,yCAAyC;IACzC,MAAM,eAAe,GAAG;QACtB,mBAAmB,EAAE,MAAM,CAAC,mBAAmB,IAAI,IAAI;QACvD,gBAAgB,EAAE,MAAM,CAAC,oBAAoB,IAAI,IAAI,EAAG,wBAAwB;QAChF,eAAe,EAAE,MAAM,CAAC,eAAe,IAAI,IAAI;QAC/C,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,IAAI,IAAI;QACjD,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,IAAI,IAAI;QACnD,oBAAoB,EAAE,MAAM,CAAC,oBAAoB,IAAI,EAAE;QACvD,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,IAAI,KAAK;QACpD,cAAc,EAAE,MAAM,CAAC,cAAc,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,CAAC;KAC3F,CAAC;IAEF,8BAA8B;IAC9B,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,eAAe,EAAE;QAC5D,gBAAgB,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,QAAgB,EAAE,EAAE;YACxD,gBAAgB,CAAC;gBACf,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,GAAG,CAAC;gBACnC,KAAK,EAAE,GAAG;gBACV,QAAQ,EAAE,eAAe;gBACzB,KAAK,EAAE,WAAW;aACnB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC,CAAC,SAAS;QACb,GAAG,OAAO;KACX,CAAC,CAAC;IAEH,2FAA2F;IAC3F,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,IAAI,EAAE,eAAe;IACrB,WAAW,EAAE,oDAAoD;IACjE,QAAQ,EAAE,eAAe;IACzB,OAAO,EAAE,oBAAoB;CAC9B,CAAC"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Compatibility layer for DRY Analyzer
3
+ * Ensures the new universal analyzer produces identical results to the legacy one
4
+ */
5
+ import type { AnalyzerFunction } from '../types.js';
6
+ /**
7
+ * Legacy-compatible DRY analyzer function
8
+ * This wraps the new UniversalDRYAnalyzer to maintain API compatibility
9
+ */
10
+ export declare const analyzeDRY: AnalyzerFunction;
11
+ /**
12
+ * Analyzer definition for registration
13
+ */
14
+ export declare const dryAnalyzer: {
15
+ name: string;
16
+ description: string;
17
+ category: string;
18
+ analyze: AnalyzerFunction;
19
+ };
20
+ //# sourceMappingURL=dryAnalyzerCompat.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dryAnalyzerCompat.d.ts","sourceRoot":"","sources":["../../src/analyzers/dryAnalyzerCompat.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAOpD;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE,gBA6BxB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW;;;;;CAKvB,CAAC"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Compatibility layer for DRY Analyzer
3
+ * Ensures the new universal analyzer produces identical results to the legacy one
4
+ */
5
+ import { UniversalDRYAnalyzer } from './universal/UniversalDRYAnalyzer.js';
6
+ import { initializeLanguages } from '../languages/index.js';
7
+ // Initialize language system on module load
8
+ initializeLanguages();
9
+ /**
10
+ * Legacy-compatible DRY analyzer function
11
+ * This wraps the new UniversalDRYAnalyzer to maintain API compatibility
12
+ */
13
+ export const analyzeDRY = async (files, config = {}, options = {}, progressCallback) => {
14
+ const analyzer = new UniversalDRYAnalyzer();
15
+ // The config format should be mostly compatible
16
+ const universalConfig = {
17
+ ...config,
18
+ // Map any legacy config fields if needed
19
+ };
20
+ // Call the universal analyzer
21
+ const result = await analyzer.analyze(files, universalConfig, {
22
+ progressCallback: progressCallback ? (progress) => {
23
+ progressCallback({
24
+ current: Math.floor(progress * 100),
25
+ total: 100,
26
+ analyzer: 'dry',
27
+ phase: 'analyzing'
28
+ });
29
+ } : undefined,
30
+ ...options
31
+ });
32
+ // The result format should be identical, but we can add any necessary transformations here
33
+ return result;
34
+ };
35
+ /**
36
+ * Analyzer definition for registration
37
+ */
38
+ export const dryAnalyzer = {
39
+ name: 'dry',
40
+ description: 'Detects code duplication across the codebase',
41
+ category: 'maintainability',
42
+ analyze: analyzeDRY
43
+ };
44
+ //# sourceMappingURL=dryAnalyzerCompat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dryAnalyzerCompat.js","sourceRoot":"","sources":["../../src/analyzers/dryAnalyzerCompat.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,4CAA4C;AAC5C,mBAAmB,EAAE,CAAC;AAEtB;;;GAGG;AACH,MAAM,CAAC,MAAM,UAAU,GAAqB,KAAK,EAC/C,KAAe,EACf,SAAc,EAAE,EAChB,OAAO,GAAG,EAAE,EACZ,gBAAgB,EAChB,EAAE;IACF,MAAM,QAAQ,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAE5C,gDAAgD;IAChD,MAAM,eAAe,GAAG;QACtB,GAAG,MAAM;QACT,yCAAyC;KAC1C,CAAC;IAEF,8BAA8B;IAC9B,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,eAAe,EAAE;QAC5D,gBAAgB,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,QAAgB,EAAE,EAAE;YACxD,gBAAgB,CAAC;gBACf,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,GAAG,CAAC;gBACnC,KAAK,EAAE,GAAG;gBACV,QAAQ,EAAE,KAAK;gBACf,KAAK,EAAE,WAAW;aACnB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC,CAAC,SAAS;QACb,GAAG,OAAO;KACX,CAAC,CAAC;IAEH,2FAA2F;IAC3F,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,IAAI,EAAE,KAAK;IACX,WAAW,EAAE,8CAA8C;IAC3D,QAAQ,EAAE,iBAAiB;IAC3B,OAAO,EAAE,UAAU;CACpB,CAAC"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Schema Analyzer
3
+ * Analyzes code against loaded database schemas to find violations and patterns
4
+ */
5
+ import type { AnalyzerFunction, AnalyzerDefinition } from '../types.js';
6
+ export interface SchemaAnalyzerConfig {
7
+ enableTableUsageTracking: boolean;
8
+ checkMissingReferences: boolean;
9
+ checkNamingConventions: boolean;
10
+ detectUnusedTables: boolean;
11
+ validateQueryPatterns: boolean;
12
+ maxQueriesPerFunction: number;
13
+ allowedQueryPatterns: string[];
14
+ requiredSchemas: string[];
15
+ }
16
+ export declare const analyzeSchema: AnalyzerFunction;
17
+ /**
18
+ * Schema Analyzer Definition
19
+ */
20
+ export declare const schemaAnalyzer: AnalyzerDefinition;
21
+ //# sourceMappingURL=schemaAnalyzer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemaAnalyzer.d.ts","sourceRoot":"","sources":["../../src/analyzers/schemaAnalyzer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,EAAmC,MAAM,aAAa,CAAC;AAMzG,MAAM,WAAW,oBAAoB;IACnC,wBAAwB,EAAE,OAAO,CAAC;IAClC,sBAAsB,EAAE,OAAO,CAAC;IAChC,sBAAsB,EAAE,OAAO,CAAC;IAChC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,qBAAqB,EAAE,OAAO,CAAC;IAC/B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAaD,eAAO,MAAM,aAAa,EAAE,gBA2F3B,CAAC;AAoXF;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,kBAM5B,CAAC"}