code-auditor-mcp 4.1.0 → 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 +374 -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 +1 -12
- package/dist/analyzers/universal/UniversalDRYAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalDRYAnalyzer.js +24 -101
- 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 +1537 -1051
- 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 +997 -812
- 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 +130 -277
- package/dist/codeIndexDB.d.ts.map +1 -1
- package/dist/codeIndexDB.js +364 -2748
- 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 +16 -1
- package/dist/config/configLoader.d.ts.map +1 -1
- package/dist/config/configLoader.js +26 -23
- 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 +21 -20
- 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/constants.d.ts.map +1 -1
- package/dist/constants.js +10 -5
- package/dist/constants.js.map +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 +22 -7
- package/dist/daemon/resolve.d.ts.map +1 -1
- package/dist/daemon/resolve.js +29 -8
- 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 +27 -8
- package/dist/dataPaths.d.ts.map +1 -1
- package/dist/dataPaths.js +28 -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 +832 -851
- 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 +1145 -988
- 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 +106 -92
- 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 +14 -8
- 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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"whitelistService.d.ts","sourceRoot":"","sources":["../../src/services/whitelistService.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EACL,cAAc,EACd,aAAa,EACb,eAAe,EACf,mBAAmB,EACpB,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"whitelistService.d.ts","sourceRoot":"","sources":["../../src/services/whitelistService.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EACL,cAAc,EACd,aAAa,EACb,eAAe,EACf,mBAAmB,EACpB,MAAM,uBAAuB,CAAC;AAyC/B;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAmB;IAE1C,OAAO;IAEP;;;;OAIG;IACH,MAAM,CAAC,WAAW,IAAI,gBAAgB;IAOtC;;OAEG;IACG,YAAY,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAK7F;;;;;;;;OAQG;IACG,QAAQ,CACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,aAAa,EACnB,WAAW,CAAC,EAAE,MAAM,EACpB,QAAQ,CAAC,EAAE,MAAM,EAAE,GAClB,OAAO,CAAC,cAAc,CAAC;IAY1B;;OAEG;IACG,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAKxE;;OAEG;IACG,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC;IAKxE;;;;;OAKG;IACG,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAoDhF;;;;;OAKG;IACG,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAOlF;;;;;OAKG;IACG,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC;QACxD,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,mBAAmB,EAAE,CAAC;KACpC,CAAC;IA0BF;;;;;OAKG;IACG,wBAAwB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC;QAC3D,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,EAAE,CAAC;KAClB,CAAC;IAyBF;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAI1B;;OAEG;IACH,OAAO,CAAC,eAAe;CAGxB;AAYD,eAAO,MAAM,gBAAgB,kBAAiC,CAAC;AAE/D,wBAAsB,YAAY,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,eAAe,6BAEhF;AAED;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,aAAa,EACnB,WAAW,CAAC,EAAE,MAAM,EACpB,QAAQ,CAAC,EAAE,MAAM,EAAE,2BAGpB;AAED,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,iBAEhF;AAED,wBAAsB,yBAAyB,CAAC,WAAW,EAAE,MAAM,kCAElE;AAED,wBAAsB,qBAAqB,CAAC,WAAW,EAAE,MAAM;WAvHpD,MAAM;iBACA,mBAAmB,EAAE;GAwHrC"}
|
|
@@ -6,9 +6,52 @@ import { getDatabase } from '../codeIndexService.js';
|
|
|
6
6
|
import { WhitelistType, WhitelistStatus } from '../types/whitelist.js';
|
|
7
7
|
import { promises as fs } from 'fs';
|
|
8
8
|
import path from 'path';
|
|
9
|
+
const FRAMEWORK_LIBRARIES = [
|
|
10
|
+
'react', 'react-dom', 'react-router', 'react-redux',
|
|
11
|
+
'vue', 'vue-router', 'vuex',
|
|
12
|
+
'angular', '@angular/core', '@angular/common',
|
|
13
|
+
'next', 'nextjs', '@next/font',
|
|
14
|
+
'express', 'fastify', 'koa',
|
|
15
|
+
'nestjs', '@nestjs/core',
|
|
16
|
+
'electron',
|
|
17
|
+
'@testing-library/react', 'jest', 'vitest', 'mocha',
|
|
18
|
+
'webpack', 'vite', 'rollup', 'parcel',
|
|
19
|
+
'typescript', '@types/node'
|
|
20
|
+
];
|
|
21
|
+
const SHARED_LIBRARIES = [
|
|
22
|
+
'lodash', 'underscore', 'ramda',
|
|
23
|
+
'axios', 'node-fetch', 'got', 'ky',
|
|
24
|
+
'moment', 'dayjs', 'date-fns',
|
|
25
|
+
'uuid', 'nanoid', 'shortid',
|
|
26
|
+
'chalk', 'colors', 'ora', 'inquirer',
|
|
27
|
+
'dotenv', 'config', 'yargs', 'commander',
|
|
28
|
+
'joi', 'yup', 'zod', 'ajv',
|
|
29
|
+
'winston', 'pino', 'bunyan', 'debug',
|
|
30
|
+
'prettier', 'eslint', '@typescript-eslint',
|
|
31
|
+
'husky', 'lint-staged',
|
|
32
|
+
'classnames', 'clsx',
|
|
33
|
+
'query-string', 'qs',
|
|
34
|
+
'formik', 'react-hook-form',
|
|
35
|
+
'swr', 'react-query', '@tanstack/react-query',
|
|
36
|
+
'zustand', 'mobx', 'recoil', 'jotai',
|
|
37
|
+
'styled-components', 'emotion', '@emotion/styled',
|
|
38
|
+
'tailwindcss', 'postcss', 'autoprefixer',
|
|
39
|
+
'framer-motion', 'react-spring',
|
|
40
|
+
'd3', 'chart.js', 'recharts',
|
|
41
|
+
'monaco-editor', 'codemirror',
|
|
42
|
+
'markdown-it', 'marked', 'remark'
|
|
43
|
+
];
|
|
44
|
+
/**
|
|
45
|
+
* Manages whitelisted dependencies and classes for the SOLID analyzer.
|
|
46
|
+
*/
|
|
9
47
|
export class WhitelistService {
|
|
10
48
|
static instance;
|
|
11
49
|
constructor() { }
|
|
50
|
+
/**
|
|
51
|
+
* Return the process-wide singleton service instance.
|
|
52
|
+
*
|
|
53
|
+
* @returns The singleton `WhitelistService`.
|
|
54
|
+
*/
|
|
12
55
|
static getInstance() {
|
|
13
56
|
if (!WhitelistService.instance) {
|
|
14
57
|
WhitelistService.instance = new WhitelistService();
|
|
@@ -20,14 +63,20 @@ export class WhitelistService {
|
|
|
20
63
|
*/
|
|
21
64
|
async getWhitelist(type, status) {
|
|
22
65
|
const db = await getDatabase();
|
|
23
|
-
return db.getWhitelist(type, status);
|
|
66
|
+
return db.whitelist.getWhitelist(type, status);
|
|
24
67
|
}
|
|
25
68
|
/**
|
|
26
|
-
* Add a new whitelist entry
|
|
69
|
+
* Add a new whitelist entry.
|
|
70
|
+
*
|
|
71
|
+
* @param name - The entry name to whitelist.
|
|
72
|
+
* @param type - The whitelist type.
|
|
73
|
+
* @param description - Optional entry description.
|
|
74
|
+
* @param patterns - Optional matching patterns.
|
|
75
|
+
* @returns The created whitelist entry.
|
|
27
76
|
*/
|
|
28
77
|
async addEntry(name, type, description, patterns) {
|
|
29
78
|
const db = await getDatabase();
|
|
30
|
-
return db.addWhitelistEntry({
|
|
79
|
+
return db.whitelist.addWhitelistEntry({
|
|
31
80
|
name,
|
|
32
81
|
type,
|
|
33
82
|
status: WhitelistStatus.Active,
|
|
@@ -41,17 +90,20 @@ export class WhitelistService {
|
|
|
41
90
|
*/
|
|
42
91
|
async updateStatus(name, status) {
|
|
43
92
|
const db = await getDatabase();
|
|
44
|
-
await db.updateWhitelistStatus(name, status);
|
|
93
|
+
await db.whitelist.updateWhitelistStatus(name, status);
|
|
45
94
|
}
|
|
46
95
|
/**
|
|
47
96
|
* Check if a name is whitelisted
|
|
48
97
|
*/
|
|
49
98
|
async isWhitelisted(name, type) {
|
|
50
99
|
const db = await getDatabase();
|
|
51
|
-
return db.isWhitelisted(name, type);
|
|
100
|
+
return db.whitelist.isWhitelisted(name, type);
|
|
52
101
|
}
|
|
53
102
|
/**
|
|
54
|
-
* Detect whitelist candidates from package.json
|
|
103
|
+
* Detect whitelist candidates from package.json.
|
|
104
|
+
*
|
|
105
|
+
* @param projectPath - The project path whose dependencies are scanned.
|
|
106
|
+
* @returns The candidate whitelist suggestions.
|
|
55
107
|
*/
|
|
56
108
|
async detectFromPackageJson(projectPath) {
|
|
57
109
|
const suggestions = [];
|
|
@@ -99,7 +151,10 @@ export class WhitelistService {
|
|
|
99
151
|
return suggestions;
|
|
100
152
|
}
|
|
101
153
|
/**
|
|
102
|
-
* Detect whitelist candidates from usage patterns
|
|
154
|
+
* Detect whitelist candidates from usage patterns.
|
|
155
|
+
*
|
|
156
|
+
* @param projectPath - The project path to scan for usage patterns.
|
|
157
|
+
* @returns The candidate whitelist suggestions.
|
|
103
158
|
*/
|
|
104
159
|
async detectFromUsagePatterns(projectPath) {
|
|
105
160
|
// TODO: Implement usage pattern detection
|
|
@@ -108,7 +163,10 @@ export class WhitelistService {
|
|
|
108
163
|
return [];
|
|
109
164
|
}
|
|
110
165
|
/**
|
|
111
|
-
* Auto-populate whitelist for a project
|
|
166
|
+
* Auto-populate whitelist for a project.
|
|
167
|
+
*
|
|
168
|
+
* @param projectPath - The project whose high-confidence candidates are added.
|
|
169
|
+
* @returns The number added and the remaining low-confidence suggestions.
|
|
112
170
|
*/
|
|
113
171
|
async autoPopulateWhitelist(projectPath) {
|
|
114
172
|
const suggestions = await this.detectFromPackageJson(projectPath);
|
|
@@ -131,7 +189,10 @@ export class WhitelistService {
|
|
|
131
189
|
};
|
|
132
190
|
}
|
|
133
191
|
/**
|
|
134
|
-
* Whitelist ALL dependencies from package.json
|
|
192
|
+
* Whitelist ALL dependencies from package.json.
|
|
193
|
+
*
|
|
194
|
+
* @param projectPath - The project whose dependencies are all whitelisted.
|
|
195
|
+
* @returns The number added and any dependency names that failed.
|
|
135
196
|
*/
|
|
136
197
|
async whitelistAllDependencies(projectPath) {
|
|
137
198
|
const suggestions = await this.detectFromPackageJson(projectPath);
|
|
@@ -156,55 +217,35 @@ export class WhitelistService {
|
|
|
156
217
|
* Check if a dependency is a known framework library
|
|
157
218
|
*/
|
|
158
219
|
isFrameworkLibrary(dep) {
|
|
159
|
-
|
|
160
|
-
'react', 'react-dom', 'react-router', 'react-redux',
|
|
161
|
-
'vue', 'vue-router', 'vuex',
|
|
162
|
-
'angular', '@angular/core', '@angular/common',
|
|
163
|
-
'next', 'nextjs', '@next/font',
|
|
164
|
-
'express', 'fastify', 'koa',
|
|
165
|
-
'nestjs', '@nestjs/core',
|
|
166
|
-
'electron',
|
|
167
|
-
'@testing-library/react', 'jest', 'vitest', 'mocha',
|
|
168
|
-
'webpack', 'vite', 'rollup', 'parcel',
|
|
169
|
-
'typescript', '@types/node'
|
|
170
|
-
];
|
|
171
|
-
return frameworks.some(framework => dep === framework || dep.startsWith(`${framework}/`) || dep.startsWith(`@${framework}/`));
|
|
220
|
+
return matchesLibrary(dep, FRAMEWORK_LIBRARIES);
|
|
172
221
|
}
|
|
173
222
|
/**
|
|
174
223
|
* Check if a dependency is a common shared/utility library
|
|
175
224
|
*/
|
|
176
225
|
isSharedLibrary(dep) {
|
|
177
|
-
|
|
178
|
-
'lodash', 'underscore', 'ramda',
|
|
179
|
-
'axios', 'node-fetch', 'got', 'ky',
|
|
180
|
-
'moment', 'dayjs', 'date-fns',
|
|
181
|
-
'uuid', 'nanoid', 'shortid',
|
|
182
|
-
'chalk', 'colors', 'ora', 'inquirer',
|
|
183
|
-
'dotenv', 'config', 'yargs', 'commander',
|
|
184
|
-
'joi', 'yup', 'zod', 'ajv',
|
|
185
|
-
'winston', 'pino', 'bunyan', 'debug',
|
|
186
|
-
'prettier', 'eslint', '@typescript-eslint',
|
|
187
|
-
'husky', 'lint-staged',
|
|
188
|
-
'classnames', 'clsx',
|
|
189
|
-
'query-string', 'qs',
|
|
190
|
-
'formik', 'react-hook-form',
|
|
191
|
-
'swr', 'react-query', '@tanstack/react-query',
|
|
192
|
-
'zustand', 'mobx', 'recoil', 'jotai',
|
|
193
|
-
'styled-components', 'emotion', '@emotion/styled',
|
|
194
|
-
'tailwindcss', 'postcss', 'autoprefixer',
|
|
195
|
-
'framer-motion', 'react-spring',
|
|
196
|
-
'd3', 'chart.js', 'recharts',
|
|
197
|
-
'monaco-editor', 'codemirror',
|
|
198
|
-
'markdown-it', 'marked', 'remark'
|
|
199
|
-
];
|
|
200
|
-
return sharedLibs.some(lib => dep === lib || dep.startsWith(`${lib}/`) || dep.startsWith(`@${lib}/`));
|
|
226
|
+
return matchesLibrary(dep, SHARED_LIBRARIES);
|
|
201
227
|
}
|
|
202
228
|
}
|
|
229
|
+
/**
|
|
230
|
+
* True when `dep` is the library or a subpath / scoped subpath of it.
|
|
231
|
+
*/
|
|
232
|
+
function matchesLibrary(dep, libs) {
|
|
233
|
+
return libs.some(lib => dep === lib || dep.startsWith(`${lib}/`) || dep.startsWith(`@${lib}/`));
|
|
234
|
+
}
|
|
203
235
|
// Export singleton instance methods for convenience
|
|
204
236
|
export const whitelistService = WhitelistService.getInstance();
|
|
205
237
|
export async function getWhitelist(type, status) {
|
|
206
238
|
return whitelistService.getWhitelist(type, status);
|
|
207
239
|
}
|
|
240
|
+
/**
|
|
241
|
+
* Add a whitelist entry via the singleton service.
|
|
242
|
+
*
|
|
243
|
+
* @param name - The entry name to whitelist.
|
|
244
|
+
* @param type - The whitelist type.
|
|
245
|
+
* @param description - Optional entry description.
|
|
246
|
+
* @param patterns - Optional matching patterns.
|
|
247
|
+
* @returns The created whitelist entry.
|
|
248
|
+
*/
|
|
208
249
|
export async function addWhitelistEntry(name, type, description, patterns) {
|
|
209
250
|
return whitelistService.addEntry(name, type, description, patterns);
|
|
210
251
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"whitelistService.js","sourceRoot":"","sources":["../../src/services/whitelistService.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAEL,aAAa,EACb,eAAe,EAEhB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,OAAO,gBAAgB;IACnB,MAAM,CAAC,QAAQ,CAAmB;IAE1C,gBAAuB,CAAC;IAExB,MAAM,CAAC,WAAW;QAChB,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC;YAC/B,gBAAgB,CAAC,QAAQ,GAAG,IAAI,gBAAgB,EAAE,CAAC;QACrD,CAAC;QACD,OAAO,gBAAgB,CAAC,QAAQ,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,IAAoB,EAAE,MAAwB;QAC/D,MAAM,EAAE,GAAG,MAAM,WAAW,EAAE,CAAC;QAC/B,OAAO,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"whitelistService.js","sourceRoot":"","sources":["../../src/services/whitelistService.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,15 +13,49 @@
|
|
|
13
13
|
import type { OpenSqliteOptions, SqliteDatabase, SqliteStatement, SqliteTransaction } from './types.js';
|
|
14
14
|
/** True when `msg` indicates better-sqlite3's native binding was never built. */
|
|
15
15
|
export declare function isMissingBetterSqlite3Binding(message: string): boolean;
|
|
16
|
-
/**
|
|
16
|
+
/**
|
|
17
|
+
* Capability probe: can this process load better-sqlite3 (binding included)?
|
|
18
|
+
*
|
|
19
|
+
* @returns True when better-sqlite3 (with its native binding) loads.
|
|
20
|
+
*/
|
|
17
21
|
export declare function isBetterSqlite3Available(): boolean;
|
|
22
|
+
/**
|
|
23
|
+
* SQLite database backed by the better-sqlite3 native module.
|
|
24
|
+
*/
|
|
18
25
|
export declare class BetterSqlite3Database implements SqliteDatabase {
|
|
19
26
|
private readonly db;
|
|
27
|
+
/**
|
|
28
|
+
* Open (or create) a database through better-sqlite3.
|
|
29
|
+
* @param dbPath The database file path.
|
|
30
|
+
* @param opts Open options carrying the busy timeout.
|
|
31
|
+
*/
|
|
20
32
|
constructor(dbPath: string, opts: OpenSqliteOptions);
|
|
33
|
+
/**
|
|
34
|
+
* Prepare a SQL statement for later execution.
|
|
35
|
+
* @param sql The SQL to prepare.
|
|
36
|
+
* @returns A prepared statement.
|
|
37
|
+
*/
|
|
21
38
|
prepare(sql: string): SqliteStatement;
|
|
39
|
+
/**
|
|
40
|
+
* Execute one or more SQL statements directly.
|
|
41
|
+
* @param sql The SQL to execute.
|
|
42
|
+
*/
|
|
22
43
|
exec(sql: string): void;
|
|
44
|
+
/**
|
|
45
|
+
* Run a PRAGMA statement and return its result.
|
|
46
|
+
* @param pragmaSql The PRAGMA body (without the `PRAGMA` prefix).
|
|
47
|
+
* @returns The pragma result.
|
|
48
|
+
*/
|
|
23
49
|
pragma(pragmaSql: string): unknown;
|
|
50
|
+
/**
|
|
51
|
+
* Wrap a function in a SQLite transaction.
|
|
52
|
+
* @param fn The function to run transactionally.
|
|
53
|
+
* @returns A callable transaction.
|
|
54
|
+
*/
|
|
24
55
|
transaction<Args extends unknown[] = unknown[], R = unknown>(fn: (...args: Args) => R): SqliteTransaction<Args, R>;
|
|
56
|
+
/**
|
|
57
|
+
* Close the underlying database.
|
|
58
|
+
*/
|
|
25
59
|
close(): void;
|
|
26
60
|
}
|
|
27
61
|
//# sourceMappingURL=betterSqlite3.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"betterSqlite3.d.ts","sourceRoot":"","sources":["../../src/sqlite/betterSqlite3.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,KAAK,EACV,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,iBAAiB,EAClB,MAAM,YAAY,CAAC;AASpB,iFAAiF;AACjF,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEtE;AA6BD
|
|
1
|
+
{"version":3,"file":"betterSqlite3.d.ts","sourceRoot":"","sources":["../../src/sqlite/betterSqlite3.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,KAAK,EACV,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,iBAAiB,EAClB,MAAM,YAAY,CAAC;AASpB,iFAAiF;AACjF,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEtE;AA6BD;;;;GAIG;AACH,wBAAgB,wBAAwB,IAAI,OAAO,CAOlD;AAED;;GAEG;AACH,qBAAa,qBAAsB,YAAW,cAAc;IAC1D,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAoB;IAEvC;;;;OAIG;gBACS,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB;IAKnD;;;;OAIG;IACH,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe;IAIrC;;;OAGG;IACH,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAIvB;;;;OAIG;IACH,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAIlC;;;;OAIG;IACH,WAAW,CAAC,IAAI,SAAS,OAAO,EAAE,GAAG,OAAO,EAAE,EAAE,CAAC,GAAG,OAAO,EACzD,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,CAAC,GACvB,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC;IAI7B;;OAEG;IACH,KAAK,IAAI,IAAI;CAGd"}
|
|
@@ -44,7 +44,11 @@ function loadBetterSqlite3() {
|
|
|
44
44
|
throw e instanceof Error ? e : new Error(String(e));
|
|
45
45
|
}
|
|
46
46
|
}
|
|
47
|
-
/**
|
|
47
|
+
/**
|
|
48
|
+
* Capability probe: can this process load better-sqlite3 (binding included)?
|
|
49
|
+
*
|
|
50
|
+
* @returns True when better-sqlite3 (with its native binding) loads.
|
|
51
|
+
*/
|
|
48
52
|
export function isBetterSqlite3Available() {
|
|
49
53
|
try {
|
|
50
54
|
loadBetterSqlite3();
|
|
@@ -54,24 +58,54 @@ export function isBetterSqlite3Available() {
|
|
|
54
58
|
return false;
|
|
55
59
|
}
|
|
56
60
|
}
|
|
61
|
+
/**
|
|
62
|
+
* SQLite database backed by the better-sqlite3 native module.
|
|
63
|
+
*/
|
|
57
64
|
export class BetterSqlite3Database {
|
|
58
65
|
db;
|
|
66
|
+
/**
|
|
67
|
+
* Open (or create) a database through better-sqlite3.
|
|
68
|
+
* @param dbPath The database file path.
|
|
69
|
+
* @param opts Open options carrying the busy timeout.
|
|
70
|
+
*/
|
|
59
71
|
constructor(dbPath, opts) {
|
|
60
72
|
const DatabaseCtor = loadBetterSqlite3();
|
|
61
73
|
this.db = new DatabaseCtor(dbPath, { timeout: opts.timeoutMs });
|
|
62
74
|
}
|
|
75
|
+
/**
|
|
76
|
+
* Prepare a SQL statement for later execution.
|
|
77
|
+
* @param sql The SQL to prepare.
|
|
78
|
+
* @returns A prepared statement.
|
|
79
|
+
*/
|
|
63
80
|
prepare(sql) {
|
|
64
81
|
return this.db.prepare(sql);
|
|
65
82
|
}
|
|
83
|
+
/**
|
|
84
|
+
* Execute one or more SQL statements directly.
|
|
85
|
+
* @param sql The SQL to execute.
|
|
86
|
+
*/
|
|
66
87
|
exec(sql) {
|
|
67
88
|
this.db.exec(sql);
|
|
68
89
|
}
|
|
90
|
+
/**
|
|
91
|
+
* Run a PRAGMA statement and return its result.
|
|
92
|
+
* @param pragmaSql The PRAGMA body (without the `PRAGMA` prefix).
|
|
93
|
+
* @returns The pragma result.
|
|
94
|
+
*/
|
|
69
95
|
pragma(pragmaSql) {
|
|
70
96
|
return this.db.pragma(pragmaSql);
|
|
71
97
|
}
|
|
98
|
+
/**
|
|
99
|
+
* Wrap a function in a SQLite transaction.
|
|
100
|
+
* @param fn The function to run transactionally.
|
|
101
|
+
* @returns A callable transaction.
|
|
102
|
+
*/
|
|
72
103
|
transaction(fn) {
|
|
73
104
|
return this.db.transaction(fn);
|
|
74
105
|
}
|
|
106
|
+
/**
|
|
107
|
+
* Close the underlying database.
|
|
108
|
+
*/
|
|
75
109
|
close() {
|
|
76
110
|
this.db.close();
|
|
77
111
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"betterSqlite3.js","sourceRoot":"","sources":["../../src/sqlite/betterSqlite3.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAS5C,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAE/C,MAAM,wBAAwB,GAAa;IACzC,qCAAqC,EAAE,wCAAwC;IAC/E,4BAA4B,EAAE,oCAAoC;CACnE,CAAC;AAEF,iFAAiF;AACjF,MAAM,UAAU,6BAA6B,CAAC,OAAe;IAC3D,OAAO,wBAAwB,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;AACjE,CAAC;AAED,iFAAiF;AACjF,SAAS,qBAAqB,CAAC,QAAgB;IAC7C,OAAO,CACL,8EAA8E;QAC9E,gFAAgF;QAChF,wFAAwF;QACxF,+CAA+C;QAC/C,8EAA8E;QAC9E,2BAA2B;QAC3B,wDAAwD;QACxD,iCAAiC;QACjC,qBAAqB,QAAQ,EAAE,CAChC,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB;IACxB,IAAI,CAAC;QACH,OAAO,OAAO,CAAC,gBAAgB,CAAoB,CAAC;IACtD,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,GAAG,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACvD,IAAI,6BAA6B,CAAC,GAAG,CAAC,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9C,CAAC;QACD,MAAM,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,CAAC;AACH,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"betterSqlite3.js","sourceRoot":"","sources":["../../src/sqlite/betterSqlite3.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAS5C,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAE/C,MAAM,wBAAwB,GAAa;IACzC,qCAAqC,EAAE,wCAAwC;IAC/E,4BAA4B,EAAE,oCAAoC;CACnE,CAAC;AAEF,iFAAiF;AACjF,MAAM,UAAU,6BAA6B,CAAC,OAAe;IAC3D,OAAO,wBAAwB,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;AACjE,CAAC;AAED,iFAAiF;AACjF,SAAS,qBAAqB,CAAC,QAAgB;IAC7C,OAAO,CACL,8EAA8E;QAC9E,gFAAgF;QAChF,wFAAwF;QACxF,+CAA+C;QAC/C,8EAA8E;QAC9E,2BAA2B;QAC3B,wDAAwD;QACxD,iCAAiC;QACjC,qBAAqB,QAAQ,EAAE,CAChC,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB;IACxB,IAAI,CAAC;QACH,OAAO,OAAO,CAAC,gBAAgB,CAAoB,CAAC;IACtD,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,GAAG,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACvD,IAAI,6BAA6B,CAAC,GAAG,CAAC,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9C,CAAC;QACD,MAAM,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,wBAAwB;IACtC,IAAI,CAAC;QACH,iBAAiB,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,OAAO,qBAAqB;IACf,EAAE,CAAoB;IAEvC;;;;OAIG;IACH,YAAY,MAAc,EAAE,IAAuB;QACjD,MAAM,YAAY,GAAG,iBAAiB,EAAE,CAAC;QACzC,IAAI,CAAC,EAAE,GAAG,IAAI,YAAY,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;IAClE,CAAC;IAED;;;;OAIG;IACH,OAAO,CAAC,GAAW;QACjB,OAAO,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAoB,CAAC;IACjD,CAAC;IAED;;;OAGG;IACH,IAAI,CAAC,GAAW;QACd,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,SAAiB;QACtB,OAAO,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACnC,CAAC;IAED;;;;OAIG;IACH,WAAW,CACT,EAAwB;QAExB,OAAO,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,CAA+B,CAAC;IAC/D,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;IAClB,CAAC;CACF"}
|
package/dist/sqlite/driver.d.ts
CHANGED
|
@@ -11,6 +11,16 @@
|
|
|
11
11
|
* backend for the parity test suite; an invalid value is an error.
|
|
12
12
|
*/
|
|
13
13
|
import type { OpenSqliteOptions, SqliteBackend, SqliteDatabase } from './types.js';
|
|
14
|
+
/**
|
|
15
|
+
* SQLite busy timeout shared by every open path (the facade and the LokiJS
|
|
16
|
+
* migration). The database is shared across forked processes (a detached audit
|
|
17
|
+
* runner and its shard workers); better-sqlite3's default busy timeout (~5s) is
|
|
18
|
+
* too short for a running job's long completion transaction, so a queued job's
|
|
19
|
+
* lease `BEGIN IMMEDIATE` (or the runner's own writes) would throw SQLITE_BUSY
|
|
20
|
+
* ("database is locked") instead of waiting. A generous timeout makes
|
|
21
|
+
* contention block gracefully; the lease loop also retries SQLITE_BUSY.
|
|
22
|
+
*/
|
|
23
|
+
export declare const DB_BUSY_TIMEOUT_MS = 30000;
|
|
14
24
|
/** The backend selected by the most recent {@link openSqlite} call. */
|
|
15
25
|
export declare function getActiveBackend(): SqliteBackend | undefined;
|
|
16
26
|
/**
|
|
@@ -18,7 +28,20 @@ export declare function getActiveBackend(): SqliteBackend | undefined;
|
|
|
18
28
|
* otherwise the last backend an {@link openSqlite} selected, otherwise a
|
|
19
29
|
* capability probe (which builtin is actually loadable on this Node). "none"
|
|
20
30
|
* when neither backend can load.
|
|
31
|
+
*
|
|
32
|
+
* @returns The active (or likely) backend name, or "none".
|
|
21
33
|
*/
|
|
22
34
|
export declare function describeSqliteBackend(): string;
|
|
35
|
+
/**
|
|
36
|
+
* Open a SQLite database using the best available backend.
|
|
37
|
+
*
|
|
38
|
+
* Prefers the Node built-in `node:sqlite` when it can open a database, and
|
|
39
|
+
* falls back to `better-sqlite3`. An explicit `CODE_AUDITOR_SQLITE_BACKEND`
|
|
40
|
+
* override forces one backend, and an invalid value is an error.
|
|
41
|
+
*
|
|
42
|
+
* @param dbPath The database file path.
|
|
43
|
+
* @param opts Open options passed to the selected backend.
|
|
44
|
+
* @returns An open database, or throws when no backend is usable.
|
|
45
|
+
*/
|
|
23
46
|
export declare function openSqlite(dbPath: string, opts: OpenSqliteOptions): SqliteDatabase;
|
|
24
47
|
//# sourceMappingURL=driver.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../src/sqlite/driver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EACV,iBAAiB,EACjB,aAAa,EACb,cAAc,EACf,MAAM,YAAY,CAAC;AAMpB,uEAAuE;AACvE,wBAAgB,gBAAgB,IAAI,aAAa,GAAG,SAAS,CAE5D;AAED
|
|
1
|
+
{"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../src/sqlite/driver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EACV,iBAAiB,EACjB,aAAa,EACb,cAAc,EACf,MAAM,YAAY,CAAC;AAMpB;;;;;;;;GAQG;AACH,eAAO,MAAM,kBAAkB,QAAS,CAAC;AAEzC,uEAAuE;AACvE,wBAAgB,gBAAgB,IAAI,aAAa,GAAG,SAAS,CAE5D;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAO9C;AAoBD;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,GAAG,cAAc,CAyClF"}
|
package/dist/sqlite/driver.js
CHANGED
|
@@ -13,6 +13,16 @@
|
|
|
13
13
|
import { NodeSqliteDatabase, isNodeSqliteAvailable } from './nodeSqlite.js';
|
|
14
14
|
import { BetterSqlite3Database, isBetterSqlite3Available } from './betterSqlite3.js';
|
|
15
15
|
let activeBackend;
|
|
16
|
+
/**
|
|
17
|
+
* SQLite busy timeout shared by every open path (the facade and the LokiJS
|
|
18
|
+
* migration). The database is shared across forked processes (a detached audit
|
|
19
|
+
* runner and its shard workers); better-sqlite3's default busy timeout (~5s) is
|
|
20
|
+
* too short for a running job's long completion transaction, so a queued job's
|
|
21
|
+
* lease `BEGIN IMMEDIATE` (or the runner's own writes) would throw SQLITE_BUSY
|
|
22
|
+
* ("database is locked") instead of waiting. A generous timeout makes
|
|
23
|
+
* contention block gracefully; the lease loop also retries SQLITE_BUSY.
|
|
24
|
+
*/
|
|
25
|
+
export const DB_BUSY_TIMEOUT_MS = 30_000;
|
|
16
26
|
/** The backend selected by the most recent {@link openSqlite} call. */
|
|
17
27
|
export function getActiveBackend() {
|
|
18
28
|
return activeBackend;
|
|
@@ -22,6 +32,8 @@ export function getActiveBackend() {
|
|
|
22
32
|
* otherwise the last backend an {@link openSqlite} selected, otherwise a
|
|
23
33
|
* capability probe (which builtin is actually loadable on this Node). "none"
|
|
24
34
|
* when neither backend can load.
|
|
35
|
+
*
|
|
36
|
+
* @returns The active (or likely) backend name, or "none".
|
|
25
37
|
*/
|
|
26
38
|
export function describeSqliteBackend() {
|
|
27
39
|
const override = process.env.CODE_AUDITOR_SQLITE_BACKEND;
|
|
@@ -49,6 +61,17 @@ function loudFailure(tried, errors) {
|
|
|
49
61
|
' pnpm approve-builds # select better-sqlite3\n' +
|
|
50
62
|
' pnpm rebuild better-sqlite3');
|
|
51
63
|
}
|
|
64
|
+
/**
|
|
65
|
+
* Open a SQLite database using the best available backend.
|
|
66
|
+
*
|
|
67
|
+
* Prefers the Node built-in `node:sqlite` when it can open a database, and
|
|
68
|
+
* falls back to `better-sqlite3`. An explicit `CODE_AUDITOR_SQLITE_BACKEND`
|
|
69
|
+
* override forces one backend, and an invalid value is an error.
|
|
70
|
+
*
|
|
71
|
+
* @param dbPath The database file path.
|
|
72
|
+
* @param opts Open options passed to the selected backend.
|
|
73
|
+
* @returns An open database, or throws when no backend is usable.
|
|
74
|
+
*/
|
|
52
75
|
export function openSqlite(dbPath, opts) {
|
|
53
76
|
const override = process.env.CODE_AUDITOR_SQLITE_BACKEND;
|
|
54
77
|
if (override !== undefined && override !== 'node-sqlite' && override !== 'better-sqlite3') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driver.js","sourceRoot":"","sources":["../../src/sqlite/driver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAOH,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAErF,IAAI,aAAwC,CAAC;AAE7C,uEAAuE;AACvE,MAAM,UAAU,gBAAgB;IAC9B,OAAO,aAAa,CAAC;AACvB,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"driver.js","sourceRoot":"","sources":["../../src/sqlite/driver.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,15 +13,49 @@
|
|
|
13
13
|
* check in `driver.ts`.
|
|
14
14
|
*/
|
|
15
15
|
import type { OpenSqliteOptions, SqliteDatabase, SqliteStatement, SqliteTransaction } from './types.js';
|
|
16
|
-
/**
|
|
16
|
+
/**
|
|
17
|
+
* Capability probe: can this Node load the `node:sqlite` builtin?
|
|
18
|
+
*
|
|
19
|
+
* @returns True when `node:sqlite` (with `DatabaseSync`) loads.
|
|
20
|
+
*/
|
|
17
21
|
export declare function isNodeSqliteAvailable(): boolean;
|
|
22
|
+
/**
|
|
23
|
+
* SQLite database backed by the Node built-in `node:sqlite`.
|
|
24
|
+
*/
|
|
18
25
|
export declare class NodeSqliteDatabase implements SqliteDatabase {
|
|
19
26
|
private readonly db;
|
|
27
|
+
/**
|
|
28
|
+
* Open (or create) a database through `node:sqlite`.
|
|
29
|
+
* @param dbPath The database file path.
|
|
30
|
+
* @param opts Open options carrying the busy timeout.
|
|
31
|
+
*/
|
|
20
32
|
constructor(dbPath: string, opts: OpenSqliteOptions);
|
|
33
|
+
/**
|
|
34
|
+
* Prepare a SQL statement for later execution.
|
|
35
|
+
* @param sql The SQL to prepare.
|
|
36
|
+
* @returns A prepared statement.
|
|
37
|
+
*/
|
|
21
38
|
prepare(sql: string): SqliteStatement;
|
|
39
|
+
/**
|
|
40
|
+
* Execute one or more SQL statements directly.
|
|
41
|
+
* @param sql The SQL to execute.
|
|
42
|
+
*/
|
|
22
43
|
exec(sql: string): void;
|
|
44
|
+
/**
|
|
45
|
+
* Run a PRAGMA statement, discarding the result (node:sqlite has no pragma API).
|
|
46
|
+
* @param pragmaSql The PRAGMA body (without the `PRAGMA` prefix).
|
|
47
|
+
* @returns Always undefined.
|
|
48
|
+
*/
|
|
23
49
|
pragma(pragmaSql: string): unknown;
|
|
50
|
+
/**
|
|
51
|
+
* Wrap a function in a SQLite transaction via explicit BEGIN/COMMIT/ROLLBACK.
|
|
52
|
+
* @param fn The function to run transactionally.
|
|
53
|
+
* @returns A callable transaction with `immediate`/`deferred` variants.
|
|
54
|
+
*/
|
|
24
55
|
transaction<Args extends unknown[] = unknown[], R = unknown>(fn: (...args: Args) => R): SqliteTransaction<Args, R>;
|
|
56
|
+
/**
|
|
57
|
+
* Close the underlying database.
|
|
58
|
+
*/
|
|
25
59
|
close(): void;
|
|
26
60
|
}
|
|
27
61
|
//# sourceMappingURL=nodeSqlite.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nodeSqlite.d.ts","sourceRoot":"","sources":["../../src/sqlite/nodeSqlite.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,OAAO,KAAK,EACV,iBAAiB,EACjB,cAAc,EAEd,eAAe,EACf,iBAAiB,EAClB,MAAM,YAAY,CAAC;AA8CpB
|
|
1
|
+
{"version":3,"file":"nodeSqlite.d.ts","sourceRoot":"","sources":["../../src/sqlite/nodeSqlite.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,OAAO,KAAK,EACV,iBAAiB,EACjB,cAAc,EAEd,eAAe,EACf,iBAAiB,EAClB,MAAM,YAAY,CAAC;AA8CpB;;;;GAIG;AACH,wBAAgB,qBAAqB,IAAI,OAAO,CAO/C;AAsCD;;GAEG;AACH,qBAAa,kBAAmB,YAAW,cAAc;IACvD,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAe;IAElC;;;;OAIG;gBACS,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB;IAOnD;;;;OAIG;IACH,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe;IAQrC;;;OAGG;IACH,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAQvB;;;;OAIG;IACH,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IASlC;;;;OAIG;IACH,WAAW,CAAC,IAAI,SAAS,OAAO,EAAE,GAAG,OAAO,EAAE,EAAE,CAAC,GAAG,OAAO,EACzD,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,CAAC,GACvB,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC;IA2B7B;;OAEG;IACH,KAAK,IAAI,IAAI;CAGd"}
|
|
@@ -53,7 +53,11 @@ function loadDatabaseSync() {
|
|
|
53
53
|
}
|
|
54
54
|
return mod.DatabaseSync;
|
|
55
55
|
}
|
|
56
|
-
/**
|
|
56
|
+
/**
|
|
57
|
+
* Capability probe: can this Node load the `node:sqlite` builtin?
|
|
58
|
+
*
|
|
59
|
+
* @returns True when `node:sqlite` (with `DatabaseSync`) loads.
|
|
60
|
+
*/
|
|
57
61
|
export function isNodeSqliteAvailable() {
|
|
58
62
|
try {
|
|
59
63
|
loadDatabaseSync();
|
|
@@ -100,14 +104,27 @@ class NodeSqliteStatement {
|
|
|
100
104
|
}
|
|
101
105
|
}
|
|
102
106
|
}
|
|
107
|
+
/**
|
|
108
|
+
* SQLite database backed by the Node built-in `node:sqlite`.
|
|
109
|
+
*/
|
|
103
110
|
export class NodeSqliteDatabase {
|
|
104
111
|
db;
|
|
112
|
+
/**
|
|
113
|
+
* Open (or create) a database through `node:sqlite`.
|
|
114
|
+
* @param dbPath The database file path.
|
|
115
|
+
* @param opts Open options carrying the busy timeout.
|
|
116
|
+
*/
|
|
105
117
|
constructor(dbPath, opts) {
|
|
106
118
|
const DatabaseSyncCtor = loadDatabaseSync();
|
|
107
119
|
this.db = new DatabaseSyncCtor(dbPath);
|
|
108
120
|
// node:sqlite has no `timeout` constructor option; busy timeout is a PRAGMA.
|
|
109
121
|
this.db.exec(`PRAGMA busy_timeout = ${opts.timeoutMs}`);
|
|
110
122
|
}
|
|
123
|
+
/**
|
|
124
|
+
* Prepare a SQL statement for later execution.
|
|
125
|
+
* @param sql The SQL to prepare.
|
|
126
|
+
* @returns A prepared statement.
|
|
127
|
+
*/
|
|
111
128
|
prepare(sql) {
|
|
112
129
|
try {
|
|
113
130
|
return new NodeSqliteStatement(this.db.prepare(sql));
|
|
@@ -116,6 +133,10 @@ export class NodeSqliteDatabase {
|
|
|
116
133
|
throw normalizeSqliteError(e);
|
|
117
134
|
}
|
|
118
135
|
}
|
|
136
|
+
/**
|
|
137
|
+
* Execute one or more SQL statements directly.
|
|
138
|
+
* @param sql The SQL to execute.
|
|
139
|
+
*/
|
|
119
140
|
exec(sql) {
|
|
120
141
|
try {
|
|
121
142
|
this.db.exec(sql);
|
|
@@ -124,6 +145,11 @@ export class NodeSqliteDatabase {
|
|
|
124
145
|
throw normalizeSqliteError(e);
|
|
125
146
|
}
|
|
126
147
|
}
|
|
148
|
+
/**
|
|
149
|
+
* Run a PRAGMA statement, discarding the result (node:sqlite has no pragma API).
|
|
150
|
+
* @param pragmaSql The PRAGMA body (without the `PRAGMA` prefix).
|
|
151
|
+
* @returns Always undefined.
|
|
152
|
+
*/
|
|
127
153
|
pragma(pragmaSql) {
|
|
128
154
|
try {
|
|
129
155
|
this.db.exec(`PRAGMA ${pragmaSql}`);
|
|
@@ -133,6 +159,11 @@ export class NodeSqliteDatabase {
|
|
|
133
159
|
}
|
|
134
160
|
return undefined;
|
|
135
161
|
}
|
|
162
|
+
/**
|
|
163
|
+
* Wrap a function in a SQLite transaction via explicit BEGIN/COMMIT/ROLLBACK.
|
|
164
|
+
* @param fn The function to run transactionally.
|
|
165
|
+
* @returns A callable transaction with `immediate`/`deferred` variants.
|
|
166
|
+
*/
|
|
136
167
|
transaction(fn) {
|
|
137
168
|
const run = (mode, args) => {
|
|
138
169
|
try {
|
|
@@ -161,6 +192,9 @@ export class NodeSqliteDatabase {
|
|
|
161
192
|
txn.deferred = (...args) => run('deferred', args);
|
|
162
193
|
return txn;
|
|
163
194
|
}
|
|
195
|
+
/**
|
|
196
|
+
* Close the underlying database.
|
|
197
|
+
*/
|
|
164
198
|
close() {
|
|
165
199
|
this.db.close();
|
|
166
200
|
}
|