code-auditor-mcp 2.6.2 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (344) hide show
  1. package/README.md +23 -196
  2. package/dist/analyzers/analyzerUtils.d.ts +13 -11
  3. package/dist/analyzers/analyzerUtils.d.ts.map +1 -1
  4. package/dist/analyzers/analyzerUtils.js +22 -56
  5. package/dist/analyzers/analyzerUtils.js.map +1 -1
  6. package/dist/analyzers/cross-language/APIContractAnalyzer.d.ts.map +1 -1
  7. package/dist/analyzers/cross-language/CrossLanguageSOLIDAnalyzer.d.ts.map +1 -1
  8. package/dist/analyzers/cross-language/CrossLanguageSOLIDAnalyzer.js.map +1 -1
  9. package/dist/analyzers/cross-language/DependencyGraphBuilder.d.ts.map +1 -1
  10. package/dist/analyzers/cross-language/DependencyGraphBuilder.js.map +1 -1
  11. package/dist/analyzers/cross-language/SchemaValidator.d.ts.map +1 -1
  12. package/dist/analyzers/cross-language/SchemaValidator.js.map +1 -1
  13. package/dist/analyzers/dataAccessAnalyzer.d.ts.map +1 -1
  14. package/dist/analyzers/dataAccessAnalyzer.js +50 -24
  15. package/dist/analyzers/dataAccessAnalyzer.js.map +1 -1
  16. package/dist/analyzers/documentationAnalyzer.d.ts +4 -1
  17. package/dist/analyzers/documentationAnalyzer.d.ts.map +1 -1
  18. package/dist/analyzers/documentationAnalyzer.js +210 -111
  19. package/dist/analyzers/documentationAnalyzer.js.map +1 -1
  20. package/dist/analyzers/dryAnalyzer.d.ts.map +1 -1
  21. package/dist/analyzers/dryAnalyzer.js +190 -58
  22. package/dist/analyzers/dryAnalyzer.js.map +1 -1
  23. package/dist/analyzers/invariantsAnalyzer.d.ts +20 -0
  24. package/dist/analyzers/invariantsAnalyzer.d.ts.map +1 -0
  25. package/dist/analyzers/invariantsAnalyzer.js +148 -0
  26. package/dist/analyzers/invariantsAnalyzer.js.map +1 -0
  27. package/dist/analyzers/reactAnalyzer.d.ts.map +1 -1
  28. package/dist/analyzers/reactAnalyzer.js +2 -2
  29. package/dist/analyzers/reactAnalyzer.js.map +1 -1
  30. package/dist/analyzers/schemaAnalyzer.d.ts +2 -0
  31. package/dist/analyzers/schemaAnalyzer.d.ts.map +1 -1
  32. package/dist/analyzers/schemaAnalyzer.js +306 -147
  33. package/dist/analyzers/schemaAnalyzer.js.map +1 -1
  34. package/dist/analyzers/solidAnalyzer.d.ts.map +1 -1
  35. package/dist/analyzers/solidAnalyzer.js +145 -119
  36. package/dist/analyzers/solidAnalyzer.js.map +1 -1
  37. package/dist/analyzers/universal/UniversalDRYAnalyzer.d.ts +3 -1
  38. package/dist/analyzers/universal/UniversalDRYAnalyzer.d.ts.map +1 -1
  39. package/dist/analyzers/universal/UniversalDRYAnalyzer.js +41 -1
  40. package/dist/analyzers/universal/UniversalDRYAnalyzer.js.map +1 -1
  41. package/dist/analyzers/universal/UniversalDataAccessAnalyzer.d.ts.map +1 -1
  42. package/dist/analyzers/universal/UniversalDataAccessAnalyzer.js +8 -8
  43. package/dist/analyzers/universal/UniversalDataAccessAnalyzer.js.map +1 -1
  44. package/dist/analyzers/universal/UniversalDocumentationAnalyzer.d.ts.map +1 -1
  45. package/dist/analyzers/universal/UniversalDocumentationAnalyzer.js +6 -6
  46. package/dist/analyzers/universal/UniversalDocumentationAnalyzer.js.map +1 -1
  47. package/dist/analyzers/universal/UniversalSOLIDAnalyzer.d.ts.map +1 -1
  48. package/dist/analyzers/universal/UniversalSchemaAnalyzer.d.ts.map +1 -1
  49. package/dist/analyzers/universal/UniversalSchemaAnalyzer.js +1 -1
  50. package/dist/analyzers/universal/UniversalSchemaAnalyzer.js.map +1 -1
  51. package/dist/api/index.js +1 -0
  52. package/dist/api/index.js.map +1 -1
  53. package/dist/auditRunner.d.ts.map +1 -1
  54. package/dist/auditRunner.js +367 -24
  55. package/dist/auditRunner.js.map +1 -1
  56. package/dist/cli.d.ts +1 -1
  57. package/dist/cli.d.ts.map +1 -1
  58. package/dist/cli.js +740 -18
  59. package/dist/cli.js.map +1 -1
  60. package/dist/codeIndexDB-enhanced.d.ts +35 -13
  61. package/dist/codeIndexDB-enhanced.d.ts.map +1 -1
  62. package/dist/codeIndexDB-enhanced.js +311 -214
  63. package/dist/codeIndexDB-enhanced.js.map +1 -1
  64. package/dist/{codeIndexDb.d.ts → codeIndexDB.d.ts} +51 -224
  65. package/dist/codeIndexDB.d.ts.map +1 -0
  66. package/dist/codeIndexDB.js +2042 -0
  67. package/dist/codeIndexDB.js.map +1 -0
  68. package/dist/codeIndexService.d.ts.map +1 -1
  69. package/dist/codeIndexService.js.map +1 -1
  70. package/dist/componentScanner.d.ts +14 -8
  71. package/dist/componentScanner.d.ts.map +1 -1
  72. package/dist/componentScanner.js +136 -113
  73. package/dist/componentScanner.js.map +1 -1
  74. package/dist/config/configLoader.d.ts.map +1 -1
  75. package/dist/config/configLoader.js +10 -7
  76. package/dist/config/configLoader.js.map +1 -1
  77. package/dist/config/defaults.d.ts.map +1 -1
  78. package/dist/constants.js.map +1 -1
  79. package/dist/fingerprint.d.ts +15 -0
  80. package/dist/fingerprint.d.ts.map +1 -0
  81. package/dist/fingerprint.js +32 -0
  82. package/dist/fingerprint.js.map +1 -0
  83. package/dist/functionScanner.d.ts +5 -0
  84. package/dist/functionScanner.d.ts.map +1 -1
  85. package/dist/functionScanner.js +417 -341
  86. package/dist/functionScanner.js.map +1 -1
  87. package/dist/generators/AWSQConfigGenerator.d.ts.map +1 -1
  88. package/dist/generators/AiderConfigGenerator.d.ts.map +1 -1
  89. package/dist/generators/BaseConfigGenerator.d.ts.map +1 -1
  90. package/dist/generators/BaseConfigGenerator.js.map +1 -1
  91. package/dist/generators/ClaudeConfigGenerator.d.ts.map +1 -1
  92. package/dist/generators/ClineConfigGenerator.d.ts.map +1 -1
  93. package/dist/generators/CodeiumConfigGenerator.d.ts.map +1 -1
  94. package/dist/generators/ConfigGeneratorFactory.d.ts.map +1 -1
  95. package/dist/generators/ConfigGeneratorFactory.js.map +1 -1
  96. package/dist/generators/ContinueConfigGenerator.d.ts.map +1 -1
  97. package/dist/generators/CopilotConfigGenerator.d.ts.map +1 -1
  98. package/dist/generators/CursorConfigGenerator.d.ts.map +1 -1
  99. package/dist/generators/JetBrainsConfigGenerator.d.ts.map +1 -1
  100. package/dist/generators/VSCodeConfigGenerator.d.ts.map +1 -1
  101. package/dist/grammars/tree-sitter-go.wasm +0 -0
  102. package/dist/grammars/tree-sitter-javascript.wasm +0 -0
  103. package/dist/grammars/tree-sitter-tsx.wasm +0 -0
  104. package/dist/grammars/tree-sitter-typescript.wasm +0 -0
  105. package/dist/index.d.ts +1 -0
  106. package/dist/index.d.ts.map +1 -1
  107. package/dist/index.js +2 -1
  108. package/dist/index.js.map +1 -1
  109. package/dist/invariants/index.d.ts +9 -0
  110. package/dist/invariants/index.d.ts.map +1 -0
  111. package/dist/invariants/index.js +4 -0
  112. package/dist/invariants/index.js.map +1 -0
  113. package/dist/invariants/invariant-rules.schema.json +137 -0
  114. package/dist/invariants/ruleEngine.d.ts +32 -0
  115. package/dist/invariants/ruleEngine.d.ts.map +1 -0
  116. package/dist/invariants/ruleEngine.js +536 -0
  117. package/dist/invariants/ruleEngine.js.map +1 -0
  118. package/dist/invariants/ruleValidator.d.ts +17 -0
  119. package/dist/invariants/ruleValidator.d.ts.map +1 -0
  120. package/dist/invariants/ruleValidator.js +264 -0
  121. package/dist/invariants/ruleValidator.js.map +1 -0
  122. package/dist/invariants/types.d.ts +78 -0
  123. package/dist/invariants/types.d.ts.map +1 -0
  124. package/dist/invariants/types.js +5 -0
  125. package/dist/invariants/types.js.map +1 -0
  126. package/dist/languages/LanguageOrchestrator.d.ts.map +1 -1
  127. package/dist/languages/LanguageOrchestrator.js.map +1 -1
  128. package/dist/languages/LanguageRegistry.d.ts.map +1 -1
  129. package/dist/languages/RuntimeManager.d.ts.map +1 -1
  130. package/dist/languages/RuntimeManager.js +1 -1
  131. package/dist/languages/RuntimeManager.js.map +1 -1
  132. package/dist/languages/UniversalAnalyzer.d.ts.map +1 -1
  133. package/dist/languages/UniversalAnalyzer.js.map +1 -1
  134. package/dist/languages/adapterBridge.d.ts +102 -0
  135. package/dist/languages/adapterBridge.d.ts.map +1 -0
  136. package/dist/languages/adapterBridge.js +382 -0
  137. package/dist/languages/adapterBridge.js.map +1 -0
  138. package/dist/languages/go/GoAdapter.d.ts +37 -26
  139. package/dist/languages/go/GoAdapter.d.ts.map +1 -1
  140. package/dist/languages/go/GoAdapter.js +560 -281
  141. package/dist/languages/go/GoAdapter.js.map +1 -1
  142. package/dist/languages/index.d.ts +5 -2
  143. package/dist/languages/index.d.ts.map +1 -1
  144. package/dist/languages/index.js +11 -9
  145. package/dist/languages/index.js.map +1 -1
  146. package/dist/languages/tree-sitter/converter.d.ts +43 -0
  147. package/dist/languages/tree-sitter/converter.d.ts.map +1 -0
  148. package/dist/languages/tree-sitter/converter.js +150 -0
  149. package/dist/languages/tree-sitter/converter.js.map +1 -0
  150. package/dist/languages/tree-sitter/parser.d.ts +36 -0
  151. package/dist/languages/tree-sitter/parser.d.ts.map +1 -0
  152. package/dist/languages/tree-sitter/parser.js +114 -0
  153. package/dist/languages/tree-sitter/parser.js.map +1 -0
  154. package/dist/languages/types.d.ts +11 -0
  155. package/dist/languages/types.d.ts.map +1 -1
  156. package/dist/languages/typescript/TreeSitterTypeScriptAdapter.d.ts +92 -0
  157. package/dist/languages/typescript/TreeSitterTypeScriptAdapter.d.ts.map +1 -0
  158. package/dist/languages/typescript/TreeSitterTypeScriptAdapter.js +951 -0
  159. package/dist/languages/typescript/TreeSitterTypeScriptAdapter.js.map +1 -0
  160. package/dist/mcp-tools/projectTasks.d.ts +58 -22
  161. package/dist/mcp-tools/projectTasks.d.ts.map +1 -1
  162. package/dist/mcp-tools/projectTasks.js +172 -10
  163. package/dist/mcp-tools/projectTasks.js.map +1 -1
  164. package/dist/mcp-tools/whitelistTools.d.ts +21 -21
  165. package/dist/mcp-tools/whitelistTools.d.ts.map +1 -1
  166. package/dist/mcp-tools/workflowGuide.d.ts.map +1 -1
  167. package/dist/mcp-tools/workflowGuide.js +130 -126
  168. package/dist/mcp-tools/workflowGuide.js.map +1 -1
  169. package/dist/mcp-tools-shared.d.ts.map +1 -1
  170. package/dist/mcp-tools-shared.js.map +1 -1
  171. package/dist/mcp-ui-simple.js +1 -1
  172. package/dist/mcp-ui-simple.js.map +1 -1
  173. package/dist/mcp.d.ts +1 -1
  174. package/dist/mcp.d.ts.map +1 -1
  175. package/dist/mcp.js +1376 -1181
  176. package/dist/mcp.js.map +1 -1
  177. package/dist/mcpAuditJobs.d.ts +4 -0
  178. package/dist/mcpAuditJobs.d.ts.map +1 -1
  179. package/dist/mcpAuditJobs.js +49 -2
  180. package/dist/mcpAuditJobs.js.map +1 -1
  181. package/dist/mcpToolErrors.d.ts.map +1 -1
  182. package/dist/mcpToolErrors.js.map +1 -1
  183. package/dist/native/ast-grep-napi.darwin-arm64.node +0 -0
  184. package/dist/native/ast-grep-napi.darwin-x64.node +0 -0
  185. package/dist/native/ast-grep-napi.linux-arm64-gnu.node +0 -0
  186. package/dist/native/ast-grep-napi.linux-arm64-musl.node +0 -0
  187. package/dist/native/ast-grep-napi.linux-x64-gnu.node +0 -0
  188. package/dist/native/ast-grep-napi.linux-x64-musl.node +0 -0
  189. package/dist/native/ast-grep-napi.win32-x64-msvc.node +0 -0
  190. package/dist/native-bootstrap.d.ts +15 -0
  191. package/dist/native-bootstrap.d.ts.map +1 -0
  192. package/dist/native-bootstrap.js +75 -0
  193. package/dist/native-bootstrap.js.map +1 -0
  194. package/dist/reporting/csvReportGenerator.d.ts.map +1 -1
  195. package/dist/reporting/htmlReportGenerator.d.ts.map +1 -1
  196. package/dist/reporting/jsonReportGenerator.d.ts.map +1 -1
  197. package/dist/reporting/reportGenerator.d.ts.map +1 -1
  198. package/dist/reporting/reportGenerator.js +4 -0
  199. package/dist/reporting/reportGenerator.js.map +1 -1
  200. package/dist/reporting/sarifReportGenerator.d.ts +39 -0
  201. package/dist/reporting/sarifReportGenerator.d.ts.map +1 -0
  202. package/dist/reporting/sarifReportGenerator.js +229 -0
  203. package/dist/reporting/sarifReportGenerator.js.map +1 -0
  204. package/dist/search/QueryParser.d.ts +41 -0
  205. package/dist/search/QueryParser.d.ts.map +1 -1
  206. package/dist/search/QueryParser.js +200 -19
  207. package/dist/search/QueryParser.js.map +1 -1
  208. package/dist/services/CodeMapGenerator.d.ts.map +1 -1
  209. package/dist/services/CodeMapGenerator.js +4 -4
  210. package/dist/services/CodeMapGenerator.js.map +1 -1
  211. package/dist/services/ProjectTaskRepository.d.ts +15 -2
  212. package/dist/services/ProjectTaskRepository.d.ts.map +1 -1
  213. package/dist/services/ProjectTaskRepository.js +16 -1
  214. package/dist/services/ProjectTaskRepository.js.map +1 -1
  215. package/dist/services/SchemaParser.d.ts.map +1 -1
  216. package/dist/services/SchemaParser.js +5 -8
  217. package/dist/services/SchemaParser.js.map +1 -1
  218. package/dist/services/auditJobService.d.ts +1 -1
  219. package/dist/services/projectTaskHelpers.js.map +1 -1
  220. package/dist/services/whitelistService.d.ts.map +1 -1
  221. package/dist/services/whitelistService.js +1 -1
  222. package/dist/services/whitelistService.js.map +1 -1
  223. package/dist/tool-registry.d.ts +79 -0
  224. package/dist/tool-registry.d.ts.map +1 -0
  225. package/dist/tool-registry.js +139 -0
  226. package/dist/tool-registry.js.map +1 -0
  227. package/dist/types/projectTask.d.ts +4 -0
  228. package/dist/types/projectTask.d.ts.map +1 -1
  229. package/dist/types.d.ts +26 -2
  230. package/dist/types.d.ts.map +1 -1
  231. package/dist/types.js.map +1 -1
  232. package/dist/ui/InteractivePrompts.d.ts.map +1 -1
  233. package/dist/ui/InteractivePrompts.js.map +1 -1
  234. package/dist/utils/astParser.d.ts +31 -38
  235. package/dist/utils/astParser.d.ts.map +1 -1
  236. package/dist/utils/astParser.js +138 -196
  237. package/dist/utils/astParser.js.map +1 -1
  238. package/dist/utils/astUtils.d.ts +87 -58
  239. package/dist/utils/astUtils.d.ts.map +1 -1
  240. package/dist/utils/astUtils.js +852 -581
  241. package/dist/utils/astUtils.js.map +1 -1
  242. package/dist/utils/componentPatterns.js.map +1 -1
  243. package/dist/utils/componentResponsibility.d.ts +13 -9
  244. package/dist/utils/componentResponsibility.d.ts.map +1 -1
  245. package/dist/utils/componentResponsibility.js +236 -206
  246. package/dist/utils/componentResponsibility.js.map +1 -1
  247. package/dist/utils/dependencyExtractor.d.ts +11 -6
  248. package/dist/utils/dependencyExtractor.d.ts.map +1 -1
  249. package/dist/utils/dependencyExtractor.js +200 -119
  250. package/dist/utils/dependencyExtractor.js.map +1 -1
  251. package/dist/utils/fileDiscovery.d.ts +1 -1
  252. package/dist/utils/fileDiscovery.d.ts.map +1 -1
  253. package/dist/utils/fileDiscovery.js +15 -6
  254. package/dist/utils/fileDiscovery.js.map +1 -1
  255. package/dist/utils/jsDocParser.d.ts +27 -30
  256. package/dist/utils/jsDocParser.d.ts.map +1 -1
  257. package/dist/utils/jsDocParser.js +271 -207
  258. package/dist/utils/jsDocParser.js.map +1 -1
  259. package/dist/utils/reactDetection.d.ts +27 -12
  260. package/dist/utils/reactDetection.d.ts.map +1 -1
  261. package/dist/utils/reactDetection.js +331 -219
  262. package/dist/utils/reactDetection.js.map +1 -1
  263. package/dist/workers/auditWorker.js +17 -3
  264. package/dist/workers/auditWorker.js.map +1 -1
  265. package/package.json +54 -51
  266. package/dist/adapters/GoAdapter.d.ts +0 -53
  267. package/dist/adapters/GoAdapter.d.ts.map +0 -1
  268. package/dist/adapters/GoAdapter.js +0 -611
  269. package/dist/adapters/GoAdapter.js.map +0 -1
  270. package/dist/adapters/GoConfig.d.ts +0 -35
  271. package/dist/adapters/GoConfig.d.ts.map +0 -1
  272. package/dist/adapters/GoConfig.js +0 -155
  273. package/dist/adapters/GoConfig.js.map +0 -1
  274. package/dist/adapters/LanguageAdapter.d.ts +0 -135
  275. package/dist/adapters/LanguageAdapter.d.ts.map +0 -1
  276. package/dist/adapters/LanguageAdapter.js +0 -47
  277. package/dist/adapters/LanguageAdapter.js.map +0 -1
  278. package/dist/adapters/TypeScriptAdapter.d.ts +0 -43
  279. package/dist/adapters/TypeScriptAdapter.d.ts.map +0 -1
  280. package/dist/adapters/TypeScriptAdapter.js +0 -386
  281. package/dist/adapters/TypeScriptAdapter.js.map +0 -1
  282. package/dist/adapters/UniversalAnalyzer.d.ts +0 -42
  283. package/dist/adapters/UniversalAnalyzer.d.ts.map +0 -1
  284. package/dist/adapters/UniversalAnalyzer.js +0 -103
  285. package/dist/adapters/UniversalAnalyzer.js.map +0 -1
  286. package/dist/adapters/UniversalSOLIDAnalyzer.d.ts +0 -48
  287. package/dist/adapters/UniversalSOLIDAnalyzer.d.ts.map +0 -1
  288. package/dist/adapters/UniversalSOLIDAnalyzer.js +0 -178
  289. package/dist/adapters/UniversalSOLIDAnalyzer.js.map +0 -1
  290. package/dist/adapters/solidAnalyzerCompat.d.ts +0 -21
  291. package/dist/adapters/solidAnalyzerCompat.d.ts.map +0 -1
  292. package/dist/adapters/solidAnalyzerCompat.js +0 -78
  293. package/dist/adapters/solidAnalyzerCompat.js.map +0 -1
  294. package/dist/analyzers/dataAccessAnalyzerCompat.d.ts +0 -20
  295. package/dist/analyzers/dataAccessAnalyzerCompat.d.ts.map +0 -1
  296. package/dist/analyzers/dataAccessAnalyzerCompat.js +0 -59
  297. package/dist/analyzers/dataAccessAnalyzerCompat.js.map +0 -1
  298. package/dist/analyzers/documentationAnalyzerCompat.d.ts +0 -20
  299. package/dist/analyzers/documentationAnalyzerCompat.d.ts.map +0 -1
  300. package/dist/analyzers/documentationAnalyzerCompat.js +0 -52
  301. package/dist/analyzers/documentationAnalyzerCompat.js.map +0 -1
  302. package/dist/analyzers/dryAnalyzerCompat.d.ts +0 -20
  303. package/dist/analyzers/dryAnalyzerCompat.d.ts.map +0 -1
  304. package/dist/analyzers/dryAnalyzerCompat.js +0 -44
  305. package/dist/analyzers/dryAnalyzerCompat.js.map +0 -1
  306. package/dist/analyzers/schemaAnalyzerCompat.d.ts +0 -20
  307. package/dist/analyzers/schemaAnalyzerCompat.d.ts.map +0 -1
  308. package/dist/analyzers/schemaAnalyzerCompat.js +0 -69
  309. package/dist/analyzers/schemaAnalyzerCompat.js.map +0 -1
  310. package/dist/analyzers/solidAnalyzerCompat.d.ts +0 -20
  311. package/dist/analyzers/solidAnalyzerCompat.d.ts.map +0 -1
  312. package/dist/analyzers/solidAnalyzerCompat.js +0 -78
  313. package/dist/analyzers/solidAnalyzerCompat.js.map +0 -1
  314. package/dist/codeIndexDb.d.ts.map +0 -1
  315. package/dist/codeIndexDb.js +0 -2102
  316. package/dist/codeIndexDb.js.map +0 -1
  317. package/dist/languages/typescript/TypeScriptAdapter.d.ts +0 -108
  318. package/dist/languages/typescript/TypeScriptAdapter.d.ts.map +0 -1
  319. package/dist/languages/typescript/TypeScriptAdapter.js +0 -567
  320. package/dist/languages/typescript/TypeScriptAdapter.js.map +0 -1
  321. package/dist/languages/typescript/test-extraction.d.ts +0 -2
  322. package/dist/languages/typescript/test-extraction.d.ts.map +0 -1
  323. package/dist/languages/typescript/test-extraction.js +0 -36
  324. package/dist/languages/typescript/test-extraction.js.map +0 -1
  325. package/dist/mcp-hybrid.d.ts +0 -10
  326. package/dist/mcp-hybrid.d.ts.map +0 -1
  327. package/dist/mcp-hybrid.js +0 -41
  328. package/dist/mcp-hybrid.js.map +0 -1
  329. package/dist/mcp-index.d.ts +0 -13
  330. package/dist/mcp-index.d.ts.map +0 -1
  331. package/dist/mcp-index.js +0 -136
  332. package/dist/mcp-index.js.map +0 -1
  333. package/dist/mcp-standalone.d.ts +0 -3
  334. package/dist/mcp-standalone.d.ts.map +0 -1
  335. package/dist/mcp-standalone.js +0 -1324
  336. package/dist/mcp-standalone.js.map +0 -1
  337. package/dist/mcp-ui-server.d.ts +0 -27
  338. package/dist/mcp-ui-server.d.ts.map +0 -1
  339. package/dist/mcp-ui-server.js +0 -484
  340. package/dist/mcp-ui-server.js.map +0 -1
  341. package/dist/test-multi-strategy-search.d.ts +0 -3
  342. package/dist/test-multi-strategy-search.d.ts.map +0 -1
  343. package/dist/test-multi-strategy-search.js +0 -170
  344. package/dist/test-multi-strategy-search.js.map +0 -1
@@ -1,11 +1,94 @@
1
1
  /**
2
2
  * Documentation Quality Analyzer
3
3
  * Assesses JSDoc coverage and documentation quality across the codebase
4
+ *
5
+ * Migrated from TypeScript Compiler API to tree-sitter AST patterns.
4
6
  */
5
- import * as ts from 'typescript';
6
- import { promises as fs } from 'fs';
7
+ import { walkAST, isExported as adapterIsExported } from '../languages/adapterBridge.js';
7
8
  import { getNodePosition, findNodesOfType, getNodeName, processFiles } from './analyzerUtils.js';
8
9
  import { isReactComponent, getComponentName } from '../utils/reactDetection.js';
10
+ // ---------------------------------------------------------------------------
11
+ // Helpers
12
+ // ---------------------------------------------------------------------------
13
+ /** Get raw text from a tree-sitter node stored on ASTNode.raw. */
14
+ const rawText = (node) => node.raw?.text ?? '';
15
+ /** Find the first child of a given type. */
16
+ const findChild = (node, type) => node.children?.find(c => c.type === type);
17
+ /**
18
+ * Get preceding comment nodes that are JSDoc-style (/** ... *​/).
19
+ * Looks at siblings in the raw tree-sitter parent, walking backwards from
20
+ * the given node until a non-comment sibling is found.
21
+ */
22
+ function getPrecedingJSDocComments(node) {
23
+ const raw = node.raw;
24
+ if (!raw?.parent)
25
+ return [];
26
+ const parentRaw = raw.parent;
27
+ const parentAST = node.parent;
28
+ if (!parentAST?.children)
29
+ return [];
30
+ // Find our position in the parent AST children
31
+ const ourIndex = parentAST.children.findIndex(c => c.range[0] === node.range[0] && c.range[1] === node.range[1]);
32
+ if (ourIndex < 0)
33
+ return [];
34
+ // Walk backwards collecting adjacent comment nodes
35
+ const comments = [];
36
+ for (let i = ourIndex - 1; i >= 0; i--) {
37
+ const sibling = parentAST.children[i];
38
+ if (sibling.type === 'comment') {
39
+ const text = rawText(sibling);
40
+ if (text.includes('/**')) {
41
+ comments.unshift(sibling);
42
+ }
43
+ else {
44
+ // Non-JSDoc comment — stop looking
45
+ break;
46
+ }
47
+ }
48
+ else {
49
+ break;
50
+ }
51
+ }
52
+ return comments;
53
+ }
54
+ /**
55
+ * Extract the cleaned JSDoc comment text from preceding comment nodes.
56
+ * Strips leading /**, trailing *​/, and leading * on each line.
57
+ */
58
+ function getJSDocText(node) {
59
+ const comments = getPrecedingJSDocComments(node);
60
+ if (comments.length === 0)
61
+ return null;
62
+ const combined = comments.map(c => rawText(c)).join('\n');
63
+ return combined
64
+ .replace(/\/\*\*|\*\/|\s*\*\s?/g, ' ')
65
+ .replace(/\s+/g, ' ')
66
+ .trim();
67
+ }
68
+ /**
69
+ * Parse @param tag details from JSDoc comment text.
70
+ * Returns array of documented parameter names.
71
+ */
72
+ function parseParamTags(jsDocText) {
73
+ const params = [];
74
+ const regex = /@param\s+\{?\w+\}?\s*(?:\[\s*)?(\w+)/g;
75
+ let match;
76
+ while ((match = regex.exec(jsDocText)) !== null) {
77
+ params.push(match[1]);
78
+ }
79
+ return params;
80
+ }
81
+ /**
82
+ * Count formal parameters on a function-like node.
83
+ */
84
+ function countParameters(node) {
85
+ const params = findChild(node, 'formal_parameters');
86
+ if (!params?.children)
87
+ return 0;
88
+ return params.children.filter(c => c.type === 'required_parameter' ||
89
+ c.type === 'optional_parameter' ||
90
+ c.type === 'rest_parameter').length;
91
+ }
9
92
  export const DEFAULT_DOCUMENTATION_CONFIG = {
10
93
  requireFunctionDocs: true,
11
94
  requireComponentDocs: true,
@@ -15,84 +98,78 @@ export const DEFAULT_DOCUMENTATION_CONFIG = {
15
98
  minDescriptionLength: 10,
16
99
  checkExportedOnly: false,
17
100
  exemptPatterns: [
18
- 'test', 'spec', '\.d\.ts$', 'mock', 'fixture'
101
+ 'test', 'spec', '\\.d\\.ts$', 'mock', 'fixture'
19
102
  ]
20
103
  };
104
+ // ---------------------------------------------------------------------------
105
+ // Analysis helpers
106
+ // ---------------------------------------------------------------------------
21
107
  /**
22
- * Extracts JSDoc comment for a node
108
+ * Extracts file-level purpose comment.
109
+ * Looks for comment nodes at the top of the file containing
110
+ * @fileoverview or @purpose.
23
111
  */
24
- function getJSDoc(node, sourceFile) {
25
- const jsDocTags = ts.getJSDocTags(node);
26
- const jsDocComments = ts.getJSDocCommentsAndTags(node);
27
- if (jsDocComments.length > 0) {
28
- const comment = jsDocComments[0];
29
- if (ts.isJSDoc(comment)) {
30
- return comment.comment ? ts.getTextOfJSDocComment(comment.comment) || '' : '';
31
- }
32
- }
33
- // Fallback: look for leading comments
34
- const fullText = sourceFile.getFullText();
35
- const leadingComments = ts.getLeadingCommentRanges(fullText, node.getFullStart());
36
- if (leadingComments) {
37
- for (const comment of leadingComments) {
38
- const commentText = fullText.substring(comment.pos, comment.end);
39
- if (commentText.includes('/**')) {
40
- return commentText.replace(/\/\*\*|\*\/|\s*\*/g, '').trim();
112
+ function getFilePurpose(rootNode) {
113
+ if (!rootNode.children)
114
+ return null;
115
+ for (const child of rootNode.children) {
116
+ if (child.type === 'comment') {
117
+ const text = rawText(child);
118
+ if (text.includes('@fileoverview') || text.includes('@purpose')) {
119
+ return text.replace(/\/\*\*|\*\/|\s*\*\s?/g, ' ').replace(/\s+/g, ' ').trim();
41
120
  }
42
121
  }
43
- }
44
- return null;
45
- }
46
- /**
47
- * Checks if a node is exported
48
- */
49
- function isExported(node) {
50
- if ('modifiers' in node && node.modifiers) {
51
- return node.modifiers.some(modifier => modifier.kind === ts.SyntaxKind.ExportKeyword);
52
- }
53
- return false;
54
- }
55
- /**
56
- * Extracts file-level purpose comment
57
- */
58
- function getFilePurpose(sourceFile) {
59
- const fullText = sourceFile.getFullText();
60
- const leadingComments = ts.getLeadingCommentRanges(fullText, 0);
61
- if (leadingComments) {
62
- for (const comment of leadingComments) {
63
- const commentText = fullText.substring(comment.pos, comment.end);
64
- if (commentText.includes('@fileoverview') || commentText.includes('@purpose')) {
65
- return commentText.replace(/\/\*\*|\*\/|\s*\*/g, '').trim();
66
- }
122
+ // Only check comments at the very top — stop at first non-comment node
123
+ // unless it's an import/export statement (which may precede the file doc)
124
+ if (child.type !== 'comment' &&
125
+ child.type !== 'import_statement' &&
126
+ child.type !== 'export_statement') {
127
+ break;
67
128
  }
68
129
  }
69
130
  return null;
70
131
  }
71
132
  /**
72
- * Analyzes JSDoc parameters documentation
133
+ * Analyzes JSDoc parameter documentation for a function-like node.
73
134
  */
74
135
  function analyzeParamDocumentation(node) {
75
- const parameters = node.parameters || [];
76
- const jsDocTags = ts.getJSDocTags(node);
77
- const paramTags = jsDocTags.filter(tag => tag.tagName.text === 'param');
136
+ const totalParams = countParameters(node);
137
+ if (totalParams === 0) {
138
+ return { totalParams: 0, documentedParams: 0 };
139
+ }
140
+ const jsDocText = getJSDocText(node);
141
+ if (!jsDocText) {
142
+ return { totalParams, documentedParams: 0 };
143
+ }
144
+ const documentedParamNames = parseParamTags(jsDocText);
78
145
  return {
79
- totalParams: parameters.length,
80
- documentedParams: paramTags.length
146
+ totalParams,
147
+ documentedParams: documentedParamNames.length
81
148
  };
82
149
  }
83
150
  /**
84
- * Checks if function has return documentation
151
+ * Checks if function has @returns or @return documentation in its JSDoc.
85
152
  */
86
153
  function hasReturnDocumentation(node) {
87
- const jsDocTags = ts.getJSDocTags(node);
88
- return jsDocTags.some(tag => tag.tagName.text === 'returns' || tag.tagName.text === 'return');
154
+ const jsDocText = getJSDocText(node);
155
+ if (!jsDocText)
156
+ return false;
157
+ return /@returns?\b/i.test(jsDocText);
89
158
  }
159
+ // ---------------------------------------------------------------------------
160
+ // File-level analysis
161
+ // ---------------------------------------------------------------------------
90
162
  /**
91
- * Analyzes a single file for documentation quality
163
+ * Analyzes a single file for documentation quality.
164
+ *
165
+ * @param ast - The root ASTNode for the file
166
+ * @param filePath - Path to the source file
167
+ * @param sourceCode - Full source text of the file
168
+ * @param config - Documentation analyzer configuration
92
169
  */
93
- function analyzeFileDocumentation(sourceFile, config) {
170
+ function analyzeFileDocumentation(ast, filePath, sourceCode, config) {
94
171
  const violations = [];
95
- const fileName = sourceFile.fileName;
172
+ const fileName = filePath;
96
173
  let totalFunctions = 0;
97
174
  let documentedFunctions = 0;
98
175
  let totalComponents = 0;
@@ -102,7 +179,7 @@ function analyzeFileDocumentation(sourceFile, config) {
102
179
  let functionsWithReturns = 0;
103
180
  let returnsDocumented = 0;
104
181
  // Check file-level documentation
105
- const filePurpose = getFilePurpose(sourceFile);
182
+ const filePurpose = getFilePurpose(ast);
106
183
  const hasFileDocs = !!filePurpose;
107
184
  if (config.requireFileDocs && !hasFileDocs) {
108
185
  violations.push({
@@ -112,27 +189,28 @@ function analyzeFileDocumentation(sourceFile, config) {
112
189
  severity: 'suggestion',
113
190
  message: 'File missing purpose documentation',
114
191
  details: 'Consider adding @fileoverview or @purpose comment at the top of the file',
115
- suggestion: 'Add file-level documentation explaining the module\'s purpose'
192
+ suggestion: "Add file-level documentation explaining the module's purpose"
116
193
  });
117
194
  }
118
- // Analyze functions and components
119
- ts.forEachChild(sourceFile, function visit(node) {
120
- if (ts.isFunctionDeclaration(node) ||
121
- ts.isFunctionExpression(node) ||
122
- ts.isArrowFunction(node) ||
123
- ts.isMethodDeclaration(node)) {
195
+ // Walk the AST to find function-like nodes and React components
196
+ walkAST(ast, (node) => {
197
+ // --- Function-like nodes ---
198
+ if (node.type === 'function_declaration' ||
199
+ node.type === 'function_expression' ||
200
+ node.type === 'arrow_function' ||
201
+ node.type === 'method_definition') {
124
202
  totalFunctions++;
125
- const isExportedNode = isExported(node);
126
- const shouldCheck = !config.checkExportedOnly || isExportedNode;
203
+ const nodeExported = adapterIsExported(node);
204
+ const shouldCheck = !config.checkExportedOnly || nodeExported;
127
205
  if (shouldCheck) {
128
- const jsDoc = getJSDoc(node, sourceFile);
129
- const hasGoodDoc = jsDoc && jsDoc.length >= config.minDescriptionLength;
206
+ const jsDoc = getJSDocText(node);
207
+ const hasGoodDoc = jsDoc ? jsDoc.length >= config.minDescriptionLength : false;
130
208
  if (hasGoodDoc) {
131
209
  documentedFunctions++;
132
210
  }
133
211
  else if (config.requireFunctionDocs) {
134
212
  const functionName = getNodeName(node) || 'anonymous function';
135
- const position = getNodePosition(sourceFile, node);
213
+ const position = getNodePosition(node);
136
214
  violations.push({
137
215
  file: fileName,
138
216
  line: position.line,
@@ -144,7 +222,7 @@ function analyzeFileDocumentation(sourceFile, config) {
144
222
  });
145
223
  }
146
224
  // Check parameter documentation
147
- if (ts.isFunctionDeclaration(node) || ts.isFunctionExpression(node)) {
225
+ if (node.type === 'function_declaration' || node.type === 'function_expression') {
148
226
  const paramAnalysis = analyzeParamDocumentation(node);
149
227
  if (paramAnalysis.totalParams > 0) {
150
228
  functionsWithParams++;
@@ -153,7 +231,7 @@ function analyzeFileDocumentation(sourceFile, config) {
153
231
  }
154
232
  else if (config.requireParamDocs && hasGoodDoc) {
155
233
  const functionName = getNodeName(node) || 'function';
156
- const position = getNodePosition(sourceFile, node);
234
+ const position = getNodePosition(node);
157
235
  violations.push({
158
236
  file: fileName,
159
237
  line: position.line,
@@ -166,9 +244,12 @@ function analyzeFileDocumentation(sourceFile, config) {
166
244
  }
167
245
  }
168
246
  // Check return documentation
169
- const hasReturn = node.type ||
170
- (ts.isFunctionDeclaration(node) && node.body &&
171
- findNodesOfType(node.body, ts.isReturnStatement).length > 0);
247
+ const hasReturnType = !!findChild(node, 'type_annotation');
248
+ const body = findChild(node, 'statement_block');
249
+ const hasReturnStatements = body
250
+ ? findNodesOfType(body, (n) => n.type === 'return_statement').length > 0
251
+ : false;
252
+ const hasReturn = hasReturnType || hasReturnStatements;
172
253
  if (hasReturn) {
173
254
  functionsWithReturns++;
174
255
  if (hasReturnDocumentation(node)) {
@@ -176,7 +257,7 @@ function analyzeFileDocumentation(sourceFile, config) {
176
257
  }
177
258
  else if (config.requireReturnDocs && hasGoodDoc) {
178
259
  const functionName = getNodeName(node) || 'function';
179
- const position = getNodePosition(sourceFile, node);
260
+ const position = getNodePosition(node);
180
261
  violations.push({
181
262
  file: fileName,
182
263
  line: position.line,
@@ -191,20 +272,20 @@ function analyzeFileDocumentation(sourceFile, config) {
191
272
  }
192
273
  }
193
274
  }
194
- // Check React components
275
+ // --- React components ---
195
276
  if (isReactComponent(node)) {
196
277
  totalComponents++;
197
- const isExportedComponent = isExported(node);
198
- const shouldCheck = !config.checkExportedOnly || isExportedComponent;
278
+ const componentExported = adapterIsExported(node);
279
+ const shouldCheck = !config.checkExportedOnly || componentExported;
199
280
  if (shouldCheck) {
200
- const jsDoc = getJSDoc(node, sourceFile);
201
- const hasGoodDoc = jsDoc && jsDoc.length >= config.minDescriptionLength;
281
+ const jsDoc = getJSDocText(node);
282
+ const hasGoodDoc = jsDoc ? jsDoc.length >= config.minDescriptionLength : false;
202
283
  if (hasGoodDoc) {
203
284
  documentedComponents++;
204
285
  }
205
286
  else if (config.requireComponentDocs) {
206
287
  const componentName = getComponentName(node) || 'Component';
207
- const position = getNodePosition(sourceFile, node);
288
+ const position = getNodePosition(node);
208
289
  violations.push({
209
290
  file: fileName,
210
291
  line: position.line,
@@ -217,7 +298,6 @@ function analyzeFileDocumentation(sourceFile, config) {
217
298
  }
218
299
  }
219
300
  }
220
- ts.forEachChild(node, visit);
221
301
  });
222
302
  return {
223
303
  violations,
@@ -235,8 +315,12 @@ function analyzeFileDocumentation(sourceFile, config) {
235
315
  }
236
316
  };
237
317
  }
318
+ // ---------------------------------------------------------------------------
319
+ // Main analyzer function
320
+ // ---------------------------------------------------------------------------
238
321
  /**
239
- * Main documentation analyzer function
322
+ * Main documentation analyzer function.
323
+ * Runs across all provided files and aggregates results.
240
324
  */
241
325
  export async function analyzeDocumentation(files, config = {}, options = {}, progressCallback) {
242
326
  const finalConfig = { ...DEFAULT_DOCUMENTATION_CONFIG, ...config };
@@ -248,13 +332,15 @@ export async function analyzeDocumentation(files, config = {}, options = {}, pro
248
332
  const progressReporter = progressCallback ? (current, total, file) => {
249
333
  progressCallback({ current, total, analyzer: 'documentation', file });
250
334
  } : undefined;
251
- const result = await processFiles(filteredFiles, (filePath, sourceFile, config) => analyzeFileDocumentation(sourceFile, finalConfig).violations, 'documentation', finalConfig, progressReporter);
252
- // Get metrics separately by re-running the analysis (not ideal but works for now)
253
- const metricsResults = await Promise.all(filteredFiles.map(async (file) => {
254
- const sourceFile = ts.createSourceFile(file, await fs.readFile(file, 'utf-8'), ts.ScriptTarget.Latest, true);
255
- return analyzeFileDocumentation(sourceFile, finalConfig).metrics;
256
- }));
257
- // Aggregate metrics
335
+ // Collect per-file metrics in a closure so we only parse each file once
336
+ const allMetrics = [];
337
+ const perFileAnalyzer = (filePath, ast, _config, sourceCode) => {
338
+ const analysis = analyzeFileDocumentation(ast.root, filePath, sourceCode ?? '', finalConfig);
339
+ allMetrics.push(analysis.metrics);
340
+ return analysis.violations;
341
+ };
342
+ const result = await processFiles(filteredFiles, perFileAnalyzer, 'documentation', finalConfig, progressReporter);
343
+ // Aggregate metrics from all files (single pass — no re-parsing)
258
344
  const aggregatedMetrics = {
259
345
  totalFunctions: 0,
260
346
  documentedFunctions: 0,
@@ -271,35 +357,48 @@ export async function analyzeDocumentation(files, config = {}, options = {}, pro
271
357
  poorlyDocumentedFiles: []
272
358
  };
273
359
  // Combine metrics from all files
274
- metricsResults.forEach((fileMetrics) => {
360
+ allMetrics.forEach((fileMetrics, index) => {
275
361
  if (fileMetrics) {
276
- Object.keys(fileMetrics).forEach(key => {
277
- if (typeof aggregatedMetrics[key] === 'number' &&
278
- typeof fileMetrics[key] === 'number') {
279
- aggregatedMetrics[key] += fileMetrics[key];
362
+ // Sum numeric metrics
363
+ const numericKeys = [
364
+ 'totalFunctions', 'documentedFunctions',
365
+ 'totalComponents', 'documentedComponents',
366
+ 'functionsWithParams', 'paramsDocumented',
367
+ 'functionsWithReturns', 'returnsDocumented',
368
+ 'totalFiles', 'filesWithPurpose'
369
+ ];
370
+ for (const key of numericKeys) {
371
+ const val = fileMetrics[key];
372
+ if (typeof val === 'number') {
373
+ aggregatedMetrics[key] += val;
280
374
  }
281
- });
282
- }
283
- });
284
- // Calculate coverage score
285
- const totalItems = aggregatedMetrics.totalFunctions + aggregatedMetrics.totalComponents + aggregatedMetrics.totalFiles;
286
- const documentedItems = aggregatedMetrics.documentedFunctions + aggregatedMetrics.documentedComponents + aggregatedMetrics.filesWithPurpose;
287
- aggregatedMetrics.coverageScore = totalItems > 0 ? Math.round((documentedItems / totalItems) * 100) : 100;
288
- // Identify well/poorly documented files
289
- filteredFiles.forEach((file, index) => {
290
- const fileMetrics = metricsResults[index];
291
- if (fileMetrics) {
292
- const fileTotal = (fileMetrics.totalFunctions || 0) + (fileMetrics.totalComponents || 0) + 1;
293
- const fileDocumented = (fileMetrics.documentedFunctions || 0) + (fileMetrics.documentedComponents || 0) + (fileMetrics.filesWithPurpose || 0);
375
+ }
376
+ // Identify well/poorly documented files
377
+ const fileTotal = (fileMetrics.totalFunctions || 0) +
378
+ (fileMetrics.totalComponents || 0) + 1;
379
+ const fileDocumented = (fileMetrics.documentedFunctions || 0) +
380
+ (fileMetrics.documentedComponents || 0) +
381
+ (fileMetrics.filesWithPurpose || 0);
294
382
  const fileCoverage = fileTotal > 0 ? (fileDocumented / fileTotal) : 0;
383
+ const filePath = filteredFiles[index];
295
384
  if (fileCoverage >= 0.8) {
296
- aggregatedMetrics.wellDocumentedFiles.push(file);
385
+ aggregatedMetrics.wellDocumentedFiles.push(filePath);
297
386
  }
298
387
  else if (fileCoverage < 0.3) {
299
- aggregatedMetrics.poorlyDocumentedFiles.push(file);
388
+ aggregatedMetrics.poorlyDocumentedFiles.push(filePath);
300
389
  }
301
390
  }
302
391
  });
392
+ // Calculate coverage score
393
+ const totalItems = aggregatedMetrics.totalFunctions +
394
+ aggregatedMetrics.totalComponents +
395
+ aggregatedMetrics.totalFiles;
396
+ const documentedItems = aggregatedMetrics.documentedFunctions +
397
+ aggregatedMetrics.documentedComponents +
398
+ aggregatedMetrics.filesWithPurpose;
399
+ aggregatedMetrics.coverageScore = totalItems > 0
400
+ ? Math.round((documentedItems / totalItems) * 100)
401
+ : 100;
303
402
  return {
304
403
  violations: result.violations,
305
404
  filesProcessed: result.filesProcessed,
@@ -1 +1 @@
1
- {"version":3,"file":"documentationAnalyzer.js","sourceRoot":"","sources":["../../src/analyzers/documentationAnalyzer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"documentationAnalyzer.js","sourceRoot":"","sources":["../../src/analyzers/documentationAnalyzer.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"dryAnalyzer.d.ts","sourceRoot":"","sources":["../../src/analyzers/dryAnalyzer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH,OAAO,EAEL,kBAAkB,EAEnB,MAAM,aAAa,CAAC;AAqDrB;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAoqBD;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,kBAkEzB,CAAC"}
1
+ {"version":3,"file":"dryAnalyzer.d.ts","sourceRoot":"","sources":["../../src/analyzers/dryAnalyzer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,OAAO,EAEL,kBAAkB,EAEnB,MAAM,aAAa,CAAC;AAgDrB;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAk0BD;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,kBAkEzB,CAAC"}