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
|
@@ -0,0 +1,484 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Spec 69 R1 — the completeness oracles a file processor declares.
|
|
3
|
+
*
|
|
4
|
+
* Each oracle is one of two arms: a `counted` count of the fragments a file
|
|
5
|
+
* *should* yield (a cheap, independent upper bound computed from the same input,
|
|
6
|
+
* written for that processor), or an explicit `none` with the reason no statable
|
|
7
|
+
* oracle exists. `none` is not an exemption — it is the report that closes the
|
|
8
|
+
* silent-unprovable failure mode: the run enumerates it, named, with its reason.
|
|
9
|
+
*
|
|
10
|
+
* The counts here are deliberately dumber than the producer they shadow. A
|
|
11
|
+
* producer runs the full extraction (metrics, classification, dedup); the oracle
|
|
12
|
+
* counts raw tree nodes off the same tree. The gap — a producer emitting fewer
|
|
13
|
+
* than the oracle expects — is the *residual* the aggregate gate pins (§69 R1,
|
|
14
|
+
* criterion 4). An oracle is an upper bound, not a promise of equality: e.g.
|
|
15
|
+
* `countFileSymbols` counts `method_definition` nodes, which the file-symbols
|
|
16
|
+
* producer folds into their class symbol rather than emitting, so a class with
|
|
17
|
+
* methods has a positive residual by design. The baseline records what each
|
|
18
|
+
* number is composed of, so a residual of mostly-non-candidates is not later
|
|
19
|
+
* read as missing input.
|
|
20
|
+
*
|
|
21
|
+
* The `measured` half is the same unit counted *inside* the emitted fragments.
|
|
22
|
+
* For a per-fragment producer both count and measured count fragments; for an
|
|
23
|
+
* aggregate producer (one fragment per file) `count` still counts the units, so
|
|
24
|
+
* `measured` must read them from the fragment's payload — comparing a unit count
|
|
25
|
+
* against `fragments.length` would be a meaningless 1-against-1.
|
|
26
|
+
*/
|
|
27
|
+
import { isFunctionNodeType } from '../analyzers/universal/functionConcerns.js';
|
|
28
|
+
import { isTestFile } from '../languages/testConventions.js';
|
|
29
|
+
import { countSqlKeywordOccurrences } from '../analyzers/universal/schema/codeAnalysis.js';
|
|
30
|
+
import { getRawNode } from '../languages/tree-sitter/rawNode.js';
|
|
31
|
+
/** A counted oracle: `count` returns the units one file should yield; `measured`
|
|
32
|
+
* reads the same unit back out of the emitted fragments.
|
|
33
|
+
*
|
|
34
|
+
* @param count The expected-unit counter, computed from the same input the
|
|
35
|
+
* processor walks.
|
|
36
|
+
* @param measured Reads the same unit back out of the emitted fragments; defaults
|
|
37
|
+
* to the fragment-array length for one-fragment-per-unit producers.
|
|
38
|
+
* @returns A counted completeness oracle pairing the two.
|
|
39
|
+
*/
|
|
40
|
+
export function countOracle(count, measured = (frags) => frags.length) {
|
|
41
|
+
return { status: 'counted', count, measured };
|
|
42
|
+
}
|
|
43
|
+
/** A no-oracle: there is no statable count, and here is why. */
|
|
44
|
+
export function noOracle(reason) {
|
|
45
|
+
return { status: 'none', reason };
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Compare a `counted` oracle against what its processor actually emitted for one
|
|
49
|
+
* file. Returns the shortfall record when the emitted count fell below the
|
|
50
|
+
* expected count, else `null`. The actual count is read through the oracle's own
|
|
51
|
+
* `measured` so aggregate producers compare the unit inside their single
|
|
52
|
+
* fragment, not the fragment array length. A `none` oracle never produces a
|
|
53
|
+
* shortfall — its absence is enumerated by `noOracleProcessors`, not measured
|
|
54
|
+
* here.
|
|
55
|
+
*
|
|
56
|
+
* @param oracle The completeness oracle to compare against (only `counted` ones).
|
|
57
|
+
* @param file The parsed file whose emission is being checked.
|
|
58
|
+
* @param fragments The fragments the file's processor actually emitted.
|
|
59
|
+
* @param processorId The id of the processor being checked, recorded on a shortfall.
|
|
60
|
+
* @returns A shortfall record when the emitted count fell below the expected
|
|
61
|
+
* count, otherwise `null`.
|
|
62
|
+
*/
|
|
63
|
+
export function oracleShortfall(oracle, file, fragments, processorId) {
|
|
64
|
+
if (oracle.status !== 'counted')
|
|
65
|
+
return null;
|
|
66
|
+
const expected = oracle.count(file);
|
|
67
|
+
const actual = oracle.measured(fragments);
|
|
68
|
+
return actual < expected ? { file: file.file, processor: processorId, expected, actual } : null;
|
|
69
|
+
}
|
|
70
|
+
/** Count nodes whose type is in `types` off the raw tree. The "dumb" half of the
|
|
71
|
+
* oracle pair: a raw node-type count over the same AST the producer walks. */
|
|
72
|
+
function countNodeTypes(types) {
|
|
73
|
+
return (file) => {
|
|
74
|
+
const astFile = file;
|
|
75
|
+
return astFile.adapter.findNodes(astFile.ast, {
|
|
76
|
+
custom: (n) => types.includes(n.type),
|
|
77
|
+
}).length;
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
/** Like {@link countNodeTypes}, but returns 0 for Go `*_test.go` files — the Go
|
|
81
|
+
* producers exempt test files, so a count that did not would record a false
|
|
82
|
+
* shortfall on every test file (expected > 0 against an intentionally empty
|
|
83
|
+
* emission). */
|
|
84
|
+
function goNodeCount(types) {
|
|
85
|
+
return (file) => {
|
|
86
|
+
if (isTestFile('go', file.file))
|
|
87
|
+
return 0;
|
|
88
|
+
return countNodeTypes(types)(file);
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
// ── Counted oracles ───────────────────────────────────────────────────────────
|
|
92
|
+
/** file-symbols — count function-like, class, and interface declaration nodes
|
|
93
|
+
* off the tree. An upper bound: a method is a function-like node that rides on
|
|
94
|
+
* its class symbol, so a class with methods emits fewer symbols than the node
|
|
95
|
+
* count.
|
|
96
|
+
*
|
|
97
|
+
* @param file The parsed file to count over.
|
|
98
|
+
* @returns The number of function-like, class, and interface declaration nodes.
|
|
99
|
+
*/
|
|
100
|
+
export function countFileSymbols(file) {
|
|
101
|
+
const ast = file.ast;
|
|
102
|
+
return file.adapter.findNodes(ast, {
|
|
103
|
+
custom: (n) => isFunctionNodeType(n.type) || n.type === 'class_declaration' || n.type === 'interface_declaration',
|
|
104
|
+
}).length;
|
|
105
|
+
}
|
|
106
|
+
/** imports (TS/JS) — count `import_statement` nodes off the tree.
|
|
107
|
+
*
|
|
108
|
+
* @param file The parsed file to count over.
|
|
109
|
+
* @returns The number of `import_statement` nodes.
|
|
110
|
+
*/
|
|
111
|
+
export function countImports(file) {
|
|
112
|
+
const ast = file.ast;
|
|
113
|
+
return file.adapter.findNodes(ast, {
|
|
114
|
+
custom: (n) => n.type === 'import_statement',
|
|
115
|
+
}).length;
|
|
116
|
+
}
|
|
117
|
+
/** export-form (TS/JS) — count `export_statement` nodes off the tree.
|
|
118
|
+
*
|
|
119
|
+
* @param file The parsed file to count over.
|
|
120
|
+
* @returns The number of `export_statement` nodes.
|
|
121
|
+
*/
|
|
122
|
+
export function countExportForm(file) {
|
|
123
|
+
const ast = file.ast;
|
|
124
|
+
return file.adapter.findNodes(ast, {
|
|
125
|
+
custom: (n) => n.type === 'export_statement',
|
|
126
|
+
}).length;
|
|
127
|
+
}
|
|
128
|
+
/** The declaration node types `collectExports` (receiverResolution.ts) treats as
|
|
129
|
+
* a declaration wrapped by `export`. Kept here (not imported) so the oracle is
|
|
130
|
+
* an independent count, not the producer's own `EXPORT_DECLARATION_TYPES`. */
|
|
131
|
+
const EXPORT_DECLARATION_TYPES = new Set([
|
|
132
|
+
'class_declaration',
|
|
133
|
+
'abstract_class_declaration',
|
|
134
|
+
'function_declaration',
|
|
135
|
+
'generator_function_declaration',
|
|
136
|
+
'lexical_declaration',
|
|
137
|
+
'variable_declaration',
|
|
138
|
+
'interface_declaration',
|
|
139
|
+
'enum_declaration',
|
|
140
|
+
'type_alias_declaration',
|
|
141
|
+
]);
|
|
142
|
+
/** Iterate an AST subtree (inclusive) for nodes matching a predicate — the
|
|
143
|
+
* `collectNodes` walk the producer uses, re-declared so the oracle does not
|
|
144
|
+
* share the producer's traversal. */
|
|
145
|
+
function walkMatching(root, adapter, pred) {
|
|
146
|
+
const out = [];
|
|
147
|
+
const walk = (n) => {
|
|
148
|
+
if (pred(n))
|
|
149
|
+
out.push(n);
|
|
150
|
+
for (const c of adapter.getChildren(n))
|
|
151
|
+
walk(c);
|
|
152
|
+
};
|
|
153
|
+
walk(root);
|
|
154
|
+
return out;
|
|
155
|
+
}
|
|
156
|
+
/** Strip surrounding quotes from a string-literal node text. */
|
|
157
|
+
function unquoteText(text) {
|
|
158
|
+
if (text.length >= 2 && (text[0] === '"' || text[0] === "'" || text[0] === '`')) {
|
|
159
|
+
return text.slice(1, -1);
|
|
160
|
+
}
|
|
161
|
+
return text;
|
|
162
|
+
}
|
|
163
|
+
/** export-symbols — count the exported names the producer emits, mirroring
|
|
164
|
+
* `collectExports` (one fragment per named / default / star-reexported name).
|
|
165
|
+
* A raw `export_statement` count is neither an upper nor a lower bound here: it
|
|
166
|
+
* under-counts multi-name `export { a, b, c }` (one statement, three names) and
|
|
167
|
+
* over-counts the empty `export {}` (one statement, zero names). So this counts
|
|
168
|
+
* the same units the producer does: named `export_specifier`s carrying a leading
|
|
169
|
+
* identifier, one declaration-wrapped name, one default identifier, and the
|
|
170
|
+
* `export * from '…'` star re-export.
|
|
171
|
+
*
|
|
172
|
+
* @param file The parsed file to count over.
|
|
173
|
+
* @returns The number of exported names `collectExports` would emit.
|
|
174
|
+
*/
|
|
175
|
+
export function countExportSymbols(file) {
|
|
176
|
+
const astFile = file;
|
|
177
|
+
const { ast, adapter, source } = astFile;
|
|
178
|
+
let n = 0;
|
|
179
|
+
const stmts = adapter.findNodes(ast, { custom: (x) => x.type === 'export_statement' });
|
|
180
|
+
for (const stmt of stmts) {
|
|
181
|
+
const children = adapter.getChildren(stmt);
|
|
182
|
+
const isDefault = children.some((c) => c.type === 'default' || adapter.getNodeText(c, source) === 'default');
|
|
183
|
+
const sourceChild = children.find((c) => c.type === 'string' || c.type === 'string_fragment' || c.type === 'template_string');
|
|
184
|
+
const src = sourceChild ? unquoteText(adapter.getNodeText(sourceChild, source)) : undefined;
|
|
185
|
+
// Named export specifiers — one per specifier that names an identifier.
|
|
186
|
+
for (const spec of walkMatching(stmt, adapter, (x) => x.type === 'export_specifier')) {
|
|
187
|
+
const id = walkMatching(spec, adapter, (x) => x.type === 'identifier' || x.type === 'property_identifier')[0];
|
|
188
|
+
if (id)
|
|
189
|
+
n++;
|
|
190
|
+
}
|
|
191
|
+
// A declaration wrapped by export (its name counts once; then no default/star).
|
|
192
|
+
const decl = children.find((c) => EXPORT_DECLARATION_TYPES.has(c.type));
|
|
193
|
+
if (decl) {
|
|
194
|
+
if (adapter.getNodeName(decl))
|
|
195
|
+
n++;
|
|
196
|
+
continue;
|
|
197
|
+
}
|
|
198
|
+
// `export default <identifier>` (no declaration).
|
|
199
|
+
if (isDefault) {
|
|
200
|
+
const value = children.find((c) => c.type === 'identifier');
|
|
201
|
+
if (value)
|
|
202
|
+
n++;
|
|
203
|
+
}
|
|
204
|
+
// `export * from '…'`.
|
|
205
|
+
const star = children.some((c) => adapter.getNodeText(c, source) === '*');
|
|
206
|
+
if (star && src)
|
|
207
|
+
n++;
|
|
208
|
+
}
|
|
209
|
+
return n;
|
|
210
|
+
}
|
|
211
|
+
/** function-index — count `function_declaration` + `arrow_function` nodes. A
|
|
212
|
+
* function declaration is emitted one-to-one; an arrow is emitted only when
|
|
213
|
+
* bound to a `variable_declarator`, so a bare callback arrow is a residual by
|
|
214
|
+
* design (the producer legitimately skips it). Class components and
|
|
215
|
+
* `memo`/`forwardRef` wrappers that are not a function/arrow are under-counted
|
|
216
|
+
* (a safe bound, never a false shortfall). */
|
|
217
|
+
export const countFunctionIndex = countNodeTypes(['function_declaration', 'arrow_function']);
|
|
218
|
+
/** string-literals — count `string` + `template_string` nodes; the producer
|
|
219
|
+
* emits one literal per node, so this is exact, not merely an upper bound. */
|
|
220
|
+
export const countStringLiterals = countNodeTypes(['string', 'template_string']);
|
|
221
|
+
/** cross-language-entities — count the entity-declaring node types the
|
|
222
|
+
* cross-language extractor projects: TS/JS function/method/arrow/interface, and
|
|
223
|
+
* Go function + type_spec. Go test files are NOT exempted here (the
|
|
224
|
+
* cross-language entity extractor does not skip them). */
|
|
225
|
+
export const countCrossLanguageEntities = countNodeTypes([
|
|
226
|
+
'function_declaration',
|
|
227
|
+
'method_definition',
|
|
228
|
+
'arrow_function',
|
|
229
|
+
'interface_declaration',
|
|
230
|
+
'type_spec',
|
|
231
|
+
]);
|
|
232
|
+
/** code-block — count the block nodes (functions, classes, control-flow) plus the
|
|
233
|
+
* fragment nodes (object literals, call expressions) the DRY extractor projects.
|
|
234
|
+
* Methods are emitted through both the function walk and the class walk, so the
|
|
235
|
+
* single node count under-counts them (safe); object literals outside a
|
|
236
|
+
* declarator/assignment value are a residual. */
|
|
237
|
+
export const countCodeBlocks = countNodeTypes([
|
|
238
|
+
'function_declaration',
|
|
239
|
+
'generator_function_declaration',
|
|
240
|
+
'function_expression',
|
|
241
|
+
'arrow_function',
|
|
242
|
+
'method_definition',
|
|
243
|
+
'class_declaration',
|
|
244
|
+
'abstract_class_declaration',
|
|
245
|
+
'if_statement',
|
|
246
|
+
'for_statement',
|
|
247
|
+
'for_in_statement',
|
|
248
|
+
'while_statement',
|
|
249
|
+
'do_statement',
|
|
250
|
+
'switch_statement',
|
|
251
|
+
'try_statement',
|
|
252
|
+
'object',
|
|
253
|
+
'call_expression',
|
|
254
|
+
]);
|
|
255
|
+
/** file-imports — count the static import nodes (`import_statement` for TS/JS,
|
|
256
|
+
* `import_spec` for Go). The producer's `imports` array is a deduped set, so
|
|
257
|
+
* duplicate specifiers are a residual; re-exports and dynamic `import()` are
|
|
258
|
+
* under-counted (safe). */
|
|
259
|
+
export const countFileImports = countNodeTypes(['import_statement', 'import_spec']);
|
|
260
|
+
/** react-component — count `jsx_element` + `jsx_self_closing_element` nodes off
|
|
261
|
+
* the tree; the measured side sums each component's `jsxElementDetails` (one per
|
|
262
|
+
* JSX element occurrence, nested included), so the residual is JSX that sits
|
|
263
|
+
* outside a component. */
|
|
264
|
+
export const countJsxElements = countNodeTypes(['jsx_element', 'jsx_self_closing_element']);
|
|
265
|
+
/** batch-functions — count the function node types the batch walk recognizes; a
|
|
266
|
+
* function whose span holds no `.batch(`/`.transaction(` is a residual. */
|
|
267
|
+
export const countBatchFunctions = countNodeTypes([
|
|
268
|
+
'function_declaration',
|
|
269
|
+
'method_definition',
|
|
270
|
+
'arrow_function',
|
|
271
|
+
'function_expression',
|
|
272
|
+
'generator_function_declaration',
|
|
273
|
+
'generator_function',
|
|
274
|
+
]);
|
|
275
|
+
/** imports (Go) — count `import_spec` nodes, exempting `*_test.go`. */
|
|
276
|
+
export const countGoImports = goNodeCount(['import_spec']);
|
|
277
|
+
/** go-functions — count Go `function_declaration` + `method_declaration` nodes,
|
|
278
|
+
* exempting `*_test.go`. */
|
|
279
|
+
export const countGoFunctions = goNodeCount(['function_declaration', 'method_declaration']);
|
|
280
|
+
/** go-switches — count Go switch statements, exempting `*_test.go`. */
|
|
281
|
+
export const countGoSwitches = goNodeCount(['expression_switch_statement', 'type_switch_statement']);
|
|
282
|
+
/** type-declarations — count Go `type_spec` nodes (one per declared struct /
|
|
283
|
+
* interface), exempting `*_test.go`. */
|
|
284
|
+
export const countTypeDeclarations = goNodeCount(['type_spec']);
|
|
285
|
+
/** go-package-bindings — count the *pre-dedup* package-scope binding
|
|
286
|
+
* declarations: top-level `function_declaration`/`method_declaration` with a
|
|
287
|
+
* name, plus the named `type_spec`/`var_spec` children of a top-level
|
|
288
|
+
* `type_declaration`/`var_declaration`. This is the number of bindings
|
|
289
|
+
* `buildGoFileBindings` emits *before* its first-wins dedup — which is a no-op
|
|
290
|
+
* within a single valid Go file (package-scope names are unique per file), so it
|
|
291
|
+
* bounds the deduped `bindings.length` exactly. A raw node-type count would
|
|
292
|
+
* over-count (a `type_spec`/`var_spec` may nest inside a function body), so this
|
|
293
|
+
* walks the root's named children exactly as the producer does. Exempts
|
|
294
|
+
* `*_test.go`.
|
|
295
|
+
* @param file - The parsed file to count package-scope bindings for.
|
|
296
|
+
* @returns The number of package-scope bindings `buildGoFileBindings` would emit. */
|
|
297
|
+
export function countGoPackageBindings(file) {
|
|
298
|
+
if (isTestFile('go', file.file))
|
|
299
|
+
return 0;
|
|
300
|
+
const astFile = file;
|
|
301
|
+
if (astFile.adapter.name !== 'go')
|
|
302
|
+
return 0;
|
|
303
|
+
const root = getRawNode(astFile.ast.root);
|
|
304
|
+
let n = 0;
|
|
305
|
+
for (const decl of root.namedChildren) {
|
|
306
|
+
switch (decl.type) {
|
|
307
|
+
case 'function_declaration':
|
|
308
|
+
case 'method_declaration':
|
|
309
|
+
if (decl.childForFieldName('name'))
|
|
310
|
+
n++;
|
|
311
|
+
break;
|
|
312
|
+
case 'type_declaration':
|
|
313
|
+
for (const spec of decl.namedChildren) {
|
|
314
|
+
if (spec.type === 'type_spec' && spec.childForFieldName('name'))
|
|
315
|
+
n++;
|
|
316
|
+
}
|
|
317
|
+
break;
|
|
318
|
+
case 'var_declaration':
|
|
319
|
+
for (const spec of decl.namedChildren) {
|
|
320
|
+
if (spec.type === 'var_spec' && spec.childForFieldName('name'))
|
|
321
|
+
n++;
|
|
322
|
+
}
|
|
323
|
+
break;
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
return n;
|
|
327
|
+
}
|
|
328
|
+
/** schema-objects — count the ORM-builder *call sites* off the source text (a
|
|
329
|
+
* different feature than the producer emits: the producer emits one fact per
|
|
330
|
+
* `const <id> = <builder>('name', …)` *binding*, this counts every `<builder>(`
|
|
331
|
+
* *invocation*). A builder call not bound to a `const` (e.g.
|
|
332
|
+
* `export default pgTable(…)`, or a table returned from a helper) is a positive
|
|
333
|
+
* residual by design — the oracle upper-bounds the emitted bindings rather than
|
|
334
|
+
* re-running the producer's own `ORM_OBJECT_RE` (which would prove 1 = 1 and
|
|
335
|
+
* measure nothing). */
|
|
336
|
+
const ORM_BUILDER_CALL_RE = /\b(?:pgTable|mysqlTable|sqliteTable)\s*\(/g;
|
|
337
|
+
export function countSchemaObjects(file) {
|
|
338
|
+
return [...file.source.matchAll(ORM_BUILDER_CALL_RE)].length;
|
|
339
|
+
}
|
|
340
|
+
/** ddl-declarations — count the DDL *op-producing statements* off the source
|
|
341
|
+
* text — a different, coarser feature than the producer emits, but counting the
|
|
342
|
+
* same unit: one op per CREATE / DROP / ALTER-RENAME TABLE statement. The
|
|
343
|
+
* producer emits one op per CREATE (incl. the FTS5 `CREATE VIRTUAL TABLE`
|
|
344
|
+
* recovery), one per DROP target, and one per `ALTER TABLE … RENAME TO`; this
|
|
345
|
+
* counts those headers independently, so a change to `ddlMigrationOps` cannot
|
|
346
|
+
* silently propagate here. An `ALTER TABLE … ADD/DROP/ALTER COLUMN` /
|
|
347
|
+
* `ADD CONSTRAINT` header is a *column/constraint* change the producer records
|
|
348
|
+
* in `tableColumns`, not as an op — the oracle must NOT count it, or it measures
|
|
349
|
+
* a different population than the producer emits. (`RENAME TO` is the
|
|
350
|
+
* table-rename form; `RENAME COLUMN` is a column change and is excluded by the
|
|
351
|
+
* same `RENAME TO` guard.) */
|
|
352
|
+
const DDL_HEADER_RE = /\b(?:CREATE|DROP)\s+(?:VIRTUAL\s+)?TABLE\b|\bALTER\s+TABLE\b[^;]*?\bRENAME\s+TO\b/gi;
|
|
353
|
+
export function countDdlOps(file) {
|
|
354
|
+
return [...file.source.matchAll(DDL_HEADER_RE)].length;
|
|
355
|
+
}
|
|
356
|
+
/** style-declarations (css/scss) — count `declaration` nodes off the CSS AST.
|
|
357
|
+
* An upper bound, not exact: the producer projects only declarations inside a
|
|
358
|
+
* `rule_set` (skipping `@keyframes`/`@font-face`/`@page` declarations) and may
|
|
359
|
+
* expand a shorthand into several, so a declaration outside a rule_set is a
|
|
360
|
+
* positive residual.
|
|
361
|
+
*
|
|
362
|
+
* @param file The parsed file to count over.
|
|
363
|
+
* @returns The number of `declaration` nodes off the CSS AST.
|
|
364
|
+
*/
|
|
365
|
+
export function countCssDeclarations(file) {
|
|
366
|
+
const ast = file.ast;
|
|
367
|
+
return file.adapter.findNodes(ast, {
|
|
368
|
+
custom: (n) => n.type === 'declaration',
|
|
369
|
+
}).length;
|
|
370
|
+
}
|
|
371
|
+
// ── Coarse upper-bound oracles (Spec 69 R1 correction) ───────────────────────
|
|
372
|
+
// These are the *over-counting* oracles the R1 correction demands for the
|
|
373
|
+
// producers originally marked `none` on a "no exact counter exists" judgement.
|
|
374
|
+
// The bar is not exactness but the upper bound: an oracle counts a dumber
|
|
375
|
+
// superset of the same input, the residual (expected − actual) is pinned by the
|
|
376
|
+
// aggregate gate, and a movement in `actual` is the regression signal — exactly
|
|
377
|
+
// how `batch-functions` (counts every function node against the ~0–21 functions
|
|
378
|
+
// that hold a `.batch(`) already works. A large residual is by design, not a
|
|
379
|
+
// defect; the per-kind `composition` note records what it is made of.
|
|
380
|
+
/** secret-candidates — count `string` + `template_string` nodes. Every candidate
|
|
381
|
+
* (a declarator / assignment / pair / call that carries a string in a
|
|
382
|
+
* credential position) holds ≥1 string literal, so the string-node count
|
|
383
|
+
* upper-bounds the candidate count. Residual = string literals outside a
|
|
384
|
+
* credential position (the majority of a file's strings). */
|
|
385
|
+
export const countSecretCandidates = countNodeTypes(['string', 'template_string']);
|
|
386
|
+
/** security-candidates — count `call_expression` + `template_string` nodes.
|
|
387
|
+
* Every candidate is either a call (command-injection / dynamic-require) or a
|
|
388
|
+
* sink-reaching template (unescaped-html), so this upper-bounds the candidate
|
|
389
|
+
* count. Residual = the large majority of calls/templates that are not
|
|
390
|
+
* security-relevant. */
|
|
391
|
+
export const countSecurityCandidates = countNodeTypes(['call_expression', 'template_string']);
|
|
392
|
+
/** data-access-calls — count `call_expression` + `template_string` nodes. Every
|
|
393
|
+
* resolved DB call is a call (or a tagged-template call), so this upper-bounds
|
|
394
|
+
* the resolved-call count. Residual = non-DB calls/templates (the bulk of a
|
|
395
|
+
* file's call sites). */
|
|
396
|
+
export const countDataAccessCalls = countNodeTypes(['call_expression', 'template_string']);
|
|
397
|
+
/** loop-queries — count loop nodes. The producer emits one candidate per loop
|
|
398
|
+
* whose body issues a DB call; this counts every loop. Residual = loops whose
|
|
399
|
+
* body holds no DB call. */
|
|
400
|
+
export const countLoopQueries = countNodeTypes([
|
|
401
|
+
'for_statement',
|
|
402
|
+
'for_in_statement',
|
|
403
|
+
'while_statement',
|
|
404
|
+
'do_statement',
|
|
405
|
+
]);
|
|
406
|
+
/** dynamic-sql — count `query(` / `execute(` call sites off the source text, a
|
|
407
|
+
* different, coarser feature than the producer's `DANGEROUS_SQL_PATTERNS`
|
|
408
|
+
* (which match only the dangerous `${…}` / `+` template/concat forms). Every
|
|
409
|
+
* dangerous candidate is a `query(`/`execute(` call, so this upper-bounds the
|
|
410
|
+
* candidate count. Residual = safe/parameterized query/execute calls. */
|
|
411
|
+
const DYNAMIC_SQL_CALL_RE = /\b(?:query|execute)\s*\(/g;
|
|
412
|
+
export function countDynamicSql(file) {
|
|
413
|
+
return [...file.source.matchAll(DYNAMIC_SQL_CALL_RE)].length;
|
|
414
|
+
}
|
|
415
|
+
/** query-sites — count every member-call site (`.name(`) plus every SQL keyword
|
|
416
|
+
* occurrence in the raw source: two coarse, independent supersets of the
|
|
417
|
+
* producer's three-component located scan (eager DB-method calls, `.exec`-with-
|
|
418
|
+
* SQL, and standalone SQL keywords in call-body-stripped text). Every query site
|
|
419
|
+
* is a member call or a SQL keyword, so this upper-bounds the site count.
|
|
420
|
+
* Residual = non-DB member calls + SQL keywords inside recognized call bodies
|
|
421
|
+
* (which the producer strips) + the DB-context gate the producer applies. */
|
|
422
|
+
const ALL_MEMBER_CALLS_RE = /\.\w+\s*\(/g;
|
|
423
|
+
export function countQuerySites(file) {
|
|
424
|
+
const calls = (file.source.match(ALL_MEMBER_CALLS_RE) || []).length;
|
|
425
|
+
return calls + countSqlKeywordOccurrences(file.source);
|
|
426
|
+
}
|
|
427
|
+
/** schema-usage — count `call_expression` + `string` + `template_string` nodes.
|
|
428
|
+
* Every table reference is carried in a string literal, a tagged template, or a
|
|
429
|
+
* call, so this upper-bounds the reference count. Residual = strings/calls/
|
|
430
|
+
* templates that name no table reference (the bulk of the file). */
|
|
431
|
+
export const countSchemaUsage = countNodeTypes(['call_expression', 'string', 'template_string']);
|
|
432
|
+
// ── Measured helpers (aggregate producers) ────────────────────────────────────
|
|
433
|
+
// A producer that emits at most one fragment per file must compare the count of
|
|
434
|
+
// the units *inside* that fragment, not the fragment array length (which is 0 or
|
|
435
|
+
// 1 and proves nothing). Each helper reads the emitted payload back into the same
|
|
436
|
+
// unit its count function counted.
|
|
437
|
+
/** ddl-declarations — the DDL op count inside the (single) declaration fragment. */
|
|
438
|
+
export function measuredDdlOps(fragments) {
|
|
439
|
+
return fragments.reduce((n, f) => n + f.ops.length, 0);
|
|
440
|
+
}
|
|
441
|
+
/** style-declarations css/scss — the declaration count inside the fragment. */
|
|
442
|
+
export function measuredStyleDeclarations(fragments) {
|
|
443
|
+
return fragments.reduce((n, f) => n + f.declarations.length, 0);
|
|
444
|
+
}
|
|
445
|
+
/** react-component — the JSX element count across the file's components.
|
|
446
|
+
*
|
|
447
|
+
* @param fragments The emitted react-component fragments for one file.
|
|
448
|
+
* @returns The total JSX element count summed across every component.
|
|
449
|
+
*/
|
|
450
|
+
export function measuredJsxElements(fragments) {
|
|
451
|
+
return fragments.reduce((n, f) => n + f.components.reduce((m, c) => m + (c.jsxElementDetails?.length ?? 0), 0), 0);
|
|
452
|
+
}
|
|
453
|
+
/** file-imports — the import specifier count inside the fragment. */
|
|
454
|
+
export function measuredFileImports(fragments) {
|
|
455
|
+
return fragments.reduce((n, f) => n + f.imports.length, 0);
|
|
456
|
+
}
|
|
457
|
+
/** go-package-bindings — the package-scope binding count inside the (single)
|
|
458
|
+
* fragment. */
|
|
459
|
+
export function measuredGoPackageBindings(fragments) {
|
|
460
|
+
return fragments.reduce((n, f) => n + f.bindings.length, 0);
|
|
461
|
+
}
|
|
462
|
+
/** query-site-candidates — the located-site count across the file's candidate
|
|
463
|
+
* fragments. The producer emits one fragment per TS-family file carrying the
|
|
464
|
+
* `sites` array, so this sums the site count inside it (the same unit
|
|
465
|
+
* `countQuerySites` upper-bounds), not the fragment count. */
|
|
466
|
+
export function measuredQuerySites(fragments) {
|
|
467
|
+
return fragments.reduce((n, f) => n + f.sites.length, 0);
|
|
468
|
+
}
|
|
469
|
+
/** schema-usage-candidates — the candidate count across the file's candidate
|
|
470
|
+
* fragments. One fragment per TS-family file carries the five candidate arrays
|
|
471
|
+
* (`ormRefs`, `queryBuilderRefs`, `collectionAdapterRefs`, `tagged`, `dbCalls`);
|
|
472
|
+
* this sums their lengths (the unit `countSchemaUsage` upper-bounds), not the
|
|
473
|
+
* fragment count.
|
|
474
|
+
* @param fragments - The schema-usage-candidates fragments to sum candidate counts across.
|
|
475
|
+
* @returns The total candidate count across all fragments. */
|
|
476
|
+
export function measuredSchemaUsageCandidates(fragments) {
|
|
477
|
+
return fragments.reduce((n, f) => n +
|
|
478
|
+
f.ormRefs.length +
|
|
479
|
+
f.queryBuilderRefs.length +
|
|
480
|
+
f.collectionAdapterRefs.length +
|
|
481
|
+
f.tagged.length +
|
|
482
|
+
f.dbCalls.length, 0);
|
|
483
|
+
}
|
|
484
|
+
//# sourceMappingURL=oracles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oracles.js","sourceRoot":"","sources":["../../src/phase/oracles.ts"],"names":[],"mappings":"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"}
|