code-auditor-mcp 4.1.1 → 5.0.2
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.
- package/.claude-plugin/marketplace.json +1 -1
- package/CHANGELOG.md +381 -0
- package/README.md +4 -4
- package/configs/hhra-compat.json +0 -8
- package/dist/__tests__/fixtures/spec-52/item-03-exec-in-loop.d.ts +1 -1
- package/dist/__tests__/fixtures/spec-52/item-03-exec-in-loop.d.ts.map +1 -1
- package/dist/__tests__/fixtures/spec-52/item-03-exec-in-loop.js +7 -1
- package/dist/__tests__/fixtures/spec-52/item-03-exec-in-loop.js.map +1 -1
- package/dist/__tests__/fixtures/spec-52/item-04-storage-sql-exec-in-loop.d.ts +2 -8
- package/dist/__tests__/fixtures/spec-52/item-04-storage-sql-exec-in-loop.d.ts.map +1 -1
- package/dist/__tests__/fixtures/spec-52/item-04-storage-sql-exec-in-loop.js +4 -4
- package/dist/__tests__/fixtures/spec-52/item-04-storage-sql-exec-in-loop.js.map +1 -1
- package/dist/__tests__/fixtures/spec-52/item-06-chained-prepare-run-in-loop.d.ts +1 -1
- package/dist/__tests__/fixtures/spec-52/item-06-chained-prepare-run-in-loop.d.ts.map +1 -1
- package/dist/__tests__/fixtures/spec-52/item-06-chained-prepare-run-in-loop.js.map +1 -1
- package/dist/__tests__/fixtures/spec-52/item-07-chained-prepare-bind-first-in-loop.d.ts +2 -2
- package/dist/__tests__/fixtures/spec-52/item-07-chained-prepare-bind-first-in-loop.d.ts.map +1 -1
- package/dist/__tests__/fixtures/spec-52/item-07-chained-prepare-bind-first-in-loop.js.map +1 -1
- package/dist/__tests__/fixtures/spec-52/item-10-promise-all-map-of-eager-all-in-loop.d.ts +1 -1
- package/dist/__tests__/fixtures/spec-52/item-10-promise-all-map-of-eager-all-in-loop.d.ts.map +1 -1
- package/dist/__tests__/fixtures/spec-52/item-10-promise-all-map-of-eager-all-in-loop.js.map +1 -1
- package/dist/analyzers/applicability.d.ts +42 -0
- package/dist/analyzers/applicability.d.ts.map +1 -1
- package/dist/analyzers/applicability.js +74 -0
- package/dist/analyzers/applicability.js.map +1 -1
- package/dist/analyzers/cross-language/APIContractAnalyzer.js +18 -24
- package/dist/analyzers/cross-language/APIContractAnalyzer.js.map +1 -1
- package/dist/analyzers/cross-language/DependencyGraphBuilder.d.ts +30 -23
- package/dist/analyzers/cross-language/DependencyGraphBuilder.d.ts.map +1 -1
- package/dist/analyzers/cross-language/DependencyGraphBuilder.js +113 -76
- package/dist/analyzers/cross-language/DependencyGraphBuilder.js.map +1 -1
- package/dist/analyzers/cross-language/SchemaValidator.d.ts +2 -0
- package/dist/analyzers/cross-language/SchemaValidator.d.ts.map +1 -1
- package/dist/analyzers/cross-language/SchemaValidator.js +8 -3
- package/dist/analyzers/cross-language/SchemaValidator.js.map +1 -1
- package/dist/analyzers/crossDomain/CrossDomainAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/crossDomain/CrossDomainAnalyzer.js +210 -148
- package/dist/analyzers/crossDomain/CrossDomainAnalyzer.js.map +1 -1
- package/dist/analyzers/documentationAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/documentationAnalyzer.js +23 -28
- package/dist/analyzers/documentationAnalyzer.js.map +1 -1
- package/dist/analyzers/handleIdentification.d.ts +356 -0
- package/dist/analyzers/handleIdentification.d.ts.map +1 -0
- package/dist/analyzers/handleIdentification.js +427 -0
- package/dist/analyzers/handleIdentification.js.map +1 -0
- package/dist/analyzers/manifestStaleness.d.ts +64 -0
- package/dist/analyzers/manifestStaleness.d.ts.map +1 -0
- package/dist/analyzers/manifestStaleness.js +115 -0
- package/dist/analyzers/manifestStaleness.js.map +1 -0
- package/dist/analyzers/orgFilterTiers.d.ts +73 -1
- package/dist/analyzers/orgFilterTiers.d.ts.map +1 -1
- package/dist/analyzers/orgFilterTiers.js +166 -1
- package/dist/analyzers/orgFilterTiers.js.map +1 -1
- package/dist/analyzers/provenance.d.ts +251 -57
- package/dist/analyzers/provenance.d.ts.map +1 -1
- package/dist/analyzers/provenance.js +1109 -429
- package/dist/analyzers/provenance.js.map +1 -1
- package/dist/analyzers/reactAnalyzer.d.ts +2 -0
- package/dist/analyzers/reactAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/reactAnalyzer.js +2 -0
- package/dist/analyzers/reactAnalyzer.js.map +1 -1
- package/dist/analyzers/receiverResolution.d.ts +183 -0
- package/dist/analyzers/receiverResolution.d.ts.map +1 -0
- package/dist/analyzers/receiverResolution.js +540 -0
- package/dist/analyzers/receiverResolution.js.map +1 -0
- package/dist/analyzers/receiverRoot.d.ts +348 -0
- package/dist/analyzers/receiverRoot.d.ts.map +1 -0
- package/dist/analyzers/receiverRoot.js +1032 -0
- package/dist/analyzers/receiverRoot.js.map +1 -0
- package/dist/analyzers/ruleRegistry.d.ts +12 -68
- package/dist/analyzers/ruleRegistry.d.ts.map +1 -1
- package/dist/analyzers/ruleRegistry.js +32 -342
- package/dist/analyzers/ruleRegistry.js.map +1 -1
- package/dist/analyzers/ruleTiming.d.ts +10 -0
- package/dist/analyzers/ruleTiming.d.ts.map +1 -1
- package/dist/analyzers/ruleTiming.js +20 -0
- package/dist/analyzers/ruleTiming.js.map +1 -1
- package/dist/analyzers/sqlLiteral.d.ts +76 -0
- package/dist/analyzers/sqlLiteral.d.ts.map +1 -0
- package/dist/analyzers/sqlLiteral.js +419 -0
- package/dist/analyzers/sqlLiteral.js.map +1 -0
- package/dist/analyzers/tsEcosystem.d.ts +115 -0
- package/dist/analyzers/tsEcosystem.d.ts.map +1 -0
- package/dist/analyzers/tsEcosystem.js +241 -0
- package/dist/analyzers/tsEcosystem.js.map +1 -0
- package/dist/analyzers/tsExpressionDescriptor.d.ts +156 -0
- package/dist/analyzers/tsExpressionDescriptor.d.ts.map +1 -0
- package/dist/analyzers/tsExpressionDescriptor.js +374 -0
- package/dist/analyzers/tsExpressionDescriptor.js.map +1 -0
- package/dist/analyzers/universal/UniversalConventionsAnalyzer.d.ts +6 -0
- package/dist/analyzers/universal/UniversalConventionsAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalConventionsAnalyzer.js +107 -44
- package/dist/analyzers/universal/UniversalConventionsAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/UniversalDRYAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalDRYAnalyzer.js +23 -35
- package/dist/analyzers/universal/UniversalDRYAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/UniversalDataAccessAnalyzer.d.ts +287 -49
- package/dist/analyzers/universal/UniversalDataAccessAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalDataAccessAnalyzer.js +2130 -512
- package/dist/analyzers/universal/UniversalDataAccessAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/UniversalDocumentationAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalDocumentationAnalyzer.js +2 -18
- package/dist/analyzers/universal/UniversalDocumentationAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/UniversalSOLIDAnalyzer.d.ts +0 -33
- package/dist/analyzers/universal/UniversalSOLIDAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalSOLIDAnalyzer.js +20 -143
- package/dist/analyzers/universal/UniversalSOLIDAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/UniversalSchemaAnalyzer.d.ts +4 -3
- package/dist/analyzers/universal/UniversalSchemaAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalSchemaAnalyzer.js +36 -13
- package/dist/analyzers/universal/UniversalSchemaAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/UniversalSecretsAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalSecretsAnalyzer.js +6 -0
- package/dist/analyzers/universal/UniversalSecretsAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/UniversalSecurityAnalyzer.d.ts +15 -0
- package/dist/analyzers/universal/UniversalSecurityAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalSecurityAnalyzer.js +25 -0
- package/dist/analyzers/universal/UniversalSecurityAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/UniversalStylesAnalyzer.d.ts +21 -32
- package/dist/analyzers/universal/UniversalStylesAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalStylesAnalyzer.js +166 -196
- package/dist/analyzers/universal/UniversalStylesAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/functionConcerns.d.ts +3 -0
- package/dist/analyzers/universal/functionConcerns.d.ts.map +1 -1
- package/dist/analyzers/universal/functionConcerns.js +4 -1
- package/dist/analyzers/universal/functionConcerns.js.map +1 -1
- package/dist/analyzers/universal/schema/codeAnalysis.d.ts +310 -69
- package/dist/analyzers/universal/schema/codeAnalysis.d.ts.map +1 -1
- package/dist/analyzers/universal/schema/codeAnalysis.js +709 -383
- package/dist/analyzers/universal/schema/codeAnalysis.js.map +1 -1
- package/dist/analyzers/universal/schema/config.d.ts +3 -14
- package/dist/analyzers/universal/schema/config.d.ts.map +1 -1
- package/dist/analyzers/universal/schema/config.js +3 -16
- package/dist/analyzers/universal/schema/config.js.map +1 -1
- package/dist/analyzers/universal/schema/discovery.d.ts +22 -1
- package/dist/analyzers/universal/schema/discovery.d.ts.map +1 -1
- package/dist/analyzers/universal/schema/discovery.js +36 -20
- package/dist/analyzers/universal/schema/discovery.js.map +1 -1
- package/dist/analyzers/universal/schema/jsonSchema.d.ts.map +1 -1
- package/dist/analyzers/universal/schema/jsonSchema.js +13 -3
- package/dist/analyzers/universal/schema/jsonSchema.js.map +1 -1
- package/dist/analyzers/universal/schema/migrations.d.ts +187 -27
- package/dist/analyzers/universal/schema/migrations.d.ts.map +1 -1
- package/dist/analyzers/universal/schema/migrations.js +443 -186
- package/dist/analyzers/universal/schema/migrations.js.map +1 -1
- package/dist/analyzers/universal/schema/types.d.ts +17 -3
- package/dist/analyzers/universal/schema/types.d.ts.map +1 -1
- package/dist/analyzers/universal/schema/violations.js +1 -1
- package/dist/analyzers/universal/schema/violations.js.map +1 -1
- package/dist/analyzers/universal/styleScale.d.ts +52 -0
- package/dist/analyzers/universal/styleScale.d.ts.map +1 -0
- package/dist/analyzers/universal/styleScale.js +95 -0
- package/dist/analyzers/universal/styleScale.js.map +1 -0
- package/dist/applyDataDirEnv.js +1 -1
- package/dist/applyDataDirEnv.js.map +1 -1
- package/dist/auditRouter.d.ts +26 -30
- package/dist/auditRouter.d.ts.map +1 -1
- package/dist/auditRouter.js +373 -143
- package/dist/auditRouter.js.map +1 -1
- package/dist/auditRunner.d.ts +66 -1
- package/dist/auditRunner.d.ts.map +1 -1
- package/dist/auditRunner.js +1544 -1034
- package/dist/auditRunner.js.map +1 -1
- package/dist/baseline.d.ts +30 -3
- package/dist/baseline.d.ts.map +1 -1
- package/dist/baseline.js +70 -9
- package/dist/baseline.js.map +1 -1
- package/dist/cli.js +983 -821
- package/dist/cli.js.map +1 -1
- package/dist/codeIndex/analyzerConfig.d.ts +60 -0
- package/dist/codeIndex/analyzerConfig.d.ts.map +1 -0
- package/dist/codeIndex/analyzerConfig.js +98 -0
- package/dist/codeIndex/analyzerConfig.js.map +1 -0
- package/dist/codeIndex/auditResults.d.ts +39 -0
- package/dist/codeIndex/auditResults.d.ts.map +1 -0
- package/dist/codeIndex/auditResults.js +99 -0
- package/dist/codeIndex/auditResults.js.map +1 -0
- package/dist/codeIndex/codeMap.d.ts +59 -0
- package/dist/codeIndex/codeMap.d.ts.map +1 -0
- package/dist/codeIndex/codeMap.js +72 -0
- package/dist/codeIndex/codeMap.js.map +1 -0
- package/dist/codeIndex/conventions.d.ts +33 -0
- package/dist/codeIndex/conventions.d.ts.map +1 -0
- package/dist/codeIndex/conventions.js +84 -0
- package/dist/codeIndex/conventions.js.map +1 -0
- package/dist/codeIndex/coverage.d.ts +78 -0
- package/dist/codeIndex/coverage.d.ts.map +1 -0
- package/dist/codeIndex/coverage.js +164 -0
- package/dist/codeIndex/coverage.js.map +1 -0
- package/dist/codeIndex/dependencyGraph.d.ts +97 -0
- package/dist/codeIndex/dependencyGraph.d.ts.map +1 -0
- package/dist/codeIndex/dependencyGraph.js +241 -0
- package/dist/codeIndex/dependencyGraph.js.map +1 -0
- package/dist/codeIndex/functionIndex.d.ts +111 -0
- package/dist/codeIndex/functionIndex.d.ts.map +1 -0
- package/dist/codeIndex/functionIndex.js +306 -0
- package/dist/codeIndex/functionIndex.js.map +1 -0
- package/dist/codeIndex/inferredReceivers.d.ts +32 -0
- package/dist/codeIndex/inferredReceivers.d.ts.map +1 -0
- package/dist/codeIndex/inferredReceivers.js +41 -0
- package/dist/codeIndex/inferredReceivers.js.map +1 -0
- package/dist/codeIndex/meta.d.ts +30 -0
- package/dist/codeIndex/meta.d.ts.map +1 -0
- package/dist/codeIndex/meta.js +37 -0
- package/dist/codeIndex/meta.js.map +1 -0
- package/dist/codeIndex/migrations.d.ts +96 -0
- package/dist/codeIndex/migrations.d.ts.map +1 -0
- package/dist/codeIndex/migrations.js +1302 -0
- package/dist/codeIndex/migrations.js.map +1 -0
- package/dist/codeIndex/projectTasks.d.ts +54 -0
- package/dist/codeIndex/projectTasks.d.ts.map +1 -0
- package/dist/codeIndex/projectTasks.js +81 -0
- package/dist/codeIndex/projectTasks.js.map +1 -0
- package/dist/codeIndex/provenance.d.ts +47 -0
- package/dist/codeIndex/provenance.d.ts.map +1 -0
- package/dist/codeIndex/provenance.js +48 -0
- package/dist/codeIndex/provenance.js.map +1 -0
- package/dist/codeIndex/rawSql.d.ts +54 -0
- package/dist/codeIndex/rawSql.d.ts.map +1 -0
- package/dist/codeIndex/rawSql.js +71 -0
- package/dist/codeIndex/rawSql.js.map +1 -0
- package/dist/codeIndex/schema.d.ts +99 -0
- package/dist/codeIndex/schema.d.ts.map +1 -0
- package/dist/codeIndex/schema.js +174 -0
- package/dist/codeIndex/schema.js.map +1 -0
- package/dist/codeIndex/search.d.ts +40 -0
- package/dist/codeIndex/search.d.ts.map +1 -0
- package/dist/codeIndex/search.js +316 -0
- package/dist/codeIndex/search.js.map +1 -0
- package/dist/codeIndex/shared.d.ts +27 -0
- package/dist/codeIndex/shared.d.ts.map +1 -0
- package/dist/codeIndex/shared.js +46 -0
- package/dist/codeIndex/shared.js.map +1 -0
- package/dist/codeIndex/sqliteCollection.d.ts +81 -0
- package/dist/codeIndex/sqliteCollection.d.ts.map +1 -0
- package/dist/codeIndex/sqliteCollection.js +250 -0
- package/dist/codeIndex/sqliteCollection.js.map +1 -0
- package/dist/codeIndex/whitelist.d.ts +59 -0
- package/dist/codeIndex/whitelist.d.ts.map +1 -0
- package/dist/codeIndex/whitelist.js +188 -0
- package/dist/codeIndex/whitelist.js.map +1 -0
- package/dist/codeIndexDB.d.ts +132 -271
- package/dist/codeIndexDB.d.ts.map +1 -1
- package/dist/codeIndexDB.js +365 -2729
- package/dist/codeIndexDB.js.map +1 -1
- package/dist/codeIndexService.d.ts +87 -12
- package/dist/codeIndexService.d.ts.map +1 -1
- package/dist/codeIndexService.js +110 -34
- package/dist/codeIndexService.js.map +1 -1
- package/dist/componentScanner.d.ts +35 -0
- package/dist/componentScanner.d.ts.map +1 -1
- package/dist/componentScanner.js +114 -80
- package/dist/componentScanner.js.map +1 -1
- package/dist/config/configGeneratePath.d.ts +4 -0
- package/dist/config/configGeneratePath.d.ts.map +1 -1
- package/dist/config/configGeneratePath.js +4 -0
- package/dist/config/configGeneratePath.js.map +1 -1
- package/dist/config/configLoader.d.ts +15 -0
- package/dist/config/configLoader.d.ts.map +1 -1
- package/dist/config/configLoader.js +15 -16
- package/dist/config/configLoader.js.map +1 -1
- package/dist/config/defaults.d.ts +11 -7
- package/dist/config/defaults.d.ts.map +1 -1
- package/dist/config/defaults.js +16 -14
- package/dist/config/defaults.js.map +1 -1
- package/dist/config/effectiveConfig.d.ts +17 -2
- package/dist/config/effectiveConfig.d.ts.map +1 -1
- package/dist/config/effectiveConfig.js +32 -25
- package/dist/config/effectiveConfig.js.map +1 -1
- package/dist/config/lintConfigReader.d.ts +6 -0
- package/dist/config/lintConfigReader.d.ts.map +1 -1
- package/dist/config/lintConfigReader.js +6 -0
- package/dist/config/lintConfigReader.js.map +1 -1
- package/dist/config/staticObjectExtract.d.ts +4 -0
- package/dist/config/staticObjectExtract.d.ts.map +1 -1
- package/dist/config/staticObjectExtract.js +7 -3
- package/dist/config/staticObjectExtract.js.map +1 -1
- package/dist/config/thresholdRationales.d.ts +2 -0
- package/dist/config/thresholdRationales.d.ts.map +1 -1
- package/dist/config/thresholdRationales.js +5 -2
- package/dist/config/thresholdRationales.js.map +1 -1
- package/dist/constants.d.ts +1 -1
- package/dist/conventions/conventionMiner.d.ts +105 -2
- package/dist/conventions/conventionMiner.d.ts.map +1 -1
- package/dist/conventions/conventionMiner.js +334 -259
- package/dist/conventions/conventionMiner.js.map +1 -1
- package/dist/coverage/coverageService.js +4 -4
- package/dist/coverage/coverageService.js.map +1 -1
- package/dist/daemon/args.d.ts +3 -0
- package/dist/daemon/args.d.ts.map +1 -1
- package/dist/daemon/args.js +3 -0
- package/dist/daemon/args.js.map +1 -1
- package/dist/daemon/core.d.ts +33 -27
- package/dist/daemon/core.d.ts.map +1 -1
- package/dist/daemon/core.js +198 -162
- package/dist/daemon/core.js.map +1 -1
- package/dist/daemon/lspServer.d.ts +8 -0
- package/dist/daemon/lspServer.d.ts.map +1 -1
- package/dist/daemon/lspServer.js +8 -0
- package/dist/daemon/lspServer.js.map +1 -1
- package/dist/daemon/main.d.ts +2 -0
- package/dist/daemon/main.d.ts.map +1 -1
- package/dist/daemon/main.js +22 -4
- package/dist/daemon/main.js.map +1 -1
- package/dist/daemon/resolve.d.ts +18 -3
- package/dist/daemon/resolve.d.ts.map +1 -1
- package/dist/daemon/resolve.js +25 -4
- package/dist/daemon/resolve.js.map +1 -1
- package/dist/daemon/socketClient.d.ts +10 -1
- package/dist/daemon/socketClient.d.ts.map +1 -1
- package/dist/daemon/socketClient.js +10 -1
- package/dist/daemon/socketClient.js.map +1 -1
- package/dist/daemon/socketServer.d.ts +13 -0
- package/dist/daemon/socketServer.d.ts.map +1 -1
- package/dist/daemon/socketServer.js +13 -0
- package/dist/daemon/socketServer.js.map +1 -1
- package/dist/dataPaths.d.ts +17 -8
- package/dist/dataPaths.d.ts.map +1 -1
- package/dist/dataPaths.js +16 -44
- package/dist/dataPaths.js.map +1 -1
- package/dist/dismissals.d.ts +22 -1
- package/dist/dismissals.d.ts.map +1 -1
- package/dist/dismissals.js +22 -1
- package/dist/dismissals.js.map +1 -1
- package/dist/enforcement/gate.d.ts +1 -0
- package/dist/enforcement/gate.d.ts.map +1 -1
- package/dist/enforcement/gate.js +1 -0
- package/dist/enforcement/gate.js.map +1 -1
- package/dist/fingerprint.d.ts +6 -0
- package/dist/fingerprint.d.ts.map +1 -1
- package/dist/fingerprint.js +46 -1
- package/dist/fingerprint.js.map +1 -1
- package/dist/functionScanner.d.ts +30 -1
- package/dist/functionScanner.d.ts.map +1 -1
- package/dist/functionScanner.js +258 -256
- package/dist/functionScanner.js.map +1 -1
- package/dist/generators/AWSQConfigGenerator.d.ts +23 -0
- package/dist/generators/AWSQConfigGenerator.d.ts.map +1 -1
- package/dist/generators/AWSQConfigGenerator.js +23 -0
- package/dist/generators/AWSQConfigGenerator.js.map +1 -1
- package/dist/generators/BaseConfigGenerator.d.ts +7 -0
- package/dist/generators/BaseConfigGenerator.d.ts.map +1 -1
- package/dist/generators/BaseConfigGenerator.js +7 -0
- package/dist/generators/BaseConfigGenerator.js.map +1 -1
- package/dist/generators/ClaudeConfigGenerator.d.ts +23 -0
- package/dist/generators/ClaudeConfigGenerator.d.ts.map +1 -1
- package/dist/generators/ClaudeConfigGenerator.js +23 -0
- package/dist/generators/ClaudeConfigGenerator.js.map +1 -1
- package/dist/generators/ClineConfigGenerator.d.ts +23 -0
- package/dist/generators/ClineConfigGenerator.d.ts.map +1 -1
- package/dist/generators/ClineConfigGenerator.js +23 -0
- package/dist/generators/ClineConfigGenerator.js.map +1 -1
- package/dist/generators/CodeiumConfigGenerator.d.ts +23 -0
- package/dist/generators/CodeiumConfigGenerator.d.ts.map +1 -1
- package/dist/generators/CodeiumConfigGenerator.js +23 -0
- package/dist/generators/CodeiumConfigGenerator.js.map +1 -1
- package/dist/generators/CodexConfigGenerator.d.ts +23 -0
- package/dist/generators/CodexConfigGenerator.d.ts.map +1 -1
- package/dist/generators/CodexConfigGenerator.js +23 -0
- package/dist/generators/CodexConfigGenerator.js.map +1 -1
- package/dist/generators/ConfigGeneratorFactory.d.ts +9 -0
- package/dist/generators/ConfigGeneratorFactory.d.ts.map +1 -1
- package/dist/generators/ConfigGeneratorFactory.js +9 -0
- package/dist/generators/ConfigGeneratorFactory.js.map +1 -1
- package/dist/generators/ContinueConfigGenerator.d.ts +23 -0
- package/dist/generators/ContinueConfigGenerator.d.ts.map +1 -1
- package/dist/generators/ContinueConfigGenerator.js +23 -0
- package/dist/generators/ContinueConfigGenerator.js.map +1 -1
- package/dist/generators/CopilotConfigGenerator.d.ts +23 -0
- package/dist/generators/CopilotConfigGenerator.d.ts.map +1 -1
- package/dist/generators/CopilotConfigGenerator.js +23 -0
- package/dist/generators/CopilotConfigGenerator.js.map +1 -1
- package/dist/generators/CursorConfigGenerator.d.ts +23 -0
- package/dist/generators/CursorConfigGenerator.d.ts.map +1 -1
- package/dist/generators/CursorConfigGenerator.js +23 -0
- package/dist/generators/CursorConfigGenerator.js.map +1 -1
- package/dist/generators/GeminiConfigGenerator.d.ts +23 -0
- package/dist/generators/GeminiConfigGenerator.d.ts.map +1 -1
- package/dist/generators/GeminiConfigGenerator.js +23 -0
- package/dist/generators/GeminiConfigGenerator.js.map +1 -1
- package/dist/generators/VSCodeConfigGenerator.d.ts +23 -0
- package/dist/generators/VSCodeConfigGenerator.d.ts.map +1 -1
- package/dist/generators/VSCodeConfigGenerator.js +23 -0
- package/dist/generators/VSCodeConfigGenerator.js.map +1 -1
- package/dist/generators/ZCodeConfigGenerator.d.ts +23 -0
- package/dist/generators/ZCodeConfigGenerator.d.ts.map +1 -1
- package/dist/generators/ZCodeConfigGenerator.js +23 -0
- package/dist/generators/ZCodeConfigGenerator.js.map +1 -1
- package/dist/graph/blastRadius.d.ts.map +1 -1
- package/dist/graph/blastRadius.js +12 -7
- package/dist/graph/blastRadius.js.map +1 -1
- package/dist/graph/callGraph.d.ts +31 -0
- package/dist/graph/callGraph.d.ts.map +1 -1
- package/dist/graph/callGraph.js +62 -32
- package/dist/graph/callGraph.js.map +1 -1
- package/dist/graph/importClassification.d.ts +28 -0
- package/dist/graph/importClassification.d.ts.map +1 -1
- package/dist/graph/importClassification.js +57 -0
- package/dist/graph/importClassification.js.map +1 -1
- package/dist/graph/importGraph.d.ts +38 -0
- package/dist/graph/importGraph.d.ts.map +1 -1
- package/dist/graph/importGraph.js +38 -0
- package/dist/graph/importGraph.js.map +1 -1
- package/dist/graph/outputFormatter.d.ts +12 -4
- package/dist/graph/outputFormatter.d.ts.map +1 -1
- package/dist/graph/outputFormatter.js +12 -62
- package/dist/graph/outputFormatter.js.map +1 -1
- package/dist/graph/resolutionEnvironment.d.ts +61 -0
- package/dist/graph/resolutionEnvironment.d.ts.map +1 -0
- package/dist/graph/resolutionEnvironment.js +57 -0
- package/dist/graph/resolutionEnvironment.js.map +1 -0
- package/dist/hooks/codex.d.ts +8 -1
- package/dist/hooks/codex.d.ts.map +1 -1
- package/dist/hooks/codex.js +7 -0
- package/dist/hooks/codex.js.map +1 -1
- package/dist/hooks/core.d.ts +6 -0
- package/dist/hooks/core.d.ts.map +1 -1
- package/dist/hooks/core.js +6 -1
- package/dist/hooks/core.js.map +1 -1
- package/dist/hooks/cursor.d.ts +11 -1
- package/dist/hooks/cursor.d.ts.map +1 -1
- package/dist/hooks/cursor.js +10 -0
- package/dist/hooks/cursor.js.map +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/installConfig.d.ts +23 -5
- package/dist/installConfig.d.ts.map +1 -1
- package/dist/installConfig.js +23 -5
- package/dist/installConfig.js.map +1 -1
- package/dist/installer.d.ts +6 -0
- package/dist/installer.d.ts.map +1 -1
- package/dist/installer.js +6 -0
- package/dist/installer.js.map +1 -1
- package/dist/invariants/ruleEngine.d.ts +3 -0
- package/dist/invariants/ruleEngine.d.ts.map +1 -1
- package/dist/invariants/ruleEngine.js +156 -119
- package/dist/invariants/ruleEngine.js.map +1 -1
- package/dist/invariants/ruleValidator.d.ts +3 -0
- package/dist/invariants/ruleValidator.d.ts.map +1 -1
- package/dist/invariants/ruleValidator.js +185 -178
- package/dist/invariants/ruleValidator.js.map +1 -1
- package/dist/languages/LanguageOrchestrator.d.ts +4 -1
- package/dist/languages/LanguageOrchestrator.d.ts.map +1 -1
- package/dist/languages/LanguageOrchestrator.js +8 -19
- package/dist/languages/LanguageOrchestrator.js.map +1 -1
- package/dist/languages/RuntimeManager.d.ts +8 -0
- package/dist/languages/RuntimeManager.d.ts.map +1 -1
- package/dist/languages/RuntimeManager.js +55 -5
- package/dist/languages/RuntimeManager.js.map +1 -1
- package/dist/languages/UniversalAnalyzer.js +1 -1
- package/dist/languages/UniversalAnalyzer.js.map +1 -1
- package/dist/languages/adapterBridge.d.ts +4 -0
- package/dist/languages/adapterBridge.d.ts.map +1 -1
- package/dist/languages/adapterBridge.js +37 -3
- package/dist/languages/adapterBridge.js.map +1 -1
- package/dist/languages/go/GoAdapter.d.ts.map +1 -1
- package/dist/languages/go/GoAdapter.js +11 -14
- package/dist/languages/go/GoAdapter.js.map +1 -1
- package/dist/languages/go/analyzer-darwin-amd64 +0 -0
- package/dist/languages/go/analyzer-darwin-arm64 +0 -0
- package/dist/languages/go/analyzer-linux-amd64 +0 -0
- package/dist/languages/go/analyzer-linux-arm64 +0 -0
- package/dist/languages/go/analyzer-src/analyzer.go +2 -0
- package/dist/languages/go/analyzer-src/dataaccess.go +388 -0
- package/dist/languages/go/analyzer-src/types.go +8 -0
- package/dist/languages/go/analyzer-windows-amd64.exe +0 -0
- package/dist/languages/go/database-packages.json +8 -0
- package/dist/languages/go/goResolution.d.ts +229 -0
- package/dist/languages/go/goResolution.d.ts.map +1 -0
- package/dist/languages/go/goResolution.js +799 -0
- package/dist/languages/go/goResolution.js.map +1 -0
- package/dist/languages/go/stdlib-packages.json +353 -0
- package/dist/languages/go/tenantInputs.d.ts +37 -0
- package/dist/languages/go/tenantInputs.d.ts.map +1 -0
- package/dist/languages/go/tenantInputs.js +121 -0
- package/dist/languages/go/tenantInputs.js.map +1 -0
- package/dist/languages/index.d.ts +1 -0
- package/dist/languages/index.d.ts.map +1 -1
- package/dist/languages/index.js +5 -0
- package/dist/languages/index.js.map +1 -1
- package/dist/languages/json/JsonAdapter.d.ts +177 -0
- package/dist/languages/json/JsonAdapter.d.ts.map +1 -0
- package/dist/languages/json/JsonAdapter.js +531 -0
- package/dist/languages/json/JsonAdapter.js.map +1 -0
- package/dist/languages/locationIndex.d.ts +41 -0
- package/dist/languages/locationIndex.d.ts.map +1 -0
- package/dist/languages/locationIndex.js +42 -0
- package/dist/languages/locationIndex.js.map +1 -0
- package/dist/languages/sql/dialectDetection.d.ts +57 -0
- package/dist/languages/sql/dialectDetection.d.ts.map +1 -0
- package/dist/languages/sql/dialectDetection.js +135 -0
- package/dist/languages/sql/dialectDetection.js.map +1 -0
- package/dist/languages/sql/sqlAst.d.ts +494 -0
- package/dist/languages/sql/sqlAst.d.ts.map +1 -0
- package/dist/languages/sql/sqlAst.js +1817 -0
- package/dist/languages/sql/sqlAst.js.map +1 -0
- package/dist/languages/testConventions.d.ts +12 -1
- package/dist/languages/testConventions.d.ts.map +1 -1
- package/dist/languages/testConventions.js +13 -1
- package/dist/languages/testConventions.js.map +1 -1
- package/dist/languages/tree-sitter/TreeSitterCssAdapter.js +1 -1
- package/dist/languages/tree-sitter/TreeSitterCssAdapter.js.map +1 -1
- package/dist/languages/tree-sitter/converter.js +2 -2
- package/dist/languages/tree-sitter/converter.js.map +1 -1
- package/dist/languages/tree-sitter/parser.d.ts +3 -4
- package/dist/languages/tree-sitter/parser.d.ts.map +1 -1
- package/dist/languages/tree-sitter/parser.js +10 -4
- package/dist/languages/tree-sitter/parser.js.map +1 -1
- package/dist/languages/tree-sitter/rawNode.d.ts +3 -0
- package/dist/languages/tree-sitter/rawNode.d.ts.map +1 -1
- package/dist/languages/tree-sitter/rawNode.js +3 -0
- package/dist/languages/tree-sitter/rawNode.js.map +1 -1
- package/dist/languages/types.d.ts +7 -0
- package/dist/languages/types.d.ts.map +1 -1
- package/dist/languages/typescript/TreeSitterTypeScriptAdapter.d.ts +36 -0
- package/dist/languages/typescript/TreeSitterTypeScriptAdapter.d.ts.map +1 -1
- package/dist/languages/typescript/TreeSitterTypeScriptAdapter.js +168 -45
- package/dist/languages/typescript/TreeSitterTypeScriptAdapter.js.map +1 -1
- package/dist/languages/typescript/database-packages.json +19 -0
- package/dist/ledger.d.ts +118 -2
- package/dist/ledger.d.ts.map +1 -1
- package/dist/ledger.js +167 -45
- package/dist/ledger.js.map +1 -1
- package/dist/legacyIndexNotice.d.ts +32 -0
- package/dist/legacyIndexNotice.d.ts.map +1 -0
- package/dist/legacyIndexNotice.js +89 -0
- package/dist/legacyIndexNotice.js.map +1 -0
- package/dist/mcp-tools/discoveryQueries.d.ts +55 -0
- package/dist/mcp-tools/discoveryQueries.d.ts.map +1 -0
- package/dist/mcp-tools/discoveryQueries.js +157 -0
- package/dist/mcp-tools/discoveryQueries.js.map +1 -0
- package/dist/mcp-tools/projectTasks.d.ts +9 -123
- package/dist/mcp-tools/projectTasks.d.ts.map +1 -1
- package/dist/mcp-tools/projectTasks.js +180 -170
- package/dist/mcp-tools/projectTasks.js.map +1 -1
- package/dist/mcp-tools/whitelistTools.d.ts +20 -0
- package/dist/mcp-tools/whitelistTools.d.ts.map +1 -1
- package/dist/mcp-tools/whitelistTools.js +20 -0
- package/dist/mcp-tools/whitelistTools.js.map +1 -1
- package/dist/mcp-tools/workflowGuide.d.ts +9 -0
- package/dist/mcp-tools/workflowGuide.d.ts.map +1 -1
- package/dist/mcp-tools/workflowGuide.js +13 -5
- package/dist/mcp-tools/workflowGuide.js.map +1 -1
- package/dist/mcp-tools-shared.d.ts +78 -0
- package/dist/mcp-tools-shared.d.ts.map +1 -1
- package/dist/mcp-tools-shared.js +203 -340
- package/dist/mcp-tools-shared.js.map +1 -1
- package/dist/mcp-ui-simple.d.ts +2 -0
- package/dist/mcp-ui-simple.d.ts.map +1 -1
- package/dist/mcp-ui-simple.js +12 -5
- package/dist/mcp-ui-simple.js.map +1 -1
- package/dist/mcp.d.ts +6 -0
- package/dist/mcp.d.ts.map +1 -1
- package/dist/mcp.js +827 -850
- package/dist/mcp.js.map +1 -1
- package/dist/mcpAuditJobs.d.ts +29 -33
- package/dist/mcpAuditJobs.d.ts.map +1 -1
- package/dist/mcpAuditJobs.js +102 -791
- package/dist/mcpAuditJobs.js.map +1 -1
- package/dist/mcpAutoIndex.d.ts +5 -0
- package/dist/mcpAutoIndex.d.ts.map +1 -1
- package/dist/mcpAutoIndex.js +7 -2
- package/dist/mcpAutoIndex.js.map +1 -1
- package/dist/mcpDiagnostics.d.ts +7 -0
- package/dist/mcpDiagnostics.d.ts.map +1 -1
- package/dist/mcpDiagnostics.js +34 -9
- package/dist/mcpDiagnostics.js.map +1 -1
- package/dist/mcpToolErrors.d.ts +16 -0
- package/dist/mcpToolErrors.d.ts.map +1 -1
- package/dist/mcpToolErrors.js +16 -0
- package/dist/mcpToolErrors.js.map +1 -1
- package/dist/nextFile.d.ts +6 -0
- package/dist/nextFile.d.ts.map +1 -1
- package/dist/nextFile.js +6 -0
- package/dist/nextFile.js.map +1 -1
- package/dist/nextFileIncremental.d.ts +44 -4
- package/dist/nextFileIncremental.d.ts.map +1 -1
- package/dist/nextFileIncremental.js +47 -7
- package/dist/nextFileIncremental.js.map +1 -1
- package/dist/phase/batchFunctions.d.ts +38 -0
- package/dist/phase/batchFunctions.d.ts.map +1 -0
- package/dist/phase/batchFunctions.js +64 -0
- package/dist/phase/batchFunctions.js.map +1 -0
- package/dist/phase/checks.d.ts +39 -0
- package/dist/phase/checks.d.ts.map +1 -0
- package/dist/phase/checks.js +48 -0
- package/dist/phase/checks.js.map +1 -0
- package/dist/phase/codeBlocks.d.ts +25 -0
- package/dist/phase/codeBlocks.d.ts.map +1 -0
- package/dist/phase/codeBlocks.js +268 -0
- package/dist/phase/codeBlocks.js.map +1 -0
- package/dist/phase/colorMath.d.ts +41 -0
- package/dist/phase/colorMath.d.ts.map +1 -0
- package/dist/phase/colorMath.js +109 -0
- package/dist/phase/colorMath.js.map +1 -0
- package/dist/phase/config.d.ts +29 -0
- package/dist/phase/config.d.ts.map +1 -0
- package/dist/phase/config.js +54 -0
- package/dist/phase/config.js.map +1 -0
- package/dist/phase/consumed.d.ts +47 -0
- package/dist/phase/consumed.d.ts.map +1 -0
- package/dist/phase/consumed.js +22 -0
- package/dist/phase/consumed.js.map +1 -0
- package/dist/phase/conventionMining.d.ts +59 -0
- package/dist/phase/conventionMining.d.ts.map +1 -0
- package/dist/phase/conventionMining.js +152 -0
- package/dist/phase/conventionMining.js.map +1 -0
- package/dist/phase/coverage.d.ts +65 -0
- package/dist/phase/coverage.d.ts.map +1 -0
- package/dist/phase/coverage.js +121 -0
- package/dist/phase/coverage.js.map +1 -0
- package/dist/phase/dag.d.ts +49 -0
- package/dist/phase/dag.d.ts.map +1 -0
- package/dist/phase/dag.js +120 -0
- package/dist/phase/dag.js.map +1 -0
- package/dist/phase/dataAccessCalls.d.ts +33 -0
- package/dist/phase/dataAccessCalls.d.ts.map +1 -0
- package/dist/phase/dataAccessCalls.js +42 -0
- package/dist/phase/dataAccessCalls.js.map +1 -0
- package/dist/phase/dataAccessCallsCandidates.d.ts +25 -0
- package/dist/phase/dataAccessCallsCandidates.d.ts.map +1 -0
- package/dist/phase/dataAccessCallsCandidates.js +27 -0
- package/dist/phase/dataAccessCallsCandidates.js.map +1 -0
- package/dist/phase/dynamicSql.d.ts +18 -0
- package/dist/phase/dynamicSql.d.ts.map +1 -0
- package/dist/phase/dynamicSql.js +20 -0
- package/dist/phase/dynamicSql.js.map +1 -0
- package/dist/phase/exportForm.d.ts +23 -0
- package/dist/phase/exportForm.d.ts.map +1 -0
- package/dist/phase/exportForm.js +29 -0
- package/dist/phase/exportForm.js.map +1 -0
- package/dist/phase/exportSymbols.d.ts +21 -0
- package/dist/phase/exportSymbols.d.ts.map +1 -0
- package/dist/phase/exportSymbols.js +28 -0
- package/dist/phase/exportSymbols.js.map +1 -0
- package/dist/phase/fileHeader.d.ts +15 -0
- package/dist/phase/fileHeader.d.ts.map +1 -0
- package/dist/phase/fileHeader.js +33 -0
- package/dist/phase/fileHeader.js.map +1 -0
- package/dist/phase/fileImports.d.ts +39 -0
- package/dist/phase/fileImports.d.ts.map +1 -0
- package/dist/phase/fileImports.js +138 -0
- package/dist/phase/fileImports.js.map +1 -0
- package/dist/phase/fileSymbols.d.ts +25 -0
- package/dist/phase/fileSymbols.d.ts.map +1 -0
- package/dist/phase/fileSymbols.js +302 -0
- package/dist/phase/fileSymbols.js.map +1 -0
- package/dist/phase/functionBodies.d.ts +28 -0
- package/dist/phase/functionBodies.d.ts.map +1 -0
- package/dist/phase/functionBodies.js +67 -0
- package/dist/phase/functionBodies.js.map +1 -0
- package/dist/phase/functionIndex.d.ts +28 -0
- package/dist/phase/functionIndex.d.ts.map +1 -0
- package/dist/phase/functionIndex.js +152 -0
- package/dist/phase/functionIndex.js.map +1 -0
- package/dist/phase/goFunctionAnalysis.d.ts +47 -0
- package/dist/phase/goFunctionAnalysis.d.ts.map +1 -0
- package/dist/phase/goFunctionAnalysis.js +291 -0
- package/dist/phase/goFunctionAnalysis.js.map +1 -0
- package/dist/phase/goFunctions.d.ts +38 -0
- package/dist/phase/goFunctions.d.ts.map +1 -0
- package/dist/phase/goFunctions.js +154 -0
- package/dist/phase/goFunctions.js.map +1 -0
- package/dist/phase/goImports.d.ts +29 -0
- package/dist/phase/goImports.d.ts.map +1 -0
- package/dist/phase/goImports.js +68 -0
- package/dist/phase/goImports.js.map +1 -0
- package/dist/phase/goPackageBindings.d.ts +22 -0
- package/dist/phase/goPackageBindings.d.ts.map +1 -0
- package/dist/phase/goPackageBindings.js +30 -0
- package/dist/phase/goPackageBindings.js.map +1 -0
- package/dist/phase/goSwitches.d.ts +28 -0
- package/dist/phase/goSwitches.d.ts.map +1 -0
- package/dist/phase/goSwitches.js +52 -0
- package/dist/phase/goSwitches.js.map +1 -0
- package/dist/phase/importForm.d.ts +20 -0
- package/dist/phase/importForm.d.ts.map +1 -0
- package/dist/phase/importForm.js +27 -0
- package/dist/phase/importForm.js.map +1 -0
- package/dist/phase/importSpecifiers.d.ts +20 -0
- package/dist/phase/importSpecifiers.d.ts.map +1 -0
- package/dist/phase/importSpecifiers.js +30 -0
- package/dist/phase/importSpecifiers.js.map +1 -0
- package/dist/phase/imports.d.ts +18 -0
- package/dist/phase/imports.d.ts.map +1 -0
- package/dist/phase/imports.js +25 -0
- package/dist/phase/imports.js.map +1 -0
- package/dist/phase/jsonDocument.d.ts +26 -0
- package/dist/phase/jsonDocument.d.ts.map +1 -0
- package/dist/phase/jsonDocument.js +36 -0
- package/dist/phase/jsonDocument.js.map +1 -0
- package/dist/phase/localBinding.d.ts +33 -0
- package/dist/phase/localBinding.d.ts.map +1 -0
- package/dist/phase/localBinding.js +208 -0
- package/dist/phase/localBinding.js.map +1 -0
- package/dist/phase/loopQueries.d.ts +31 -0
- package/dist/phase/loopQueries.d.ts.map +1 -0
- package/dist/phase/loopQueries.js +44 -0
- package/dist/phase/loopQueries.js.map +1 -0
- package/dist/phase/loopQueryCandidates.d.ts +26 -0
- package/dist/phase/loopQueryCandidates.d.ts.map +1 -0
- package/dist/phase/loopQueryCandidates.js +28 -0
- package/dist/phase/loopQueryCandidates.js.map +1 -0
- package/dist/phase/oracles.d.ts +216 -0
- package/dist/phase/oracles.d.ts.map +1 -0
- package/dist/phase/oracles.js +484 -0
- package/dist/phase/oracles.js.map +1 -0
- package/dist/phase/phaseModel.d.ts +190 -0
- package/dist/phase/phaseModel.d.ts.map +1 -0
- package/dist/phase/phaseModel.js +491 -0
- package/dist/phase/phaseModel.js.map +1 -0
- package/dist/phase/producers.d.ts +450 -0
- package/dist/phase/producers.d.ts.map +1 -0
- package/dist/phase/producers.js +1030 -0
- package/dist/phase/producers.js.map +1 -0
- package/dist/phase/querySiteCandidates.d.ts +27 -0
- package/dist/phase/querySiteCandidates.d.ts.map +1 -0
- package/dist/phase/querySiteCandidates.js +66 -0
- package/dist/phase/querySiteCandidates.js.map +1 -0
- package/dist/phase/querySites.d.ts +30 -0
- package/dist/phase/querySites.d.ts.map +1 -0
- package/dist/phase/querySites.js +93 -0
- package/dist/phase/querySites.js.map +1 -0
- package/dist/phase/reachability.d.ts +61 -0
- package/dist/phase/reachability.d.ts.map +1 -0
- package/dist/phase/reachability.js +104 -0
- package/dist/phase/reachability.js.map +1 -0
- package/dist/phase/reactComponents.d.ts +33 -0
- package/dist/phase/reactComponents.d.ts.map +1 -0
- package/dist/phase/reactComponents.js +47 -0
- package/dist/phase/reactComponents.js.map +1 -0
- package/dist/phase/receiverActivity.d.ts +35 -0
- package/dist/phase/receiverActivity.d.ts.map +1 -0
- package/dist/phase/receiverActivity.js +66 -0
- package/dist/phase/receiverActivity.js.map +1 -0
- package/dist/phase/receiverConsumers.d.ts +207 -0
- package/dist/phase/receiverConsumers.d.ts.map +1 -0
- package/dist/phase/receiverConsumers.js +1063 -0
- package/dist/phase/receiverConsumers.js.map +1 -0
- package/dist/phase/receiverProvenance.d.ts +120 -0
- package/dist/phase/receiverProvenance.d.ts.map +1 -0
- package/dist/phase/receiverProvenance.js +377 -0
- package/dist/phase/receiverProvenance.js.map +1 -0
- package/dist/phase/routing.d.ts +47 -0
- package/dist/phase/routing.d.ts.map +1 -0
- package/dist/phase/routing.js +62 -0
- package/dist/phase/routing.js.map +1 -0
- package/dist/phase/rules/conventions.d.ts +61 -0
- package/dist/phase/rules/conventions.d.ts.map +1 -0
- package/dist/phase/rules/conventions.js +403 -0
- package/dist/phase/rules/conventions.js.map +1 -0
- package/dist/phase/rules/crossDomain.d.ts +102 -0
- package/dist/phase/rules/crossDomain.d.ts.map +1 -0
- package/dist/phase/rules/crossDomain.js +918 -0
- package/dist/phase/rules/crossDomain.js.map +1 -0
- package/dist/phase/rules/dataAccess.d.ts +62 -0
- package/dist/phase/rules/dataAccess.d.ts.map +1 -0
- package/dist/phase/rules/dataAccess.js +480 -0
- package/dist/phase/rules/dataAccess.js.map +1 -0
- package/dist/phase/rules/dependencyGraph.d.ts +44 -0
- package/dist/phase/rules/dependencyGraph.d.ts.map +1 -0
- package/dist/phase/rules/dependencyGraph.js +260 -0
- package/dist/phase/rules/dependencyGraph.js.map +1 -0
- package/dist/phase/rules/documentation.d.ts +45 -0
- package/dist/phase/rules/documentation.d.ts.map +1 -0
- package/dist/phase/rules/documentation.js +340 -0
- package/dist/phase/rules/documentation.js.map +1 -0
- package/dist/phase/rules/dry.d.ts +109 -0
- package/dist/phase/rules/dry.d.ts.map +1 -0
- package/dist/phase/rules/dry.js +803 -0
- package/dist/phase/rules/dry.js.map +1 -0
- package/dist/phase/rules/fileDocumentation.d.ts +36 -0
- package/dist/phase/rules/fileDocumentation.d.ts.map +1 -0
- package/dist/phase/rules/fileDocumentation.js +134 -0
- package/dist/phase/rules/fileDocumentation.js.map +1 -0
- package/dist/phase/rules/functionBodies.d.ts +33 -0
- package/dist/phase/rules/functionBodies.d.ts.map +1 -0
- package/dist/phase/rules/functionBodies.js +71 -0
- package/dist/phase/rules/functionBodies.js.map +1 -0
- package/dist/phase/rules/goRules.d.ts +49 -0
- package/dist/phase/rules/goRules.d.ts.map +1 -0
- package/dist/phase/rules/goRules.js +209 -0
- package/dist/phase/rules/goRules.js.map +1 -0
- package/dist/phase/rules/querySites.d.ts +29 -0
- package/dist/phase/rules/querySites.d.ts.map +1 -0
- package/dist/phase/rules/querySites.js +94 -0
- package/dist/phase/rules/querySites.js.map +1 -0
- package/dist/phase/rules/react.d.ts +38 -0
- package/dist/phase/rules/react.d.ts.map +1 -0
- package/dist/phase/rules/react.js +202 -0
- package/dist/phase/rules/react.js.map +1 -0
- package/dist/phase/rules/registry.d.ts +170 -0
- package/dist/phase/rules/registry.d.ts.map +1 -0
- package/dist/phase/rules/registry.js +103 -0
- package/dist/phase/rules/registry.js.map +1 -0
- package/dist/phase/rules/schema.d.ts +79 -0
- package/dist/phase/rules/schema.d.ts.map +1 -0
- package/dist/phase/rules/schema.js +273 -0
- package/dist/phase/rules/schema.js.map +1 -0
- package/dist/phase/rules/schemaJson.d.ts +32 -0
- package/dist/phase/rules/schemaJson.d.ts.map +1 -0
- package/dist/phase/rules/schemaJson.js +81 -0
- package/dist/phase/rules/schemaJson.js.map +1 -0
- package/dist/phase/rules/schemaValidator.d.ts +38 -0
- package/dist/phase/rules/schemaValidator.d.ts.map +1 -0
- package/dist/phase/rules/schemaValidator.js +107 -0
- package/dist/phase/rules/schemaValidator.js.map +1 -0
- package/dist/phase/rules/secrets.d.ts +34 -0
- package/dist/phase/rules/secrets.d.ts.map +1 -0
- package/dist/phase/rules/secrets.js +208 -0
- package/dist/phase/rules/secrets.js.map +1 -0
- package/dist/phase/rules/security.d.ts +30 -0
- package/dist/phase/rules/security.d.ts.map +1 -0
- package/dist/phase/rules/security.js +85 -0
- package/dist/phase/rules/security.js.map +1 -0
- package/dist/phase/rules/securityDefects.d.ts +37 -0
- package/dist/phase/rules/securityDefects.d.ts.map +1 -0
- package/dist/phase/rules/securityDefects.js +167 -0
- package/dist/phase/rules/securityDefects.js.map +1 -0
- package/dist/phase/rules/solid.d.ts +61 -0
- package/dist/phase/rules/solid.d.ts.map +1 -0
- package/dist/phase/rules/solid.js +562 -0
- package/dist/phase/rules/solid.js.map +1 -0
- package/dist/phase/rules/styles.d.ts +77 -0
- package/dist/phase/rules/styles.d.ts.map +1 -0
- package/dist/phase/rules/styles.js +868 -0
- package/dist/phase/rules/styles.js.map +1 -0
- package/dist/phase/rules/unreferencedModule.d.ts +26 -0
- package/dist/phase/rules/unreferencedModule.d.ts.map +1 -0
- package/dist/phase/rules/unreferencedModule.js +61 -0
- package/dist/phase/rules/unreferencedModule.js.map +1 -0
- package/dist/phase/runner.d.ts +549 -0
- package/dist/phase/runner.d.ts.map +1 -0
- package/dist/phase/runner.js +1098 -0
- package/dist/phase/runner.js.map +1 -0
- package/dist/phase/schemaCode.d.ts +34 -0
- package/dist/phase/schemaCode.d.ts.map +1 -0
- package/dist/phase/schemaCode.js +53 -0
- package/dist/phase/schemaCode.js.map +1 -0
- package/dist/phase/schemaObjects.d.ts +37 -0
- package/dist/phase/schemaObjects.d.ts.map +1 -0
- package/dist/phase/schemaObjects.js +139 -0
- package/dist/phase/schemaObjects.js.map +1 -0
- package/dist/phase/schemaUsage.d.ts +30 -0
- package/dist/phase/schemaUsage.d.ts.map +1 -0
- package/dist/phase/schemaUsage.js +99 -0
- package/dist/phase/schemaUsage.js.map +1 -0
- package/dist/phase/schemaUsageCandidates.d.ts +32 -0
- package/dist/phase/schemaUsageCandidates.d.ts.map +1 -0
- package/dist/phase/schemaUsageCandidates.js +165 -0
- package/dist/phase/schemaUsageCandidates.js.map +1 -0
- package/dist/phase/schemaValidations.d.ts +34 -0
- package/dist/phase/schemaValidations.d.ts.map +1 -0
- package/dist/phase/schemaValidations.js +53 -0
- package/dist/phase/schemaValidations.js.map +1 -0
- package/dist/phase/secretCandidates.d.ts +28 -0
- package/dist/phase/secretCandidates.d.ts.map +1 -0
- package/dist/phase/secretCandidates.js +132 -0
- package/dist/phase/secretCandidates.js.map +1 -0
- package/dist/phase/securityCandidates.d.ts +29 -0
- package/dist/phase/securityCandidates.d.ts.map +1 -0
- package/dist/phase/securityCandidates.js +469 -0
- package/dist/phase/securityCandidates.js.map +1 -0
- package/dist/phase/seeded-defects.d.ts +18 -0
- package/dist/phase/seeded-defects.d.ts.map +1 -0
- package/dist/phase/seeded-defects.js +61 -0
- package/dist/phase/seeded-defects.js.map +1 -0
- package/dist/phase/stringLiterals.d.ts +24 -0
- package/dist/phase/stringLiterals.d.ts.map +1 -0
- package/dist/phase/stringLiterals.js +35 -0
- package/dist/phase/stringLiterals.js.map +1 -0
- package/dist/phase/stylesCss.d.ts +25 -0
- package/dist/phase/stylesCss.d.ts.map +1 -0
- package/dist/phase/stylesCss.js +34 -0
- package/dist/phase/stylesCss.js.map +1 -0
- package/dist/phase/stylesMarkup.d.ts +31 -0
- package/dist/phase/stylesMarkup.d.ts.map +1 -0
- package/dist/phase/stylesMarkup.js +48 -0
- package/dist/phase/stylesMarkup.js.map +1 -0
- package/dist/phase/stylesSource.d.ts +36 -0
- package/dist/phase/stylesSource.d.ts.map +1 -0
- package/dist/phase/stylesSource.js +50 -0
- package/dist/phase/stylesSource.js.map +1 -0
- package/dist/phase/typeDeclarations.d.ts +33 -0
- package/dist/phase/typeDeclarations.d.ts.map +1 -0
- package/dist/phase/typeDeclarations.js +76 -0
- package/dist/phase/typeDeclarations.js.map +1 -0
- package/dist/phase/types.d.ts +2199 -0
- package/dist/phase/types.d.ts.map +1 -0
- package/dist/phase/types.js +27 -0
- package/dist/phase/types.js.map +1 -0
- package/dist/phase/withinFileProvenance.d.ts +50 -0
- package/dist/phase/withinFileProvenance.d.ts.map +1 -0
- package/dist/phase/withinFileProvenance.js +112 -0
- package/dist/phase/withinFileProvenance.js.map +1 -0
- package/dist/pipeline.d.ts +37 -30
- package/dist/pipeline.d.ts.map +1 -1
- package/dist/pipeline.js +131 -326
- package/dist/pipeline.js.map +1 -1
- package/dist/pipelineAdapters.d.ts +104 -21
- package/dist/pipelineAdapters.d.ts.map +1 -1
- package/dist/pipelineAdapters.js +1144 -984
- package/dist/pipelineAdapters.js.map +1 -1
- package/dist/pipelineTypes.d.ts +21 -0
- package/dist/pipelineTypes.d.ts.map +1 -1
- package/dist/pipelineTypes.js +21 -10
- package/dist/pipelineTypes.js.map +1 -1
- package/dist/presets/presets.d.ts +9 -2
- package/dist/presets/presets.d.ts.map +1 -1
- package/dist/presets/presets.js +15 -26
- package/dist/presets/presets.js.map +1 -1
- package/dist/reporting/csvReportGenerator.d.ts +14 -3
- package/dist/reporting/csvReportGenerator.d.ts.map +1 -1
- package/dist/reporting/csvReportGenerator.js +14 -3
- package/dist/reporting/csvReportGenerator.js.map +1 -1
- package/dist/reporting/htmlReportGenerator.d.ts +5 -1
- package/dist/reporting/htmlReportGenerator.d.ts.map +1 -1
- package/dist/reporting/htmlReportGenerator.js +5 -1
- package/dist/reporting/htmlReportGenerator.js.map +1 -1
- package/dist/reporting/jsonReportGenerator.d.ts +9 -2
- package/dist/reporting/jsonReportGenerator.d.ts.map +1 -1
- package/dist/reporting/jsonReportGenerator.js +19 -5
- package/dist/reporting/jsonReportGenerator.js.map +1 -1
- package/dist/reporting/reportGenerator.d.ts +9 -2
- package/dist/reporting/reportGenerator.d.ts.map +1 -1
- package/dist/reporting/reportGenerator.js +9 -2
- package/dist/reporting/reportGenerator.js.map +1 -1
- package/dist/reporting/sarifReportGenerator.d.ts +14 -0
- package/dist/reporting/sarifReportGenerator.d.ts.map +1 -1
- package/dist/reporting/sarifReportGenerator.js +14 -0
- package/dist/reporting/sarifReportGenerator.js.map +1 -1
- package/dist/reporting/sizeDistribution.d.ts +19 -2
- package/dist/reporting/sizeDistribution.d.ts.map +1 -1
- package/dist/reporting/sizeDistribution.js +23 -5
- package/dist/reporting/sizeDistribution.js.map +1 -1
- package/dist/ruleAliases.d.ts +6 -8
- package/dist/ruleAliases.d.ts.map +1 -1
- package/dist/ruleAliases.js +29 -4
- package/dist/ruleAliases.js.map +1 -1
- package/dist/search/QueryParser.d.ts +1 -0
- package/dist/search/QueryParser.d.ts.map +1 -1
- package/dist/search/QueryParser.js +32 -91
- package/dist/search/QueryParser.js.map +1 -1
- package/dist/services/CodeMapGenerator.d.ts +19 -20
- package/dist/services/CodeMapGenerator.d.ts.map +1 -1
- package/dist/services/CodeMapGenerator.js +214 -194
- package/dist/services/CodeMapGenerator.js.map +1 -1
- package/dist/services/ProjectTaskRepository.d.ts +65 -3
- package/dist/services/ProjectTaskRepository.d.ts.map +1 -1
- package/dist/services/ProjectTaskRepository.js +94 -25
- package/dist/services/ProjectTaskRepository.js.map +1 -1
- package/dist/services/auditJobService.d.ts +17 -1
- package/dist/services/auditJobService.d.ts.map +1 -1
- package/dist/services/auditJobService.js +16 -0
- package/dist/services/auditJobService.js.map +1 -1
- package/dist/services/fileAccounting.d.ts +43 -5
- package/dist/services/fileAccounting.d.ts.map +1 -1
- package/dist/services/fileAccounting.js +48 -9
- package/dist/services/fileAccounting.js.map +1 -1
- package/dist/services/projectTaskHelpers.d.ts +45 -0
- package/dist/services/projectTaskHelpers.d.ts.map +1 -1
- package/dist/services/projectTaskHelpers.js +45 -0
- package/dist/services/projectTaskHelpers.js.map +1 -1
- package/dist/services/whitelistService.d.ts +40 -5
- package/dist/services/whitelistService.d.ts.map +1 -1
- package/dist/services/whitelistService.js +87 -46
- package/dist/services/whitelistService.js.map +1 -1
- package/dist/sqlite/betterSqlite3.d.ts +35 -1
- package/dist/sqlite/betterSqlite3.d.ts.map +1 -1
- package/dist/sqlite/betterSqlite3.js +35 -1
- package/dist/sqlite/betterSqlite3.js.map +1 -1
- package/dist/sqlite/driver.d.ts +23 -0
- package/dist/sqlite/driver.d.ts.map +1 -1
- package/dist/sqlite/driver.js +23 -0
- package/dist/sqlite/driver.js.map +1 -1
- package/dist/sqlite/nodeSqlite.d.ts +35 -1
- package/dist/sqlite/nodeSqlite.d.ts.map +1 -1
- package/dist/sqlite/nodeSqlite.js +35 -1
- package/dist/sqlite/nodeSqlite.js.map +1 -1
- package/dist/structuralSignature.d.ts +9 -0
- package/dist/structuralSignature.d.ts.map +1 -1
- package/dist/structuralSignature.js +9 -0
- package/dist/structuralSignature.js.map +1 -1
- package/dist/styles/cssAstExtractor.d.ts +15 -0
- package/dist/styles/cssAstExtractor.d.ts.map +1 -1
- package/dist/styles/cssAstExtractor.js +15 -0
- package/dist/styles/cssAstExtractor.js.map +1 -1
- package/dist/styles/normalizer.d.ts +6 -0
- package/dist/styles/normalizer.d.ts.map +1 -1
- package/dist/styles/normalizer.js +6 -0
- package/dist/styles/normalizer.js.map +1 -1
- package/dist/styles/styleExtractor.d.ts +29 -2
- package/dist/styles/styleExtractor.d.ts.map +1 -1
- package/dist/styles/styleExtractor.js +67 -48
- package/dist/styles/styleExtractor.js.map +1 -1
- package/dist/styles/styleIndexer.d.ts +8 -0
- package/dist/styles/styleIndexer.d.ts.map +1 -1
- package/dist/styles/styleIndexer.js +135 -138
- package/dist/styles/styleIndexer.js.map +1 -1
- package/dist/styles/tailwindConfigLoader.d.ts +12 -0
- package/dist/styles/tailwindConfigLoader.d.ts.map +1 -1
- package/dist/styles/tailwindConfigLoader.js +12 -0
- package/dist/styles/tailwindConfigLoader.js.map +1 -1
- package/dist/styles/tailwindExpander.d.ts +3 -0
- package/dist/styles/tailwindExpander.d.ts.map +1 -1
- package/dist/styles/tailwindExpander.js +8 -4
- package/dist/styles/tailwindExpander.js.map +1 -1
- package/dist/styles/tailwindProbe.d.ts +9 -0
- package/dist/styles/tailwindProbe.d.ts.map +1 -1
- package/dist/styles/tailwindProbe.js +181 -166
- package/dist/styles/tailwindProbe.js.map +1 -1
- package/dist/styles/tailwindUtilityExpander.d.ts +13 -0
- package/dist/styles/tailwindUtilityExpander.d.ts.map +1 -1
- package/dist/styles/tailwindUtilityExpander.js +13 -0
- package/dist/styles/tailwindUtilityExpander.js.map +1 -1
- package/dist/symbols.d.ts +13 -11
- package/dist/symbols.d.ts.map +1 -1
- package/dist/symbols.js +14 -21
- package/dist/symbols.js.map +1 -1
- package/dist/telemetry.d.ts +31 -3
- package/dist/telemetry.d.ts.map +1 -1
- package/dist/telemetry.js +31 -3
- package/dist/telemetry.js.map +1 -1
- package/dist/tool-registry.d.ts +37 -1
- package/dist/tool-registry.d.ts.map +1 -1
- package/dist/tool-registry.js +37 -1
- package/dist/tool-registry.js.map +1 -1
- package/dist/types.d.ts +114 -71
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +7 -16
- package/dist/types.js.map +1 -1
- package/dist/ui/InteractivePrompts.d.ts +12 -0
- package/dist/ui/InteractivePrompts.d.ts.map +1 -1
- package/dist/ui/InteractivePrompts.js +12 -0
- package/dist/ui/InteractivePrompts.js.map +1 -1
- package/dist/utils/astParser.d.ts +15 -0
- package/dist/utils/astParser.d.ts.map +1 -1
- package/dist/utils/astParser.js +15 -0
- package/dist/utils/astParser.js.map +1 -1
- package/dist/utils/astUtils.d.ts +60 -0
- package/dist/utils/astUtils.d.ts.map +1 -1
- package/dist/utils/astUtils.js +350 -362
- package/dist/utils/astUtils.js.map +1 -1
- package/dist/utils/contentHash.d.ts +22 -0
- package/dist/utils/contentHash.d.ts.map +1 -0
- package/dist/utils/contentHash.js +26 -0
- package/dist/utils/contentHash.js.map +1 -0
- package/dist/utils/dependencyExtractor.d.ts +28 -0
- package/dist/utils/dependencyExtractor.d.ts.map +1 -1
- package/dist/utils/dependencyExtractor.js +28 -1
- package/dist/utils/dependencyExtractor.js.map +1 -1
- package/dist/utils/errorMessage.d.ts +10 -0
- package/dist/utils/errorMessage.d.ts.map +1 -0
- package/dist/utils/errorMessage.js +12 -0
- package/dist/utils/errorMessage.js.map +1 -0
- package/dist/utils/fileDiscovery.d.ts +61 -2
- package/dist/utils/fileDiscovery.d.ts.map +1 -1
- package/dist/utils/fileDiscovery.js +131 -23
- package/dist/utils/fileDiscovery.js.map +1 -1
- package/dist/utils/reactDetection.d.ts +34 -5
- package/dist/utils/reactDetection.d.ts.map +1 -1
- package/dist/utils/reactDetection.js +73 -52
- package/dist/utils/reactDetection.js.map +1 -1
- package/dist/version.generated.d.ts +1 -1
- package/dist/version.generated.js +1 -1
- package/dist/workers/auditWorker.js +7 -3
- package/dist/workers/auditWorker.js.map +1 -1
- package/examples/.auditrc.example.json +0 -8
- package/examples/.auditrc.json +0 -11
- package/examples/.code-auditor.json +0 -2
- package/examples/nextjs.auditrc.json +0 -8
- package/examples/node-api.auditrc.json +0 -7
- package/examples/react.auditrc.json +0 -6
- package/examples/tolerant-solid.auditrc.json +0 -5
- package/package.json +18 -9
- package/plugin/.claude-plugin/manifest.json +16 -0
- package/plugin/.claude-plugin/plugin.json +1 -1
- package/plugin/hooks/hooks.json +7 -3
- package/plugin/scripts/hook-audit.sh +46 -16
- package/plugin/scripts/hook-common.sh +81 -12
- package/plugin/scripts/hook-drift-check.sh +76 -0
- package/plugin/scripts/hook-self-audit.sh +22 -14
- package/plugin/scripts/hook-warm.sh +5 -6
- package/plugin/skills/code-auditor/SKILL.md +1 -1
- package/server.json +10 -4
package/dist/mcp-tools-shared.js
CHANGED
|
@@ -5,15 +5,15 @@
|
|
|
5
5
|
* between stdio and HTTP/UI MCP server implementations.
|
|
6
6
|
*/
|
|
7
7
|
import { createAuditRunner } from './auditRunner.js';
|
|
8
|
-
import { runAuditDispatch } from './auditRouter.js';
|
|
9
8
|
import { searchFunctions, findDefinition, syncFileIndex } from './codeIndexService.js';
|
|
10
9
|
import { CodeMapGenerator } from './services/CodeMapGenerator.js';
|
|
11
10
|
import { analyzeDocumentation } from './analyzers/documentationAnalyzer.js';
|
|
12
11
|
import { CodeIndexDB } from './codeIndexDB.js';
|
|
12
|
+
import { errorMessage } from './utils/errorMessage.js';
|
|
13
|
+
import { buildDiscoveryQueries, normalizeDialect } from './mcp-tools/discoveryQueries.js';
|
|
13
14
|
import path from 'node:path';
|
|
14
15
|
import chalk from 'chalk';
|
|
15
16
|
import { assertAuditPathExists } from './mcpToolErrors.js';
|
|
16
|
-
import { MCP_DEFAULT_ANALYZERS } from './analyzers/ruleRegistry.js';
|
|
17
17
|
export const tools = [
|
|
18
18
|
// Core Audit Tools
|
|
19
19
|
{
|
|
@@ -27,13 +27,6 @@ export const tools = [
|
|
|
27
27
|
description: 'The file or directory path to audit (defaults to current directory)',
|
|
28
28
|
default: process.cwd(),
|
|
29
29
|
},
|
|
30
|
-
{
|
|
31
|
-
name: 'analyzers',
|
|
32
|
-
type: 'array',
|
|
33
|
-
required: false,
|
|
34
|
-
description: 'List of analyzers to run (solid, dry, documentation, react, data-access)',
|
|
35
|
-
default: ['solid', 'dry', 'documentation', 'react', 'data-access'],
|
|
36
|
-
},
|
|
37
30
|
{
|
|
38
31
|
name: 'minSeverity',
|
|
39
32
|
type: 'string',
|
|
@@ -119,7 +112,7 @@ export const tools = [
|
|
|
119
112
|
name: 'filters',
|
|
120
113
|
type: 'object',
|
|
121
114
|
required: false,
|
|
122
|
-
description: 'Optional filters (language, filePath, dependencies, componentType, entityType, searchMode). Set searchMode to "content" to search within function bodies, "metadata" for names/
|
|
115
|
+
description: 'Optional filters (language, filePath, dependencies, componentType, entityType, searchMode). Set searchMode to "content" to search within function bodies, "metadata" for names/jsDoc/purpose only, or "both" for combined search',
|
|
123
116
|
},
|
|
124
117
|
{
|
|
125
118
|
name: 'limit',
|
|
@@ -208,67 +201,10 @@ export const tools = [
|
|
|
208
201
|
},
|
|
209
202
|
],
|
|
210
203
|
},
|
|
211
|
-
// Analyzer
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
parameters: [
|
|
216
|
-
{
|
|
217
|
-
name: 'analyzerName',
|
|
218
|
-
type: 'string',
|
|
219
|
-
required: true,
|
|
220
|
-
description: 'The analyzer to configure (solid, dry, security, etc.)',
|
|
221
|
-
},
|
|
222
|
-
{
|
|
223
|
-
name: 'config',
|
|
224
|
-
type: 'object',
|
|
225
|
-
required: true,
|
|
226
|
-
description: 'Configuration object for the analyzer (e.g., thresholds, rules)',
|
|
227
|
-
},
|
|
228
|
-
{
|
|
229
|
-
name: 'projectPath',
|
|
230
|
-
type: 'string',
|
|
231
|
-
required: false,
|
|
232
|
-
description: 'Optional project path for project-specific config (defaults to global)',
|
|
233
|
-
},
|
|
234
|
-
],
|
|
235
|
-
},
|
|
236
|
-
{
|
|
237
|
-
name: 'get_analyzer_config',
|
|
238
|
-
description: 'Get current configuration for an analyzer',
|
|
239
|
-
parameters: [
|
|
240
|
-
{
|
|
241
|
-
name: 'analyzerName',
|
|
242
|
-
type: 'string',
|
|
243
|
-
required: false,
|
|
244
|
-
description: 'Specific analyzer name, or omit to get all configs',
|
|
245
|
-
},
|
|
246
|
-
{
|
|
247
|
-
name: 'projectPath',
|
|
248
|
-
type: 'string',
|
|
249
|
-
required: false,
|
|
250
|
-
description: 'Optional project path to get project-specific config',
|
|
251
|
-
},
|
|
252
|
-
],
|
|
253
|
-
},
|
|
254
|
-
{
|
|
255
|
-
name: 'reset_analyzer_config',
|
|
256
|
-
description: 'Reset analyzer configuration to defaults',
|
|
257
|
-
parameters: [
|
|
258
|
-
{
|
|
259
|
-
name: 'analyzerName',
|
|
260
|
-
type: 'string',
|
|
261
|
-
required: false,
|
|
262
|
-
description: 'Specific analyzer to reset, or omit to reset all',
|
|
263
|
-
},
|
|
264
|
-
{
|
|
265
|
-
name: 'projectPath',
|
|
266
|
-
type: 'string',
|
|
267
|
-
required: false,
|
|
268
|
-
description: 'Optional project path to reset only project-specific config',
|
|
269
|
-
},
|
|
270
|
-
],
|
|
271
|
-
},
|
|
204
|
+
// Analyzer-config tooling is removed in 5.0.0 (Spec 68 §14). The three flat
|
|
205
|
+
// `set_analyzer_config` / `get_analyzer_config` / `reset_analyzer_config`
|
|
206
|
+
// tools are gone; their get/set/reset shape survives as the `config` tool's
|
|
207
|
+
// actions in mcp.ts, the single registered config surface.
|
|
272
208
|
{
|
|
273
209
|
name: 'get_code_map_section',
|
|
274
210
|
description: 'Retrieve a specific section of a previously generated code map',
|
|
@@ -308,7 +244,7 @@ export const tools = [
|
|
|
308
244
|
name: 'databaseType',
|
|
309
245
|
type: 'string',
|
|
310
246
|
required: true,
|
|
311
|
-
enum: ['postgresql', 'mysql', 'sqlite'
|
|
247
|
+
enum: ['postgresql', 'mysql', 'sqlite'],
|
|
312
248
|
description: 'Type of database to generate queries for',
|
|
313
249
|
},
|
|
314
250
|
{
|
|
@@ -450,13 +386,6 @@ export const uiTools = [
|
|
|
450
386
|
description: 'Path to audit',
|
|
451
387
|
default: '.',
|
|
452
388
|
},
|
|
453
|
-
{
|
|
454
|
-
name: 'analyzers',
|
|
455
|
-
type: 'array',
|
|
456
|
-
required: false,
|
|
457
|
-
description: 'Analyzers to run',
|
|
458
|
-
default: ['solid', 'dry', 'documentation', 'react', 'data-access'],
|
|
459
|
-
},
|
|
460
389
|
{
|
|
461
390
|
name: 'minSeverity',
|
|
462
391
|
type: 'string',
|
|
@@ -481,10 +410,106 @@ export const uiTools = [
|
|
|
481
410
|
],
|
|
482
411
|
},
|
|
483
412
|
];
|
|
413
|
+
/**
|
|
414
|
+
* After a full audit, optionally sync the discovered functions into the code
|
|
415
|
+
* index and generate a paginated code map. Shared verbatim by `handleAudit` and
|
|
416
|
+
* `handleAuditHealth` — the two callers differ only in the code-map `maxDepth`
|
|
417
|
+
* (the full audit uses 10, the health check a smaller 8) and in how they format
|
|
418
|
+
* the returned `indexingResult`/`codeMapResult` into their response bodies.
|
|
419
|
+
*
|
|
420
|
+
* @param auditResult - The completed audit whose metadata holds the file→function map.
|
|
421
|
+
* @param auditPath - The audited path, passed through to the code-map generator.
|
|
422
|
+
* @param indexFunctions - Whether function indexing was requested.
|
|
423
|
+
* @param generateCodeMap - Whether code-map generation was requested.
|
|
424
|
+
* @param maxDepth - Maximum code-map depth (differs between the two callers).
|
|
425
|
+
* @returns The indexing and code-map results (null for any skipped step).
|
|
426
|
+
*/
|
|
427
|
+
async function runIndexingAndCodeMap(auditResult, auditPath, indexFunctions, generateCodeMap, maxDepth) {
|
|
428
|
+
// Handle function indexing if enabled and functions were collected
|
|
429
|
+
let indexingResult = null;
|
|
430
|
+
if (indexFunctions && auditResult.metadata.fileToFunctionsMap) {
|
|
431
|
+
try {
|
|
432
|
+
const syncStats = { added: 0, updated: 0, removed: 0 };
|
|
433
|
+
// Sync each file's functions to handle additions, updates, and removals
|
|
434
|
+
for (const [filePath, functions] of Object.entries(auditResult.metadata.fileToFunctionsMap)) {
|
|
435
|
+
const fileStats = await syncFileIndex(filePath, functions);
|
|
436
|
+
syncStats.added += fileStats.added;
|
|
437
|
+
syncStats.updated += fileStats.updated;
|
|
438
|
+
syncStats.removed += fileStats.removed;
|
|
439
|
+
}
|
|
440
|
+
indexingResult = {
|
|
441
|
+
success: true,
|
|
442
|
+
registered: syncStats.added + syncStats.updated,
|
|
443
|
+
failed: 0,
|
|
444
|
+
syncStats
|
|
445
|
+
};
|
|
446
|
+
console.error(chalk.blue('[INFO]'), `Synced functions: ${syncStats.added} added, ${syncStats.updated} updated, ${syncStats.removed} removed`);
|
|
447
|
+
}
|
|
448
|
+
catch (error) {
|
|
449
|
+
console.error(chalk.yellow('[WARN]'), 'Failed to sync functions:', error);
|
|
450
|
+
}
|
|
451
|
+
}
|
|
452
|
+
// Generate code map if requested and functions were indexed
|
|
453
|
+
let codeMapResult = null;
|
|
454
|
+
if (generateCodeMap && indexingResult && indexingResult.success) {
|
|
455
|
+
try {
|
|
456
|
+
const mapGenerator = new CodeMapGenerator();
|
|
457
|
+
const mapOptions = {
|
|
458
|
+
includeComplexity: true,
|
|
459
|
+
includeDocumentation: true,
|
|
460
|
+
includeDependencies: true,
|
|
461
|
+
includeUsage: false,
|
|
462
|
+
groupByDirectory: true,
|
|
463
|
+
maxDepth,
|
|
464
|
+
showUnusedImports: true,
|
|
465
|
+
minComplexity: 7,
|
|
466
|
+
};
|
|
467
|
+
// Generate documentation metrics
|
|
468
|
+
let documentation = undefined;
|
|
469
|
+
try {
|
|
470
|
+
const files = Object.keys(auditResult.metadata.fileToFunctionsMap || {});
|
|
471
|
+
if (files.length > 0) {
|
|
472
|
+
const docResult = await analyzeDocumentation(files);
|
|
473
|
+
documentation = docResult.metrics;
|
|
474
|
+
}
|
|
475
|
+
}
|
|
476
|
+
catch (docError) {
|
|
477
|
+
console.error(chalk.yellow('[WARN]'), 'Failed to analyze documentation:', docError);
|
|
478
|
+
}
|
|
479
|
+
// Use paginated code map generation
|
|
480
|
+
const paginatedResult = await mapGenerator.generatePaginatedCodeMap(auditPath, {
|
|
481
|
+
...mapOptions,
|
|
482
|
+
includeDocumentation: !!documentation
|
|
483
|
+
});
|
|
484
|
+
codeMapResult = {
|
|
485
|
+
success: true,
|
|
486
|
+
mapId: paginatedResult.mapId,
|
|
487
|
+
summary: paginatedResult.summary,
|
|
488
|
+
quickPreview: paginatedResult.quickPreview,
|
|
489
|
+
sections: paginatedResult.summary.sectionsAvailable,
|
|
490
|
+
documentationCoverage: documentation?.coverageScore
|
|
491
|
+
};
|
|
492
|
+
console.error(chalk.blue('[INFO]'), `Generated paginated code map: ${paginatedResult.summary.stats.totalFiles} files, ${paginatedResult.summary.totalSections} sections`);
|
|
493
|
+
}
|
|
494
|
+
catch (error) {
|
|
495
|
+
console.error(chalk.yellow('[WARN]'), 'Failed to generate code map:', error);
|
|
496
|
+
codeMapResult = {
|
|
497
|
+
success: false,
|
|
498
|
+
error: error instanceof Error ? error.message : 'Failed to generate code map'
|
|
499
|
+
};
|
|
500
|
+
}
|
|
501
|
+
}
|
|
502
|
+
return { indexingResult, codeMapResult };
|
|
503
|
+
}
|
|
484
504
|
/**
|
|
485
505
|
* Shared tool handler implementations
|
|
486
506
|
*/
|
|
487
507
|
export class ToolHandlers {
|
|
508
|
+
/**
|
|
509
|
+
* Run a full audit on a path and return the formatted MCP result.
|
|
510
|
+
* @param args - The tool arguments (path, minSeverity, indexFunctions, etc.).
|
|
511
|
+
* @returns The audit summary, violations, and optional indexing/code-map results.
|
|
512
|
+
*/
|
|
488
513
|
static async handleAudit(args) {
|
|
489
514
|
const auditPath = path.resolve(args.path || process.cwd());
|
|
490
515
|
const indexFunctions = args.indexFunctions !== false; // Default true
|
|
@@ -493,7 +518,7 @@ export class ToolHandlers {
|
|
|
493
518
|
// Get stored analyzer configs from database
|
|
494
519
|
const db = CodeIndexDB.getInstance();
|
|
495
520
|
await db.initialize();
|
|
496
|
-
const storedConfigs = await db.getAllAnalyzerConfigs(auditPath);
|
|
521
|
+
const storedConfigs = await db.analyzerConfig.getAllAnalyzerConfigs(auditPath);
|
|
497
522
|
// Merge stored configs with any provided configs
|
|
498
523
|
const analyzerConfigs = {
|
|
499
524
|
...storedConfigs,
|
|
@@ -501,92 +526,16 @@ export class ToolHandlers {
|
|
|
501
526
|
};
|
|
502
527
|
const options = {
|
|
503
528
|
projectRoot: isFile ? path.dirname(auditPath) : auditPath,
|
|
504
|
-
enabledAnalyzers: args.analyzers || ['solid', 'dry', 'documentation', 'react', 'data-access'],
|
|
505
529
|
minSeverity: (args.minSeverity || 'high'),
|
|
506
530
|
verbose: false,
|
|
507
531
|
indexFunctions,
|
|
508
532
|
...(isFile && { includePaths: [auditPath] }),
|
|
509
533
|
...(Object.keys(analyzerConfigs).length > 0 && { analyzerConfigs }),
|
|
510
534
|
};
|
|
511
|
-
// Route through the single audit entry point
|
|
512
|
-
|
|
513
|
-
//
|
|
514
|
-
|
|
515
|
-
const auditResult = await runAuditDispatch(options);
|
|
516
|
-
// Handle function indexing if enabled and functions were collected
|
|
517
|
-
let indexingResult = null;
|
|
518
|
-
if (indexFunctions && auditResult.metadata.fileToFunctionsMap) {
|
|
519
|
-
try {
|
|
520
|
-
const syncStats = { added: 0, updated: 0, removed: 0 };
|
|
521
|
-
// Sync each file's functions to handle additions, updates, and removals
|
|
522
|
-
for (const [filePath, functions] of Object.entries(auditResult.metadata.fileToFunctionsMap)) {
|
|
523
|
-
const fileStats = await syncFileIndex(filePath, functions);
|
|
524
|
-
syncStats.added += fileStats.added;
|
|
525
|
-
syncStats.updated += fileStats.updated;
|
|
526
|
-
syncStats.removed += fileStats.removed;
|
|
527
|
-
}
|
|
528
|
-
indexingResult = {
|
|
529
|
-
success: true,
|
|
530
|
-
registered: syncStats.added + syncStats.updated,
|
|
531
|
-
failed: 0,
|
|
532
|
-
syncStats
|
|
533
|
-
};
|
|
534
|
-
console.error(chalk.blue('[INFO]'), `Synced functions: ${syncStats.added} added, ${syncStats.updated} updated, ${syncStats.removed} removed`);
|
|
535
|
-
}
|
|
536
|
-
catch (error) {
|
|
537
|
-
console.error(chalk.yellow('[WARN]'), 'Failed to sync functions:', error);
|
|
538
|
-
}
|
|
539
|
-
}
|
|
540
|
-
// Generate code map if requested and functions were indexed
|
|
541
|
-
let codeMapResult = null;
|
|
542
|
-
if (generateCodeMap && indexingResult && indexingResult.success) {
|
|
543
|
-
try {
|
|
544
|
-
const mapGenerator = new CodeMapGenerator();
|
|
545
|
-
const mapOptions = {
|
|
546
|
-
includeComplexity: true,
|
|
547
|
-
includeDocumentation: true,
|
|
548
|
-
includeDependencies: true,
|
|
549
|
-
includeUsage: false,
|
|
550
|
-
groupByDirectory: true,
|
|
551
|
-
maxDepth: 10,
|
|
552
|
-
showUnusedImports: true,
|
|
553
|
-
minComplexity: 7,
|
|
554
|
-
};
|
|
555
|
-
// Generate documentation metrics
|
|
556
|
-
let documentation = undefined;
|
|
557
|
-
try {
|
|
558
|
-
const files = Object.keys(auditResult.metadata.fileToFunctionsMap || {});
|
|
559
|
-
if (files.length > 0) {
|
|
560
|
-
const docResult = await analyzeDocumentation(files);
|
|
561
|
-
documentation = docResult.metrics;
|
|
562
|
-
}
|
|
563
|
-
}
|
|
564
|
-
catch (docError) {
|
|
565
|
-
console.error(chalk.yellow('[WARN]'), 'Failed to analyze documentation:', docError);
|
|
566
|
-
}
|
|
567
|
-
// Use paginated code map generation
|
|
568
|
-
const paginatedResult = await mapGenerator.generatePaginatedCodeMap(auditPath, {
|
|
569
|
-
...mapOptions,
|
|
570
|
-
includeDocumentation: !!documentation
|
|
571
|
-
});
|
|
572
|
-
codeMapResult = {
|
|
573
|
-
success: true,
|
|
574
|
-
mapId: paginatedResult.mapId,
|
|
575
|
-
summary: paginatedResult.summary,
|
|
576
|
-
quickPreview: paginatedResult.quickPreview,
|
|
577
|
-
sections: paginatedResult.summary.sectionsAvailable,
|
|
578
|
-
documentationCoverage: documentation?.coverageScore
|
|
579
|
-
};
|
|
580
|
-
console.error(chalk.blue('[INFO]'), `Generated paginated code map: ${paginatedResult.summary.stats.totalFiles} files, ${paginatedResult.summary.totalSections} sections`);
|
|
581
|
-
}
|
|
582
|
-
catch (error) {
|
|
583
|
-
console.error(chalk.yellow('[WARN]'), 'Failed to generate code map:', error);
|
|
584
|
-
codeMapResult = {
|
|
585
|
-
success: false,
|
|
586
|
-
error: error instanceof Error ? error.message : 'Failed to generate code map'
|
|
587
|
-
};
|
|
588
|
-
}
|
|
589
|
-
}
|
|
535
|
+
// Route through the single audit entry point shared with the CLI.
|
|
536
|
+
const auditResult = await createAuditRunner(options).run();
|
|
537
|
+
// Handle function indexing + code-map generation (shared with the health check)
|
|
538
|
+
const { indexingResult, codeMapResult } = await runIndexingAndCodeMap(auditResult, auditPath, indexFunctions, generateCodeMap, 10);
|
|
590
539
|
// Format for MCP
|
|
591
540
|
return {
|
|
592
541
|
summary: {
|
|
@@ -605,6 +554,11 @@ export class ToolHandlers {
|
|
|
605
554
|
...(codeMapResult && { codeMap: codeMapResult }),
|
|
606
555
|
};
|
|
607
556
|
}
|
|
557
|
+
/**
|
|
558
|
+
* Run a quick health check and return key metrics with a pass/fail status.
|
|
559
|
+
* @param args - The tool arguments (path, threshold, indexFunctions, etc.).
|
|
560
|
+
* @returns The health score, threshold, and pass/fail status.
|
|
561
|
+
*/
|
|
608
562
|
static async handleAuditHealth(args) {
|
|
609
563
|
const auditPath = path.resolve(args.path || process.cwd());
|
|
610
564
|
await assertAuditPathExists(auditPath);
|
|
@@ -614,7 +568,7 @@ export class ToolHandlers {
|
|
|
614
568
|
// Get stored analyzer configs from database
|
|
615
569
|
const db = CodeIndexDB.getInstance();
|
|
616
570
|
await db.initialize();
|
|
617
|
-
const storedConfigs = await db.getAllAnalyzerConfigs(auditPath);
|
|
571
|
+
const storedConfigs = await db.analyzerConfig.getAllAnalyzerConfigs(auditPath);
|
|
618
572
|
// Merge stored configs with any provided configs
|
|
619
573
|
const analyzerConfigs = {
|
|
620
574
|
...storedConfigs,
|
|
@@ -622,7 +576,6 @@ export class ToolHandlers {
|
|
|
622
576
|
};
|
|
623
577
|
const runner = createAuditRunner({
|
|
624
578
|
projectRoot: auditPath,
|
|
625
|
-
enabledAnalyzers: [...MCP_DEFAULT_ANALYZERS],
|
|
626
579
|
minSeverity: 'high',
|
|
627
580
|
verbose: false,
|
|
628
581
|
indexFunctions,
|
|
@@ -630,80 +583,8 @@ export class ToolHandlers {
|
|
|
630
583
|
});
|
|
631
584
|
const auditResult = await runner.run();
|
|
632
585
|
const healthScore = ToolHandlers.calculateHealthScore(auditResult);
|
|
633
|
-
// Handle function indexing
|
|
634
|
-
|
|
635
|
-
if (indexFunctions && auditResult.metadata.fileToFunctionsMap) {
|
|
636
|
-
try {
|
|
637
|
-
const syncStats = { added: 0, updated: 0, removed: 0 };
|
|
638
|
-
// Sync each file's functions to handle additions, updates, and removals
|
|
639
|
-
for (const [filePath, functions] of Object.entries(auditResult.metadata.fileToFunctionsMap)) {
|
|
640
|
-
const fileStats = await syncFileIndex(filePath, functions);
|
|
641
|
-
syncStats.added += fileStats.added;
|
|
642
|
-
syncStats.updated += fileStats.updated;
|
|
643
|
-
syncStats.removed += fileStats.removed;
|
|
644
|
-
}
|
|
645
|
-
indexingResult = {
|
|
646
|
-
success: true,
|
|
647
|
-
registered: syncStats.added + syncStats.updated,
|
|
648
|
-
failed: 0,
|
|
649
|
-
syncStats
|
|
650
|
-
};
|
|
651
|
-
console.error(chalk.blue('[INFO]'), `Synced functions: ${syncStats.added} added, ${syncStats.updated} updated, ${syncStats.removed} removed`);
|
|
652
|
-
}
|
|
653
|
-
catch (error) {
|
|
654
|
-
console.error(chalk.yellow('[WARN]'), 'Failed to sync functions:', error);
|
|
655
|
-
}
|
|
656
|
-
}
|
|
657
|
-
// Generate code map if requested and functions were indexed
|
|
658
|
-
let codeMapResult = null;
|
|
659
|
-
if (generateCodeMap && indexingResult && indexingResult.success) {
|
|
660
|
-
try {
|
|
661
|
-
const mapGenerator = new CodeMapGenerator();
|
|
662
|
-
const mapOptions = {
|
|
663
|
-
includeComplexity: true,
|
|
664
|
-
includeDocumentation: true,
|
|
665
|
-
includeDependencies: true,
|
|
666
|
-
includeUsage: false,
|
|
667
|
-
groupByDirectory: true,
|
|
668
|
-
maxDepth: 8, // Slightly smaller for health check
|
|
669
|
-
showUnusedImports: true,
|
|
670
|
-
minComplexity: 7,
|
|
671
|
-
};
|
|
672
|
-
// Generate documentation metrics
|
|
673
|
-
let documentation = undefined;
|
|
674
|
-
try {
|
|
675
|
-
const files = Object.keys(auditResult.metadata.fileToFunctionsMap || {});
|
|
676
|
-
if (files.length > 0) {
|
|
677
|
-
const docResult = await analyzeDocumentation(files);
|
|
678
|
-
documentation = docResult.metrics;
|
|
679
|
-
}
|
|
680
|
-
}
|
|
681
|
-
catch (docError) {
|
|
682
|
-
console.error(chalk.yellow('[WARN]'), 'Failed to analyze documentation:', docError);
|
|
683
|
-
}
|
|
684
|
-
// Use paginated code map generation for health check too
|
|
685
|
-
const paginatedResult = await mapGenerator.generatePaginatedCodeMap(auditPath, {
|
|
686
|
-
...mapOptions,
|
|
687
|
-
includeDocumentation: !!documentation
|
|
688
|
-
});
|
|
689
|
-
codeMapResult = {
|
|
690
|
-
success: true,
|
|
691
|
-
mapId: paginatedResult.mapId,
|
|
692
|
-
summary: paginatedResult.summary,
|
|
693
|
-
quickPreview: paginatedResult.quickPreview,
|
|
694
|
-
sections: paginatedResult.summary.sectionsAvailable,
|
|
695
|
-
documentationCoverage: documentation?.coverageScore
|
|
696
|
-
};
|
|
697
|
-
console.error(chalk.blue('[INFO]'), `Generated paginated code map: ${paginatedResult.summary.stats.totalFiles} files, ${paginatedResult.summary.totalSections} sections`);
|
|
698
|
-
}
|
|
699
|
-
catch (error) {
|
|
700
|
-
console.error(chalk.yellow('[WARN]'), 'Failed to generate code map:', error);
|
|
701
|
-
codeMapResult = {
|
|
702
|
-
success: false,
|
|
703
|
-
error: error instanceof Error ? error.message : 'Failed to generate code map'
|
|
704
|
-
};
|
|
705
|
-
}
|
|
706
|
-
}
|
|
586
|
+
// Handle function indexing + code-map generation (shared with the full audit)
|
|
587
|
+
const { indexingResult, codeMapResult } = await runIndexingAndCodeMap(auditResult, auditPath, indexFunctions, generateCodeMap, 8);
|
|
707
588
|
return {
|
|
708
589
|
healthScore,
|
|
709
590
|
threshold,
|
|
@@ -723,6 +604,11 @@ export class ToolHandlers {
|
|
|
723
604
|
}
|
|
724
605
|
// Add all other tool handlers here following the same pattern...
|
|
725
606
|
// (I'll include key ones for brevity)
|
|
607
|
+
/**
|
|
608
|
+
* Search indexed functions and components with natural language and operators.
|
|
609
|
+
* @param args - The tool arguments (query, filters, limit, offset).
|
|
610
|
+
* @returns The matching indexed functions.
|
|
611
|
+
*/
|
|
726
612
|
static async handleSearchCode(args) {
|
|
727
613
|
const query = args.query;
|
|
728
614
|
const filters = args.filters;
|
|
@@ -738,6 +624,11 @@ export class ToolHandlers {
|
|
|
738
624
|
offset
|
|
739
625
|
});
|
|
740
626
|
}
|
|
627
|
+
/**
|
|
628
|
+
* Find the exact definition of a named function or component.
|
|
629
|
+
* @param args - The tool arguments (name, filePath).
|
|
630
|
+
* @returns The definition, or an error object when not found.
|
|
631
|
+
*/
|
|
741
632
|
static async handleFindDefinition(args) {
|
|
742
633
|
const name = args.name;
|
|
743
634
|
const filePath = args.filePath;
|
|
@@ -748,6 +639,11 @@ export class ToolHandlers {
|
|
|
748
639
|
return definition || { error: 'Function not found' };
|
|
749
640
|
}
|
|
750
641
|
// Schema Management Tool Handlers
|
|
642
|
+
/**
|
|
643
|
+
* Generate SQL discovery queries for a database type.
|
|
644
|
+
* @param args - The tool arguments (databaseType, includeIndexes, etc.).
|
|
645
|
+
* @returns The generated queries plus instructions for using them.
|
|
646
|
+
*/
|
|
751
647
|
static async handleGenerateSchemaDiscoverySQL(args) {
|
|
752
648
|
const databaseType = args.databaseType;
|
|
753
649
|
const includeIndexes = args.includeIndexes !== false;
|
|
@@ -769,6 +665,11 @@ export class ToolHandlers {
|
|
|
769
665
|
nextStep: "Use create_schema_from_sql_result with the query results"
|
|
770
666
|
};
|
|
771
667
|
}
|
|
668
|
+
/**
|
|
669
|
+
* Build and store a schema from SQL discovery result rows.
|
|
670
|
+
* @param args - The tool arguments (schemaName, databaseType, and result rows).
|
|
671
|
+
* @returns The stored schema id and stats, or an error object.
|
|
672
|
+
*/
|
|
772
673
|
static async handleCreateSchemaFromSqlResult(args) {
|
|
773
674
|
const schemaName = args.schemaName;
|
|
774
675
|
const databaseType = args.databaseType;
|
|
@@ -782,7 +683,7 @@ export class ToolHandlers {
|
|
|
782
683
|
const schema = ToolHandlers.buildSchemaFromSqlData(schemaName, databaseType, tablesData, columnsData, constraintsData);
|
|
783
684
|
const db = CodeIndexDB.getInstance();
|
|
784
685
|
await db.initialize();
|
|
785
|
-
const schemaId = await db.storeSchema(schema);
|
|
686
|
+
const schemaId = await db.schema.storeSchema(schema);
|
|
786
687
|
return {
|
|
787
688
|
success: true,
|
|
788
689
|
schemaId,
|
|
@@ -798,10 +699,15 @@ export class ToolHandlers {
|
|
|
798
699
|
catch (error) {
|
|
799
700
|
return {
|
|
800
701
|
success: false,
|
|
801
|
-
error: `Failed to create schema from SQL results: ${error
|
|
702
|
+
error: `Failed to create schema from SQL results: ${errorMessage(error)}`
|
|
802
703
|
};
|
|
803
704
|
}
|
|
804
705
|
}
|
|
706
|
+
/**
|
|
707
|
+
* Add a table to an existing or newly-created schema.
|
|
708
|
+
* @param args - The tool arguments (schemaName, tableName, columns, databaseType).
|
|
709
|
+
* @returns The stored schema id and table details, or an error object.
|
|
710
|
+
*/
|
|
805
711
|
static async handleAddTableManually(args) {
|
|
806
712
|
const schemaName = args.schemaName;
|
|
807
713
|
const tableName = args.tableName;
|
|
@@ -814,7 +720,7 @@ export class ToolHandlers {
|
|
|
814
720
|
const db = CodeIndexDB.getInstance();
|
|
815
721
|
await db.initialize();
|
|
816
722
|
// Get existing schema or create new one
|
|
817
|
-
const existingSchemas = await db.getAllSchemas();
|
|
723
|
+
const existingSchemas = await db.schema.getAllSchemas();
|
|
818
724
|
let schema = existingSchemas.find(s => s.schema.name === schemaName)?.schema;
|
|
819
725
|
if (!schema) {
|
|
820
726
|
// Create new schema
|
|
@@ -847,7 +753,7 @@ export class ToolHandlers {
|
|
|
847
753
|
};
|
|
848
754
|
schema.databases[0].tables.push(newTable);
|
|
849
755
|
// Store updated schema
|
|
850
|
-
const schemaId = await db.storeSchema(schema);
|
|
756
|
+
const schemaId = await db.schema.storeSchema(schema);
|
|
851
757
|
return {
|
|
852
758
|
success: true,
|
|
853
759
|
schemaId,
|
|
@@ -859,16 +765,21 @@ export class ToolHandlers {
|
|
|
859
765
|
catch (error) {
|
|
860
766
|
return {
|
|
861
767
|
success: false,
|
|
862
|
-
error: `Failed to add table: ${error
|
|
768
|
+
error: `Failed to add table: ${errorMessage(error)}`
|
|
863
769
|
};
|
|
864
770
|
}
|
|
865
771
|
}
|
|
772
|
+
/**
|
|
773
|
+
* List all loaded schemas with their metadata.
|
|
774
|
+
* @param args - The tool arguments (currently unused).
|
|
775
|
+
* @returns The schemas and aggregate stats, or an error object.
|
|
776
|
+
*/
|
|
866
777
|
static async handleListSchemas(args) {
|
|
867
778
|
try {
|
|
868
779
|
const db = CodeIndexDB.getInstance();
|
|
869
780
|
await db.initialize();
|
|
870
|
-
const schemas = await db.getAllSchemas();
|
|
871
|
-
const stats = await db.getSchemaStats();
|
|
781
|
+
const schemas = await db.schema.getAllSchemas();
|
|
782
|
+
const stats = await db.schema.getSchemaStats();
|
|
872
783
|
return {
|
|
873
784
|
schemas: schemas.map(s => ({
|
|
874
785
|
schemaId: s.schemaId,
|
|
@@ -885,10 +796,15 @@ export class ToolHandlers {
|
|
|
885
796
|
catch (error) {
|
|
886
797
|
return {
|
|
887
798
|
success: false,
|
|
888
|
-
error: `Failed to list schemas: ${error
|
|
799
|
+
error: `Failed to list schemas: ${errorMessage(error)}`
|
|
889
800
|
};
|
|
890
801
|
}
|
|
891
802
|
}
|
|
803
|
+
/**
|
|
804
|
+
* Search tables, columns, and relationships in loaded schemas.
|
|
805
|
+
* @param args - The tool arguments (query, elementType).
|
|
806
|
+
* @returns The matching schema elements, or an error object.
|
|
807
|
+
*/
|
|
892
808
|
static async handleSearchSchemaElements(args) {
|
|
893
809
|
const query = args.query;
|
|
894
810
|
const elementType = args.elementType || 'all';
|
|
@@ -898,7 +814,7 @@ export class ToolHandlers {
|
|
|
898
814
|
try {
|
|
899
815
|
const db = CodeIndexDB.getInstance();
|
|
900
816
|
await db.initialize();
|
|
901
|
-
const schemas = (await db.getAllSchemas()).map(s => s.schema);
|
|
817
|
+
const schemas = (await db.schema.getAllSchemas()).map(s => s.schema);
|
|
902
818
|
const results = [];
|
|
903
819
|
const queryLower = query.toLowerCase();
|
|
904
820
|
for (const schema of schemas) {
|
|
@@ -951,13 +867,27 @@ export class ToolHandlers {
|
|
|
951
867
|
catch (error) {
|
|
952
868
|
return {
|
|
953
869
|
success: false,
|
|
954
|
-
error: `Failed to search schema elements: ${error
|
|
870
|
+
error: `Failed to search schema elements: ${errorMessage(error)}`
|
|
955
871
|
};
|
|
956
872
|
}
|
|
957
873
|
}
|
|
958
874
|
// Schema Helper Functions
|
|
875
|
+
/**
|
|
876
|
+
* Build the ordered list of SQL discovery queries for a database type.
|
|
877
|
+
* @param databaseType - The database engine to generate queries for.
|
|
878
|
+
* @param includeIndexes - Whether to include index-discovery queries.
|
|
879
|
+
* @param includeConstraints - Whether to include foreign-key queries.
|
|
880
|
+
* @param specificTables - Optional table names to limit discovery to.
|
|
881
|
+
* @returns The generated discovery queries.
|
|
882
|
+
*/
|
|
959
883
|
static generateSchemaDiscoveryQueries(databaseType, includeIndexes, includeConstraints, specificTables) {
|
|
960
|
-
|
|
884
|
+
// The dialect seam lives in `mcp-tools/discoveryQueries.ts`: a free-form
|
|
885
|
+
// string becomes a `Dialect` (or `null`) at exactly one point. An
|
|
886
|
+
// unrecognised engine is a loud error here, never a silent empty result.
|
|
887
|
+
const dialect = normalizeDialect(databaseType);
|
|
888
|
+
if (!dialect) {
|
|
889
|
+
throw new Error(`unsupported databaseType '${databaseType}' — expected one of postgresql, mysql, sqlite`);
|
|
890
|
+
}
|
|
961
891
|
// Identifiers are interpolated into generated SQL text (run by the agent,
|
|
962
892
|
// never this tool), so a name that is not a plain identifier is dropped —
|
|
963
893
|
// a quoted name could otherwise escape the string literal and inject SQL.
|
|
@@ -966,100 +896,17 @@ export class ToolHandlers {
|
|
|
966
896
|
const tableFilter = validTables.length > 0
|
|
967
897
|
? `WHERE table_name IN (${validTables.map(t => `'${t}'`).join(', ')})`
|
|
968
898
|
: '';
|
|
969
|
-
|
|
970
|
-
case 'postgresql':
|
|
971
|
-
queries.push({
|
|
972
|
-
name: 'tables',
|
|
973
|
-
sql: `SELECT table_name, table_type, table_schema
|
|
974
|
-
FROM information_schema.tables
|
|
975
|
-
WHERE table_schema NOT IN ('information_schema', 'pg_catalog') ${tableFilter}
|
|
976
|
-
ORDER BY table_schema, table_name;`,
|
|
977
|
-
description: 'Get all tables and views'
|
|
978
|
-
});
|
|
979
|
-
queries.push({
|
|
980
|
-
name: 'columns',
|
|
981
|
-
sql: `SELECT table_name, column_name, data_type, is_nullable, column_default,
|
|
982
|
-
character_maximum_length, numeric_precision, numeric_scale
|
|
983
|
-
FROM information_schema.columns
|
|
984
|
-
WHERE table_schema NOT IN ('information_schema', 'pg_catalog') ${tableFilter}
|
|
985
|
-
ORDER BY table_name, ordinal_position;`,
|
|
986
|
-
description: 'Get all columns with types and constraints'
|
|
987
|
-
});
|
|
988
|
-
if (includeConstraints) {
|
|
989
|
-
queries.push({
|
|
990
|
-
name: 'foreign_keys',
|
|
991
|
-
sql: `SELECT tc.table_name, kcu.column_name, ccu.table_name AS foreign_table_name,
|
|
992
|
-
ccu.column_name AS foreign_column_name, rc.delete_rule, rc.update_rule
|
|
993
|
-
FROM information_schema.table_constraints AS tc
|
|
994
|
-
JOIN information_schema.key_column_usage AS kcu ON tc.constraint_name = kcu.constraint_name
|
|
995
|
-
JOIN information_schema.constraint_column_usage AS ccu ON ccu.constraint_name = tc.constraint_name
|
|
996
|
-
JOIN information_schema.referential_constraints AS rc ON tc.constraint_name = rc.constraint_name
|
|
997
|
-
WHERE tc.constraint_type = 'FOREIGN KEY' ${tableFilter.replace('table_name', 'tc.table_name')}
|
|
998
|
-
ORDER BY tc.table_name, kcu.column_name;`,
|
|
999
|
-
description: 'Get foreign key relationships'
|
|
1000
|
-
});
|
|
1001
|
-
}
|
|
1002
|
-
if (includeIndexes) {
|
|
1003
|
-
queries.push({
|
|
1004
|
-
name: 'indexes',
|
|
1005
|
-
sql: `SELECT tablename, indexname, indexdef
|
|
1006
|
-
FROM pg_indexes
|
|
1007
|
-
WHERE schemaname NOT IN ('information_schema', 'pg_catalog') ${tableFilter.replace('table_name', 'tablename')}
|
|
1008
|
-
ORDER BY tablename, indexname;`,
|
|
1009
|
-
description: 'Get all indexes'
|
|
1010
|
-
});
|
|
1011
|
-
}
|
|
1012
|
-
break;
|
|
1013
|
-
case 'mysql':
|
|
1014
|
-
queries.push({
|
|
1015
|
-
name: 'tables',
|
|
1016
|
-
sql: `SELECT table_name, table_type, table_schema
|
|
1017
|
-
FROM information_schema.tables
|
|
1018
|
-
WHERE table_schema = DATABASE() ${tableFilter}
|
|
1019
|
-
ORDER BY table_name;`,
|
|
1020
|
-
description: 'Get all tables and views'
|
|
1021
|
-
});
|
|
1022
|
-
queries.push({
|
|
1023
|
-
name: 'columns',
|
|
1024
|
-
sql: `SELECT table_name, column_name, data_type, is_nullable, column_default,
|
|
1025
|
-
character_maximum_length, numeric_precision, numeric_scale,
|
|
1026
|
-
column_key, extra
|
|
1027
|
-
FROM information_schema.columns
|
|
1028
|
-
WHERE table_schema = DATABASE() ${tableFilter}
|
|
1029
|
-
ORDER BY table_name, ordinal_position;`,
|
|
1030
|
-
description: 'Get all columns with types and constraints'
|
|
1031
|
-
});
|
|
1032
|
-
if (includeConstraints) {
|
|
1033
|
-
queries.push({
|
|
1034
|
-
name: 'foreign_keys',
|
|
1035
|
-
sql: `SELECT table_name, column_name, referenced_table_name, referenced_column_name,
|
|
1036
|
-
delete_rule, update_rule
|
|
1037
|
-
FROM information_schema.key_column_usage
|
|
1038
|
-
WHERE table_schema = DATABASE() AND referenced_table_name IS NOT NULL ${tableFilter}
|
|
1039
|
-
ORDER BY table_name, column_name;`,
|
|
1040
|
-
description: 'Get foreign key relationships'
|
|
1041
|
-
});
|
|
1042
|
-
}
|
|
1043
|
-
break;
|
|
1044
|
-
case 'sqlite':
|
|
1045
|
-
queries.push({
|
|
1046
|
-
name: 'tables',
|
|
1047
|
-
sql: `SELECT name as table_name, type as table_type
|
|
1048
|
-
FROM sqlite_master
|
|
1049
|
-
WHERE type IN ('table', 'view') AND name NOT LIKE 'sqlite_%'
|
|
1050
|
-
ORDER BY name;`,
|
|
1051
|
-
description: 'Get all tables and views'
|
|
1052
|
-
});
|
|
1053
|
-
queries.push({
|
|
1054
|
-
name: 'table_info',
|
|
1055
|
-
sql: `-- Run this for each table: PRAGMA table_info(table_name);
|
|
1056
|
-
-- This will give you column information for each table`,
|
|
1057
|
-
description: 'Get column information (run PRAGMA table_info for each table)'
|
|
1058
|
-
});
|
|
1059
|
-
break;
|
|
1060
|
-
}
|
|
1061
|
-
return queries;
|
|
899
|
+
return buildDiscoveryQueries(dialect, { tableFilter, includeIndexes, includeConstraints });
|
|
1062
900
|
}
|
|
901
|
+
/**
|
|
902
|
+
* Build a schema object from SQL discovery result rows.
|
|
903
|
+
* @param schemaName - The name to give the schema.
|
|
904
|
+
* @param databaseType - The database engine the data came from.
|
|
905
|
+
* @param tablesData - The table rows from discovery.
|
|
906
|
+
* @param columnsData - The column rows from discovery.
|
|
907
|
+
* @param constraintsData - Optional foreign-key rows from discovery.
|
|
908
|
+
* @returns The assembled schema object.
|
|
909
|
+
*/
|
|
1063
910
|
static buildSchemaFromSqlData(schemaName, databaseType, tablesData, columnsData, constraintsData) {
|
|
1064
911
|
// Build schema from SQL results
|
|
1065
912
|
const tables = [];
|
|
@@ -1129,6 +976,11 @@ export class ToolHandlers {
|
|
|
1129
976
|
};
|
|
1130
977
|
}
|
|
1131
978
|
// Helper functions
|
|
979
|
+
/**
|
|
980
|
+
* Flatten all violations across analyzers, tagging each with its analyzer name.
|
|
981
|
+
* @param result - The audit result to extract violations from.
|
|
982
|
+
* @returns The flat list of violations.
|
|
983
|
+
*/
|
|
1132
984
|
static getAllViolations(result) {
|
|
1133
985
|
const violations = [];
|
|
1134
986
|
for (const [analyzerName, analyzerResult] of Object.entries(result.analyzerResults)) {
|
|
@@ -1141,6 +993,11 @@ export class ToolHandlers {
|
|
|
1141
993
|
}
|
|
1142
994
|
return violations;
|
|
1143
995
|
}
|
|
996
|
+
/**
|
|
997
|
+
* Compute a 0-100 health score from weighted violation counts.
|
|
998
|
+
* @param result - The audit result to score.
|
|
999
|
+
* @returns The computed health score.
|
|
1000
|
+
*/
|
|
1144
1001
|
static calculateHealthScore(result) {
|
|
1145
1002
|
const filesAnalyzed = result.metadata?.filesAnalyzed || 1;
|
|
1146
1003
|
const critical = result.summary.criticalIssues || 0;
|
|
@@ -1158,6 +1015,12 @@ export class ToolHandlers {
|
|
|
1158
1015
|
let score = 100 - (violationsPerFile * 2);
|
|
1159
1016
|
return Math.max(0, Math.round(Math.min(100, score)));
|
|
1160
1017
|
}
|
|
1018
|
+
/**
|
|
1019
|
+
* Produce a human-readable recommendation from the health score.
|
|
1020
|
+
* @param score - The computed health score.
|
|
1021
|
+
* @param result - The audit result used to tailor the recommendation.
|
|
1022
|
+
* @returns The recommendation string.
|
|
1023
|
+
*/
|
|
1161
1024
|
static getHealthRecommendation(score, result) {
|
|
1162
1025
|
const criticals = result.summary.criticalIssues || 0;
|
|
1163
1026
|
const severe = result.summary.severe || 0;
|