@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.
Files changed (254) hide show
  1. package/codegraph-skill/codegraph/SKILL.md +4 -5
  2. package/dist/agent/artifact.d.ts.map +1 -1
  3. package/dist/agent/artifact.js +105 -14
  4. package/dist/agent/artifact.js.map +1 -1
  5. package/dist/agent/explain.d.ts +3 -0
  6. package/dist/agent/explain.d.ts.map +1 -1
  7. package/dist/agent/explain.js +8 -0
  8. package/dist/agent/explain.js.map +1 -1
  9. package/dist/agent/explore.js +2 -0
  10. package/dist/agent/explore.js.map +1 -1
  11. package/dist/agent/orient.js +2 -0
  12. package/dist/agent/orient.js.map +1 -1
  13. package/dist/agent/packet.d.ts.map +1 -1
  14. package/dist/agent/packet.js +5 -12
  15. package/dist/agent/packet.js.map +1 -1
  16. package/dist/agent/query-index/content.d.ts +1 -1
  17. package/dist/agent/query-index/content.js +4 -4
  18. package/dist/agent/query-index/content.js.map +1 -1
  19. package/dist/agent/query-index/store.d.ts +3 -4
  20. package/dist/agent/query-index/store.d.ts.map +1 -1
  21. package/dist/agent/query-index/store.js +52 -18
  22. package/dist/agent/query-index/store.js.map +1 -1
  23. package/dist/agent/query-index/update.d.ts.map +1 -1
  24. package/dist/agent/query-index/update.js +24 -9
  25. package/dist/agent/query-index/update.js.map +1 -1
  26. package/dist/agent/renamePreview.d.ts.map +1 -1
  27. package/dist/agent/renamePreview.js +51 -2
  28. package/dist/agent/renamePreview.js.map +1 -1
  29. package/dist/agent/search.d.ts +3 -1
  30. package/dist/agent/search.d.ts.map +1 -1
  31. package/dist/agent/search.js +64 -18
  32. package/dist/agent/search.js.map +1 -1
  33. package/dist/agent/session.d.ts.map +1 -1
  34. package/dist/agent/session.js +1 -1
  35. package/dist/agent/session.js.map +1 -1
  36. package/dist/agent-tools.js +6 -6
  37. package/dist/agent-tools.js.map +1 -1
  38. package/dist/bin/cli.js +2762 -1508
  39. package/dist/bin/queryIndexWorker.js +84 -36
  40. package/dist/bin/rawQueryWorker.js +26 -2
  41. package/dist/cli/callHierarchy.d.ts.map +1 -1
  42. package/dist/cli/callHierarchy.js +9 -2
  43. package/dist/cli/callHierarchy.js.map +1 -1
  44. package/dist/cli/commandTable.js +1 -1
  45. package/dist/cli/commandTable.js.map +1 -1
  46. package/dist/cli/graph.d.ts.map +1 -1
  47. package/dist/cli/graph.js +52 -16
  48. package/dist/cli/graph.js.map +1 -1
  49. package/dist/cli/grep.d.ts +1 -1
  50. package/dist/cli/grep.d.ts.map +1 -1
  51. package/dist/cli/grep.js +14 -4
  52. package/dist/cli/grep.js.map +1 -1
  53. package/dist/cli/install.js +1 -1
  54. package/dist/cli/install.js.map +1 -1
  55. package/dist/cli/options.d.ts.map +1 -1
  56. package/dist/cli/options.js +23 -4
  57. package/dist/cli/options.js.map +1 -1
  58. package/dist/cli/renamePreview.d.ts.map +1 -1
  59. package/dist/cli/renamePreview.js +7 -1
  60. package/dist/cli/renamePreview.js.map +1 -1
  61. package/dist/cli/rootPolicy.d.ts.map +1 -1
  62. package/dist/cli/rootPolicy.js +36 -3
  63. package/dist/cli/rootPolicy.js.map +1 -1
  64. package/dist/cli/skill.js +1 -1
  65. package/dist/cli/skill.js.map +1 -1
  66. package/dist/cli/sql.js +1 -1
  67. package/dist/cli/symbols.d.ts.map +1 -1
  68. package/dist/cli/symbols.js +4 -2
  69. package/dist/cli/symbols.js.map +1 -1
  70. package/dist/cli.d.ts.map +1 -1
  71. package/dist/cli.js +36 -16
  72. package/dist/cli.js.map +1 -1
  73. package/dist/documentLinks/check.d.ts.map +1 -1
  74. package/dist/documentLinks/check.js +20 -9
  75. package/dist/documentLinks/check.js.map +1 -1
  76. package/dist/duplicates/types.d.ts +2 -0
  77. package/dist/duplicates/types.d.ts.map +1 -1
  78. package/dist/duplicates/units.d.ts.map +1 -1
  79. package/dist/duplicates/units.js +6 -2
  80. package/dist/duplicates/units.js.map +1 -1
  81. package/dist/duplicates.d.ts.map +1 -1
  82. package/dist/duplicates.js +59 -0
  83. package/dist/duplicates.js.map +1 -1
  84. package/dist/graphs/symbol-graph-detailed.d.ts +10 -1
  85. package/dist/graphs/symbol-graph-detailed.d.ts.map +1 -1
  86. package/dist/graphs/symbol-graph-detailed.js +18 -4
  87. package/dist/graphs/symbol-graph-detailed.js.map +1 -1
  88. package/dist/impact/analyzer.d.ts.map +1 -1
  89. package/dist/impact/analyzer.js +4 -1
  90. package/dist/impact/analyzer.js.map +1 -1
  91. package/dist/impact/budgets.d.ts.map +1 -1
  92. package/dist/impact/budgets.js +5 -3
  93. package/dist/impact/budgets.js.map +1 -1
  94. package/dist/impact/callCompatibility.d.ts +8 -1
  95. package/dist/impact/callCompatibility.d.ts.map +1 -1
  96. package/dist/impact/callCompatibility.js +55 -17
  97. package/dist/impact/callCompatibility.js.map +1 -1
  98. package/dist/impact/context.d.ts.map +1 -1
  99. package/dist/impact/context.js +4 -1
  100. package/dist/impact/context.js.map +1 -1
  101. package/dist/impact/direct.d.ts +1 -1
  102. package/dist/impact/direct.d.ts.map +1 -1
  103. package/dist/impact/parse.d.ts.map +1 -1
  104. package/dist/impact/parse.js +10 -1
  105. package/dist/impact/parse.js.map +1 -1
  106. package/dist/impact/report-suggestions.d.ts.map +1 -1
  107. package/dist/impact/report-suggestions.js +17 -11
  108. package/dist/impact/report-suggestions.js.map +1 -1
  109. package/dist/impact/report.d.ts.map +1 -1
  110. package/dist/impact/report.js +13 -2
  111. package/dist/impact/report.js.map +1 -1
  112. package/dist/impact/reportCompact.d.ts.map +1 -1
  113. package/dist/impact/reportCompact.js +1 -0
  114. package/dist/impact/reportCompact.js.map +1 -1
  115. package/dist/impact/reportFull.d.ts.map +1 -1
  116. package/dist/impact/reportFull.js +1 -0
  117. package/dist/impact/reportFull.js.map +1 -1
  118. package/dist/impact/reportParts.d.ts +9 -0
  119. package/dist/impact/reportParts.d.ts.map +1 -1
  120. package/dist/impact/severity.d.ts +3 -2
  121. package/dist/impact/severity.d.ts.map +1 -1
  122. package/dist/impact/severity.js +16 -5
  123. package/dist/impact/severity.js.map +1 -1
  124. package/dist/impact/streaming.d.ts.map +1 -1
  125. package/dist/impact/streaming.js +5 -5
  126. package/dist/impact/streaming.js.map +1 -1
  127. package/dist/impact/transitive.d.ts.map +1 -1
  128. package/dist/impact/transitive.js +13 -5
  129. package/dist/impact/transitive.js.map +1 -1
  130. package/dist/impact/types.d.ts +14 -0
  131. package/dist/impact/types.d.ts.map +1 -1
  132. package/dist/impact/types.js.map +1 -1
  133. package/dist/indexer/build-cache/manifest.d.ts +5 -3
  134. package/dist/indexer/build-cache/manifest.d.ts.map +1 -1
  135. package/dist/indexer/build-cache/manifest.js +122 -15
  136. package/dist/indexer/build-cache/manifest.js.map +1 -1
  137. package/dist/indexer/build-cache/module-cache.d.ts +1 -0
  138. package/dist/indexer/build-cache/module-cache.d.ts.map +1 -1
  139. package/dist/indexer/build-cache/module-cache.js +6 -0
  140. package/dist/indexer/build-cache/module-cache.js.map +1 -1
  141. package/dist/indexer/build-cache/project-snapshot.d.ts +7 -11
  142. package/dist/indexer/build-cache/project-snapshot.d.ts.map +1 -1
  143. package/dist/indexer/build-cache/project-snapshot.js +168 -76
  144. package/dist/indexer/build-cache/project-snapshot.js.map +1 -1
  145. package/dist/indexer/build-cache/resolver-environment.d.ts +2 -2
  146. package/dist/indexer/build-cache/resolver-environment.d.ts.map +1 -1
  147. package/dist/indexer/build-cache/resolver-environment.js +33 -6
  148. package/dist/indexer/build-cache/resolver-environment.js.map +1 -1
  149. package/dist/indexer/build-cache.d.ts +2 -2
  150. package/dist/indexer/build-cache.d.ts.map +1 -1
  151. package/dist/indexer/build-cache.js +2 -2
  152. package/dist/indexer/build-cache.js.map +1 -1
  153. package/dist/indexer/build-index.d.ts.map +1 -1
  154. package/dist/indexer/build-index.js +116 -51
  155. package/dist/indexer/build-index.js.map +1 -1
  156. package/dist/indexer/build-manifest.d.ts.map +1 -1
  157. package/dist/indexer/build-manifest.js +3 -0
  158. package/dist/indexer/build-manifest.js.map +1 -1
  159. package/dist/indexer/build-workers.d.ts +1 -1
  160. package/dist/indexer/build-workers.d.ts.map +1 -1
  161. package/dist/indexer/build-workers.js +57 -42
  162. package/dist/indexer/build-workers.js.map +1 -1
  163. package/dist/indexer/import-types.d.ts +8 -0
  164. package/dist/indexer/import-types.d.ts.map +1 -1
  165. package/dist/indexer/imports/python.d.ts.map +1 -1
  166. package/dist/indexer/imports/python.js +13 -8
  167. package/dist/indexer/imports/python.js.map +1 -1
  168. package/dist/indexer/incremental-plan.d.ts +2 -1
  169. package/dist/indexer/incremental-plan.d.ts.map +1 -1
  170. package/dist/indexer/incremental-plan.js +7 -4
  171. package/dist/indexer/incremental-plan.js.map +1 -1
  172. package/dist/indexer/locals-and-exports.d.ts.map +1 -1
  173. package/dist/indexer/locals-and-exports.js +25 -0
  174. package/dist/indexer/locals-and-exports.js.map +1 -1
  175. package/dist/indexer/navigation-references.d.ts.map +1 -1
  176. package/dist/indexer/navigation-references.js +7 -1
  177. package/dist/indexer/navigation-references.js.map +1 -1
  178. package/dist/indexer/navigation.d.ts.map +1 -1
  179. package/dist/indexer/navigation.js +10 -0
  180. package/dist/indexer/navigation.js.map +1 -1
  181. package/dist/indexer/parse-context.d.ts +1 -1
  182. package/dist/indexer/parse-context.d.ts.map +1 -1
  183. package/dist/indexer/parse-context.js +23 -2
  184. package/dist/indexer/parse-context.js.map +1 -1
  185. package/dist/indexer/types.d.ts +5 -1
  186. package/dist/indexer/types.d.ts.map +1 -1
  187. package/dist/installer/locks.d.ts.map +1 -1
  188. package/dist/installer/locks.js +1 -3
  189. package/dist/installer/locks.js.map +1 -1
  190. package/dist/installer/registry.d.ts.map +1 -1
  191. package/dist/installer/registry.js +62 -5
  192. package/dist/installer/registry.js.map +1 -1
  193. package/dist/mcp/server.d.ts +15 -0
  194. package/dist/mcp/server.d.ts.map +1 -1
  195. package/dist/mcp/server.js +126 -34
  196. package/dist/mcp/server.js.map +1 -1
  197. package/dist/mcp/tools.d.ts.map +1 -1
  198. package/dist/mcp/tools.js +8 -1
  199. package/dist/mcp/tools.js.map +1 -1
  200. package/dist/review/candidates.d.ts.map +1 -1
  201. package/dist/review/candidates.js +4 -1
  202. package/dist/review/candidates.js.map +1 -1
  203. package/dist/review/summaries.d.ts +5 -0
  204. package/dist/review/summaries.d.ts.map +1 -1
  205. package/dist/review/summaries.js +19 -11
  206. package/dist/review/summaries.js.map +1 -1
  207. package/dist/review/types.d.ts +3 -1
  208. package/dist/review/types.d.ts.map +1 -1
  209. package/dist/review/types.js +8 -1
  210. package/dist/review/types.js.map +1 -1
  211. package/dist/review.d.ts.map +1 -1
  212. package/dist/review.js +7 -3
  213. package/dist/review.js.map +1 -1
  214. package/dist/sqlite/schema.d.ts +2 -1
  215. package/dist/sqlite/schema.d.ts.map +1 -1
  216. package/dist/sqlite/schema.js +15 -1
  217. package/dist/sqlite/schema.js.map +1 -1
  218. package/dist/sqlite/write.d.ts.map +1 -1
  219. package/dist/sqlite/write.js +15 -0
  220. package/dist/sqlite/write.js.map +1 -1
  221. package/dist/sqlite-driver.d.ts +11 -0
  222. package/dist/sqlite-driver.d.ts.map +1 -1
  223. package/dist/sqlite-driver.js +27 -2
  224. package/dist/sqlite-driver.js.map +1 -1
  225. package/dist/util/concurrency.d.ts +1 -0
  226. package/dist/util/concurrency.d.ts.map +1 -1
  227. package/dist/util/concurrency.js +9 -2
  228. package/dist/util/concurrency.js.map +1 -1
  229. package/dist/util/confinedFile.d.ts +1 -0
  230. package/dist/util/confinedFile.d.ts.map +1 -1
  231. package/dist/util/confinedFile.js +17 -5
  232. package/dist/util/confinedFile.js.map +1 -1
  233. package/dist/util/errors.d.ts +2 -0
  234. package/dist/util/errors.d.ts.map +1 -1
  235. package/dist/util/errors.js +18 -0
  236. package/dist/util/errors.js.map +1 -1
  237. package/dist/util/git.d.ts.map +1 -1
  238. package/dist/util/git.js +72 -7
  239. package/dist/util/git.js.map +1 -1
  240. package/dist/util/paths.d.ts.map +1 -1
  241. package/dist/util/paths.js +45 -9
  242. package/dist/util/paths.js.map +1 -1
  243. package/dist/util/resolution/jvm.d.ts.map +1 -1
  244. package/dist/util/resolution/jvm.js +14 -8
  245. package/dist/util/resolution/jvm.js.map +1 -1
  246. package/dist/util/resolution/tsconfig.d.ts.map +1 -1
  247. package/dist/util/resolution/tsconfig.js +26 -12
  248. package/dist/util/resolution/tsconfig.js.map +1 -1
  249. package/dist/worker/nativeExtractWorker.d.ts +4 -2
  250. package/dist/worker/nativeExtractWorker.d.ts.map +1 -1
  251. package/dist/worker/nativeExtractWorker.js +12 -11
  252. package/dist/worker/nativeExtractWorker.js.map +1 -1
  253. package/docs/mcp.md +6 -4
  254. 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>): Promise<LoadedProjectIndexSnapshot | null>;
39
+ export declare function tryLoadProjectIndexSnapshot(projectRoot: string, opts: BuildOptions | undefined, manifestEntries: ReadonlyMap<string, ManifestFileEntry>, report?: BuildReport): Promise<LoadedProjectIndexSnapshot | null>;
40
40
  /**
41
- * Load only the bloom-filter section of the last-written project snapshot. Hydration checks
42
- * each requested file against its persisted signature before returning a filter, so a stale
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">>): Promise<Map<string, ModuleIndex> | null>;
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":"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"}
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: decodeSnapshotPayload(cached.compressed) };
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 rawPayload = (await readParsedSnapshot(projectSnapshotPath(projectRoot, opts))).payload;
300
- const migratedPayload = migrateProjectSnapshotPayload(rawPayload, projectRoot);
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 the bloom-filter section of the last-written project snapshot. Hydration checks
352
- * each requested file against its persisted signature before returning a filter, so a stale
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 rawPayload = (await readParsedSnapshot(projectSnapshotPath(projectRoot, opts))).payload;
363
- const migratedPayload = migrateProjectSnapshotPayload(rawPayload, projectRoot);
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 (!isProjectIndexSnapshotPayload(payload) ||
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
- // Fall back to legacy project snapshot payload if sidecar is unavailable or corrupt
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
- setBoundedSnapshotCache(parsedSnapshotCache, snapshotPath, { identity, compressed });
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;