code-auditor-mcp 5.0.1 → 5.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +1 -1
- package/CHANGELOG.md +227 -3
- package/README.md +24 -2
- package/configs/hhra-compat.json +12 -118
- package/dist/analyzers/cross-language/DependencyGraphBuilder.d.ts.map +1 -1
- package/dist/analyzers/cross-language/DependencyGraphBuilder.js +11 -1
- package/dist/analyzers/cross-language/DependencyGraphBuilder.js.map +1 -1
- package/dist/analyzers/crossDomain/CrossDomainAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/crossDomain/CrossDomainAnalyzer.js +57 -52
- package/dist/analyzers/crossDomain/CrossDomainAnalyzer.js.map +1 -1
- package/dist/analyzers/handleIdentification.d.ts.map +1 -1
- package/dist/analyzers/handleIdentification.js +4 -1
- package/dist/analyzers/handleIdentification.js.map +1 -1
- package/dist/analyzers/provenance.d.ts +9 -4
- package/dist/analyzers/provenance.d.ts.map +1 -1
- package/dist/analyzers/provenance.js +8 -25
- package/dist/analyzers/provenance.js.map +1 -1
- package/dist/analyzers/reactAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/reactAnalyzer.js +0 -5
- package/dist/analyzers/reactAnalyzer.js.map +1 -1
- package/dist/analyzers/receiverRoot.d.ts +20 -0
- package/dist/analyzers/receiverRoot.d.ts.map +1 -1
- package/dist/analyzers/receiverRoot.js +42 -0
- package/dist/analyzers/receiverRoot.js.map +1 -1
- package/dist/analyzers/ruleRegistry.js +4 -4
- package/dist/analyzers/ruleRegistry.js.map +1 -1
- package/dist/analyzers/ruleTiming.d.ts +1 -1
- package/dist/analyzers/ruleTiming.js +2 -2
- package/dist/analyzers/ruleTiming.js.map +1 -1
- package/dist/analyzers/tsEcosystem.d.ts.map +1 -1
- package/dist/analyzers/tsEcosystem.js +10 -0
- package/dist/analyzers/tsEcosystem.js.map +1 -1
- package/dist/analyzers/universal/UniversalConventionsAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalConventionsAnalyzer.js +22 -26
- package/dist/analyzers/universal/UniversalConventionsAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/UniversalDataAccessAnalyzer.d.ts +32 -15
- package/dist/analyzers/universal/UniversalDataAccessAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalDataAccessAnalyzer.js +189 -115
- package/dist/analyzers/universal/UniversalDataAccessAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/UniversalSOLIDAnalyzer.d.ts +0 -2
- package/dist/analyzers/universal/UniversalSOLIDAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalSOLIDAnalyzer.js +0 -5
- package/dist/analyzers/universal/UniversalSOLIDAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/UniversalStylesAnalyzer.d.ts +2 -10
- package/dist/analyzers/universal/UniversalStylesAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalStylesAnalyzer.js +7 -49
- package/dist/analyzers/universal/UniversalStylesAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/schema/config.d.ts.map +1 -1
- package/dist/analyzers/universal/schema/config.js +0 -2
- package/dist/analyzers/universal/schema/config.js.map +1 -1
- package/dist/analyzers/universal/schema/types.d.ts +0 -2
- package/dist/analyzers/universal/schema/types.d.ts.map +1 -1
- package/dist/analyzers/vendorSurfaces.d.ts +126 -0
- package/dist/analyzers/vendorSurfaces.d.ts.map +1 -0
- package/dist/analyzers/vendorSurfaces.js +580 -0
- package/dist/analyzers/vendorSurfaces.js.map +1 -0
- package/dist/auditRunner.d.ts +2 -0
- package/dist/auditRunner.d.ts.map +1 -1
- package/dist/auditRunner.js +159 -160
- package/dist/auditRunner.js.map +1 -1
- package/dist/churn/churnExtractor.d.ts +0 -1
- package/dist/churn/churnExtractor.d.ts.map +1 -1
- package/dist/churn/churnExtractor.js +2 -4
- package/dist/churn/churnExtractor.js.map +1 -1
- package/dist/cli.d.ts +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +212 -29
- package/dist/cli.js.map +1 -1
- package/dist/codeIndex/migrations.d.ts.map +1 -1
- package/dist/codeIndex/migrations.js +4 -3
- package/dist/codeIndex/migrations.js.map +1 -1
- package/dist/codeIndexDB.d.ts +11 -2
- package/dist/codeIndexDB.d.ts.map +1 -1
- package/dist/codeIndexDB.js +27 -2
- package/dist/codeIndexDB.js.map +1 -1
- package/dist/config/configLoader.d.ts +60 -7
- package/dist/config/configLoader.d.ts.map +1 -1
- package/dist/config/configLoader.js +252 -60
- package/dist/config/configLoader.js.map +1 -1
- package/dist/config/defaults.d.ts +77 -18
- package/dist/config/defaults.d.ts.map +1 -1
- package/dist/config/defaults.js +105 -43
- package/dist/config/defaults.js.map +1 -1
- package/dist/constants.d.ts +2 -1
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +4 -0
- package/dist/constants.js.map +1 -1
- package/dist/daemon/main.d.ts +0 -1
- package/dist/daemon/main.d.ts.map +1 -1
- package/dist/daemon/main.js +31 -8
- package/dist/daemon/main.js.map +1 -1
- package/dist/dataPaths.d.ts +17 -11
- package/dist/dataPaths.d.ts.map +1 -1
- package/dist/dataPaths.js +51 -16
- package/dist/dataPaths.js.map +1 -1
- package/dist/graph/resolutionEnvironment.d.ts +61 -0
- package/dist/graph/resolutionEnvironment.d.ts.map +1 -0
- package/dist/graph/resolutionEnvironment.js +57 -0
- package/dist/graph/resolutionEnvironment.js.map +1 -0
- package/dist/hookLog.d.ts +54 -0
- package/dist/hookLog.d.ts.map +1 -0
- package/dist/hookLog.js +105 -0
- package/dist/hookLog.js.map +1 -0
- package/dist/hookLogPath.generated.d.ts +3 -0
- package/dist/hookLogPath.generated.d.ts.map +1 -0
- package/dist/hookLogPath.generated.js +8 -0
- package/dist/hookLogPath.generated.js.map +1 -0
- package/dist/index.d.ts +0 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -7
- package/dist/index.js.map +1 -1
- package/dist/installConfig.d.ts +15 -2
- package/dist/installConfig.d.ts.map +1 -1
- package/dist/installConfig.js +17 -2
- package/dist/installConfig.js.map +1 -1
- package/dist/languages/typescript/TreeSitterTypeScriptAdapter.d.ts.map +1 -1
- package/dist/languages/typescript/TreeSitterTypeScriptAdapter.js +18 -3
- package/dist/languages/typescript/TreeSitterTypeScriptAdapter.js.map +1 -1
- package/dist/mcp-tools/workflowGuide.js +8 -8
- package/dist/mcp-tools/workflowGuide.js.map +1 -1
- package/dist/mcp-tools-shared.d.ts.map +1 -1
- package/dist/mcp-tools-shared.js +5 -2
- package/dist/mcp-tools-shared.js.map +1 -1
- package/dist/mcp-ui-simple.d.ts +5 -0
- package/dist/mcp-ui-simple.d.ts.map +1 -1
- package/dist/mcp-ui-simple.js +9 -2
- package/dist/mcp-ui-simple.js.map +1 -1
- package/dist/mcp.d.ts +0 -1
- package/dist/mcp.d.ts.map +1 -1
- package/dist/mcp.js +36 -33
- package/dist/mcp.js.map +1 -1
- package/dist/mcpAuditJobs.d.ts +10 -0
- package/dist/mcpAuditJobs.d.ts.map +1 -1
- package/dist/mcpAuditJobs.js +10 -1
- package/dist/mcpAuditJobs.js.map +1 -1
- package/dist/mcpAutoIndex.d.ts.map +1 -1
- package/dist/mcpAutoIndex.js +2 -1
- package/dist/mcpAutoIndex.js.map +1 -1
- package/dist/phase/colorMath.d.ts +18 -5
- package/dist/phase/colorMath.d.ts.map +1 -1
- package/dist/phase/colorMath.js +88 -5
- package/dist/phase/colorMath.js.map +1 -1
- package/dist/phase/dataAccessCallsCandidates.js +1 -1
- package/dist/phase/dataAccessCallsCandidates.js.map +1 -1
- package/dist/phase/goFunctionAnalysis.d.ts +2 -2
- package/dist/phase/goFunctionAnalysis.js +2 -2
- package/dist/phase/goFunctions.d.ts +2 -2
- package/dist/phase/goFunctions.js +2 -2
- package/dist/phase/goImports.d.ts +2 -2
- package/dist/phase/goImports.js +2 -2
- package/dist/phase/goSwitches.d.ts +2 -2
- package/dist/phase/goSwitches.js +2 -2
- package/dist/phase/loopQueryCandidates.js +1 -1
- package/dist/phase/loopQueryCandidates.js.map +1 -1
- package/dist/phase/phaseModel.d.ts +37 -8
- package/dist/phase/phaseModel.d.ts.map +1 -1
- package/dist/phase/phaseModel.js +94 -46
- package/dist/phase/phaseModel.js.map +1 -1
- package/dist/phase/producers.d.ts.map +1 -1
- package/dist/phase/producers.js +27 -17
- package/dist/phase/producers.js.map +1 -1
- package/dist/phase/reachability.d.ts +44 -1
- package/dist/phase/reachability.d.ts.map +1 -1
- package/dist/phase/reachability.js +79 -0
- package/dist/phase/reachability.js.map +1 -1
- package/dist/phase/receiverConsumers.d.ts +8 -1
- package/dist/phase/receiverConsumers.d.ts.map +1 -1
- package/dist/phase/receiverConsumers.js +59 -21
- package/dist/phase/receiverConsumers.js.map +1 -1
- package/dist/phase/receiverProvenance.d.ts +23 -0
- package/dist/phase/receiverProvenance.d.ts.map +1 -1
- package/dist/phase/receiverProvenance.js +40 -0
- package/dist/phase/receiverProvenance.js.map +1 -1
- package/dist/phase/rules/crossDomain.d.ts.map +1 -1
- package/dist/phase/rules/crossDomain.js +16 -6
- package/dist/phase/rules/crossDomain.js.map +1 -1
- package/dist/phase/rules/dry.d.ts.map +1 -1
- package/dist/phase/rules/dry.js +0 -1
- package/dist/phase/rules/dry.js.map +1 -1
- package/dist/phase/rules/goRules.d.ts +2 -2
- package/dist/phase/rules/goRules.js +2 -2
- package/dist/phase/rules/secrets.d.ts +22 -8
- package/dist/phase/rules/secrets.d.ts.map +1 -1
- package/dist/phase/rules/secrets.js +48 -67
- package/dist/phase/rules/secrets.js.map +1 -1
- package/dist/phase/rules/styles.d.ts +23 -9
- package/dist/phase/rules/styles.d.ts.map +1 -1
- package/dist/phase/rules/styles.js +47 -15
- package/dist/phase/rules/styles.js.map +1 -1
- package/dist/phase/rules/unreferencedModule.d.ts.map +1 -1
- package/dist/phase/rules/unreferencedModule.js +16 -5
- package/dist/phase/rules/unreferencedModule.js.map +1 -1
- package/dist/phase/runner.d.ts +16 -7
- package/dist/phase/runner.d.ts.map +1 -1
- package/dist/phase/runner.js +32 -20
- package/dist/phase/runner.js.map +1 -1
- package/dist/phase/stylesCss.d.ts.map +1 -1
- package/dist/phase/stylesCss.js +4 -0
- package/dist/phase/stylesCss.js.map +1 -1
- package/dist/phase/stylesMarkup.d.ts.map +1 -1
- package/dist/phase/stylesMarkup.js +4 -0
- package/dist/phase/stylesMarkup.js.map +1 -1
- package/dist/phase/stylesSource.d.ts.map +1 -1
- package/dist/phase/stylesSource.js +6 -0
- package/dist/phase/stylesSource.js.map +1 -1
- package/dist/phase/testProgram.d.ts +57 -0
- package/dist/phase/testProgram.d.ts.map +1 -0
- package/dist/phase/testProgram.js +244 -0
- package/dist/phase/testProgram.js.map +1 -0
- package/dist/phase/typeDeclarations.d.ts +2 -2
- package/dist/phase/typeDeclarations.js +2 -2
- package/dist/phase/types.d.ts +54 -0
- package/dist/phase/types.d.ts.map +1 -1
- package/dist/pipelineAdapters.d.ts +1 -171
- package/dist/pipelineAdapters.d.ts.map +1 -1
- package/dist/pipelineAdapters.js +47 -1281
- package/dist/pipelineAdapters.js.map +1 -1
- package/dist/reporting/csvReportGenerator.d.ts.map +1 -1
- package/dist/reporting/csvReportGenerator.js +0 -6
- package/dist/reporting/csvReportGenerator.js.map +1 -1
- package/dist/reporting/htmlReportGenerator.d.ts.map +1 -1
- package/dist/reporting/htmlReportGenerator.js +0 -4
- package/dist/reporting/htmlReportGenerator.js.map +1 -1
- package/dist/reporting/jsonReportGenerator.d.ts.map +1 -1
- package/dist/reporting/jsonReportGenerator.js +0 -1
- package/dist/reporting/jsonReportGenerator.js.map +1 -1
- package/dist/reporting/sarifReportGenerator.d.ts.map +1 -1
- package/dist/reporting/sarifReportGenerator.js +0 -7
- package/dist/reporting/sarifReportGenerator.js.map +1 -1
- package/dist/sqlite/driver.d.ts +17 -1
- package/dist/sqlite/driver.d.ts.map +1 -1
- package/dist/sqlite/driver.js +28 -5
- package/dist/sqlite/driver.js.map +1 -1
- package/dist/styles/cssInJsHarvest.d.ts +36 -0
- package/dist/styles/cssInJsHarvest.d.ts.map +1 -0
- package/dist/styles/cssInJsHarvest.js +78 -0
- package/dist/styles/cssInJsHarvest.js.map +1 -0
- package/dist/styles/definedClasses.d.ts +95 -0
- package/dist/styles/definedClasses.d.ts.map +1 -0
- package/dist/styles/definedClasses.js +129 -0
- package/dist/styles/definedClasses.js.map +1 -0
- package/dist/styles/markupStyleHarvest.d.ts +33 -0
- package/dist/styles/markupStyleHarvest.d.ts.map +1 -0
- package/dist/styles/markupStyleHarvest.js +73 -0
- package/dist/styles/markupStyleHarvest.js.map +1 -0
- package/dist/styles/styleExtractor.d.ts +37 -0
- package/dist/styles/styleExtractor.d.ts.map +1 -1
- package/dist/styles/styleExtractor.js +89 -33
- package/dist/styles/styleExtractor.js.map +1 -1
- package/dist/styles/styleIndexer.d.ts.map +1 -1
- package/dist/styles/styleIndexer.js +11 -10
- package/dist/styles/styleIndexer.js.map +1 -1
- package/dist/styles/tailwindExpander.d.ts.map +1 -1
- package/dist/styles/tailwindExpander.js +31 -10
- package/dist/styles/tailwindExpander.js.map +1 -1
- package/dist/telemetry.d.ts +67 -1
- package/dist/telemetry.d.ts.map +1 -1
- package/dist/telemetry.js +100 -20
- package/dist/telemetry.js.map +1 -1
- package/dist/types/crossLanguage.d.ts +1 -0
- package/dist/types/crossLanguage.d.ts.map +1 -1
- package/dist/types.d.ts +36 -56
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +4 -4
- package/dist/types.js.map +1 -1
- package/dist/version.generated.d.ts +1 -1
- package/dist/version.generated.js +1 -1
- package/examples/.auditrc.example.json +7 -22
- package/examples/.auditrc.json +12 -155
- package/examples/.code-auditor.json +8 -51
- package/examples/nextjs.auditrc.json +7 -34
- package/examples/node-api.auditrc.json +6 -46
- package/examples/react.auditrc.json +8 -25
- package/examples/tolerant-solid.auditrc.json +12 -44
- package/package.json +13 -9
- package/plugin/.claude-plugin/manifest.json +10 -9
- package/plugin/.claude-plugin/plugin.json +1 -1
- package/plugin/hooks/hooks.json +4 -4
- package/plugin/scripts/hook-audit.sh +14 -2
- package/plugin/scripts/hook-common.sh +41 -11
- package/plugin/scripts/hook-drift-check.sh +19 -6
- package/plugin/scripts/hook-log-path.sh +7 -0
- package/plugin/scripts/hook-self-audit.sh +14 -2
- package/plugin/scripts/hook-warm.sh +22 -17
- package/plugin/skills/code-auditor/SKILL.md +26 -3
- package/server.json +10 -4
- package/dist/__tests__/fixtures/spec-20/scripts/tool.d.ts +0 -6
- package/dist/__tests__/fixtures/spec-20/scripts/tool.d.ts.map +0 -1
- package/dist/__tests__/fixtures/spec-20/scripts/tool.js +0 -12
- package/dist/__tests__/fixtures/spec-20/scripts/tool.js.map +0 -1
- package/dist/__tests__/fixtures/spec-20/src/demo-module.d.ts +0 -7
- package/dist/__tests__/fixtures/spec-20/src/demo-module.d.ts.map +0 -1
- package/dist/__tests__/fixtures/spec-20/src/demo-module.js +0 -13
- package/dist/__tests__/fixtures/spec-20/src/demo-module.js.map +0 -1
- package/dist/__tests__/fixtures/spec-52/item-01-prepare-in-loop.d.ts +0 -14
- package/dist/__tests__/fixtures/spec-52/item-01-prepare-in-loop.d.ts.map +0 -1
- package/dist/__tests__/fixtures/spec-52/item-01-prepare-in-loop.js +0 -16
- package/dist/__tests__/fixtures/spec-52/item-01-prepare-in-loop.js.map +0 -1
- package/dist/__tests__/fixtures/spec-52/item-02-prepare-bind-accumulate-batch.d.ts +0 -15
- package/dist/__tests__/fixtures/spec-52/item-02-prepare-bind-accumulate-batch.d.ts.map +0 -1
- package/dist/__tests__/fixtures/spec-52/item-02-prepare-bind-accumulate-batch.js +0 -17
- package/dist/__tests__/fixtures/spec-52/item-02-prepare-bind-accumulate-batch.js.map +0 -1
- package/dist/__tests__/fixtures/spec-52/item-03-exec-in-loop.d.ts +0 -14
- package/dist/__tests__/fixtures/spec-52/item-03-exec-in-loop.d.ts.map +0 -1
- package/dist/__tests__/fixtures/spec-52/item-03-exec-in-loop.js +0 -19
- package/dist/__tests__/fixtures/spec-52/item-03-exec-in-loop.js.map +0 -1
- package/dist/__tests__/fixtures/spec-52/item-04-storage-sql-exec-in-loop.d.ts +0 -18
- package/dist/__tests__/fixtures/spec-52/item-04-storage-sql-exec-in-loop.d.ts.map +0 -1
- package/dist/__tests__/fixtures/spec-52/item-04-storage-sql-exec-in-loop.js +0 -19
- package/dist/__tests__/fixtures/spec-52/item-04-storage-sql-exec-in-loop.js.map +0 -1
- package/dist/__tests__/fixtures/spec-52/item-05-upsert-forms.d.ts +0 -19
- package/dist/__tests__/fixtures/spec-52/item-05-upsert-forms.d.ts.map +0 -1
- package/dist/__tests__/fixtures/spec-52/item-05-upsert-forms.js +0 -19
- package/dist/__tests__/fixtures/spec-52/item-05-upsert-forms.js.map +0 -1
- package/dist/__tests__/fixtures/spec-52/item-06-chained-prepare-run-in-loop.d.ts +0 -17
- package/dist/__tests__/fixtures/spec-52/item-06-chained-prepare-run-in-loop.d.ts.map +0 -1
- package/dist/__tests__/fixtures/spec-52/item-06-chained-prepare-run-in-loop.js +0 -19
- package/dist/__tests__/fixtures/spec-52/item-06-chained-prepare-run-in-loop.js.map +0 -1
- package/dist/__tests__/fixtures/spec-52/item-07-chained-prepare-bind-first-in-loop.d.ts +0 -25
- package/dist/__tests__/fixtures/spec-52/item-07-chained-prepare-bind-first-in-loop.d.ts.map +0 -1
- package/dist/__tests__/fixtures/spec-52/item-07-chained-prepare-bind-first-in-loop.js +0 -21
- package/dist/__tests__/fixtures/spec-52/item-07-chained-prepare-bind-first-in-loop.js.map +0 -1
- package/dist/__tests__/fixtures/spec-52/item-08-promise-all-of-statements-in-loop.d.ts +0 -15
- package/dist/__tests__/fixtures/spec-52/item-08-promise-all-of-statements-in-loop.d.ts.map +0 -1
- package/dist/__tests__/fixtures/spec-52/item-08-promise-all-of-statements-in-loop.js +0 -19
- package/dist/__tests__/fixtures/spec-52/item-08-promise-all-of-statements-in-loop.js.map +0 -1
- package/dist/__tests__/fixtures/spec-52/item-09-promise-all-map-of-statements-in-loop.d.ts +0 -14
- package/dist/__tests__/fixtures/spec-52/item-09-promise-all-map-of-statements-in-loop.d.ts.map +0 -1
- package/dist/__tests__/fixtures/spec-52/item-09-promise-all-map-of-statements-in-loop.js +0 -14
- package/dist/__tests__/fixtures/spec-52/item-09-promise-all-map-of-statements-in-loop.js.map +0 -1
- package/dist/__tests__/fixtures/spec-52/item-10-promise-all-map-of-eager-all-in-loop.d.ts +0 -15
- package/dist/__tests__/fixtures/spec-52/item-10-promise-all-map-of-eager-all-in-loop.d.ts.map +0 -1
- package/dist/__tests__/fixtures/spec-52/item-10-promise-all-map-of-eager-all-in-loop.js +0 -16
- package/dist/__tests__/fixtures/spec-52/item-10-promise-all-map-of-eager-all-in-loop.js.map +0 -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 +0 -643
- package/dist/languages/go/analyzer-src/dataaccess.go +0 -388
- package/dist/languages/go/analyzer-src/go.mod +0 -3
- package/dist/languages/go/analyzer-src/indexer.go +0 -268
- package/dist/languages/go/analyzer-src/parser.go +0 -461
- package/dist/languages/go/analyzer-src/solid.go +0 -311
- package/dist/languages/go/analyzer-src/testconventions.go +0 -25
- package/dist/languages/go/analyzer-src/types.go +0 -156
- package/dist/languages/go/analyzer-windows-amd64.exe +0 -0
- package/dist/languages/go/go.mod +0 -7
- package/dist/languages/go/main.go +0 -203
- package/dist/native/ast-grep-napi.darwin-arm64.node +0 -0
- package/dist/native/ast-grep-napi.darwin-x64.node +0 -0
- package/dist/native/ast-grep-napi.linux-arm64-gnu.node +0 -0
- package/dist/native/ast-grep-napi.linux-arm64-musl.node +0 -0
- package/dist/native/ast-grep-napi.linux-x64-gnu.node +0 -0
- package/dist/native/ast-grep-napi.linux-x64-musl.node +0 -0
- package/dist/native/ast-grep-napi.win32-x64-msvc.node +0 -0
- package/dist/native-bootstrap.d.ts +0 -15
- package/dist/native-bootstrap.d.ts.map +0 -1
- package/dist/native-bootstrap.js +0 -75
- package/dist/native-bootstrap.js.map +0 -1
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
* `classifyImportSpecifier` / `DEFAULT_VIRTUAL_MODULES` are imported (they
|
|
14
14
|
* survive §15); the walk bodies and filename heuristics below are re-homed.
|
|
15
15
|
*/
|
|
16
|
-
import type { FileImportsFact, ReachabilityFact } from './types.js';
|
|
16
|
+
import type { FileImportsFact, ReachabilityFact, UnprovenModule } from './types.js';
|
|
17
17
|
/**
|
|
18
18
|
* True when the file path matches a test-file convention (`.test.`/`.spec.`/
|
|
19
19
|
* `__tests__`/`/test/`/`/tests/`/`_test.go`).
|
|
@@ -58,4 +58,47 @@ export interface ReachabilityOptions {
|
|
|
58
58
|
* @returns The reverse import adjacency and the package entry-point set.
|
|
59
59
|
*/
|
|
60
60
|
export declare function computeReachability(fileImports: readonly FileImportsFact[], options: ReachabilityOptions): ReachabilityFact;
|
|
61
|
+
/**
|
|
62
|
+
* Derive the per-file reachability ranking the audit runner uses to order
|
|
63
|
+
* findings within a severity tier. 1.0 for a framework/package entry point
|
|
64
|
+
* (`isEntryPointFile` route/page/worker/script/etc. or a package.json entry),
|
|
65
|
+
* 0.5 for a file imported by another, 0.0 for a file the graph references by
|
|
66
|
+
* nothing (dead code). Only corpus files are scored; a file absent from the
|
|
67
|
+
* corpus (a finding on something the graph never saw) is omitted so the caller
|
|
68
|
+
* can fall back to a neutral 0.5 and never demote on absent data.
|
|
69
|
+
*
|
|
70
|
+
* The filename heuristic is the same `isEntryPointFile` the `unreferenced-module`
|
|
71
|
+
* rule uses to withhold a dead-code finding: a `/scripts/` or `worker.ts` file
|
|
72
|
+
* that nothing imports is a framework entry point, not dead code, and must rank
|
|
73
|
+
* live (1.0) rather than dead (0.0).
|
|
74
|
+
*
|
|
75
|
+
* @param fileImports - The per-file import facts (the full corpus file set).
|
|
76
|
+
* @param reachability - The reverse import adjacency and package entry points.
|
|
77
|
+
* @returns A score per corpus file, keyed by its path.
|
|
78
|
+
*/
|
|
79
|
+
export declare function computeReachabilityScores(fileImports: readonly FileImportsFact[], reachability: ReachabilityFact): Map<string, number>;
|
|
80
|
+
/**
|
|
81
|
+
* True when the corpus's import graph carries at least one computed-specifier
|
|
82
|
+
* dynamic import (`import(someVar)` / `require(filepath)`). Such an import cannot
|
|
83
|
+
* become a resolved edge, so its target is unknown — which makes the
|
|
84
|
+
* "imported by nothing" conclusion unsound for *every* module. `unreferenced-module`
|
|
85
|
+
* reads this flag to withhold a dead-code finding in that case.
|
|
86
|
+
*/
|
|
87
|
+
export declare function hasUnresolvedDynamicImports(fileImports: readonly FileImportsFact[]): boolean;
|
|
88
|
+
/**
|
|
89
|
+
* The modules `unreferenced-module` reports `unproven` instead of dead: a module
|
|
90
|
+
* with no resolved importer (and not a test/entry point) while the graph carries
|
|
91
|
+
* an unresolved dynamic import. Empty when the graph has no computed-specifier
|
|
92
|
+
* import — then the ordinary dead-code findings are sound and this disposition is
|
|
93
|
+
* not needed. This is the coverage-diagnostic half of the split; the rule's
|
|
94
|
+
* `analyze` reads {@link hasUnresolvedDynamicImports} to suppress the finding half.
|
|
95
|
+
*
|
|
96
|
+
* @param fileImports - The corpus's per-file import facts (each carries the file
|
|
97
|
+
* path, whether it has exports, and its unresolved dynamic imports).
|
|
98
|
+
* @param reachability - The corpus import graph (package entry points plus the
|
|
99
|
+
* per-module resolved importer lists).
|
|
100
|
+
* @returns The modules that cannot be proven dead, each carrying a file-level
|
|
101
|
+
* `unproven` disposition and the shared reason.
|
|
102
|
+
*/
|
|
103
|
+
export declare function computeUnprovenModules(fileImports: readonly FileImportsFact[], reachability: ReachabilityFact): UnprovenModule[];
|
|
61
104
|
//# sourceMappingURL=reachability.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reachability.d.ts","sourceRoot":"","sources":["../../src/phase/reachability.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"reachability.d.ts","sourceRoot":"","sources":["../../src/phase/reachability.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEpF;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAK9C;AAWD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAUpD;AAED,4FAA4F;AAC5F,MAAM,WAAW,mBAAmB;IAClC,6EAA6E;IAC7E,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACjC,+CAA+C;IAC/C,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,8DAA8D;IAC9D,eAAe,CAAC,EAAE;QAChB,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;QACjC,KAAK,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC,CAAC;QACpD,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,yEAAyE;IACzE,kBAAkB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACzC,6BAA6B;IAC7B,WAAW,EAAE,MAAM,CAAC;CACrB;AAeD;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,SAAS,eAAe,EAAE,EACvC,OAAO,EAAE,mBAAmB,GAC3B,gBAAgB,CAoBlB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,yBAAyB,CACvC,WAAW,EAAE,SAAS,eAAe,EAAE,EACvC,YAAY,EAAE,gBAAgB,GAC7B,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAYrB;AAMD;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,SAAS,eAAe,EAAE,GAAG,OAAO,CAE5F;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,SAAS,eAAe,EAAE,EACvC,YAAY,EAAE,gBAAgB,GAC7B,cAAc,EAAE,CAclB"}
|
|
@@ -101,4 +101,83 @@ export function computeReachability(fileImports, options) {
|
|
|
101
101
|
}
|
|
102
102
|
return { importersOf: plain, packageEntryPoints: [...packageEntries] };
|
|
103
103
|
}
|
|
104
|
+
/**
|
|
105
|
+
* Derive the per-file reachability ranking the audit runner uses to order
|
|
106
|
+
* findings within a severity tier. 1.0 for a framework/package entry point
|
|
107
|
+
* (`isEntryPointFile` route/page/worker/script/etc. or a package.json entry),
|
|
108
|
+
* 0.5 for a file imported by another, 0.0 for a file the graph references by
|
|
109
|
+
* nothing (dead code). Only corpus files are scored; a file absent from the
|
|
110
|
+
* corpus (a finding on something the graph never saw) is omitted so the caller
|
|
111
|
+
* can fall back to a neutral 0.5 and never demote on absent data.
|
|
112
|
+
*
|
|
113
|
+
* The filename heuristic is the same `isEntryPointFile` the `unreferenced-module`
|
|
114
|
+
* rule uses to withhold a dead-code finding: a `/scripts/` or `worker.ts` file
|
|
115
|
+
* that nothing imports is a framework entry point, not dead code, and must rank
|
|
116
|
+
* live (1.0) rather than dead (0.0).
|
|
117
|
+
*
|
|
118
|
+
* @param fileImports - The per-file import facts (the full corpus file set).
|
|
119
|
+
* @param reachability - The reverse import adjacency and package entry points.
|
|
120
|
+
* @returns A score per corpus file, keyed by its path.
|
|
121
|
+
*/
|
|
122
|
+
export function computeReachabilityScores(fileImports, reachability) {
|
|
123
|
+
const entrySet = new Set(reachability.packageEntryPoints);
|
|
124
|
+
const importersOf = reachability.importersOf;
|
|
125
|
+
const scores = new Map();
|
|
126
|
+
for (const info of fileImports) {
|
|
127
|
+
const file = info.file;
|
|
128
|
+
if (isEntryPointFile(file) || entrySet.has(file))
|
|
129
|
+
scores.set(file, 1);
|
|
130
|
+
else if ((importersOf[file]?.length ?? 0) > 0)
|
|
131
|
+
scores.set(file, 0.5);
|
|
132
|
+
else
|
|
133
|
+
scores.set(file, 0);
|
|
134
|
+
}
|
|
135
|
+
return scores;
|
|
136
|
+
}
|
|
137
|
+
/** The reason `unreferenced-module` reports a module as `unproven` rather than dead. */
|
|
138
|
+
const UNPROVEN_REASON = 'A computed specifier could not be resolved, so this module may be imported dynamically and is not provably dead code.';
|
|
139
|
+
/**
|
|
140
|
+
* True when the corpus's import graph carries at least one computed-specifier
|
|
141
|
+
* dynamic import (`import(someVar)` / `require(filepath)`). Such an import cannot
|
|
142
|
+
* become a resolved edge, so its target is unknown — which makes the
|
|
143
|
+
* "imported by nothing" conclusion unsound for *every* module. `unreferenced-module`
|
|
144
|
+
* reads this flag to withhold a dead-code finding in that case.
|
|
145
|
+
*/
|
|
146
|
+
export function hasUnresolvedDynamicImports(fileImports) {
|
|
147
|
+
return fileImports.some((f) => f.unresolvedDynamicImports.length > 0);
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* The modules `unreferenced-module` reports `unproven` instead of dead: a module
|
|
151
|
+
* with no resolved importer (and not a test/entry point) while the graph carries
|
|
152
|
+
* an unresolved dynamic import. Empty when the graph has no computed-specifier
|
|
153
|
+
* import — then the ordinary dead-code findings are sound and this disposition is
|
|
154
|
+
* not needed. This is the coverage-diagnostic half of the split; the rule's
|
|
155
|
+
* `analyze` reads {@link hasUnresolvedDynamicImports} to suppress the finding half.
|
|
156
|
+
*
|
|
157
|
+
* @param fileImports - The corpus's per-file import facts (each carries the file
|
|
158
|
+
* path, whether it has exports, and its unresolved dynamic imports).
|
|
159
|
+
* @param reachability - The corpus import graph (package entry points plus the
|
|
160
|
+
* per-module resolved importer lists).
|
|
161
|
+
* @returns The modules that cannot be proven dead, each carrying a file-level
|
|
162
|
+
* `unproven` disposition and the shared reason.
|
|
163
|
+
*/
|
|
164
|
+
export function computeUnprovenModules(fileImports, reachability) {
|
|
165
|
+
if (!hasUnresolvedDynamicImports(fileImports))
|
|
166
|
+
return [];
|
|
167
|
+
const entrySet = new Set(reachability.packageEntryPoints);
|
|
168
|
+
const importersOf = reachability.importersOf;
|
|
169
|
+
const out = [];
|
|
170
|
+
for (const info of fileImports) {
|
|
171
|
+
if (!info.hasExports)
|
|
172
|
+
continue;
|
|
173
|
+
if (isTestFile(info.file))
|
|
174
|
+
continue;
|
|
175
|
+
if (isEntryPointFile(info.file) || entrySet.has(info.file))
|
|
176
|
+
continue;
|
|
177
|
+
if ((importersOf[info.file]?.length ?? 0) > 0)
|
|
178
|
+
continue;
|
|
179
|
+
out.push({ file: info.file, line: 1, reason: UNPROVEN_REASON });
|
|
180
|
+
}
|
|
181
|
+
return out;
|
|
182
|
+
}
|
|
104
183
|
//# sourceMappingURL=reachability.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reachability.js","sourceRoot":"","sources":["../../src/phase/reachability.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"reachability.js","sourceRoot":"","sources":["../../src/phase/reachability.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
*/
|
|
17
17
|
import type { DataAccessCallCandidate, LoopQueryFact, LoopQueryRawCandidate, QuerySiteCandidatesFact, QuerySiteFact, ReceiverActivityFact, ReceiverProvenanceFact, ResolvedQuery, SchemaUsageCandidatesFact, SchemaUsageFact, UnresolvedQuerySite, WithinFileProvenanceFact } from './types.js';
|
|
18
18
|
import type { ProvenanceEvidence, R3Site } from '../analyzers/provenance.js';
|
|
19
|
-
import type
|
|
19
|
+
import { type Binding } from '../analyzers/receiverRoot.js';
|
|
20
20
|
import type { TsWithinFileProvenanceExtract } from '../analyzers/tsExpressionDescriptor.js';
|
|
21
21
|
import type { Dialect } from '../mcp-tools/discoveryQueries.js';
|
|
22
22
|
import { type HandleVerdict, type GoWithinFileProvenanceExtract } from '../analyzers/handleIdentification.js';
|
|
@@ -43,6 +43,13 @@ interface ReceiverResolution {
|
|
|
43
43
|
* `schema-code` visitor's `config.sqlDialectReason` → `parseSqlTables`. */
|
|
44
44
|
sqlDialectReason?: string | null;
|
|
45
45
|
declaredTypePackages?: ReadonlySet<string>;
|
|
46
|
+
/** Spec 70 criterion 9 (Item 4) — the corpus-wide ambient interface-field map:
|
|
47
|
+
* global-script `interface` declarations (e.g. `worker-configuration.d.ts`
|
|
48
|
+
* generated by `wrangler types`) gathered once and merged under each file's
|
|
49
|
+
* local `interfaceFields`. Without it, a handler typed `env: Env` where `Env`
|
|
50
|
+
* is declared in a sibling global script can never resolve its `env.DB` member
|
|
51
|
+
* to `handle`, because `interfaceFields` is per-file only. */
|
|
52
|
+
ambientInterfaceFields?: ReadonlyMap<string, ReadonlyMap<string, string>>;
|
|
46
53
|
projectRoot?: string;
|
|
47
54
|
tsconfig?: TsconfigPathMap;
|
|
48
55
|
verdictCache?: Map<string, HandleVerdict | null>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"receiverConsumers.d.ts","sourceRoot":"","sources":["../../src/phase/receiverConsumers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,KAAK,EACV,uBAAuB,EAGvB,aAAa,EACb,qBAAqB,EACrB,uBAAuB,EACvB,aAAa,EACb,oBAAoB,EACpB,sBAAsB,EACtB,aAAa,EACb,yBAAyB,EACzB,eAAe,EAEf,mBAAmB,EACnB,wBAAwB,EACzB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAC7E,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"receiverConsumers.d.ts","sourceRoot":"","sources":["../../src/phase/receiverConsumers.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
* `classifyBuildProvenance` folds R3 over.
|
|
16
16
|
*/
|
|
17
17
|
import picomatch from 'picomatch';
|
|
18
|
+
import { barePackageName } from '../analyzers/receiverRoot.js';
|
|
18
19
|
import { classifyBuildProvenance, evidenceFromFact, rehydrateWithinFileProvenance, bindingFromFact } from './receiverProvenance.js';
|
|
19
20
|
import { DEFAULT_SCHEMA_CONFIG } from '../analyzers/universal/schema/config.js';
|
|
20
21
|
import { identifyHandle } from '../analyzers/handleIdentification.js';
|
|
@@ -24,14 +25,32 @@ import { dialectForPackage } from '../languages/sql/dialectDetection.js';
|
|
|
24
25
|
import { parseSql, DEFAULT_SQL_DIALECT, extractTableNames, whereFacts, isWriteStatement, isMassWriteStatement, isUpsertStatement, whereColumnRefs, isDdlStatementKind, } from '../languages/sql/sqlAst.js';
|
|
25
26
|
import { rawInsertColumnsFromAst } from '../analyzers/universal/UniversalDataAccessAnalyzer.js';
|
|
26
27
|
import { describeUnprovenReceiver, resolveSpecifier, makeHeritageResolver } from '../analyzers/receiverResolution.js';
|
|
28
|
+
/** Merge a file's local `interfaceFields` with the corpus-wide ambient map:
|
|
29
|
+
* local declarations win, and ambient (global-script) declarations fill in only
|
|
30
|
+
* the names the file does not itself declare. Ordering is name-level, not
|
|
31
|
+
* field-level — a name the file declares is used whole, so an `interface Env`
|
|
32
|
+
* declared in-file shadows the global-script `Env` rather than being merged
|
|
33
|
+
* field-by-field (that is how TypeScript's own declaration merging resolves a
|
|
34
|
+
* local declaration against an ambient one in practice). */
|
|
35
|
+
function mergeInterfaceFields(local, ambient) {
|
|
36
|
+
if (!local)
|
|
37
|
+
return ambient;
|
|
38
|
+
if (!ambient || ambient.size === 0)
|
|
39
|
+
return local;
|
|
40
|
+
const merged = new Map(ambient);
|
|
41
|
+
for (const [name, fields] of local)
|
|
42
|
+
merged.set(name, fields);
|
|
43
|
+
return merged;
|
|
44
|
+
}
|
|
27
45
|
/** Assemble a `FileReceiverEnv` from the per-file fold and the resolution tail.
|
|
28
46
|
* Single constructor — the five consumers previously each built a near-identical
|
|
29
47
|
* nine-field literal, which `dry/similar-expression` flagged as the same object
|
|
30
48
|
* built five times. */
|
|
31
49
|
function fileReceiverEnv(fold, tail) {
|
|
32
50
|
const { dbProvenanced, bindings, bindingsByScope, goEnv, interfaceFields } = fold;
|
|
33
|
-
const { sqlDialect, declaredTypePackages, resolveImport, resolveHeritageField } = tail;
|
|
34
|
-
|
|
51
|
+
const { sqlDialect, declaredTypePackages, ambientInterfaceFields, resolveImport, resolveHeritageField } = tail;
|
|
52
|
+
const mergedFields = mergeInterfaceFields(interfaceFields, ambientInterfaceFields);
|
|
53
|
+
return { dbProvenanced, bindings, bindingsByScope, goEnv, interfaceFields: mergedFields, sqlDialect, declaredTypePackages, resolveImport, resolveHeritageField };
|
|
35
54
|
}
|
|
36
55
|
/**
|
|
37
56
|
* Build the single specifier-resolution seam the consumers thread into
|
|
@@ -397,7 +416,7 @@ function admitDbCall(call, env) {
|
|
|
397
416
|
* @returns the classified schema-usage facts (strategies 1/2/4/5/6, in order)
|
|
398
417
|
*/
|
|
399
418
|
export function classifySchemaUsage(candidates, resolution) {
|
|
400
|
-
const { withinFacts, provenance, activityFacts, sqlDialect, declaredTypePackages, projectRoot, tsconfig } = resolution;
|
|
419
|
+
const { withinFacts, provenance, activityFacts, sqlDialect, declaredTypePackages, ambientInterfaceFields, projectRoot, tsconfig } = resolution;
|
|
401
420
|
const extracts = rehydrateWithinTsExtracts(withinFacts);
|
|
402
421
|
const seeds = rehydrateReceiverProvenance(provenance);
|
|
403
422
|
const activityByFile = new Map(activityFacts.map((f) => [f.file, f]));
|
|
@@ -415,7 +434,7 @@ export function classifySchemaUsage(candidates, resolution) {
|
|
|
415
434
|
}
|
|
416
435
|
const sourceCode = cand.sourceCode;
|
|
417
436
|
const resolveImport = resolver ? (source) => resolver(source, cand.file) : undefined;
|
|
418
|
-
const env = fileReceiverEnv({ dbProvenanced, bindings: activity.bindings, bindingsByScope: activity.bindingsByScope, goEnv: undefined, interfaceFields: extract?.interfaceFields }, { sqlDialect, declaredTypePackages, resolveImport, resolveHeritageField: heritageResolver });
|
|
437
|
+
const env = fileReceiverEnv({ dbProvenanced, bindings: activity.bindings, bindingsByScope: activity.bindingsByScope, goEnv: undefined, interfaceFields: extract?.interfaceFields }, { sqlDialect, declaredTypePackages, ambientInterfaceFields, resolveImport, resolveHeritageField: heritageResolver });
|
|
419
438
|
// (1) Tagged-template SQL — re-admit by the tag's package dialect, parse.
|
|
420
439
|
for (const t of cand.tagged) {
|
|
421
440
|
const siteDialect = dialectForEvidence(dbProvenanced.get(t.tagName));
|
|
@@ -459,7 +478,7 @@ export function classifySchemaUsage(candidates, resolution) {
|
|
|
459
478
|
* @returns the unresolved-query site records re-admitted via `identifyHandle`
|
|
460
479
|
*/
|
|
461
480
|
export function classifyUnresolvedQuerySites(candidates, resolution) {
|
|
462
|
-
const { withinFacts, provenance, activityFacts, sqlDialect, declaredTypePackages, projectRoot, tsconfig } = resolution;
|
|
481
|
+
const { withinFacts, provenance, activityFacts, sqlDialect, declaredTypePackages, ambientInterfaceFields, projectRoot, tsconfig } = resolution;
|
|
463
482
|
const extracts = rehydrateWithinTsExtracts(withinFacts);
|
|
464
483
|
const seeds = rehydrateReceiverProvenance(provenance);
|
|
465
484
|
const activityByFile = new Map(activityFacts.map((f) => [f.file, f]));
|
|
@@ -476,7 +495,7 @@ export function classifyUnresolvedQuerySites(candidates, resolution) {
|
|
|
476
495
|
continue;
|
|
477
496
|
}
|
|
478
497
|
const resolveImport = resolver ? (source) => resolver(source, cand.file) : undefined;
|
|
479
|
-
const env = fileReceiverEnv({ dbProvenanced, bindings: activity.bindings, bindingsByScope: activity.bindingsByScope, goEnv: undefined, interfaceFields: extract?.interfaceFields }, { sqlDialect, declaredTypePackages, resolveImport, resolveHeritageField: heritageResolver });
|
|
498
|
+
const env = fileReceiverEnv({ dbProvenanced, bindings: activity.bindings, bindingsByScope: activity.bindingsByScope, goEnv: undefined, interfaceFields: extract?.interfaceFields }, { sqlDialect, declaredTypePackages, ambientInterfaceFields, resolveImport, resolveHeritageField: heritageResolver });
|
|
480
499
|
for (const call of cand.dbCalls) {
|
|
481
500
|
if (call.unresolved === null)
|
|
482
501
|
continue;
|
|
@@ -510,7 +529,7 @@ export function classifyUnresolvedQuerySites(candidates, resolution) {
|
|
|
510
529
|
* per-file, so the caller must be able to re-group by file)
|
|
511
530
|
*/
|
|
512
531
|
export function classifyUnparseableSql(candidates, resolution) {
|
|
513
|
-
const { withinFacts, provenance, activityFacts, sqlDialect, sqlDialectReason, declaredTypePackages, projectRoot, tsconfig } = resolution;
|
|
532
|
+
const { withinFacts, provenance, activityFacts, sqlDialect, sqlDialectReason, declaredTypePackages, ambientInterfaceFields, projectRoot, tsconfig } = resolution;
|
|
514
533
|
const extracts = rehydrateWithinTsExtracts(withinFacts);
|
|
515
534
|
const seeds = rehydrateReceiverProvenance(provenance);
|
|
516
535
|
const activityByFile = new Map(activityFacts.map((f) => [f.file, f]));
|
|
@@ -528,7 +547,7 @@ export function classifyUnparseableSql(candidates, resolution) {
|
|
|
528
547
|
}
|
|
529
548
|
const sourceCode = cand.sourceCode;
|
|
530
549
|
const resolveImport = resolver ? (source) => resolver(source, cand.file) : undefined;
|
|
531
|
-
const env = fileReceiverEnv({ dbProvenanced, bindings: activity.bindings, bindingsByScope: activity.bindingsByScope, goEnv: undefined, interfaceFields: extract?.interfaceFields }, { sqlDialect, declaredTypePackages, resolveImport, resolveHeritageField: heritageResolver });
|
|
550
|
+
const env = fileReceiverEnv({ dbProvenanced, bindings: activity.bindings, bindingsByScope: activity.bindingsByScope, goEnv: undefined, interfaceFields: extract?.interfaceFields }, { sqlDialect, declaredTypePackages, ambientInterfaceFields, resolveImport, resolveHeritageField: heritageResolver });
|
|
532
551
|
// (1) Tagged-template SQL — re-admit by the tag's package dialect, parse.
|
|
533
552
|
for (const t of cand.tagged) {
|
|
534
553
|
const siteDialect = dialectForEvidence(dbProvenanced.get(t.tagName));
|
|
@@ -811,7 +830,7 @@ function buildDataAccessCall(cand, verdict, dbProvenanced, sqlDialect, learnedWr
|
|
|
811
830
|
* @returns the resolved DB calls, deduped and rebuilt with no AST
|
|
812
831
|
*/
|
|
813
832
|
export function classifyDataAccessCalls(candidates, resolution) {
|
|
814
|
-
const { withinFacts, provenance, activityFacts, sqlDialect, declaredTypePackages, projectRoot, tsconfig, verdictCache } = resolution;
|
|
833
|
+
const { withinFacts, provenance, activityFacts, sqlDialect, declaredTypePackages, ambientInterfaceFields, projectRoot, tsconfig, verdictCache } = resolution;
|
|
815
834
|
const tsExtracts = rehydrateWithinTsExtracts(withinFacts);
|
|
816
835
|
const goExtracts = rehydrateWithinGoExtracts(withinFacts);
|
|
817
836
|
const seeds = rehydrateReceiverProvenance(provenance);
|
|
@@ -836,7 +855,7 @@ export function classifyDataAccessCalls(candidates, resolution) {
|
|
|
836
855
|
});
|
|
837
856
|
const learnedWrappers = new Set([...dbProvenanced.values()].filter((ev) => ev.reason === 'wrapper').map((ev) => ev.identifier));
|
|
838
857
|
const resolveImport = resolver ? (source) => resolver(source, file) : undefined;
|
|
839
|
-
const env = fileReceiverEnv({ dbProvenanced, bindings, bindingsByScope, goEnv, interfaceFields }, { sqlDialect, declaredTypePackages, resolveImport, resolveHeritageField: heritageResolver });
|
|
858
|
+
const env = fileReceiverEnv({ dbProvenanced, bindings, bindingsByScope, goEnv, interfaceFields }, { sqlDialect, declaredTypePackages, ambientInterfaceFields, resolveImport, resolveHeritageField: heritageResolver });
|
|
840
859
|
// 1. Discovery filter — `isDbCallCandidate`, re-folding the handle verdict.
|
|
841
860
|
const discovered = [];
|
|
842
861
|
for (const cand of fileCands) {
|
|
@@ -885,7 +904,7 @@ export function classifyDataAccessCalls(candidates, resolution) {
|
|
|
885
904
|
* @returns the resolved loop-query facts (deduped, stable symbols assigned)
|
|
886
905
|
*/
|
|
887
906
|
export function classifyLoopQueries(candidates, resolution) {
|
|
888
|
-
const { withinFacts, provenance, activityFacts, sqlDialect, declaredTypePackages, projectRoot, tsconfig, verdictCache } = resolution;
|
|
907
|
+
const { withinFacts, provenance, activityFacts, sqlDialect, declaredTypePackages, ambientInterfaceFields, projectRoot, tsconfig, verdictCache } = resolution;
|
|
889
908
|
const tsExtracts = rehydrateWithinTsExtracts(withinFacts);
|
|
890
909
|
const seeds = rehydrateReceiverProvenance(provenance);
|
|
891
910
|
const activityByFile = new Map(activityFacts.map((f) => [f.file, f]));
|
|
@@ -910,7 +929,7 @@ export function classifyLoopQueries(candidates, resolution) {
|
|
|
910
929
|
const reported = new Set();
|
|
911
930
|
const loopOrdinals = new Map();
|
|
912
931
|
const resolveImport = resolver ? (source) => resolver(source, file) : undefined;
|
|
913
|
-
const env = fileReceiverEnv({ dbProvenanced, bindings: activity.bindings, bindingsByScope: activity.bindingsByScope, goEnv: undefined, interfaceFields: extract?.interfaceFields }, { sqlDialect, declaredTypePackages, resolveImport, resolveHeritageField: heritageResolver });
|
|
932
|
+
const env = fileReceiverEnv({ dbProvenanced, bindings: activity.bindings, bindingsByScope: activity.bindingsByScope, goEnv: undefined, interfaceFields: extract?.interfaceFields }, { sqlDialect, declaredTypePackages, ambientInterfaceFields, resolveImport, resolveHeritageField: heritageResolver });
|
|
914
933
|
for (const cand of fileCands) {
|
|
915
934
|
const verdict = reFoldHandleVerdict(loopQueryIdentity(cand), env, file, verdictCache);
|
|
916
935
|
if (!verdict || verdict.kind !== 'handle')
|
|
@@ -950,7 +969,7 @@ export function classifyLoopQueries(candidates, resolution) {
|
|
|
950
969
|
* @returns the unproven query-receiver records, deduped and rebuilt
|
|
951
970
|
*/
|
|
952
971
|
export function classifyUnprovenQueryReceivers(candidates, resolution) {
|
|
953
|
-
const { withinFacts, provenance, activityFacts, sqlDialect, declaredTypePackages, projectRoot, tsconfig, verdictCache } = resolution;
|
|
972
|
+
const { withinFacts, provenance, activityFacts, sqlDialect, declaredTypePackages, ambientInterfaceFields, projectRoot, tsconfig, verdictCache } = resolution;
|
|
954
973
|
const tsExtracts = rehydrateWithinTsExtracts(withinFacts);
|
|
955
974
|
const goExtracts = rehydrateWithinGoExtracts(withinFacts);
|
|
956
975
|
const seeds = rehydrateReceiverProvenance(provenance);
|
|
@@ -978,19 +997,18 @@ export function classifyUnprovenQueryReceivers(candidates, resolution) {
|
|
|
978
997
|
// its `template_string` child, so without the dedup one query-shaped site
|
|
979
998
|
// emits two identical cannot-fire diagnostics and doubles the coverage count.
|
|
980
999
|
const resolveImport = resolver ? (source) => resolver(source, file) : undefined;
|
|
981
|
-
const env = fileReceiverEnv({ dbProvenanced, bindings, bindingsByScope, goEnv, interfaceFields }, { sqlDialect, declaredTypePackages, resolveImport, resolveHeritageField: heritageResolver });
|
|
1000
|
+
const env = fileReceiverEnv({ dbProvenanced, bindings, bindingsByScope, goEnv, interfaceFields }, { sqlDialect, declaredTypePackages, ambientInterfaceFields, resolveImport, resolveHeritageField: heritageResolver });
|
|
982
1001
|
const admitted = [];
|
|
983
1002
|
for (const cand of fileCands) {
|
|
984
1003
|
const id = dataAccessIdentity(cand);
|
|
985
1004
|
// Candidacy filter only — mirror the pre-pass's member-callee gate (an
|
|
986
1005
|
// identifier callee is not a query-shaped *call site*). A member call is
|
|
987
|
-
//
|
|
988
|
-
//
|
|
989
|
-
//
|
|
990
|
-
//
|
|
991
|
-
//
|
|
992
|
-
//
|
|
993
|
-
// `not-handle` root resolves to `not-handle` below.
|
|
1006
|
+
// *nominated* when it carries a static SQL argument (the sql-argument
|
|
1007
|
+
// evidence source, `handleSqlArg`) or is genuinely query-shaped (the real
|
|
1008
|
+
// `isQueryBuilderShape` test, carried on the candidate) — nomination is not
|
|
1009
|
+
// admission. `reFoldHandleVerdict` → `identifyHandle` re-folds the
|
|
1010
|
+
// discriminant over the re-derived provenance, so a null-arg `not-handle`
|
|
1011
|
+
// root resolves to `not-handle` below.
|
|
994
1012
|
if (id.calleeType !== 'member')
|
|
995
1013
|
continue;
|
|
996
1014
|
if (cand.handleSqlArg === null && !cand.isQueryBuilderShape)
|
|
@@ -998,6 +1016,26 @@ export function classifyUnprovenQueryReceivers(candidates, resolution) {
|
|
|
998
1016
|
const verdict = reFoldHandleVerdict(id, env, file, verdictCache);
|
|
999
1017
|
if (!verdict || verdict.kind !== 'unproven')
|
|
1000
1018
|
continue;
|
|
1019
|
+
// Fix 1 — admission requires evidence; the evidence test is on the SITE,
|
|
1020
|
+
// not the receiver root. A candidate is a data-access site when it carries
|
|
1021
|
+
// a SQL argument (the sql-argument source, `handleSqlArg`) OR its receiver
|
|
1022
|
+
// is reached by declaration-resolution (a bare-package import). A SQL
|
|
1023
|
+
// argument qualifies the site on its own — whatever the receiver resolves
|
|
1024
|
+
// to, the site reports `unproven` (cannot-fire), never a silent clean.
|
|
1025
|
+
// Only a candidate with *neither* source — no SQL argument, and a receiver
|
|
1026
|
+
// root that does not reach a package (a local opaque type, an un-annotated
|
|
1027
|
+
// parameter/factory-return/field, or a relative in-repo re-export) — is
|
|
1028
|
+
// dropped as not-a-site.
|
|
1029
|
+
if (cand.handleSqlArg === null) {
|
|
1030
|
+
const rootBinding = id.root === null
|
|
1031
|
+
? undefined
|
|
1032
|
+
: ((id.scope !== undefined ? bindingsByScope.get(id.root)?.get(id.scope) : undefined) ?? bindings.get(id.root));
|
|
1033
|
+
if (!rootBinding ||
|
|
1034
|
+
rootBinding.kind !== 'import' ||
|
|
1035
|
+
barePackageName(rootBinding.source ?? '') === null) {
|
|
1036
|
+
continue;
|
|
1037
|
+
}
|
|
1038
|
+
}
|
|
1001
1039
|
admitted.push({ cand, verdict });
|
|
1002
1040
|
}
|
|
1003
1041
|
const byLine = new Map();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"receiverConsumers.js","sourceRoot":"","sources":["../../src/phase/receiverConsumers.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"receiverConsumers.js","sourceRoot":"","sources":["../../src/phase/receiverConsumers.ts"],"names":[],"mappings":"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"}
|
|
@@ -73,6 +73,29 @@ export declare function computeReceiverProvenance(withinFacts: readonly WithinFi
|
|
|
73
73
|
fileExports: FileExports;
|
|
74
74
|
unresolvedImports: UnresolvedImport[];
|
|
75
75
|
};
|
|
76
|
+
/**
|
|
77
|
+
* The corpus-wide ambient interface-field map (Spec 70 criterion 9, Item 4) —
|
|
78
|
+
* interface/type-alias field types declared in a *global script* file (one with
|
|
79
|
+
* no top-level `import` and no top-level `export`, per TypeScript's module/script
|
|
80
|
+
* split), aggregated first-wins across the corpus. `classifyMemberPath` reads
|
|
81
|
+
* this as the cross-file fallback when the file-local `interfaceFields` map lacks
|
|
82
|
+
* the receiver's type name: a Workers handler's `env: Env` resolves `Env` from
|
|
83
|
+
* `worker-configuration.d.ts` (wrangler-generated, no import/export) even though
|
|
84
|
+
* the handler file itself never declares `interface Env`.
|
|
85
|
+
*
|
|
86
|
+
* The `import-specifiers`/`export-symbols` facts are the two halves of the
|
|
87
|
+
* script/module discriminant: a file that appears in *either* is a module, whose
|
|
88
|
+
* declarations are module-scoped and must never leak into the ambient map (that
|
|
89
|
+
* would be a guessed clean, the exact failure this project pins against). Only a
|
|
90
|
+
* file in *neither* is a global script, and only its `interfaceFields` contribute.
|
|
91
|
+
*
|
|
92
|
+
* @param withinFacts the `within-file-provenance` facts (one per code file)
|
|
93
|
+
* @param importFacts the `import-specifiers` facts (one per import statement)
|
|
94
|
+
* @param exportFacts the `export-symbols` facts (one per exported symbol)
|
|
95
|
+
* @returns name → field-name → type-text, for every interface/type alias declared
|
|
96
|
+
* in a global script file
|
|
97
|
+
*/
|
|
98
|
+
export declare function computeAmbientInterfaceFields(withinFacts: readonly WithinFileProvenanceFact[], importFacts: readonly ImportSpecifiersFact[], exportFacts: readonly ExportSymbolFact[]): Map<string, ReadonlyMap<string, string>>;
|
|
76
99
|
/**
|
|
77
100
|
* Re-derive `buildProvenanceContext`'s `dbProvenanced` — the seeded map the four
|
|
78
101
|
* receiver consumers actually read — from the within-file extract + the cross-file
|