code-auditor-mcp 4.1.0 → 5.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +1 -1
- package/CHANGELOG.md +374 -0
- package/README.md +4 -4
- package/configs/hhra-compat.json +0 -8
- package/dist/__tests__/fixtures/spec-52/item-03-exec-in-loop.d.ts +1 -1
- package/dist/__tests__/fixtures/spec-52/item-03-exec-in-loop.d.ts.map +1 -1
- package/dist/__tests__/fixtures/spec-52/item-03-exec-in-loop.js +7 -1
- package/dist/__tests__/fixtures/spec-52/item-03-exec-in-loop.js.map +1 -1
- package/dist/__tests__/fixtures/spec-52/item-04-storage-sql-exec-in-loop.d.ts +2 -8
- package/dist/__tests__/fixtures/spec-52/item-04-storage-sql-exec-in-loop.d.ts.map +1 -1
- package/dist/__tests__/fixtures/spec-52/item-04-storage-sql-exec-in-loop.js +4 -4
- package/dist/__tests__/fixtures/spec-52/item-04-storage-sql-exec-in-loop.js.map +1 -1
- package/dist/__tests__/fixtures/spec-52/item-06-chained-prepare-run-in-loop.d.ts +1 -1
- package/dist/__tests__/fixtures/spec-52/item-06-chained-prepare-run-in-loop.d.ts.map +1 -1
- package/dist/__tests__/fixtures/spec-52/item-06-chained-prepare-run-in-loop.js.map +1 -1
- package/dist/__tests__/fixtures/spec-52/item-07-chained-prepare-bind-first-in-loop.d.ts +2 -2
- package/dist/__tests__/fixtures/spec-52/item-07-chained-prepare-bind-first-in-loop.d.ts.map +1 -1
- package/dist/__tests__/fixtures/spec-52/item-07-chained-prepare-bind-first-in-loop.js.map +1 -1
- package/dist/__tests__/fixtures/spec-52/item-10-promise-all-map-of-eager-all-in-loop.d.ts +1 -1
- package/dist/__tests__/fixtures/spec-52/item-10-promise-all-map-of-eager-all-in-loop.d.ts.map +1 -1
- package/dist/__tests__/fixtures/spec-52/item-10-promise-all-map-of-eager-all-in-loop.js.map +1 -1
- package/dist/analyzers/applicability.d.ts +42 -0
- package/dist/analyzers/applicability.d.ts.map +1 -1
- package/dist/analyzers/applicability.js +74 -0
- package/dist/analyzers/applicability.js.map +1 -1
- package/dist/analyzers/cross-language/APIContractAnalyzer.js +18 -24
- package/dist/analyzers/cross-language/APIContractAnalyzer.js.map +1 -1
- package/dist/analyzers/cross-language/DependencyGraphBuilder.d.ts +30 -23
- package/dist/analyzers/cross-language/DependencyGraphBuilder.d.ts.map +1 -1
- package/dist/analyzers/cross-language/DependencyGraphBuilder.js +113 -76
- package/dist/analyzers/cross-language/DependencyGraphBuilder.js.map +1 -1
- package/dist/analyzers/cross-language/SchemaValidator.d.ts +2 -0
- package/dist/analyzers/cross-language/SchemaValidator.d.ts.map +1 -1
- package/dist/analyzers/cross-language/SchemaValidator.js +8 -3
- package/dist/analyzers/cross-language/SchemaValidator.js.map +1 -1
- package/dist/analyzers/crossDomain/CrossDomainAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/crossDomain/CrossDomainAnalyzer.js +210 -148
- package/dist/analyzers/crossDomain/CrossDomainAnalyzer.js.map +1 -1
- package/dist/analyzers/documentationAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/documentationAnalyzer.js +23 -28
- package/dist/analyzers/documentationAnalyzer.js.map +1 -1
- package/dist/analyzers/handleIdentification.d.ts +356 -0
- package/dist/analyzers/handleIdentification.d.ts.map +1 -0
- package/dist/analyzers/handleIdentification.js +424 -0
- package/dist/analyzers/handleIdentification.js.map +1 -0
- package/dist/analyzers/manifestStaleness.d.ts +64 -0
- package/dist/analyzers/manifestStaleness.d.ts.map +1 -0
- package/dist/analyzers/manifestStaleness.js +115 -0
- package/dist/analyzers/manifestStaleness.js.map +1 -0
- package/dist/analyzers/orgFilterTiers.d.ts +73 -1
- package/dist/analyzers/orgFilterTiers.d.ts.map +1 -1
- package/dist/analyzers/orgFilterTiers.js +166 -1
- package/dist/analyzers/orgFilterTiers.js.map +1 -1
- package/dist/analyzers/provenance.d.ts +251 -57
- package/dist/analyzers/provenance.d.ts.map +1 -1
- package/dist/analyzers/provenance.js +1109 -429
- package/dist/analyzers/provenance.js.map +1 -1
- package/dist/analyzers/reactAnalyzer.d.ts +2 -0
- package/dist/analyzers/reactAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/reactAnalyzer.js +2 -0
- package/dist/analyzers/reactAnalyzer.js.map +1 -1
- package/dist/analyzers/receiverResolution.d.ts +183 -0
- package/dist/analyzers/receiverResolution.d.ts.map +1 -0
- package/dist/analyzers/receiverResolution.js +540 -0
- package/dist/analyzers/receiverResolution.js.map +1 -0
- package/dist/analyzers/receiverRoot.d.ts +328 -0
- package/dist/analyzers/receiverRoot.d.ts.map +1 -0
- package/dist/analyzers/receiverRoot.js +990 -0
- package/dist/analyzers/receiverRoot.js.map +1 -0
- package/dist/analyzers/ruleRegistry.d.ts +12 -68
- package/dist/analyzers/ruleRegistry.d.ts.map +1 -1
- package/dist/analyzers/ruleRegistry.js +32 -342
- package/dist/analyzers/ruleRegistry.js.map +1 -1
- package/dist/analyzers/ruleTiming.d.ts +10 -0
- package/dist/analyzers/ruleTiming.d.ts.map +1 -1
- package/dist/analyzers/ruleTiming.js +20 -0
- package/dist/analyzers/ruleTiming.js.map +1 -1
- package/dist/analyzers/sqlLiteral.d.ts +76 -0
- package/dist/analyzers/sqlLiteral.d.ts.map +1 -0
- package/dist/analyzers/sqlLiteral.js +419 -0
- package/dist/analyzers/sqlLiteral.js.map +1 -0
- package/dist/analyzers/tsEcosystem.d.ts +115 -0
- package/dist/analyzers/tsEcosystem.d.ts.map +1 -0
- package/dist/analyzers/tsEcosystem.js +231 -0
- package/dist/analyzers/tsEcosystem.js.map +1 -0
- package/dist/analyzers/tsExpressionDescriptor.d.ts +156 -0
- package/dist/analyzers/tsExpressionDescriptor.d.ts.map +1 -0
- package/dist/analyzers/tsExpressionDescriptor.js +374 -0
- package/dist/analyzers/tsExpressionDescriptor.js.map +1 -0
- package/dist/analyzers/universal/UniversalConventionsAnalyzer.d.ts +6 -0
- package/dist/analyzers/universal/UniversalConventionsAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalConventionsAnalyzer.js +107 -44
- package/dist/analyzers/universal/UniversalConventionsAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/UniversalDRYAnalyzer.d.ts +1 -12
- package/dist/analyzers/universal/UniversalDRYAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalDRYAnalyzer.js +24 -101
- package/dist/analyzers/universal/UniversalDRYAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/UniversalDataAccessAnalyzer.d.ts +287 -49
- package/dist/analyzers/universal/UniversalDataAccessAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalDataAccessAnalyzer.js +2130 -512
- package/dist/analyzers/universal/UniversalDataAccessAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/UniversalDocumentationAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalDocumentationAnalyzer.js +2 -18
- package/dist/analyzers/universal/UniversalDocumentationAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/UniversalSOLIDAnalyzer.d.ts +0 -33
- package/dist/analyzers/universal/UniversalSOLIDAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalSOLIDAnalyzer.js +20 -143
- package/dist/analyzers/universal/UniversalSOLIDAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/UniversalSchemaAnalyzer.d.ts +4 -3
- package/dist/analyzers/universal/UniversalSchemaAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalSchemaAnalyzer.js +36 -13
- package/dist/analyzers/universal/UniversalSchemaAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/UniversalSecretsAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalSecretsAnalyzer.js +6 -0
- package/dist/analyzers/universal/UniversalSecretsAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/UniversalSecurityAnalyzer.d.ts +15 -0
- package/dist/analyzers/universal/UniversalSecurityAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalSecurityAnalyzer.js +25 -0
- package/dist/analyzers/universal/UniversalSecurityAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/UniversalStylesAnalyzer.d.ts +21 -32
- package/dist/analyzers/universal/UniversalStylesAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalStylesAnalyzer.js +166 -196
- package/dist/analyzers/universal/UniversalStylesAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/functionConcerns.d.ts +3 -0
- package/dist/analyzers/universal/functionConcerns.d.ts.map +1 -1
- package/dist/analyzers/universal/functionConcerns.js +4 -1
- package/dist/analyzers/universal/functionConcerns.js.map +1 -1
- package/dist/analyzers/universal/schema/codeAnalysis.d.ts +310 -69
- package/dist/analyzers/universal/schema/codeAnalysis.d.ts.map +1 -1
- package/dist/analyzers/universal/schema/codeAnalysis.js +709 -383
- package/dist/analyzers/universal/schema/codeAnalysis.js.map +1 -1
- package/dist/analyzers/universal/schema/config.d.ts +3 -14
- package/dist/analyzers/universal/schema/config.d.ts.map +1 -1
- package/dist/analyzers/universal/schema/config.js +3 -16
- package/dist/analyzers/universal/schema/config.js.map +1 -1
- package/dist/analyzers/universal/schema/discovery.d.ts +22 -1
- package/dist/analyzers/universal/schema/discovery.d.ts.map +1 -1
- package/dist/analyzers/universal/schema/discovery.js +36 -20
- package/dist/analyzers/universal/schema/discovery.js.map +1 -1
- package/dist/analyzers/universal/schema/jsonSchema.d.ts.map +1 -1
- package/dist/analyzers/universal/schema/jsonSchema.js +13 -3
- package/dist/analyzers/universal/schema/jsonSchema.js.map +1 -1
- package/dist/analyzers/universal/schema/migrations.d.ts +187 -27
- package/dist/analyzers/universal/schema/migrations.d.ts.map +1 -1
- package/dist/analyzers/universal/schema/migrations.js +443 -186
- package/dist/analyzers/universal/schema/migrations.js.map +1 -1
- package/dist/analyzers/universal/schema/types.d.ts +17 -3
- package/dist/analyzers/universal/schema/types.d.ts.map +1 -1
- package/dist/analyzers/universal/schema/violations.js +1 -1
- package/dist/analyzers/universal/schema/violations.js.map +1 -1
- package/dist/analyzers/universal/styleScale.d.ts +52 -0
- package/dist/analyzers/universal/styleScale.d.ts.map +1 -0
- package/dist/analyzers/universal/styleScale.js +95 -0
- package/dist/analyzers/universal/styleScale.js.map +1 -0
- package/dist/applyDataDirEnv.js +1 -1
- package/dist/applyDataDirEnv.js.map +1 -1
- package/dist/auditRouter.d.ts +26 -30
- package/dist/auditRouter.d.ts.map +1 -1
- package/dist/auditRouter.js +373 -143
- package/dist/auditRouter.js.map +1 -1
- package/dist/auditRunner.d.ts +64 -1
- package/dist/auditRunner.d.ts.map +1 -1
- package/dist/auditRunner.js +1537 -1051
- package/dist/auditRunner.js.map +1 -1
- package/dist/baseline.d.ts +30 -3
- package/dist/baseline.d.ts.map +1 -1
- package/dist/baseline.js +70 -9
- package/dist/baseline.js.map +1 -1
- package/dist/cli.js +997 -812
- package/dist/cli.js.map +1 -1
- package/dist/codeIndex/analyzerConfig.d.ts +60 -0
- package/dist/codeIndex/analyzerConfig.d.ts.map +1 -0
- package/dist/codeIndex/analyzerConfig.js +98 -0
- package/dist/codeIndex/analyzerConfig.js.map +1 -0
- package/dist/codeIndex/auditResults.d.ts +39 -0
- package/dist/codeIndex/auditResults.d.ts.map +1 -0
- package/dist/codeIndex/auditResults.js +99 -0
- package/dist/codeIndex/auditResults.js.map +1 -0
- package/dist/codeIndex/codeMap.d.ts +59 -0
- package/dist/codeIndex/codeMap.d.ts.map +1 -0
- package/dist/codeIndex/codeMap.js +72 -0
- package/dist/codeIndex/codeMap.js.map +1 -0
- package/dist/codeIndex/conventions.d.ts +33 -0
- package/dist/codeIndex/conventions.d.ts.map +1 -0
- package/dist/codeIndex/conventions.js +84 -0
- package/dist/codeIndex/conventions.js.map +1 -0
- package/dist/codeIndex/coverage.d.ts +78 -0
- package/dist/codeIndex/coverage.d.ts.map +1 -0
- package/dist/codeIndex/coverage.js +164 -0
- package/dist/codeIndex/coverage.js.map +1 -0
- package/dist/codeIndex/dependencyGraph.d.ts +97 -0
- package/dist/codeIndex/dependencyGraph.d.ts.map +1 -0
- package/dist/codeIndex/dependencyGraph.js +241 -0
- package/dist/codeIndex/dependencyGraph.js.map +1 -0
- package/dist/codeIndex/functionIndex.d.ts +111 -0
- package/dist/codeIndex/functionIndex.d.ts.map +1 -0
- package/dist/codeIndex/functionIndex.js +306 -0
- package/dist/codeIndex/functionIndex.js.map +1 -0
- package/dist/codeIndex/inferredReceivers.d.ts +32 -0
- package/dist/codeIndex/inferredReceivers.d.ts.map +1 -0
- package/dist/codeIndex/inferredReceivers.js +41 -0
- package/dist/codeIndex/inferredReceivers.js.map +1 -0
- package/dist/codeIndex/meta.d.ts +30 -0
- package/dist/codeIndex/meta.d.ts.map +1 -0
- package/dist/codeIndex/meta.js +37 -0
- package/dist/codeIndex/meta.js.map +1 -0
- package/dist/codeIndex/migrations.d.ts +96 -0
- package/dist/codeIndex/migrations.d.ts.map +1 -0
- package/dist/codeIndex/migrations.js +1302 -0
- package/dist/codeIndex/migrations.js.map +1 -0
- package/dist/codeIndex/projectTasks.d.ts +54 -0
- package/dist/codeIndex/projectTasks.d.ts.map +1 -0
- package/dist/codeIndex/projectTasks.js +81 -0
- package/dist/codeIndex/projectTasks.js.map +1 -0
- package/dist/codeIndex/provenance.d.ts +47 -0
- package/dist/codeIndex/provenance.d.ts.map +1 -0
- package/dist/codeIndex/provenance.js +48 -0
- package/dist/codeIndex/provenance.js.map +1 -0
- package/dist/codeIndex/rawSql.d.ts +54 -0
- package/dist/codeIndex/rawSql.d.ts.map +1 -0
- package/dist/codeIndex/rawSql.js +71 -0
- package/dist/codeIndex/rawSql.js.map +1 -0
- package/dist/codeIndex/schema.d.ts +99 -0
- package/dist/codeIndex/schema.d.ts.map +1 -0
- package/dist/codeIndex/schema.js +174 -0
- package/dist/codeIndex/schema.js.map +1 -0
- package/dist/codeIndex/search.d.ts +40 -0
- package/dist/codeIndex/search.d.ts.map +1 -0
- package/dist/codeIndex/search.js +316 -0
- package/dist/codeIndex/search.js.map +1 -0
- package/dist/codeIndex/shared.d.ts +27 -0
- package/dist/codeIndex/shared.d.ts.map +1 -0
- package/dist/codeIndex/shared.js +46 -0
- package/dist/codeIndex/shared.js.map +1 -0
- package/dist/codeIndex/sqliteCollection.d.ts +81 -0
- package/dist/codeIndex/sqliteCollection.d.ts.map +1 -0
- package/dist/codeIndex/sqliteCollection.js +250 -0
- package/dist/codeIndex/sqliteCollection.js.map +1 -0
- package/dist/codeIndex/whitelist.d.ts +59 -0
- package/dist/codeIndex/whitelist.d.ts.map +1 -0
- package/dist/codeIndex/whitelist.js +188 -0
- package/dist/codeIndex/whitelist.js.map +1 -0
- package/dist/codeIndexDB.d.ts +130 -277
- package/dist/codeIndexDB.d.ts.map +1 -1
- package/dist/codeIndexDB.js +364 -2748
- package/dist/codeIndexDB.js.map +1 -1
- package/dist/codeIndexService.d.ts +87 -12
- package/dist/codeIndexService.d.ts.map +1 -1
- package/dist/codeIndexService.js +110 -34
- package/dist/codeIndexService.js.map +1 -1
- package/dist/componentScanner.d.ts +35 -0
- package/dist/componentScanner.d.ts.map +1 -1
- package/dist/componentScanner.js +114 -80
- package/dist/componentScanner.js.map +1 -1
- package/dist/config/configGeneratePath.d.ts +4 -0
- package/dist/config/configGeneratePath.d.ts.map +1 -1
- package/dist/config/configGeneratePath.js +4 -0
- package/dist/config/configGeneratePath.js.map +1 -1
- package/dist/config/configLoader.d.ts +16 -1
- package/dist/config/configLoader.d.ts.map +1 -1
- package/dist/config/configLoader.js +26 -23
- package/dist/config/configLoader.js.map +1 -1
- package/dist/config/defaults.d.ts +11 -7
- package/dist/config/defaults.d.ts.map +1 -1
- package/dist/config/defaults.js +21 -20
- package/dist/config/defaults.js.map +1 -1
- package/dist/config/effectiveConfig.d.ts +17 -2
- package/dist/config/effectiveConfig.d.ts.map +1 -1
- package/dist/config/effectiveConfig.js +32 -25
- package/dist/config/effectiveConfig.js.map +1 -1
- package/dist/config/lintConfigReader.d.ts +6 -0
- package/dist/config/lintConfigReader.d.ts.map +1 -1
- package/dist/config/lintConfigReader.js +6 -0
- package/dist/config/lintConfigReader.js.map +1 -1
- package/dist/config/staticObjectExtract.d.ts +4 -0
- package/dist/config/staticObjectExtract.d.ts.map +1 -1
- package/dist/config/staticObjectExtract.js +7 -3
- package/dist/config/staticObjectExtract.js.map +1 -1
- package/dist/config/thresholdRationales.d.ts +2 -0
- package/dist/config/thresholdRationales.d.ts.map +1 -1
- package/dist/config/thresholdRationales.js +5 -2
- package/dist/config/thresholdRationales.js.map +1 -1
- package/dist/constants.d.ts +1 -1
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +10 -5
- package/dist/constants.js.map +1 -1
- package/dist/conventions/conventionMiner.d.ts +105 -2
- package/dist/conventions/conventionMiner.d.ts.map +1 -1
- package/dist/conventions/conventionMiner.js +334 -259
- package/dist/conventions/conventionMiner.js.map +1 -1
- package/dist/coverage/coverageService.js +4 -4
- package/dist/coverage/coverageService.js.map +1 -1
- package/dist/daemon/args.d.ts +3 -0
- package/dist/daemon/args.d.ts.map +1 -1
- package/dist/daemon/args.js +3 -0
- package/dist/daemon/args.js.map +1 -1
- package/dist/daemon/core.d.ts +33 -27
- package/dist/daemon/core.d.ts.map +1 -1
- package/dist/daemon/core.js +198 -162
- package/dist/daemon/core.js.map +1 -1
- package/dist/daemon/lspServer.d.ts +8 -0
- package/dist/daemon/lspServer.d.ts.map +1 -1
- package/dist/daemon/lspServer.js +8 -0
- package/dist/daemon/lspServer.js.map +1 -1
- package/dist/daemon/main.d.ts +2 -0
- package/dist/daemon/main.d.ts.map +1 -1
- package/dist/daemon/main.js +2 -0
- package/dist/daemon/main.js.map +1 -1
- package/dist/daemon/resolve.d.ts +22 -7
- package/dist/daemon/resolve.d.ts.map +1 -1
- package/dist/daemon/resolve.js +29 -8
- package/dist/daemon/resolve.js.map +1 -1
- package/dist/daemon/socketClient.d.ts +10 -1
- package/dist/daemon/socketClient.d.ts.map +1 -1
- package/dist/daemon/socketClient.js +10 -1
- package/dist/daemon/socketClient.js.map +1 -1
- package/dist/daemon/socketServer.d.ts +13 -0
- package/dist/daemon/socketServer.d.ts.map +1 -1
- package/dist/daemon/socketServer.js +13 -0
- package/dist/daemon/socketServer.js.map +1 -1
- package/dist/dataPaths.d.ts +27 -8
- package/dist/dataPaths.d.ts.map +1 -1
- package/dist/dataPaths.js +28 -44
- package/dist/dataPaths.js.map +1 -1
- package/dist/dismissals.d.ts +22 -1
- package/dist/dismissals.d.ts.map +1 -1
- package/dist/dismissals.js +22 -1
- package/dist/dismissals.js.map +1 -1
- package/dist/enforcement/gate.d.ts +1 -0
- package/dist/enforcement/gate.d.ts.map +1 -1
- package/dist/enforcement/gate.js +1 -0
- package/dist/enforcement/gate.js.map +1 -1
- package/dist/fingerprint.d.ts +6 -0
- package/dist/fingerprint.d.ts.map +1 -1
- package/dist/fingerprint.js +46 -1
- package/dist/fingerprint.js.map +1 -1
- package/dist/functionScanner.d.ts +30 -1
- package/dist/functionScanner.d.ts.map +1 -1
- package/dist/functionScanner.js +258 -256
- package/dist/functionScanner.js.map +1 -1
- package/dist/generators/AWSQConfigGenerator.d.ts +23 -0
- package/dist/generators/AWSQConfigGenerator.d.ts.map +1 -1
- package/dist/generators/AWSQConfigGenerator.js +23 -0
- package/dist/generators/AWSQConfigGenerator.js.map +1 -1
- package/dist/generators/BaseConfigGenerator.d.ts +7 -0
- package/dist/generators/BaseConfigGenerator.d.ts.map +1 -1
- package/dist/generators/BaseConfigGenerator.js +7 -0
- package/dist/generators/BaseConfigGenerator.js.map +1 -1
- package/dist/generators/ClaudeConfigGenerator.d.ts +23 -0
- package/dist/generators/ClaudeConfigGenerator.d.ts.map +1 -1
- package/dist/generators/ClaudeConfigGenerator.js +23 -0
- package/dist/generators/ClaudeConfigGenerator.js.map +1 -1
- package/dist/generators/ClineConfigGenerator.d.ts +23 -0
- package/dist/generators/ClineConfigGenerator.d.ts.map +1 -1
- package/dist/generators/ClineConfigGenerator.js +23 -0
- package/dist/generators/ClineConfigGenerator.js.map +1 -1
- package/dist/generators/CodeiumConfigGenerator.d.ts +23 -0
- package/dist/generators/CodeiumConfigGenerator.d.ts.map +1 -1
- package/dist/generators/CodeiumConfigGenerator.js +23 -0
- package/dist/generators/CodeiumConfigGenerator.js.map +1 -1
- package/dist/generators/CodexConfigGenerator.d.ts +23 -0
- package/dist/generators/CodexConfigGenerator.d.ts.map +1 -1
- package/dist/generators/CodexConfigGenerator.js +23 -0
- package/dist/generators/CodexConfigGenerator.js.map +1 -1
- package/dist/generators/ConfigGeneratorFactory.d.ts +9 -0
- package/dist/generators/ConfigGeneratorFactory.d.ts.map +1 -1
- package/dist/generators/ConfigGeneratorFactory.js +9 -0
- package/dist/generators/ConfigGeneratorFactory.js.map +1 -1
- package/dist/generators/ContinueConfigGenerator.d.ts +23 -0
- package/dist/generators/ContinueConfigGenerator.d.ts.map +1 -1
- package/dist/generators/ContinueConfigGenerator.js +23 -0
- package/dist/generators/ContinueConfigGenerator.js.map +1 -1
- package/dist/generators/CopilotConfigGenerator.d.ts +23 -0
- package/dist/generators/CopilotConfigGenerator.d.ts.map +1 -1
- package/dist/generators/CopilotConfigGenerator.js +23 -0
- package/dist/generators/CopilotConfigGenerator.js.map +1 -1
- package/dist/generators/CursorConfigGenerator.d.ts +23 -0
- package/dist/generators/CursorConfigGenerator.d.ts.map +1 -1
- package/dist/generators/CursorConfigGenerator.js +23 -0
- package/dist/generators/CursorConfigGenerator.js.map +1 -1
- package/dist/generators/GeminiConfigGenerator.d.ts +23 -0
- package/dist/generators/GeminiConfigGenerator.d.ts.map +1 -1
- package/dist/generators/GeminiConfigGenerator.js +23 -0
- package/dist/generators/GeminiConfigGenerator.js.map +1 -1
- package/dist/generators/VSCodeConfigGenerator.d.ts +23 -0
- package/dist/generators/VSCodeConfigGenerator.d.ts.map +1 -1
- package/dist/generators/VSCodeConfigGenerator.js +23 -0
- package/dist/generators/VSCodeConfigGenerator.js.map +1 -1
- package/dist/generators/ZCodeConfigGenerator.d.ts +23 -0
- package/dist/generators/ZCodeConfigGenerator.d.ts.map +1 -1
- package/dist/generators/ZCodeConfigGenerator.js +23 -0
- package/dist/generators/ZCodeConfigGenerator.js.map +1 -1
- package/dist/graph/blastRadius.d.ts.map +1 -1
- package/dist/graph/blastRadius.js +12 -7
- package/dist/graph/blastRadius.js.map +1 -1
- package/dist/graph/callGraph.d.ts +31 -0
- package/dist/graph/callGraph.d.ts.map +1 -1
- package/dist/graph/callGraph.js +62 -32
- package/dist/graph/callGraph.js.map +1 -1
- package/dist/graph/importClassification.d.ts +28 -0
- package/dist/graph/importClassification.d.ts.map +1 -1
- package/dist/graph/importClassification.js +57 -0
- package/dist/graph/importClassification.js.map +1 -1
- package/dist/graph/importGraph.d.ts +38 -0
- package/dist/graph/importGraph.d.ts.map +1 -1
- package/dist/graph/importGraph.js +38 -0
- package/dist/graph/importGraph.js.map +1 -1
- package/dist/graph/outputFormatter.d.ts +12 -4
- package/dist/graph/outputFormatter.d.ts.map +1 -1
- package/dist/graph/outputFormatter.js +12 -62
- package/dist/graph/outputFormatter.js.map +1 -1
- package/dist/hooks/codex.d.ts +8 -1
- package/dist/hooks/codex.d.ts.map +1 -1
- package/dist/hooks/codex.js +7 -0
- package/dist/hooks/codex.js.map +1 -1
- package/dist/hooks/core.d.ts +6 -0
- package/dist/hooks/core.d.ts.map +1 -1
- package/dist/hooks/core.js +6 -1
- package/dist/hooks/core.js.map +1 -1
- package/dist/hooks/cursor.d.ts +11 -1
- package/dist/hooks/cursor.d.ts.map +1 -1
- package/dist/hooks/cursor.js +10 -0
- package/dist/hooks/cursor.js.map +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/installConfig.d.ts +23 -5
- package/dist/installConfig.d.ts.map +1 -1
- package/dist/installConfig.js +23 -5
- package/dist/installConfig.js.map +1 -1
- package/dist/installer.d.ts +6 -0
- package/dist/installer.d.ts.map +1 -1
- package/dist/installer.js +6 -0
- package/dist/installer.js.map +1 -1
- package/dist/invariants/ruleEngine.d.ts +3 -0
- package/dist/invariants/ruleEngine.d.ts.map +1 -1
- package/dist/invariants/ruleEngine.js +156 -119
- package/dist/invariants/ruleEngine.js.map +1 -1
- package/dist/invariants/ruleValidator.d.ts +3 -0
- package/dist/invariants/ruleValidator.d.ts.map +1 -1
- package/dist/invariants/ruleValidator.js +185 -178
- package/dist/invariants/ruleValidator.js.map +1 -1
- package/dist/languages/LanguageOrchestrator.d.ts +4 -1
- package/dist/languages/LanguageOrchestrator.d.ts.map +1 -1
- package/dist/languages/LanguageOrchestrator.js +8 -19
- package/dist/languages/LanguageOrchestrator.js.map +1 -1
- package/dist/languages/RuntimeManager.d.ts +8 -0
- package/dist/languages/RuntimeManager.d.ts.map +1 -1
- package/dist/languages/RuntimeManager.js +55 -5
- package/dist/languages/RuntimeManager.js.map +1 -1
- package/dist/languages/UniversalAnalyzer.js +1 -1
- package/dist/languages/UniversalAnalyzer.js.map +1 -1
- package/dist/languages/adapterBridge.d.ts +4 -0
- package/dist/languages/adapterBridge.d.ts.map +1 -1
- package/dist/languages/adapterBridge.js +37 -3
- package/dist/languages/adapterBridge.js.map +1 -1
- package/dist/languages/go/GoAdapter.d.ts.map +1 -1
- package/dist/languages/go/GoAdapter.js +11 -14
- package/dist/languages/go/GoAdapter.js.map +1 -1
- package/dist/languages/go/analyzer-darwin-amd64 +0 -0
- package/dist/languages/go/analyzer-darwin-arm64 +0 -0
- package/dist/languages/go/analyzer-linux-amd64 +0 -0
- package/dist/languages/go/analyzer-linux-arm64 +0 -0
- package/dist/languages/go/analyzer-src/analyzer.go +2 -0
- package/dist/languages/go/analyzer-src/dataaccess.go +388 -0
- package/dist/languages/go/analyzer-src/types.go +8 -0
- package/dist/languages/go/analyzer-windows-amd64.exe +0 -0
- package/dist/languages/go/database-packages.json +8 -0
- package/dist/languages/go/goResolution.d.ts +229 -0
- package/dist/languages/go/goResolution.d.ts.map +1 -0
- package/dist/languages/go/goResolution.js +799 -0
- package/dist/languages/go/goResolution.js.map +1 -0
- package/dist/languages/go/stdlib-packages.json +353 -0
- package/dist/languages/go/tenantInputs.d.ts +37 -0
- package/dist/languages/go/tenantInputs.d.ts.map +1 -0
- package/dist/languages/go/tenantInputs.js +121 -0
- package/dist/languages/go/tenantInputs.js.map +1 -0
- package/dist/languages/index.d.ts +1 -0
- package/dist/languages/index.d.ts.map +1 -1
- package/dist/languages/index.js +5 -0
- package/dist/languages/index.js.map +1 -1
- package/dist/languages/json/JsonAdapter.d.ts +177 -0
- package/dist/languages/json/JsonAdapter.d.ts.map +1 -0
- package/dist/languages/json/JsonAdapter.js +531 -0
- package/dist/languages/json/JsonAdapter.js.map +1 -0
- package/dist/languages/locationIndex.d.ts +41 -0
- package/dist/languages/locationIndex.d.ts.map +1 -0
- package/dist/languages/locationIndex.js +42 -0
- package/dist/languages/locationIndex.js.map +1 -0
- package/dist/languages/sql/dialectDetection.d.ts +57 -0
- package/dist/languages/sql/dialectDetection.d.ts.map +1 -0
- package/dist/languages/sql/dialectDetection.js +135 -0
- package/dist/languages/sql/dialectDetection.js.map +1 -0
- package/dist/languages/sql/sqlAst.d.ts +494 -0
- package/dist/languages/sql/sqlAst.d.ts.map +1 -0
- package/dist/languages/sql/sqlAst.js +1817 -0
- package/dist/languages/sql/sqlAst.js.map +1 -0
- package/dist/languages/testConventions.d.ts +12 -1
- package/dist/languages/testConventions.d.ts.map +1 -1
- package/dist/languages/testConventions.js +13 -1
- package/dist/languages/testConventions.js.map +1 -1
- package/dist/languages/tree-sitter/TreeSitterCssAdapter.js +1 -1
- package/dist/languages/tree-sitter/TreeSitterCssAdapter.js.map +1 -1
- package/dist/languages/tree-sitter/converter.js +2 -2
- package/dist/languages/tree-sitter/converter.js.map +1 -1
- package/dist/languages/tree-sitter/parser.d.ts +3 -4
- package/dist/languages/tree-sitter/parser.d.ts.map +1 -1
- package/dist/languages/tree-sitter/parser.js +10 -4
- package/dist/languages/tree-sitter/parser.js.map +1 -1
- package/dist/languages/tree-sitter/rawNode.d.ts +3 -0
- package/dist/languages/tree-sitter/rawNode.d.ts.map +1 -1
- package/dist/languages/tree-sitter/rawNode.js +3 -0
- package/dist/languages/tree-sitter/rawNode.js.map +1 -1
- package/dist/languages/types.d.ts +7 -0
- package/dist/languages/types.d.ts.map +1 -1
- package/dist/languages/typescript/TreeSitterTypeScriptAdapter.d.ts +36 -0
- package/dist/languages/typescript/TreeSitterTypeScriptAdapter.d.ts.map +1 -1
- package/dist/languages/typescript/TreeSitterTypeScriptAdapter.js +168 -45
- package/dist/languages/typescript/TreeSitterTypeScriptAdapter.js.map +1 -1
- package/dist/languages/typescript/database-packages.json +19 -0
- package/dist/ledger.d.ts +118 -2
- package/dist/ledger.d.ts.map +1 -1
- package/dist/ledger.js +167 -45
- package/dist/ledger.js.map +1 -1
- package/dist/legacyIndexNotice.d.ts +32 -0
- package/dist/legacyIndexNotice.d.ts.map +1 -0
- package/dist/legacyIndexNotice.js +89 -0
- package/dist/legacyIndexNotice.js.map +1 -0
- package/dist/mcp-tools/discoveryQueries.d.ts +55 -0
- package/dist/mcp-tools/discoveryQueries.d.ts.map +1 -0
- package/dist/mcp-tools/discoveryQueries.js +157 -0
- package/dist/mcp-tools/discoveryQueries.js.map +1 -0
- package/dist/mcp-tools/projectTasks.d.ts +9 -123
- package/dist/mcp-tools/projectTasks.d.ts.map +1 -1
- package/dist/mcp-tools/projectTasks.js +180 -170
- package/dist/mcp-tools/projectTasks.js.map +1 -1
- package/dist/mcp-tools/whitelistTools.d.ts +20 -0
- package/dist/mcp-tools/whitelistTools.d.ts.map +1 -1
- package/dist/mcp-tools/whitelistTools.js +20 -0
- package/dist/mcp-tools/whitelistTools.js.map +1 -1
- package/dist/mcp-tools/workflowGuide.d.ts +9 -0
- package/dist/mcp-tools/workflowGuide.d.ts.map +1 -1
- package/dist/mcp-tools/workflowGuide.js +13 -5
- package/dist/mcp-tools/workflowGuide.js.map +1 -1
- package/dist/mcp-tools-shared.d.ts +78 -0
- package/dist/mcp-tools-shared.d.ts.map +1 -1
- package/dist/mcp-tools-shared.js +203 -340
- package/dist/mcp-tools-shared.js.map +1 -1
- package/dist/mcp-ui-simple.d.ts +2 -0
- package/dist/mcp-ui-simple.d.ts.map +1 -1
- package/dist/mcp-ui-simple.js +12 -5
- package/dist/mcp-ui-simple.js.map +1 -1
- package/dist/mcp.d.ts +6 -0
- package/dist/mcp.d.ts.map +1 -1
- package/dist/mcp.js +832 -851
- package/dist/mcp.js.map +1 -1
- package/dist/mcpAuditJobs.d.ts +29 -33
- package/dist/mcpAuditJobs.d.ts.map +1 -1
- package/dist/mcpAuditJobs.js +102 -791
- package/dist/mcpAuditJobs.js.map +1 -1
- package/dist/mcpAutoIndex.d.ts +5 -0
- package/dist/mcpAutoIndex.d.ts.map +1 -1
- package/dist/mcpAutoIndex.js +7 -2
- package/dist/mcpAutoIndex.js.map +1 -1
- package/dist/mcpDiagnostics.d.ts +7 -0
- package/dist/mcpDiagnostics.d.ts.map +1 -1
- package/dist/mcpDiagnostics.js +34 -9
- package/dist/mcpDiagnostics.js.map +1 -1
- package/dist/mcpToolErrors.d.ts +16 -0
- package/dist/mcpToolErrors.d.ts.map +1 -1
- package/dist/mcpToolErrors.js +16 -0
- package/dist/mcpToolErrors.js.map +1 -1
- package/dist/nextFile.d.ts +6 -0
- package/dist/nextFile.d.ts.map +1 -1
- package/dist/nextFile.js +6 -0
- package/dist/nextFile.js.map +1 -1
- package/dist/nextFileIncremental.d.ts +44 -4
- package/dist/nextFileIncremental.d.ts.map +1 -1
- package/dist/nextFileIncremental.js +47 -7
- package/dist/nextFileIncremental.js.map +1 -1
- package/dist/phase/batchFunctions.d.ts +38 -0
- package/dist/phase/batchFunctions.d.ts.map +1 -0
- package/dist/phase/batchFunctions.js +64 -0
- package/dist/phase/batchFunctions.js.map +1 -0
- package/dist/phase/checks.d.ts +39 -0
- package/dist/phase/checks.d.ts.map +1 -0
- package/dist/phase/checks.js +48 -0
- package/dist/phase/checks.js.map +1 -0
- package/dist/phase/codeBlocks.d.ts +25 -0
- package/dist/phase/codeBlocks.d.ts.map +1 -0
- package/dist/phase/codeBlocks.js +268 -0
- package/dist/phase/codeBlocks.js.map +1 -0
- package/dist/phase/colorMath.d.ts +41 -0
- package/dist/phase/colorMath.d.ts.map +1 -0
- package/dist/phase/colorMath.js +109 -0
- package/dist/phase/colorMath.js.map +1 -0
- package/dist/phase/config.d.ts +29 -0
- package/dist/phase/config.d.ts.map +1 -0
- package/dist/phase/config.js +54 -0
- package/dist/phase/config.js.map +1 -0
- package/dist/phase/consumed.d.ts +47 -0
- package/dist/phase/consumed.d.ts.map +1 -0
- package/dist/phase/consumed.js +22 -0
- package/dist/phase/consumed.js.map +1 -0
- package/dist/phase/conventionMining.d.ts +59 -0
- package/dist/phase/conventionMining.d.ts.map +1 -0
- package/dist/phase/conventionMining.js +152 -0
- package/dist/phase/conventionMining.js.map +1 -0
- package/dist/phase/coverage.d.ts +65 -0
- package/dist/phase/coverage.d.ts.map +1 -0
- package/dist/phase/coverage.js +121 -0
- package/dist/phase/coverage.js.map +1 -0
- package/dist/phase/dag.d.ts +49 -0
- package/dist/phase/dag.d.ts.map +1 -0
- package/dist/phase/dag.js +120 -0
- package/dist/phase/dag.js.map +1 -0
- package/dist/phase/dataAccessCalls.d.ts +33 -0
- package/dist/phase/dataAccessCalls.d.ts.map +1 -0
- package/dist/phase/dataAccessCalls.js +42 -0
- package/dist/phase/dataAccessCalls.js.map +1 -0
- package/dist/phase/dataAccessCallsCandidates.d.ts +25 -0
- package/dist/phase/dataAccessCallsCandidates.d.ts.map +1 -0
- package/dist/phase/dataAccessCallsCandidates.js +27 -0
- package/dist/phase/dataAccessCallsCandidates.js.map +1 -0
- package/dist/phase/dynamicSql.d.ts +18 -0
- package/dist/phase/dynamicSql.d.ts.map +1 -0
- package/dist/phase/dynamicSql.js +20 -0
- package/dist/phase/dynamicSql.js.map +1 -0
- package/dist/phase/exportForm.d.ts +23 -0
- package/dist/phase/exportForm.d.ts.map +1 -0
- package/dist/phase/exportForm.js +29 -0
- package/dist/phase/exportForm.js.map +1 -0
- package/dist/phase/exportSymbols.d.ts +21 -0
- package/dist/phase/exportSymbols.d.ts.map +1 -0
- package/dist/phase/exportSymbols.js +28 -0
- package/dist/phase/exportSymbols.js.map +1 -0
- package/dist/phase/fileHeader.d.ts +15 -0
- package/dist/phase/fileHeader.d.ts.map +1 -0
- package/dist/phase/fileHeader.js +33 -0
- package/dist/phase/fileHeader.js.map +1 -0
- package/dist/phase/fileImports.d.ts +39 -0
- package/dist/phase/fileImports.d.ts.map +1 -0
- package/dist/phase/fileImports.js +138 -0
- package/dist/phase/fileImports.js.map +1 -0
- package/dist/phase/fileSymbols.d.ts +25 -0
- package/dist/phase/fileSymbols.d.ts.map +1 -0
- package/dist/phase/fileSymbols.js +302 -0
- package/dist/phase/fileSymbols.js.map +1 -0
- package/dist/phase/functionBodies.d.ts +28 -0
- package/dist/phase/functionBodies.d.ts.map +1 -0
- package/dist/phase/functionBodies.js +67 -0
- package/dist/phase/functionBodies.js.map +1 -0
- package/dist/phase/functionIndex.d.ts +28 -0
- package/dist/phase/functionIndex.d.ts.map +1 -0
- package/dist/phase/functionIndex.js +152 -0
- package/dist/phase/functionIndex.js.map +1 -0
- package/dist/phase/goFunctionAnalysis.d.ts +47 -0
- package/dist/phase/goFunctionAnalysis.d.ts.map +1 -0
- package/dist/phase/goFunctionAnalysis.js +291 -0
- package/dist/phase/goFunctionAnalysis.js.map +1 -0
- package/dist/phase/goFunctions.d.ts +38 -0
- package/dist/phase/goFunctions.d.ts.map +1 -0
- package/dist/phase/goFunctions.js +154 -0
- package/dist/phase/goFunctions.js.map +1 -0
- package/dist/phase/goImports.d.ts +29 -0
- package/dist/phase/goImports.d.ts.map +1 -0
- package/dist/phase/goImports.js +68 -0
- package/dist/phase/goImports.js.map +1 -0
- package/dist/phase/goPackageBindings.d.ts +22 -0
- package/dist/phase/goPackageBindings.d.ts.map +1 -0
- package/dist/phase/goPackageBindings.js +30 -0
- package/dist/phase/goPackageBindings.js.map +1 -0
- package/dist/phase/goSwitches.d.ts +28 -0
- package/dist/phase/goSwitches.d.ts.map +1 -0
- package/dist/phase/goSwitches.js +52 -0
- package/dist/phase/goSwitches.js.map +1 -0
- package/dist/phase/importForm.d.ts +20 -0
- package/dist/phase/importForm.d.ts.map +1 -0
- package/dist/phase/importForm.js +27 -0
- package/dist/phase/importForm.js.map +1 -0
- package/dist/phase/importSpecifiers.d.ts +20 -0
- package/dist/phase/importSpecifiers.d.ts.map +1 -0
- package/dist/phase/importSpecifiers.js +30 -0
- package/dist/phase/importSpecifiers.js.map +1 -0
- package/dist/phase/imports.d.ts +18 -0
- package/dist/phase/imports.d.ts.map +1 -0
- package/dist/phase/imports.js +25 -0
- package/dist/phase/imports.js.map +1 -0
- package/dist/phase/jsonDocument.d.ts +26 -0
- package/dist/phase/jsonDocument.d.ts.map +1 -0
- package/dist/phase/jsonDocument.js +36 -0
- package/dist/phase/jsonDocument.js.map +1 -0
- package/dist/phase/localBinding.d.ts +33 -0
- package/dist/phase/localBinding.d.ts.map +1 -0
- package/dist/phase/localBinding.js +208 -0
- package/dist/phase/localBinding.js.map +1 -0
- package/dist/phase/loopQueries.d.ts +31 -0
- package/dist/phase/loopQueries.d.ts.map +1 -0
- package/dist/phase/loopQueries.js +44 -0
- package/dist/phase/loopQueries.js.map +1 -0
- package/dist/phase/loopQueryCandidates.d.ts +26 -0
- package/dist/phase/loopQueryCandidates.d.ts.map +1 -0
- package/dist/phase/loopQueryCandidates.js +28 -0
- package/dist/phase/loopQueryCandidates.js.map +1 -0
- package/dist/phase/oracles.d.ts +216 -0
- package/dist/phase/oracles.d.ts.map +1 -0
- package/dist/phase/oracles.js +484 -0
- package/dist/phase/oracles.js.map +1 -0
- package/dist/phase/phaseModel.d.ts +190 -0
- package/dist/phase/phaseModel.d.ts.map +1 -0
- package/dist/phase/phaseModel.js +468 -0
- package/dist/phase/phaseModel.js.map +1 -0
- package/dist/phase/producers.d.ts +450 -0
- package/dist/phase/producers.d.ts.map +1 -0
- package/dist/phase/producers.js +1027 -0
- package/dist/phase/producers.js.map +1 -0
- package/dist/phase/querySiteCandidates.d.ts +27 -0
- package/dist/phase/querySiteCandidates.d.ts.map +1 -0
- package/dist/phase/querySiteCandidates.js +66 -0
- package/dist/phase/querySiteCandidates.js.map +1 -0
- package/dist/phase/querySites.d.ts +30 -0
- package/dist/phase/querySites.d.ts.map +1 -0
- package/dist/phase/querySites.js +93 -0
- package/dist/phase/querySites.js.map +1 -0
- package/dist/phase/reachability.d.ts +61 -0
- package/dist/phase/reachability.d.ts.map +1 -0
- package/dist/phase/reachability.js +104 -0
- package/dist/phase/reachability.js.map +1 -0
- package/dist/phase/reactComponents.d.ts +33 -0
- package/dist/phase/reactComponents.d.ts.map +1 -0
- package/dist/phase/reactComponents.js +47 -0
- package/dist/phase/reactComponents.js.map +1 -0
- package/dist/phase/receiverActivity.d.ts +35 -0
- package/dist/phase/receiverActivity.d.ts.map +1 -0
- package/dist/phase/receiverActivity.js +66 -0
- package/dist/phase/receiverActivity.js.map +1 -0
- package/dist/phase/receiverConsumers.d.ts +200 -0
- package/dist/phase/receiverConsumers.d.ts.map +1 -0
- package/dist/phase/receiverConsumers.js +1025 -0
- package/dist/phase/receiverConsumers.js.map +1 -0
- package/dist/phase/receiverProvenance.d.ts +97 -0
- package/dist/phase/receiverProvenance.d.ts.map +1 -0
- package/dist/phase/receiverProvenance.js +337 -0
- package/dist/phase/receiverProvenance.js.map +1 -0
- package/dist/phase/routing.d.ts +47 -0
- package/dist/phase/routing.d.ts.map +1 -0
- package/dist/phase/routing.js +62 -0
- package/dist/phase/routing.js.map +1 -0
- package/dist/phase/rules/conventions.d.ts +61 -0
- package/dist/phase/rules/conventions.d.ts.map +1 -0
- package/dist/phase/rules/conventions.js +403 -0
- package/dist/phase/rules/conventions.js.map +1 -0
- package/dist/phase/rules/crossDomain.d.ts +102 -0
- package/dist/phase/rules/crossDomain.d.ts.map +1 -0
- package/dist/phase/rules/crossDomain.js +918 -0
- package/dist/phase/rules/crossDomain.js.map +1 -0
- package/dist/phase/rules/dataAccess.d.ts +62 -0
- package/dist/phase/rules/dataAccess.d.ts.map +1 -0
- package/dist/phase/rules/dataAccess.js +480 -0
- package/dist/phase/rules/dataAccess.js.map +1 -0
- package/dist/phase/rules/dependencyGraph.d.ts +44 -0
- package/dist/phase/rules/dependencyGraph.d.ts.map +1 -0
- package/dist/phase/rules/dependencyGraph.js +260 -0
- package/dist/phase/rules/dependencyGraph.js.map +1 -0
- package/dist/phase/rules/documentation.d.ts +45 -0
- package/dist/phase/rules/documentation.d.ts.map +1 -0
- package/dist/phase/rules/documentation.js +340 -0
- package/dist/phase/rules/documentation.js.map +1 -0
- package/dist/phase/rules/dry.d.ts +109 -0
- package/dist/phase/rules/dry.d.ts.map +1 -0
- package/dist/phase/rules/dry.js +803 -0
- package/dist/phase/rules/dry.js.map +1 -0
- package/dist/phase/rules/fileDocumentation.d.ts +36 -0
- package/dist/phase/rules/fileDocumentation.d.ts.map +1 -0
- package/dist/phase/rules/fileDocumentation.js +134 -0
- package/dist/phase/rules/fileDocumentation.js.map +1 -0
- package/dist/phase/rules/functionBodies.d.ts +33 -0
- package/dist/phase/rules/functionBodies.d.ts.map +1 -0
- package/dist/phase/rules/functionBodies.js +71 -0
- package/dist/phase/rules/functionBodies.js.map +1 -0
- package/dist/phase/rules/goRules.d.ts +49 -0
- package/dist/phase/rules/goRules.d.ts.map +1 -0
- package/dist/phase/rules/goRules.js +209 -0
- package/dist/phase/rules/goRules.js.map +1 -0
- package/dist/phase/rules/querySites.d.ts +29 -0
- package/dist/phase/rules/querySites.d.ts.map +1 -0
- package/dist/phase/rules/querySites.js +94 -0
- package/dist/phase/rules/querySites.js.map +1 -0
- package/dist/phase/rules/react.d.ts +38 -0
- package/dist/phase/rules/react.d.ts.map +1 -0
- package/dist/phase/rules/react.js +202 -0
- package/dist/phase/rules/react.js.map +1 -0
- package/dist/phase/rules/registry.d.ts +170 -0
- package/dist/phase/rules/registry.d.ts.map +1 -0
- package/dist/phase/rules/registry.js +103 -0
- package/dist/phase/rules/registry.js.map +1 -0
- package/dist/phase/rules/schema.d.ts +79 -0
- package/dist/phase/rules/schema.d.ts.map +1 -0
- package/dist/phase/rules/schema.js +273 -0
- package/dist/phase/rules/schema.js.map +1 -0
- package/dist/phase/rules/schemaJson.d.ts +32 -0
- package/dist/phase/rules/schemaJson.d.ts.map +1 -0
- package/dist/phase/rules/schemaJson.js +81 -0
- package/dist/phase/rules/schemaJson.js.map +1 -0
- package/dist/phase/rules/schemaValidator.d.ts +38 -0
- package/dist/phase/rules/schemaValidator.d.ts.map +1 -0
- package/dist/phase/rules/schemaValidator.js +107 -0
- package/dist/phase/rules/schemaValidator.js.map +1 -0
- package/dist/phase/rules/secrets.d.ts +34 -0
- package/dist/phase/rules/secrets.d.ts.map +1 -0
- package/dist/phase/rules/secrets.js +208 -0
- package/dist/phase/rules/secrets.js.map +1 -0
- package/dist/phase/rules/security.d.ts +30 -0
- package/dist/phase/rules/security.d.ts.map +1 -0
- package/dist/phase/rules/security.js +85 -0
- package/dist/phase/rules/security.js.map +1 -0
- package/dist/phase/rules/securityDefects.d.ts +37 -0
- package/dist/phase/rules/securityDefects.d.ts.map +1 -0
- package/dist/phase/rules/securityDefects.js +167 -0
- package/dist/phase/rules/securityDefects.js.map +1 -0
- package/dist/phase/rules/solid.d.ts +61 -0
- package/dist/phase/rules/solid.d.ts.map +1 -0
- package/dist/phase/rules/solid.js +562 -0
- package/dist/phase/rules/solid.js.map +1 -0
- package/dist/phase/rules/styles.d.ts +77 -0
- package/dist/phase/rules/styles.d.ts.map +1 -0
- package/dist/phase/rules/styles.js +868 -0
- package/dist/phase/rules/styles.js.map +1 -0
- package/dist/phase/rules/unreferencedModule.d.ts +26 -0
- package/dist/phase/rules/unreferencedModule.d.ts.map +1 -0
- package/dist/phase/rules/unreferencedModule.js +61 -0
- package/dist/phase/rules/unreferencedModule.js.map +1 -0
- package/dist/phase/runner.d.ts +549 -0
- package/dist/phase/runner.d.ts.map +1 -0
- package/dist/phase/runner.js +1098 -0
- package/dist/phase/runner.js.map +1 -0
- package/dist/phase/schemaCode.d.ts +34 -0
- package/dist/phase/schemaCode.d.ts.map +1 -0
- package/dist/phase/schemaCode.js +53 -0
- package/dist/phase/schemaCode.js.map +1 -0
- package/dist/phase/schemaObjects.d.ts +37 -0
- package/dist/phase/schemaObjects.d.ts.map +1 -0
- package/dist/phase/schemaObjects.js +139 -0
- package/dist/phase/schemaObjects.js.map +1 -0
- package/dist/phase/schemaUsage.d.ts +30 -0
- package/dist/phase/schemaUsage.d.ts.map +1 -0
- package/dist/phase/schemaUsage.js +99 -0
- package/dist/phase/schemaUsage.js.map +1 -0
- package/dist/phase/schemaUsageCandidates.d.ts +32 -0
- package/dist/phase/schemaUsageCandidates.d.ts.map +1 -0
- package/dist/phase/schemaUsageCandidates.js +165 -0
- package/dist/phase/schemaUsageCandidates.js.map +1 -0
- package/dist/phase/schemaValidations.d.ts +34 -0
- package/dist/phase/schemaValidations.d.ts.map +1 -0
- package/dist/phase/schemaValidations.js +53 -0
- package/dist/phase/schemaValidations.js.map +1 -0
- package/dist/phase/secretCandidates.d.ts +28 -0
- package/dist/phase/secretCandidates.d.ts.map +1 -0
- package/dist/phase/secretCandidates.js +132 -0
- package/dist/phase/secretCandidates.js.map +1 -0
- package/dist/phase/securityCandidates.d.ts +29 -0
- package/dist/phase/securityCandidates.d.ts.map +1 -0
- package/dist/phase/securityCandidates.js +469 -0
- package/dist/phase/securityCandidates.js.map +1 -0
- package/dist/phase/seeded-defects.d.ts +18 -0
- package/dist/phase/seeded-defects.d.ts.map +1 -0
- package/dist/phase/seeded-defects.js +61 -0
- package/dist/phase/seeded-defects.js.map +1 -0
- package/dist/phase/stringLiterals.d.ts +24 -0
- package/dist/phase/stringLiterals.d.ts.map +1 -0
- package/dist/phase/stringLiterals.js +35 -0
- package/dist/phase/stringLiterals.js.map +1 -0
- package/dist/phase/stylesCss.d.ts +25 -0
- package/dist/phase/stylesCss.d.ts.map +1 -0
- package/dist/phase/stylesCss.js +34 -0
- package/dist/phase/stylesCss.js.map +1 -0
- package/dist/phase/stylesMarkup.d.ts +31 -0
- package/dist/phase/stylesMarkup.d.ts.map +1 -0
- package/dist/phase/stylesMarkup.js +48 -0
- package/dist/phase/stylesMarkup.js.map +1 -0
- package/dist/phase/stylesSource.d.ts +36 -0
- package/dist/phase/stylesSource.d.ts.map +1 -0
- package/dist/phase/stylesSource.js +50 -0
- package/dist/phase/stylesSource.js.map +1 -0
- package/dist/phase/typeDeclarations.d.ts +33 -0
- package/dist/phase/typeDeclarations.d.ts.map +1 -0
- package/dist/phase/typeDeclarations.js +76 -0
- package/dist/phase/typeDeclarations.js.map +1 -0
- package/dist/phase/types.d.ts +2191 -0
- package/dist/phase/types.d.ts.map +1 -0
- package/dist/phase/types.js +27 -0
- package/dist/phase/types.js.map +1 -0
- package/dist/phase/withinFileProvenance.d.ts +50 -0
- package/dist/phase/withinFileProvenance.d.ts.map +1 -0
- package/dist/phase/withinFileProvenance.js +112 -0
- package/dist/phase/withinFileProvenance.js.map +1 -0
- package/dist/pipeline.d.ts +37 -30
- package/dist/pipeline.d.ts.map +1 -1
- package/dist/pipeline.js +131 -326
- package/dist/pipeline.js.map +1 -1
- package/dist/pipelineAdapters.d.ts +104 -21
- package/dist/pipelineAdapters.d.ts.map +1 -1
- package/dist/pipelineAdapters.js +1145 -988
- package/dist/pipelineAdapters.js.map +1 -1
- package/dist/pipelineTypes.d.ts +21 -0
- package/dist/pipelineTypes.d.ts.map +1 -1
- package/dist/pipelineTypes.js +21 -10
- package/dist/pipelineTypes.js.map +1 -1
- package/dist/presets/presets.d.ts +9 -2
- package/dist/presets/presets.d.ts.map +1 -1
- package/dist/presets/presets.js +15 -26
- package/dist/presets/presets.js.map +1 -1
- package/dist/reporting/csvReportGenerator.d.ts +14 -3
- package/dist/reporting/csvReportGenerator.d.ts.map +1 -1
- package/dist/reporting/csvReportGenerator.js +14 -3
- package/dist/reporting/csvReportGenerator.js.map +1 -1
- package/dist/reporting/htmlReportGenerator.d.ts +5 -1
- package/dist/reporting/htmlReportGenerator.d.ts.map +1 -1
- package/dist/reporting/htmlReportGenerator.js +5 -1
- package/dist/reporting/htmlReportGenerator.js.map +1 -1
- package/dist/reporting/jsonReportGenerator.d.ts +9 -2
- package/dist/reporting/jsonReportGenerator.d.ts.map +1 -1
- package/dist/reporting/jsonReportGenerator.js +19 -5
- package/dist/reporting/jsonReportGenerator.js.map +1 -1
- package/dist/reporting/reportGenerator.d.ts +9 -2
- package/dist/reporting/reportGenerator.d.ts.map +1 -1
- package/dist/reporting/reportGenerator.js +9 -2
- package/dist/reporting/reportGenerator.js.map +1 -1
- package/dist/reporting/sarifReportGenerator.d.ts +14 -0
- package/dist/reporting/sarifReportGenerator.d.ts.map +1 -1
- package/dist/reporting/sarifReportGenerator.js +14 -0
- package/dist/reporting/sarifReportGenerator.js.map +1 -1
- package/dist/reporting/sizeDistribution.d.ts +19 -2
- package/dist/reporting/sizeDistribution.d.ts.map +1 -1
- package/dist/reporting/sizeDistribution.js +23 -5
- package/dist/reporting/sizeDistribution.js.map +1 -1
- package/dist/ruleAliases.d.ts +6 -8
- package/dist/ruleAliases.d.ts.map +1 -1
- package/dist/ruleAliases.js +29 -4
- package/dist/ruleAliases.js.map +1 -1
- package/dist/search/QueryParser.d.ts +1 -0
- package/dist/search/QueryParser.d.ts.map +1 -1
- package/dist/search/QueryParser.js +32 -91
- package/dist/search/QueryParser.js.map +1 -1
- package/dist/services/CodeMapGenerator.d.ts +19 -20
- package/dist/services/CodeMapGenerator.d.ts.map +1 -1
- package/dist/services/CodeMapGenerator.js +214 -194
- package/dist/services/CodeMapGenerator.js.map +1 -1
- package/dist/services/ProjectTaskRepository.d.ts +65 -3
- package/dist/services/ProjectTaskRepository.d.ts.map +1 -1
- package/dist/services/ProjectTaskRepository.js +94 -25
- package/dist/services/ProjectTaskRepository.js.map +1 -1
- package/dist/services/auditJobService.d.ts +17 -1
- package/dist/services/auditJobService.d.ts.map +1 -1
- package/dist/services/auditJobService.js +16 -0
- package/dist/services/auditJobService.js.map +1 -1
- package/dist/services/fileAccounting.d.ts +43 -5
- package/dist/services/fileAccounting.d.ts.map +1 -1
- package/dist/services/fileAccounting.js +48 -9
- package/dist/services/fileAccounting.js.map +1 -1
- package/dist/services/projectTaskHelpers.d.ts +45 -0
- package/dist/services/projectTaskHelpers.d.ts.map +1 -1
- package/dist/services/projectTaskHelpers.js +45 -0
- package/dist/services/projectTaskHelpers.js.map +1 -1
- package/dist/services/whitelistService.d.ts +40 -5
- package/dist/services/whitelistService.d.ts.map +1 -1
- package/dist/services/whitelistService.js +87 -46
- package/dist/services/whitelistService.js.map +1 -1
- package/dist/sqlite/betterSqlite3.d.ts +35 -1
- package/dist/sqlite/betterSqlite3.d.ts.map +1 -1
- package/dist/sqlite/betterSqlite3.js +35 -1
- package/dist/sqlite/betterSqlite3.js.map +1 -1
- package/dist/sqlite/driver.d.ts +23 -0
- package/dist/sqlite/driver.d.ts.map +1 -1
- package/dist/sqlite/driver.js +23 -0
- package/dist/sqlite/driver.js.map +1 -1
- package/dist/sqlite/nodeSqlite.d.ts +35 -1
- package/dist/sqlite/nodeSqlite.d.ts.map +1 -1
- package/dist/sqlite/nodeSqlite.js +35 -1
- package/dist/sqlite/nodeSqlite.js.map +1 -1
- package/dist/structuralSignature.d.ts +9 -0
- package/dist/structuralSignature.d.ts.map +1 -1
- package/dist/structuralSignature.js +9 -0
- package/dist/structuralSignature.js.map +1 -1
- package/dist/styles/cssAstExtractor.d.ts +15 -0
- package/dist/styles/cssAstExtractor.d.ts.map +1 -1
- package/dist/styles/cssAstExtractor.js +15 -0
- package/dist/styles/cssAstExtractor.js.map +1 -1
- package/dist/styles/normalizer.d.ts +6 -0
- package/dist/styles/normalizer.d.ts.map +1 -1
- package/dist/styles/normalizer.js +6 -0
- package/dist/styles/normalizer.js.map +1 -1
- package/dist/styles/styleExtractor.d.ts +29 -2
- package/dist/styles/styleExtractor.d.ts.map +1 -1
- package/dist/styles/styleExtractor.js +67 -48
- package/dist/styles/styleExtractor.js.map +1 -1
- package/dist/styles/styleIndexer.d.ts +8 -0
- package/dist/styles/styleIndexer.d.ts.map +1 -1
- package/dist/styles/styleIndexer.js +135 -138
- package/dist/styles/styleIndexer.js.map +1 -1
- package/dist/styles/tailwindConfigLoader.d.ts +12 -0
- package/dist/styles/tailwindConfigLoader.d.ts.map +1 -1
- package/dist/styles/tailwindConfigLoader.js +12 -0
- package/dist/styles/tailwindConfigLoader.js.map +1 -1
- package/dist/styles/tailwindExpander.d.ts +3 -0
- package/dist/styles/tailwindExpander.d.ts.map +1 -1
- package/dist/styles/tailwindExpander.js +8 -4
- package/dist/styles/tailwindExpander.js.map +1 -1
- package/dist/styles/tailwindProbe.d.ts +9 -0
- package/dist/styles/tailwindProbe.d.ts.map +1 -1
- package/dist/styles/tailwindProbe.js +181 -166
- package/dist/styles/tailwindProbe.js.map +1 -1
- package/dist/styles/tailwindUtilityExpander.d.ts +13 -0
- package/dist/styles/tailwindUtilityExpander.d.ts.map +1 -1
- package/dist/styles/tailwindUtilityExpander.js +13 -0
- package/dist/styles/tailwindUtilityExpander.js.map +1 -1
- package/dist/symbols.d.ts +13 -11
- package/dist/symbols.d.ts.map +1 -1
- package/dist/symbols.js +14 -21
- package/dist/symbols.js.map +1 -1
- package/dist/telemetry.d.ts +31 -3
- package/dist/telemetry.d.ts.map +1 -1
- package/dist/telemetry.js +31 -3
- package/dist/telemetry.js.map +1 -1
- package/dist/tool-registry.d.ts +37 -1
- package/dist/tool-registry.d.ts.map +1 -1
- package/dist/tool-registry.js +37 -1
- package/dist/tool-registry.js.map +1 -1
- package/dist/types.d.ts +106 -92
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +7 -16
- package/dist/types.js.map +1 -1
- package/dist/ui/InteractivePrompts.d.ts +12 -0
- package/dist/ui/InteractivePrompts.d.ts.map +1 -1
- package/dist/ui/InteractivePrompts.js +12 -0
- package/dist/ui/InteractivePrompts.js.map +1 -1
- package/dist/utils/astParser.d.ts +15 -0
- package/dist/utils/astParser.d.ts.map +1 -1
- package/dist/utils/astParser.js +15 -0
- package/dist/utils/astParser.js.map +1 -1
- package/dist/utils/astUtils.d.ts +60 -0
- package/dist/utils/astUtils.d.ts.map +1 -1
- package/dist/utils/astUtils.js +350 -362
- package/dist/utils/astUtils.js.map +1 -1
- package/dist/utils/contentHash.d.ts +22 -0
- package/dist/utils/contentHash.d.ts.map +1 -0
- package/dist/utils/contentHash.js +26 -0
- package/dist/utils/contentHash.js.map +1 -0
- package/dist/utils/dependencyExtractor.d.ts +28 -0
- package/dist/utils/dependencyExtractor.d.ts.map +1 -1
- package/dist/utils/dependencyExtractor.js +28 -1
- package/dist/utils/dependencyExtractor.js.map +1 -1
- package/dist/utils/errorMessage.d.ts +10 -0
- package/dist/utils/errorMessage.d.ts.map +1 -0
- package/dist/utils/errorMessage.js +12 -0
- package/dist/utils/errorMessage.js.map +1 -0
- package/dist/utils/fileDiscovery.d.ts +61 -2
- package/dist/utils/fileDiscovery.d.ts.map +1 -1
- package/dist/utils/fileDiscovery.js +131 -23
- package/dist/utils/fileDiscovery.js.map +1 -1
- package/dist/utils/reactDetection.d.ts +34 -5
- package/dist/utils/reactDetection.d.ts.map +1 -1
- package/dist/utils/reactDetection.js +73 -52
- package/dist/utils/reactDetection.js.map +1 -1
- package/dist/version.generated.d.ts +1 -1
- package/dist/version.generated.js +1 -1
- package/dist/workers/auditWorker.js +7 -3
- package/dist/workers/auditWorker.js.map +1 -1
- package/examples/.auditrc.example.json +0 -8
- package/examples/.auditrc.json +0 -11
- package/examples/.code-auditor.json +0 -2
- package/examples/nextjs.auditrc.json +0 -8
- package/examples/node-api.auditrc.json +0 -7
- package/examples/react.auditrc.json +0 -6
- package/examples/tolerant-solid.auditrc.json +0 -5
- package/package.json +14 -8
- package/plugin/.claude-plugin/manifest.json +16 -0
- package/plugin/.claude-plugin/plugin.json +1 -1
- package/plugin/hooks/hooks.json +6 -2
- package/plugin/scripts/hook-audit.sh +41 -14
- package/plugin/scripts/hook-common.sh +50 -5
- package/plugin/scripts/hook-drift-check.sh +72 -0
- package/plugin/scripts/hook-self-audit.sh +17 -12
- package/plugin/skills/code-auditor/SKILL.md +1 -1
- package/server.json +2 -2
|
@@ -0,0 +1,494 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SQL as a parsed format — the AST seam.
|
|
3
|
+
*
|
|
4
|
+
* Spec 70 R1: a SQL grammar joins the shipped grammars, SQL strings reaching a
|
|
5
|
+
* data-access call site are parsed into an AST like any other format, and the
|
|
6
|
+
* dialect is a *closed decision* — one named grammar, not a fallback ladder.
|
|
7
|
+
* Here that grammar is `node-sql-parser`; the dialect is a required parameter
|
|
8
|
+
* (the corpus's named {@link Dialect} discriminant, from the discovery-query
|
|
9
|
+
* registry), never a hardcoded constant — guessing `sqlite` on a Postgres repo
|
|
10
|
+
* would be a silent wrong answer. It is pure JavaScript (no WASM, no two-phase
|
|
11
|
+
* init), so it loads synchronously through the ordinary dependency path rather
|
|
12
|
+
* than the `initParsers()` WASM loader.
|
|
13
|
+
*
|
|
14
|
+
* The seam is {@link parseSql}: `{ ok: true, ast }` or `{ ok: false, reason }`.
|
|
15
|
+
* Every rule that reads SQL facts gets an AST or it gets nothing. There is no
|
|
16
|
+
* regex path to fall back to — a string the grammar cannot parse is a parse
|
|
17
|
+
* failure, and the caller turns that into `cannot-fire` with the reason. The
|
|
18
|
+
* twelve regex sites in the security family convert by consuming the helpers
|
|
19
|
+
* below (statement kind, relations, where facts, tenant predicate, insert
|
|
20
|
+
* columns, DDL facts), each of which walks the AST rather than scanning text.
|
|
21
|
+
*
|
|
22
|
+
* `node-sql-parser` is a CommonJS module; the default import is required in ESM.
|
|
23
|
+
*/
|
|
24
|
+
import { type AST } from 'node-sql-parser';
|
|
25
|
+
import type { Dialect } from '../../mcp-tools/discoveryQueries.js';
|
|
26
|
+
/**
|
|
27
|
+
* The named default dialect a caller parses under when detection names none.
|
|
28
|
+
*
|
|
29
|
+
* Spec 70 R2: parsing a SQL literal does not require *proving* the site's
|
|
30
|
+
* dialect first — one grammar is named, with its dialect stated, and the parse
|
|
31
|
+
* is attempted under it. When {@link detectDialect} returns null (a repo names
|
|
32
|
+
* no driver, or names several), the caller still attempts the parse under this
|
|
33
|
+
* default rather than abstaining before it has looked. The default is sqlite:
|
|
34
|
+
* node-sql-parser's sqlite grammar is the most permissive, and the rest of this
|
|
35
|
+
* module already standardizes on "the sqlite grammar" as the baseline (see the
|
|
36
|
+
* `truncateConflictClause` / `ON CONFLICT` notes below).
|
|
37
|
+
*
|
|
38
|
+
* The honesty rule is not weakened, it moves: a literal that *parses* under the
|
|
39
|
+
* default yields facts; a literal that *fails* is reported `cannot-fire` with a
|
|
40
|
+
* reason naming **both** the parse failure and the fact that the dialect is
|
|
41
|
+
* undetermined (so the failure may be dialect-specific syntax), never a silent
|
|
42
|
+
* empty fact set.
|
|
43
|
+
*/
|
|
44
|
+
export declare const DEFAULT_SQL_DIALECT: Dialect;
|
|
45
|
+
export type SqlStatementKind = 'select' | 'insert' | 'replace' | 'update' | 'delete' | 'create' | 'alter' | 'drop' | 'use' | 'other';
|
|
46
|
+
export interface SqlParseOk {
|
|
47
|
+
readonly ok: true;
|
|
48
|
+
readonly ast: AST;
|
|
49
|
+
readonly kind: SqlStatementKind;
|
|
50
|
+
/** When the input was several statements, every per-statement AST (in order). */
|
|
51
|
+
readonly statements?: AST[];
|
|
52
|
+
/**
|
|
53
|
+
* True when a top-level `ON CONFLICT` clause was truncated before parsing (see
|
|
54
|
+
* {@link truncateConflictClause}). The clause's update action is "present but
|
|
55
|
+
* unread" — every fact actually extracted (target table, write status,
|
|
56
|
+
* predicate presence) is answered by the parsed prefix, and this flag records
|
|
57
|
+
* that a conflict clause existed rather than silently dropping it.
|
|
58
|
+
*/
|
|
59
|
+
readonly conflictClauseTruncated?: boolean;
|
|
60
|
+
}
|
|
61
|
+
export interface SqlParseFail {
|
|
62
|
+
readonly ok: false;
|
|
63
|
+
readonly reason: string;
|
|
64
|
+
}
|
|
65
|
+
export type SqlParseResult = SqlParseOk | SqlParseFail;
|
|
66
|
+
/** DDL statement kinds — schema definition (CREATE/ALTER/DROP/USE), not a
|
|
67
|
+
* row-level data-access query. Schema is extracted separately by the `.sql`
|
|
68
|
+
* visitor and Durable Object DDL (`pipelineAdapters.ts`); a data-access call is
|
|
69
|
+
* a DML query or an ORM operation, and a DDL literal must not surface as one. */
|
|
70
|
+
export declare function isDdlStatementKind(kind: SqlStatementKind): boolean;
|
|
71
|
+
/**
|
|
72
|
+
* Rewrite D1-style numbered positional parameters (`?1`, `?2`, …) to the bare
|
|
73
|
+
* `?` the sqlite grammar accepts. Parameter numbering is an ordering hint, not a
|
|
74
|
+
* fact: it does not affect which tables are read or whether a tenant predicate
|
|
75
|
+
* exists, so the rewrite is lossless for every consumer of this module. A `?`
|
|
76
|
+
* inside a single-quoted string literal is left untouched (that `?` is literal
|
|
77
|
+
* text, not a placeholder); quoted identifiers (`"…"`, `` `…` ``) are also
|
|
78
|
+
* skipped so an identifier containing `?` is not rewritten. A doubled quote
|
|
79
|
+
* (`''` inside a string) stays inside the region.
|
|
80
|
+
* @param sql The SQL text to rewrite.
|
|
81
|
+
* @returns The SQL with D1-style numbered parameters (`?1`) rewritten to bare `?`.
|
|
82
|
+
*/
|
|
83
|
+
export declare function normalizePositionalParams(sql: string): string;
|
|
84
|
+
/**
|
|
85
|
+
* Rewrite a JavaScript template substitution (`${…}`) to the SQL placeholder
|
|
86
|
+
* `?`. A `${…}` in the SQL text is a host-language interpolation — a value,
|
|
87
|
+
* identifier, or table name filled in at query-composition time — which the SQL
|
|
88
|
+
* grammar cannot tokenize (`${` is not a SQL spelling). A value-position
|
|
89
|
+
* substitution (`WHERE id = ${id}`, `SELECT ${cols} …`) is exactly a parameter,
|
|
90
|
+
* so `?` is a lossless rewrite: it preserves every table/filter fact the AST
|
|
91
|
+
* walk reads. A *table-position* substitution (`FROM ${table}`) rewrites to
|
|
92
|
+
* `FROM ?`, which the grammar rejects — the honest `cannot-fire`, because a
|
|
93
|
+
* dynamic table name is genuinely unreadable. A `${…}` inside a quoted string
|
|
94
|
+
* or quoted identifier is literal text the grammar already accepts, so it is
|
|
95
|
+
* left untouched (rewriting it would corrupt a string literal that happens to
|
|
96
|
+
* contain `$`).
|
|
97
|
+
* @param sql The SQL text to rewrite.
|
|
98
|
+
* @returns The SQL with `${…}` template substitutions rewritten to `?` placeholders.
|
|
99
|
+
*/
|
|
100
|
+
export declare function normalizeTemplateSubstitutions(sql: string): string;
|
|
101
|
+
/**
|
|
102
|
+
* Rewrite sqlite's length-qualified `TEXT(N)` type spelling to `VARCHAR(N)`.
|
|
103
|
+
* Drizzle's sqlite dialect emits `text(N)` for string columns, and
|
|
104
|
+
* node-sql-parser's sqlite grammar accepts the length form only for `varchar(N)`
|
|
105
|
+
* — it rejects `text(N)` even though sqlite itself accepts it. SQLite gives
|
|
106
|
+
* `TEXT(N)` and `VARCHAR(N)` the same TEXT affinity, so the rewrite is lossless
|
|
107
|
+
* for every fact an AST walk reads (table/column names, types, declared lengths)
|
|
108
|
+
* and recovers a statement that would otherwise report a spurious `cannot-fire`.
|
|
109
|
+
* Only the `text` keyword *immediately followed by `(`* is rewritten — a bare
|
|
110
|
+
* `text` (no length), a longer identifier (`textual`), and any occurrence inside
|
|
111
|
+
* a string literal or quoted identifier are left intact.
|
|
112
|
+
* @param sql The SQL text to rewrite.
|
|
113
|
+
* @returns The SQL with length-qualified `text(N)` rewritten to `varchar(N)`.
|
|
114
|
+
*/
|
|
115
|
+
export declare function normalizeSqliteTextLength(sql: string): string;
|
|
116
|
+
/**
|
|
117
|
+
* Rewrite a string literal whose entire content is one backslash (`'\'`) to the
|
|
118
|
+
* doubled spelling (`'\\'`). SQLite spells "the escape character is a single
|
|
119
|
+
* backslash" as `'\'`, but node-sql-parser's lexer reads the bare `'\'` as an
|
|
120
|
+
* unterminated escaped-quote (`\'` with no closing quote) and rejects the whole
|
|
121
|
+
* statement — so a `LIKE … ESCAPE '\'` clause (recall-protocol's FTS-escape
|
|
122
|
+
* spelling) fails to parse. Doubling the backslash is the same value spelled the
|
|
123
|
+
* way the grammar accepts (`'\\'` is one literal backslash), so the rewrite is
|
|
124
|
+
* lossless: the escape character is still one backslash, and no fact a rule
|
|
125
|
+
* reads (relations, filters, statement kind) changes. Only the exact three-char
|
|
126
|
+
* sequence `'\'` is rewritten, and only where it opens a string literal (never
|
|
127
|
+
* inside a quoted identifier or a longer string), so a `'\''` (backslash then
|
|
128
|
+
* escaped quote) or a double-quoted identifier containing `'\'` is left intact.
|
|
129
|
+
* @param sql The SQL text to rewrite.
|
|
130
|
+
* @returns The SQL with a lone-backslash string literal rewritten to `'\\'`.
|
|
131
|
+
*/
|
|
132
|
+
export declare function normalizeEscapeClause(sql: string): string;
|
|
133
|
+
/**
|
|
134
|
+
* Rewrite a bare `?` placeholder in a `LIMIT`/`OFFSET` clause to a literal
|
|
135
|
+
* (`LIMIT 1` / `OFFSET 0`). node-sql-parser's sqlite grammar accepts `LIMIT 5`
|
|
136
|
+
* but rejects `LIMIT ?` (a bound-parameter limit) even though sqlite itself
|
|
137
|
+
* accepts it — so a parameterized `SELECT … LIMIT ? OFFSET ?` (recall-protocol's
|
|
138
|
+
* paging spelling) fails to parse. The fact a rule reads from a LIMIT/OFFSET
|
|
139
|
+
* clause is *presence*, not the value (see `whereFacts`), so substituting a
|
|
140
|
+
* concrete literal is lossless: `LIMIT ?` still reports "has a limit". The
|
|
141
|
+
* rewrite fires only on a bare `?` immediately after the keyword (whitespace
|
|
142
|
+
* optional), and skips string literals and quoted identifiers.
|
|
143
|
+
* @param sql The SQL text to rewrite.
|
|
144
|
+
* @returns The SQL with `LIMIT ?` → `LIMIT 1` and `OFFSET ?` → `OFFSET 0`.
|
|
145
|
+
*/
|
|
146
|
+
export declare function normalizeLimitOffsetPlaceholders(sql: string): string;
|
|
147
|
+
/**
|
|
148
|
+
* Rewrite a `CREATE VIRTUAL TABLE name USING fts5(cols…)` declaration to the
|
|
149
|
+
* `CREATE TABLE name (cols…)` the sqlite grammar accepts. node-sql-parser's
|
|
150
|
+
* sqlite grammar has no `CREATE VIRTUAL TABLE`, so a full-text-search table
|
|
151
|
+
* (recall-protocol's `strategies_fts`, declared `USING fts5(...)`) fails to parse
|
|
152
|
+
* and blanks the table — even though a virtual table is a first-class queryable
|
|
153
|
+
* relation the lifecycle rules track exactly like a stored table. The facts a
|
|
154
|
+
* rule reads from the declaration are the table name and its column names; the
|
|
155
|
+
* FTS5 module wrapper (`USING fts5`, a column's `UNINDEXED`, the trailing
|
|
156
|
+
* `tokenize = '…'` option) is module configuration, not a table fact. So the
|
|
157
|
+
* rewrite drops the module syntax and keeps the columns, recovering the same
|
|
158
|
+
* table/column facts a `CREATE TABLE` would carry. Only a `CREATE VIRTUAL TABLE`
|
|
159
|
+
* (word-boundary matched, case-insensitive) whose module argument list parses to
|
|
160
|
+
* at least one bare column is rewritten; anything else — a module option list
|
|
161
|
+
* with no columns, an unexpected shape — is left untouched and reports an honest
|
|
162
|
+
* parse failure rather than a fabricated table.
|
|
163
|
+
* @param sql The SQL text to rewrite.
|
|
164
|
+
* @returns The SQL with `CREATE VIRTUAL TABLE … USING <module>(cols)` rewritten to `CREATE TABLE … (cols)`.
|
|
165
|
+
*/
|
|
166
|
+
export declare function normalizeVirtualTable(sql: string): string;
|
|
167
|
+
/**
|
|
168
|
+
* Split a (possibly multi-statement) SQL string on top-level `;`. Semicolons
|
|
169
|
+
* inside single/double-quoted strings and backtick identifiers are not statement
|
|
170
|
+
* boundaries, and empty fragments (a trailing `;`) are dropped. A single string
|
|
171
|
+
* literal carrying several DDL statements (`DROP TABLE a; DROP TABLE b;`) parses
|
|
172
|
+
* as its statements instead of failing "expected a single statement".
|
|
173
|
+
*
|
|
174
|
+
* A `CREATE TRIGGER … BEGIN … END` body carries `;` between its own statements
|
|
175
|
+
* that are not statement boundaries, so the trigger's `BEGIN … END` block is
|
|
176
|
+
* tracked and its internal `;` kept inside the statement — otherwise a trigger
|
|
177
|
+
* would be mid-body-split into a dangling header and a bare `END`. The tracking
|
|
178
|
+
* is scoped to a statement whose leading text is `CREATE TRIGGER`, so a
|
|
179
|
+
* transaction's `BEGIN;` or a stray `CASE`/`END` in ordinary SQL is split exactly
|
|
180
|
+
* as before. A `CASE … END` inside the body is tracked so its `END` is not
|
|
181
|
+
* mistaken for the trigger's closing `END`.
|
|
182
|
+
* @param sql The SQL text to split.
|
|
183
|
+
* @returns The top-level statements, in order, with empty fragments dropped.
|
|
184
|
+
*/
|
|
185
|
+
export declare function splitSqlStatements(sql: string): string[];
|
|
186
|
+
/**
|
|
187
|
+
* Truncate a SQL string at its top-level `ON CONFLICT` clause, returning the
|
|
188
|
+
* prefix and a flag recording that a conflict clause was present but not parsed.
|
|
189
|
+
*
|
|
190
|
+
* Spec 70 (ON CONFLICT disposition): node-sql-parser's `sqlite` grammar has no
|
|
191
|
+
* `ON CONFLICT`, so a D1 `INSERT … ON CONFLICT (…) DO UPDATE` upsert is a parse
|
|
192
|
+
* failure — and the failure took the whole statement down, blanking the target
|
|
193
|
+
* table / write-status facts the prefix already answers. Those facts (target
|
|
194
|
+
* table, write status, predicate presence) are all answered by the
|
|
195
|
+
* `INSERT INTO x (cols) VALUES (…)` prefix, so the clause is cut at a *top-level*
|
|
196
|
+
* `ON CONFLICT` (not inside a string literal, comment, or parenthesized
|
|
197
|
+
* subexpression) and the prefix is parsed. The flag keeps "an upsert is present"
|
|
198
|
+
* distinct from "the write is a plain INSERT" — a future rule reading the update
|
|
199
|
+
* action sees "present but unread" rather than absent. This is a truncation, not
|
|
200
|
+
* a normalization: the clause's update action is recorded as dropped, never
|
|
201
|
+
* silently re-written into an equivalent spelling.
|
|
202
|
+
* @param sql The SQL text to scan.
|
|
203
|
+
* @returns The prefix before a top-level `ON CONFLICT` clause, plus a flag recording that a clause was truncated.
|
|
204
|
+
*/
|
|
205
|
+
export declare function truncateConflictClause(sql: string): {
|
|
206
|
+
text: string;
|
|
207
|
+
truncated: boolean;
|
|
208
|
+
};
|
|
209
|
+
/**
|
|
210
|
+
* Parse a SQL string — one statement, or several separated by `;`. Returns
|
|
211
|
+
* `{ ok: false, reason }` on an empty string, a parse error (after the declared
|
|
212
|
+
* normalization below), or a program where any statement fails to parse. A
|
|
213
|
+
* multi-statement string that fully parses is `ok` with `statements` holding
|
|
214
|
+
* every AST.
|
|
215
|
+
*
|
|
216
|
+
* Normalization, applied before the grammar: (a) D1 numbered parameters `?n` →
|
|
217
|
+
* `?`; (b) a multi-statement string is split on top-level `;` and each statement
|
|
218
|
+
* parsed individually; (c) a standalone transaction-control statement is
|
|
219
|
+
* recognized as SQL with no facts. Anything still failing after those is a
|
|
220
|
+
* genuine `cannot-fire` (e.g. `ON CONFLICT … DO UPDATE`, a Postgres `::` cast).
|
|
221
|
+
*
|
|
222
|
+
* @param text The SQL text to parse.
|
|
223
|
+
* @param dialect The dialect to parse under — the corpus's named dialect, or
|
|
224
|
+
* {@link DEFAULT_SQL_DIALECT} when detection named none. The caller is still
|
|
225
|
+
* responsible for the honesty: when it supplied the default because the dialect
|
|
226
|
+
* is undetermined, a parse failure must be reported naming both the failure and
|
|
227
|
+
* the undetermined dialect.
|
|
228
|
+
* @returns `{ ok: true, ast, kind }` on success (with `statements` for a multi-statement string), or `{ ok: false, reason }` on an empty string, parse error, or unparseable program.
|
|
229
|
+
*/
|
|
230
|
+
export declare function parseSql(text: string, dialect: Dialect): SqlParseResult;
|
|
231
|
+
/** The result of parsing a `.sql` file — a list of statements or a failure. */
|
|
232
|
+
export type SqlProgramResult = {
|
|
233
|
+
readonly ok: true;
|
|
234
|
+
readonly statements: AST[];
|
|
235
|
+
} | {
|
|
236
|
+
readonly ok: false;
|
|
237
|
+
readonly reason: string;
|
|
238
|
+
};
|
|
239
|
+
/**
|
|
240
|
+
* Parse a `.sql` file's full text into its statements. Used by the DDL
|
|
241
|
+
* discovery path (which reads whole migration files), not by the per-call-site
|
|
242
|
+
* parse. Empty text is an empty program, not a failure; a templated migration
|
|
243
|
+
* (`{{…}}`) is "not SQL until rendered"; a syntax error anywhere is a failure of
|
|
244
|
+
* the whole file (the same "parse or nothing" contract as {@link parseSql}).
|
|
245
|
+
*
|
|
246
|
+
* D1 numbered parameters (`?n` → `?`) are normalized before parsing, as in
|
|
247
|
+
* {@link parseSql}.
|
|
248
|
+
*
|
|
249
|
+
* @param text The `.sql` file's full text.
|
|
250
|
+
* @param dialect The corpus's named dialect.
|
|
251
|
+
* @returns A parsed program, or a failure reason (templated migration / syntax error).
|
|
252
|
+
*/
|
|
253
|
+
export declare function parseSqlProgram(text: string, dialect: Dialect): SqlProgramResult;
|
|
254
|
+
/** One statement of a program that failed to parse. */
|
|
255
|
+
export interface SqlStatementFailure {
|
|
256
|
+
readonly index: number;
|
|
257
|
+
readonly reason: string;
|
|
258
|
+
}
|
|
259
|
+
/** A tolerant program parse: every statement that parsed, plus the ones that
|
|
260
|
+
* failed (with their reasons). */
|
|
261
|
+
export interface TolerantSqlProgram {
|
|
262
|
+
readonly statements: AST[];
|
|
263
|
+
readonly failures: readonly SqlStatementFailure[];
|
|
264
|
+
/** Indices into `statements` whose text carried a top-level `ON CONFLICT`
|
|
265
|
+
* clause truncated before parsing (see {@link truncateConflictClause}). */
|
|
266
|
+
readonly truncatedConflictIndices: readonly number[];
|
|
267
|
+
}
|
|
268
|
+
/**
|
|
269
|
+
* Parse a `.sql` migration file tolerantly — statement by statement. The
|
|
270
|
+
* `parseSqlProgram` all-or-nothing contract is right for a single call-site
|
|
271
|
+
* query string (a query either parses or it is `cannot-fire`), but a migration
|
|
272
|
+
* file is a *sequence* of DDL statements, and one statement the grammar rejects
|
|
273
|
+
* (an `UPDATE … FROM`, a Drizzle `ALTER COLUMN "a" TO "a" <type>`) must not
|
|
274
|
+
* discard the well-formed `CREATE TABLE` beside it. Each statement is split on a
|
|
275
|
+
* top-level `;` and parsed individually; a `PRAGMA` / `DROP INDEX` / `DROP VIEW`
|
|
276
|
+
* / `DROP TRIGGER` / `CREATE VIEW` / `CREATE TRIGGER` is *recognized* as no-fact
|
|
277
|
+
* DDL (not parsed, not a failure), the successes are walked for DDL facts, and
|
|
278
|
+
* the remaining failures are reported so the caller can account for what it did
|
|
279
|
+
* not read. This is the honest successor to the regex scanners, which silently
|
|
280
|
+
* skipped whatever they did not match.
|
|
281
|
+
*
|
|
282
|
+
* @param text The `.sql` file's full text.
|
|
283
|
+
* @param dialect The corpus's named dialect.
|
|
284
|
+
* @param recognizeNoFactsDdl When true (a migration file), a `PRAGMA` /
|
|
285
|
+
* `DROP INDEX` / `DROP VIEW` / `DROP TRIGGER` / `CREATE VIEW` / `CREATE TRIGGER`
|
|
286
|
+
* is recognized as no-fact DDL rather than a parse failure. When false (a code
|
|
287
|
+
* SQL argument — see {@link parseSqlTables}), it is left to the grammar, so a
|
|
288
|
+
* `PRAGMA table_info(x)` surfaces as a parse failure (it names `x`) rather than
|
|
289
|
+
* reading "no tables" as clean.
|
|
290
|
+
* @returns The statements that parsed, the failures with reasons, and the indices of statements whose `ON CONFLICT` clause was truncated.
|
|
291
|
+
*/
|
|
292
|
+
export declare function parseSqlProgramTolerant(text: string, dialect: Dialect, recognizeNoFactsDdl?: boolean): TolerantSqlProgram;
|
|
293
|
+
export interface RelationRef {
|
|
294
|
+
/** The relation name (a table name, or a CTE alias before filtering). */
|
|
295
|
+
readonly name: string;
|
|
296
|
+
/** Which clause the relation came from. */
|
|
297
|
+
readonly via: 'from' | 'join' | 'into' | 'target' | 'rename' | 'drop';
|
|
298
|
+
}
|
|
299
|
+
/**
|
|
300
|
+
* Collect every relation referenced by a statement — the raw FROM/JOIN/INTO/
|
|
301
|
+
* target/rename/drop relations, *without* the CTE-alias filter. This is the
|
|
302
|
+
* AST replacement for site #1's `extractTables` plus its bolted-on alias filter:
|
|
303
|
+
* the CTE names are subtracted in {@link extractTableNames}, because a CTE name
|
|
304
|
+
* is a named result set, not a stored table.
|
|
305
|
+
*
|
|
306
|
+
* The walk descends into CTE bodies (`WITH x AS (SELECT … FROM orders)`) and
|
|
307
|
+
* into `FROM (SELECT …)` subqueries, so a real table referenced only inside a
|
|
308
|
+
* CTE or subquery is still collected — the flat text scan saw those, and an AST
|
|
309
|
+
* walk that did not would silently under-count.
|
|
310
|
+
* @param ast The parsed statement (or program) to walk.
|
|
311
|
+
* @returns Every relation referenced, with the clause it came from, before CTE filtering.
|
|
312
|
+
*/
|
|
313
|
+
export declare function collectRelations(ast: AST): RelationRef[];
|
|
314
|
+
/** The names of the CTEs declared by a `WITH` clause, lowercased.
|
|
315
|
+
* @param ast The parsed statement.
|
|
316
|
+
* @returns The lowercased CTE names. */
|
|
317
|
+
export declare function cteNames(ast: AST): Set<string>;
|
|
318
|
+
/**
|
|
319
|
+
* The set of table names a statement references, CTE aliases excluded. This is
|
|
320
|
+
* the AST replacement for `extractTables`: walk FROM/JOIN/INTO/target clauses,
|
|
321
|
+
* collect relation nodes, then drop the CTE names declared in `WITH`. A CTE
|
|
322
|
+
* name and a stored table of the same name resolve to the CTE, so a CTE
|
|
323
|
+
* declaration wins.
|
|
324
|
+
* @param ast The parsed statement.
|
|
325
|
+
* @returns The referenced table names, de-duplicated, with CTE aliases excluded.
|
|
326
|
+
*/
|
|
327
|
+
export declare function extractTableNames(ast: AST): string[];
|
|
328
|
+
export type SchemaRefType = 'select' | 'insert' | 'update' | 'delete' | 'create';
|
|
329
|
+
export interface TypedRelation {
|
|
330
|
+
readonly table: string;
|
|
331
|
+
/** Schema qualifier (`db` in `db.table`), null when unqualified. */
|
|
332
|
+
readonly db: string | null;
|
|
333
|
+
readonly type: SchemaRefType;
|
|
334
|
+
/**
|
|
335
|
+
* True when this relation's statement carried a top-level `ON CONFLICT` clause
|
|
336
|
+
* that was truncated before parsing (see {@link truncateConflictClause}). The
|
|
337
|
+
* write facts (target table, write status) are answered by the prefix; this
|
|
338
|
+
* flag records that an upsert action was present but unread.
|
|
339
|
+
*/
|
|
340
|
+
readonly conflictClauseTruncated?: boolean;
|
|
341
|
+
}
|
|
342
|
+
/** The typed relations of a parsed SQL program (one or more statements), with
|
|
343
|
+
* CTE names and ALTER RENAME targets subtracted and nested statements descended.
|
|
344
|
+
* `truncatedConflictIndices` names the statements whose text carried a top-level
|
|
345
|
+
* `ON CONFLICT` clause (truncated before parsing); their relations are flagged
|
|
346
|
+
* `conflictClauseTruncated` so a write is recorded as "upsert present but
|
|
347
|
+
* unread" rather than a plain INSERT.
|
|
348
|
+
* @param statements The parsed statements of the program.
|
|
349
|
+
* @param truncatedConflictIndices Indices into `statements` whose `ON CONFLICT` clause was truncated.
|
|
350
|
+
* @returns The typed relations, with CTE names and ALTER RENAME targets subtracted. */
|
|
351
|
+
export declare function collectTypedRelations(statements: AST[], truncatedConflictIndices?: ReadonlySet<number>): TypedRelation[];
|
|
352
|
+
export interface WhereFacts {
|
|
353
|
+
readonly hasWhere: boolean;
|
|
354
|
+
readonly hasHaving: boolean;
|
|
355
|
+
readonly hasLimit: boolean;
|
|
356
|
+
/** The WHERE clause is entirely tautology (`WHERE 1=1` / `WHERE TRUE`), limiting nothing. */
|
|
357
|
+
readonly whereIsTautology: boolean;
|
|
358
|
+
}
|
|
359
|
+
/**
|
|
360
|
+
* Row-limiting facts about a statement — the AST replacement for site #2's
|
|
361
|
+
* `hasQueryFilter` + `whereClauseIsTautology`. A WHERE carrying a real predicate
|
|
362
|
+
* (any non-tautology), a HAVING, or a LIMIT limits rows; a bare `WHERE 1=1` does
|
|
363
|
+
* not.
|
|
364
|
+
* @param ast The parsed statement.
|
|
365
|
+
* @returns Row-limiting facts: presence of WHERE/HAVING/LIMIT and whether the WHERE is tautological.
|
|
366
|
+
*/
|
|
367
|
+
export declare function whereFacts(ast: AST): WhereFacts;
|
|
368
|
+
/**
|
|
369
|
+
* True when a statement is a write (INSERT/DELETE/UPDATE/REPLACE) — the AST
|
|
370
|
+
* replacement for site #3's `hasWriteVerb`, which had to regex `REPLACE INTO`
|
|
371
|
+
* as a two-word clause to avoid the `REPLACE()` string function. The statement
|
|
372
|
+
* kind is that distinction, structurally.
|
|
373
|
+
*/
|
|
374
|
+
export declare function isWriteStatement(ast: AST): boolean;
|
|
375
|
+
/**
|
|
376
|
+
* True when a statement mass-mutates existing rows (`UPDATE … SET`), the AST
|
|
377
|
+
* replacement for `hasMassWriteVerb`. `DELETE` is deliberately excluded (Spec 68
|
|
378
|
+
* disposition (a)); `INSERT`/`REPLACE` target specific rows.
|
|
379
|
+
*/
|
|
380
|
+
export declare function isMassWriteStatement(ast: AST): boolean;
|
|
381
|
+
/**
|
|
382
|
+
* True when a statement is an upsert — a `REPLACE`, or an `INSERT` carrying an
|
|
383
|
+
* `ON CONFLICT` / `ON DUPLICATE KEY` clause — the AST replacement for
|
|
384
|
+
* `isUpsertForm`. An upsert is keyed by construction, so it never reads as an
|
|
385
|
+
* "unfiltered" mass write.
|
|
386
|
+
* @param ast The parsed statement.
|
|
387
|
+
* @returns True when the statement is an upsert (`REPLACE`, or `INSERT` with an `OR` / `ON DUPLICATE KEY` clause).
|
|
388
|
+
*/
|
|
389
|
+
export declare function isUpsertStatement(ast: AST): boolean;
|
|
390
|
+
/**
|
|
391
|
+
* The column list of an INSERT/REPLACE — the AST replacement for site #6's
|
|
392
|
+
* `rawInsertColumnList`. `null` columns (an `INSERT … VALUES` with no column
|
|
393
|
+
* list) yields an empty array, which is a distinct, honest result.
|
|
394
|
+
* @param ast The parsed statement.
|
|
395
|
+
* @returns The INSERT/REPLACE column list, or an empty array when there is none.
|
|
396
|
+
*/
|
|
397
|
+
export declare function insertColumns(ast: AST): string[];
|
|
398
|
+
/**
|
|
399
|
+
* The column references that appear as *predicate operands* in a statement's
|
|
400
|
+
* WHERE tree — the AST replacement for site #5's four regex families, collapsed
|
|
401
|
+
* to one walk. A column name in the SELECT list, an INSERT column list, or a
|
|
402
|
+
* comment is *not* an operand, so a projection can no longer masquerade as a
|
|
403
|
+
* filter (the Spec 68 Thing 2 `sample_ownership` defect). A quoted identifier on
|
|
404
|
+
* the left of a comparison (`"org_id" = ?`, the knex/Postgres form) is collected
|
|
405
|
+
* too, because under a PostgreSQL-style dialect it is a column, not a string
|
|
406
|
+
* literal.
|
|
407
|
+
* @param ast The parsed statement.
|
|
408
|
+
* @returns The lowercased column names that appear as WHERE-tree predicate operands.
|
|
409
|
+
*/
|
|
410
|
+
export declare function whereColumnRefs(ast: AST): Set<string>;
|
|
411
|
+
/**
|
|
412
|
+
* True when a statement's WHERE clause applies an org/tenant-scoping predicate —
|
|
413
|
+
* a `col op value` shape where `col` is in the tenant column set. This is the
|
|
414
|
+
* AST form of `hasOrganizationFilter`; the tenant vocabulary is passed in (the
|
|
415
|
+
* same vocabulary discovery uses), so the predicate and the tier set can never
|
|
416
|
+
* read two different vocabularies.
|
|
417
|
+
*
|
|
418
|
+
* @param ast The parsed statement.
|
|
419
|
+
* @param tenantColumns The tenant column names (lowercased) that count as scope.
|
|
420
|
+
* @returns True when any WHERE predicate operand is a tenant column.
|
|
421
|
+
*/
|
|
422
|
+
export declare function hasTenantPredicate(ast: AST, tenantColumns: ReadonlySet<string>): boolean;
|
|
423
|
+
/** True when a statement is table DDL (`CREATE TABLE` / `DROP TABLE` / `ALTER TABLE`).
|
|
424
|
+
* @param ast The parsed statement.
|
|
425
|
+
* @returns True when the statement is `CREATE TABLE`, `DROP TABLE`, or `ALTER TABLE`. */
|
|
426
|
+
export declare function isDdlStatement(ast: AST): boolean;
|
|
427
|
+
/** The table names a DDL statement names (create target, drop names, alter target + rename).
|
|
428
|
+
* @param ast The parsed statement.
|
|
429
|
+
* @returns The table names the DDL statement names (create target, drop names, alter target + rename). */
|
|
430
|
+
export declare function ddlTableNames(ast: AST): string[];
|
|
431
|
+
export interface DdlColumn {
|
|
432
|
+
readonly table: string;
|
|
433
|
+
readonly column: string;
|
|
434
|
+
readonly primaryKey: boolean;
|
|
435
|
+
readonly notNull: boolean;
|
|
436
|
+
readonly unique: boolean;
|
|
437
|
+
readonly dataType: string | null;
|
|
438
|
+
}
|
|
439
|
+
export interface DdlForeignKey {
|
|
440
|
+
readonly table: string;
|
|
441
|
+
readonly columns: string[];
|
|
442
|
+
readonly referencesTable: string;
|
|
443
|
+
readonly referencesColumns: string[];
|
|
444
|
+
}
|
|
445
|
+
/** One ordered migration op (`CREATE` / `DROP` / `RENAME`) for a table. */
|
|
446
|
+
export interface DdlMigrationOp {
|
|
447
|
+
readonly op: 'CREATE' | 'DROP' | 'RENAME';
|
|
448
|
+
readonly table: string;
|
|
449
|
+
readonly newTable?: string;
|
|
450
|
+
}
|
|
451
|
+
/**
|
|
452
|
+
* Extract every column defined by a `CREATE TABLE` (or `ALTER TABLE … ADD
|
|
453
|
+
* COLUMN`) statement — the AST replacement for site #9's
|
|
454
|
+
* `extractDdlTableColumns` + `leadingColumnName` + `splitColumnDefs`, which
|
|
455
|
+
* hand-rolled paren-depth and quote tracking. The column name and its
|
|
456
|
+
* constraints (primary-key / not-null / unique) come straight off the
|
|
457
|
+
* definition nodes.
|
|
458
|
+
* @param ast The parsed `CREATE TABLE` or `ALTER TABLE … ADD COLUMN` statement.
|
|
459
|
+
* @returns Each column with its primary-key / not-null / unique flags and data type.
|
|
460
|
+
*/
|
|
461
|
+
export declare function ddlColumnDefinitions(ast: AST): DdlColumn[];
|
|
462
|
+
/**
|
|
463
|
+
* Extract the foreign-key constraints of a `CREATE TABLE` or `ALTER TABLE … ADD
|
|
464
|
+
* CONSTRAINT … FOREIGN KEY` statement — the AST replacement for site #10's FK
|
|
465
|
+
* regexes. Covers the three DDL spellings: column-level `REFERENCES`, table-level
|
|
466
|
+
* `FOREIGN KEY (…) REFERENCES`, and ALTER `ADD CONSTRAINT … FOREIGN KEY`. The
|
|
467
|
+
* referenced table and columns come straight off the `reference_definition` node.
|
|
468
|
+
* @param ast The parsed `CREATE TABLE` or `ALTER TABLE` statement.
|
|
469
|
+
* @returns The foreign-key constraints, with local columns and the referenced table/columns.
|
|
470
|
+
*/
|
|
471
|
+
export declare function ddlForeignKeys(ast: AST): DdlForeignKey[];
|
|
472
|
+
/**
|
|
473
|
+
* The ordered CREATE / DROP / RENAME ops of a table-DDL statement — the AST
|
|
474
|
+
* replacement for site #7's `DDL_RE` (which had to regex the whole
|
|
475
|
+
* create/drop/alter-rename vocabulary as one alternation). The statement kind and
|
|
476
|
+
* its target/rename nodes are read directly.
|
|
477
|
+
* @param ast The parsed table-DDL statement.
|
|
478
|
+
* @returns The ordered CREATE / DROP / RENAME ops.
|
|
479
|
+
*/
|
|
480
|
+
export declare function ddlMigrationOps(ast: AST): DdlMigrationOp[];
|
|
481
|
+
/**
|
|
482
|
+
* The columns of a table-level or ALTER-added UNIQUE / PRIMARY KEY constraint —
|
|
483
|
+
* the AST replacement for the table-level halves of `extractDdlUniqueColumns` and
|
|
484
|
+
* `extractDdlPrimaryKeyColumns`, which had to hand-roll paren matching to find
|
|
485
|
+
* the column list inside `UNIQUE (…)`. Column-level `UNIQUE` / `PRIMARY KEY` is
|
|
486
|
+
* already carried by {@link ddlColumnDefinitions}.
|
|
487
|
+
* @param ast The parsed `CREATE TABLE` or `ALTER TABLE` statement.
|
|
488
|
+
* @param constraintType `'unique'` or `'primary key'`.
|
|
489
|
+
* @returns The lowercased columns of table-level / ALTER-added constraints of that kind.
|
|
490
|
+
*/
|
|
491
|
+
export declare function ddlConstraintColumns(ast: AST, constraintType: 'unique' | 'primary key'): string[];
|
|
492
|
+
/** The {@link SqlStatementKind} of a parsed statement. */
|
|
493
|
+
export declare function kindOf(ast: AST): SqlStatementKind;
|
|
494
|
+
//# sourceMappingURL=sqlAst.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sqlAst.d.ts","sourceRoot":"","sources":["../../../src/languages/sql/sqlAst.ts"],"names":[],"mappings":"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"}
|