@lzehrung/codegraph 2.1.1 → 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/codegraph-skill/codegraph/SKILL.md +4 -5
- 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.js +2 -0
- package/dist/agent/explore.js.map +1 -1
- package/dist/agent/orient.js +2 -0
- 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 +3 -4
- package/dist/agent/query-index/store.d.ts.map +1 -1
- package/dist/agent/query-index/store.js +52 -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 +1 -1
- 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 +2762 -1508
- package/dist/bin/queryIndexWorker.js +84 -36
- package/dist/bin/rawQueryWorker.js +26 -2
- 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.js +1 -1
- package/dist/cli/commandTable.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/install.js +1 -1
- package/dist/cli/install.js.map +1 -1
- package/dist/cli/options.d.ts.map +1 -1
- package/dist/cli/options.js +23 -4
- 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/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.map +1 -1
- package/dist/cli.js +36 -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/duplicates/types.d.ts +2 -0
- package/dist/duplicates/types.d.ts.map +1 -1
- package/dist/duplicates/units.d.ts.map +1 -1
- package/dist/duplicates/units.js +6 -2
- 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/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 -4
- 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/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 +6 -0
- package/dist/indexer/build-cache/module-cache.js.map +1 -1
- package/dist/indexer/build-cache/project-snapshot.d.ts +7 -11
- package/dist/indexer/build-cache/project-snapshot.d.ts.map +1 -1
- package/dist/indexer/build-cache/project-snapshot.js +168 -76
- 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 +116 -51
- 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 +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/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/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.map +1 -1
- package/dist/indexer/locals-and-exports.js +25 -0
- package/dist/indexer/locals-and-exports.js.map +1 -1
- package/dist/indexer/navigation-references.d.ts.map +1 -1
- package/dist/indexer/navigation-references.js +7 -1
- package/dist/indexer/navigation-references.js.map +1 -1
- package/dist/indexer/navigation.d.ts.map +1 -1
- package/dist/indexer/navigation.js +10 -0
- package/dist/indexer/navigation.js.map +1 -1
- package/dist/indexer/parse-context.d.ts +1 -1
- package/dist/indexer/parse-context.d.ts.map +1 -1
- package/dist/indexer/parse-context.js +23 -2
- package/dist/indexer/parse-context.js.map +1 -1
- package/dist/indexer/types.d.ts +5 -1
- package/dist/indexer/types.d.ts.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 +62 -5
- package/dist/installer/registry.js.map +1 -1
- package/dist/mcp/server.d.ts +15 -0
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +126 -34
- 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/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/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/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/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/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/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 +6 -4
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module-cache.js","sourceRoot":"","sources":["../../../src/indexer/build-cache/module-cache.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"module-cache.js","sourceRoot":"","sources":["../../../src/indexer/build-cache/module-cache.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BloomFilter } from "../../util/bloomFilter.js";
|
|
2
|
-
import type { BackendReport, BuildOptions, GraphReport, ModuleIndex, ProjectIndex } from "../types.js";
|
|
2
|
+
import type { BackendReport, BuildOptions, GraphReport, ModuleIndex, ProjectIndex, BuildReport } from "../types.js";
|
|
3
3
|
import { type SymbolGraph } from "../../graphs/symbol-graph.js";
|
|
4
4
|
import { type FileSignature } from "./module-cache.js";
|
|
5
5
|
import type { ManifestFileEntry } from "./manifest.js";
|
|
@@ -36,19 +36,15 @@ export type LoadedProjectIndexSnapshot = {
|
|
|
36
36
|
};
|
|
37
37
|
export declare function projectSnapshotFilesSignature(entries: ReadonlyMap<string, ManifestFileEntry>, projectRoot?: string): string;
|
|
38
38
|
export declare function createProjectSnapshotIdentity(filesSignature: string, opts: BuildOptions | undefined): string;
|
|
39
|
-
export declare function tryLoadProjectIndexSnapshot(projectRoot: string, opts: BuildOptions | undefined, manifestEntries: ReadonlyMap<string, ManifestFileEntry
|
|
39
|
+
export declare function tryLoadProjectIndexSnapshot(projectRoot: string, opts: BuildOptions | undefined, manifestEntries: ReadonlyMap<string, ManifestFileEntry>, report?: BuildReport): Promise<LoadedProjectIndexSnapshot | null>;
|
|
40
40
|
/**
|
|
41
|
-
* Load only
|
|
42
|
-
*
|
|
43
|
-
* snapshot can still accelerate unchanged files without suppressing newly added references.
|
|
44
|
-
* Only the bloom section is then read, so a corrupt payload is rejected without walking
|
|
45
|
-
* `graph.edges` / `modules`. Returns `null` when disk caching is off, `useBloomFilters` is
|
|
46
|
-
* disabled, or no valid snapshot with bloom data exists.
|
|
41
|
+
* Load only modules and signatures from the last-written project snapshot. Path transforms avoid
|
|
42
|
+
* cloning the graph and project metadata, while each returned module remains caller-owned.
|
|
47
43
|
*/
|
|
48
|
-
export declare function tryLoadProjectSnapshotModules(projectRoot: string, opts: BuildOptions | undefined, fileSignatures: ReadonlyMap<string, Pick<FileSignature, "sig" | "gitSig" | "cacheSig"
|
|
49
|
-
export declare function tryLoadPersistedBloomFilters(projectRoot: string, opts: BuildOptions | undefined): Promise<PersistedBloomFilters | null>;
|
|
44
|
+
export declare function tryLoadProjectSnapshotModules(projectRoot: string, opts: BuildOptions | undefined, fileSignatures: ReadonlyMap<string, Pick<FileSignature, "sig" | "gitSig" | "cacheSig">>, report?: BuildReport): Promise<Map<string, ModuleIndex> | null>;
|
|
45
|
+
export declare function tryLoadPersistedBloomFilters(projectRoot: string, opts: BuildOptions | undefined, report?: BuildReport): Promise<PersistedBloomFilters | null>;
|
|
50
46
|
export declare function writeProjectIndexSnapshot(projectRoot: string, opts: BuildOptions | undefined, index: ProjectIndex, filesSignature: string): Promise<void>;
|
|
51
|
-
export declare function tryLoadDetailedSymbolGraphSnapshot(projectRoot: string, opts: BuildOptions | undefined, index: ProjectIndex): Promise<SymbolGraph | null>;
|
|
52
47
|
export declare function writeDetailedSymbolGraphSnapshot(projectRoot: string, opts: BuildOptions | undefined, index: ProjectIndex, graph: SymbolGraph): Promise<void>;
|
|
48
|
+
export declare function tryLoadDetailedSymbolGraphSnapshot(projectRoot: string, opts: BuildOptions | undefined, index: ProjectIndex, report?: BuildReport): Promise<SymbolGraph | null>;
|
|
53
49
|
export {};
|
|
54
50
|
//# sourceMappingURL=project-snapshot.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-snapshot.d.ts","sourceRoot":"","sources":["../../../src/indexer/build-cache/project-snapshot.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,WAAW,EAAoB,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"project-snapshot.d.ts","sourceRoot":"","sources":["../../../src/indexer/build-cache/project-snapshot.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,7 @@ import { BloomFilter, BloomFilterCache } from "../../util/bloomFilter.js";
|
|
|
8
8
|
import { summarizeAnalysis } from "../../analysisSummary.js";
|
|
9
9
|
import { assertFilePathWithinRoot, fileIdentityKey, isFilePathWithinRoot, normalizePath } from "../../util/paths.js";
|
|
10
10
|
import { getNativeRuntimeFingerprint } from "../../native/treeSitterNative.js";
|
|
11
|
+
import { logWithLevel } from "../../logging.js";
|
|
11
12
|
import { SymbolKind } from "../types.js";
|
|
12
13
|
import { buildSymbolGraph, } from "../../graphs/symbol-graph.js";
|
|
13
14
|
import { getImplementationFingerprint, normalizeGraphOptions } from "./options.js";
|
|
@@ -27,6 +28,8 @@ const SNAPSHOT_TEMP_RETENTION_MS = 24 * 60 * 60 * 1_000;
|
|
|
27
28
|
const SNAPSHOT_TEMP_SUFFIX = ".tmp";
|
|
28
29
|
const MAX_SNAPSHOT_CACHE_ENTRIES = 32;
|
|
29
30
|
const parsedSnapshotCache = new Map();
|
|
31
|
+
const transformedSnapshotCache = new Map();
|
|
32
|
+
const transformedSnapshotModulesCache = new Map();
|
|
30
33
|
const detailedSymbolGraphCache = new Map();
|
|
31
34
|
export function projectSnapshotFilesSignature(entries, projectRoot) {
|
|
32
35
|
const hash = createHash("sha256");
|
|
@@ -263,17 +266,30 @@ function materializeDetailedSymbolGraph(payload) {
|
|
|
263
266
|
function decodeSnapshotPayload(compressed) {
|
|
264
267
|
return JSON.parse(brotliDecompressSync(compressed).toString("utf8"));
|
|
265
268
|
}
|
|
269
|
+
function recordSnapshotCorruption(report, artifact, reason, logLevel) {
|
|
270
|
+
if (report) {
|
|
271
|
+
report.manifest ??= { used: true, reused: false };
|
|
272
|
+
report.manifest.corruptions ??= [];
|
|
273
|
+
if (!report.manifest.corruptions.some((entry) => entry.artifact === artifact)) {
|
|
274
|
+
report.manifest.corruptions.push({ artifact, reason });
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
logWithLevel(logLevel, "warn", `Warning: Corrupt cache artifact ${artifact}: ${reason}`);
|
|
278
|
+
}
|
|
279
|
+
function isMissingArtifactError(error) {
|
|
280
|
+
return !!error && typeof error === "object" && "code" in error && error.code === "ENOENT";
|
|
281
|
+
}
|
|
266
282
|
async function readParsedSnapshot(snapshotPath) {
|
|
267
283
|
const before = await snapshotFileIdentity(snapshotPath);
|
|
268
284
|
const cached = parsedSnapshotCache.get(snapshotPath);
|
|
269
285
|
if (cached && sameSnapshotFileIdentity(cached.identity, before)) {
|
|
270
286
|
setBoundedSnapshotCache(parsedSnapshotCache, snapshotPath, cached);
|
|
271
|
-
return { identity: cached.identity, payload:
|
|
287
|
+
return { identity: cached.identity, payload: cached.payload };
|
|
272
288
|
}
|
|
273
289
|
const compressed = Buffer.from(await fsp.readFile(snapshotPath));
|
|
274
290
|
const payload = decodeSnapshotPayload(compressed);
|
|
275
291
|
const after = await snapshotFileIdentity(snapshotPath);
|
|
276
|
-
const entry = { identity: before, compressed };
|
|
292
|
+
const entry = { identity: before, compressed, payload };
|
|
277
293
|
if (sameSnapshotFileIdentity(before, after)) {
|
|
278
294
|
setBoundedSnapshotCache(parsedSnapshotCache, snapshotPath, entry);
|
|
279
295
|
}
|
|
@@ -282,6 +298,55 @@ async function readParsedSnapshot(snapshotPath) {
|
|
|
282
298
|
}
|
|
283
299
|
return { identity: before, payload };
|
|
284
300
|
}
|
|
301
|
+
function transformCachedProjectSnapshot(snapshotPath, identity, rawPayload, projectRoot) {
|
|
302
|
+
const cached = transformedSnapshotCache.get(snapshotPath);
|
|
303
|
+
if (cached && cached.root === projectRoot && sameSnapshotFileIdentity(cached.identity, identity)) {
|
|
304
|
+
setBoundedSnapshotCache(transformedSnapshotCache, snapshotPath, cached);
|
|
305
|
+
return structuredClone(cached.payload);
|
|
306
|
+
}
|
|
307
|
+
const migratedPayload = migrateProjectSnapshotPayload(rawPayload, projectRoot);
|
|
308
|
+
const payload = migratedPayload && typeof migratedPayload === "object" && !Array.isArray(migratedPayload)
|
|
309
|
+
? transformSnapshotPaths(migratedPayload, projectRoot, false)
|
|
310
|
+
: migratedPayload;
|
|
311
|
+
setBoundedSnapshotCache(transformedSnapshotCache, snapshotPath, { identity, root: projectRoot, payload });
|
|
312
|
+
return structuredClone(payload);
|
|
313
|
+
}
|
|
314
|
+
function transformCachedProjectSnapshotModules(snapshotPath, identity, rawPayload, projectRoot) {
|
|
315
|
+
const cached = transformedSnapshotModulesCache.get(snapshotPath);
|
|
316
|
+
if (cached && cached.root === projectRoot && sameSnapshotFileIdentity(cached.identity, identity)) {
|
|
317
|
+
setBoundedSnapshotCache(transformedSnapshotModulesCache, snapshotPath, cached);
|
|
318
|
+
return structuredClone(cached.payload);
|
|
319
|
+
}
|
|
320
|
+
const migratedPayload = migrateProjectSnapshotPayload(rawPayload, projectRoot);
|
|
321
|
+
if (!migratedPayload || typeof migratedPayload !== "object" || Array.isArray(migratedPayload)) {
|
|
322
|
+
return migratedPayload;
|
|
323
|
+
}
|
|
324
|
+
const payload = migratedPayload;
|
|
325
|
+
if (!Array.isArray(payload.modules) || !payload.fileSignatures || typeof payload.fileSignatures !== "object") {
|
|
326
|
+
return migratedPayload;
|
|
327
|
+
}
|
|
328
|
+
const modules = structuredClone(payload.modules).map((module) => transformModule(projectRoot, module, false));
|
|
329
|
+
const fileSignatures = {};
|
|
330
|
+
for (const [file, signature] of Object.entries(payload.fileSignatures)) {
|
|
331
|
+
fileSignatures[transformPath(projectRoot, file, false)] = signature;
|
|
332
|
+
}
|
|
333
|
+
const transformed = {
|
|
334
|
+
version: payload.version ?? PROJECT_SNAPSHOT_VERSION,
|
|
335
|
+
filesSignature: payload.filesSignature ?? "",
|
|
336
|
+
projectRoot: serializedProjectRoot(projectRoot),
|
|
337
|
+
...(payload.nativeMode !== undefined ? { nativeMode: payload.nativeMode } : {}),
|
|
338
|
+
nativeRuntimeFingerprint: payload.nativeRuntimeFingerprint ?? "",
|
|
339
|
+
implementationFingerprint: payload.implementationFingerprint ?? "",
|
|
340
|
+
modules,
|
|
341
|
+
fileSignatures,
|
|
342
|
+
};
|
|
343
|
+
setBoundedSnapshotCache(transformedSnapshotModulesCache, snapshotPath, {
|
|
344
|
+
identity,
|
|
345
|
+
root: projectRoot,
|
|
346
|
+
payload: transformed,
|
|
347
|
+
});
|
|
348
|
+
return structuredClone(transformed);
|
|
349
|
+
}
|
|
285
350
|
function projectIndexManifestEntries(entries) {
|
|
286
351
|
return new Map(Array.from(entries, ([file, entry]) => [
|
|
287
352
|
file,
|
|
@@ -291,16 +356,13 @@ function projectIndexManifestEntries(entries) {
|
|
|
291
356
|
},
|
|
292
357
|
]));
|
|
293
358
|
}
|
|
294
|
-
export async function tryLoadProjectIndexSnapshot(projectRoot, opts, manifestEntries) {
|
|
359
|
+
export async function tryLoadProjectIndexSnapshot(projectRoot, opts, manifestEntries, report) {
|
|
295
360
|
const filesSignature = projectSnapshotFilesSignature(manifestEntries, projectRoot);
|
|
296
361
|
if ((opts?.cache ?? "off") !== "disk")
|
|
297
362
|
return null;
|
|
298
363
|
try {
|
|
299
|
-
const
|
|
300
|
-
const
|
|
301
|
-
const payload = migratedPayload && typeof migratedPayload === "object" && !Array.isArray(migratedPayload)
|
|
302
|
-
? transformSnapshotPaths(migratedPayload, projectRoot, false)
|
|
303
|
-
: migratedPayload;
|
|
364
|
+
const parsedSnapshot = await readParsedSnapshot(projectSnapshotPath(projectRoot, opts));
|
|
365
|
+
const payload = transformCachedProjectSnapshot(projectSnapshotPath(projectRoot, opts), parsedSnapshot.identity, parsedSnapshot.payload, projectRoot);
|
|
304
366
|
const nativeRuntimeFingerprint = getNativeRuntimeFingerprint(opts?.native);
|
|
305
367
|
const implementationFingerprint = getImplementationFingerprint();
|
|
306
368
|
if (!isProjectIndexSnapshotPayload(payload) ||
|
|
@@ -343,39 +405,32 @@ export async function tryLoadProjectIndexSnapshot(projectRoot, opts, manifestEnt
|
|
|
343
405
|
...(payload.analysisReport ? { analysisReport: payload.analysisReport } : {}),
|
|
344
406
|
};
|
|
345
407
|
}
|
|
346
|
-
catch {
|
|
408
|
+
catch (error) {
|
|
409
|
+
if (!isMissingArtifactError(error)) {
|
|
410
|
+
recordSnapshotCorruption(report, projectSnapshotPath(projectRoot, opts), String(error), opts?.logLevel);
|
|
411
|
+
}
|
|
347
412
|
return null;
|
|
348
413
|
}
|
|
349
414
|
}
|
|
350
415
|
/**
|
|
351
|
-
* Load only
|
|
352
|
-
*
|
|
353
|
-
* snapshot can still accelerate unchanged files without suppressing newly added references.
|
|
354
|
-
* Only the bloom section is then read, so a corrupt payload is rejected without walking
|
|
355
|
-
* `graph.edges` / `modules`. Returns `null` when disk caching is off, `useBloomFilters` is
|
|
356
|
-
* disabled, or no valid snapshot with bloom data exists.
|
|
416
|
+
* Load only modules and signatures from the last-written project snapshot. Path transforms avoid
|
|
417
|
+
* cloning the graph and project metadata, while each returned module remains caller-owned.
|
|
357
418
|
*/
|
|
358
|
-
export async function tryLoadProjectSnapshotModules(projectRoot, opts, fileSignatures) {
|
|
419
|
+
export async function tryLoadProjectSnapshotModules(projectRoot, opts, fileSignatures, report) {
|
|
359
420
|
if ((opts?.cache ?? "off") !== "disk")
|
|
360
421
|
return null;
|
|
361
422
|
try {
|
|
362
|
-
const
|
|
363
|
-
const
|
|
364
|
-
const payload = migratedPayload && typeof migratedPayload === "object" && !Array.isArray(migratedPayload)
|
|
365
|
-
? transformSnapshotPaths(migratedPayload, projectRoot, false)
|
|
366
|
-
: migratedPayload;
|
|
423
|
+
const parsedSnapshot = await readParsedSnapshot(projectSnapshotPath(projectRoot, opts));
|
|
424
|
+
const payload = transformCachedProjectSnapshotModules(projectSnapshotPath(projectRoot, opts), parsedSnapshot.identity, parsedSnapshot.payload, projectRoot);
|
|
367
425
|
const nativeRuntimeFingerprint = getNativeRuntimeFingerprint(opts?.native);
|
|
368
426
|
const implementationFingerprint = getImplementationFingerprint();
|
|
369
|
-
if (!
|
|
427
|
+
if (!isProjectSnapshotModulesPayload(payload) ||
|
|
370
428
|
payload.nativeMode !== normalizedSnapshotNativeMode(opts?.native) ||
|
|
371
429
|
payload.nativeRuntimeFingerprint !== nativeRuntimeFingerprint ||
|
|
372
430
|
payload.implementationFingerprint !== implementationFingerprint) {
|
|
373
431
|
return null;
|
|
374
432
|
}
|
|
375
433
|
const normalizedFileSignatures = new Map(Object.entries(payload.fileSignatures).map(([file, signature]) => [fileIdentityKey(file), signature]));
|
|
376
|
-
// `fileSignatures` (caller-supplied) is keyed by whatever discovered display path each file
|
|
377
|
-
// was found under, not necessarily `fileIdentityKey`-normalized; on a case-insensitive
|
|
378
|
-
// filesystem an uppercase path segment would otherwise miss this lookup.
|
|
379
434
|
const normalizedCurrentSignatures = new Map(Array.from(fileSignatures, ([file, signature]) => [fileIdentityKey(file), signature]));
|
|
380
435
|
const modules = new Map();
|
|
381
436
|
for (const mod of payload.modules) {
|
|
@@ -388,11 +443,14 @@ export async function tryLoadProjectSnapshotModules(projectRoot, opts, fileSigna
|
|
|
388
443
|
}
|
|
389
444
|
return modules;
|
|
390
445
|
}
|
|
391
|
-
catch {
|
|
446
|
+
catch (error) {
|
|
447
|
+
if (!isMissingArtifactError(error)) {
|
|
448
|
+
recordSnapshotCorruption(report, projectSnapshotPath(projectRoot, opts), String(error), opts?.logLevel);
|
|
449
|
+
}
|
|
392
450
|
return null;
|
|
393
451
|
}
|
|
394
452
|
}
|
|
395
|
-
export async function tryLoadPersistedBloomFilters(projectRoot, opts) {
|
|
453
|
+
export async function tryLoadPersistedBloomFilters(projectRoot, opts, report) {
|
|
396
454
|
if ((opts?.cache ?? "off") !== "disk" || (opts?.useBloomFilters ?? true) === false)
|
|
397
455
|
return null;
|
|
398
456
|
try {
|
|
@@ -402,9 +460,13 @@ export async function tryLoadPersistedBloomFilters(projectRoot, opts) {
|
|
|
402
460
|
if (sidecarBloom) {
|
|
403
461
|
return createPersistedBloomFilters(sidecarBloom.bloomFilters, sidecarBloom.fileSignatures, projectRoot);
|
|
404
462
|
}
|
|
463
|
+
recordSnapshotCorruption(report, sidecarPath, "invalid bloom filter payload", opts?.logLevel);
|
|
405
464
|
}
|
|
406
|
-
catch {
|
|
407
|
-
|
|
465
|
+
catch (error) {
|
|
466
|
+
const isMissing = error && typeof error === "object" && "code" in error && error.code === "ENOENT";
|
|
467
|
+
if (!isMissing) {
|
|
468
|
+
recordSnapshotCorruption(report, bloomFilterSnapshotPath(projectRoot, opts), String(error), opts?.logLevel);
|
|
469
|
+
}
|
|
408
470
|
}
|
|
409
471
|
try {
|
|
410
472
|
const payload = (await readParsedSnapshot(projectSnapshotPath(projectRoot, opts))).payload;
|
|
@@ -413,7 +475,11 @@ export async function tryLoadPersistedBloomFilters(projectRoot, opts) {
|
|
|
413
475
|
return null;
|
|
414
476
|
return createPersistedBloomFilters(bloomFilters.bloomFilters, bloomFilters.fileSignatures, projectRoot);
|
|
415
477
|
}
|
|
416
|
-
catch {
|
|
478
|
+
catch (error) {
|
|
479
|
+
const isMissing = error && typeof error === "object" && "code" in error && error.code === "ENOENT";
|
|
480
|
+
if (!isMissing) {
|
|
481
|
+
recordSnapshotCorruption(report, projectSnapshotPath(projectRoot, opts), String(error), opts?.logLevel);
|
|
482
|
+
}
|
|
417
483
|
return null;
|
|
418
484
|
}
|
|
419
485
|
}
|
|
@@ -517,7 +583,9 @@ export async function writeProjectIndexSnapshot(projectRoot, opts, index, filesS
|
|
|
517
583
|
});
|
|
518
584
|
await writeSnapshotAtomically(snapshotPath, compressed);
|
|
519
585
|
const identity = await snapshotFileIdentity(snapshotPath);
|
|
520
|
-
|
|
586
|
+
transformedSnapshotCache.delete(snapshotPath);
|
|
587
|
+
transformedSnapshotModulesCache.delete(snapshotPath);
|
|
588
|
+
setBoundedSnapshotCache(parsedSnapshotCache, snapshotPath, { identity, compressed, payload });
|
|
521
589
|
index.projectSnapshotIdentity = projectSnapshotIdentity;
|
|
522
590
|
if (serializedBloomFilters) {
|
|
523
591
|
try {
|
|
@@ -538,6 +606,7 @@ export async function writeProjectIndexSnapshot(projectRoot, opts, index, filesS
|
|
|
538
606
|
setBoundedSnapshotCache(parsedSnapshotCache, bloomPath, {
|
|
539
607
|
identity: bloomIdentity,
|
|
540
608
|
compressed: bloomCompressed,
|
|
609
|
+
payload: bloomPayload,
|
|
541
610
|
});
|
|
542
611
|
}
|
|
543
612
|
catch {
|
|
@@ -561,50 +630,6 @@ function bloomFilterSnapshotPath(projectRoot, opts) {
|
|
|
561
630
|
}
|
|
562
631
|
return snapshotPath;
|
|
563
632
|
}
|
|
564
|
-
export async function tryLoadDetailedSymbolGraphSnapshot(projectRoot, opts, index) {
|
|
565
|
-
if ((opts?.cache ?? "off") !== "disk" || !index.projectSnapshotIdentity)
|
|
566
|
-
return null;
|
|
567
|
-
try {
|
|
568
|
-
const snapshotPath = detailedSymbolGraphSnapshotPath(projectRoot, opts);
|
|
569
|
-
const observedIdentity = await snapshotFileIdentity(snapshotPath);
|
|
570
|
-
const cached = detailedSymbolGraphCache.get(snapshotPath);
|
|
571
|
-
if (cached &&
|
|
572
|
-
cached.projectSnapshotIdentity === index.projectSnapshotIdentity &&
|
|
573
|
-
sameSnapshotFileIdentity(cached.identity, observedIdentity)) {
|
|
574
|
-
setBoundedSnapshotCache(detailedSymbolGraphCache, snapshotPath, cached);
|
|
575
|
-
return materializeDetailedSymbolGraph(cached.graph);
|
|
576
|
-
}
|
|
577
|
-
const parsed = await readParsedSnapshot(snapshotPath);
|
|
578
|
-
const migratedPayload = migrateDetailedSymbolGraphPayload(parsed.payload, projectRoot);
|
|
579
|
-
const payload = migratedPayload && typeof migratedPayload === "object" && !Array.isArray(migratedPayload)
|
|
580
|
-
? {
|
|
581
|
-
...migratedPayload,
|
|
582
|
-
graph: transformDetailedGraph(migratedPayload.graph, projectRoot, false),
|
|
583
|
-
}
|
|
584
|
-
: migratedPayload;
|
|
585
|
-
if (!isDetailedSymbolGraphSnapshotPayload(payload) ||
|
|
586
|
-
payload.implementationFingerprint !== getImplementationFingerprint() ||
|
|
587
|
-
payload.projectSnapshotIdentity !== index.projectSnapshotIdentity) {
|
|
588
|
-
return null;
|
|
589
|
-
}
|
|
590
|
-
const graph = materializeDetailedSymbolGraph(payload.graph);
|
|
591
|
-
if (!(await isDetailedSymbolGraphCompatibleWithProject(projectRoot, index, graph))) {
|
|
592
|
-
return null;
|
|
593
|
-
}
|
|
594
|
-
const identity = await snapshotFileIdentity(snapshotPath);
|
|
595
|
-
if (!sameSnapshotFileIdentity(parsed.identity, identity))
|
|
596
|
-
return null;
|
|
597
|
-
setBoundedSnapshotCache(detailedSymbolGraphCache, snapshotPath, {
|
|
598
|
-
identity,
|
|
599
|
-
projectSnapshotIdentity: index.projectSnapshotIdentity,
|
|
600
|
-
graph: payload.graph,
|
|
601
|
-
});
|
|
602
|
-
return graph;
|
|
603
|
-
}
|
|
604
|
-
catch {
|
|
605
|
-
return null;
|
|
606
|
-
}
|
|
607
|
-
}
|
|
608
633
|
export async function writeDetailedSymbolGraphSnapshot(projectRoot, opts, index, graph) {
|
|
609
634
|
if ((opts?.cache ?? "off") !== "disk" || !index.projectSnapshotIdentity)
|
|
610
635
|
return;
|
|
@@ -622,13 +647,14 @@ export async function writeDetailedSymbolGraphSnapshot(projectRoot, opts, index,
|
|
|
622
647
|
try {
|
|
623
648
|
const snapshotPath = detailedSymbolGraphSnapshotPath(projectRoot, opts);
|
|
624
649
|
parsedSnapshotCache.delete(snapshotPath);
|
|
650
|
+
transformedSnapshotModulesCache.delete(snapshotPath);
|
|
625
651
|
detailedSymbolGraphCache.delete(snapshotPath);
|
|
626
652
|
const compressed = brotliCompressSync(JSON.stringify(payload), {
|
|
627
653
|
params: { [zlibConstants.BROTLI_PARAM_QUALITY]: 4 },
|
|
628
654
|
});
|
|
629
655
|
await writeSnapshotAtomically(snapshotPath, compressed);
|
|
630
656
|
const identity = await snapshotFileIdentity(snapshotPath);
|
|
631
|
-
setBoundedSnapshotCache(parsedSnapshotCache, snapshotPath, { identity, compressed });
|
|
657
|
+
setBoundedSnapshotCache(parsedSnapshotCache, snapshotPath, { identity, compressed, payload });
|
|
632
658
|
setBoundedSnapshotCache(detailedSymbolGraphCache, snapshotPath, {
|
|
633
659
|
identity,
|
|
634
660
|
projectSnapshotIdentity: index.projectSnapshotIdentity,
|
|
@@ -650,6 +676,57 @@ function detailedSymbolGraphSnapshotPath(projectRoot, opts) {
|
|
|
650
676
|
}
|
|
651
677
|
return snapshotPath;
|
|
652
678
|
}
|
|
679
|
+
export async function tryLoadDetailedSymbolGraphSnapshot(projectRoot, opts, index, report) {
|
|
680
|
+
if ((opts?.cache ?? "off") !== "disk" || !index.projectSnapshotIdentity)
|
|
681
|
+
return null;
|
|
682
|
+
const snapshotPath = detailedSymbolGraphSnapshotPath(projectRoot, opts);
|
|
683
|
+
try {
|
|
684
|
+
const observedIdentity = await snapshotFileIdentity(snapshotPath);
|
|
685
|
+
const cached = detailedSymbolGraphCache.get(snapshotPath);
|
|
686
|
+
if (cached &&
|
|
687
|
+
cached.projectSnapshotIdentity === index.projectSnapshotIdentity &&
|
|
688
|
+
sameSnapshotFileIdentity(cached.identity, observedIdentity)) {
|
|
689
|
+
setBoundedSnapshotCache(detailedSymbolGraphCache, snapshotPath, cached);
|
|
690
|
+
return materializeDetailedSymbolGraph(cached.graph);
|
|
691
|
+
}
|
|
692
|
+
const parsed = await readParsedSnapshot(snapshotPath);
|
|
693
|
+
const migratedPayload = migrateDetailedSymbolGraphPayload(parsed.payload, projectRoot);
|
|
694
|
+
const payload = migratedPayload && typeof migratedPayload === "object" && !Array.isArray(migratedPayload)
|
|
695
|
+
? {
|
|
696
|
+
...migratedPayload,
|
|
697
|
+
graph: transformDetailedGraph(migratedPayload.graph, projectRoot, false),
|
|
698
|
+
}
|
|
699
|
+
: migratedPayload;
|
|
700
|
+
if (!isDetailedSymbolGraphSnapshotPayload(payload) ||
|
|
701
|
+
payload.implementationFingerprint !== getImplementationFingerprint() ||
|
|
702
|
+
payload.projectSnapshotIdentity !== index.projectSnapshotIdentity) {
|
|
703
|
+
recordSnapshotCorruption(report, snapshotPath, "invalid detailed symbol graph payload", opts?.logLevel);
|
|
704
|
+
return null;
|
|
705
|
+
}
|
|
706
|
+
const graph = materializeDetailedSymbolGraph(payload.graph);
|
|
707
|
+
if (!(await isDetailedSymbolGraphCompatibleWithProject(projectRoot, index, graph))) {
|
|
708
|
+
recordSnapshotCorruption(report, snapshotPath, "detailed symbol graph does not match project", opts?.logLevel);
|
|
709
|
+
return null;
|
|
710
|
+
}
|
|
711
|
+
const identity = await snapshotFileIdentity(snapshotPath);
|
|
712
|
+
if (!sameSnapshotFileIdentity(parsed.identity, identity)) {
|
|
713
|
+
recordSnapshotCorruption(report, snapshotPath, "detailed symbol graph changed while reading", opts?.logLevel);
|
|
714
|
+
return null;
|
|
715
|
+
}
|
|
716
|
+
setBoundedSnapshotCache(detailedSymbolGraphCache, snapshotPath, {
|
|
717
|
+
identity,
|
|
718
|
+
projectSnapshotIdentity: index.projectSnapshotIdentity,
|
|
719
|
+
graph: payload.graph,
|
|
720
|
+
});
|
|
721
|
+
return graph;
|
|
722
|
+
}
|
|
723
|
+
catch (error) {
|
|
724
|
+
if (!isMissingArtifactError(error)) {
|
|
725
|
+
recordSnapshotCorruption(report, snapshotPath, String(error), opts?.logLevel);
|
|
726
|
+
}
|
|
727
|
+
return null;
|
|
728
|
+
}
|
|
729
|
+
}
|
|
653
730
|
function detailedSymbolGraphContentHash(projectSnapshotIdentity, graph) {
|
|
654
731
|
const hash = createHash("sha256");
|
|
655
732
|
hash.update(projectSnapshotIdentity);
|
|
@@ -893,6 +970,21 @@ function isProjectFileType(value) {
|
|
|
893
970
|
function isProjectFileRole(value) {
|
|
894
971
|
return value === "manifest" || value === "lockfile" || value === "config" || value === "solution" || value === "ide";
|
|
895
972
|
}
|
|
973
|
+
function isProjectSnapshotModulesPayload(value) {
|
|
974
|
+
if (!value || typeof value !== "object")
|
|
975
|
+
return false;
|
|
976
|
+
const payload = value;
|
|
977
|
+
return (payload.version === PROJECT_SNAPSHOT_VERSION &&
|
|
978
|
+
typeof payload.filesSignature === "string" &&
|
|
979
|
+
typeof payload.projectRoot === "string" &&
|
|
980
|
+
typeof payload.nativeRuntimeFingerprint === "string" &&
|
|
981
|
+
typeof payload.implementationFingerprint === "string" &&
|
|
982
|
+
/^[a-f0-9]{64}$/.test(payload.implementationFingerprint) &&
|
|
983
|
+
Array.isArray(payload.modules) &&
|
|
984
|
+
payload.modules.every(isModuleIndex) &&
|
|
985
|
+
isSnapshotFileSignatureRecord(payload.fileSignatures) &&
|
|
986
|
+
(payload.nativeMode === undefined || isSnapshotNativeMode(payload.nativeMode)));
|
|
987
|
+
}
|
|
896
988
|
function isProjectIndexSnapshotPayload(value) {
|
|
897
989
|
if (!value || typeof value !== "object")
|
|
898
990
|
return false;
|