code-auditor-mcp 4.1.1 → 5.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +1 -1
- package/CHANGELOG.md +381 -0
- package/README.md +4 -4
- package/configs/hhra-compat.json +0 -8
- package/dist/__tests__/fixtures/spec-52/item-03-exec-in-loop.d.ts +1 -1
- package/dist/__tests__/fixtures/spec-52/item-03-exec-in-loop.d.ts.map +1 -1
- package/dist/__tests__/fixtures/spec-52/item-03-exec-in-loop.js +7 -1
- package/dist/__tests__/fixtures/spec-52/item-03-exec-in-loop.js.map +1 -1
- package/dist/__tests__/fixtures/spec-52/item-04-storage-sql-exec-in-loop.d.ts +2 -8
- package/dist/__tests__/fixtures/spec-52/item-04-storage-sql-exec-in-loop.d.ts.map +1 -1
- package/dist/__tests__/fixtures/spec-52/item-04-storage-sql-exec-in-loop.js +4 -4
- package/dist/__tests__/fixtures/spec-52/item-04-storage-sql-exec-in-loop.js.map +1 -1
- package/dist/__tests__/fixtures/spec-52/item-06-chained-prepare-run-in-loop.d.ts +1 -1
- package/dist/__tests__/fixtures/spec-52/item-06-chained-prepare-run-in-loop.d.ts.map +1 -1
- package/dist/__tests__/fixtures/spec-52/item-06-chained-prepare-run-in-loop.js.map +1 -1
- package/dist/__tests__/fixtures/spec-52/item-07-chained-prepare-bind-first-in-loop.d.ts +2 -2
- package/dist/__tests__/fixtures/spec-52/item-07-chained-prepare-bind-first-in-loop.d.ts.map +1 -1
- package/dist/__tests__/fixtures/spec-52/item-07-chained-prepare-bind-first-in-loop.js.map +1 -1
- package/dist/__tests__/fixtures/spec-52/item-10-promise-all-map-of-eager-all-in-loop.d.ts +1 -1
- package/dist/__tests__/fixtures/spec-52/item-10-promise-all-map-of-eager-all-in-loop.d.ts.map +1 -1
- package/dist/__tests__/fixtures/spec-52/item-10-promise-all-map-of-eager-all-in-loop.js.map +1 -1
- package/dist/analyzers/applicability.d.ts +42 -0
- package/dist/analyzers/applicability.d.ts.map +1 -1
- package/dist/analyzers/applicability.js +74 -0
- package/dist/analyzers/applicability.js.map +1 -1
- package/dist/analyzers/cross-language/APIContractAnalyzer.js +18 -24
- package/dist/analyzers/cross-language/APIContractAnalyzer.js.map +1 -1
- package/dist/analyzers/cross-language/DependencyGraphBuilder.d.ts +30 -23
- package/dist/analyzers/cross-language/DependencyGraphBuilder.d.ts.map +1 -1
- package/dist/analyzers/cross-language/DependencyGraphBuilder.js +113 -76
- package/dist/analyzers/cross-language/DependencyGraphBuilder.js.map +1 -1
- package/dist/analyzers/cross-language/SchemaValidator.d.ts +2 -0
- package/dist/analyzers/cross-language/SchemaValidator.d.ts.map +1 -1
- package/dist/analyzers/cross-language/SchemaValidator.js +8 -3
- package/dist/analyzers/cross-language/SchemaValidator.js.map +1 -1
- package/dist/analyzers/crossDomain/CrossDomainAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/crossDomain/CrossDomainAnalyzer.js +210 -148
- package/dist/analyzers/crossDomain/CrossDomainAnalyzer.js.map +1 -1
- package/dist/analyzers/documentationAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/documentationAnalyzer.js +23 -28
- package/dist/analyzers/documentationAnalyzer.js.map +1 -1
- package/dist/analyzers/handleIdentification.d.ts +356 -0
- package/dist/analyzers/handleIdentification.d.ts.map +1 -0
- package/dist/analyzers/handleIdentification.js +427 -0
- package/dist/analyzers/handleIdentification.js.map +1 -0
- package/dist/analyzers/manifestStaleness.d.ts +64 -0
- package/dist/analyzers/manifestStaleness.d.ts.map +1 -0
- package/dist/analyzers/manifestStaleness.js +115 -0
- package/dist/analyzers/manifestStaleness.js.map +1 -0
- package/dist/analyzers/orgFilterTiers.d.ts +73 -1
- package/dist/analyzers/orgFilterTiers.d.ts.map +1 -1
- package/dist/analyzers/orgFilterTiers.js +166 -1
- package/dist/analyzers/orgFilterTiers.js.map +1 -1
- package/dist/analyzers/provenance.d.ts +251 -57
- package/dist/analyzers/provenance.d.ts.map +1 -1
- package/dist/analyzers/provenance.js +1109 -429
- package/dist/analyzers/provenance.js.map +1 -1
- package/dist/analyzers/reactAnalyzer.d.ts +2 -0
- package/dist/analyzers/reactAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/reactAnalyzer.js +2 -0
- package/dist/analyzers/reactAnalyzer.js.map +1 -1
- package/dist/analyzers/receiverResolution.d.ts +183 -0
- package/dist/analyzers/receiverResolution.d.ts.map +1 -0
- package/dist/analyzers/receiverResolution.js +540 -0
- package/dist/analyzers/receiverResolution.js.map +1 -0
- package/dist/analyzers/receiverRoot.d.ts +348 -0
- package/dist/analyzers/receiverRoot.d.ts.map +1 -0
- package/dist/analyzers/receiverRoot.js +1032 -0
- package/dist/analyzers/receiverRoot.js.map +1 -0
- package/dist/analyzers/ruleRegistry.d.ts +12 -68
- package/dist/analyzers/ruleRegistry.d.ts.map +1 -1
- package/dist/analyzers/ruleRegistry.js +32 -342
- package/dist/analyzers/ruleRegistry.js.map +1 -1
- package/dist/analyzers/ruleTiming.d.ts +10 -0
- package/dist/analyzers/ruleTiming.d.ts.map +1 -1
- package/dist/analyzers/ruleTiming.js +20 -0
- package/dist/analyzers/ruleTiming.js.map +1 -1
- package/dist/analyzers/sqlLiteral.d.ts +76 -0
- package/dist/analyzers/sqlLiteral.d.ts.map +1 -0
- package/dist/analyzers/sqlLiteral.js +419 -0
- package/dist/analyzers/sqlLiteral.js.map +1 -0
- package/dist/analyzers/tsEcosystem.d.ts +115 -0
- package/dist/analyzers/tsEcosystem.d.ts.map +1 -0
- package/dist/analyzers/tsEcosystem.js +241 -0
- package/dist/analyzers/tsEcosystem.js.map +1 -0
- package/dist/analyzers/tsExpressionDescriptor.d.ts +156 -0
- package/dist/analyzers/tsExpressionDescriptor.d.ts.map +1 -0
- package/dist/analyzers/tsExpressionDescriptor.js +374 -0
- package/dist/analyzers/tsExpressionDescriptor.js.map +1 -0
- package/dist/analyzers/universal/UniversalConventionsAnalyzer.d.ts +6 -0
- package/dist/analyzers/universal/UniversalConventionsAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalConventionsAnalyzer.js +107 -44
- package/dist/analyzers/universal/UniversalConventionsAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/UniversalDRYAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalDRYAnalyzer.js +23 -35
- package/dist/analyzers/universal/UniversalDRYAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/UniversalDataAccessAnalyzer.d.ts +287 -49
- package/dist/analyzers/universal/UniversalDataAccessAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalDataAccessAnalyzer.js +2130 -512
- package/dist/analyzers/universal/UniversalDataAccessAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/UniversalDocumentationAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalDocumentationAnalyzer.js +2 -18
- package/dist/analyzers/universal/UniversalDocumentationAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/UniversalSOLIDAnalyzer.d.ts +0 -33
- package/dist/analyzers/universal/UniversalSOLIDAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalSOLIDAnalyzer.js +20 -143
- package/dist/analyzers/universal/UniversalSOLIDAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/UniversalSchemaAnalyzer.d.ts +4 -3
- package/dist/analyzers/universal/UniversalSchemaAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalSchemaAnalyzer.js +36 -13
- package/dist/analyzers/universal/UniversalSchemaAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/UniversalSecretsAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalSecretsAnalyzer.js +6 -0
- package/dist/analyzers/universal/UniversalSecretsAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/UniversalSecurityAnalyzer.d.ts +15 -0
- package/dist/analyzers/universal/UniversalSecurityAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalSecurityAnalyzer.js +25 -0
- package/dist/analyzers/universal/UniversalSecurityAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/UniversalStylesAnalyzer.d.ts +21 -32
- package/dist/analyzers/universal/UniversalStylesAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalStylesAnalyzer.js +166 -196
- package/dist/analyzers/universal/UniversalStylesAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/functionConcerns.d.ts +3 -0
- package/dist/analyzers/universal/functionConcerns.d.ts.map +1 -1
- package/dist/analyzers/universal/functionConcerns.js +4 -1
- package/dist/analyzers/universal/functionConcerns.js.map +1 -1
- package/dist/analyzers/universal/schema/codeAnalysis.d.ts +310 -69
- package/dist/analyzers/universal/schema/codeAnalysis.d.ts.map +1 -1
- package/dist/analyzers/universal/schema/codeAnalysis.js +709 -383
- package/dist/analyzers/universal/schema/codeAnalysis.js.map +1 -1
- package/dist/analyzers/universal/schema/config.d.ts +3 -14
- package/dist/analyzers/universal/schema/config.d.ts.map +1 -1
- package/dist/analyzers/universal/schema/config.js +3 -16
- package/dist/analyzers/universal/schema/config.js.map +1 -1
- package/dist/analyzers/universal/schema/discovery.d.ts +22 -1
- package/dist/analyzers/universal/schema/discovery.d.ts.map +1 -1
- package/dist/analyzers/universal/schema/discovery.js +36 -20
- package/dist/analyzers/universal/schema/discovery.js.map +1 -1
- package/dist/analyzers/universal/schema/jsonSchema.d.ts.map +1 -1
- package/dist/analyzers/universal/schema/jsonSchema.js +13 -3
- package/dist/analyzers/universal/schema/jsonSchema.js.map +1 -1
- package/dist/analyzers/universal/schema/migrations.d.ts +187 -27
- package/dist/analyzers/universal/schema/migrations.d.ts.map +1 -1
- package/dist/analyzers/universal/schema/migrations.js +443 -186
- package/dist/analyzers/universal/schema/migrations.js.map +1 -1
- package/dist/analyzers/universal/schema/types.d.ts +17 -3
- package/dist/analyzers/universal/schema/types.d.ts.map +1 -1
- package/dist/analyzers/universal/schema/violations.js +1 -1
- package/dist/analyzers/universal/schema/violations.js.map +1 -1
- package/dist/analyzers/universal/styleScale.d.ts +52 -0
- package/dist/analyzers/universal/styleScale.d.ts.map +1 -0
- package/dist/analyzers/universal/styleScale.js +95 -0
- package/dist/analyzers/universal/styleScale.js.map +1 -0
- package/dist/applyDataDirEnv.js +1 -1
- package/dist/applyDataDirEnv.js.map +1 -1
- package/dist/auditRouter.d.ts +26 -30
- package/dist/auditRouter.d.ts.map +1 -1
- package/dist/auditRouter.js +373 -143
- package/dist/auditRouter.js.map +1 -1
- package/dist/auditRunner.d.ts +66 -1
- package/dist/auditRunner.d.ts.map +1 -1
- package/dist/auditRunner.js +1544 -1034
- package/dist/auditRunner.js.map +1 -1
- package/dist/baseline.d.ts +30 -3
- package/dist/baseline.d.ts.map +1 -1
- package/dist/baseline.js +70 -9
- package/dist/baseline.js.map +1 -1
- package/dist/cli.js +983 -821
- package/dist/cli.js.map +1 -1
- package/dist/codeIndex/analyzerConfig.d.ts +60 -0
- package/dist/codeIndex/analyzerConfig.d.ts.map +1 -0
- package/dist/codeIndex/analyzerConfig.js +98 -0
- package/dist/codeIndex/analyzerConfig.js.map +1 -0
- package/dist/codeIndex/auditResults.d.ts +39 -0
- package/dist/codeIndex/auditResults.d.ts.map +1 -0
- package/dist/codeIndex/auditResults.js +99 -0
- package/dist/codeIndex/auditResults.js.map +1 -0
- package/dist/codeIndex/codeMap.d.ts +59 -0
- package/dist/codeIndex/codeMap.d.ts.map +1 -0
- package/dist/codeIndex/codeMap.js +72 -0
- package/dist/codeIndex/codeMap.js.map +1 -0
- package/dist/codeIndex/conventions.d.ts +33 -0
- package/dist/codeIndex/conventions.d.ts.map +1 -0
- package/dist/codeIndex/conventions.js +84 -0
- package/dist/codeIndex/conventions.js.map +1 -0
- package/dist/codeIndex/coverage.d.ts +78 -0
- package/dist/codeIndex/coverage.d.ts.map +1 -0
- package/dist/codeIndex/coverage.js +164 -0
- package/dist/codeIndex/coverage.js.map +1 -0
- package/dist/codeIndex/dependencyGraph.d.ts +97 -0
- package/dist/codeIndex/dependencyGraph.d.ts.map +1 -0
- package/dist/codeIndex/dependencyGraph.js +241 -0
- package/dist/codeIndex/dependencyGraph.js.map +1 -0
- package/dist/codeIndex/functionIndex.d.ts +111 -0
- package/dist/codeIndex/functionIndex.d.ts.map +1 -0
- package/dist/codeIndex/functionIndex.js +306 -0
- package/dist/codeIndex/functionIndex.js.map +1 -0
- package/dist/codeIndex/inferredReceivers.d.ts +32 -0
- package/dist/codeIndex/inferredReceivers.d.ts.map +1 -0
- package/dist/codeIndex/inferredReceivers.js +41 -0
- package/dist/codeIndex/inferredReceivers.js.map +1 -0
- package/dist/codeIndex/meta.d.ts +30 -0
- package/dist/codeIndex/meta.d.ts.map +1 -0
- package/dist/codeIndex/meta.js +37 -0
- package/dist/codeIndex/meta.js.map +1 -0
- package/dist/codeIndex/migrations.d.ts +96 -0
- package/dist/codeIndex/migrations.d.ts.map +1 -0
- package/dist/codeIndex/migrations.js +1302 -0
- package/dist/codeIndex/migrations.js.map +1 -0
- package/dist/codeIndex/projectTasks.d.ts +54 -0
- package/dist/codeIndex/projectTasks.d.ts.map +1 -0
- package/dist/codeIndex/projectTasks.js +81 -0
- package/dist/codeIndex/projectTasks.js.map +1 -0
- package/dist/codeIndex/provenance.d.ts +47 -0
- package/dist/codeIndex/provenance.d.ts.map +1 -0
- package/dist/codeIndex/provenance.js +48 -0
- package/dist/codeIndex/provenance.js.map +1 -0
- package/dist/codeIndex/rawSql.d.ts +54 -0
- package/dist/codeIndex/rawSql.d.ts.map +1 -0
- package/dist/codeIndex/rawSql.js +71 -0
- package/dist/codeIndex/rawSql.js.map +1 -0
- package/dist/codeIndex/schema.d.ts +99 -0
- package/dist/codeIndex/schema.d.ts.map +1 -0
- package/dist/codeIndex/schema.js +174 -0
- package/dist/codeIndex/schema.js.map +1 -0
- package/dist/codeIndex/search.d.ts +40 -0
- package/dist/codeIndex/search.d.ts.map +1 -0
- package/dist/codeIndex/search.js +316 -0
- package/dist/codeIndex/search.js.map +1 -0
- package/dist/codeIndex/shared.d.ts +27 -0
- package/dist/codeIndex/shared.d.ts.map +1 -0
- package/dist/codeIndex/shared.js +46 -0
- package/dist/codeIndex/shared.js.map +1 -0
- package/dist/codeIndex/sqliteCollection.d.ts +81 -0
- package/dist/codeIndex/sqliteCollection.d.ts.map +1 -0
- package/dist/codeIndex/sqliteCollection.js +250 -0
- package/dist/codeIndex/sqliteCollection.js.map +1 -0
- package/dist/codeIndex/whitelist.d.ts +59 -0
- package/dist/codeIndex/whitelist.d.ts.map +1 -0
- package/dist/codeIndex/whitelist.js +188 -0
- package/dist/codeIndex/whitelist.js.map +1 -0
- package/dist/codeIndexDB.d.ts +132 -271
- package/dist/codeIndexDB.d.ts.map +1 -1
- package/dist/codeIndexDB.js +365 -2729
- package/dist/codeIndexDB.js.map +1 -1
- package/dist/codeIndexService.d.ts +87 -12
- package/dist/codeIndexService.d.ts.map +1 -1
- package/dist/codeIndexService.js +110 -34
- package/dist/codeIndexService.js.map +1 -1
- package/dist/componentScanner.d.ts +35 -0
- package/dist/componentScanner.d.ts.map +1 -1
- package/dist/componentScanner.js +114 -80
- package/dist/componentScanner.js.map +1 -1
- package/dist/config/configGeneratePath.d.ts +4 -0
- package/dist/config/configGeneratePath.d.ts.map +1 -1
- package/dist/config/configGeneratePath.js +4 -0
- package/dist/config/configGeneratePath.js.map +1 -1
- package/dist/config/configLoader.d.ts +15 -0
- package/dist/config/configLoader.d.ts.map +1 -1
- package/dist/config/configLoader.js +15 -16
- package/dist/config/configLoader.js.map +1 -1
- package/dist/config/defaults.d.ts +11 -7
- package/dist/config/defaults.d.ts.map +1 -1
- package/dist/config/defaults.js +16 -14
- package/dist/config/defaults.js.map +1 -1
- package/dist/config/effectiveConfig.d.ts +17 -2
- package/dist/config/effectiveConfig.d.ts.map +1 -1
- package/dist/config/effectiveConfig.js +32 -25
- package/dist/config/effectiveConfig.js.map +1 -1
- package/dist/config/lintConfigReader.d.ts +6 -0
- package/dist/config/lintConfigReader.d.ts.map +1 -1
- package/dist/config/lintConfigReader.js +6 -0
- package/dist/config/lintConfigReader.js.map +1 -1
- package/dist/config/staticObjectExtract.d.ts +4 -0
- package/dist/config/staticObjectExtract.d.ts.map +1 -1
- package/dist/config/staticObjectExtract.js +7 -3
- package/dist/config/staticObjectExtract.js.map +1 -1
- package/dist/config/thresholdRationales.d.ts +2 -0
- package/dist/config/thresholdRationales.d.ts.map +1 -1
- package/dist/config/thresholdRationales.js +5 -2
- package/dist/config/thresholdRationales.js.map +1 -1
- package/dist/constants.d.ts +1 -1
- package/dist/conventions/conventionMiner.d.ts +105 -2
- package/dist/conventions/conventionMiner.d.ts.map +1 -1
- package/dist/conventions/conventionMiner.js +334 -259
- package/dist/conventions/conventionMiner.js.map +1 -1
- package/dist/coverage/coverageService.js +4 -4
- package/dist/coverage/coverageService.js.map +1 -1
- package/dist/daemon/args.d.ts +3 -0
- package/dist/daemon/args.d.ts.map +1 -1
- package/dist/daemon/args.js +3 -0
- package/dist/daemon/args.js.map +1 -1
- package/dist/daemon/core.d.ts +33 -27
- package/dist/daemon/core.d.ts.map +1 -1
- package/dist/daemon/core.js +198 -162
- package/dist/daemon/core.js.map +1 -1
- package/dist/daemon/lspServer.d.ts +8 -0
- package/dist/daemon/lspServer.d.ts.map +1 -1
- package/dist/daemon/lspServer.js +8 -0
- package/dist/daemon/lspServer.js.map +1 -1
- package/dist/daemon/main.d.ts +2 -0
- package/dist/daemon/main.d.ts.map +1 -1
- package/dist/daemon/main.js +22 -4
- package/dist/daemon/main.js.map +1 -1
- package/dist/daemon/resolve.d.ts +18 -3
- package/dist/daemon/resolve.d.ts.map +1 -1
- package/dist/daemon/resolve.js +25 -4
- package/dist/daemon/resolve.js.map +1 -1
- package/dist/daemon/socketClient.d.ts +10 -1
- package/dist/daemon/socketClient.d.ts.map +1 -1
- package/dist/daemon/socketClient.js +10 -1
- package/dist/daemon/socketClient.js.map +1 -1
- package/dist/daemon/socketServer.d.ts +13 -0
- package/dist/daemon/socketServer.d.ts.map +1 -1
- package/dist/daemon/socketServer.js +13 -0
- package/dist/daemon/socketServer.js.map +1 -1
- package/dist/dataPaths.d.ts +17 -8
- package/dist/dataPaths.d.ts.map +1 -1
- package/dist/dataPaths.js +16 -44
- package/dist/dataPaths.js.map +1 -1
- package/dist/dismissals.d.ts +22 -1
- package/dist/dismissals.d.ts.map +1 -1
- package/dist/dismissals.js +22 -1
- package/dist/dismissals.js.map +1 -1
- package/dist/enforcement/gate.d.ts +1 -0
- package/dist/enforcement/gate.d.ts.map +1 -1
- package/dist/enforcement/gate.js +1 -0
- package/dist/enforcement/gate.js.map +1 -1
- package/dist/fingerprint.d.ts +6 -0
- package/dist/fingerprint.d.ts.map +1 -1
- package/dist/fingerprint.js +46 -1
- package/dist/fingerprint.js.map +1 -1
- package/dist/functionScanner.d.ts +30 -1
- package/dist/functionScanner.d.ts.map +1 -1
- package/dist/functionScanner.js +258 -256
- package/dist/functionScanner.js.map +1 -1
- package/dist/generators/AWSQConfigGenerator.d.ts +23 -0
- package/dist/generators/AWSQConfigGenerator.d.ts.map +1 -1
- package/dist/generators/AWSQConfigGenerator.js +23 -0
- package/dist/generators/AWSQConfigGenerator.js.map +1 -1
- package/dist/generators/BaseConfigGenerator.d.ts +7 -0
- package/dist/generators/BaseConfigGenerator.d.ts.map +1 -1
- package/dist/generators/BaseConfigGenerator.js +7 -0
- package/dist/generators/BaseConfigGenerator.js.map +1 -1
- package/dist/generators/ClaudeConfigGenerator.d.ts +23 -0
- package/dist/generators/ClaudeConfigGenerator.d.ts.map +1 -1
- package/dist/generators/ClaudeConfigGenerator.js +23 -0
- package/dist/generators/ClaudeConfigGenerator.js.map +1 -1
- package/dist/generators/ClineConfigGenerator.d.ts +23 -0
- package/dist/generators/ClineConfigGenerator.d.ts.map +1 -1
- package/dist/generators/ClineConfigGenerator.js +23 -0
- package/dist/generators/ClineConfigGenerator.js.map +1 -1
- package/dist/generators/CodeiumConfigGenerator.d.ts +23 -0
- package/dist/generators/CodeiumConfigGenerator.d.ts.map +1 -1
- package/dist/generators/CodeiumConfigGenerator.js +23 -0
- package/dist/generators/CodeiumConfigGenerator.js.map +1 -1
- package/dist/generators/CodexConfigGenerator.d.ts +23 -0
- package/dist/generators/CodexConfigGenerator.d.ts.map +1 -1
- package/dist/generators/CodexConfigGenerator.js +23 -0
- package/dist/generators/CodexConfigGenerator.js.map +1 -1
- package/dist/generators/ConfigGeneratorFactory.d.ts +9 -0
- package/dist/generators/ConfigGeneratorFactory.d.ts.map +1 -1
- package/dist/generators/ConfigGeneratorFactory.js +9 -0
- package/dist/generators/ConfigGeneratorFactory.js.map +1 -1
- package/dist/generators/ContinueConfigGenerator.d.ts +23 -0
- package/dist/generators/ContinueConfigGenerator.d.ts.map +1 -1
- package/dist/generators/ContinueConfigGenerator.js +23 -0
- package/dist/generators/ContinueConfigGenerator.js.map +1 -1
- package/dist/generators/CopilotConfigGenerator.d.ts +23 -0
- package/dist/generators/CopilotConfigGenerator.d.ts.map +1 -1
- package/dist/generators/CopilotConfigGenerator.js +23 -0
- package/dist/generators/CopilotConfigGenerator.js.map +1 -1
- package/dist/generators/CursorConfigGenerator.d.ts +23 -0
- package/dist/generators/CursorConfigGenerator.d.ts.map +1 -1
- package/dist/generators/CursorConfigGenerator.js +23 -0
- package/dist/generators/CursorConfigGenerator.js.map +1 -1
- package/dist/generators/GeminiConfigGenerator.d.ts +23 -0
- package/dist/generators/GeminiConfigGenerator.d.ts.map +1 -1
- package/dist/generators/GeminiConfigGenerator.js +23 -0
- package/dist/generators/GeminiConfigGenerator.js.map +1 -1
- package/dist/generators/VSCodeConfigGenerator.d.ts +23 -0
- package/dist/generators/VSCodeConfigGenerator.d.ts.map +1 -1
- package/dist/generators/VSCodeConfigGenerator.js +23 -0
- package/dist/generators/VSCodeConfigGenerator.js.map +1 -1
- package/dist/generators/ZCodeConfigGenerator.d.ts +23 -0
- package/dist/generators/ZCodeConfigGenerator.d.ts.map +1 -1
- package/dist/generators/ZCodeConfigGenerator.js +23 -0
- package/dist/generators/ZCodeConfigGenerator.js.map +1 -1
- package/dist/graph/blastRadius.d.ts.map +1 -1
- package/dist/graph/blastRadius.js +12 -7
- package/dist/graph/blastRadius.js.map +1 -1
- package/dist/graph/callGraph.d.ts +31 -0
- package/dist/graph/callGraph.d.ts.map +1 -1
- package/dist/graph/callGraph.js +62 -32
- package/dist/graph/callGraph.js.map +1 -1
- package/dist/graph/importClassification.d.ts +28 -0
- package/dist/graph/importClassification.d.ts.map +1 -1
- package/dist/graph/importClassification.js +57 -0
- package/dist/graph/importClassification.js.map +1 -1
- package/dist/graph/importGraph.d.ts +38 -0
- package/dist/graph/importGraph.d.ts.map +1 -1
- package/dist/graph/importGraph.js +38 -0
- package/dist/graph/importGraph.js.map +1 -1
- package/dist/graph/outputFormatter.d.ts +12 -4
- package/dist/graph/outputFormatter.d.ts.map +1 -1
- package/dist/graph/outputFormatter.js +12 -62
- package/dist/graph/outputFormatter.js.map +1 -1
- package/dist/graph/resolutionEnvironment.d.ts +61 -0
- package/dist/graph/resolutionEnvironment.d.ts.map +1 -0
- package/dist/graph/resolutionEnvironment.js +57 -0
- package/dist/graph/resolutionEnvironment.js.map +1 -0
- package/dist/hooks/codex.d.ts +8 -1
- package/dist/hooks/codex.d.ts.map +1 -1
- package/dist/hooks/codex.js +7 -0
- package/dist/hooks/codex.js.map +1 -1
- package/dist/hooks/core.d.ts +6 -0
- package/dist/hooks/core.d.ts.map +1 -1
- package/dist/hooks/core.js +6 -1
- package/dist/hooks/core.js.map +1 -1
- package/dist/hooks/cursor.d.ts +11 -1
- package/dist/hooks/cursor.d.ts.map +1 -1
- package/dist/hooks/cursor.js +10 -0
- package/dist/hooks/cursor.js.map +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/installConfig.d.ts +23 -5
- package/dist/installConfig.d.ts.map +1 -1
- package/dist/installConfig.js +23 -5
- package/dist/installConfig.js.map +1 -1
- package/dist/installer.d.ts +6 -0
- package/dist/installer.d.ts.map +1 -1
- package/dist/installer.js +6 -0
- package/dist/installer.js.map +1 -1
- package/dist/invariants/ruleEngine.d.ts +3 -0
- package/dist/invariants/ruleEngine.d.ts.map +1 -1
- package/dist/invariants/ruleEngine.js +156 -119
- package/dist/invariants/ruleEngine.js.map +1 -1
- package/dist/invariants/ruleValidator.d.ts +3 -0
- package/dist/invariants/ruleValidator.d.ts.map +1 -1
- package/dist/invariants/ruleValidator.js +185 -178
- package/dist/invariants/ruleValidator.js.map +1 -1
- package/dist/languages/LanguageOrchestrator.d.ts +4 -1
- package/dist/languages/LanguageOrchestrator.d.ts.map +1 -1
- package/dist/languages/LanguageOrchestrator.js +8 -19
- package/dist/languages/LanguageOrchestrator.js.map +1 -1
- package/dist/languages/RuntimeManager.d.ts +8 -0
- package/dist/languages/RuntimeManager.d.ts.map +1 -1
- package/dist/languages/RuntimeManager.js +55 -5
- package/dist/languages/RuntimeManager.js.map +1 -1
- package/dist/languages/UniversalAnalyzer.js +1 -1
- package/dist/languages/UniversalAnalyzer.js.map +1 -1
- package/dist/languages/adapterBridge.d.ts +4 -0
- package/dist/languages/adapterBridge.d.ts.map +1 -1
- package/dist/languages/adapterBridge.js +37 -3
- package/dist/languages/adapterBridge.js.map +1 -1
- package/dist/languages/go/GoAdapter.d.ts.map +1 -1
- package/dist/languages/go/GoAdapter.js +11 -14
- package/dist/languages/go/GoAdapter.js.map +1 -1
- package/dist/languages/go/analyzer-darwin-amd64 +0 -0
- package/dist/languages/go/analyzer-darwin-arm64 +0 -0
- package/dist/languages/go/analyzer-linux-amd64 +0 -0
- package/dist/languages/go/analyzer-linux-arm64 +0 -0
- package/dist/languages/go/analyzer-src/analyzer.go +2 -0
- package/dist/languages/go/analyzer-src/dataaccess.go +388 -0
- package/dist/languages/go/analyzer-src/types.go +8 -0
- package/dist/languages/go/analyzer-windows-amd64.exe +0 -0
- package/dist/languages/go/database-packages.json +8 -0
- package/dist/languages/go/goResolution.d.ts +229 -0
- package/dist/languages/go/goResolution.d.ts.map +1 -0
- package/dist/languages/go/goResolution.js +799 -0
- package/dist/languages/go/goResolution.js.map +1 -0
- package/dist/languages/go/stdlib-packages.json +353 -0
- package/dist/languages/go/tenantInputs.d.ts +37 -0
- package/dist/languages/go/tenantInputs.d.ts.map +1 -0
- package/dist/languages/go/tenantInputs.js +121 -0
- package/dist/languages/go/tenantInputs.js.map +1 -0
- package/dist/languages/index.d.ts +1 -0
- package/dist/languages/index.d.ts.map +1 -1
- package/dist/languages/index.js +5 -0
- package/dist/languages/index.js.map +1 -1
- package/dist/languages/json/JsonAdapter.d.ts +177 -0
- package/dist/languages/json/JsonAdapter.d.ts.map +1 -0
- package/dist/languages/json/JsonAdapter.js +531 -0
- package/dist/languages/json/JsonAdapter.js.map +1 -0
- package/dist/languages/locationIndex.d.ts +41 -0
- package/dist/languages/locationIndex.d.ts.map +1 -0
- package/dist/languages/locationIndex.js +42 -0
- package/dist/languages/locationIndex.js.map +1 -0
- package/dist/languages/sql/dialectDetection.d.ts +57 -0
- package/dist/languages/sql/dialectDetection.d.ts.map +1 -0
- package/dist/languages/sql/dialectDetection.js +135 -0
- package/dist/languages/sql/dialectDetection.js.map +1 -0
- package/dist/languages/sql/sqlAst.d.ts +494 -0
- package/dist/languages/sql/sqlAst.d.ts.map +1 -0
- package/dist/languages/sql/sqlAst.js +1817 -0
- package/dist/languages/sql/sqlAst.js.map +1 -0
- package/dist/languages/testConventions.d.ts +12 -1
- package/dist/languages/testConventions.d.ts.map +1 -1
- package/dist/languages/testConventions.js +13 -1
- package/dist/languages/testConventions.js.map +1 -1
- package/dist/languages/tree-sitter/TreeSitterCssAdapter.js +1 -1
- package/dist/languages/tree-sitter/TreeSitterCssAdapter.js.map +1 -1
- package/dist/languages/tree-sitter/converter.js +2 -2
- package/dist/languages/tree-sitter/converter.js.map +1 -1
- package/dist/languages/tree-sitter/parser.d.ts +3 -4
- package/dist/languages/tree-sitter/parser.d.ts.map +1 -1
- package/dist/languages/tree-sitter/parser.js +10 -4
- package/dist/languages/tree-sitter/parser.js.map +1 -1
- package/dist/languages/tree-sitter/rawNode.d.ts +3 -0
- package/dist/languages/tree-sitter/rawNode.d.ts.map +1 -1
- package/dist/languages/tree-sitter/rawNode.js +3 -0
- package/dist/languages/tree-sitter/rawNode.js.map +1 -1
- package/dist/languages/types.d.ts +7 -0
- package/dist/languages/types.d.ts.map +1 -1
- package/dist/languages/typescript/TreeSitterTypeScriptAdapter.d.ts +36 -0
- package/dist/languages/typescript/TreeSitterTypeScriptAdapter.d.ts.map +1 -1
- package/dist/languages/typescript/TreeSitterTypeScriptAdapter.js +168 -45
- package/dist/languages/typescript/TreeSitterTypeScriptAdapter.js.map +1 -1
- package/dist/languages/typescript/database-packages.json +19 -0
- package/dist/ledger.d.ts +118 -2
- package/dist/ledger.d.ts.map +1 -1
- package/dist/ledger.js +167 -45
- package/dist/ledger.js.map +1 -1
- package/dist/legacyIndexNotice.d.ts +32 -0
- package/dist/legacyIndexNotice.d.ts.map +1 -0
- package/dist/legacyIndexNotice.js +89 -0
- package/dist/legacyIndexNotice.js.map +1 -0
- package/dist/mcp-tools/discoveryQueries.d.ts +55 -0
- package/dist/mcp-tools/discoveryQueries.d.ts.map +1 -0
- package/dist/mcp-tools/discoveryQueries.js +157 -0
- package/dist/mcp-tools/discoveryQueries.js.map +1 -0
- package/dist/mcp-tools/projectTasks.d.ts +9 -123
- package/dist/mcp-tools/projectTasks.d.ts.map +1 -1
- package/dist/mcp-tools/projectTasks.js +180 -170
- package/dist/mcp-tools/projectTasks.js.map +1 -1
- package/dist/mcp-tools/whitelistTools.d.ts +20 -0
- package/dist/mcp-tools/whitelistTools.d.ts.map +1 -1
- package/dist/mcp-tools/whitelistTools.js +20 -0
- package/dist/mcp-tools/whitelistTools.js.map +1 -1
- package/dist/mcp-tools/workflowGuide.d.ts +9 -0
- package/dist/mcp-tools/workflowGuide.d.ts.map +1 -1
- package/dist/mcp-tools/workflowGuide.js +13 -5
- package/dist/mcp-tools/workflowGuide.js.map +1 -1
- package/dist/mcp-tools-shared.d.ts +78 -0
- package/dist/mcp-tools-shared.d.ts.map +1 -1
- package/dist/mcp-tools-shared.js +203 -340
- package/dist/mcp-tools-shared.js.map +1 -1
- package/dist/mcp-ui-simple.d.ts +2 -0
- package/dist/mcp-ui-simple.d.ts.map +1 -1
- package/dist/mcp-ui-simple.js +12 -5
- package/dist/mcp-ui-simple.js.map +1 -1
- package/dist/mcp.d.ts +6 -0
- package/dist/mcp.d.ts.map +1 -1
- package/dist/mcp.js +827 -850
- package/dist/mcp.js.map +1 -1
- package/dist/mcpAuditJobs.d.ts +29 -33
- package/dist/mcpAuditJobs.d.ts.map +1 -1
- package/dist/mcpAuditJobs.js +102 -791
- package/dist/mcpAuditJobs.js.map +1 -1
- package/dist/mcpAutoIndex.d.ts +5 -0
- package/dist/mcpAutoIndex.d.ts.map +1 -1
- package/dist/mcpAutoIndex.js +7 -2
- package/dist/mcpAutoIndex.js.map +1 -1
- package/dist/mcpDiagnostics.d.ts +7 -0
- package/dist/mcpDiagnostics.d.ts.map +1 -1
- package/dist/mcpDiagnostics.js +34 -9
- package/dist/mcpDiagnostics.js.map +1 -1
- package/dist/mcpToolErrors.d.ts +16 -0
- package/dist/mcpToolErrors.d.ts.map +1 -1
- package/dist/mcpToolErrors.js +16 -0
- package/dist/mcpToolErrors.js.map +1 -1
- package/dist/nextFile.d.ts +6 -0
- package/dist/nextFile.d.ts.map +1 -1
- package/dist/nextFile.js +6 -0
- package/dist/nextFile.js.map +1 -1
- package/dist/nextFileIncremental.d.ts +44 -4
- package/dist/nextFileIncremental.d.ts.map +1 -1
- package/dist/nextFileIncremental.js +47 -7
- package/dist/nextFileIncremental.js.map +1 -1
- package/dist/phase/batchFunctions.d.ts +38 -0
- package/dist/phase/batchFunctions.d.ts.map +1 -0
- package/dist/phase/batchFunctions.js +64 -0
- package/dist/phase/batchFunctions.js.map +1 -0
- package/dist/phase/checks.d.ts +39 -0
- package/dist/phase/checks.d.ts.map +1 -0
- package/dist/phase/checks.js +48 -0
- package/dist/phase/checks.js.map +1 -0
- package/dist/phase/codeBlocks.d.ts +25 -0
- package/dist/phase/codeBlocks.d.ts.map +1 -0
- package/dist/phase/codeBlocks.js +268 -0
- package/dist/phase/codeBlocks.js.map +1 -0
- package/dist/phase/colorMath.d.ts +41 -0
- package/dist/phase/colorMath.d.ts.map +1 -0
- package/dist/phase/colorMath.js +109 -0
- package/dist/phase/colorMath.js.map +1 -0
- package/dist/phase/config.d.ts +29 -0
- package/dist/phase/config.d.ts.map +1 -0
- package/dist/phase/config.js +54 -0
- package/dist/phase/config.js.map +1 -0
- package/dist/phase/consumed.d.ts +47 -0
- package/dist/phase/consumed.d.ts.map +1 -0
- package/dist/phase/consumed.js +22 -0
- package/dist/phase/consumed.js.map +1 -0
- package/dist/phase/conventionMining.d.ts +59 -0
- package/dist/phase/conventionMining.d.ts.map +1 -0
- package/dist/phase/conventionMining.js +152 -0
- package/dist/phase/conventionMining.js.map +1 -0
- package/dist/phase/coverage.d.ts +65 -0
- package/dist/phase/coverage.d.ts.map +1 -0
- package/dist/phase/coverage.js +121 -0
- package/dist/phase/coverage.js.map +1 -0
- package/dist/phase/dag.d.ts +49 -0
- package/dist/phase/dag.d.ts.map +1 -0
- package/dist/phase/dag.js +120 -0
- package/dist/phase/dag.js.map +1 -0
- package/dist/phase/dataAccessCalls.d.ts +33 -0
- package/dist/phase/dataAccessCalls.d.ts.map +1 -0
- package/dist/phase/dataAccessCalls.js +42 -0
- package/dist/phase/dataAccessCalls.js.map +1 -0
- package/dist/phase/dataAccessCallsCandidates.d.ts +25 -0
- package/dist/phase/dataAccessCallsCandidates.d.ts.map +1 -0
- package/dist/phase/dataAccessCallsCandidates.js +27 -0
- package/dist/phase/dataAccessCallsCandidates.js.map +1 -0
- package/dist/phase/dynamicSql.d.ts +18 -0
- package/dist/phase/dynamicSql.d.ts.map +1 -0
- package/dist/phase/dynamicSql.js +20 -0
- package/dist/phase/dynamicSql.js.map +1 -0
- package/dist/phase/exportForm.d.ts +23 -0
- package/dist/phase/exportForm.d.ts.map +1 -0
- package/dist/phase/exportForm.js +29 -0
- package/dist/phase/exportForm.js.map +1 -0
- package/dist/phase/exportSymbols.d.ts +21 -0
- package/dist/phase/exportSymbols.d.ts.map +1 -0
- package/dist/phase/exportSymbols.js +28 -0
- package/dist/phase/exportSymbols.js.map +1 -0
- package/dist/phase/fileHeader.d.ts +15 -0
- package/dist/phase/fileHeader.d.ts.map +1 -0
- package/dist/phase/fileHeader.js +33 -0
- package/dist/phase/fileHeader.js.map +1 -0
- package/dist/phase/fileImports.d.ts +39 -0
- package/dist/phase/fileImports.d.ts.map +1 -0
- package/dist/phase/fileImports.js +138 -0
- package/dist/phase/fileImports.js.map +1 -0
- package/dist/phase/fileSymbols.d.ts +25 -0
- package/dist/phase/fileSymbols.d.ts.map +1 -0
- package/dist/phase/fileSymbols.js +302 -0
- package/dist/phase/fileSymbols.js.map +1 -0
- package/dist/phase/functionBodies.d.ts +28 -0
- package/dist/phase/functionBodies.d.ts.map +1 -0
- package/dist/phase/functionBodies.js +67 -0
- package/dist/phase/functionBodies.js.map +1 -0
- package/dist/phase/functionIndex.d.ts +28 -0
- package/dist/phase/functionIndex.d.ts.map +1 -0
- package/dist/phase/functionIndex.js +152 -0
- package/dist/phase/functionIndex.js.map +1 -0
- package/dist/phase/goFunctionAnalysis.d.ts +47 -0
- package/dist/phase/goFunctionAnalysis.d.ts.map +1 -0
- package/dist/phase/goFunctionAnalysis.js +291 -0
- package/dist/phase/goFunctionAnalysis.js.map +1 -0
- package/dist/phase/goFunctions.d.ts +38 -0
- package/dist/phase/goFunctions.d.ts.map +1 -0
- package/dist/phase/goFunctions.js +154 -0
- package/dist/phase/goFunctions.js.map +1 -0
- package/dist/phase/goImports.d.ts +29 -0
- package/dist/phase/goImports.d.ts.map +1 -0
- package/dist/phase/goImports.js +68 -0
- package/dist/phase/goImports.js.map +1 -0
- package/dist/phase/goPackageBindings.d.ts +22 -0
- package/dist/phase/goPackageBindings.d.ts.map +1 -0
- package/dist/phase/goPackageBindings.js +30 -0
- package/dist/phase/goPackageBindings.js.map +1 -0
- package/dist/phase/goSwitches.d.ts +28 -0
- package/dist/phase/goSwitches.d.ts.map +1 -0
- package/dist/phase/goSwitches.js +52 -0
- package/dist/phase/goSwitches.js.map +1 -0
- package/dist/phase/importForm.d.ts +20 -0
- package/dist/phase/importForm.d.ts.map +1 -0
- package/dist/phase/importForm.js +27 -0
- package/dist/phase/importForm.js.map +1 -0
- package/dist/phase/importSpecifiers.d.ts +20 -0
- package/dist/phase/importSpecifiers.d.ts.map +1 -0
- package/dist/phase/importSpecifiers.js +30 -0
- package/dist/phase/importSpecifiers.js.map +1 -0
- package/dist/phase/imports.d.ts +18 -0
- package/dist/phase/imports.d.ts.map +1 -0
- package/dist/phase/imports.js +25 -0
- package/dist/phase/imports.js.map +1 -0
- package/dist/phase/jsonDocument.d.ts +26 -0
- package/dist/phase/jsonDocument.d.ts.map +1 -0
- package/dist/phase/jsonDocument.js +36 -0
- package/dist/phase/jsonDocument.js.map +1 -0
- package/dist/phase/localBinding.d.ts +33 -0
- package/dist/phase/localBinding.d.ts.map +1 -0
- package/dist/phase/localBinding.js +208 -0
- package/dist/phase/localBinding.js.map +1 -0
- package/dist/phase/loopQueries.d.ts +31 -0
- package/dist/phase/loopQueries.d.ts.map +1 -0
- package/dist/phase/loopQueries.js +44 -0
- package/dist/phase/loopQueries.js.map +1 -0
- package/dist/phase/loopQueryCandidates.d.ts +26 -0
- package/dist/phase/loopQueryCandidates.d.ts.map +1 -0
- package/dist/phase/loopQueryCandidates.js +28 -0
- package/dist/phase/loopQueryCandidates.js.map +1 -0
- package/dist/phase/oracles.d.ts +216 -0
- package/dist/phase/oracles.d.ts.map +1 -0
- package/dist/phase/oracles.js +484 -0
- package/dist/phase/oracles.js.map +1 -0
- package/dist/phase/phaseModel.d.ts +190 -0
- package/dist/phase/phaseModel.d.ts.map +1 -0
- package/dist/phase/phaseModel.js +491 -0
- package/dist/phase/phaseModel.js.map +1 -0
- package/dist/phase/producers.d.ts +450 -0
- package/dist/phase/producers.d.ts.map +1 -0
- package/dist/phase/producers.js +1030 -0
- package/dist/phase/producers.js.map +1 -0
- package/dist/phase/querySiteCandidates.d.ts +27 -0
- package/dist/phase/querySiteCandidates.d.ts.map +1 -0
- package/dist/phase/querySiteCandidates.js +66 -0
- package/dist/phase/querySiteCandidates.js.map +1 -0
- package/dist/phase/querySites.d.ts +30 -0
- package/dist/phase/querySites.d.ts.map +1 -0
- package/dist/phase/querySites.js +93 -0
- package/dist/phase/querySites.js.map +1 -0
- package/dist/phase/reachability.d.ts +61 -0
- package/dist/phase/reachability.d.ts.map +1 -0
- package/dist/phase/reachability.js +104 -0
- package/dist/phase/reachability.js.map +1 -0
- package/dist/phase/reactComponents.d.ts +33 -0
- package/dist/phase/reactComponents.d.ts.map +1 -0
- package/dist/phase/reactComponents.js +47 -0
- package/dist/phase/reactComponents.js.map +1 -0
- package/dist/phase/receiverActivity.d.ts +35 -0
- package/dist/phase/receiverActivity.d.ts.map +1 -0
- package/dist/phase/receiverActivity.js +66 -0
- package/dist/phase/receiverActivity.js.map +1 -0
- package/dist/phase/receiverConsumers.d.ts +207 -0
- package/dist/phase/receiverConsumers.d.ts.map +1 -0
- package/dist/phase/receiverConsumers.js +1063 -0
- package/dist/phase/receiverConsumers.js.map +1 -0
- package/dist/phase/receiverProvenance.d.ts +120 -0
- package/dist/phase/receiverProvenance.d.ts.map +1 -0
- package/dist/phase/receiverProvenance.js +377 -0
- package/dist/phase/receiverProvenance.js.map +1 -0
- package/dist/phase/routing.d.ts +47 -0
- package/dist/phase/routing.d.ts.map +1 -0
- package/dist/phase/routing.js +62 -0
- package/dist/phase/routing.js.map +1 -0
- package/dist/phase/rules/conventions.d.ts +61 -0
- package/dist/phase/rules/conventions.d.ts.map +1 -0
- package/dist/phase/rules/conventions.js +403 -0
- package/dist/phase/rules/conventions.js.map +1 -0
- package/dist/phase/rules/crossDomain.d.ts +102 -0
- package/dist/phase/rules/crossDomain.d.ts.map +1 -0
- package/dist/phase/rules/crossDomain.js +918 -0
- package/dist/phase/rules/crossDomain.js.map +1 -0
- package/dist/phase/rules/dataAccess.d.ts +62 -0
- package/dist/phase/rules/dataAccess.d.ts.map +1 -0
- package/dist/phase/rules/dataAccess.js +480 -0
- package/dist/phase/rules/dataAccess.js.map +1 -0
- package/dist/phase/rules/dependencyGraph.d.ts +44 -0
- package/dist/phase/rules/dependencyGraph.d.ts.map +1 -0
- package/dist/phase/rules/dependencyGraph.js +260 -0
- package/dist/phase/rules/dependencyGraph.js.map +1 -0
- package/dist/phase/rules/documentation.d.ts +45 -0
- package/dist/phase/rules/documentation.d.ts.map +1 -0
- package/dist/phase/rules/documentation.js +340 -0
- package/dist/phase/rules/documentation.js.map +1 -0
- package/dist/phase/rules/dry.d.ts +109 -0
- package/dist/phase/rules/dry.d.ts.map +1 -0
- package/dist/phase/rules/dry.js +803 -0
- package/dist/phase/rules/dry.js.map +1 -0
- package/dist/phase/rules/fileDocumentation.d.ts +36 -0
- package/dist/phase/rules/fileDocumentation.d.ts.map +1 -0
- package/dist/phase/rules/fileDocumentation.js +134 -0
- package/dist/phase/rules/fileDocumentation.js.map +1 -0
- package/dist/phase/rules/functionBodies.d.ts +33 -0
- package/dist/phase/rules/functionBodies.d.ts.map +1 -0
- package/dist/phase/rules/functionBodies.js +71 -0
- package/dist/phase/rules/functionBodies.js.map +1 -0
- package/dist/phase/rules/goRules.d.ts +49 -0
- package/dist/phase/rules/goRules.d.ts.map +1 -0
- package/dist/phase/rules/goRules.js +209 -0
- package/dist/phase/rules/goRules.js.map +1 -0
- package/dist/phase/rules/querySites.d.ts +29 -0
- package/dist/phase/rules/querySites.d.ts.map +1 -0
- package/dist/phase/rules/querySites.js +94 -0
- package/dist/phase/rules/querySites.js.map +1 -0
- package/dist/phase/rules/react.d.ts +38 -0
- package/dist/phase/rules/react.d.ts.map +1 -0
- package/dist/phase/rules/react.js +202 -0
- package/dist/phase/rules/react.js.map +1 -0
- package/dist/phase/rules/registry.d.ts +170 -0
- package/dist/phase/rules/registry.d.ts.map +1 -0
- package/dist/phase/rules/registry.js +103 -0
- package/dist/phase/rules/registry.js.map +1 -0
- package/dist/phase/rules/schema.d.ts +79 -0
- package/dist/phase/rules/schema.d.ts.map +1 -0
- package/dist/phase/rules/schema.js +273 -0
- package/dist/phase/rules/schema.js.map +1 -0
- package/dist/phase/rules/schemaJson.d.ts +32 -0
- package/dist/phase/rules/schemaJson.d.ts.map +1 -0
- package/dist/phase/rules/schemaJson.js +81 -0
- package/dist/phase/rules/schemaJson.js.map +1 -0
- package/dist/phase/rules/schemaValidator.d.ts +38 -0
- package/dist/phase/rules/schemaValidator.d.ts.map +1 -0
- package/dist/phase/rules/schemaValidator.js +107 -0
- package/dist/phase/rules/schemaValidator.js.map +1 -0
- package/dist/phase/rules/secrets.d.ts +34 -0
- package/dist/phase/rules/secrets.d.ts.map +1 -0
- package/dist/phase/rules/secrets.js +208 -0
- package/dist/phase/rules/secrets.js.map +1 -0
- package/dist/phase/rules/security.d.ts +30 -0
- package/dist/phase/rules/security.d.ts.map +1 -0
- package/dist/phase/rules/security.js +85 -0
- package/dist/phase/rules/security.js.map +1 -0
- package/dist/phase/rules/securityDefects.d.ts +37 -0
- package/dist/phase/rules/securityDefects.d.ts.map +1 -0
- package/dist/phase/rules/securityDefects.js +167 -0
- package/dist/phase/rules/securityDefects.js.map +1 -0
- package/dist/phase/rules/solid.d.ts +61 -0
- package/dist/phase/rules/solid.d.ts.map +1 -0
- package/dist/phase/rules/solid.js +562 -0
- package/dist/phase/rules/solid.js.map +1 -0
- package/dist/phase/rules/styles.d.ts +77 -0
- package/dist/phase/rules/styles.d.ts.map +1 -0
- package/dist/phase/rules/styles.js +868 -0
- package/dist/phase/rules/styles.js.map +1 -0
- package/dist/phase/rules/unreferencedModule.d.ts +26 -0
- package/dist/phase/rules/unreferencedModule.d.ts.map +1 -0
- package/dist/phase/rules/unreferencedModule.js +61 -0
- package/dist/phase/rules/unreferencedModule.js.map +1 -0
- package/dist/phase/runner.d.ts +549 -0
- package/dist/phase/runner.d.ts.map +1 -0
- package/dist/phase/runner.js +1098 -0
- package/dist/phase/runner.js.map +1 -0
- package/dist/phase/schemaCode.d.ts +34 -0
- package/dist/phase/schemaCode.d.ts.map +1 -0
- package/dist/phase/schemaCode.js +53 -0
- package/dist/phase/schemaCode.js.map +1 -0
- package/dist/phase/schemaObjects.d.ts +37 -0
- package/dist/phase/schemaObjects.d.ts.map +1 -0
- package/dist/phase/schemaObjects.js +139 -0
- package/dist/phase/schemaObjects.js.map +1 -0
- package/dist/phase/schemaUsage.d.ts +30 -0
- package/dist/phase/schemaUsage.d.ts.map +1 -0
- package/dist/phase/schemaUsage.js +99 -0
- package/dist/phase/schemaUsage.js.map +1 -0
- package/dist/phase/schemaUsageCandidates.d.ts +32 -0
- package/dist/phase/schemaUsageCandidates.d.ts.map +1 -0
- package/dist/phase/schemaUsageCandidates.js +165 -0
- package/dist/phase/schemaUsageCandidates.js.map +1 -0
- package/dist/phase/schemaValidations.d.ts +34 -0
- package/dist/phase/schemaValidations.d.ts.map +1 -0
- package/dist/phase/schemaValidations.js +53 -0
- package/dist/phase/schemaValidations.js.map +1 -0
- package/dist/phase/secretCandidates.d.ts +28 -0
- package/dist/phase/secretCandidates.d.ts.map +1 -0
- package/dist/phase/secretCandidates.js +132 -0
- package/dist/phase/secretCandidates.js.map +1 -0
- package/dist/phase/securityCandidates.d.ts +29 -0
- package/dist/phase/securityCandidates.d.ts.map +1 -0
- package/dist/phase/securityCandidates.js +469 -0
- package/dist/phase/securityCandidates.js.map +1 -0
- package/dist/phase/seeded-defects.d.ts +18 -0
- package/dist/phase/seeded-defects.d.ts.map +1 -0
- package/dist/phase/seeded-defects.js +61 -0
- package/dist/phase/seeded-defects.js.map +1 -0
- package/dist/phase/stringLiterals.d.ts +24 -0
- package/dist/phase/stringLiterals.d.ts.map +1 -0
- package/dist/phase/stringLiterals.js +35 -0
- package/dist/phase/stringLiterals.js.map +1 -0
- package/dist/phase/stylesCss.d.ts +25 -0
- package/dist/phase/stylesCss.d.ts.map +1 -0
- package/dist/phase/stylesCss.js +34 -0
- package/dist/phase/stylesCss.js.map +1 -0
- package/dist/phase/stylesMarkup.d.ts +31 -0
- package/dist/phase/stylesMarkup.d.ts.map +1 -0
- package/dist/phase/stylesMarkup.js +48 -0
- package/dist/phase/stylesMarkup.js.map +1 -0
- package/dist/phase/stylesSource.d.ts +36 -0
- package/dist/phase/stylesSource.d.ts.map +1 -0
- package/dist/phase/stylesSource.js +50 -0
- package/dist/phase/stylesSource.js.map +1 -0
- package/dist/phase/typeDeclarations.d.ts +33 -0
- package/dist/phase/typeDeclarations.d.ts.map +1 -0
- package/dist/phase/typeDeclarations.js +76 -0
- package/dist/phase/typeDeclarations.js.map +1 -0
- package/dist/phase/types.d.ts +2199 -0
- package/dist/phase/types.d.ts.map +1 -0
- package/dist/phase/types.js +27 -0
- package/dist/phase/types.js.map +1 -0
- package/dist/phase/withinFileProvenance.d.ts +50 -0
- package/dist/phase/withinFileProvenance.d.ts.map +1 -0
- package/dist/phase/withinFileProvenance.js +112 -0
- package/dist/phase/withinFileProvenance.js.map +1 -0
- package/dist/pipeline.d.ts +37 -30
- package/dist/pipeline.d.ts.map +1 -1
- package/dist/pipeline.js +131 -326
- package/dist/pipeline.js.map +1 -1
- package/dist/pipelineAdapters.d.ts +104 -21
- package/dist/pipelineAdapters.d.ts.map +1 -1
- package/dist/pipelineAdapters.js +1144 -984
- package/dist/pipelineAdapters.js.map +1 -1
- package/dist/pipelineTypes.d.ts +21 -0
- package/dist/pipelineTypes.d.ts.map +1 -1
- package/dist/pipelineTypes.js +21 -10
- package/dist/pipelineTypes.js.map +1 -1
- package/dist/presets/presets.d.ts +9 -2
- package/dist/presets/presets.d.ts.map +1 -1
- package/dist/presets/presets.js +15 -26
- package/dist/presets/presets.js.map +1 -1
- package/dist/reporting/csvReportGenerator.d.ts +14 -3
- package/dist/reporting/csvReportGenerator.d.ts.map +1 -1
- package/dist/reporting/csvReportGenerator.js +14 -3
- package/dist/reporting/csvReportGenerator.js.map +1 -1
- package/dist/reporting/htmlReportGenerator.d.ts +5 -1
- package/dist/reporting/htmlReportGenerator.d.ts.map +1 -1
- package/dist/reporting/htmlReportGenerator.js +5 -1
- package/dist/reporting/htmlReportGenerator.js.map +1 -1
- package/dist/reporting/jsonReportGenerator.d.ts +9 -2
- package/dist/reporting/jsonReportGenerator.d.ts.map +1 -1
- package/dist/reporting/jsonReportGenerator.js +19 -5
- package/dist/reporting/jsonReportGenerator.js.map +1 -1
- package/dist/reporting/reportGenerator.d.ts +9 -2
- package/dist/reporting/reportGenerator.d.ts.map +1 -1
- package/dist/reporting/reportGenerator.js +9 -2
- package/dist/reporting/reportGenerator.js.map +1 -1
- package/dist/reporting/sarifReportGenerator.d.ts +14 -0
- package/dist/reporting/sarifReportGenerator.d.ts.map +1 -1
- package/dist/reporting/sarifReportGenerator.js +14 -0
- package/dist/reporting/sarifReportGenerator.js.map +1 -1
- package/dist/reporting/sizeDistribution.d.ts +19 -2
- package/dist/reporting/sizeDistribution.d.ts.map +1 -1
- package/dist/reporting/sizeDistribution.js +23 -5
- package/dist/reporting/sizeDistribution.js.map +1 -1
- package/dist/ruleAliases.d.ts +6 -8
- package/dist/ruleAliases.d.ts.map +1 -1
- package/dist/ruleAliases.js +29 -4
- package/dist/ruleAliases.js.map +1 -1
- package/dist/search/QueryParser.d.ts +1 -0
- package/dist/search/QueryParser.d.ts.map +1 -1
- package/dist/search/QueryParser.js +32 -91
- package/dist/search/QueryParser.js.map +1 -1
- package/dist/services/CodeMapGenerator.d.ts +19 -20
- package/dist/services/CodeMapGenerator.d.ts.map +1 -1
- package/dist/services/CodeMapGenerator.js +214 -194
- package/dist/services/CodeMapGenerator.js.map +1 -1
- package/dist/services/ProjectTaskRepository.d.ts +65 -3
- package/dist/services/ProjectTaskRepository.d.ts.map +1 -1
- package/dist/services/ProjectTaskRepository.js +94 -25
- package/dist/services/ProjectTaskRepository.js.map +1 -1
- package/dist/services/auditJobService.d.ts +17 -1
- package/dist/services/auditJobService.d.ts.map +1 -1
- package/dist/services/auditJobService.js +16 -0
- package/dist/services/auditJobService.js.map +1 -1
- package/dist/services/fileAccounting.d.ts +43 -5
- package/dist/services/fileAccounting.d.ts.map +1 -1
- package/dist/services/fileAccounting.js +48 -9
- package/dist/services/fileAccounting.js.map +1 -1
- package/dist/services/projectTaskHelpers.d.ts +45 -0
- package/dist/services/projectTaskHelpers.d.ts.map +1 -1
- package/dist/services/projectTaskHelpers.js +45 -0
- package/dist/services/projectTaskHelpers.js.map +1 -1
- package/dist/services/whitelistService.d.ts +40 -5
- package/dist/services/whitelistService.d.ts.map +1 -1
- package/dist/services/whitelistService.js +87 -46
- package/dist/services/whitelistService.js.map +1 -1
- package/dist/sqlite/betterSqlite3.d.ts +35 -1
- package/dist/sqlite/betterSqlite3.d.ts.map +1 -1
- package/dist/sqlite/betterSqlite3.js +35 -1
- package/dist/sqlite/betterSqlite3.js.map +1 -1
- package/dist/sqlite/driver.d.ts +23 -0
- package/dist/sqlite/driver.d.ts.map +1 -1
- package/dist/sqlite/driver.js +23 -0
- package/dist/sqlite/driver.js.map +1 -1
- package/dist/sqlite/nodeSqlite.d.ts +35 -1
- package/dist/sqlite/nodeSqlite.d.ts.map +1 -1
- package/dist/sqlite/nodeSqlite.js +35 -1
- package/dist/sqlite/nodeSqlite.js.map +1 -1
- package/dist/structuralSignature.d.ts +9 -0
- package/dist/structuralSignature.d.ts.map +1 -1
- package/dist/structuralSignature.js +9 -0
- package/dist/structuralSignature.js.map +1 -1
- package/dist/styles/cssAstExtractor.d.ts +15 -0
- package/dist/styles/cssAstExtractor.d.ts.map +1 -1
- package/dist/styles/cssAstExtractor.js +15 -0
- package/dist/styles/cssAstExtractor.js.map +1 -1
- package/dist/styles/normalizer.d.ts +6 -0
- package/dist/styles/normalizer.d.ts.map +1 -1
- package/dist/styles/normalizer.js +6 -0
- package/dist/styles/normalizer.js.map +1 -1
- package/dist/styles/styleExtractor.d.ts +29 -2
- package/dist/styles/styleExtractor.d.ts.map +1 -1
- package/dist/styles/styleExtractor.js +67 -48
- package/dist/styles/styleExtractor.js.map +1 -1
- package/dist/styles/styleIndexer.d.ts +8 -0
- package/dist/styles/styleIndexer.d.ts.map +1 -1
- package/dist/styles/styleIndexer.js +135 -138
- package/dist/styles/styleIndexer.js.map +1 -1
- package/dist/styles/tailwindConfigLoader.d.ts +12 -0
- package/dist/styles/tailwindConfigLoader.d.ts.map +1 -1
- package/dist/styles/tailwindConfigLoader.js +12 -0
- package/dist/styles/tailwindConfigLoader.js.map +1 -1
- package/dist/styles/tailwindExpander.d.ts +3 -0
- package/dist/styles/tailwindExpander.d.ts.map +1 -1
- package/dist/styles/tailwindExpander.js +8 -4
- package/dist/styles/tailwindExpander.js.map +1 -1
- package/dist/styles/tailwindProbe.d.ts +9 -0
- package/dist/styles/tailwindProbe.d.ts.map +1 -1
- package/dist/styles/tailwindProbe.js +181 -166
- package/dist/styles/tailwindProbe.js.map +1 -1
- package/dist/styles/tailwindUtilityExpander.d.ts +13 -0
- package/dist/styles/tailwindUtilityExpander.d.ts.map +1 -1
- package/dist/styles/tailwindUtilityExpander.js +13 -0
- package/dist/styles/tailwindUtilityExpander.js.map +1 -1
- package/dist/symbols.d.ts +13 -11
- package/dist/symbols.d.ts.map +1 -1
- package/dist/symbols.js +14 -21
- package/dist/symbols.js.map +1 -1
- package/dist/telemetry.d.ts +31 -3
- package/dist/telemetry.d.ts.map +1 -1
- package/dist/telemetry.js +31 -3
- package/dist/telemetry.js.map +1 -1
- package/dist/tool-registry.d.ts +37 -1
- package/dist/tool-registry.d.ts.map +1 -1
- package/dist/tool-registry.js +37 -1
- package/dist/tool-registry.js.map +1 -1
- package/dist/types.d.ts +114 -71
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +7 -16
- package/dist/types.js.map +1 -1
- package/dist/ui/InteractivePrompts.d.ts +12 -0
- package/dist/ui/InteractivePrompts.d.ts.map +1 -1
- package/dist/ui/InteractivePrompts.js +12 -0
- package/dist/ui/InteractivePrompts.js.map +1 -1
- package/dist/utils/astParser.d.ts +15 -0
- package/dist/utils/astParser.d.ts.map +1 -1
- package/dist/utils/astParser.js +15 -0
- package/dist/utils/astParser.js.map +1 -1
- package/dist/utils/astUtils.d.ts +60 -0
- package/dist/utils/astUtils.d.ts.map +1 -1
- package/dist/utils/astUtils.js +350 -362
- package/dist/utils/astUtils.js.map +1 -1
- package/dist/utils/contentHash.d.ts +22 -0
- package/dist/utils/contentHash.d.ts.map +1 -0
- package/dist/utils/contentHash.js +26 -0
- package/dist/utils/contentHash.js.map +1 -0
- package/dist/utils/dependencyExtractor.d.ts +28 -0
- package/dist/utils/dependencyExtractor.d.ts.map +1 -1
- package/dist/utils/dependencyExtractor.js +28 -1
- package/dist/utils/dependencyExtractor.js.map +1 -1
- package/dist/utils/errorMessage.d.ts +10 -0
- package/dist/utils/errorMessage.d.ts.map +1 -0
- package/dist/utils/errorMessage.js +12 -0
- package/dist/utils/errorMessage.js.map +1 -0
- package/dist/utils/fileDiscovery.d.ts +61 -2
- package/dist/utils/fileDiscovery.d.ts.map +1 -1
- package/dist/utils/fileDiscovery.js +131 -23
- package/dist/utils/fileDiscovery.js.map +1 -1
- package/dist/utils/reactDetection.d.ts +34 -5
- package/dist/utils/reactDetection.d.ts.map +1 -1
- package/dist/utils/reactDetection.js +73 -52
- package/dist/utils/reactDetection.js.map +1 -1
- package/dist/version.generated.d.ts +1 -1
- package/dist/version.generated.js +1 -1
- package/dist/workers/auditWorker.js +7 -3
- package/dist/workers/auditWorker.js.map +1 -1
- package/examples/.auditrc.example.json +0 -8
- package/examples/.auditrc.json +0 -11
- package/examples/.code-auditor.json +0 -2
- package/examples/nextjs.auditrc.json +0 -8
- package/examples/node-api.auditrc.json +0 -7
- package/examples/react.auditrc.json +0 -6
- package/examples/tolerant-solid.auditrc.json +0 -5
- package/package.json +18 -9
- package/plugin/.claude-plugin/manifest.json +16 -0
- package/plugin/.claude-plugin/plugin.json +1 -1
- package/plugin/hooks/hooks.json +7 -3
- package/plugin/scripts/hook-audit.sh +46 -16
- package/plugin/scripts/hook-common.sh +81 -12
- package/plugin/scripts/hook-drift-check.sh +76 -0
- package/plugin/scripts/hook-self-audit.sh +22 -14
- package/plugin/scripts/hook-warm.sh +5 -6
- package/plugin/skills/code-auditor/SKILL.md +1 -1
- package/server.json +10 -4
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"name": "code-auditor",
|
|
11
11
|
"source": "./plugin",
|
|
12
12
|
"description": "Diff-scoped code quality auditing on every edit. Indexes your codebase, enforces invariants, and feeds violations back to the agent so fixes happen inline.",
|
|
13
|
-
"version": "
|
|
13
|
+
"version": "5.0.2",
|
|
14
14
|
"author": {
|
|
15
15
|
"name": "Ben Hammond"
|
|
16
16
|
},
|
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,387 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to the Code Auditor MCP project.
|
|
4
4
|
|
|
5
|
+
## [5.0.2]
|
|
6
|
+
|
|
7
|
+
### The plugin hooks self-locate — no `CLAUDE_PLUGIN_ROOT` env dependency
|
|
8
|
+
|
|
9
|
+
The PostToolUse and SessionStart hooks read the plugin root from the
|
|
10
|
+
`CLAUDE_PLUGIN_ROOT` environment variable, which the host does not guarantee, and
|
|
11
|
+
an unset value made them bail. The hooks now derive the root from their own
|
|
12
|
+
location — the grand-parent of `scripts/hook-common.sh` — so an unset or wrong
|
|
13
|
+
`CLAUDE_PLUGIN_ROOT` is a non-event. The variable is honored only as a validated
|
|
14
|
+
override: it must point at a plugin that actually contains
|
|
15
|
+
`scripts/hook-common.sh`, so a stale value cannot redirect or disable a hook. The
|
|
16
|
+
inline `${CLAUDE_PLUGIN_ROOT}` in `hooks.json` is Claude Code's load-time
|
|
17
|
+
substitution, not an environment read, so it is unchanged. The build now fails if
|
|
18
|
+
that layout invariant breaks — a moved or renamed `scripts/` would otherwise ship
|
|
19
|
+
a hook that cannot find itself — and the resolution is verified against a real
|
|
20
|
+
install.
|
|
21
|
+
|
|
22
|
+
### One constructor derives the whole resolution environment
|
|
23
|
+
|
|
24
|
+
The inputs that resolve imports, receivers, and SQL — tsconfig aliases, package
|
|
25
|
+
entry points, declared type packages, the detected SQL dialect, and the
|
|
26
|
+
virtual-module list — were derived twice: once in `auditRunner`, and again,
|
|
27
|
+
piecemeal, in each measurement script. A script that forgot a field measured a
|
|
28
|
+
thinner environment than the runner ships. `buildResolutionEnvironment(root)`
|
|
29
|
+
now derives the complete set from a project root once, and both the runner and
|
|
30
|
+
every measurement script consume it.
|
|
31
|
+
|
|
32
|
+
### Data-access receiver resolution
|
|
33
|
+
|
|
34
|
+
- Ambient interface-field receivers now resolve when SQL fails to parse, instead
|
|
35
|
+
of falling back to a name-only guess.
|
|
36
|
+
- The evidence gate admits query-shaped receivers, and declared non-DB packages
|
|
37
|
+
are proven `not-handle` rather than left `unproven`.
|
|
38
|
+
|
|
39
|
+
### Reporting, daemon, and distribution
|
|
40
|
+
|
|
41
|
+
- Reporting headlines the unproven-site and held-out coverage counts.
|
|
42
|
+
- The daemon guards its entry point by realpath so the npm `.bin` symlink boots
|
|
43
|
+
it correctly.
|
|
44
|
+
- The server declares a remote streamable-http endpoint; the package description
|
|
45
|
+
is shortened to the registry's 100-character limit and synced, with expanded
|
|
46
|
+
keywords and a glama ownership manifest.
|
|
47
|
+
|
|
48
|
+
## [5.0.1]
|
|
49
|
+
|
|
50
|
+
### The hook is silent — never stderr, never a blocking exit
|
|
51
|
+
|
|
52
|
+
The PostToolUse hook could write warnings to stderr and exit non-zero, which
|
|
53
|
+
the host treats as a block on the edit itself. It now writes every diagnostic —
|
|
54
|
+
info, warnings, and failures alike — to `hook.log` and never exits non-zero
|
|
55
|
+
except to surface a gating finding (exit 2). The bootstrap guard for an unset
|
|
56
|
+
`CLAUDE_PLUGIN_ROOT` no longer prints to stderr and exits 1; it is a silent
|
|
57
|
+
no-op (exit 0) like the SessionStart warm hook. A broken install therefore
|
|
58
|
+
surfaces on the next explicit audit (and in the log), never on the edit.
|
|
59
|
+
|
|
60
|
+
Resolution also stopped paying a full `--version` round-trip per candidate on
|
|
61
|
+
the per-edit hot path: the pinned install is version-guaranteed by its path and
|
|
62
|
+
skips the re-check, and `plugin_version` is memoized so the manifest is read
|
|
63
|
+
once instead of once per call site.
|
|
64
|
+
|
|
65
|
+
### The daemon's project root is explicit, never re-derived
|
|
66
|
+
|
|
67
|
+
The daemon re-derived its root by walking up for a marker file, which could pull
|
|
68
|
+
in far more than the directory it was started for. It now uses exactly the path
|
|
69
|
+
it was started for, passed explicitly, and refuses to read outside that root.
|
|
70
|
+
File discovery also treats a nested git repository as a boundary, recomputing
|
|
71
|
+
gitignore so a consumer's repo stops swallowing the surrounding tree.
|
|
72
|
+
|
|
73
|
+
### A stale `dist` fails the chain — no gate is skipped
|
|
74
|
+
|
|
75
|
+
`verify:close` was a single `&&` conjunction, so the first failing gate aborted
|
|
76
|
+
the run and silently skipped every gate after it. It now runs every gate and
|
|
77
|
+
reports the full set, so a stale `dist/cli.js` fails loudly through
|
|
78
|
+
`verify:dist-fresh` without concealing a downstream failure behind a skip.
|
|
79
|
+
|
|
80
|
+
## [5.0.0]
|
|
81
|
+
|
|
82
|
+
About a third of the non-documentation findings the tool emitted on its own
|
|
83
|
+
validation corpora turned out to be the tool's own precision defects rather
|
|
84
|
+
than real signals — and the first triage of those defects was wrong about ten
|
|
85
|
+
of them. The Spec 69 fix pass rebuilt the affected firing conditions (extractor
|
|
86
|
+
consumers, cross-file receiver resolution, name-fallback deletion, algorithm
|
|
87
|
+
placement) and re-measured every corpus; the before/after counts and the
|
|
88
|
+
per-fix attribution are in `specs/spec69-fixes-corpus-effect.md`.
|
|
89
|
+
|
|
90
|
+
### SQL is now a parsed format, not a regex (`node-sql-parser`)
|
|
91
|
+
|
|
92
|
+
**SQL text was extracted and classified by regex alone; it is now parsed with
|
|
93
|
+
`node-sql-parser` (5.4.0), a new runtime dependency.** `parseSql(text, dialect)`
|
|
94
|
+
(`src/languages/sql/sqlAst.ts`) normalizes positional params, template
|
|
95
|
+
substitutions, statement splitting, and transaction control, then parses each
|
|
96
|
+
statement to an AST under the corpus's dialect. The grammar is CommonJS and
|
|
97
|
+
synchronous, so the parse runs inline in the phase pipeline with no new async
|
|
98
|
+
boundary. The regex residue the grammar did not absorb is enumerated in
|
|
99
|
+
`specs/rule-evidence-audit.md` (next section), not silently retained.
|
|
100
|
+
|
|
101
|
+
### `Dialect` narrowed — `sqlserver` and `oracle` removed
|
|
102
|
+
|
|
103
|
+
**The SQL dialect enum previously accepted `sqlserver` and `oracle`; both are
|
|
104
|
+
removed.** `Dialect` is now `'postgresql' | 'mysql' | 'sqlite'` only, and
|
|
105
|
+
`normalizeDialect('sqlserver')` / `normalizeDialect('oracle')` return `null`
|
|
106
|
+
(`discoveryQueries.ts:23`, `:200`; pinned by `discoveryQueries.spec.ts:37-38`).
|
|
107
|
+
A caller naming an unsupported dialect gets a null (and the
|
|
108
|
+
`cannot-fire`/`notApplicable` disposition), not a silently-wrong parse.
|
|
109
|
+
|
|
110
|
+
### 62 approximations, classified
|
|
111
|
+
|
|
112
|
+
**Every place a rule's truth rests on a regex over raw text or a
|
|
113
|
+
hand-enumerated name — rather than a relation over located facts — is now
|
|
114
|
+
enumerated.** `specs/rule-evidence-audit.md` classifies the full residue into
|
|
115
|
+
Section A (17 source-region patterns) and Section B (45 name/suffix/receiver
|
|
116
|
+
lists): 62 approximations total, each with its owning module, the pattern or
|
|
117
|
+
list, the region scanned, and the rule(s) it decides. The count replaces the
|
|
118
|
+
earlier under-count of 28 lists, which had omitted the concern-classifier and
|
|
119
|
+
security-vocabulary rows.
|
|
120
|
+
|
|
121
|
+
### 4.x baselines detected as incompatible
|
|
122
|
+
|
|
123
|
+
**A baseline written by 4.x is detected and reported as incompatible, never
|
|
124
|
+
silently matched.** `loadBaseline` rejects a baseline whose `schemaVersion` is
|
|
125
|
+
≤ 3 (the 4.x format) and reports the regeneration command
|
|
126
|
+
(`src/baseline.ts:76-87`), so a 4.x baseline cannot silently absorb a
|
|
127
|
+
regression measured at a lower precision. Pinned by `baseline.test.ts:198-201`.
|
|
128
|
+
|
|
129
|
+
### `CodeIndexDB` is decomposed into per-concern modules (breaking API change)
|
|
130
|
+
|
|
131
|
+
**`CodeIndexDB` no longer exposes its 67 storage methods directly.** The inline
|
|
132
|
+
methods — register/search, graph, coverage, schema, whitelist, audit results,
|
|
133
|
+
analyzer config, code maps, project tasks, conventions, meta, provenance,
|
|
134
|
+
inferred receivers, and raw SQL — all lived on the one class, which pushed
|
|
135
|
+
`solid/class-size` over both thresholds. They now live on public per-concern
|
|
136
|
+
fields, so call sites change from `db.<method>(…)` to `db.<field>.<method>(…)`.
|
|
137
|
+
|
|
138
|
+
- `db.functionIndex` — `registerFunction`, `registerFunctions`, `findDefinition`,
|
|
139
|
+
`getAllFunctions`, `getFunctionCount`, `getStats`
|
|
140
|
+
- `db.search` — `searchFunctions`
|
|
141
|
+
- `db.graph` — `updateDependencyGraph`, `getTransitiveDependencies`,
|
|
142
|
+
`getTransitiveCallers`, `detectCircularDependencies`, `calculateDependencyDepths`,
|
|
143
|
+
`getGraphStats`
|
|
144
|
+
- `db.coverage` — `clearCoverageData`, `importCoverageData`, `getCoverageByBasis`,
|
|
145
|
+
`getCoverageByRiskDecile`, `getUntestedTopDecile`, `isCoverageStale`
|
|
146
|
+
- `db.meta` — `getMeta`, `setMeta`
|
|
147
|
+
- `db.provenance` — `getFileProvenance`, `storeFileProvenance`
|
|
148
|
+
- `db.inferredReceivers` — `getInferredReceivers`, `storeInferredReceivers`
|
|
149
|
+
- `db.schema` — `getSchema`, `getAllSchemas`, `storeSchema`, `deleteSchema`,
|
|
150
|
+
`getSchemaStats`, `recordSchemaUsage`, `getSchemaUsage`, `clearSchemaUsageForFile`,
|
|
151
|
+
`findFunctionsUsingTable`
|
|
152
|
+
- `db.whitelist` — `isWhitelisted`, `getWhitelist`, `addWhitelistEntry`,
|
|
153
|
+
`updateWhitelistStatus`, `detectWhitelistCandidates`
|
|
154
|
+
- `db.auditResults` — `getAuditResults`, `getMostRecentAuditResults`,
|
|
155
|
+
`storeAuditResults`
|
|
156
|
+
- `db.analyzerConfig` — `getAllAnalyzerConfigs`, `getAnalyzerConfig`,
|
|
157
|
+
`storeAnalyzerConfig`, `deleteAnalyzerConfig`, `resetAnalyzerConfigs`
|
|
158
|
+
- `db.codeMap` — `listCodeMapSections`, `getCodeMapSection`, `storeCodeMapSection`,
|
|
159
|
+
`clearOldCodeMaps`, `deleteCodeMap`
|
|
160
|
+
- `db.projectTasks` — `createProjectTask`, `getProjectTask`, `listProjectTasks`,
|
|
161
|
+
`listProjectTasksTree`, `listActionableProjectTasks`, `updateProjectTask`,
|
|
162
|
+
`completeProjectTask`, `deleteProjectTask`, `hasOpenTaskByFingerprint`
|
|
163
|
+
- `db.conventions` — `mineAllConventions`
|
|
164
|
+
- `db.rawSql` — `query`, `count`, `run`, `exec`, `tableHasRows`
|
|
165
|
+
|
|
166
|
+
Five of those — `query`, `count`, `tableHasRows`, `run`, `exec` — plus `getMeta`
|
|
167
|
+
and `getUntestedTopDecile` are also composed into a new read-only `db.indexHandle`
|
|
168
|
+
field (with `rawDb`), the analyzer facade that replaces passing the whole
|
|
169
|
+
`CodeIndexDB` to analyzers as an `IndexHandle`.
|
|
170
|
+
|
|
171
|
+
**`functionIndex` is now a public field.** The function-index store — whose
|
|
172
|
+
`functionToRow` / `rowToFunction` helpers were private to `CodeIndexDB`, and which
|
|
173
|
+
surfaced during the decomposition under an underscore-private `_functionIndex` —
|
|
174
|
+
is the public `db.functionIndex` field, so `db.functionIndex.functionToRow(…)` is a
|
|
175
|
+
supported access path.
|
|
176
|
+
|
|
177
|
+
**`searchWithSchemaContext` drops its dead first argument.** The method's first
|
|
178
|
+
parameter (`query: string`) was never read — the body called `searchFunctions`
|
|
179
|
+
with `options` alone — so it is removed. The signature is now
|
|
180
|
+
`searchWithSchemaContext(options?)`.
|
|
181
|
+
|
|
182
|
+
### Removed config key: `dbCallMethods`
|
|
183
|
+
|
|
184
|
+
**`schema.dbCallMethods` / `data-access.dbCallMethods` was a dead config knob —
|
|
185
|
+
declared, defaulted, and threaded through the pipeline into `buildProvenanceContext`,
|
|
186
|
+
which never read it.** DB-call detection hardcodes `DB_CALL_METHODS` (the single
|
|
187
|
+
method set in `provenance.ts`), so the key had no effect on which calls were
|
|
188
|
+
treated as DB calls. It is removed from the config types, the defaults, and the
|
|
189
|
+
threading; a `.codeauditor.json` that still sets it is now a no-op.
|
|
190
|
+
|
|
191
|
+
### Legacy receiver-resolution path deleted — the phase model is the sole surface (Spec 70)
|
|
192
|
+
|
|
193
|
+
**The Spec 69 §10 S5a legacy receiver-resolution enumerator (`collectUnprovenQueryReceivers`,
|
|
194
|
+
fed by `resolveCorpusReceivers`) folded each query-shaped call site independently, so
|
|
195
|
+
a handle verdict proven at one site never reached sibling sites sharing the same
|
|
196
|
+
root.** `db.prepare('SELECT …').bind(x).first()` is several sites on one root `db`:
|
|
197
|
+
`db.prepare('SELECT …')` proves `db` a handle via its SQL argument, but `db.first()` /
|
|
198
|
+
`db.all()` carry no SQL, so their root stayed `unproven` — the largest `db`-rooted
|
|
199
|
+
unproven population in the product, list-free. The phase model fixed this with the
|
|
200
|
+
Spec 70 R3 propagation step (`applyR3FromSites`); the enumerator never did. Rather than
|
|
201
|
+
mirror the fix into a second resolver, the legacy path is deleted: `resolveCorpusReceivers`,
|
|
202
|
+
`collectUnprovenQueryReceivers`, their seven measurement scripts, and their parity tests
|
|
203
|
+
are removed, leaving `runPhaseModel` → `computeReceiverProvenance` / `classifyBuildProvenance`
|
|
204
|
+
as the sole receiver-resolution surface. The file-level R3 path (`applySqlArgumentInference`
|
|
205
|
+
in `provenance.ts`) is unchanged.
|
|
206
|
+
|
|
207
|
+
Six-corpus `db`-rooted unproven on the phase path:
|
|
208
|
+
|
|
209
|
+
| corpus | db-rooted unproven |
|
|
210
|
+
|---|---|
|
|
211
|
+
| blitz | 101 |
|
|
212
|
+
| knex | 14 |
|
|
213
|
+
| recall-protocol | 21 |
|
|
214
|
+
| hhra-org | 5 |
|
|
215
|
+
| endless-guessing | 0 |
|
|
216
|
+
| primer-css | 0 |
|
|
217
|
+
| **total** | **141** |
|
|
218
|
+
|
|
219
|
+
### LokiJS sniff no longer reads the whole index into memory
|
|
220
|
+
|
|
221
|
+
**Every `CodeIndexDB.initialize()` in every 4.x release read the entire index
|
|
222
|
+
file into memory as a UTF-8 string just to decide whether it was a legacy
|
|
223
|
+
LokiJS file to migrate.** `migrateFromLokiJS` ran `readFileSync(dbPath, 'utf-8')`
|
|
224
|
+
up front, then checked the first bytes for the LokiJS `{"filename":` prefix — a
|
|
225
|
+
full-file read whose only purpose was a format sniff, on a path that
|
|
226
|
+
almost always answers "not LokiJS" (the file is already SQLite). The cost scaled
|
|
227
|
+
with index size: ~55 ms CPU and ~19.7 MB slurped into memory (roughly double that
|
|
228
|
+
as a JS UTF-16 string) per process start on a 19.7 MB index, and it grew with the
|
|
229
|
+
project.
|
|
230
|
+
|
|
231
|
+
**The fix reads a 64 KiB header instead** (`openSync`/`readSync` of the leading
|
|
232
|
+
`LOKIJS_SNIFF_BYTES`), which is enough to distinguish a LokiJS JSON export (whose
|
|
233
|
+
`{"filename":` key sits at the very top) from a SQLite binary. The sniff matches
|
|
234
|
+
only that prefix — deliberately *not* a `"collections":` substring, which a real
|
|
235
|
+
SQLite index can legitimately contain inside a stored function body and which
|
|
236
|
+
would false-positive the migration into firing on a healthy 4.x index. The
|
|
237
|
+
full-file read now runs only when the sniff has already confirmed the file *is*
|
|
238
|
+
LokiJS and a migration is actually about to happen — ~2 ms CPU, and no index-sized
|
|
239
|
+
allocation on the common path. The prefix-only classification (`isLokiJSHeader`)
|
|
240
|
+
and the upgrade path itself are pinned by `upgrade-path.spec.ts` against a real
|
|
241
|
+
4.1.1-written SQLite index and a genuine `lokijs@1.5.12` export, so the
|
|
242
|
+
"read, not rebuilt" transition is tested on the one surface a clean-install gate
|
|
243
|
+
cannot exercise.
|
|
244
|
+
|
|
245
|
+
### `changed` against a live daemon no longer crashes on a missing summary
|
|
246
|
+
|
|
247
|
+
**The `changed` daemon fast-path returned a `result` with no `summary`, so
|
|
248
|
+
`result.summary.dismissed` threw a `TypeError` on every `.ts` edit run against a
|
|
249
|
+
ready daemon — an exit-1, which by the hook contract is a broken hook.** The
|
|
250
|
+
fast-path had been built to serve diagnostics back without a summary, and nothing
|
|
251
|
+
exercised the assembled object end to end, so the crash sat in the hook's primary
|
|
252
|
+
path undetected.
|
|
253
|
+
|
|
254
|
+
**The fix derives a real summary from the served diagnostics** (severity/rule/
|
|
255
|
+
analyzer rollups, measured `dismissed`, with the non-derivable fields omitted) and
|
|
256
|
+
guards the dismissed read (`result.summary?.dismissed ?? 0`) so a summary-less
|
|
257
|
+
result can never throw again. The gap that let the crash through — no gate ran the
|
|
258
|
+
shipped commands against a live daemon — is closed by the **14th release gate**,
|
|
259
|
+
`verify:daemon-smoke`: it starts a daemon against a fixture project and runs every
|
|
260
|
+
command the hook and skill invoke (`changed --json`, `changed` plain, `audit`, …),
|
|
261
|
+
asserting exit codes and that a real summary comes back.
|
|
262
|
+
|
|
263
|
+
### `verify:close` no longer short-circuits on the first failing gate
|
|
264
|
+
|
|
265
|
+
**`verify:close` was a single `&&` conjunction of thirteen gates, and a `&&`
|
|
266
|
+
chain stops at the first non-zero exit.** The first gate to fail aborted the run
|
|
267
|
+
and every gate *after* it was silently skipped — a gate "passed" by not running.
|
|
268
|
+
This is the recurring failure shape the project already documents twice (the
|
|
269
|
+
broken-compiler-that-sat-green in 4.0.1, and the stale-`missing-org-filter` false
|
|
270
|
+
clean in 4.1.0). It bit a third time here: `verify:dist-fresh` has failed since
|
|
271
|
+
the Spec 69 R1/R2 commits (a stale `dist/cli.js`), so `verify:oracle-shortfalls` —
|
|
272
|
+
which pins the Spec 69 completeness residuals — had not actually run in that
|
|
273
|
+
window, and its baseline drift sat concealed behind a `verify:dist-fresh` failure
|
|
274
|
+
for seven consecutive passes of the chain.
|
|
275
|
+
|
|
276
|
+
**The fix is a run-all runner, not another reorder.** `verify:close` now runs
|
|
277
|
+
`scripts/verify-close.mjs`, which executes every gate, records every outcome, and
|
|
278
|
+
prints a full PASS/FAIL/SKIP summary before deciding the exit code — so no gate
|
|
279
|
+
is ever skipped by an earlier failure. The one remaining skip is deliberate and
|
|
280
|
+
loud: the gates that consume `dist/cli.js` (`test`, `test:integration`,
|
|
281
|
+
`verify:gate-budget`, `verify:self`, `verify:dist`) are `SKIPPED (dist stale)`
|
|
282
|
+
when `verify:dist-fresh` fails, because running them would validate a compiled
|
|
283
|
+
CLI that is not the source — the exact trap `verify:dist-fresh` exists to catch.
|
|
284
|
+
The drift gates (`bench`, `verify:recall-value-drift`,
|
|
285
|
+
`verify:extraction-completeness`, `verify:oracle-shortfalls`) are `tsx` over
|
|
286
|
+
`src/` and do not depend on dist, so they always run and surface their drift
|
|
287
|
+
alongside the dist failure. The planner is pinned by
|
|
288
|
+
`gate-liveness.test.ts` (a stale dist skips only the dist-consuming set and still
|
|
289
|
+
runs every drift gate), the same machine form as Spec 62 R9.
|
|
290
|
+
|
|
291
|
+
### Known issue — `verify:gate-budget` passes with a thin, flaky margin
|
|
292
|
+
|
|
293
|
+
**`verify:gate-budget` is green on the 5.0.0 tree but not clean.** The warm-gate
|
|
294
|
+
CPU time sits at 344 ms and 352 ms inside the `verify:close` chain, 348–383 ms
|
|
295
|
+
standalone, with a tail out to 419 ms against the 400 ms budget. That margin is
|
|
296
|
+
thin enough to flip on a cold cache or a one-off slow rule, so it is recorded
|
|
297
|
+
here as a known issue rather than as a settled green. The durable fix is the
|
|
298
|
+
double-parse collapse — the warm gate currently parses each file three times
|
|
299
|
+
(`detectChangedFunctions` for the content-hash diff, the legacy pipeline's
|
|
300
|
+
always-on index-population visitors, and the phase model's single
|
|
301
|
+
`parseOne`). Collapsing those to one parse is the release's outstanding
|
|
302
|
+
performance item, tracked against the phase-model migration's remaining
|
|
303
|
+
board items (Spec 63 R1–R3, Spec 64 R1–R3/R5–R7, board §6.1/§6.2/§7/§8/§9).
|
|
304
|
+
|
|
305
|
+
### `text(N)` DDL columns now normalize around the sqlite grammar gap
|
|
306
|
+
|
|
307
|
+
**`node-sql-parser`'s sqlite grammar rejects `text(N)` column spellings — the
|
|
308
|
+
shape Drizzle-sqlite emits for `text` columns — so DDL extraction reported
|
|
309
|
+
`cannot-fire` on those tables rather than emitting their tables/columns.**
|
|
310
|
+
`text(256)` / `text(2)` failed to parse while `text` and `varchar(255)`
|
|
311
|
+
succeeded; the honest `cannot-fire` was correct for an unparseable statement,
|
|
312
|
+
but the fix is input normalization, not a regex fallback:
|
|
313
|
+
`normalizeSqliteTextLength` rewrites `text(N)` → `varchar(N)` before the parse —
|
|
314
|
+
lossless for fact extraction, and it never re-introduces the hand-rolled parser
|
|
315
|
+
this release removed.
|
|
316
|
+
|
|
317
|
+
## [Unreleased]
|
|
318
|
+
|
|
319
|
+
### Any repo with a Go file silently dropped eleven analyzers
|
|
320
|
+
|
|
321
|
+
**v2.6.1 through v4.1.1 routed the *whole* repo through the polyglot
|
|
322
|
+
orchestrator the moment a single `.go` file was present, and that path ran the
|
|
323
|
+
TypeScript/JavaScript half with only four analyzers — `solid`, `dry`,
|
|
324
|
+
`documentation`, `data-access` — dropping eleven analyzers' rules and
|
|
325
|
+
`metadata.coverage` entirely.** Anyone who audited a mixed-language repo in that
|
|
326
|
+
range got a clean-looking report for a fraction of its rules, with no coverage
|
|
327
|
+
entry to say so. Re-running after upgrading surfaces findings the earlier run
|
|
328
|
+
never looked for.
|
|
329
|
+
|
|
330
|
+
- Dispatch now keys on the languages present, not on the presence of one
|
|
331
|
+
extension: TypeScript/JavaScript go through the full analyzer pipeline, Go
|
|
332
|
+
through the Go subprocess, and the two merge into one `AuditResult` whose
|
|
333
|
+
`metadata.coverage` accounts for every registry rule (Spec 66).
|
|
334
|
+
- The `.go`-keyed routing shipped in v2.6.1 on the MCP audit surface and was
|
|
335
|
+
consolidated onto the CLI in v3.5.0; both carried the four-analyzer trim until
|
|
336
|
+
this fix.
|
|
337
|
+
- A language group with no registered analyzer reads `notApplicable` in coverage
|
|
338
|
+
instead of silently analyzing nothing.
|
|
339
|
+
- A mixed TS/Go corpus fixture pins the merged result end to end.
|
|
340
|
+
|
|
341
|
+
### value-drift stops flagging length sprawl
|
|
342
|
+
|
|
343
|
+
**`styles/value-drift` reported exact-value drift on any unit-bearing length —
|
|
344
|
+
`width`/`font-size`/`margin`/`padding`/`gap` — as "rare drift", flagging a design
|
|
345
|
+
system's legitimate scale as defects.** On the validation corpora that was 1,057
|
|
346
|
+
false findings (recall 653, primer-css 397, hhra-org 5, blitz 2). value-drift now
|
|
347
|
+
checks colors only; length-valued properties belong to `off-scale`, which judges
|
|
348
|
+
them against the project's *declared* scale and reads `notApplicable` (with a
|
|
349
|
+
reason that names the fix) when the project declares none. `detectExactValueDrift`
|
|
350
|
+
was deleted.
|
|
351
|
+
|
|
352
|
+
- `detectValueDrift` routes color properties to `detectColorDrift`; non-color
|
|
353
|
+
properties are left alone rather than histogrammed as exact-value drift.
|
|
354
|
+
- `styles/off-scale` no longer guesses a scale when a project declares none —
|
|
355
|
+
it reports `notApplicable` with "no design tokens found; declare a scale and
|
|
356
|
+
this rule can check it".
|
|
357
|
+
- `parameter-documentation`/`return-documentation` (opt-in strict mode) now read
|
|
358
|
+
as a named `off-by-default` coverage state, distinct from a rule the user
|
|
359
|
+
disabled, so a "ships off" rule is no longer mistaken for a broken one.
|
|
360
|
+
|
|
361
|
+
### value-drift reworks its drift predicate to real ΔE76
|
|
362
|
+
|
|
363
|
+
**`styles/value-drift` flagged *rare* colors, not *drifted* ones.** Its predicate
|
|
364
|
+
was scarcity — a color used once (share < `outlierMaxShare`) fired regardless of
|
|
365
|
+
whether it was near another color — and its `colorDeltaE` threshold was Euclidean
|
|
366
|
+
RGB distance mislabeled "CIE76", so only *exact* matches ever clustered. Two
|
|
367
|
+
near-identical colors used rarely never flagged as drift. Spec 67 reworks the rule
|
|
368
|
+
around its name:
|
|
369
|
+
|
|
370
|
+
- `deltaE` is now real CIELAB ΔE76 (sRGB → linear → XYZ(D65) → Lab), so the
|
|
371
|
+
`colorDeltaE` key (re-pinned to 2.5) means what it says.
|
|
372
|
+
- The predicate is pairwise: distinct color values cluster by single-linkage at
|
|
373
|
+
ΔE76 < 2.5, and each non-canonical member of a ≥2-value cluster gets one finding
|
|
374
|
+
naming the most-used canonical. Scarcity plays no part — `outlierMaxShare` and
|
|
375
|
+
`modeMinCount` are gone.
|
|
376
|
+
- `minCorpus` is dropped from the drift predicate; `off-scale`'s usage floor is
|
|
377
|
+
renamed to the named key `offScaleMinDeclarations` (default 20, unchanged).
|
|
378
|
+
- Color keywords (`transparent`, `currentColor`, `inherit`, `initial`, `unset`,
|
|
379
|
+
`none`) no longer parse as colors, so `transparent → [0,0,0]` can no longer make
|
|
380
|
+
a keyword the dominant color against which every real color is flagged.
|
|
381
|
+
- On recall-protocol this cut the 27 scarcity findings to 3 — all three genuine
|
|
382
|
+
near-identical pairs (ΔE 1.06/1.59/1.82) — and the bench fixture now pins the
|
|
383
|
+
boundary with two computed ΔE76 pairs (`#4e5568`↔`#4a5568` = 1.505 fires;
|
|
384
|
+
`#535568`↔`#4a5568` = 3.446 does not).
|
|
385
|
+
|
|
5
386
|
## [4.1.1] — 2026-09-23
|
|
6
387
|
|
|
7
388
|
### Report writes stop destroying files
|
package/README.md
CHANGED
|
@@ -114,7 +114,7 @@ Severity overrides apply globally (before per-directory path profile caps). Sett
|
|
|
114
114
|
|
|
115
115
|
### SQL Injection Detection
|
|
116
116
|
|
|
117
|
-
The `sql-injection-risk` rule is **disabled by default** (`off`) after recalibration. On the self-audit corpus, it produced 0% precision — the
|
|
117
|
+
The `sql-injection-risk` rule is **disabled by default** (`off`) after recalibration. On the self-audit corpus, it produced 0% precision — the rule misinterpreted TypeScript pattern-matching code (string constants like `'SELECT'`, `'FROM'`, `'WHERE'` used for the tool's own SQL detection) as database queries. On the Gin and Excalidraw corpora, precision was also near zero.
|
|
118
118
|
|
|
119
119
|
**When to re-enable it**: your project's SQL is constructed via string concatenation or template literals in functions whose sole purpose is query assembly. The rule detects those patterns. For codebases using ORMs or parameterized queries exclusively, the rule produces noise.
|
|
120
120
|
|
|
@@ -150,7 +150,7 @@ It is **off by default** and turned on only by an explicit opt-in — the `telem
|
|
|
150
150
|
|
|
151
151
|
## Style Intelligence
|
|
152
152
|
|
|
153
|
-
Code Auditor indexes every style declaration in your project — CSS, SCSS, Tailwind, inline styles, and CSS-in-JS. The styles
|
|
153
|
+
Code Auditor indexes every style declaration in your project — CSS, SCSS, Tailwind, inline styles, and CSS-in-JS. The styles rules read global distributions and flag fragmentation that no single-file linter can see.
|
|
154
154
|
|
|
155
155
|
**7 detectors, 10 rule IDs:**
|
|
156
156
|
|
|
@@ -164,7 +164,7 @@ Code Auditor indexes every style declaration in your project — CSS, SCSS, Tail
|
|
|
164
164
|
| **Declaration-set similarity** | Two CSS rule blocks with > 90% identical declarations |
|
|
165
165
|
| **Z-index sprawl** | Project-wide z-index inventory — too many distinct values or orphan singletons |
|
|
166
166
|
|
|
167
|
-
The
|
|
167
|
+
The styles rules read from a project-wide SQLite index, so scoped runs (changed files only) still compare against the full project baseline. A fresh `#273828` drift color in a scoped run is caught against the full corpus of `#1e2328` values.
|
|
168
168
|
|
|
169
169
|
**Style invariant rules:**
|
|
170
170
|
|
|
@@ -195,7 +195,7 @@ code-audit search "mechanism:inline css:color" # inline color declarati
|
|
|
195
195
|
code-audit search "token:--color-primary" # bypassing a design token
|
|
196
196
|
```
|
|
197
197
|
|
|
198
|
-
**The React
|
|
198
|
+
**The React rules** also gain raw-element detection: if your project has a `Button` wrapper, raw `<button>` usages outside `Button`'s definition become severe findings.
|
|
199
199
|
|
|
200
200
|
## License
|
|
201
201
|
|
package/configs/hhra-compat.json
CHANGED
|
@@ -9,6 +9,6 @@ interface ItemRow {
|
|
|
9
9
|
id: number;
|
|
10
10
|
name: string;
|
|
11
11
|
}
|
|
12
|
-
export declare function renameAll(
|
|
12
|
+
export declare function renameAll(items: ItemRow[]): Promise<void>;
|
|
13
13
|
export {};
|
|
14
14
|
//# sourceMappingURL=item-03-exec-in-loop.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"item-03-exec-in-loop.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/fixtures/spec-52/item-03-exec-in-loop.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"item-03-exec-in-loop.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/fixtures/spec-52/item-03-exec-in-loop.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,UAAU,OAAO;IACf,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd;AAQD,wBAAsB,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAI/D"}
|
|
@@ -5,7 +5,13 @@
|
|
|
5
5
|
* iteration. This is the simplest genuine-N+1 positive arm: the prepare/bind
|
|
6
6
|
* skip must be surgical and leave eager member methods firing.
|
|
7
7
|
*/
|
|
8
|
-
|
|
8
|
+
import Database from 'better-sqlite3';
|
|
9
|
+
// Spec 70 R4 — the handle is proven by the manifest-package import
|
|
10
|
+
// (`better-sqlite3`), not a `D1Database` type annotation. `db.exec(sql)` with a
|
|
11
|
+
// dynamic (interpolated) argument has no static SQL for R3, so the import is the
|
|
12
|
+
// proof; the `D1Database` binding would read `unproven` (cannot-fire).
|
|
13
|
+
const db = new Database(':memory:');
|
|
14
|
+
export async function renameAll(items) {
|
|
9
15
|
for (const item of items) {
|
|
10
16
|
db.exec(`UPDATE items SET name = 'renamed' WHERE id = ${item.id}`);
|
|
11
17
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"item-03-exec-in-loop.js","sourceRoot":"","sources":["../../../../src/__tests__/fixtures/spec-52/item-03-exec-in-loop.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"item-03-exec-in-loop.js","sourceRoot":"","sources":["../../../../src/__tests__/fixtures/spec-52/item-03-exec-in-loop.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAOtC,mEAAmE;AACnE,gFAAgF;AAChF,iFAAiF;AACjF,uEAAuE;AACvE,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,UAAU,CAAC,CAAC;AAEpC,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,KAAgB;IAC9C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,EAAE,CAAC,IAAI,CAAC,gDAAgD,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IACrE,CAAC;AACH,CAAC"}
|
|
@@ -10,14 +10,8 @@ interface RankRow {
|
|
|
10
10
|
rank: number;
|
|
11
11
|
}
|
|
12
12
|
export declare class Leaderboard {
|
|
13
|
-
private
|
|
14
|
-
constructor(
|
|
15
|
-
storage: {
|
|
16
|
-
sql: {
|
|
17
|
-
exec: (query: string, ...bind: unknown[]) => void;
|
|
18
|
-
};
|
|
19
|
-
};
|
|
20
|
-
});
|
|
13
|
+
private sql;
|
|
14
|
+
constructor(sql: D1Database);
|
|
21
15
|
applyRanks(rows: RankRow[]): Promise<void>;
|
|
22
16
|
}
|
|
23
17
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"item-04-storage-sql-exec-in-loop.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/fixtures/spec-52/item-04-storage-sql-exec-in-loop.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,UAAU,OAAO;IACf,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,GAAG,
|
|
1
|
+
{"version":3,"file":"item-04-storage-sql-exec-in-loop.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/fixtures/spec-52/item-04-storage-sql-exec-in-loop.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,UAAU,OAAO;IACf,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,GAAG,CAAa;gBAEZ,GAAG,EAAE,UAAU;IAIrB,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAKjD"}
|
|
@@ -6,13 +6,13 @@
|
|
|
6
6
|
* N+1 that must keep firing — the two-direction proof's positive arm.
|
|
7
7
|
*/
|
|
8
8
|
export class Leaderboard {
|
|
9
|
-
|
|
10
|
-
constructor(
|
|
11
|
-
this.
|
|
9
|
+
sql;
|
|
10
|
+
constructor(sql) {
|
|
11
|
+
this.sql = sql;
|
|
12
12
|
}
|
|
13
13
|
async applyRanks(rows) {
|
|
14
14
|
for (const row of rows) {
|
|
15
|
-
this.
|
|
15
|
+
this.sql.exec('UPDATE leaderboard SET rank = ? WHERE id = ?', row.rank, row.id);
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
18
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"item-04-storage-sql-exec-in-loop.js","sourceRoot":"","sources":["../../../../src/__tests__/fixtures/spec-52/item-04-storage-sql-exec-in-loop.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH,MAAM,OAAO,WAAW;IACd,GAAG,
|
|
1
|
+
{"version":3,"file":"item-04-storage-sql-exec-in-loop.js","sourceRoot":"","sources":["../../../../src/__tests__/fixtures/spec-52/item-04-storage-sql-exec-in-loop.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH,MAAM,OAAO,WAAW;IACd,GAAG,CAAa;IAExB,YAAY,GAAe;QACzB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,IAAe;QAC9B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,8CAA8C,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QAClF,CAAC;IACH,CAAC;CACF"}
|
|
@@ -12,6 +12,6 @@ interface SyncJob {
|
|
|
12
12
|
id: number;
|
|
13
13
|
slug: string;
|
|
14
14
|
}
|
|
15
|
-
export declare function syncBuildsForHeroes(db:
|
|
15
|
+
export declare function syncBuildsForHeroes(db: D1Database, jobs: SyncJob[]): Promise<void>;
|
|
16
16
|
export {};
|
|
17
17
|
//# sourceMappingURL=item-06-chained-prepare-run-in-loop.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"item-06-chained-prepare-run-in-loop.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/fixtures/spec-52/item-06-chained-prepare-run-in-loop.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,UAAU,OAAO;IACf,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd;AAED,wBAAsB,mBAAmB,CAAC,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"item-06-chained-prepare-run-in-loop.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/fixtures/spec-52/item-06-chained-prepare-run-in-loop.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,UAAU,OAAO;IACf,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd;AAED,wBAAsB,mBAAmB,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CASxF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"item-06-chained-prepare-run-in-loop.js","sourceRoot":"","sources":["../../../../src/__tests__/fixtures/spec-52/item-06-chained-prepare-run-in-loop.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAOH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,
|
|
1
|
+
{"version":3,"file":"item-06-chained-prepare-run-in-loop.js","sourceRoot":"","sources":["../../../../src/__tests__/fixtures/spec-52/item-06-chained-prepare-run-in-loop.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAOH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,EAAc,EAAE,IAAe;IACvE,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,EAAE;aACL,OAAO,CACN,oFAAoF,CACrF;aACA,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;aACZ,GAAG,EAAE,CAAC;IACX,CAAC;AACH,CAAC"}
|
|
@@ -16,10 +16,10 @@ interface Statement {
|
|
|
16
16
|
all<T>(): T[];
|
|
17
17
|
run(): unknown;
|
|
18
18
|
}
|
|
19
|
-
interface
|
|
19
|
+
interface D1Database {
|
|
20
20
|
prepare(sql: string): Statement;
|
|
21
21
|
batch(stmts: unknown[]): unknown;
|
|
22
22
|
}
|
|
23
|
-
export declare function fetchHeroById(db:
|
|
23
|
+
export declare function fetchHeroById(db: D1Database, ids: number[]): Promise<HeroRow[]>;
|
|
24
24
|
export {};
|
|
25
25
|
//# sourceMappingURL=item-07-chained-prepare-bind-first-in-loop.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"item-07-chained-prepare-bind-first-in-loop.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/fixtures/spec-52/item-07-chained-prepare-bind-first-in-loop.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,UAAU,OAAO;IACf,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd;AAID,UAAU,SAAS;IACjB,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC;IACpC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;IACrB,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;IACd,GAAG,IAAI,OAAO,CAAC;CAChB;AACD,UAAU,
|
|
1
|
+
{"version":3,"file":"item-07-chained-prepare-bind-first-in-loop.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/fixtures/spec-52/item-07-chained-prepare-bind-first-in-loop.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,UAAU,OAAO;IACf,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd;AAID,UAAU,SAAS;IACjB,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC;IACpC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;IACrB,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;IACd,GAAG,IAAI,OAAO,CAAC;CAChB;AACD,UAAU,UAAU;IAClB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;CAClC;AAED,wBAAsB,aAAa,CAAC,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAUrF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"item-07-chained-prepare-bind-first-in-loop.js","sourceRoot":"","sources":["../../../../src/__tests__/fixtures/spec-52/item-07-chained-prepare-bind-first-in-loop.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAoBH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,
|
|
1
|
+
{"version":3,"file":"item-07-chained-prepare-bind-first-in-loop.js","sourceRoot":"","sources":["../../../../src/__tests__/fixtures/spec-52/item-07-chained-prepare-bind-first-in-loop.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAoBH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,EAAc,EAAE,GAAa;IAC/D,MAAM,GAAG,GAAc,EAAE,CAAC;IAC1B,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;QACrB,MAAM,GAAG,GAAG,MAAM,EAAE;aACjB,OAAO,CAAC,0CAA0C,CAAC;aACnD,IAAI,CAAC,EAAE,CAAC;aACR,KAAK,EAAW,CAAC;QACpB,IAAI,GAAG;YAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -10,6 +10,6 @@
|
|
|
10
10
|
interface ItemRow {
|
|
11
11
|
id: number;
|
|
12
12
|
}
|
|
13
|
-
export declare function fetchMapped(db:
|
|
13
|
+
export declare function fetchMapped(db: D1Database, rows: ItemRow[]): Promise<unknown[]>;
|
|
14
14
|
export {};
|
|
15
15
|
//# sourceMappingURL=item-10-promise-all-map-of-eager-all-in-loop.d.ts.map
|
package/dist/__tests__/fixtures/spec-52/item-10-promise-all-map-of-eager-all-in-loop.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"item-10-promise-all-map-of-eager-all-in-loop.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/fixtures/spec-52/item-10-promise-all-map-of-eager-all-in-loop.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,UAAU,OAAO;IACf,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,wBAAsB,WAAW,CAAC,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"item-10-promise-all-map-of-eager-all-in-loop.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/fixtures/spec-52/item-10-promise-all-map-of-eager-all-in-loop.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,UAAU,OAAO;IACf,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,wBAAsB,WAAW,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAOrF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"item-10-promise-all-map-of-eager-all-in-loop.js","sourceRoot":"","sources":["../../../../src/__tests__/fixtures/spec-52/item-10-promise-all-map-of-eager-all-in-loop.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,
|
|
1
|
+
{"version":3,"file":"item-10-promise-all-map-of-eager-all-in-loop.js","sourceRoot":"","sources":["../../../../src/__tests__/fixtures/spec-52/item-10-promise-all-map-of-eager-all-in-loop.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,EAAc,EAAE,IAAe;IAC/D,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,OAAO,CAAC,GAAG,CACf,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAClF,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC"}
|