@lzehrung/codegraph 2.1.0 → 2.1.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/README.md +27 -29
- package/codegraph-skill/codegraph/SKILL.md +27 -26
- package/dist/agent/artifact.d.ts.map +1 -1
- package/dist/agent/artifact.js +105 -14
- package/dist/agent/artifact.js.map +1 -1
- package/dist/agent/candidateTests.d.ts +12 -0
- package/dist/agent/candidateTests.d.ts.map +1 -0
- package/dist/agent/candidateTests.js +17 -0
- package/dist/agent/candidateTests.js.map +1 -0
- package/dist/agent/explain.d.ts +3 -0
- package/dist/agent/explain.d.ts.map +1 -1
- package/dist/agent/explain.js +8 -0
- package/dist/agent/explain.js.map +1 -1
- package/dist/agent/explore.d.ts.map +1 -1
- package/dist/agent/explore.js +11 -6
- package/dist/agent/explore.js.map +1 -1
- package/dist/agent/fileView.d.ts.map +1 -1
- package/dist/agent/fileView.js +113 -120
- package/dist/agent/fileView.js.map +1 -1
- package/dist/agent/orient.d.ts.map +1 -1
- package/dist/agent/orient.js +7 -4
- package/dist/agent/orient.js.map +1 -1
- package/dist/agent/packet.d.ts.map +1 -1
- package/dist/agent/packet.js +5 -12
- package/dist/agent/packet.js.map +1 -1
- package/dist/agent/query-index/candidates.d.ts +13 -2
- package/dist/agent/query-index/candidates.d.ts.map +1 -1
- package/dist/agent/query-index/candidates.js +28 -39
- package/dist/agent/query-index/candidates.js.map +1 -1
- package/dist/agent/query-index/content.d.ts +1 -1
- package/dist/agent/query-index/content.js +4 -4
- package/dist/agent/query-index/content.js.map +1 -1
- package/dist/agent/query-index/schema.d.ts.map +1 -1
- package/dist/agent/query-index/schema.js.map +1 -1
- package/dist/agent/query-index/sessionStore.d.ts.map +1 -1
- package/dist/agent/query-index/sessionStore.js +42 -26
- package/dist/agent/query-index/sessionStore.js.map +1 -1
- package/dist/agent/query-index/store.d.ts +10 -4
- package/dist/agent/query-index/store.d.ts.map +1 -1
- package/dist/agent/query-index/store.js +115 -10
- package/dist/agent/query-index/store.js.map +1 -1
- package/dist/agent/query-index/update.d.ts.map +1 -1
- package/dist/agent/query-index/update.js +24 -9
- package/dist/agent/query-index/update.js.map +1 -1
- package/dist/agent/refactorPlan.d.ts.map +1 -1
- package/dist/agent/refactorPlan.js +6 -14
- package/dist/agent/refactorPlan.js.map +1 -1
- package/dist/agent/renamePreview.d.ts +2 -5
- package/dist/agent/renamePreview.d.ts.map +1 -1
- package/dist/agent/renamePreview.js +133 -80
- package/dist/agent/renamePreview.js.map +1 -1
- package/dist/agent/search.d.ts +3 -1
- package/dist/agent/search.d.ts.map +1 -1
- package/dist/agent/search.js +103 -35
- package/dist/agent/search.js.map +1 -1
- package/dist/agent/semanticSymbols.d.ts.map +1 -1
- package/dist/agent/semanticSymbols.js +2 -1
- package/dist/agent/semanticSymbols.js.map +1 -1
- package/dist/agent/session.d.ts +4 -0
- package/dist/agent/session.d.ts.map +1 -1
- package/dist/agent/session.js +20 -7
- package/dist/agent/session.js.map +1 -1
- package/dist/agent-tools.d.ts +1 -1
- package/dist/agent-tools.d.ts.map +1 -1
- package/dist/agent-tools.js +12 -21
- package/dist/agent-tools.js.map +1 -1
- package/dist/bin/cli.js +29242 -25373
- package/dist/bin/queryIndexWorker.js +131 -42
- package/dist/bin/rawQueryWorker.js +270 -0
- package/dist/chunking/chunkFile.d.ts +5 -0
- package/dist/chunking/chunkFile.d.ts.map +1 -1
- package/dist/chunking/chunkFile.js +14 -15
- package/dist/chunking/chunkFile.js.map +1 -1
- package/dist/cli/affected.d.ts.map +1 -1
- package/dist/cli/affected.js +17 -10
- package/dist/cli/affected.js.map +1 -1
- package/dist/cli/callHierarchy.d.ts.map +1 -1
- package/dist/cli/callHierarchy.js +9 -2
- package/dist/cli/callHierarchy.js.map +1 -1
- package/dist/cli/commandTable.d.ts.map +1 -1
- package/dist/cli/commandTable.js +16 -4
- package/dist/cli/commandTable.js.map +1 -1
- package/dist/cli/doctor.d.ts +7 -0
- package/dist/cli/doctor.d.ts.map +1 -1
- package/dist/cli/doctor.js +166 -0
- package/dist/cli/doctor.js.map +1 -1
- package/dist/cli/graph.d.ts +2 -1
- package/dist/cli/graph.d.ts.map +1 -1
- package/dist/cli/graph.js +60 -16
- package/dist/cli/graph.js.map +1 -1
- package/dist/cli/graphDelta.d.ts +2 -1
- package/dist/cli/graphDelta.d.ts.map +1 -1
- package/dist/cli/graphDelta.js +5 -0
- package/dist/cli/graphDelta.js.map +1 -1
- package/dist/cli/grep.d.ts +1 -1
- package/dist/cli/grep.d.ts.map +1 -1
- package/dist/cli/grep.js +14 -4
- package/dist/cli/grep.js.map +1 -1
- package/dist/cli/help.d.ts +34 -34
- package/dist/cli/help.d.ts.map +1 -1
- package/dist/cli/help.js +17 -8
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/impact.d.ts +2 -1
- package/dist/cli/impact.d.ts.map +1 -1
- package/dist/cli/impact.js +5 -0
- package/dist/cli/impact.js.map +1 -1
- package/dist/cli/index.d.ts +2 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +3 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/indexPolicy.d.ts.map +1 -1
- package/dist/cli/indexPolicy.js.map +1 -1
- package/dist/cli/inspect.d.ts +2 -1
- package/dist/cli/inspect.d.ts.map +1 -1
- package/dist/cli/inspect.js +25 -13
- package/dist/cli/inspect.js.map +1 -1
- package/dist/cli/install.js +1 -1
- package/dist/cli/install.js.map +1 -1
- package/dist/cli/invocationContext.d.ts.map +1 -1
- package/dist/cli/invocationContext.js +3 -0
- package/dist/cli/invocationContext.js.map +1 -1
- package/dist/cli/links.d.ts +2 -0
- package/dist/cli/links.d.ts.map +1 -1
- package/dist/cli/links.js +1 -1
- package/dist/cli/links.js.map +1 -1
- package/dist/cli/navigation.d.ts +41 -1
- package/dist/cli/navigation.d.ts.map +1 -1
- package/dist/cli/navigation.js +4 -1
- package/dist/cli/navigation.js.map +1 -1
- package/dist/cli/options.d.ts.map +1 -1
- package/dist/cli/options.js +32 -11
- package/dist/cli/options.js.map +1 -1
- package/dist/cli/renamePreview.d.ts.map +1 -1
- package/dist/cli/renamePreview.js +7 -1
- package/dist/cli/renamePreview.js.map +1 -1
- package/dist/cli/review.d.ts +2 -1
- package/dist/cli/review.d.ts.map +1 -1
- package/dist/cli/review.js +5 -0
- package/dist/cli/review.js.map +1 -1
- package/dist/cli/rootPolicy.d.ts.map +1 -1
- package/dist/cli/rootPolicy.js +36 -3
- package/dist/cli/rootPolicy.js.map +1 -1
- package/dist/cli/skill.js +2 -2
- package/dist/cli/skill.js.map +1 -1
- package/dist/cli/sql.js +1 -1
- package/dist/cli/symbols.d.ts.map +1 -1
- package/dist/cli/symbols.js +4 -2
- package/dist/cli/symbols.js.map +1 -1
- package/dist/cli/viewer.d.ts.map +1 -1
- package/dist/cli/viewer.js +46 -34
- package/dist/cli/viewer.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +36 -16
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts +3 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +35 -3
- package/dist/config.js.map +1 -1
- package/dist/documentLinks/check.d.ts +2 -1
- package/dist/documentLinks/check.d.ts.map +1 -1
- package/dist/documentLinks/check.js +22 -11
- package/dist/documentLinks/check.js.map +1 -1
- package/dist/duplicate-token-normalization.d.ts.map +1 -1
- package/dist/duplicate-token-normalization.js +10 -2
- package/dist/duplicate-token-normalization.js.map +1 -1
- package/dist/duplicates/scoring.d.ts +0 -10
- package/dist/duplicates/scoring.d.ts.map +1 -1
- package/dist/duplicates/scoring.js +9 -9
- package/dist/duplicates/scoring.js.map +1 -1
- package/dist/duplicates/types.d.ts +2 -0
- package/dist/duplicates/types.d.ts.map +1 -1
- package/dist/duplicates/unitCache.d.ts +15 -9
- package/dist/duplicates/unitCache.d.ts.map +1 -1
- package/dist/duplicates/unitCache.js +184 -33
- package/dist/duplicates/unitCache.js.map +1 -1
- package/dist/duplicates/units.d.ts +6 -15
- package/dist/duplicates/units.d.ts.map +1 -1
- package/dist/duplicates/units.js +42 -20
- package/dist/duplicates/units.js.map +1 -1
- package/dist/duplicates.d.ts.map +1 -1
- package/dist/duplicates.js +59 -0
- package/dist/duplicates.js.map +1 -1
- package/dist/frameworks/angularjs.d.ts.map +1 -1
- package/dist/frameworks/angularjs.js +18 -12
- package/dist/frameworks/angularjs.js.map +1 -1
- package/dist/graph-builder.d.ts.map +1 -1
- package/dist/graph-builder.js +12 -9
- package/dist/graph-builder.js.map +1 -1
- package/dist/graph-edge-collector.d.ts +1 -0
- package/dist/graph-edge-collector.d.ts.map +1 -1
- package/dist/graph-edge-collector.js +1 -1
- package/dist/graph-edge-collector.js.map +1 -1
- package/dist/graphs/grep.d.ts.map +1 -1
- package/dist/graphs/grep.js +7 -2
- package/dist/graphs/grep.js.map +1 -1
- package/dist/graphs/specifiers.d.ts.map +1 -1
- package/dist/graphs/specifiers.js +8 -2
- package/dist/graphs/specifiers.js.map +1 -1
- package/dist/graphs/symbol-graph-detailed.d.ts +10 -1
- package/dist/graphs/symbol-graph-detailed.d.ts.map +1 -1
- package/dist/graphs/symbol-graph-detailed.js +21 -5
- package/dist/graphs/symbol-graph-detailed.js.map +1 -1
- package/dist/impact/analyzer.d.ts.map +1 -1
- package/dist/impact/analyzer.js +19 -2
- package/dist/impact/analyzer.js.map +1 -1
- package/dist/impact/budgets.d.ts.map +1 -1
- package/dist/impact/budgets.js +5 -3
- package/dist/impact/budgets.js.map +1 -1
- package/dist/impact/call-compatibility/textScanner.d.ts +23 -0
- package/dist/impact/call-compatibility/textScanner.d.ts.map +1 -0
- package/dist/impact/call-compatibility/textScanner.js +615 -0
- package/dist/impact/call-compatibility/textScanner.js.map +1 -0
- package/dist/impact/callCompatibility.d.ts +8 -1
- package/dist/impact/callCompatibility.d.ts.map +1 -1
- package/dist/impact/callCompatibility.js +64 -587
- package/dist/impact/callCompatibility.js.map +1 -1
- package/dist/impact/context.d.ts.map +1 -1
- package/dist/impact/context.js +4 -1
- package/dist/impact/context.js.map +1 -1
- package/dist/impact/direct.d.ts +1 -1
- package/dist/impact/direct.d.ts.map +1 -1
- package/dist/impact/direct.js +7 -6
- package/dist/impact/direct.js.map +1 -1
- package/dist/impact/index.d.ts +6 -0
- package/dist/impact/index.d.ts.map +1 -1
- package/dist/impact/index.js +0 -8
- package/dist/impact/index.js.map +1 -1
- package/dist/impact/map.js +2 -2
- package/dist/impact/map.js.map +1 -1
- package/dist/impact/memberResolutionCoverage.d.ts.map +1 -1
- package/dist/impact/memberResolutionCoverage.js +5 -1
- package/dist/impact/memberResolutionCoverage.js.map +1 -1
- package/dist/impact/parse.d.ts.map +1 -1
- package/dist/impact/parse.js +108 -37
- package/dist/impact/parse.js.map +1 -1
- package/dist/impact/referenceCache.js +1 -1
- package/dist/impact/referenceCache.js.map +1 -1
- package/dist/impact/report-suggestions.d.ts.map +1 -1
- package/dist/impact/report-suggestions.js +347 -72
- package/dist/impact/report-suggestions.js.map +1 -1
- package/dist/impact/report.d.ts.map +1 -1
- package/dist/impact/report.js +13 -2
- package/dist/impact/report.js.map +1 -1
- package/dist/impact/reportCompact.d.ts.map +1 -1
- package/dist/impact/reportCompact.js +8 -0
- package/dist/impact/reportCompact.js.map +1 -1
- package/dist/impact/reportFull.d.ts.map +1 -1
- package/dist/impact/reportFull.js +1 -0
- package/dist/impact/reportFull.js.map +1 -1
- package/dist/impact/reportParts.d.ts +9 -0
- package/dist/impact/reportParts.d.ts.map +1 -1
- package/dist/impact/severity.d.ts +3 -2
- package/dist/impact/severity.d.ts.map +1 -1
- package/dist/impact/severity.js +16 -5
- package/dist/impact/severity.js.map +1 -1
- package/dist/impact/streaming.d.ts +32 -2
- package/dist/impact/streaming.d.ts.map +1 -1
- package/dist/impact/streaming.js +62 -3
- package/dist/impact/streaming.js.map +1 -1
- package/dist/impact/suggestions.d.ts.map +1 -1
- package/dist/impact/suggestions.js +1 -1
- package/dist/impact/suggestions.js.map +1 -1
- package/dist/impact/transitive.d.ts.map +1 -1
- package/dist/impact/transitive.js +13 -5
- package/dist/impact/transitive.js.map +1 -1
- package/dist/impact/types.d.ts +21 -20
- package/dist/impact/types.d.ts.map +1 -1
- package/dist/impact/types.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/indexer/build-cache/location.d.ts +19 -0
- package/dist/indexer/build-cache/location.d.ts.map +1 -0
- package/dist/indexer/build-cache/location.js +132 -0
- package/dist/indexer/build-cache/location.js.map +1 -0
- package/dist/indexer/build-cache/manifest.d.ts +14 -6
- package/dist/indexer/build-cache/manifest.d.ts.map +1 -1
- package/dist/indexer/build-cache/manifest.js +194 -30
- package/dist/indexer/build-cache/manifest.js.map +1 -1
- package/dist/indexer/build-cache/module-cache.d.ts +24 -2
- package/dist/indexer/build-cache/module-cache.d.ts.map +1 -1
- package/dist/indexer/build-cache/module-cache.js +98 -32
- package/dist/indexer/build-cache/module-cache.js.map +1 -1
- package/dist/indexer/build-cache/options.d.ts +3 -1
- package/dist/indexer/build-cache/options.d.ts.map +1 -1
- package/dist/indexer/build-cache/options.js +10 -2
- package/dist/indexer/build-cache/options.js.map +1 -1
- package/dist/indexer/build-cache/project-snapshot.d.ts +33 -13
- package/dist/indexer/build-cache/project-snapshot.d.ts.map +1 -1
- package/dist/indexer/build-cache/project-snapshot.js +472 -91
- package/dist/indexer/build-cache/project-snapshot.js.map +1 -1
- package/dist/indexer/build-cache/reports.d.ts.map +1 -1
- package/dist/indexer/build-cache/reports.js +10 -1
- package/dist/indexer/build-cache/reports.js.map +1 -1
- package/dist/indexer/build-cache/resolver-environment.d.ts +9 -0
- package/dist/indexer/build-cache/resolver-environment.d.ts.map +1 -0
- package/dist/indexer/build-cache/resolver-environment.js +160 -0
- package/dist/indexer/build-cache/resolver-environment.js.map +1 -0
- package/dist/indexer/build-cache.d.ts +4 -3
- package/dist/indexer/build-cache.d.ts.map +1 -1
- package/dist/indexer/build-cache.js +4 -3
- package/dist/indexer/build-cache.js.map +1 -1
- package/dist/indexer/build-index.d.ts.map +1 -1
- package/dist/indexer/build-index.js +268 -96
- package/dist/indexer/build-index.js.map +1 -1
- package/dist/indexer/build-manifest.d.ts +1 -0
- package/dist/indexer/build-manifest.d.ts.map +1 -1
- package/dist/indexer/build-manifest.js +15 -5
- package/dist/indexer/build-manifest.js.map +1 -1
- package/dist/indexer/build-workers.d.ts +1 -1
- package/dist/indexer/build-workers.d.ts.map +1 -1
- package/dist/indexer/build-workers.js +57 -42
- package/dist/indexer/build-workers.js.map +1 -1
- package/dist/indexer/call-hierarchy.d.ts.map +1 -1
- package/dist/indexer/call-hierarchy.js.map +1 -1
- package/dist/indexer/finalize.d.ts.map +1 -1
- package/dist/indexer/finalize.js +7 -4
- package/dist/indexer/finalize.js.map +1 -1
- package/dist/indexer/import-types.d.ts +8 -0
- package/dist/indexer/import-types.d.ts.map +1 -1
- package/dist/indexer/imports/jsTextImports.d.ts.map +1 -1
- package/dist/indexer/imports/jsTextImports.js +14 -6
- package/dist/indexer/imports/jsTextImports.js.map +1 -1
- package/dist/indexer/imports/languageSpecific.d.ts.map +1 -1
- package/dist/indexer/imports/languageSpecific.js +10 -5
- package/dist/indexer/imports/languageSpecific.js.map +1 -1
- package/dist/indexer/imports/nativeCaptures.d.ts.map +1 -1
- package/dist/indexer/imports/nativeCaptures.js +4 -1
- package/dist/indexer/imports/nativeCaptures.js.map +1 -1
- package/dist/indexer/imports/python.d.ts.map +1 -1
- package/dist/indexer/imports/python.js +19 -9
- package/dist/indexer/imports/python.js.map +1 -1
- package/dist/indexer/incremental-plan.d.ts +2 -1
- package/dist/indexer/incremental-plan.d.ts.map +1 -1
- package/dist/indexer/incremental-plan.js +7 -4
- package/dist/indexer/incremental-plan.js.map +1 -1
- package/dist/indexer/load-current-index.d.ts.map +1 -1
- package/dist/indexer/load-current-index.js.map +1 -1
- package/dist/indexer/locals-and-exports.d.ts.map +1 -1
- package/dist/indexer/locals-and-exports.js +77 -22
- package/dist/indexer/locals-and-exports.js.map +1 -1
- package/dist/indexer/navigation-goto.d.ts.map +1 -1
- package/dist/indexer/navigation-goto.js +26 -16
- package/dist/indexer/navigation-goto.js.map +1 -1
- package/dist/indexer/navigation-local.d.ts.map +1 -1
- package/dist/indexer/navigation-local.js +7 -4
- package/dist/indexer/navigation-local.js.map +1 -1
- package/dist/indexer/navigation-references.d.ts +1 -1
- package/dist/indexer/navigation-references.d.ts.map +1 -1
- package/dist/indexer/navigation-references.js +34 -17
- package/dist/indexer/navigation-references.js.map +1 -1
- package/dist/indexer/navigation-resolve.d.ts.map +1 -1
- package/dist/indexer/navigation-resolve.js +116 -53
- package/dist/indexer/navigation-resolve.js.map +1 -1
- package/dist/indexer/navigation.d.ts +2 -1
- package/dist/indexer/navigation.d.ts.map +1 -1
- package/dist/indexer/navigation.js +34 -20
- package/dist/indexer/navigation.js.map +1 -1
- package/dist/indexer/parse-context.d.ts +2 -2
- package/dist/indexer/parse-context.d.ts.map +1 -1
- package/dist/indexer/parse-context.js +25 -4
- package/dist/indexer/parse-context.js.map +1 -1
- package/dist/indexer/reference-context.d.ts +2 -2
- package/dist/indexer/reference-context.d.ts.map +1 -1
- package/dist/indexer/reference-context.js +4 -2
- package/dist/indexer/reference-context.js.map +1 -1
- package/dist/indexer/scope-types.d.ts +3 -0
- package/dist/indexer/scope-types.d.ts.map +1 -1
- package/dist/indexer/scope.js +37 -38
- package/dist/indexer/scope.js.map +1 -1
- package/dist/indexer/shared.d.ts.map +1 -1
- package/dist/indexer/shared.js +3 -1
- package/dist/indexer/shared.js.map +1 -1
- package/dist/indexer/type-hierarchy.d.ts.map +1 -1
- package/dist/indexer/type-hierarchy.js +12 -8
- package/dist/indexer/type-hierarchy.js.map +1 -1
- package/dist/indexer/types.d.ts +27 -1
- package/dist/indexer/types.d.ts.map +1 -1
- package/dist/indexer/workspace-symbols.d.ts.map +1 -1
- package/dist/indexer/workspace-symbols.js +5 -3
- package/dist/indexer/workspace-symbols.js.map +1 -1
- package/dist/installer/locks.d.ts +10 -0
- package/dist/installer/locks.d.ts.map +1 -0
- package/dist/installer/locks.js +232 -0
- package/dist/installer/locks.js.map +1 -0
- package/dist/installer/registry.d.ts.map +1 -1
- package/dist/installer/registry.js +75 -235
- package/dist/installer/registry.js.map +1 -1
- package/dist/languages/definitions/csharp.d.ts.map +1 -1
- package/dist/languages/definitions/csharp.js +8 -0
- package/dist/languages/definitions/csharp.js.map +1 -1
- package/dist/languages/definitions/java.d.ts.map +1 -1
- package/dist/languages/definitions/java.js +3 -0
- package/dist/languages/definitions/java.js.map +1 -1
- package/dist/languages/definitions/python.d.ts.map +1 -1
- package/dist/languages/definitions/python.js +2 -0
- package/dist/languages/definitions/python.js.map +1 -1
- package/dist/languages/definitions/rust.d.ts.map +1 -1
- package/dist/languages/definitions/rust.js +2 -0
- package/dist/languages/definitions/rust.js.map +1 -1
- package/dist/languages/importStatementParsers.d.ts +2 -0
- package/dist/languages/importStatementParsers.d.ts.map +1 -1
- package/dist/languages/importStatementParsers.js +24 -10
- package/dist/languages/importStatementParsers.js.map +1 -1
- package/dist/mcp/http.d.ts +3 -1
- package/dist/mcp/http.d.ts.map +1 -1
- package/dist/mcp/http.js +69 -20
- package/dist/mcp/http.js.map +1 -1
- package/dist/mcp/server.d.ts +58 -16
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +447 -140
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/tools.d.ts +51 -1
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +129 -3
- package/dist/mcp/tools.js.map +1 -1
- package/dist/native/byteIndex.d.ts +26 -0
- package/dist/native/byteIndex.d.ts.map +1 -0
- package/dist/native/byteIndex.js +70 -0
- package/dist/native/byteIndex.js.map +1 -0
- package/dist/native/projectedTree.d.ts +3 -2
- package/dist/native/projectedTree.d.ts.map +1 -1
- package/dist/native/projectedTree.js +6 -50
- package/dist/native/projectedTree.js.map +1 -1
- package/dist/native/queryResults.d.ts +7 -1
- package/dist/native/queryResults.d.ts.map +1 -1
- package/dist/native/queryResults.js +13 -5
- package/dist/native/queryResults.js.map +1 -1
- package/dist/review/candidates.d.ts.map +1 -1
- package/dist/review/candidates.js +4 -1
- package/dist/review/candidates.js.map +1 -1
- package/dist/review/changes.d.ts +2 -0
- package/dist/review/changes.d.ts.map +1 -1
- package/dist/review/changes.js +10 -0
- package/dist/review/changes.js.map +1 -1
- package/dist/review/deleted.d.ts.map +1 -1
- package/dist/review/deleted.js +20 -2
- package/dist/review/deleted.js.map +1 -1
- package/dist/review/summaries.d.ts +5 -0
- package/dist/review/summaries.d.ts.map +1 -1
- package/dist/review/summaries.js +32 -21
- package/dist/review/summaries.js.map +1 -1
- package/dist/review/types.d.ts +3 -1
- package/dist/review/types.d.ts.map +1 -1
- package/dist/review/types.js +8 -1
- package/dist/review/types.js.map +1 -1
- package/dist/review.d.ts.map +1 -1
- package/dist/review.js +14 -5
- package/dist/review.js.map +1 -1
- package/dist/session.d.ts +20 -4
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +76 -16
- package/dist/session.js.map +1 -1
- package/dist/sql/types.d.ts.map +1 -1
- package/dist/sqlite/query.d.ts +29 -0
- package/dist/sqlite/query.d.ts.map +1 -1
- package/dist/sqlite/query.js +98 -11
- package/dist/sqlite/query.js.map +1 -1
- package/dist/sqlite/rawQueryWorker.d.ts +22 -0
- package/dist/sqlite/rawQueryWorker.d.ts.map +1 -0
- package/dist/sqlite/rawQueryWorker.js +31 -0
- package/dist/sqlite/rawQueryWorker.js.map +1 -0
- package/dist/sqlite/rawQueryWorkerPool.d.ts +66 -0
- package/dist/sqlite/rawQueryWorkerPool.d.ts.map +1 -0
- package/dist/sqlite/rawQueryWorkerPool.js +142 -0
- package/dist/sqlite/rawQueryWorkerPool.js.map +1 -0
- package/dist/sqlite/schema.d.ts +2 -1
- package/dist/sqlite/schema.d.ts.map +1 -1
- package/dist/sqlite/schema.js +15 -1
- package/dist/sqlite/schema.js.map +1 -1
- package/dist/sqlite/write.d.ts.map +1 -1
- package/dist/sqlite/write.js +15 -0
- package/dist/sqlite/write.js.map +1 -1
- package/dist/sqlite-driver.d.ts +11 -0
- package/dist/sqlite-driver.d.ts.map +1 -1
- package/dist/sqlite-driver.js +28 -2
- package/dist/sqlite-driver.js.map +1 -1
- package/dist/sqlite.d.ts +1 -1
- package/dist/sqlite.d.ts.map +1 -1
- package/dist/sqlite.js +1 -1
- package/dist/sqlite.js.map +1 -1
- package/dist/util/bloomFilter.d.ts +3 -2
- package/dist/util/bloomFilter.d.ts.map +1 -1
- package/dist/util/bloomFilter.js +8 -8
- package/dist/util/bloomFilter.js.map +1 -1
- package/dist/util/concurrency.d.ts +1 -0
- package/dist/util/concurrency.d.ts.map +1 -1
- package/dist/util/concurrency.js +9 -2
- package/dist/util/concurrency.js.map +1 -1
- package/dist/util/confinedFile.d.ts +42 -2
- package/dist/util/confinedFile.d.ts.map +1 -1
- package/dist/util/confinedFile.js +114 -3
- package/dist/util/confinedFile.js.map +1 -1
- package/dist/util/errors.d.ts +2 -0
- package/dist/util/errors.d.ts.map +1 -1
- package/dist/util/errors.js +18 -0
- package/dist/util/errors.js.map +1 -1
- package/dist/util/git.d.ts +2 -0
- package/dist/util/git.d.ts.map +1 -1
- package/dist/util/git.js +174 -26
- package/dist/util/git.js.map +1 -1
- package/dist/util/identifiers.d.ts +75 -0
- package/dist/util/identifiers.d.ts.map +1 -0
- package/dist/util/identifiers.js +82 -0
- package/dist/util/identifiers.js.map +1 -0
- package/dist/util/paths.d.ts.map +1 -1
- package/dist/util/paths.js +45 -9
- package/dist/util/paths.js.map +1 -1
- package/dist/util/projectFiles.d.ts.map +1 -1
- package/dist/util/projectFiles.js +43 -14
- package/dist/util/projectFiles.js.map +1 -1
- package/dist/util/resolution/jvm.d.ts.map +1 -1
- package/dist/util/resolution/jvm.js +20 -9
- package/dist/util/resolution/jvm.js.map +1 -1
- package/dist/util/resolution/php.d.ts.map +1 -1
- package/dist/util/resolution/php.js +6 -5
- package/dist/util/resolution/php.js.map +1 -1
- package/dist/util/resolution/tsconfig.d.ts.map +1 -1
- package/dist/util/resolution/tsconfig.js +26 -12
- package/dist/util/resolution/tsconfig.js.map +1 -1
- package/dist/util/rustTestModules.d.ts.map +1 -1
- package/dist/util/rustTestModules.js +4 -2
- package/dist/util/rustTestModules.js.map +1 -1
- package/dist/util/specifiers.d.ts.map +1 -1
- package/dist/util/specifiers.js +10 -3
- package/dist/util/specifiers.js.map +1 -1
- package/dist/util/sqliteSchema.d.ts.map +1 -1
- package/dist/util/sqliteSchema.js +10 -1
- package/dist/util/sqliteSchema.js.map +1 -1
- package/dist/worker/nativeExtractWorker.d.ts +4 -2
- package/dist/worker/nativeExtractWorker.d.ts.map +1 -1
- package/dist/worker/nativeExtractWorker.js +12 -11
- package/dist/worker/nativeExtractWorker.js.map +1 -1
- package/docs/mcp.md +35 -14
- package/package.json +3 -3
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import type { RawSqlResult } from "./types.js";
|
|
2
|
+
import type { RawQueryWorkerTask } from "./rawQueryWorker.js";
|
|
3
|
+
export declare const MAX_RAW_SQL_QUERY_WORKERS = 2;
|
|
4
|
+
export type RawSqlQueryWorkerPool = {
|
|
5
|
+
run(task: RawQueryWorkerTask, options: {
|
|
6
|
+
signal: AbortSignal;
|
|
7
|
+
}): Promise<RawSqlResult>;
|
|
8
|
+
destroy(): Promise<void>;
|
|
9
|
+
};
|
|
10
|
+
type RawSqlQueryWorkerPoolFactory = () => RawSqlQueryWorkerPool;
|
|
11
|
+
export type RawSqlQueryWorkerLifecycleState = {
|
|
12
|
+
activeWorkers: number;
|
|
13
|
+
maxWorkers: number;
|
|
14
|
+
};
|
|
15
|
+
export declare class SqliteQueryDeadlineExceededError extends Error {
|
|
16
|
+
constructor(deadlineMs: number);
|
|
17
|
+
}
|
|
18
|
+
export declare class SqliteQueryCancelledError extends Error {
|
|
19
|
+
constructor();
|
|
20
|
+
}
|
|
21
|
+
export declare class SqliteQueryWorkerCleanupCapacityExceededError extends Error {
|
|
22
|
+
constructor(maxWorkers: number);
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Keeps raw-query worker cleanup bounded. A timed-out native SQLite call can delay
|
|
26
|
+
* `Piscina.destroy()` until its current synchronous step returns, so each slot remains
|
|
27
|
+
* reserved until that destroy promise settles instead of being forgotten in the background.
|
|
28
|
+
*/
|
|
29
|
+
export declare class RawSqlQueryWorkerLifecycle {
|
|
30
|
+
private readonly maxWorkers;
|
|
31
|
+
private readonly activeWorkerSlots;
|
|
32
|
+
constructor(maxWorkers?: number);
|
|
33
|
+
state(): RawSqlQueryWorkerLifecycleState;
|
|
34
|
+
run(task: RawQueryWorkerTask, deadlineMs: number, signal: AbortSignal | undefined, createPool: RawSqlQueryWorkerPoolFactory): Promise<RawSqlResult>;
|
|
35
|
+
}
|
|
36
|
+
export declare function getRawSqlQueryWorkerLifecycleState(): RawSqlQueryWorkerLifecycleState;
|
|
37
|
+
/** Resolves the compiled worker entry the same way `queryIndexWorker.js` is resolved:
|
|
38
|
+
* a compiled sibling next to this module (production/standalone layouts, where the
|
|
39
|
+
* whole `dist/` tree ships), falling back to the package-root-relative compiled path
|
|
40
|
+
* (vitest running this module from `src/`, where only `dist/` is built). */
|
|
41
|
+
export declare function resolveRawSqlQueryWorkerPath(): string;
|
|
42
|
+
/**
|
|
43
|
+
* Runs a single bounded raw SQL read in a dedicated worker thread with a hard execution
|
|
44
|
+
* deadline. A fresh single-thread pool is created per call and destroyed afterward -
|
|
45
|
+
* matching the existing `prepareQueryIndexFilesInWorker` pattern - since `query_sqlite`
|
|
46
|
+
* calls are interactive, not a hot loop, and a persistent pool would need a shutdown hook
|
|
47
|
+
* this module has no access to register.
|
|
48
|
+
*
|
|
49
|
+
* On deadline expiry, Piscina rejects the caller after requesting worker termination, so
|
|
50
|
+
* the caller never waits longer than `deadlineMs` and the host event loop is never
|
|
51
|
+
* blocked by the query. A `terminate()` request cannot preempt a single already-in-flight
|
|
52
|
+
* synchronous native call: a query whose entire cost is inside one `sqlite3_step()`, such
|
|
53
|
+
* as a recursive CTE or a plan that must fully sort or scan before a first row, continues
|
|
54
|
+
* on its orphaned worker thread until that native call returns naturally.
|
|
55
|
+
*
|
|
56
|
+
* The caller does not wait for cleanup, but the lifecycle retains its worker slot until
|
|
57
|
+
* `pool.destroy()` settles. The bounded slot count makes delayed cleanup observable and
|
|
58
|
+
* prevents repeated cancellation from accumulating an unbounded number of workers.
|
|
59
|
+
* Concurrent read-only SQLite connections against the same file do not block each other,
|
|
60
|
+
* so the lingering background reader does not stop that subsequent query from succeeding.
|
|
61
|
+
* Process shutdown can still wait for a Worker blocked in native code, a `worker_threads`
|
|
62
|
+
* platform limit that is orthogonal to this function's prompt caller deadline.
|
|
63
|
+
*/
|
|
64
|
+
export declare function runRawSqlQueryInWorker(task: RawQueryWorkerTask, deadlineMs: number, signal?: AbortSignal): Promise<RawSqlResult>;
|
|
65
|
+
export {};
|
|
66
|
+
//# sourceMappingURL=rawQueryWorkerPool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rawQueryWorkerPool.d.ts","sourceRoot":"","sources":["../../src/sqlite/rawQueryWorkerPool.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAE9D,eAAO,MAAM,yBAAyB,IAAI,CAAC;AAE3C,MAAM,MAAM,qBAAqB,GAAG;IAClC,GAAG,CAAC,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE;QAAE,MAAM,EAAE,WAAW,CAAA;KAAE,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IACvF,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B,CAAC;AAEF,KAAK,4BAA4B,GAAG,MAAM,qBAAqB,CAAC;AAEhE,MAAM,MAAM,+BAA+B,GAAG;IAC5C,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,qBAAa,gCAAiC,SAAQ,KAAK;gBAC7C,UAAU,EAAE,MAAM;CAI/B;AAED,qBAAa,yBAA0B,SAAQ,KAAK;;CAKnD;AAED,qBAAa,6CAA8C,SAAQ,KAAK;gBAC1D,UAAU,EAAE,MAAM;CAM/B;AAED;;;;GAIG;AACH,qBAAa,0BAA0B;IAGzB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAFvC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAqB;gBAE1B,UAAU,SAA4B;IAEnE,KAAK,IAAI,+BAA+B;IAIlC,GAAG,CACP,IAAI,EAAE,kBAAkB,EACxB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,WAAW,GAAG,SAAS,EAC/B,UAAU,EAAE,4BAA4B,GACvC,OAAO,CAAC,YAAY,CAAC;CA+CzB;AAID,wBAAgB,kCAAkC,IAAI,+BAA+B,CAEpF;AAED;;;4EAG4E;AAC5E,wBAAgB,4BAA4B,IAAI,MAAM,CAUrD;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,kBAAkB,EACxB,UAAU,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,CAAC,CAcvB"}
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
import fs from "node:fs";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { fileURLToPath } from "node:url";
|
|
4
|
+
import { Piscina } from "piscina";
|
|
5
|
+
import { findPackageRoot } from "../util/packageInfo.js";
|
|
6
|
+
export const MAX_RAW_SQL_QUERY_WORKERS = 2;
|
|
7
|
+
export class SqliteQueryDeadlineExceededError extends Error {
|
|
8
|
+
constructor(deadlineMs) {
|
|
9
|
+
super(`SQLite query exceeded its ${deadlineMs}ms execution budget.`);
|
|
10
|
+
this.name = "SqliteQueryDeadlineExceededError";
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
export class SqliteQueryCancelledError extends Error {
|
|
14
|
+
constructor() {
|
|
15
|
+
super("SQLite query was cancelled.");
|
|
16
|
+
this.name = "SqliteQueryCancelledError";
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
export class SqliteQueryWorkerCleanupCapacityExceededError extends Error {
|
|
20
|
+
constructor(maxWorkers) {
|
|
21
|
+
super(`SQLite query worker capacity is exhausted: ${maxWorkers} active or cleaning-up worker${maxWorkers === 1 ? " is" : "s are"} using the available slots. Retry after a query completes or cleanup finishes.`);
|
|
22
|
+
this.name = "SqliteQueryWorkerCleanupCapacityExceededError";
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Keeps raw-query worker cleanup bounded. A timed-out native SQLite call can delay
|
|
27
|
+
* `Piscina.destroy()` until its current synchronous step returns, so each slot remains
|
|
28
|
+
* reserved until that destroy promise settles instead of being forgotten in the background.
|
|
29
|
+
*/
|
|
30
|
+
export class RawSqlQueryWorkerLifecycle {
|
|
31
|
+
maxWorkers;
|
|
32
|
+
activeWorkerSlots = new Set();
|
|
33
|
+
constructor(maxWorkers = MAX_RAW_SQL_QUERY_WORKERS) {
|
|
34
|
+
this.maxWorkers = maxWorkers;
|
|
35
|
+
}
|
|
36
|
+
state() {
|
|
37
|
+
return { activeWorkers: this.activeWorkerSlots.size, maxWorkers: this.maxWorkers };
|
|
38
|
+
}
|
|
39
|
+
async run(task, deadlineMs, signal, createPool) {
|
|
40
|
+
if (signal?.aborted)
|
|
41
|
+
throw new SqliteQueryCancelledError();
|
|
42
|
+
const deadlineSignal = AbortSignal.timeout(deadlineMs);
|
|
43
|
+
const combinedSignal = signal ? AbortSignal.any([signal, deadlineSignal]) : deadlineSignal;
|
|
44
|
+
if (this.activeWorkerSlots.size >= this.maxWorkers) {
|
|
45
|
+
throw new SqliteQueryWorkerCleanupCapacityExceededError(this.maxWorkers);
|
|
46
|
+
}
|
|
47
|
+
const slot = Symbol("raw-sql-query-worker");
|
|
48
|
+
this.activeWorkerSlots.add(slot);
|
|
49
|
+
let pool;
|
|
50
|
+
let cleanupInBackground = false;
|
|
51
|
+
try {
|
|
52
|
+
pool = createPool();
|
|
53
|
+
return await pool.run(task, { signal: combinedSignal });
|
|
54
|
+
}
|
|
55
|
+
catch (error) {
|
|
56
|
+
if (combinedSignal.aborted || (error instanceof Error && error.name === "AbortError")) {
|
|
57
|
+
cleanupInBackground = true;
|
|
58
|
+
if (signal?.aborted)
|
|
59
|
+
throw new SqliteQueryCancelledError();
|
|
60
|
+
throw new SqliteQueryDeadlineExceededError(deadlineMs);
|
|
61
|
+
}
|
|
62
|
+
throw error;
|
|
63
|
+
}
|
|
64
|
+
finally {
|
|
65
|
+
if (!pool) {
|
|
66
|
+
this.activeWorkerSlots.delete(slot);
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
const cleanup = pool.destroy();
|
|
70
|
+
if (cleanupInBackground) {
|
|
71
|
+
void cleanup.then(() => {
|
|
72
|
+
this.activeWorkerSlots.delete(slot);
|
|
73
|
+
}, () => {
|
|
74
|
+
this.activeWorkerSlots.delete(slot);
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
try {
|
|
79
|
+
await cleanup;
|
|
80
|
+
}
|
|
81
|
+
finally {
|
|
82
|
+
this.activeWorkerSlots.delete(slot);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
const rawSqlQueryWorkerLifecycle = new RawSqlQueryWorkerLifecycle();
|
|
90
|
+
export function getRawSqlQueryWorkerLifecycleState() {
|
|
91
|
+
return rawSqlQueryWorkerLifecycle.state();
|
|
92
|
+
}
|
|
93
|
+
/** Resolves the compiled worker entry the same way `queryIndexWorker.js` is resolved:
|
|
94
|
+
* a compiled sibling next to this module (production/standalone layouts, where the
|
|
95
|
+
* whole `dist/` tree ships), falling back to the package-root-relative compiled path
|
|
96
|
+
* (vitest running this module from `src/`, where only `dist/` is built). */
|
|
97
|
+
export function resolveRawSqlQueryWorkerPath() {
|
|
98
|
+
const selfDirectory = path.dirname(fileURLToPath(import.meta.url));
|
|
99
|
+
const sibling = path.resolve(selfDirectory, "rawQueryWorker.js");
|
|
100
|
+
if (fs.existsSync(sibling))
|
|
101
|
+
return sibling;
|
|
102
|
+
const packageRoot = findPackageRoot(selfDirectory);
|
|
103
|
+
const compiled = path.join(packageRoot, "dist", "sqlite", "rawQueryWorker.js");
|
|
104
|
+
if (fs.existsSync(compiled))
|
|
105
|
+
return compiled;
|
|
106
|
+
const bundled = path.join(packageRoot, "dist", "bin", "rawQueryWorker.js");
|
|
107
|
+
if (fs.existsSync(bundled))
|
|
108
|
+
return bundled;
|
|
109
|
+
throw new Error(`Raw SQLite query worker file not found: ${bundled}`);
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Runs a single bounded raw SQL read in a dedicated worker thread with a hard execution
|
|
113
|
+
* deadline. A fresh single-thread pool is created per call and destroyed afterward -
|
|
114
|
+
* matching the existing `prepareQueryIndexFilesInWorker` pattern - since `query_sqlite`
|
|
115
|
+
* calls are interactive, not a hot loop, and a persistent pool would need a shutdown hook
|
|
116
|
+
* this module has no access to register.
|
|
117
|
+
*
|
|
118
|
+
* On deadline expiry, Piscina rejects the caller after requesting worker termination, so
|
|
119
|
+
* the caller never waits longer than `deadlineMs` and the host event loop is never
|
|
120
|
+
* blocked by the query. A `terminate()` request cannot preempt a single already-in-flight
|
|
121
|
+
* synchronous native call: a query whose entire cost is inside one `sqlite3_step()`, such
|
|
122
|
+
* as a recursive CTE or a plan that must fully sort or scan before a first row, continues
|
|
123
|
+
* on its orphaned worker thread until that native call returns naturally.
|
|
124
|
+
*
|
|
125
|
+
* The caller does not wait for cleanup, but the lifecycle retains its worker slot until
|
|
126
|
+
* `pool.destroy()` settles. The bounded slot count makes delayed cleanup observable and
|
|
127
|
+
* prevents repeated cancellation from accumulating an unbounded number of workers.
|
|
128
|
+
* Concurrent read-only SQLite connections against the same file do not block each other,
|
|
129
|
+
* so the lingering background reader does not stop that subsequent query from succeeding.
|
|
130
|
+
* Process shutdown can still wait for a Worker blocked in native code, a `worker_threads`
|
|
131
|
+
* platform limit that is orthogonal to this function's prompt caller deadline.
|
|
132
|
+
*/
|
|
133
|
+
export async function runRawSqlQueryInWorker(task, deadlineMs, signal) {
|
|
134
|
+
const workerPath = resolveRawSqlQueryWorkerPath();
|
|
135
|
+
return await rawSqlQueryWorkerLifecycle.run(task, deadlineMs, signal, () => new Piscina({
|
|
136
|
+
filename: workerPath,
|
|
137
|
+
minThreads: 1,
|
|
138
|
+
maxThreads: 1,
|
|
139
|
+
idleTimeout: 5_000,
|
|
140
|
+
}));
|
|
141
|
+
}
|
|
142
|
+
//# sourceMappingURL=rawQueryWorkerPool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rawQueryWorkerPool.js","sourceRoot":"","sources":["../../src/sqlite/rawQueryWorkerPool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAIzD,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC;AAc3C,MAAM,OAAO,gCAAiC,SAAQ,KAAK;IACzD,YAAY,UAAkB;QAC5B,KAAK,CAAC,6BAA6B,UAAU,sBAAsB,CAAC,CAAC;QACrE,IAAI,CAAC,IAAI,GAAG,kCAAkC,CAAC;IACjD,CAAC;CACF;AAED,MAAM,OAAO,yBAA0B,SAAQ,KAAK;IAClD;QACE,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACrC,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;IAC1C,CAAC;CACF;AAED,MAAM,OAAO,6CAA8C,SAAQ,KAAK;IACtE,YAAY,UAAkB;QAC5B,KAAK,CACH,8CAA8C,UAAU,gCAAgC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,gFAAgF,CAC3M,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,+CAA+C,CAAC;IAC9D,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,OAAO,0BAA0B;IAGR;IAFZ,iBAAiB,GAAG,IAAI,GAAG,EAAU,CAAC;IAEvD,YAA6B,aAAa,yBAAyB;QAAtC,eAAU,GAAV,UAAU,CAA4B;IAAG,CAAC;IAEvE,KAAK;QACH,OAAO,EAAE,aAAa,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;IACrF,CAAC;IAED,KAAK,CAAC,GAAG,CACP,IAAwB,EACxB,UAAkB,EAClB,MAA+B,EAC/B,UAAwC;QAExC,IAAI,MAAM,EAAE,OAAO;YAAE,MAAM,IAAI,yBAAyB,EAAE,CAAC;QAC3D,MAAM,cAAc,GAAG,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACvD,MAAM,cAAc,GAAG,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;QAC3F,IAAI,IAAI,CAAC,iBAAiB,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACnD,MAAM,IAAI,6CAA6C,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC3E,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAC;QAC5C,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,IAAuC,CAAC;QAC5C,IAAI,mBAAmB,GAAG,KAAK,CAAC;QAEhC,IAAI,CAAC;YACH,IAAI,GAAG,UAAU,EAAE,CAAC;YACpB,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC;QAC1D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,cAAc,CAAC,OAAO,IAAI,CAAC,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC,EAAE,CAAC;gBACtF,mBAAmB,GAAG,IAAI,CAAC;gBAC3B,IAAI,MAAM,EAAE,OAAO;oBAAE,MAAM,IAAI,yBAAyB,EAAE,CAAC;gBAC3D,MAAM,IAAI,gCAAgC,CAAC,UAAU,CAAC,CAAC;YACzD,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACtC,CAAC;iBAAM,CAAC;gBACN,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;gBAC/B,IAAI,mBAAmB,EAAE,CAAC;oBACxB,KAAK,OAAO,CAAC,IAAI,CACf,GAAG,EAAE;wBACH,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBACtC,CAAC,EACD,GAAG,EAAE;wBACH,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBACtC,CAAC,CACF,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC;wBACH,MAAM,OAAO,CAAC;oBAChB,CAAC;4BAAS,CAAC;wBACT,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBACtC,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;CACF;AAED,MAAM,0BAA0B,GAAG,IAAI,0BAA0B,EAAE,CAAC;AAEpE,MAAM,UAAU,kCAAkC;IAChD,OAAO,0BAA0B,CAAC,KAAK,EAAE,CAAC;AAC5C,CAAC;AAED;;;4EAG4E;AAC5E,MAAM,UAAU,4BAA4B;IAC1C,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACnE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAAC;IACjE,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,OAAO,CAAC;IAC3C,MAAM,WAAW,GAAG,eAAe,CAAC,aAAa,CAAC,CAAC;IACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,mBAAmB,CAAC,CAAC;IAC/E,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,mBAAmB,CAAC,CAAC;IAC3E,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,OAAO,CAAC;IAC3C,MAAM,IAAI,KAAK,CAAC,2CAA2C,OAAO,EAAE,CAAC,CAAC;AACxE,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,IAAwB,EACxB,UAAkB,EAClB,MAAoB;IAEpB,MAAM,UAAU,GAAG,4BAA4B,EAAE,CAAC;IAClD,OAAO,MAAM,0BAA0B,CAAC,GAAG,CACzC,IAAI,EACJ,UAAU,EACV,MAAM,EACN,GAAG,EAAE,CACH,IAAI,OAAO,CAAmC;QAC5C,QAAQ,EAAE,UAAU;QACpB,UAAU,EAAE,CAAC;QACb,UAAU,EAAE,CAAC;QACb,WAAW,EAAE,KAAK;KACnB,CAAC,CACL,CAAC;AACJ,CAAC"}
|
package/dist/sqlite/schema.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { SqliteDatabase } from "../sqlite-driver.js";
|
|
2
|
-
export declare const SQLITE_SCHEMA_VERSION =
|
|
2
|
+
export declare const SQLITE_SCHEMA_VERSION = 3;
|
|
3
|
+
export declare const GRAPH_SNAPSHOT_RETENTION = 100;
|
|
3
4
|
export declare function readGraphSchemaVersion(db: SqliteDatabase): number;
|
|
4
5
|
export declare const ensureSchema: (db: SqliteDatabase) => void;
|
|
5
6
|
//# sourceMappingURL=schema.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/sqlite/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAG1D,eAAO,MAAM,qBAAqB,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/sqlite/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAG1D,eAAO,MAAM,qBAAqB,IAAI,CAAC;AACvC,eAAO,MAAM,wBAAwB,MAAM,CAAC;AAkB5C,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,cAAc,GAAG,MAAM,CAYjE;AA+JD,eAAO,MAAM,YAAY,GAAI,IAAI,cAAc,SAuE9C,CAAC"}
|
package/dist/sqlite/schema.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { toSqliteText } from "./common.js";
|
|
2
|
-
export const SQLITE_SCHEMA_VERSION =
|
|
2
|
+
export const SQLITE_SCHEMA_VERSION = 3;
|
|
3
|
+
export const GRAPH_SNAPSHOT_RETENTION = 100;
|
|
3
4
|
const GRAPH_SCHEMA_VERSION_KEY = "schema_version";
|
|
4
5
|
const hasColumn = (db, table, column) => {
|
|
5
6
|
const rows = db.prepare(`PRAGMA table_info(${table});`).raw().all();
|
|
@@ -46,6 +47,19 @@ function migrateGraphSchema(db, fromVersion) {
|
|
|
46
47
|
ensureSymbolsVisibilityColumn(db);
|
|
47
48
|
version = 2;
|
|
48
49
|
}
|
|
50
|
+
if (version < 3) {
|
|
51
|
+
db.exec(`
|
|
52
|
+
DELETE FROM graph_snapshot_files
|
|
53
|
+
WHERE snapshot_id NOT IN (
|
|
54
|
+
SELECT id FROM graph_snapshots ORDER BY created_at DESC, id DESC LIMIT ${GRAPH_SNAPSHOT_RETENTION}
|
|
55
|
+
);
|
|
56
|
+
DELETE FROM graph_snapshots
|
|
57
|
+
WHERE id NOT IN (
|
|
58
|
+
SELECT id FROM graph_snapshots ORDER BY created_at DESC, id DESC LIMIT ${GRAPH_SNAPSHOT_RETENTION}
|
|
59
|
+
);
|
|
60
|
+
`);
|
|
61
|
+
version = 3;
|
|
62
|
+
}
|
|
49
63
|
if (version !== fromVersion) {
|
|
50
64
|
writeGraphSchemaVersion(db, version);
|
|
51
65
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/sqlite/schema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC;AACvC,MAAM,wBAAwB,GAAG,gBAAgB,CAAC;AAElD,MAAM,SAAS,GAAG,CAAC,EAAkB,EAAE,KAAa,EAAE,MAAc,EAAW,EAAE;IAC/E,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,qBAAqB,KAAK,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;IACpE,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;YAAE,SAAS;QAClC,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1C,IAAI,IAAI,KAAK,MAAM;YAAE,OAAO,IAAI,CAAC;IACnC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,6BAA6B,GAAG,CAAC,EAAkB,EAAE,EAAE;IAC3D,IAAI,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,YAAY,CAAC;QAAE,OAAO;IACnD,EAAE,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;AAC7D,CAAC,CAAC;AAEF,MAAM,UAAU,sBAAsB,CAAC,EAAkB;IACvD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,gDAAgD,CAAC,CAAC,GAAG,CAAC,wBAAwB,
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/sqlite/schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"write.d.ts","sourceRoot":"","sources":["../../src/sqlite/write.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAI/E,eAAO,MAAM,4CAA4C,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"write.d.ts","sourceRoot":"","sources":["../../src/sqlite/write.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAI/E,eAAO,MAAM,4CAA4C,gCAAgC,CAAC;AAyP1F,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAyCjF;AAED,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAqExF"}
|
package/dist/sqlite/write.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import {} from "../graphs/symbol-graph.js";
|
|
2
2
|
import { execRowsParams } from "./common.js";
|
|
3
3
|
import { withSqliteDatabase } from "./database.js";
|
|
4
|
+
import { GRAPH_SNAPSHOT_RETENTION } from "./schema.js";
|
|
4
5
|
export const SQLITE_ARTIFACT_FILE_SIGNATURES_METADATA_KEY = "artifact_file_signatures_v1";
|
|
5
6
|
function normalizeSqliteArtifactFileSignatures(signatures) {
|
|
6
7
|
const normalized = [...signatures].map((signature) => ({
|
|
@@ -187,6 +188,18 @@ const recordGraphSnapshot = (db, options) => {
|
|
|
187
188
|
fileStmt.run([snapshotId, row.file, row.kind]);
|
|
188
189
|
}
|
|
189
190
|
};
|
|
191
|
+
const pruneGraphSnapshots = (db) => {
|
|
192
|
+
db.exec(`
|
|
193
|
+
DELETE FROM graph_snapshot_files
|
|
194
|
+
WHERE snapshot_id NOT IN (
|
|
195
|
+
SELECT id FROM graph_snapshots ORDER BY created_at DESC, id DESC LIMIT ${GRAPH_SNAPSHOT_RETENTION}
|
|
196
|
+
);
|
|
197
|
+
DELETE FROM graph_snapshots
|
|
198
|
+
WHERE id NOT IN (
|
|
199
|
+
SELECT id FROM graph_snapshots ORDER BY created_at DESC, id DESC LIMIT ${GRAPH_SNAPSHOT_RETENTION}
|
|
200
|
+
);
|
|
201
|
+
`);
|
|
202
|
+
};
|
|
190
203
|
const deleteUnreferencedExternalFiles = (db) => {
|
|
191
204
|
db.exec(`
|
|
192
205
|
DELETE FROM files
|
|
@@ -230,6 +243,7 @@ export async function writeGraphSqlite(options) {
|
|
|
230
243
|
symbolNodes: options.symbolGraph.nodes.size,
|
|
231
244
|
symbolEdges: options.symbolGraph.edges.length,
|
|
232
245
|
});
|
|
246
|
+
pruneGraphSnapshots(db);
|
|
233
247
|
if (fileSignatures) {
|
|
234
248
|
writeArtifactFileSignatures(db, fileSignatures);
|
|
235
249
|
}
|
|
@@ -298,6 +312,7 @@ export async function updateGraphSqlite(options) {
|
|
|
298
312
|
symbolNodes: changedSymbolNodes.length,
|
|
299
313
|
symbolEdges: symbolEdges.length,
|
|
300
314
|
});
|
|
315
|
+
pruneGraphSnapshots(db);
|
|
301
316
|
});
|
|
302
317
|
runUpdate();
|
|
303
318
|
db.exec("ANALYZE;");
|
package/dist/sqlite/write.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"write.js","sourceRoot":"","sources":["../../src/sqlite/write.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"write.js","sourceRoot":"","sources":["../../src/sqlite/write.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqC,MAAM,2BAA2B,CAAC;AAI9E,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AACvD,MAAM,CAAC,MAAM,4CAA4C,GAAG,6BAA6B,CAAC;AAQ1F,SAAS,qCAAqC,CAC5C,UAAiD;IAEjD,MAAM,UAAU,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QACrD,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,OAAO,EAAE,SAAS,CAAC,OAAO;KAC3B,CAAC,CAAC,CAAC;IACJ,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IACtE,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,2BAA2B,CAAC,EAAkB,EAAE,UAAkD;IACzG,EAAE,CAAC,OAAO,CAAC,mEAAmE,CAAC,CAAC,GAAG,CAAC;QAClF,4CAA4C;QAC5C,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;KAC3B,CAAC,CAAC;AACL,CAAC;AAED,SAAS,2BAA2B,CAAC,EAAkB;IACrD,EAAE,CAAC,OAAO,CAAC,2CAA2C,CAAC,CAAC,GAAG,CAAC,CAAC,4CAA4C,CAAC,CAAC,CAAC;AAC9G,CAAC;AAED,MAAM,wBAAwB,GAAG,CAAC,WAAwB,EAAE,UAAuB,EAAe,EAAE;IAClG,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9B,KAAK,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,WAAW,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;QACrD,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAEF,MAAM,wBAAwB,GAAG,CAAC,WAAwB,EAAE,UAAuB,EAAE,EAAE;IACrF,MAAM,QAAQ,GAAG,EAAE,CAAC;IACpB,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,KAAK,EAAE,CAAC;QACrC,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClD,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC9C,IAAI,CAAC,QAAQ,IAAI,CAAC,MAAM;YAAE,SAAS;QACnC,IAAI,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YACjE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAEF,MAAM,sBAAsB,GAAG,CAAC,SAAgB,EAAE,UAAuB,EAAE,EAAE,CAC3E,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAE9D,MAAM,4BAA4B,GAAG,CAAC,WAAwB,EAAE,SAAsB,EAAE,EAAE;IACxF,MAAM,QAAQ,GAAG,EAAE,CAAC;IACpB,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,KAAK,EAAE,CAAC;QACrC,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;YACvD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,EAAkB,EAAE,KAAmD,EAAE,EAAE;IAC9F,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,iEAAiE,CAAC,CAAC;IAC3F,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CACxB,OAAqD,EACP,EAAE;IAChD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAmB,CAAC;IAC1C,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;QAC3C,CAAC;aAAM,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YAC5B,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC;QACxD,IAAI;QACJ,UAAU;KACX,CAAC,CAAC,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,EAAkB,EAAE,KAAmB,EAAE,EAAE;IAChE,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CACrB,sIAAsI,CACvI,CAAC;IACF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,GAAG,CAAC;YACP,IAAI,CAAC,EAAE;YACP,IAAI,CAAC,IAAI;YACT,IAAI,CAAC,IAAI;YACT,IAAI,CAAC,IAAI;YACT,IAAI,CAAC,SAAS,IAAI,IAAI;YACtB,IAAI,CAAC,QAAQ,IAAI,IAAI;YACrB,IAAI,CAAC,UAAU,IAAI,IAAI;YACvB,IAAI,CAAC,UAAU,IAAI,IAAI;SACxB,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,EAAkB,EAAE,KAAqB,EAAE,EAAE;IACpE,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CACrB,8FAA8F,CAC/F,CAAC;IACF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;QACrE,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/E,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,EAAkB,EAAE,KAA2B,EAAE,EAAE;IAC5E,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,oEAAoE,CAAC,CAAC;IAC9F,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC;IACrD,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,sBAAsB,GAAG,CAAC,EAAkB,EAAE,EAAE;IACpD,EAAE,CAAC,IAAI,CAAC;;;;;GAKP,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,CAAC,EAAkB,EAAE,KAAe,EAAY,EAAE;IAC9E,IAAI,CAAC,KAAK,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IAC7B,MAAM,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrD,MAAM,GAAG,GAAG,yCAAyC,YAAY,IAAI,CAAC;IACtE,MAAM,MAAM,GAAG,cAAc,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;IAC9C,OAAO,MAAM;SACV,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACX,MAAM,EAAE,GAAG,OAAO,GAAG,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACpD,OAAO,EAAE,IAAI,IAAI,CAAC;IACpB,CAAC,CAAC;SACD,MAAM,CAAC,CAAC,EAAE,EAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACxC,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,EAAkB,EAAE,GAAa,EAAE,EAAE;IAC9D,IAAI,CAAC,GAAG,CAAC,MAAM;QAAE,OAAO;IACxB,MAAM,YAAY,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnD,EAAE,CAAC,OAAO,CAAC,8CAA8C,YAAY,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACpF,EAAE,CAAC,OAAO,CAAC,4CAA4C,YAAY,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAClF,EAAE,CAAC,OAAO,CAAC,oCAAoC,YAAY,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAC5E,CAAC,CAAC;AAEF,MAAM,uBAAuB,GAAG,CAAC,EAAkB,EAAE,KAAe,EAAE,EAAE;IACtE,IAAI,CAAC,KAAK,CAAC,MAAM;QAAE,OAAO;IAC1B,MAAM,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrD,EAAE,CAAC,OAAO,CAAC,8CAA8C,YAAY,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACxF,CAAC,CAAC;AAEF,MAAM,sBAAsB,GAAG,CAAC,EAAkB,EAAE,KAAe,EAAE,EAAE;IACrE,IAAI,CAAC,KAAK,CAAC,MAAM;QAAE,OAAO;IAC1B,MAAM,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrD,EAAE,CAAC,OAAO,CAAC,iEAAiE,YAAY,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAC3G,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,EAAkB,EAAE,KAAe,EAAE,EAAE;IAChE,IAAI,CAAC,KAAK,CAAC,MAAM;QAAE,OAAO;IAC1B,MAAM,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrD,EAAE,CAAC,OAAO,CAAC,oCAAoC,YAAY,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAC1B,EAAkB,EAClB,OAQC,EACD,EAAE;IACF,MAAM,YAAY,GAAG,EAAE,CAAC,OAAO,CAAC;;;;;;;;;uCASK,CAAC,CAAC;IACvC,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC;QAC9B,IAAI,CAAC,GAAG,EAAE;QACV,OAAO,CAAC,IAAI;QACZ,OAAO,CAAC,YAAY,CAAC,MAAM;QAC3B,OAAO,CAAC,YAAY,CAAC,MAAM;QAC3B,OAAO,CAAC,SAAS;QACjB,OAAO,CAAC,SAAS;QACjB,OAAO,CAAC,WAAW;QACnB,OAAO,CAAC,WAAW;KACpB,CAAC,CAAC;IACH,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAG;QACf,GAAG,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACrC,IAAI;YACJ,IAAI,EAAE,SAAkB;SACzB,CAAC,CAAC;QACH,GAAG,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACrC,IAAI;YACJ,IAAI,EAAE,SAAkB;SACzB,CAAC,CAAC;KACJ,CAAC;IACF,IAAI,CAAC,QAAQ,CAAC,MAAM;QAAE,OAAO;IAC7B,MAAM,QAAQ,GAAG,EAAE,CAAC,OAAO,CACzB,0FAA0F,CAC3F,CAAC;IACF,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,QAAQ,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IACjD,CAAC;AACH,CAAC,CAAC;AACF,MAAM,mBAAmB,GAAG,CAAC,EAAkB,EAAQ,EAAE;IACvD,EAAE,CAAC,IAAI,CAAC;;;+EAGqE,wBAAwB;;;;+EAIxB,wBAAwB;;GAEpG,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,+BAA+B,GAAG,CAAC,EAAkB,EAAE,EAAE;IAC7D,EAAE,CAAC,IAAI,CAAC;;;;;;;;GAQP,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,OAA2B;IAChE,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc;QAC3C,CAAC,CAAC,qCAAqC,CAAC,OAAO,CAAC,cAAc,CAAC;QAC/D,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,kBAAkB,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE;QAClD,MAAM,SAAS,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE;YACpC,sBAAsB,CAAC,EAAE,CAAC,CAAC;YAC3B,MAAM,WAAW,GAAiD,EAAE,CAAC;YACrE,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;gBAC3C,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;YACtD,CAAC;YACD,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;gBAC3C,IAAI,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;oBAChC,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC7D,CAAC;qBAAM,CAAC;oBACN,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC9D,CAAC;YACH,CAAC;YACD,WAAW,CAAC,EAAE,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC;YAChD,eAAe,CAAC,EAAE,EAAE,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAC7C,aAAa,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAC3D,iBAAiB,CAAC,EAAE,EAAE,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YACjD,mBAAmB,CAAC,EAAE,EAAE;gBACtB,IAAI,EAAE,MAAM;gBACZ,YAAY,EAAE,EAAE;gBAChB,YAAY,EAAE,EAAE;gBAChB,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI;gBACvC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM;gBACzC,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI;gBAC3C,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM;aAC9C,CAAC,CAAC;YACH,mBAAmB,CAAC,EAAE,CAAC,CAAC;YACxB,IAAI,cAAc,EAAE,CAAC;gBACnB,2BAA2B,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;YAClD,CAAC;iBAAM,CAAC;gBACN,2BAA2B,CAAC,EAAE,CAAC,CAAC;YAClC,CAAC;QACH,CAAC,CAAC,CAAC;QACH,SAAS,EAAE,CAAC;QACZ,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACtB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,OAAiC;IACvE,MAAM,kBAAkB,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE;QAClD,MAAM,SAAS,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE;YACpC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YACjD,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC;YACvD,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,UAAU,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC;YAC3D,MAAM,YAAY,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC;YAErC,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;YACjE,iBAAiB,CAAC,EAAE,EAAE,gBAAgB,CAAC,CAAC;YACxC,uBAAuB,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;YAC1C,sBAAsB,CAAC,EAAE,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;YAC5C,iBAAiB,CAAC,EAAE,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;YAEvC,MAAM,WAAW,GAAiD,EAAE,CAAC;YACrE,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;gBAC9B,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;YACtD,CAAC;YAED,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;gBAC3C,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;oBAAE,SAAS;gBACzC,IAAI,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;oBAChC,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC7D,CAAC;qBAAM,CAAC;oBACN,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC9D,CAAC;YACH,CAAC;YAED,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;gBACvB,WAAW,CAAC,EAAE,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC;YAClD,CAAC;YAED,MAAM,gBAAgB,GAAG,wBAAwB,CAAC,OAAO,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;YACnF,MAAM,kBAAkB,GAAG,CAAC,GAAG,gBAAgB,CAAC;iBAC7C,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;iBAC9C,MAAM,CAAC,CAAC,IAAI,EAAsB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAChD,IAAI,kBAAkB,CAAC,MAAM,EAAE,CAAC;gBAC9B,aAAa,CAAC,EAAE,EAAE,kBAAkB,CAAC,CAAC;YACxC,CAAC;YAED,MAAM,SAAS,GAAG,sBAAsB,CAAC,OAAO,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;YACxE,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;gBACrB,eAAe,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;YACjC,CAAC;YAED,MAAM,WAAW,GAAG,OAAO,CAAC,aAAa;gBACvC,CAAC,CAAC,4BAA4B,CAAC,OAAO,CAAC,WAAW,EAAE,gBAAgB,CAAC;gBACrE,CAAC,CAAC,wBAAwB,CAAC,OAAO,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;YAC9D,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;gBACvB,iBAAiB,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;YACrC,CAAC;YAED,+BAA+B,CAAC,EAAE,CAAC,CAAC;YACpC,2BAA2B,CAAC,EAAE,CAAC,CAAC;YAEhC,mBAAmB,CAAC,EAAE,EAAE;gBACtB,IAAI,EAAE,aAAa;gBACnB,YAAY,EAAE,CAAC,GAAG,UAAU,CAAC;gBAC7B,YAAY,EAAE,CAAC,GAAG,UAAU,CAAC;gBAC7B,SAAS,EAAE,UAAU,CAAC,IAAI;gBAC1B,SAAS,EAAE,SAAS,CAAC,MAAM;gBAC3B,WAAW,EAAE,kBAAkB,CAAC,MAAM;gBACtC,WAAW,EAAE,WAAW,CAAC,MAAM;aAChC,CAAC,CAAC;YACH,mBAAmB,CAAC,EAAE,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;QACH,SAAS,EAAE,CAAC;QACZ,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACtB,CAAC,CAAC,CAAC;AACL,CAAC"}
|
package/dist/sqlite-driver.d.ts
CHANGED
|
@@ -5,6 +5,16 @@ export type SqliteRow = Record<string, unknown>;
|
|
|
5
5
|
export type SqliteRawRow = unknown[];
|
|
6
6
|
export type SqliteRunResult = StatementResultingChanges;
|
|
7
7
|
export type SqliteColumn = StatementColumnMetadata;
|
|
8
|
+
type SqliteConstants = {
|
|
9
|
+
SQLITE_DENY?: number;
|
|
10
|
+
SQLITE_FUNCTION?: number;
|
|
11
|
+
SQLITE_OK?: number;
|
|
12
|
+
SQLITE_PRAGMA?: number;
|
|
13
|
+
SQLITE_READ?: number;
|
|
14
|
+
SQLITE_RECURSIVE?: number;
|
|
15
|
+
SQLITE_SELECT?: number;
|
|
16
|
+
SQLITE_TRANSACTION?: number;
|
|
17
|
+
};
|
|
8
18
|
type SqliteParameterInput = SqliteValue | readonly SqliteValue[];
|
|
9
19
|
type NodeSqliteStatement = StatementSync & {
|
|
10
20
|
columns: () => StatementColumnMetadata[];
|
|
@@ -12,6 +22,7 @@ type NodeSqliteStatement = StatementSync & {
|
|
|
12
22
|
};
|
|
13
23
|
export declare function getNodeSqliteLoadError(): Error | undefined;
|
|
14
24
|
export declare function isNodeSqliteUnavailableError(error: unknown): boolean;
|
|
25
|
+
export declare function canInstallReadonlyAuthorizer(constants: SqliteConstants): constants is Required<SqliteConstants>;
|
|
15
26
|
export declare class SqliteStatement {
|
|
16
27
|
private readonly statement;
|
|
17
28
|
private readonly returnArrays;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite-driver.d.ts","sourceRoot":"","sources":["../src/sqlite-driver.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,KAAK,EAAgB,uBAAuB,EAAE,yBAAyB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAGnH,MAAM,MAAM,WAAW,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,eAAe,CAAC;AACnF,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAChD,MAAM,MAAM,YAAY,GAAG,OAAO,EAAE,CAAC;AACrC,MAAM,MAAM,eAAe,GAAG,yBAAyB,CAAC;AACxD,MAAM,MAAM,YAAY,GAAG,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"sqlite-driver.d.ts","sourceRoot":"","sources":["../src/sqlite-driver.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,KAAK,EAAgB,uBAAuB,EAAE,yBAAyB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAGnH,MAAM,MAAM,WAAW,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,eAAe,CAAC;AACnF,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAChD,MAAM,MAAM,YAAY,GAAG,OAAO,EAAE,CAAC;AACrC,MAAM,MAAM,eAAe,GAAG,yBAAyB,CAAC;AACxD,MAAM,MAAM,YAAY,GAAG,uBAAuB,CAAC;AAEnD,KAAK,eAAe,GAAG;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC;AASF,KAAK,oBAAoB,GAAG,WAAW,GAAG,SAAS,WAAW,EAAE,CAAC;AAIjE,KAAK,mBAAmB,GAAG,aAAa,GAAG;IACzC,OAAO,EAAE,MAAM,uBAAuB,EAAE,CAAC;IACzC,eAAe,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;CAC7C,CAAC;AA4BF,wBAAgB,sBAAsB,IAAI,KAAK,GAAG,SAAS,CAQ1D;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAKpE;AAaD,wBAAgB,4BAA4B,CAAC,SAAS,EAAE,eAAe,GAAG,SAAS,IAAI,QAAQ,CAAC,eAAe,CAAC,CAE/G;AA8BD,qBAAa,eAAe;IAExB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,YAAY;gBADZ,SAAS,EAAE,mBAAmB,EAC9B,YAAY,UAAQ;IAKvC,GAAG,IAAI,eAAe;IAItB,GAAG,CAAC,GAAG,MAAM,EAAE,oBAAoB,EAAE,GAAG,SAAS,EAAE,GAAG,YAAY,EAAE;IAIpE,GAAG,CAAC,GAAG,MAAM,EAAE,oBAAoB,EAAE,GAAG,SAAS,GAAG,YAAY,GAAG,SAAS;IAI5E,OAAO,CAAC,GAAG,MAAM,EAAE,oBAAoB,EAAE,GAAG,QAAQ,CAAC,SAAS,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC;IAIxF,GAAG,CAAC,GAAG,MAAM,EAAE,oBAAoB,EAAE,GAAG,eAAe;IAIvD,OAAO,IAAI,YAAY,EAAE;CAG1B;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,EAAE,CAA6B;IAChD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsC;gBAErD,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE;IAkBlF,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAMvB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAIzB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe;IAQrC,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC;IAcpC,KAAK,IAAI,IAAI;CAId;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAS7D"}
|
package/dist/sqlite-driver.js
CHANGED
|
@@ -2,6 +2,13 @@ import { createRequire } from "node:module";
|
|
|
2
2
|
import { errorMessage } from "./util/errors.js";
|
|
3
3
|
const requireNodeModule = createRequire(import.meta.url);
|
|
4
4
|
let sqliteModule;
|
|
5
|
+
let reportedReadonlyAuthorizerDegradation = false;
|
|
6
|
+
function reportReadonlyAuthorizerDegraded() {
|
|
7
|
+
if (reportedReadonlyAuthorizerDegradation)
|
|
8
|
+
return;
|
|
9
|
+
reportedReadonlyAuthorizerDegradation = true;
|
|
10
|
+
console.error("[codegraph] node:sqlite read-only authorizer is unavailable or incomplete; relying on connection readOnly enforcement.");
|
|
11
|
+
}
|
|
5
12
|
let sqliteLoadError;
|
|
6
13
|
function loadNodeSqlite() {
|
|
7
14
|
if (sqliteModule)
|
|
@@ -33,12 +40,26 @@ export function isNodeSqliteUnavailableError(error) {
|
|
|
33
40
|
const message = errorMessage(error);
|
|
34
41
|
return /node:sqlite|No such built-in module:\s*node:sqlite|setReturnArrays is not a function|columns is not a function/i.test(message);
|
|
35
42
|
}
|
|
43
|
+
const READONLY_AUTHORIZER_CONSTANTS = [
|
|
44
|
+
"SQLITE_DENY",
|
|
45
|
+
"SQLITE_FUNCTION",
|
|
46
|
+
"SQLITE_OK",
|
|
47
|
+
"SQLITE_PRAGMA",
|
|
48
|
+
"SQLITE_READ",
|
|
49
|
+
"SQLITE_RECURSIVE",
|
|
50
|
+
"SQLITE_SELECT",
|
|
51
|
+
"SQLITE_TRANSACTION",
|
|
52
|
+
];
|
|
53
|
+
export function canInstallReadonlyAuthorizer(constants) {
|
|
54
|
+
return READONLY_AUTHORIZER_CONSTANTS.every((name) => typeof constants[name] === "number");
|
|
55
|
+
}
|
|
36
56
|
function isReadOnlyAllowedAction(actionCode, constants) {
|
|
37
57
|
return (actionCode === constants.SQLITE_FUNCTION ||
|
|
38
58
|
actionCode === constants.SQLITE_PRAGMA ||
|
|
39
59
|
actionCode === constants.SQLITE_READ ||
|
|
40
60
|
actionCode === constants.SQLITE_SELECT ||
|
|
41
|
-
actionCode === constants.SQLITE_TRANSACTION
|
|
61
|
+
actionCode === constants.SQLITE_TRANSACTION ||
|
|
62
|
+
actionCode === constants.SQLITE_RECURSIVE);
|
|
42
63
|
}
|
|
43
64
|
const isSqliteValueArray = (value) => Array.isArray(value);
|
|
44
65
|
const normalizeParams = (params) => {
|
|
@@ -94,7 +115,12 @@ export class SqliteDatabase {
|
|
|
94
115
|
});
|
|
95
116
|
if (options?.readonly) {
|
|
96
117
|
const { constants } = sqlite;
|
|
97
|
-
this.db.setAuthorizer
|
|
118
|
+
if (this.db.setAuthorizer && canInstallReadonlyAuthorizer(constants)) {
|
|
119
|
+
this.db.setAuthorizer((actionCode) => isReadOnlyAllowedAction(actionCode, constants) ? constants.SQLITE_OK : constants.SQLITE_DENY);
|
|
120
|
+
}
|
|
121
|
+
else {
|
|
122
|
+
reportReadonlyAuthorizerDegraded();
|
|
123
|
+
}
|
|
98
124
|
}
|
|
99
125
|
}
|
|
100
126
|
exec(sql) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite-driver.js","sourceRoot":"","sources":["../src/sqlite-driver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG5C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"sqlite-driver.js","sourceRoot":"","sources":["../src/sqlite-driver.ts"],"names":[],"mappings":"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"}
|
package/dist/sqlite.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export type { GraphQueryResult, RawSqlResult, SqliteGraphOptions, SqliteGraphUpdateOptions } from "./sqlite/types.js";
|
|
2
2
|
export { SQLITE_ARTIFACT_FILE_SIGNATURES_METADATA_KEY, writeGraphSqlite, updateGraphSqlite } from "./sqlite/write.js";
|
|
3
|
-
export { queryGraphSqlite, queryGraphSqliteRaw } from "./sqlite/query.js";
|
|
3
|
+
export { queryGraphSqlite, queryGraphSqliteRaw, SqliteQueryCancelledError, SqliteQueryDeadlineExceededError, SqliteQueryWorkerCleanupCapacityExceededError, } from "./sqlite/query.js";
|
|
4
4
|
//# sourceMappingURL=sqlite.d.ts.map
|
package/dist/sqlite.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../src/sqlite.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AACtH,OAAO,EAAE,4CAA4C,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtH,OAAO,
|
|
1
|
+
{"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../src/sqlite.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AACtH,OAAO,EAAE,4CAA4C,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtH,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,yBAAyB,EACzB,gCAAgC,EAChC,6CAA6C,GAC9C,MAAM,mBAAmB,CAAC"}
|
package/dist/sqlite.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export { SQLITE_ARTIFACT_FILE_SIGNATURES_METADATA_KEY, writeGraphSqlite, updateGraphSqlite } from "./sqlite/write.js";
|
|
2
|
-
export { queryGraphSqlite, queryGraphSqliteRaw } from "./sqlite/query.js";
|
|
2
|
+
export { queryGraphSqlite, queryGraphSqliteRaw, SqliteQueryCancelledError, SqliteQueryDeadlineExceededError, SqliteQueryWorkerCleanupCapacityExceededError, } from "./sqlite/query.js";
|
|
3
3
|
//# sourceMappingURL=sqlite.js.map
|
package/dist/sqlite.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../src/sqlite.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,4CAA4C,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtH,OAAO,
|
|
1
|
+
{"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../src/sqlite.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,4CAA4C,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtH,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,yBAAyB,EACzB,gCAAgC,EAChC,6CAA6C,GAC9C,MAAM,mBAAmB,CAAC"}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
* Used to quickly determine if a file MIGHT contain references to a symbol,
|
|
5
5
|
* allowing us to skip files that definitely don't contain the symbol.
|
|
6
6
|
*/
|
|
7
|
+
import type { LanguageSupport } from "../languages.js";
|
|
7
8
|
/**
|
|
8
9
|
* Calculate optimal bloom filter parameters for a target false positive rate.
|
|
9
10
|
* @param expectedItems - Expected number of items to be added
|
|
@@ -76,10 +77,10 @@ export declare class BloomFilter {
|
|
|
76
77
|
* Build a bloom filter from source code with auto-sizing.
|
|
77
78
|
* Extracts all identifiers and adds them to an optimally-sized filter.
|
|
78
79
|
* @param source - The source code to analyze
|
|
79
|
-
* @param
|
|
80
|
+
* @param support - The language support for the source file
|
|
80
81
|
* @param falsePositiveRate - Target false positive rate (default: 0.01 = 1%)
|
|
81
82
|
*/
|
|
82
|
-
export declare function buildBloomFilterFromSource(source: string,
|
|
83
|
+
export declare function buildBloomFilterFromSource(source: string, support: Pick<LanguageSupport, "normalizeIdentifier">, falsePositiveRate?: number): BloomFilter;
|
|
83
84
|
/**
|
|
84
85
|
* Cache of bloom filters per file
|
|
85
86
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bloomFilter.d.ts","sourceRoot":"","sources":["../../src/util/bloomFilter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"bloomFilter.d.ts","sourceRoot":"","sources":["../../src/util/bloomFilter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAIvD;;;;;GAKG;AACH,wBAAgB,2BAA2B,CACzC,aAAa,EAAE,MAAM,EACrB,iBAAiB,SAAO,GACvB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAkBrC;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,SAAS,CAAa;IAE9B;;;;OAIG;gBACS,IAAI,SAAQ,EAAE,SAAS,SAAI;IAMvC;;;;OAIG;IACH,MAAM,CAAC,aAAa,CAAC,aAAa,EAAE,MAAM,EAAE,iBAAiB,SAAO,GAAG,WAAW;IAKlF;;OAEG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAevB;;OAEG;IACH,YAAY,IAAI,MAAM;IAItB;;OAEG;IACH,2BAA2B,IAAI,MAAM;IAIrC;;;OAGG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAanC;;OAEG;IACH,OAAO,CAAE,SAAS;IAYlB;;OAEG;IACH,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAO/C;;OAEG;IACH,QAAQ,IAAI,MAAM;IAIlB;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,WAAW;IAM/E;;OAEG;IACH,WAAW,IAAI;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE;CAGnD;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,IAAI,CAAC,eAAe,EAAE,qBAAqB,CAAC,EACrD,iBAAiB,SAAO,GACvB,WAAW,CAeb;AAED;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,OAAO,CAAkC;IAEjD,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI;IAI5C,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAI1C,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI1B;;;OAGG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE;IAiBtD,KAAK,IAAI,IAAI;IAIb,IAAI,IAAI,MAAM;CAGf"}
|
package/dist/util/bloomFilter.js
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
* Used to quickly determine if a file MIGHT contain references to a symbol,
|
|
5
5
|
* allowing us to skip files that definitely don't contain the symbol.
|
|
6
6
|
*/
|
|
7
|
+
import { BLOOM_FILTER_IDENTIFIER_SOURCE } from "./identifiers.js";
|
|
7
8
|
import { fileIdentityKey } from "./paths.js";
|
|
8
9
|
import crypto from "node:crypto";
|
|
9
10
|
/**
|
|
@@ -145,17 +146,16 @@ export class BloomFilter {
|
|
|
145
146
|
* Build a bloom filter from source code with auto-sizing.
|
|
146
147
|
* Extracts all identifiers and adds them to an optimally-sized filter.
|
|
147
148
|
* @param source - The source code to analyze
|
|
148
|
-
* @param
|
|
149
|
+
* @param support - The language support for the source file
|
|
149
150
|
* @param falsePositiveRate - Target false positive rate (default: 0.01 = 1%)
|
|
150
151
|
*/
|
|
151
|
-
export function buildBloomFilterFromSource(source,
|
|
152
|
-
|
|
153
|
-
// This is a fast heuristic - doesn't need to be perfect
|
|
154
|
-
const identifierPattern = /\b[a-zA-Z_$][a-zA-Z0-9_$]*\b/g;
|
|
152
|
+
export function buildBloomFilterFromSource(source, support, falsePositiveRate = 0.01) {
|
|
153
|
+
const identifierPattern = new RegExp(BLOOM_FILTER_IDENTIFIER_SOURCE, "gu");
|
|
155
154
|
const matches = source.match(identifierPattern);
|
|
156
|
-
|
|
157
|
-
const
|
|
158
|
-
|
|
155
|
+
const unique = new Set();
|
|
156
|
+
for (const identifier of matches ?? []) {
|
|
157
|
+
unique.add(support.normalizeIdentifier(identifier));
|
|
158
|
+
}
|
|
159
159
|
const filter = BloomFilter.createOptimal(unique.size || 100, falsePositiveRate);
|
|
160
160
|
for (const identifier of unique) {
|
|
161
161
|
filter.add(identifier);
|