code-auditor-mcp 4.1.1 → 5.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +1 -1
- package/CHANGELOG.md +338 -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 +424 -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 +328 -0
- package/dist/analyzers/receiverRoot.d.ts.map +1 -0
- package/dist/analyzers/receiverRoot.js +990 -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 +231 -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 +64 -1
- package/dist/auditRunner.d.ts.map +1 -1
- package/dist/auditRunner.js +1538 -1033
- 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 +969 -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 +2 -0
- 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/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 +468 -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 +1027 -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 +200 -0
- package/dist/phase/receiverConsumers.d.ts.map +1 -0
- package/dist/phase/receiverConsumers.js +1025 -0
- package/dist/phase/receiverConsumers.js.map +1 -0
- package/dist/phase/receiverProvenance.d.ts +97 -0
- package/dist/phase/receiverProvenance.d.ts.map +1 -0
- package/dist/phase/receiverProvenance.js +337 -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 +2191 -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 +101 -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 +11 -5
- package/plugin/.claude-plugin/manifest.json +16 -0
- package/plugin/.claude-plugin/plugin.json +1 -1
- package/plugin/hooks/hooks.json +6 -2
- package/plugin/scripts/hook-audit.sh +41 -14
- package/plugin/scripts/hook-common.sh +50 -5
- package/plugin/scripts/hook-drift-check.sh +72 -0
- package/plugin/scripts/hook-self-audit.sh +17 -12
- package/plugin/skills/code-auditor/SKILL.md +1 -1
- package/server.json +2 -2
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Coverage-data access (Spec 15) — the `coverage_data` table backing the
|
|
3
|
+
* cross-domain coverage report. Extracted from `CodeIndexDB`; holds only the
|
|
4
|
+
* raw SQLite handle, so it carries no lifecycle or adapter state.
|
|
5
|
+
*/
|
|
6
|
+
import type { SqliteDatabase } from '../sqlite/types.js';
|
|
7
|
+
/**
|
|
8
|
+
* Data access for the `coverage_data` table: import, query, and clear the
|
|
9
|
+
* cross-domain coverage report (Spec 15).
|
|
10
|
+
*/
|
|
11
|
+
export declare class CoverageIndex {
|
|
12
|
+
private db;
|
|
13
|
+
/**
|
|
14
|
+
* Wrap the shared SQLite handle for coverage-data access.
|
|
15
|
+
* @param db the SQLite database handle.
|
|
16
|
+
*/
|
|
17
|
+
constructor(db: SqliteDatabase);
|
|
18
|
+
/**
|
|
19
|
+
* Replace coverage rows for the entries' bases, then insert the new set.
|
|
20
|
+
* @param entries coverage records to import; rows for each distinct `basis` are cleared before these are written.
|
|
21
|
+
*/
|
|
22
|
+
importCoverageData(entries: Array<{
|
|
23
|
+
functionName: string;
|
|
24
|
+
filePath: string;
|
|
25
|
+
lineNumber: number;
|
|
26
|
+
basis: 'static-reach' | 'measured';
|
|
27
|
+
covered: boolean;
|
|
28
|
+
source?: string;
|
|
29
|
+
}>): void;
|
|
30
|
+
/**
|
|
31
|
+
* Return all coverage rows for a single basis.
|
|
32
|
+
* @param basis the coverage basis to filter on (`static-reach` or `measured`).
|
|
33
|
+
* @returns the matching rows, with `covered` decoded from the stored 0/1 flag.
|
|
34
|
+
*/
|
|
35
|
+
getCoverageByBasis(basis: 'static-reach' | 'measured'): Array<{
|
|
36
|
+
functionName: string;
|
|
37
|
+
filePath: string;
|
|
38
|
+
lineNumber: number;
|
|
39
|
+
basis: string;
|
|
40
|
+
covered: boolean;
|
|
41
|
+
source: string | null;
|
|
42
|
+
importedAt: string | null;
|
|
43
|
+
}>;
|
|
44
|
+
/**
|
|
45
|
+
* Delete coverage rows, for a single basis or the whole table.
|
|
46
|
+
* @param basis when given, delete only that basis; otherwise clear all coverage data.
|
|
47
|
+
*/
|
|
48
|
+
clearCoverageData(basis?: 'static-reach' | 'measured'): void;
|
|
49
|
+
/**
|
|
50
|
+
* Check if measured coverage predates the last full sync.
|
|
51
|
+
* @returns true when any measured row was imported before the last full sync timestamp.
|
|
52
|
+
*/
|
|
53
|
+
isCoverageStale(): boolean;
|
|
54
|
+
/**
|
|
55
|
+
* Bucket exported functions into risk deciles and report per-decile coverage.
|
|
56
|
+
* @param decileCount the number of deciles to split functions into.
|
|
57
|
+
* @returns one entry per decile with the covered and total function counts and the coverage rate.
|
|
58
|
+
*/
|
|
59
|
+
getCoverageByRiskDecile(decileCount?: number): Array<{
|
|
60
|
+
decile: number;
|
|
61
|
+
covered: number;
|
|
62
|
+
total: number;
|
|
63
|
+
rate: number;
|
|
64
|
+
}>;
|
|
65
|
+
/**
|
|
66
|
+
* Return the highest-risk exported functions that have no measured coverage.
|
|
67
|
+
* @param topDecile the percentile cutoff (0..1) selecting the top risk slice.
|
|
68
|
+
* @returns the untested functions in that top slice, ordered by descending risk score.
|
|
69
|
+
*/
|
|
70
|
+
getUntestedTopDecile(topDecile?: number): Array<{
|
|
71
|
+
functionName: string;
|
|
72
|
+
filePath: string;
|
|
73
|
+
lineNumber: number;
|
|
74
|
+
riskScore: number;
|
|
75
|
+
basis: string;
|
|
76
|
+
}>;
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=coverage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coverage.d.ts","sourceRoot":"","sources":["../../src/codeIndex/coverage.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD;;;GAGG;AACH,qBAAa,aAAa;IAKZ,OAAO,CAAC,EAAE;IAJtB;;;OAGG;gBACiB,EAAE,EAAE,cAAc;IAEtC;;;OAGG;IACH,kBAAkB,CAAC,OAAO,EAAE,KAAK,CAAC;QAChC,YAAY,EAAE,MAAM,CAAC;QACrB,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;QACnB,KAAK,EAAE,cAAc,GAAG,UAAU,CAAC;QACnC,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC,GAAG,IAAI;IAoBT;;;;OAIG;IACH,kBAAkB,CAAC,KAAK,EAAE,cAAc,GAAG,UAAU,GAAG,KAAK,CAAC;QAC5D,YAAY,EAAE,MAAM,CAAC;QACrB,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;QACnB,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;KAC3B,CAAC;IAeF;;;OAGG;IACH,iBAAiB,CAAC,KAAK,CAAC,EAAE,cAAc,GAAG,UAAU,GAAG,IAAI;IAQ5D;;;OAGG;IACH,eAAe,IAAI,OAAO;IAY1B;;;;OAIG;IACH,uBAAuB,CAAC,WAAW,GAAE,MAAW,GAAG,KAAK,CAAC;QACvD,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IAqCF;;;;OAIG;IACH,oBAAoB,CAAC,SAAS,GAAE,MAAY,GAAG,KAAK,CAAC;QACnD,YAAY,EAAE,MAAM,CAAC;QACrB,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;CAuCH"}
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Coverage-data access (Spec 15) — the `coverage_data` table backing the
|
|
3
|
+
* cross-domain coverage report. Extracted from `CodeIndexDB`; holds only the
|
|
4
|
+
* raw SQLite handle, so it carries no lifecycle or adapter state.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Data access for the `coverage_data` table: import, query, and clear the
|
|
8
|
+
* cross-domain coverage report (Spec 15).
|
|
9
|
+
*/
|
|
10
|
+
export class CoverageIndex {
|
|
11
|
+
db;
|
|
12
|
+
/**
|
|
13
|
+
* Wrap the shared SQLite handle for coverage-data access.
|
|
14
|
+
* @param db the SQLite database handle.
|
|
15
|
+
*/
|
|
16
|
+
constructor(db) {
|
|
17
|
+
this.db = db;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Replace coverage rows for the entries' bases, then insert the new set.
|
|
21
|
+
* @param entries coverage records to import; rows for each distinct `basis` are cleared before these are written.
|
|
22
|
+
*/
|
|
23
|
+
importCoverageData(entries) {
|
|
24
|
+
// Group by basis so we only clear one basis at a time
|
|
25
|
+
const bases = new Set(entries.map(e => e.basis));
|
|
26
|
+
const clearStmt = this.db.prepare('DELETE FROM coverage_data WHERE basis = ?');
|
|
27
|
+
for (const basis of bases) {
|
|
28
|
+
clearStmt.run(basis);
|
|
29
|
+
}
|
|
30
|
+
const insert = this.db.prepare(`INSERT OR REPLACE INTO coverage_data (function_name, file_path, line_number, basis, covered, source, imported_at)
|
|
31
|
+
VALUES (?, ?, ?, ?, ?, ?, datetime('now'))`);
|
|
32
|
+
const tx = this.db.transaction((items) => {
|
|
33
|
+
for (const e of items) {
|
|
34
|
+
insert.run(e.functionName, e.filePath, e.lineNumber, e.basis, e.covered ? 1 : 0, e.source ?? null);
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
tx(entries);
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Return all coverage rows for a single basis.
|
|
41
|
+
* @param basis the coverage basis to filter on (`static-reach` or `measured`).
|
|
42
|
+
* @returns the matching rows, with `covered` decoded from the stored 0/1 flag.
|
|
43
|
+
*/
|
|
44
|
+
getCoverageByBasis(basis) {
|
|
45
|
+
const rows = this.db.prepare('SELECT * FROM coverage_data WHERE basis = ?').all(basis);
|
|
46
|
+
return rows.map((r) => ({
|
|
47
|
+
functionName: r.function_name,
|
|
48
|
+
filePath: r.file_path,
|
|
49
|
+
lineNumber: r.line_number,
|
|
50
|
+
basis: r.basis,
|
|
51
|
+
covered: r.covered === 1,
|
|
52
|
+
source: r.source,
|
|
53
|
+
importedAt: r.imported_at,
|
|
54
|
+
}));
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Delete coverage rows, for a single basis or the whole table.
|
|
58
|
+
* @param basis when given, delete only that basis; otherwise clear all coverage data.
|
|
59
|
+
*/
|
|
60
|
+
clearCoverageData(basis) {
|
|
61
|
+
if (basis) {
|
|
62
|
+
this.db.prepare('DELETE FROM coverage_data WHERE basis = ?').run(basis);
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
this.db.prepare('DELETE FROM coverage_data').run();
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Check if measured coverage predates the last full sync.
|
|
70
|
+
* @returns true when any measured row was imported before the last full sync timestamp.
|
|
71
|
+
*/
|
|
72
|
+
isCoverageStale() {
|
|
73
|
+
const lastSync = this.db.prepare("SELECT value FROM meta WHERE key = 'last_full_sync_timestamp'").get();
|
|
74
|
+
if (!lastSync)
|
|
75
|
+
return false;
|
|
76
|
+
const staleRow = this.db.prepare(`SELECT COUNT(*) as cnt FROM coverage_data
|
|
77
|
+
WHERE basis = 'measured' AND imported_at < ?`).get(lastSync.value);
|
|
78
|
+
return (staleRow?.cnt ?? 0) > 0;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Bucket exported functions into risk deciles and report per-decile coverage.
|
|
82
|
+
* @param decileCount the number of deciles to split functions into.
|
|
83
|
+
* @returns one entry per decile with the covered and total function counts and the coverage rate.
|
|
84
|
+
*/
|
|
85
|
+
getCoverageByRiskDecile(decileCount = 10) {
|
|
86
|
+
// Rank functions by risk score from hotspot_scores, join with coverage_data
|
|
87
|
+
const rows = this.db.prepare(`
|
|
88
|
+
WITH ranked AS (
|
|
89
|
+
SELECT
|
|
90
|
+
f.name,
|
|
91
|
+
f.file_path,
|
|
92
|
+
f.line_number,
|
|
93
|
+
COALESCE(hs.score, 0.0) as risk_score,
|
|
94
|
+
NTILE(?) OVER (ORDER BY COALESCE(hs.score, 0.0) DESC) as decile
|
|
95
|
+
FROM functions f
|
|
96
|
+
LEFT JOIN hotspot_scores hs ON hs.target = (f.file_path || ':' || f.name)
|
|
97
|
+
AND hs.type = 'function'
|
|
98
|
+
WHERE f.is_exported = 1
|
|
99
|
+
),
|
|
100
|
+
coverage AS (
|
|
101
|
+
SELECT DISTINCT function_name, file_path FROM coverage_data
|
|
102
|
+
WHERE covered = 1
|
|
103
|
+
)
|
|
104
|
+
SELECT
|
|
105
|
+
r.decile,
|
|
106
|
+
COUNT(*) as total,
|
|
107
|
+
SUM(CASE WHEN c.function_name IS NOT NULL THEN 1 ELSE 0 END) as covered
|
|
108
|
+
FROM ranked r
|
|
109
|
+
LEFT JOIN coverage c ON c.function_name = r.name AND c.file_path = r.file_path
|
|
110
|
+
GROUP BY r.decile
|
|
111
|
+
ORDER BY r.decile
|
|
112
|
+
`).all(decileCount);
|
|
113
|
+
return rows.map((r) => ({
|
|
114
|
+
decile: r.decile,
|
|
115
|
+
covered: r.covered,
|
|
116
|
+
total: r.total,
|
|
117
|
+
rate: r.total > 0 ? r.covered / r.total : 0,
|
|
118
|
+
}));
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Return the highest-risk exported functions that have no measured coverage.
|
|
122
|
+
* @param topDecile the percentile cutoff (0..1) selecting the top risk slice.
|
|
123
|
+
* @returns the untested functions in that top slice, ordered by descending risk score.
|
|
124
|
+
*/
|
|
125
|
+
getUntestedTopDecile(topDecile = 0.1) {
|
|
126
|
+
const rows = this.db.prepare(`
|
|
127
|
+
WITH ranked AS (
|
|
128
|
+
SELECT
|
|
129
|
+
f.name,
|
|
130
|
+
f.file_path,
|
|
131
|
+
f.line_number,
|
|
132
|
+
COALESCE(hs.score, 0.0) as risk_score,
|
|
133
|
+
PERCENT_RANK() OVER (ORDER BY COALESCE(hs.score, 0.0) DESC) as pct
|
|
134
|
+
FROM functions f
|
|
135
|
+
LEFT JOIN hotspot_scores hs ON hs.target = (f.file_path || ':' || f.name)
|
|
136
|
+
AND hs.type = 'function'
|
|
137
|
+
WHERE f.is_exported = 1
|
|
138
|
+
),
|
|
139
|
+
best_coverage AS (
|
|
140
|
+
SELECT DISTINCT function_name, file_path, basis FROM coverage_data
|
|
141
|
+
WHERE covered = 1
|
|
142
|
+
)
|
|
143
|
+
SELECT
|
|
144
|
+
r.name,
|
|
145
|
+
r.file_path,
|
|
146
|
+
r.line_number,
|
|
147
|
+
r.risk_score,
|
|
148
|
+
COALESCE(bc.basis, 'static-reach') as basis
|
|
149
|
+
FROM ranked r
|
|
150
|
+
LEFT JOIN best_coverage bc ON bc.function_name = r.name AND bc.file_path = r.file_path
|
|
151
|
+
WHERE r.pct <= ?
|
|
152
|
+
AND bc.basis IS NULL
|
|
153
|
+
ORDER BY r.risk_score DESC
|
|
154
|
+
`).all(topDecile);
|
|
155
|
+
return rows.map((r) => ({
|
|
156
|
+
functionName: r.name,
|
|
157
|
+
filePath: r.file_path,
|
|
158
|
+
lineNumber: r.line_number ?? 1,
|
|
159
|
+
riskScore: r.risk_score,
|
|
160
|
+
basis: r.basis,
|
|
161
|
+
}));
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
//# sourceMappingURL=coverage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coverage.js","sourceRoot":"","sources":["../../src/codeIndex/coverage.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dependency-graph access (Spec 14) — call/import edge construction and the
|
|
3
|
+
* transitive-closure / cycle / depth queries over them. Extracted from
|
|
4
|
+
* `CodeIndexDB`; holds only the raw SQLite handle.
|
|
5
|
+
*/
|
|
6
|
+
import type { SqliteDatabase } from '../sqlite/types.js';
|
|
7
|
+
/**
|
|
8
|
+
* Clear call edges for a scope — one file, or the whole table when unscoped.
|
|
9
|
+
*
|
|
10
|
+
* @param db The SQLite database handle.
|
|
11
|
+
* @param filePath When given, only edges owned by functions in this file are removed.
|
|
12
|
+
*/
|
|
13
|
+
export declare function clearCallEdges(db: SqliteDatabase, filePath?: string): void;
|
|
14
|
+
/**
|
|
15
|
+
* Clear dependency edges for a scope — one file, or the whole table when unscoped.
|
|
16
|
+
*
|
|
17
|
+
* @param db The SQLite database handle.
|
|
18
|
+
* @param filePath When given, only edges owned by functions in this file are removed.
|
|
19
|
+
*/
|
|
20
|
+
export declare function clearDependencyEdges(db: SqliteDatabase, filePath?: string): void;
|
|
21
|
+
/**
|
|
22
|
+
* Read the function rows a graph rebuild needs, scoped to a file when given.
|
|
23
|
+
*
|
|
24
|
+
* @param db The SQLite database handle.
|
|
25
|
+
* @param filePath When given, restrict the read to functions in this file.
|
|
26
|
+
* @returns The function rows (id, name, file_path, metadata_json) used to build edges.
|
|
27
|
+
*/
|
|
28
|
+
export declare function loadGraphFunctions(db: SqliteDatabase, filePath?: string): any[];
|
|
29
|
+
/**
|
|
30
|
+
* Rebuild call and dependency edges from function metadata.
|
|
31
|
+
*
|
|
32
|
+
* @param db The SQLite database handle.
|
|
33
|
+
* @param allFns The function rows whose metadata drives the edge inserts.
|
|
34
|
+
*/
|
|
35
|
+
export declare function insertGraphEdges(db: SqliteDatabase, allFns: any[]): void;
|
|
36
|
+
/**
|
|
37
|
+
* Dependency-graph queries over the `function_calls` and `function_dependencies`
|
|
38
|
+
* edge tables, keyed by function name. Rebuilds edges from stored metadata and
|
|
39
|
+
* answers transitive-closure, cycle, and dependency-depth questions over them.
|
|
40
|
+
*/
|
|
41
|
+
export declare class DependencyGraphIndex {
|
|
42
|
+
private db;
|
|
43
|
+
/**
|
|
44
|
+
* Create the index over the shared SQLite handle.
|
|
45
|
+
*
|
|
46
|
+
* @param db The SQLite database handle.
|
|
47
|
+
*/
|
|
48
|
+
constructor(db: SqliteDatabase);
|
|
49
|
+
/**
|
|
50
|
+
* Rebuild call and dependency edges from stored metadata. When scoped to a
|
|
51
|
+
* single file, only that file's functions are re-read — avoiding an
|
|
52
|
+
* O(files × functions) re-read on each detached-audit loop iteration.
|
|
53
|
+
*
|
|
54
|
+
* @param filePath When given, rebuild edges for this file only.
|
|
55
|
+
* @returns Resolves once the edge tables have been rebuilt in a transaction.
|
|
56
|
+
*/
|
|
57
|
+
updateDependencyGraph(filePath?: string): Promise<void>;
|
|
58
|
+
/**
|
|
59
|
+
* Return every function transitively reached from the given function by
|
|
60
|
+
* following call edges, up to a maximum hop depth.
|
|
61
|
+
*
|
|
62
|
+
* @param functionName The starting function name.
|
|
63
|
+
* @param maxDepth The maximum number of call-edge hops to traverse.
|
|
64
|
+
* @returns Distinct callee names with their distance, ordered by depth then name.
|
|
65
|
+
*/
|
|
66
|
+
getTransitiveDependencies(functionName: string, maxDepth?: number): Promise<Array<{
|
|
67
|
+
name: string;
|
|
68
|
+
depth: number;
|
|
69
|
+
}>>;
|
|
70
|
+
/**
|
|
71
|
+
* Return every function that transitively calls the given function, by walking
|
|
72
|
+
* call edges backward up to a maximum hop depth.
|
|
73
|
+
*
|
|
74
|
+
* @param functionName The function whose callers are sought.
|
|
75
|
+
* @param maxDepth The maximum number of call-edge hops to traverse.
|
|
76
|
+
* @returns Distinct caller names with their distance, ordered by depth then name.
|
|
77
|
+
*/
|
|
78
|
+
getTransitiveCallers(functionName: string, maxDepth?: number): Promise<Array<{
|
|
79
|
+
name: string;
|
|
80
|
+
depth: number;
|
|
81
|
+
}>>;
|
|
82
|
+
/**
|
|
83
|
+
* Find call cycles by walking call edges until a path returns to its start.
|
|
84
|
+
*
|
|
85
|
+
* @returns Each cycle as a list of function names in traversal order.
|
|
86
|
+
*/
|
|
87
|
+
detectCircularDependencies(): Promise<Array<string[]>>;
|
|
88
|
+
/**
|
|
89
|
+
* Compute and persist each function's deepest transitive dependency distance.
|
|
90
|
+
*
|
|
91
|
+
* @returns Resolves once every function's dependency_depth has been updated.
|
|
92
|
+
*/
|
|
93
|
+
calculateDependencyDepths(): Promise<void>;
|
|
94
|
+
/** Get graph statistics — delegates to graph/callGraph.ts (Spec 14 R1). */
|
|
95
|
+
getGraphStats(): import('../types.js').GraphStats;
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=dependencyGraph.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dependencyGraph.d.ts","sourceRoot":"","sources":["../../src/codeIndex/dependencyGraph.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAIzD;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,cAAc,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAM1E;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,cAAc,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAMhF;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,cAAc,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,GAAG,EAAE,CAI/E;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAsBxE;AAED;;;;GAIG;AACH,qBAAa,oBAAoB;IAMnB,OAAO,CAAC,EAAE;IALtB;;;;OAIG;gBACiB,EAAE,EAAE,cAAc;IAEtC;;;;;;;OAOG;IACG,qBAAqB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAa7D;;;;;;;OAOG;IACG,yBAAyB,CAC7B,YAAY,EAAE,MAAM,EACpB,QAAQ,GAAE,MAAW,GACpB,OAAO,CAAC,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IA6BlD;;;;;;;OAOG;IACG,oBAAoB,CACxB,YAAY,EAAE,MAAM,EACpB,QAAQ,GAAE,MAAW,GACpB,OAAO,CAAC,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAoBlD;;;;OAIG;IACG,0BAA0B,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IAyB5D;;;;OAIG;IACG,yBAAyB,IAAI,OAAO,CAAC,IAAI,CAAC;IAuChD,2EAA2E;IAC3E,aAAa,IAAI,OAAO,aAAa,EAAE,UAAU;CAGlD"}
|
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dependency-graph access (Spec 14) — call/import edge construction and the
|
|
3
|
+
* transitive-closure / cycle / depth queries over them. Extracted from
|
|
4
|
+
* `CodeIndexDB`; holds only the raw SQLite handle.
|
|
5
|
+
*/
|
|
6
|
+
import { tryParseJson } from './shared.js';
|
|
7
|
+
import { getGraphStats as getGs } from '../graph/callGraph.js';
|
|
8
|
+
/**
|
|
9
|
+
* Clear call edges for a scope — one file, or the whole table when unscoped.
|
|
10
|
+
*
|
|
11
|
+
* @param db The SQLite database handle.
|
|
12
|
+
* @param filePath When given, only edges owned by functions in this file are removed.
|
|
13
|
+
*/
|
|
14
|
+
export function clearCallEdges(db, filePath) {
|
|
15
|
+
if (filePath) {
|
|
16
|
+
db.prepare(`DELETE FROM function_calls WHERE caller_id IN (SELECT id FROM functions WHERE file_path = ?)`).run(filePath);
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
db.prepare('DELETE FROM function_calls').run();
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Clear dependency edges for a scope — one file, or the whole table when unscoped.
|
|
24
|
+
*
|
|
25
|
+
* @param db The SQLite database handle.
|
|
26
|
+
* @param filePath When given, only edges owned by functions in this file are removed.
|
|
27
|
+
*/
|
|
28
|
+
export function clearDependencyEdges(db, filePath) {
|
|
29
|
+
if (filePath) {
|
|
30
|
+
db.prepare(`DELETE FROM function_dependencies WHERE function_id IN (SELECT id FROM functions WHERE file_path = ?)`).run(filePath);
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
db.prepare('DELETE FROM function_dependencies').run();
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Read the function rows a graph rebuild needs, scoped to a file when given.
|
|
38
|
+
*
|
|
39
|
+
* @param db The SQLite database handle.
|
|
40
|
+
* @param filePath When given, restrict the read to functions in this file.
|
|
41
|
+
* @returns The function rows (id, name, file_path, metadata_json) used to build edges.
|
|
42
|
+
*/
|
|
43
|
+
export function loadGraphFunctions(db, filePath) {
|
|
44
|
+
return filePath
|
|
45
|
+
? db.prepare('SELECT id, name, file_path, metadata_json FROM functions WHERE file_path = ?').all(filePath)
|
|
46
|
+
: db.prepare('SELECT id, name, file_path, metadata_json FROM functions').all();
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Rebuild call and dependency edges from function metadata.
|
|
50
|
+
*
|
|
51
|
+
* @param db The SQLite database handle.
|
|
52
|
+
* @param allFns The function rows whose metadata drives the edge inserts.
|
|
53
|
+
*/
|
|
54
|
+
export function insertGraphEdges(db, allFns) {
|
|
55
|
+
const insertCall = db.prepare('INSERT OR IGNORE INTO function_calls (caller_id, callee_name) VALUES (?, ?)');
|
|
56
|
+
const insertFnDep = db.prepare('INSERT OR IGNORE INTO function_dependencies (function_id, dependency) VALUES (?, ?)');
|
|
57
|
+
for (const fn of allFns) {
|
|
58
|
+
const meta = tryParseJson(fn.metadata_json) ?? {};
|
|
59
|
+
if (meta.functionCalls) {
|
|
60
|
+
for (const callee of meta.functionCalls) {
|
|
61
|
+
insertCall.run(fn.id, callee);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
// Add specifier-level dependencies (e.g., useState, useEffect)
|
|
65
|
+
const usedImports = meta.usedImports ?? [];
|
|
66
|
+
for (const imp of usedImports) {
|
|
67
|
+
insertFnDep.run(fn.id, imp);
|
|
68
|
+
}
|
|
69
|
+
// Add module-level dependencies (e.g., react, express) — stored in
|
|
70
|
+
// metadata.dependencies since v3.0.4 to power the dep: operator
|
|
71
|
+
const moduleDeps = meta.dependencies ?? [];
|
|
72
|
+
for (const dep of moduleDeps) {
|
|
73
|
+
insertFnDep.run(fn.id, dep);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Dependency-graph queries over the `function_calls` and `function_dependencies`
|
|
79
|
+
* edge tables, keyed by function name. Rebuilds edges from stored metadata and
|
|
80
|
+
* answers transitive-closure, cycle, and dependency-depth questions over them.
|
|
81
|
+
*/
|
|
82
|
+
export class DependencyGraphIndex {
|
|
83
|
+
db;
|
|
84
|
+
/**
|
|
85
|
+
* Create the index over the shared SQLite handle.
|
|
86
|
+
*
|
|
87
|
+
* @param db The SQLite database handle.
|
|
88
|
+
*/
|
|
89
|
+
constructor(db) {
|
|
90
|
+
this.db = db;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Rebuild call and dependency edges from stored metadata. When scoped to a
|
|
94
|
+
* single file, only that file's functions are re-read — avoiding an
|
|
95
|
+
* O(files × functions) re-read on each detached-audit loop iteration.
|
|
96
|
+
*
|
|
97
|
+
* @param filePath When given, rebuild edges for this file only.
|
|
98
|
+
* @returns Resolves once the edge tables have been rebuilt in a transaction.
|
|
99
|
+
*/
|
|
100
|
+
async updateDependencyGraph(filePath) {
|
|
101
|
+
const txn = this.db.transaction(() => {
|
|
102
|
+
// Rebuild edges from metadata. When scoped to one file, read only that
|
|
103
|
+
// file's functions — a per-file call previously re-read every function
|
|
104
|
+
// in the index, making the detached-audit loop O(files × functions).
|
|
105
|
+
clearCallEdges(this.db, filePath);
|
|
106
|
+
clearDependencyEdges(this.db, filePath);
|
|
107
|
+
insertGraphEdges(this.db, loadGraphFunctions(this.db, filePath));
|
|
108
|
+
});
|
|
109
|
+
txn.immediate();
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Return every function transitively reached from the given function by
|
|
113
|
+
* following call edges, up to a maximum hop depth.
|
|
114
|
+
*
|
|
115
|
+
* @param functionName The starting function name.
|
|
116
|
+
* @param maxDepth The maximum number of call-edge hops to traverse.
|
|
117
|
+
* @returns Distinct callee names with their distance, ordered by depth then name.
|
|
118
|
+
*/
|
|
119
|
+
async getTransitiveDependencies(functionName, maxDepth = 10) {
|
|
120
|
+
const result = [];
|
|
121
|
+
const visited = new Set();
|
|
122
|
+
// Find starting function(s)
|
|
123
|
+
const startFns = this.db.prepare('SELECT id FROM functions WHERE name = ?').all(functionName);
|
|
124
|
+
if (startFns.length === 0)
|
|
125
|
+
return result;
|
|
126
|
+
// Use recursive CTE for transitive closure
|
|
127
|
+
const rows = this.db.prepare(`
|
|
128
|
+
WITH RECURSIVE deps(id, callee_name, depth) AS (
|
|
129
|
+
SELECT fc.caller_id, fc.callee_name, 1
|
|
130
|
+
FROM function_calls fc
|
|
131
|
+
WHERE fc.caller_id IN (SELECT id FROM functions WHERE name = ?)
|
|
132
|
+
UNION
|
|
133
|
+
SELECT fc.caller_id, fc.callee_name, deps.depth + 1
|
|
134
|
+
FROM function_calls fc
|
|
135
|
+
JOIN deps ON fc.caller_id IN (SELECT id FROM functions WHERE name = deps.callee_name)
|
|
136
|
+
WHERE deps.depth < ?
|
|
137
|
+
)
|
|
138
|
+
SELECT DISTINCT callee_name as name, depth FROM deps ORDER BY depth, name
|
|
139
|
+
`).all(functionName, maxDepth);
|
|
140
|
+
return rows;
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Return every function that transitively calls the given function, by walking
|
|
144
|
+
* call edges backward up to a maximum hop depth.
|
|
145
|
+
*
|
|
146
|
+
* @param functionName The function whose callers are sought.
|
|
147
|
+
* @param maxDepth The maximum number of call-edge hops to traverse.
|
|
148
|
+
* @returns Distinct caller names with their distance, ordered by depth then name.
|
|
149
|
+
*/
|
|
150
|
+
async getTransitiveCallers(functionName, maxDepth = 10) {
|
|
151
|
+
const rows = this.db.prepare(`
|
|
152
|
+
WITH RECURSIVE callers(id, caller_name, depth) AS (
|
|
153
|
+
SELECT fc.caller_id, f.name, 1
|
|
154
|
+
FROM function_calls fc
|
|
155
|
+
JOIN functions f ON f.id = fc.caller_id
|
|
156
|
+
WHERE fc.callee_name = ?
|
|
157
|
+
UNION
|
|
158
|
+
SELECT fc.caller_id, f2.name, callers.depth + 1
|
|
159
|
+
FROM function_calls fc
|
|
160
|
+
JOIN functions f2 ON f2.id = fc.caller_id
|
|
161
|
+
JOIN functions f3 ON f3.name = callers.caller_name AND fc.callee_name = f3.name
|
|
162
|
+
WHERE callers.depth < ?
|
|
163
|
+
)
|
|
164
|
+
SELECT DISTINCT caller_name as name, depth FROM callers ORDER BY depth, name
|
|
165
|
+
`).all(functionName, maxDepth);
|
|
166
|
+
return rows;
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Find call cycles by walking call edges until a path returns to its start.
|
|
170
|
+
*
|
|
171
|
+
* @returns Each cycle as a list of function names in traversal order.
|
|
172
|
+
*/
|
|
173
|
+
async detectCircularDependencies() {
|
|
174
|
+
// SQLite recursive CTE for cycle detection
|
|
175
|
+
const rows = this.db.prepare(`
|
|
176
|
+
WITH RECURSIVE paths(start_name, path, current_name, depth) AS (
|
|
177
|
+
SELECT f.name, f.name, fc.callee_name, 1
|
|
178
|
+
FROM functions f
|
|
179
|
+
JOIN function_calls fc ON fc.caller_id = f.id
|
|
180
|
+
UNION
|
|
181
|
+
SELECT paths.start_name,
|
|
182
|
+
paths.path || '→' || fc.callee_name,
|
|
183
|
+
fc.callee_name,
|
|
184
|
+
paths.depth + 1
|
|
185
|
+
FROM paths
|
|
186
|
+
JOIN functions f ON f.name = paths.current_name
|
|
187
|
+
JOIN function_calls fc ON fc.caller_id = f.id
|
|
188
|
+
WHERE paths.depth < 20
|
|
189
|
+
AND instr(paths.path, fc.callee_name) = 0
|
|
190
|
+
)
|
|
191
|
+
SELECT DISTINCT path FROM paths
|
|
192
|
+
WHERE current_name = start_name AND depth > 1
|
|
193
|
+
`).all();
|
|
194
|
+
return rows.map(r => r.path.split('→'));
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* Compute and persist each function's deepest transitive dependency distance.
|
|
198
|
+
*
|
|
199
|
+
* @returns Resolves once every function's dependency_depth has been updated.
|
|
200
|
+
*/
|
|
201
|
+
async calculateDependencyDepths() {
|
|
202
|
+
const update = this.db.prepare('UPDATE functions SET dependency_depth = ? WHERE id = ?');
|
|
203
|
+
// One recursive CTE computes every function's deepest transitive dependency
|
|
204
|
+
// distance in a single query — the previous per-function
|
|
205
|
+
// `getTransitiveDependencies(fn.name)` loop was one recursive CTE per function
|
|
206
|
+
// (a query-in-loop N+1). `root_name` carries each start function's name through
|
|
207
|
+
// the closure, mirroring `getTransitiveDependencies`'s base/recursive terms
|
|
208
|
+
// (`depth < 10` matches its default maxDepth), so the per-name max depth is
|
|
209
|
+
// equivalent to the loop's `Math.max(...deps.map(d => d.depth))`.
|
|
210
|
+
const rows = this.db.prepare(`
|
|
211
|
+
WITH RECURSIVE deps(root_name, callee_name, depth) AS (
|
|
212
|
+
SELECT f.name, fc.callee_name, 1
|
|
213
|
+
FROM functions f
|
|
214
|
+
JOIN function_calls fc ON fc.caller_id = f.id
|
|
215
|
+
UNION
|
|
216
|
+
SELECT deps.root_name, fc.callee_name, deps.depth + 1
|
|
217
|
+
FROM function_calls fc
|
|
218
|
+
JOIN deps ON fc.caller_id IN (SELECT id FROM functions WHERE name = deps.callee_name)
|
|
219
|
+
WHERE deps.depth < 10
|
|
220
|
+
)
|
|
221
|
+
SELECT root_name AS name, MAX(depth) AS maxDepth
|
|
222
|
+
FROM deps
|
|
223
|
+
GROUP BY root_name
|
|
224
|
+
`).all();
|
|
225
|
+
const maxByName = new Map();
|
|
226
|
+
for (const row of rows)
|
|
227
|
+
maxByName.set(row.name, row.maxDepth);
|
|
228
|
+
const functions = this.db.prepare('SELECT id, name FROM functions').all();
|
|
229
|
+
const txn = this.db.transaction(() => {
|
|
230
|
+
for (const fn of functions) {
|
|
231
|
+
update.run(maxByName.get(fn.name) ?? 0, fn.id);
|
|
232
|
+
}
|
|
233
|
+
});
|
|
234
|
+
txn();
|
|
235
|
+
}
|
|
236
|
+
/** Get graph statistics — delegates to graph/callGraph.ts (Spec 14 R1). */
|
|
237
|
+
getGraphStats() {
|
|
238
|
+
return getGs(this.db);
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
//# sourceMappingURL=dependencyGraph.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dependencyGraph.js","sourceRoot":"","sources":["../../src/codeIndex/dependencyGraph.ts"],"names":[],"mappings":"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"}
|