@lzehrung/codegraph 2.1.1 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/codegraph-skill/codegraph/SKILL.md +25 -7
- 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/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 +8 -1
- package/dist/agent/explore.js.map +1 -1
- package/dist/agent/handles.d.ts.map +1 -1
- package/dist/agent/handles.js +2 -8
- package/dist/agent/handles.js.map +1 -1
- package/dist/agent/orient.js +2 -16
- 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/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/store.d.ts +5 -4
- package/dist/agent/query-index/store.d.ts.map +1 -1
- package/dist/agent/query-index/store.js +56 -18
- 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/renamePreview.d.ts.map +1 -1
- package/dist/agent/renamePreview.js +51 -2
- 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 +64 -18
- package/dist/agent/search.js.map +1 -1
- package/dist/agent/session.d.ts.map +1 -1
- package/dist/agent/session.js +4 -4
- package/dist/agent/session.js.map +1 -1
- package/dist/agent-tools.js +6 -6
- package/dist/agent-tools.js.map +1 -1
- package/dist/bin/cli.js +9242 -6344
- package/dist/bin/queryIndexWorker.js +437 -86
- package/dist/bin/rawQueryWorker.js +26 -2
- package/dist/chunking/chunkSplit.js +0 -15
- package/dist/chunking/chunkSplit.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/commandCatalog.d.ts.map +1 -1
- package/dist/cli/commandCatalog.js +1 -0
- package/dist/cli/commandCatalog.js.map +1 -1
- package/dist/cli/commandTable.d.ts.map +1 -1
- package/dist/cli/commandTable.js +18 -1
- package/dist/cli/commandTable.js.map +1 -1
- package/dist/cli/compileCache.d.ts +5 -0
- package/dist/cli/compileCache.d.ts.map +1 -1
- package/dist/cli/compileCache.js +18 -0
- package/dist/cli/compileCache.js.map +1 -1
- package/dist/cli/context.d.ts.map +1 -1
- package/dist/cli/context.js +0 -1
- package/dist/cli/context.js.map +1 -1
- package/dist/cli/graph.d.ts.map +1 -1
- package/dist/cli/graph.js +52 -16
- package/dist/cli/graph.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 +2 -1
- package/dist/cli/help.d.ts.map +1 -1
- package/dist/cli/help.js +23 -2
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/indexPolicy.d.ts.map +1 -1
- package/dist/cli/indexPolicy.js +1 -0
- package/dist/cli/indexPolicy.js.map +1 -1
- package/dist/cli/inspect.d.ts.map +1 -1
- package/dist/cli/inspect.js +5 -2
- 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/options.d.ts +1 -1
- package/dist/cli/options.d.ts.map +1 -1
- package/dist/cli/options.js +54 -5
- 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/rootPolicy.d.ts.map +1 -1
- package/dist/cli/rootPolicy.js +36 -3
- package/dist/cli/rootPolicy.js.map +1 -1
- package/dist/cli/server.d.ts +59 -0
- package/dist/cli/server.d.ts.map +1 -0
- package/dist/cli/server.js +906 -0
- package/dist/cli/server.js.map +1 -0
- package/dist/cli/skill.js +1 -1
- 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.d.ts +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +37 -16
- package/dist/cli.js.map +1 -1
- package/dist/documentLinks/check.d.ts.map +1 -1
- package/dist/documentLinks/check.js +20 -9
- package/dist/documentLinks/check.js.map +1 -1
- package/dist/documentLinks.d.ts.map +1 -1
- package/dist/documentLinks.js +0 -1
- package/dist/documentLinks.js.map +1 -1
- package/dist/drift/snapshot.js +1 -1
- package/dist/drift/snapshot.js.map +1 -1
- package/dist/duplicates/scoring.d.ts.map +1 -1
- 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.map +1 -1
- package/dist/duplicates/unitCache.js +1 -1
- package/dist/duplicates/unitCache.js.map +1 -1
- package/dist/duplicates/units.d.ts.map +1 -1
- package/dist/duplicates/units.js +8 -5
- package/dist/duplicates/units.js.map +1 -1
- package/dist/duplicates.d.ts.map +1 -1
- package/dist/duplicates.js +59 -6
- package/dist/duplicates.js.map +1 -1
- package/dist/graph-edge-collector.d.ts +0 -2
- package/dist/graph-edge-collector.d.ts.map +1 -1
- package/dist/graph-edge-collector.js +2 -4
- package/dist/graph-edge-collector.js.map +1 -1
- package/dist/graphs/edgeResolution.d.ts.map +1 -1
- package/dist/graphs/specifiers.d.ts +1 -1
- package/dist/graphs/specifiers.d.ts.map +1 -1
- package/dist/graphs/specifiers.js +1 -1
- 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 +18 -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 +4 -1
- 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/callCompatibility.d.ts +8 -1
- package/dist/impact/callCompatibility.d.ts.map +1 -1
- package/dist/impact/callCompatibility.js +55 -17
- 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/parse.d.ts.map +1 -1
- package/dist/impact/parse.js +10 -1
- package/dist/impact/parse.js.map +1 -1
- package/dist/impact/report-suggestions.d.ts.map +1 -1
- package/dist/impact/report-suggestions.js +17 -11
- 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 +1 -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.map +1 -1
- package/dist/impact/streaming.js +5 -5
- package/dist/impact/streaming.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 +14 -0
- package/dist/impact/types.d.ts.map +1 -1
- package/dist/impact/types.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/indexer/build-cache/manifest.d.ts +5 -3
- package/dist/indexer/build-cache/manifest.d.ts.map +1 -1
- package/dist/indexer/build-cache/manifest.js +122 -15
- package/dist/indexer/build-cache/manifest.js.map +1 -1
- package/dist/indexer/build-cache/module-cache.d.ts +1 -0
- package/dist/indexer/build-cache/module-cache.d.ts.map +1 -1
- package/dist/indexer/build-cache/module-cache.js +7 -1
- package/dist/indexer/build-cache/module-cache.js.map +1 -1
- package/dist/indexer/build-cache/options.d.ts.map +1 -1
- package/dist/indexer/build-cache/options.js +0 -2
- package/dist/indexer/build-cache/options.js.map +1 -1
- package/dist/indexer/build-cache/project-snapshot.d.ts +15 -11
- package/dist/indexer/build-cache/project-snapshot.d.ts.map +1 -1
- package/dist/indexer/build-cache/project-snapshot.js +167 -79
- package/dist/indexer/build-cache/project-snapshot.js.map +1 -1
- package/dist/indexer/build-cache/resolver-environment.d.ts +2 -2
- package/dist/indexer/build-cache/resolver-environment.d.ts.map +1 -1
- package/dist/indexer/build-cache/resolver-environment.js +33 -6
- package/dist/indexer/build-cache/resolver-environment.js.map +1 -1
- package/dist/indexer/build-cache.d.ts +2 -2
- package/dist/indexer/build-cache.d.ts.map +1 -1
- package/dist/indexer/build-cache.js +2 -2
- 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 +164 -84
- package/dist/indexer/build-index.js.map +1 -1
- package/dist/indexer/build-manifest.d.ts.map +1 -1
- package/dist/indexer/build-manifest.js +3 -0
- package/dist/indexer/build-manifest.js.map +1 -1
- package/dist/indexer/build-workers.d.ts +30 -3
- package/dist/indexer/build-workers.d.ts.map +1 -1
- package/dist/indexer/build-workers.js +111 -45
- package/dist/indexer/build-workers.js.map +1 -1
- package/dist/indexer/call-hierarchy.d.ts.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/python.d.ts.map +1 -1
- package/dist/indexer/imports/python.js +13 -8
- package/dist/indexer/imports/python.js.map +1 -1
- package/dist/indexer/imports.d.ts +0 -3
- package/dist/indexer/imports.d.ts.map +1 -1
- package/dist/indexer/imports.js +1 -1
- package/dist/indexer/imports.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/locals-and-exports.d.ts +2 -2
- package/dist/indexer/locals-and-exports.d.ts.map +1 -1
- package/dist/indexer/locals-and-exports.js +27 -3
- package/dist/indexer/locals-and-exports.js.map +1 -1
- package/dist/indexer/navigation-local.d.ts +2 -2
- package/dist/indexer/navigation-local.d.ts.map +1 -1
- package/dist/indexer/navigation-local.js +2 -2
- package/dist/indexer/navigation-local.js.map +1 -1
- package/dist/indexer/navigation-references.d.ts +1 -2
- package/dist/indexer/navigation-references.d.ts.map +1 -1
- package/dist/indexer/navigation-references.js +8 -2
- package/dist/indexer/navigation-references.js.map +1 -1
- package/dist/indexer/navigation.d.ts.map +1 -1
- package/dist/indexer/navigation.js +12 -4
- package/dist/indexer/navigation.js.map +1 -1
- package/dist/indexer/parse-context.d.ts +2 -5
- package/dist/indexer/parse-context.d.ts.map +1 -1
- package/dist/indexer/parse-context.js +34 -8
- package/dist/indexer/parse-context.js.map +1 -1
- package/dist/indexer/scope.d.ts +2 -2
- package/dist/indexer/scope.d.ts.map +1 -1
- package/dist/indexer/scope.js +1 -1
- package/dist/indexer/scope.js.map +1 -1
- package/dist/indexer/types.d.ts +5 -1
- package/dist/indexer/types.d.ts.map +1 -1
- package/dist/indexer.d.ts +3 -6
- package/dist/indexer.d.ts.map +1 -1
- package/dist/indexer.js +5 -8
- package/dist/indexer.js.map +1 -1
- package/dist/installer/locks.d.ts.map +1 -1
- package/dist/installer/locks.js +1 -3
- package/dist/installer/locks.js.map +1 -1
- package/dist/installer/registry.d.ts.map +1 -1
- package/dist/installer/registry.js +63 -32
- package/dist/installer/registry.js.map +1 -1
- package/dist/languages/definitions/c.d.ts.map +1 -1
- package/dist/languages/definitions/c.js +0 -1
- package/dist/languages/definitions/c.js.map +1 -1
- package/dist/languages/definitions/cFamily.d.ts +0 -1
- package/dist/languages/definitions/cFamily.d.ts.map +1 -1
- package/dist/languages/definitions/cFamily.js +0 -2
- package/dist/languages/definitions/cFamily.js.map +1 -1
- package/dist/languages/definitions/cpp.d.ts.map +1 -1
- package/dist/languages/definitions/cpp.js +0 -1
- package/dist/languages/definitions/cpp.js.map +1 -1
- package/dist/languages/definitions/csharp.d.ts.map +1 -1
- package/dist/languages/definitions/csharp.js +0 -2
- package/dist/languages/definitions/csharp.js.map +1 -1
- package/dist/languages/definitions/css.d.ts.map +1 -1
- package/dist/languages/definitions/css.js +0 -2
- package/dist/languages/definitions/css.js.map +1 -1
- package/dist/languages/definitions/go.d.ts.map +1 -1
- package/dist/languages/definitions/go.js +0 -2
- package/dist/languages/definitions/go.js.map +1 -1
- package/dist/languages/definitions/html.d.ts.map +1 -1
- package/dist/languages/definitions/html.js +0 -2
- package/dist/languages/definitions/html.js.map +1 -1
- package/dist/languages/definitions/htmlStub.d.ts.map +1 -1
- package/dist/languages/definitions/htmlStub.js +0 -2
- package/dist/languages/definitions/htmlStub.js.map +1 -1
- package/dist/languages/definitions/java.d.ts.map +1 -1
- package/dist/languages/definitions/java.js +0 -2
- package/dist/languages/definitions/java.js.map +1 -1
- package/dist/languages/definitions/javascript.d.ts.map +1 -1
- package/dist/languages/definitions/javascript.js +0 -2
- package/dist/languages/definitions/javascript.js.map +1 -1
- package/dist/languages/definitions/kotlin.d.ts.map +1 -1
- package/dist/languages/definitions/kotlin.js +0 -2
- package/dist/languages/definitions/kotlin.js.map +1 -1
- package/dist/languages/definitions/less.d.ts.map +1 -1
- package/dist/languages/definitions/less.js +0 -2
- package/dist/languages/definitions/less.js.map +1 -1
- package/dist/languages/definitions/php.d.ts.map +1 -1
- package/dist/languages/definitions/php.js +0 -2
- package/dist/languages/definitions/php.js.map +1 -1
- package/dist/languages/definitions/python.d.ts.map +1 -1
- package/dist/languages/definitions/python.js +0 -2
- package/dist/languages/definitions/python.js.map +1 -1
- package/dist/languages/definitions/ruby.d.ts.map +1 -1
- package/dist/languages/definitions/ruby.js +0 -2
- package/dist/languages/definitions/ruby.js.map +1 -1
- package/dist/languages/definitions/rust.d.ts.map +1 -1
- package/dist/languages/definitions/rust.js +0 -2
- package/dist/languages/definitions/rust.js.map +1 -1
- package/dist/languages/definitions/scss.d.ts.map +1 -1
- package/dist/languages/definitions/scss.js +0 -2
- package/dist/languages/definitions/scss.js.map +1 -1
- package/dist/languages/definitions/sql.d.ts.map +1 -1
- package/dist/languages/definitions/sql.js +0 -2
- package/dist/languages/definitions/sql.js.map +1 -1
- package/dist/languages/definitions/svelte.d.ts.map +1 -1
- package/dist/languages/definitions/svelte.js +0 -2
- package/dist/languages/definitions/svelte.js.map +1 -1
- package/dist/languages/definitions/swift.d.ts.map +1 -1
- package/dist/languages/definitions/swift.js +0 -2
- package/dist/languages/definitions/swift.js.map +1 -1
- package/dist/languages/definitions/typescript.d.ts.map +1 -1
- package/dist/languages/definitions/typescript.js +0 -3
- package/dist/languages/definitions/typescript.js.map +1 -1
- package/dist/languages/definitions/vue.d.ts.map +1 -1
- package/dist/languages/definitions/vue.js +0 -2
- package/dist/languages/definitions/vue.js.map +1 -1
- package/dist/languages/definitions/zig.d.ts.map +1 -1
- package/dist/languages/definitions/zig.js +0 -2
- package/dist/languages/definitions/zig.js.map +1 -1
- package/dist/languages/filePrep.d.ts +0 -2
- package/dist/languages/filePrep.d.ts.map +1 -1
- package/dist/languages/filePrep.js +0 -1
- package/dist/languages/filePrep.js.map +1 -1
- package/dist/languages/types.d.ts +19 -5
- package/dist/languages/types.d.ts.map +1 -1
- package/dist/languages.d.ts +1 -3
- package/dist/languages.d.ts.map +1 -1
- package/dist/languages.js +0 -7
- package/dist/languages.js.map +1 -1
- package/dist/lifecycle/manifest.d.ts.map +1 -1
- package/dist/lifecycle/manifest.js +21 -4
- package/dist/lifecycle/manifest.js.map +1 -1
- package/dist/mcp/handlers.d.ts +275 -0
- package/dist/mcp/handlers.d.ts.map +1 -0
- package/dist/mcp/handlers.js +657 -0
- package/dist/mcp/handlers.js.map +1 -0
- package/dist/mcp/httpTransport.d.ts +14 -0
- package/dist/mcp/httpTransport.d.ts.map +1 -0
- package/dist/mcp/httpTransport.js +185 -0
- package/dist/mcp/httpTransport.js.map +1 -0
- package/dist/mcp/legacySessions.d.ts +38 -0
- package/dist/mcp/legacySessions.d.ts.map +1 -0
- package/dist/mcp/legacySessions.js +264 -0
- package/dist/mcp/legacySessions.js.map +1 -0
- package/dist/mcp/lifecycleHealth.d.ts +12 -0
- package/dist/mcp/lifecycleHealth.d.ts.map +1 -0
- package/dist/mcp/lifecycleHealth.js +37 -0
- package/dist/mcp/lifecycleHealth.js.map +1 -0
- package/dist/mcp/protocol.d.ts +35 -0
- package/dist/mcp/protocol.d.ts.map +1 -0
- package/dist/mcp/protocol.js +577 -0
- package/dist/mcp/protocol.js.map +1 -0
- package/dist/mcp/server.d.ts +9 -291
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +13 -1517
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +8 -1
- package/dist/mcp/tools.js.map +1 -1
- package/dist/native/bindingLoader.d.ts +27 -0
- package/dist/native/bindingLoader.d.ts.map +1 -1
- package/dist/native/bindingLoader.js +18 -1
- package/dist/native/bindingLoader.js.map +1 -1
- package/dist/native/contracts.d.ts +59 -12
- package/dist/native/contracts.d.ts.map +1 -1
- package/dist/native/execution.d.ts +10 -1
- package/dist/native/execution.d.ts.map +1 -1
- package/dist/native/execution.js +59 -3
- package/dist/native/execution.js.map +1 -1
- package/dist/native/projectedTree.d.ts +20 -5
- package/dist/native/projectedTree.d.ts.map +1 -1
- package/dist/native/projectedTree.js +100 -48
- package/dist/native/projectedTree.js.map +1 -1
- package/dist/native/runtime.d.ts +47 -1
- package/dist/native/runtime.d.ts.map +1 -1
- package/dist/native/runtime.js +151 -8
- package/dist/native/runtime.js.map +1 -1
- package/dist/native/runtimeCache.d.ts +92 -0
- package/dist/native/runtimeCache.d.ts.map +1 -1
- package/dist/native/runtimeCache.js +443 -13
- package/dist/native/runtimeCache.js.map +1 -1
- package/dist/native/treeShape.d.ts +21 -0
- package/dist/native/treeShape.d.ts.map +1 -0
- package/dist/native/treeShape.js +28 -0
- package/dist/native/treeShape.js.map +1 -0
- package/dist/native/treeSitterNative.d.ts +3 -3
- package/dist/native/treeSitterNative.d.ts.map +1 -1
- package/dist/native/treeSitterNative.js +2 -2
- package/dist/native/treeSitterNative.js.map +1 -1
- package/dist/presets.d.ts +7 -1
- package/dist/presets.d.ts.map +1 -1
- package/dist/presets.js +4 -0
- package/dist/presets.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/deleted.js +2 -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 +19 -11
- 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 +7 -3
- package/dist/review.js.map +1 -1
- package/dist/sql/extractFacts.d.ts.map +1 -1
- package/dist/sql/extractFacts.js +1 -1
- package/dist/sql/extractFacts.js.map +1 -1
- 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 +27 -2
- package/dist/sqlite-driver.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 +1 -0
- package/dist/util/confinedFile.d.ts.map +1 -1
- package/dist/util/confinedFile.js +17 -5
- 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.map +1 -1
- package/dist/util/git.js +72 -7
- package/dist/util/git.js.map +1 -1
- package/dist/util/lazySymbols.js +1 -1
- package/dist/util/lazySymbols.js.map +1 -1
- 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/resolution/jvm.d.ts.map +1 -1
- package/dist/util/resolution/jvm.js +14 -8
- 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 +0 -1
- 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/resolution.d.ts.map +1 -1
- package/dist/util/resolution.js +5 -5
- package/dist/util/resolution.js.map +1 -1
- package/dist/worker/nativeExtractWorker.d.ts +14 -6
- package/dist/worker/nativeExtractWorker.d.ts.map +1 -1
- package/dist/worker/nativeExtractWorker.js +67 -14
- package/dist/worker/nativeExtractWorker.js.map +1 -1
- package/dist/worker/nativeWorkerPool.d.ts +4 -0
- package/dist/worker/nativeWorkerPool.d.ts.map +1 -1
- package/dist/worker/nativeWorkerPool.js +6 -1
- package/dist/worker/nativeWorkerPool.js.map +1 -1
- package/docs/mcp.md +22 -6
- package/package.json +3 -3
- package/dist/languages/definitions/loadLanguage.d.ts +0 -2
- package/dist/languages/definitions/loadLanguage.d.ts.map +0 -1
- package/dist/languages/definitions/loadLanguage.js +0 -2
- package/dist/languages/definitions/loadLanguage.js.map +0 -1
- package/dist/parserBackend.d.ts +0 -57
- package/dist/parserBackend.d.ts.map +0 -1
- package/dist/parserBackend.js +0 -33
- package/dist/parserBackend.js.map +0 -1
package/dist/native/runtime.js
CHANGED
|
@@ -1,17 +1,22 @@
|
|
|
1
|
+
import fs from "node:fs";
|
|
1
2
|
import path from "node:path";
|
|
2
3
|
import { createRequire } from "node:module";
|
|
3
4
|
import { fileURLToPath } from "node:url";
|
|
4
5
|
import { stringifyUnknown } from "../util/ast.js";
|
|
5
|
-
import { loadNativeBinding } from "./bindingLoader.js";
|
|
6
|
+
import { currentNativeTargetSuffix, findLocalNativeBinary, loadNativeBinding, nativeTargetSuffixFor, readPlatformPackage, } from "./bindingLoader.js";
|
|
7
|
+
import { lookupNativeRuntimeCacheEntry, recordNativeRuntimeCacheIdentity } from "./runtimeCache.js";
|
|
6
8
|
const require = createRequire(import.meta.url);
|
|
7
9
|
const localNativePackageRoot = path.resolve(path.dirname(fileURLToPath(import.meta.url)), "../../packages/codegraph-native");
|
|
8
10
|
const NATIVE_REQUIRED_ERROR_PREFIX = "native tree-sitter required by explicit option but unavailable";
|
|
9
11
|
let bindingState;
|
|
10
12
|
let loadedRuntimeFingerprint;
|
|
11
13
|
const disabledRuntimeFingerprints = new Map();
|
|
14
|
+
const cachedRuntimeFingerprints = new Map();
|
|
15
|
+
const cachedRuntimeIdentityValidations = new WeakMap();
|
|
12
16
|
export function __resetNativeTreeSitterBindingForTests() {
|
|
13
17
|
bindingState = undefined;
|
|
14
18
|
loadedRuntimeFingerprint = undefined;
|
|
19
|
+
cachedRuntimeFingerprints.clear();
|
|
15
20
|
}
|
|
16
21
|
export function isNativeTreeSitterDisabledByEnv(env = process.env) {
|
|
17
22
|
const rawValue = env.CODEGRAPH_DISABLE_NATIVE;
|
|
@@ -27,6 +32,7 @@ export function normalizeNativeRuntimeMode(mode) {
|
|
|
27
32
|
export function loadBinding() {
|
|
28
33
|
if (bindingState)
|
|
29
34
|
return bindingState;
|
|
35
|
+
cachedRuntimeFingerprints.clear();
|
|
30
36
|
const loaded = loadNativeBinding({
|
|
31
37
|
packageName: "@lzehrung/codegraph-native",
|
|
32
38
|
localPackageRoot: localNativePackageRoot,
|
|
@@ -34,12 +40,31 @@ export function loadBinding() {
|
|
|
34
40
|
resolveFn: require.resolve,
|
|
35
41
|
});
|
|
36
42
|
if (loaded.binding) {
|
|
43
|
+
const supportedLanguageIds = new Set(loaded.binding.supportedLanguageIds());
|
|
37
44
|
bindingState = {
|
|
38
45
|
loaded: true,
|
|
39
46
|
binding: loaded.binding,
|
|
40
|
-
supportedLanguageIds
|
|
47
|
+
supportedLanguageIds,
|
|
41
48
|
origin: loaded.origin,
|
|
42
49
|
};
|
|
50
|
+
// Now, and only now, every fact a later process needs to skip this work is known: the files
|
|
51
|
+
// were hashed and verified, the addon loaded, and it reported its languages. Recording only
|
|
52
|
+
// a verified load keeps the re-verification TTL honest - a fast-path hit must not renew it.
|
|
53
|
+
if (loaded.cacheEntry?.verified) {
|
|
54
|
+
recordNativeRuntimeCacheIdentity({
|
|
55
|
+
sourcePath: loaded.cacheEntry.sourcePath,
|
|
56
|
+
loadedPath: loaded.cacheEntry.loadedPath,
|
|
57
|
+
cacheKey: loaded.cacheEntry.cacheKey,
|
|
58
|
+
sha256: loaded.cacheEntry.sha256,
|
|
59
|
+
sourceSize: loaded.cacheEntry.sourceSize,
|
|
60
|
+
sourceMtimeMs: loaded.cacheEntry.sourceMtimeMs,
|
|
61
|
+
cachedSize: loaded.cacheEntry.cachedSize,
|
|
62
|
+
cachedMtimeMs: loaded.cacheEntry.cachedMtimeMs,
|
|
63
|
+
verifiedAt: new Date().toISOString(),
|
|
64
|
+
supportedLanguageIds: Array.from(supportedLanguageIds).sort(),
|
|
65
|
+
origin: loaded.origin,
|
|
66
|
+
});
|
|
67
|
+
}
|
|
43
68
|
return bindingState;
|
|
44
69
|
}
|
|
45
70
|
bindingState = {
|
|
@@ -65,14 +90,48 @@ export function resolveNativeBindingState(mode, env = process.env) {
|
|
|
65
90
|
}
|
|
66
91
|
return loadBinding();
|
|
67
92
|
}
|
|
68
|
-
function
|
|
69
|
-
|
|
70
|
-
|
|
93
|
+
function identityFromState(state) {
|
|
94
|
+
return {
|
|
95
|
+
available: state.loaded,
|
|
96
|
+
supportedLanguageIds: state.loaded ? Array.from(state.supportedLanguageIds).sort() : [],
|
|
97
|
+
origin: state.origin,
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
function cacheFingerprintFilesMatch(validation) {
|
|
101
|
+
try {
|
|
102
|
+
const sourcePath = fs.realpathSync.native(validation.sourcePath);
|
|
103
|
+
if (sourcePath !== validation.sourcePath)
|
|
104
|
+
return false;
|
|
105
|
+
const sourceStats = fs.statSync(sourcePath);
|
|
106
|
+
if (!sourceStats.isFile() ||
|
|
107
|
+
sourceStats.size !== validation.sourceSize ||
|
|
108
|
+
sourceStats.mtimeMs !== validation.sourceMtimeMs) {
|
|
109
|
+
return false;
|
|
110
|
+
}
|
|
111
|
+
const loadedPath = fs.realpathSync.native(validation.loadedPath);
|
|
112
|
+
if (loadedPath !== validation.loadedPath)
|
|
113
|
+
return false;
|
|
114
|
+
const cachedStats = fs.lstatSync(loadedPath);
|
|
115
|
+
return (cachedStats.isFile() &&
|
|
116
|
+
!cachedStats.isSymbolicLink() &&
|
|
117
|
+
cachedStats.size === validation.cachedSize &&
|
|
118
|
+
cachedStats.mtimeMs === validation.cachedMtimeMs);
|
|
119
|
+
}
|
|
120
|
+
catch {
|
|
121
|
+
return false;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Takes the binding-derived facts rather than a NativeBindingState, because the cache fast path
|
|
126
|
+
* below reconstructs those facts from a recorded identity and has no binding to hand.
|
|
127
|
+
*/
|
|
128
|
+
export function serializeNativeRuntimeFingerprint(requestedMode, envDisabled, identity) {
|
|
129
|
+
const { available, supportedLanguageIds, origin } = identity;
|
|
71
130
|
return JSON.stringify({
|
|
72
131
|
version: 1,
|
|
73
132
|
requestedMode,
|
|
74
133
|
envDisabled,
|
|
75
|
-
available
|
|
134
|
+
available,
|
|
76
135
|
supportedLanguageIds,
|
|
77
136
|
...(origin
|
|
78
137
|
? {
|
|
@@ -90,6 +149,52 @@ function serializeNativeRuntimeFingerprint(requestedMode, envDisabled, state) {
|
|
|
90
149
|
: {}),
|
|
91
150
|
});
|
|
92
151
|
}
|
|
152
|
+
export function resolveCachedRuntimeIdentity(options = {}) {
|
|
153
|
+
// A workspace binary wins in loadNativeBinding, so its fingerprint must not be answered from
|
|
154
|
+
// a cache entry describing the installed package.
|
|
155
|
+
if (findLocalNativeBinary(options.localPackageRoot ?? localNativePackageRoot))
|
|
156
|
+
return undefined;
|
|
157
|
+
if ((options.platform ?? process.platform) !== "win32")
|
|
158
|
+
return undefined;
|
|
159
|
+
// currentNativeTargetSuffix reads the real process; when a platform is injected the suffix has
|
|
160
|
+
// to be derived from it, or a Linux test box would look for its own target under a win32 root.
|
|
161
|
+
const target = options.platform
|
|
162
|
+
? nativeTargetSuffixFor(options.platform, options.arch ?? process.arch)
|
|
163
|
+
: currentNativeTargetSuffix();
|
|
164
|
+
if (!target)
|
|
165
|
+
return undefined;
|
|
166
|
+
try {
|
|
167
|
+
const platformPackage = readPlatformPackage("@lzehrung/codegraph-native", target, options.resolveFn ?? require.resolve);
|
|
168
|
+
const hit = lookupNativeRuntimeCacheEntry({
|
|
169
|
+
sourcePath: platformPackage.sourcePath,
|
|
170
|
+
packageName: `@lzehrung/codegraph-native-${target}`,
|
|
171
|
+
packageVersion: platformPackage.packageVersion,
|
|
172
|
+
target,
|
|
173
|
+
...(options.cacheRoot !== undefined ? { cacheRoot: options.cacheRoot } : {}),
|
|
174
|
+
...(options.now !== undefined ? { now: options.now } : {}),
|
|
175
|
+
});
|
|
176
|
+
if (!hit)
|
|
177
|
+
return undefined;
|
|
178
|
+
const identity = {
|
|
179
|
+
available: true,
|
|
180
|
+
supportedLanguageIds: hit.identity.supportedLanguageIds,
|
|
181
|
+
origin: hit.identity.origin,
|
|
182
|
+
cacheIdentityRevalidateAt: hit.revalidateAt,
|
|
183
|
+
};
|
|
184
|
+
cachedRuntimeIdentityValidations.set(identity, {
|
|
185
|
+
sourcePath: hit.identity.sourcePath,
|
|
186
|
+
sourceSize: hit.identity.sourceSize,
|
|
187
|
+
sourceMtimeMs: hit.identity.sourceMtimeMs,
|
|
188
|
+
loadedPath: hit.identity.loadedPath,
|
|
189
|
+
cachedSize: hit.identity.cachedSize,
|
|
190
|
+
cachedMtimeMs: hit.identity.cachedMtimeMs,
|
|
191
|
+
});
|
|
192
|
+
return identity;
|
|
193
|
+
}
|
|
194
|
+
catch {
|
|
195
|
+
return undefined;
|
|
196
|
+
}
|
|
197
|
+
}
|
|
93
198
|
export function getNativeRuntimeFingerprint(mode, env = process.env) {
|
|
94
199
|
const requestedMode = normalizeNativeRuntimeMode(mode);
|
|
95
200
|
const envDisabled = isNativeTreeSitterDisabledByEnv(env);
|
|
@@ -99,17 +204,42 @@ export function getNativeRuntimeFingerprint(mode, env = process.env) {
|
|
|
99
204
|
const cached = disabledRuntimeFingerprints.get(key);
|
|
100
205
|
if (cached)
|
|
101
206
|
return cached;
|
|
102
|
-
const fingerprint = serializeNativeRuntimeFingerprint(requestedMode, envDisabled, resolveNativeBindingState(mode, env));
|
|
207
|
+
const fingerprint = serializeNativeRuntimeFingerprint(requestedMode, envDisabled, identityFromState(resolveNativeBindingState(mode, env)));
|
|
103
208
|
disabledRuntimeFingerprints.set(key, fingerprint);
|
|
104
209
|
return fingerprint;
|
|
105
210
|
}
|
|
211
|
+
// A cached identity is valid only while its current source and cache stats match and its
|
|
212
|
+
// re-verification window has not elapsed. Recheck it on every fingerprint request; the probe
|
|
213
|
+
// stays cheap (one directory read and two stats) and avoids extending stat-only trust.
|
|
214
|
+
if (!bindingState) {
|
|
215
|
+
const cacheKey = `${requestedMode}:${envDisabled}`;
|
|
216
|
+
const now = Date.now();
|
|
217
|
+
const memoized = cachedRuntimeFingerprints.get(cacheKey);
|
|
218
|
+
if (memoized && now < memoized.revalidateAt && cacheFingerprintFilesMatch(memoized.validation)) {
|
|
219
|
+
return memoized.value;
|
|
220
|
+
}
|
|
221
|
+
const cachedIdentity = resolveCachedRuntimeIdentity();
|
|
222
|
+
const validation = cachedIdentity ? cachedRuntimeIdentityValidations.get(cachedIdentity) : undefined;
|
|
223
|
+
if (cachedIdentity?.cacheIdentityRevalidateAt !== undefined &&
|
|
224
|
+
validation &&
|
|
225
|
+
cacheFingerprintFilesMatch(validation)) {
|
|
226
|
+
const value = serializeNativeRuntimeFingerprint(requestedMode, envDisabled, cachedIdentity);
|
|
227
|
+
cachedRuntimeFingerprints.set(cacheKey, {
|
|
228
|
+
value,
|
|
229
|
+
revalidateAt: cachedIdentity.cacheIdentityRevalidateAt,
|
|
230
|
+
validation,
|
|
231
|
+
});
|
|
232
|
+
return value;
|
|
233
|
+
}
|
|
234
|
+
cachedRuntimeFingerprints.delete(cacheKey);
|
|
235
|
+
}
|
|
106
236
|
const state = loadBinding();
|
|
107
237
|
if (loadedRuntimeFingerprint?.state === state &&
|
|
108
238
|
loadedRuntimeFingerprint.requestedMode === requestedMode &&
|
|
109
239
|
loadedRuntimeFingerprint.envDisabled === envDisabled) {
|
|
110
240
|
return loadedRuntimeFingerprint.value;
|
|
111
241
|
}
|
|
112
|
-
const value = serializeNativeRuntimeFingerprint(requestedMode, envDisabled, state);
|
|
242
|
+
const value = serializeNativeRuntimeFingerprint(requestedMode, envDisabled, identityFromState(state));
|
|
113
243
|
loadedRuntimeFingerprint = { state, requestedMode, envDisabled, value };
|
|
114
244
|
return value;
|
|
115
245
|
}
|
|
@@ -126,6 +256,19 @@ export function getNativeBindingOrigin() {
|
|
|
126
256
|
export function getCurrentNativeBindingOrigin() {
|
|
127
257
|
return bindingState?.origin;
|
|
128
258
|
}
|
|
259
|
+
/**
|
|
260
|
+
* The resolved addon path for a binding this process has already loaded, for handing to worker
|
|
261
|
+
* threads. Undefined unless a load succeeded, so a worker is never pointed at a path that did
|
|
262
|
+
* not work here.
|
|
263
|
+
*/
|
|
264
|
+
export function getNativeWorkerBindingHandoff() {
|
|
265
|
+
if (!bindingState?.loaded)
|
|
266
|
+
return undefined;
|
|
267
|
+
const loadedPath = bindingState.origin.loadedPath;
|
|
268
|
+
if (!loadedPath)
|
|
269
|
+
return undefined;
|
|
270
|
+
return { loadedPath, origin: bindingState.origin };
|
|
271
|
+
}
|
|
129
272
|
export function getNativeTreeSitterSupportedLanguageIds(mode) {
|
|
130
273
|
const state = resolveNativeBindingState(mode);
|
|
131
274
|
return state.loaded ? Array.from(state.supportedLanguageIds).sort() : [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/native/runtime.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/native/runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { NativeBindingOrigin } from "./contracts.js";
|
|
1
2
|
export type NativeCacheManifestV1 = {
|
|
2
3
|
schemaVersion: 1;
|
|
3
4
|
packageName: string;
|
|
@@ -8,12 +9,57 @@ export type NativeCacheManifestV1 = {
|
|
|
8
9
|
sourceSha256: string;
|
|
9
10
|
cachedAt: string;
|
|
10
11
|
};
|
|
12
|
+
/**
|
|
13
|
+
* Written as a path-keyed record beside `manifest.json` after a process has successfully
|
|
14
|
+
* loaded the cached binary. `manifest.json` is content-addressed and published once,
|
|
15
|
+
* immutably; these records are mutable (the TTL refreshes them) and carry facts that only exist
|
|
16
|
+
* after the addon loads. One record per source realpath lets projects sharing the binary retain
|
|
17
|
+
* their own origin without invalidating each other's fast path.
|
|
18
|
+
*/
|
|
19
|
+
export type NativeCacheIdentityV1 = {
|
|
20
|
+
version: 1;
|
|
21
|
+
/** Size and mtime of the installed source binary at the last full verification. */
|
|
22
|
+
sourceSize: number;
|
|
23
|
+
sourceMtimeMs: number;
|
|
24
|
+
/** Size and mtime of the cached copy that was verified and then loaded. */
|
|
25
|
+
cachedSize: number;
|
|
26
|
+
cachedMtimeMs: number;
|
|
27
|
+
sha256: string;
|
|
28
|
+
cacheKey: string;
|
|
29
|
+
sourcePath: string;
|
|
30
|
+
loadedPath: string;
|
|
31
|
+
verifiedAt: string;
|
|
32
|
+
/**
|
|
33
|
+
* The runtime that proved this file loadable. The stat fields say the bytes are unchanged;
|
|
34
|
+
* they say nothing about whether this Node can still load them. A major Node upgrade changes
|
|
35
|
+
* the ABI, so the same bytes stop loading while every other check still matches, and the fast
|
|
36
|
+
* path would report an addon as available that the build then falls back away from.
|
|
37
|
+
*/
|
|
38
|
+
runtime: {
|
|
39
|
+
abi: string;
|
|
40
|
+
platform: string;
|
|
41
|
+
arch: string;
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* Recorded so a cache-hit command can answer "which languages does the addon support"
|
|
45
|
+
* without loading it. Present only once a load has succeeded for this exact file.
|
|
46
|
+
*/
|
|
47
|
+
supportedLanguageIds: string[];
|
|
48
|
+
/**
|
|
49
|
+
* The origin the loading process reported, stored whole rather than rebuilt field by field.
|
|
50
|
+
* The runtime fingerprint embeds this object verbatim, so replaying it is what guarantees a
|
|
51
|
+
* fast-path fingerprint is byte-identical to the one a full load produces.
|
|
52
|
+
*/
|
|
53
|
+
origin: NativeBindingOrigin;
|
|
54
|
+
};
|
|
11
55
|
export type PrepareNativeRuntimeCacheRequest = {
|
|
12
56
|
sourcePath: string;
|
|
13
57
|
packageName: string;
|
|
14
58
|
packageVersion: string;
|
|
15
59
|
target: string;
|
|
16
60
|
cacheRoot?: string | undefined;
|
|
61
|
+
/** Injected in tests so the identity TTL branch is reachable without waiting a day. */
|
|
62
|
+
now?: number | undefined;
|
|
17
63
|
};
|
|
18
64
|
export type PrepareNativeRuntimeCacheResult = {
|
|
19
65
|
status: "cached" | "reused";
|
|
@@ -21,6 +67,17 @@ export type PrepareNativeRuntimeCacheResult = {
|
|
|
21
67
|
loadedPath: string;
|
|
22
68
|
cacheKey: string;
|
|
23
69
|
sha256: string;
|
|
70
|
+
/** Verified stat snapshots used to reject a source/cache replacement before identity recording. */
|
|
71
|
+
sourceSize: number;
|
|
72
|
+
sourceMtimeMs: number;
|
|
73
|
+
cachedSize: number;
|
|
74
|
+
cachedMtimeMs: number;
|
|
75
|
+
/**
|
|
76
|
+
* True when this call hashed the files rather than trusting a recorded identity. Only a
|
|
77
|
+
* verified result may refresh the identity record, otherwise each fast-path hit would
|
|
78
|
+
* push the re-verification TTL out and the entry would never be hashed again.
|
|
79
|
+
*/
|
|
80
|
+
verified: boolean;
|
|
24
81
|
} | {
|
|
25
82
|
status: "unavailable";
|
|
26
83
|
sourcePath: string;
|
|
@@ -29,8 +86,43 @@ export type PrepareNativeRuntimeCacheResult = {
|
|
|
29
86
|
type FileHash = {
|
|
30
87
|
sha256: string;
|
|
31
88
|
size: number;
|
|
89
|
+
mtimeMs: number;
|
|
32
90
|
};
|
|
33
91
|
export declare function hashFileStreaming(filePath: string, onChunk?: (bytesRead: number) => void): FileHash;
|
|
92
|
+
export type NativeCacheLookupRequest = {
|
|
93
|
+
sourcePath: string;
|
|
94
|
+
packageName: string;
|
|
95
|
+
packageVersion: string;
|
|
96
|
+
target: string;
|
|
97
|
+
cacheRoot?: string | undefined;
|
|
98
|
+
/** Injected in tests so the TTL branch is reachable without waiting a day. */
|
|
99
|
+
now?: number | undefined;
|
|
100
|
+
};
|
|
101
|
+
export type NativeCacheLookupHit = {
|
|
102
|
+
entryPath: string;
|
|
103
|
+
identity: NativeCacheIdentityV1;
|
|
104
|
+
revalidateAt: number;
|
|
105
|
+
};
|
|
106
|
+
/**
|
|
107
|
+
* Find a cache entry for this (package version, target) whose recorded identity still matches
|
|
108
|
+
* the files on disk, without hashing either of them.
|
|
109
|
+
*
|
|
110
|
+
* The entry directory is named `<packageVersion>-<sha256>`, so locating it the normal way means
|
|
111
|
+
* hashing the source first. Scanning the target directory for the version prefix and comparing
|
|
112
|
+
* the stat fields recorded at the last full verification reaches the same entry with bounded
|
|
113
|
+
* metadata reads. A miss - no entry, no identity file, a stat mismatch, or an expired
|
|
114
|
+
* TTL - returns null, and every caller then does the full hash-and-verify pass.
|
|
115
|
+
*/
|
|
116
|
+
export declare function lookupNativeRuntimeCacheEntry(request: NativeCacheLookupRequest): NativeCacheLookupHit | null;
|
|
117
|
+
/**
|
|
118
|
+
* Record what a successful load proved about this entry, so the next process can skip both
|
|
119
|
+
* SHA-256 passes and the addon load itself. Called only after the binary at `loadedPath` has
|
|
120
|
+
* been fully verified and then loaded, so every field describes a state known to work.
|
|
121
|
+
*
|
|
122
|
+
* Replaces any previous record atomically: the TTL refresh rewrites it, unlike the immutable
|
|
123
|
+
* `manifest.json` beside it.
|
|
124
|
+
*/
|
|
125
|
+
export declare function recordNativeRuntimeCacheIdentity(identity: Omit<NativeCacheIdentityV1, "version" | "runtime">): void;
|
|
34
126
|
export declare function prepareNativeRuntimeCache(request: PrepareNativeRuntimeCacheRequest): PrepareNativeRuntimeCacheResult;
|
|
35
127
|
export {};
|
|
36
128
|
//# sourceMappingURL=runtimeCache.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtimeCache.d.ts","sourceRoot":"","sources":["../../src/native/runtimeCache.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"runtimeCache.d.ts","sourceRoot":"","sources":["../../src/native/runtimeCache.ts"],"names":[],"mappings":"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"}
|