@lzehrung/codegraph 2.3.16 → 2.3.18

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.
@@ -134,7 +134,7 @@ Current-state commands validate the on-disk index automatically and default to t
134
134
  - Repeated agent queries over one repo snapshot: prefer MCP so the index stays warm. MCP inputs are flat JSON objects and the server root is fixed at startup; send only fields in the mounted tool schema, never CLI flags such as `--root` or `--json`. Unknown tool fields are rejected as invalid parameters. If the first MCP call fails at startup or loses its transport, do not retry the same server; run `codegraph doctor`, use the equivalent CLI command for this session, and restart the agent client after package upgrades.
135
135
  - Durable graph handoff: use `codegraph graph --root . ./src --json --output codegraph.json` rather than parsing display text. `graph --json` and `index --json` payloads include an `analysis` object (`mode`, `backend`, `label`, fallback counts); when `mode` is `mixed` or `reduced` the run used regex/graph-only extraction for some or all files, so treat symbol accuracy accordingly. Degraded runs also print a `Backend:` warning on stderr even without `--progress`.
136
136
  - Search and inspect performance diagnosis: add `--report` for JSON on stderr or `--report-file <path>` for a file while keeping normal command output unchanged.
137
- - Index discovery diagnosis: `--report` timing JSON can include `sourceDiscoveryMs`, `metadataDiscoveryMs`, `gitListMs`, `filesystemScanMs`, and `cacheProbeMs` when those steps run.
137
+ - Index discovery diagnosis: `--report` timing JSON can include `sourceDiscoveryMs`, `metadataDiscoveryMs`, `gitListMs`, `filesystemScanMs`, and `cacheProbeMs` when those steps run. Named `steps` can also include discovery and post-parse persistence durations (`cache-probe`, `persist-cache`, `workspace-manifests`, `index-manifest`, `finalize`, `snapshot-write`); incremental updates include `snapshot-write` when the project snapshot is rewritten.
138
138
 
139
139
  ### Human Graph Viewer
140
140
 
package/dist/bin/cli.js CHANGED
@@ -1244,7 +1244,7 @@ function createInteractiveProgressDisplay(write, delayMs = 0) {
1244
1244
  if (!rendered)
1245
1245
  return;
1246
1246
  clear();
1247
- const verb = progressCompleteVerb(mode);
1247
+ const verb = progressCompleteVerb(update.mode ?? mode);
1248
1248
  const fileCount = formatFileCount(update.total, "words");
1249
1249
  const elapsed = update.elapsedMs === void 0 ? "" : ` in ${formatDuration(update.elapsedMs)}`;
1250
1250
  write(`${verb} project index: ${fileCount}${elapsed}.
@@ -1359,7 +1359,7 @@ function createLogProgressDisplay(write, delayMs = 0) {
1359
1359
  stopTimers();
1360
1360
  if (!rendered)
1361
1361
  return;
1362
- const verb = progressCompleteVerb(mode);
1362
+ const verb = progressCompleteVerb(update.mode ?? mode);
1363
1363
  const elapsed = update.elapsedMs === void 0 ? "" : ` in ${formatDuration(update.elapsedMs)}`;
1364
1364
  write(`[Progress] ${verb} project index: ${formatFileCount(update.total, "words")}${elapsed}.
1365
1365
  `);
@@ -29469,6 +29469,88 @@ var init_locals_and_exports = __esm({
29469
29469
  }
29470
29470
  });
29471
29471
 
29472
+ // dist/indexer/expand-star-imports.js
29473
+ function symbolsForStarImport(target) {
29474
+ const localExports = [];
29475
+ for (const entry of target.exports) {
29476
+ if (entry.type === "local") {
29477
+ localExports.push({ name: entry.exportedAs, symbol: entry.target });
29478
+ }
29479
+ }
29480
+ if (localExports.length)
29481
+ return localExports;
29482
+ const visible = [];
29483
+ for (const local of target.locals) {
29484
+ if (local.localName.startsWith("_"))
29485
+ continue;
29486
+ visible.push({ name: local.localName, symbol: local });
29487
+ }
29488
+ return visible;
29489
+ }
29490
+ function expandStarImports(modules, opts) {
29491
+ const expandedImportKey = (binding) => {
29492
+ const typeOnly = binding.typeOnly ?? false;
29493
+ if (binding.kind === "named") {
29494
+ return JSON.stringify(["named", binding.from, binding.resolved, typeOnly, binding.local, binding.imported]);
29495
+ }
29496
+ if (binding.kind === "namespace") {
29497
+ return JSON.stringify(["namespace", binding.from, binding.resolved, typeOnly, binding.localNS]);
29498
+ }
29499
+ return null;
29500
+ };
29501
+ for (const mod2 of modules.values()) {
29502
+ const expandedImportKeys = /* @__PURE__ */ new Set();
29503
+ for (const existing of mod2.imports) {
29504
+ const key = expandedImportKey(existing);
29505
+ if (key)
29506
+ expandedImportKeys.add(key);
29507
+ }
29508
+ for (const imp of [...mod2.imports]) {
29509
+ if (imp.kind !== "star" || typeof imp.resolved !== "string")
29510
+ continue;
29511
+ const target = modules.get(fileIdentityKey(imp.resolved));
29512
+ if (!target)
29513
+ continue;
29514
+ const targetSupport = supportForFile(imp.resolved, opts?.languageExtensions);
29515
+ const exportedSymbols = symbolsForStarImport(target);
29516
+ const seen = /* @__PURE__ */ new Set();
29517
+ for (const { name, symbol: symbol2 } of exportedSymbols) {
29518
+ if (!name || seen.has(name))
29519
+ continue;
29520
+ seen.add(name);
29521
+ const treatAsNamespace = targetSupport?.id === "ruby" && symbol2.kind === SymbolKind.Class;
29522
+ const expandedImport = treatAsNamespace ? {
29523
+ kind: "namespace",
29524
+ localNS: name,
29525
+ from: imp.from,
29526
+ resolved: imp.resolved,
29527
+ ...imp.typeOnly !== void 0 ? { typeOnly: imp.typeOnly } : {}
29528
+ } : {
29529
+ kind: "named",
29530
+ local: name,
29531
+ imported: name,
29532
+ from: imp.from,
29533
+ resolved: imp.resolved,
29534
+ ...imp.typeOnly !== void 0 ? { typeOnly: imp.typeOnly } : {}
29535
+ };
29536
+ const expandedImportKeyValue = expandedImportKey(expandedImport);
29537
+ if (!expandedImportKeyValue || expandedImportKeys.has(expandedImportKeyValue))
29538
+ continue;
29539
+ expandedImportKeys.add(expandedImportKeyValue);
29540
+ mod2.imports.push(expandedImport);
29541
+ }
29542
+ }
29543
+ }
29544
+ }
29545
+ var init_expand_star_imports = __esm({
29546
+ "dist/indexer/expand-star-imports.js"() {
29547
+ "use strict";
29548
+ init_languages();
29549
+ init_paths();
29550
+ init_types2();
29551
+ }
29552
+ });
29553
+
29472
29554
  // dist/languages/queryGenerator.js
29473
29555
  function generateChunkingQuery(def) {
29474
29556
  const parts = [];
@@ -32986,6 +33068,8 @@ function getDiskModuleCache(projectRoot, opts) {
32986
33068
  const cache = {
32987
33069
  db,
32988
33070
  load: db.prepare("SELECT sig, version, payload FROM module_cache WHERE file = ?"),
33071
+ loadAll: db.prepare("SELECT file, sig, version, payload FROM module_cache WHERE version = ?"),
33072
+ listFiles: db.prepare("SELECT file FROM module_cache WHERE version = ?"),
32989
33073
  write: db.prepare(`INSERT INTO module_cache (file, sig, version, payload, updated_at)
32990
33074
  VALUES (?, ?, ?, ?, ?)
32991
33075
  ON CONFLICT(file) DO UPDATE SET
@@ -33189,6 +33273,54 @@ function transformModulePaths(projectRoot, module2, toRelative) {
33189
33273
  imports: module2.imports.map((binding) => typeof binding.resolved === "string" ? { ...binding, resolved: transform2(binding.resolved) } : binding)
33190
33274
  };
33191
33275
  }
33276
+ function listDiskCachedModuleFiles(projectRoot, opts) {
33277
+ if ((opts?.cache ?? "off") !== "disk")
33278
+ return null;
33279
+ if (!isNodeSqliteUsable())
33280
+ return null;
33281
+ if (!diskModuleCacheExists(projectRoot, opts))
33282
+ return /* @__PURE__ */ new Set();
33283
+ try {
33284
+ const cache = getDiskModuleCache(projectRoot, opts);
33285
+ const rows = cache.listFiles.all(PARSED_CACHE_VERSION);
33286
+ return new Set(rows.map((row) => row.file));
33287
+ } catch (error51) {
33288
+ if (isNodeSqliteUnavailableError(error51)) {
33289
+ reportMissingNodeSqlite(opts?.logLevel, error51);
33290
+ return null;
33291
+ }
33292
+ return null;
33293
+ }
33294
+ }
33295
+ function loadAllCachedModules(projectRoot, opts) {
33296
+ if ((opts?.cache ?? "off") !== "disk")
33297
+ return null;
33298
+ if (!isNodeSqliteUsable())
33299
+ return null;
33300
+ if (!diskModuleCacheExists(projectRoot, opts))
33301
+ return /* @__PURE__ */ new Map();
33302
+ try {
33303
+ const cache = getDiskModuleCache(projectRoot, opts);
33304
+ return cache.db.transaction(() => {
33305
+ const rows = cache.loadAll.all(PARSED_CACHE_VERSION);
33306
+ const modules = /* @__PURE__ */ new Map();
33307
+ for (const row of rows) {
33308
+ const parsed = JSON.parse(brotliDecompressSync(row.payload).toString("utf8"));
33309
+ if (!isModuleIndex(parsed))
33310
+ continue;
33311
+ const rehydrated = transformModulePaths(projectRoot, parsed, false);
33312
+ modules.set(fileIdentityKey(rehydrated.file), { sig: row.sig, mod: rehydrated });
33313
+ }
33314
+ return modules;
33315
+ })();
33316
+ } catch (error51) {
33317
+ if (isNodeSqliteUnavailableError(error51)) {
33318
+ reportMissingNodeSqlite(opts?.logLevel, error51);
33319
+ return null;
33320
+ }
33321
+ return null;
33322
+ }
33323
+ }
33192
33324
  function tryLoadFromCache(projectRoot, file2, sig, opts, report, diskCacheAvailable = true) {
33193
33325
  const mode = opts?.cache ?? "off";
33194
33326
  const cacheReport = initCacheReport(report, mode);
@@ -51648,11 +51780,14 @@ async function loadManifest(projectRoot, opts, report) {
51648
51780
  return null;
51649
51781
  }
51650
51782
  }
51783
+ function serializeIndexManifest(manifest) {
51784
+ return JSON.stringify(manifest);
51785
+ }
51651
51786
  async function writeManifest2(projectRoot, opts, manifest) {
51652
51787
  try {
51653
51788
  const manifestPath = manifestFilePath(projectRoot, opts);
51654
51789
  await fsp21.mkdir(path41.dirname(manifestPath), { recursive: true });
51655
- await writeManifestAtomically(manifestPath, JSON.stringify(manifest, null, 2));
51790
+ await writeManifestAtomically(manifestPath, serializeIndexManifest(manifest));
51656
51791
  return true;
51657
51792
  } catch (error51) {
51658
51793
  logWithLevel(opts?.logLevel, "warn", "Warning: Failed to write manifest:", error51);
@@ -52771,8 +52906,9 @@ async function tryLoadProjectIndexSnapshot(projectRoot, opts, manifestEntries, r
52771
52906
  if ((opts?.cache ?? "off") !== "disk")
52772
52907
  return null;
52773
52908
  try {
52774
- const parsedSnapshot = await readParsedSnapshot(projectSnapshotPath(projectRoot, opts));
52775
- const payload = transformCachedProjectSnapshot(projectSnapshotPath(projectRoot, opts), parsedSnapshot.identity, parsedSnapshot.payload, projectRoot);
52909
+ const snapshotPath = projectSnapshotPath(projectRoot, opts);
52910
+ const parsedSnapshot = await readParsedSnapshot(snapshotPath);
52911
+ const payload = transformCachedProjectSnapshot(snapshotPath, parsedSnapshot.identity, parsedSnapshot.payload, projectRoot);
52776
52912
  const nativeRuntimeFingerprint = getNativeRuntimeFingerprint(opts?.native);
52777
52913
  const implementationFingerprint = getImplementationFingerprint();
52778
52914
  if (!isProjectIndexSnapshotPayload(payload)) {
@@ -52787,7 +52923,11 @@ async function tryLoadProjectIndexSnapshot(projectRoot, opts, manifestEntries, r
52787
52923
  nodes: new Set(payload.graph.nodes),
52788
52924
  edges: payload.graph.edges
52789
52925
  };
52790
- const modules = new Map(payload.modules.map((moduleIndex) => [fileIdentityKey(moduleIndex.file), moduleIndex]));
52926
+ const modules = collectSnapshotModules(projectRoot, opts, payload, snapshotPath, parsedSnapshot.identity);
52927
+ if (!modules || !thinSnapshotModulesComplete(payload, modules)) {
52928
+ recordSnapshotInvalidation(snapshotPath, "thin snapshot missing disk-cached modules", opts?.logLevel);
52929
+ return null;
52930
+ }
52791
52931
  const shouldHydrateBloomFilters = opts?.useBloomFilters ?? true;
52792
52932
  const index = {
52793
52933
  graph,
@@ -52838,9 +52978,12 @@ async function tryLoadProjectSnapshotModules(projectRoot, opts, fileSignatures,
52838
52978
  }
52839
52979
  const normalizedFileSignatures = new Map(Object.entries(payload.fileSignatures).map(([file2, signature]) => [fileIdentityKey(file2), signature]));
52840
52980
  const normalizedCurrentSignatures = new Map(Array.from(fileSignatures, ([file2, signature]) => [fileIdentityKey(file2), signature]));
52981
+ const snapshotPath = projectSnapshotPath(projectRoot, opts);
52982
+ const candidates = collectSnapshotModules(projectRoot, opts, payload, snapshotPath, parsedSnapshot.identity);
52983
+ if (!candidates)
52984
+ return /* @__PURE__ */ new Map();
52841
52985
  const modules = /* @__PURE__ */ new Map();
52842
- for (const mod2 of payload.modules) {
52843
- const moduleKey = fileIdentityKey(mod2.file);
52986
+ for (const [moduleKey, mod2] of candidates) {
52844
52987
  const signature = normalizedCurrentSignatures.get(moduleKey);
52845
52988
  const snapshotSignature = normalizedFileSignatures.get(moduleKey);
52846
52989
  if (!signature || !snapshotSignature || !snapshotSignatureMatches(snapshotSignature, signature))
@@ -52911,7 +53054,7 @@ function persistedBloomFiltersFromSnapshot(value, projectRoot) {
52911
53054
  if (!migrated || typeof migrated !== "object")
52912
53055
  return null;
52913
53056
  const payload = migrated;
52914
- if (payload.version !== PROJECT_SNAPSHOT_VERSION || typeof payload.projectRoot !== "string" || payload.implementationFingerprint !== getImplementationFingerprint()) {
53057
+ if (!isSupportedProjectSnapshotVersion(payload.version) || typeof payload.projectRoot !== "string" || payload.implementationFingerprint !== getImplementationFingerprint()) {
52915
53058
  return null;
52916
53059
  }
52917
53060
  const bloomFilters = payload.bloomFilters;
@@ -52936,6 +53079,76 @@ function createPersistedBloomFilters(bloomFilters, fileSignatures, projectRoot)
52936
53079
  }
52937
53080
  };
52938
53081
  }
53082
+ function isSupportedProjectSnapshotVersion(version3) {
53083
+ return version3 === PROJECT_SNAPSHOT_VERSION || version3 === LEGACY_EMBEDDED_MODULE_SNAPSHOT_VERSION;
53084
+ }
53085
+ function snapshotHydratesModulesFromDisk(version3) {
53086
+ return version3 === PROJECT_SNAPSHOT_VERSION;
53087
+ }
53088
+ function mutableModuleIndex(mod2) {
53089
+ if (!Object.isFrozen(mod2) && !Object.isFrozen(mod2.imports) && !Object.isFrozen(mod2.exports) && !Object.isFrozen(mod2.locals)) {
53090
+ return mod2;
53091
+ }
53092
+ return {
53093
+ file: mod2.file,
53094
+ exports: [...mod2.exports],
53095
+ imports: [...mod2.imports],
53096
+ locals: [...mod2.locals]
53097
+ };
53098
+ }
53099
+ function modulesForThinSnapshot(index, projectRoot, opts) {
53100
+ const modules = [...index.byFile.values()];
53101
+ const cachedFiles = listDiskCachedModuleFiles(projectRoot, opts);
53102
+ if (!cachedFiles)
53103
+ return modules;
53104
+ return modules.filter((module2) => !cachedFiles.has(cacheRelativePath(projectRoot, module2.file)));
53105
+ }
53106
+ function collectSnapshotModules(projectRoot, opts, payload, snapshotPath, identity) {
53107
+ const cached2 = hydratedSnapshotModulesCache.get(snapshotPath);
53108
+ if (cached2 && cached2.root === projectRoot && sameSnapshotFileIdentity(cached2.identity, identity)) {
53109
+ setBoundedSnapshotCache(hydratedSnapshotModulesCache, snapshotPath, cached2);
53110
+ return cached2.modules;
53111
+ }
53112
+ const modules = /* @__PURE__ */ new Map();
53113
+ for (const mod2 of payload.modules) {
53114
+ modules.set(fileIdentityKey(mod2.file), mod2);
53115
+ }
53116
+ if (snapshotHydratesModulesFromDisk(payload.version)) {
53117
+ const cachedModules = loadAllCachedModules(projectRoot, opts);
53118
+ if (!cachedModules && modules.size === 0)
53119
+ return null;
53120
+ if (cachedModules) {
53121
+ for (const [key, row] of cachedModules) {
53122
+ if (modules.has(key))
53123
+ continue;
53124
+ modules.set(key, row.mod);
53125
+ }
53126
+ }
53127
+ for (const [key, mod2] of modules) {
53128
+ if (!mod2.imports.some((binding) => binding.kind === "star"))
53129
+ continue;
53130
+ modules.set(key, mutableModuleIndex(mod2));
53131
+ }
53132
+ expandStarImports(modules, opts);
53133
+ for (const [key, mod2] of modules) {
53134
+ if (Object.isFrozen(mod2))
53135
+ continue;
53136
+ modules.set(key, freezeSnapshotPayload(mod2));
53137
+ }
53138
+ }
53139
+ const entry = { identity, root: projectRoot, modules };
53140
+ setBoundedSnapshotCache(hydratedSnapshotModulesCache, snapshotPath, entry);
53141
+ return modules;
53142
+ }
53143
+ function thinSnapshotModulesComplete(payload, modules) {
53144
+ if (!snapshotHydratesModulesFromDisk(payload.version))
53145
+ return true;
53146
+ for (const file2 of Object.keys(payload.fileSignatures)) {
53147
+ if (!modules.has(fileIdentityKey(file2)))
53148
+ return false;
53149
+ }
53150
+ return true;
53151
+ }
52939
53152
  function snapshotSignatureMatches(snapshotSignature, currentSignature) {
52940
53153
  const matchingGitSignature = !!snapshotSignature.gitSig && !!currentSignature.gitSig && snapshotSignature.gitSig === currentSignature.gitSig;
52941
53154
  if (matchingGitSignature)
@@ -52961,7 +53174,7 @@ async function writeProjectIndexSnapshot(projectRoot, opts, index, filesSignatur
52961
53174
  nodes: [...index.graph.nodes],
52962
53175
  edges: index.graph.edges
52963
53176
  },
52964
- modules: [...index.byFile.values()],
53177
+ modules: modulesForThinSnapshot(index, projectRoot, opts),
52965
53178
  fileSignatures,
52966
53179
  ...index.languageExtensions ? { languageExtensions: index.languageExtensions } : {},
52967
53180
  ...normalizedSnapshotNativeMode(index.nativeMode) ? { nativeMode: normalizedSnapshotNativeMode(index.nativeMode) } : {},
@@ -52979,6 +53192,7 @@ async function writeProjectIndexSnapshot(projectRoot, opts, index, filesSignatur
52979
53192
  const identity = await snapshotFileIdentity(snapshotPath);
52980
53193
  transformedSnapshotCache.delete(snapshotPath);
52981
53194
  transformedSnapshotModulesCache.delete(snapshotPath);
53195
+ hydratedSnapshotModulesCache.delete(snapshotPath);
52982
53196
  setBoundedSnapshotCache(parsedSnapshotCache, snapshotPath, { identity, compressed, payload });
52983
53197
  index.projectSnapshotIdentity = projectSnapshotIdentity;
52984
53198
  if (serializedBloomFilters) {
@@ -53295,13 +53509,13 @@ function isProjectSnapshotModulesPayload(value) {
53295
53509
  if (!value || typeof value !== "object")
53296
53510
  return false;
53297
53511
  const payload = value;
53298
- return payload.version === PROJECT_SNAPSHOT_VERSION && typeof payload.filesSignature === "string" && typeof payload.projectRoot === "string" && typeof payload.nativeRuntimeFingerprint === "string" && typeof payload.implementationFingerprint === "string" && /^[a-f0-9]{64}$/.test(payload.implementationFingerprint) && Array.isArray(payload.modules) && payload.modules.every(isModuleIndex2) && isSnapshotFileSignatureRecord(payload.fileSignatures) && (payload.nativeMode === void 0 || isSnapshotNativeMode(payload.nativeMode));
53512
+ return isSupportedProjectSnapshotVersion(payload.version) && typeof payload.filesSignature === "string" && typeof payload.projectRoot === "string" && typeof payload.nativeRuntimeFingerprint === "string" && typeof payload.implementationFingerprint === "string" && /^[a-f0-9]{64}$/.test(payload.implementationFingerprint) && Array.isArray(payload.modules) && payload.modules.every(isModuleIndex2) && isSnapshotFileSignatureRecord(payload.fileSignatures) && (payload.nativeMode === void 0 || isSnapshotNativeMode(payload.nativeMode));
53299
53513
  }
53300
53514
  function isProjectIndexSnapshotPayload(value) {
53301
53515
  if (!value || typeof value !== "object")
53302
53516
  return false;
53303
53517
  const payload = value;
53304
- return payload.version === PROJECT_SNAPSHOT_VERSION && typeof payload.filesSignature === "string" && typeof payload.projectRoot === "string" && typeof payload.nativeRuntimeFingerprint === "string" && typeof payload.implementationFingerprint === "string" && /^[a-f0-9]{64}$/.test(payload.implementationFingerprint) && !!payload.graph && Array.isArray(payload.graph.nodes) && payload.graph.nodes.every((node) => typeof node === "string") && Array.isArray(payload.graph.edges) && payload.graph.edges.every(isGraphEdge) && Array.isArray(payload.modules) && payload.modules.every(isModuleIndex2) && isSnapshotFileSignatureRecord(payload.fileSignatures) && (payload.nativeMode === void 0 || isSnapshotNativeMode(payload.nativeMode)) && (payload.languageExtensions === void 0 || isLanguageExtensionMap(payload.languageExtensions)) && (payload.bloomFilters === void 0 || isSerializedBloomFilterRecord(payload.bloomFilters)) && (payload.analysis === void 0 || isAnalysisSummary(payload.analysis)) && (payload.analysisReport === void 0 || isSnapshotAnalysisReport(payload.analysisReport)) && (payload.projectFiles === void 0 || Array.isArray(payload.projectFiles) && payload.projectFiles.every(isProjectFileInfo));
53518
+ return isSupportedProjectSnapshotVersion(payload.version) && typeof payload.filesSignature === "string" && typeof payload.projectRoot === "string" && typeof payload.nativeRuntimeFingerprint === "string" && typeof payload.implementationFingerprint === "string" && /^[a-f0-9]{64}$/.test(payload.implementationFingerprint) && !!payload.graph && Array.isArray(payload.graph.nodes) && payload.graph.nodes.every((node) => typeof node === "string") && Array.isArray(payload.graph.edges) && payload.graph.edges.every(isGraphEdge) && Array.isArray(payload.modules) && payload.modules.every(isModuleIndex2) && isSnapshotFileSignatureRecord(payload.fileSignatures) && (payload.nativeMode === void 0 || isSnapshotNativeMode(payload.nativeMode)) && (payload.languageExtensions === void 0 || isLanguageExtensionMap(payload.languageExtensions)) && (payload.bloomFilters === void 0 || isSerializedBloomFilterRecord(payload.bloomFilters)) && (payload.analysis === void 0 || isAnalysisSummary(payload.analysis)) && (payload.analysisReport === void 0 || isSnapshotAnalysisReport(payload.analysisReport)) && (payload.projectFiles === void 0 || Array.isArray(payload.projectFiles) && payload.projectFiles.every(isProjectFileInfo));
53305
53519
  }
53306
53520
  function analysisReportFromBuildReport(report) {
53307
53521
  if (!report?.backend && !report?.graph) {
@@ -53525,7 +53739,7 @@ function isEdgeTo(value) {
53525
53739
  return typeof edgeTo.name === "string";
53526
53740
  return false;
53527
53741
  }
53528
- var SNAPSHOT_SYMBOL_KINDS, PROJECT_SNAPSHOT_VERSION, BLOOM_FILTER_SNAPSHOT_VERSION, BLOOM_FILTER_SNAPSHOT_FILENAME, BLOOM_FILTER_MIN_SIZE, BLOOM_FILTER_MAX_SIZE, BLOOM_FILTER_MIN_HASH_COUNT, BLOOM_FILTER_MAX_HASH_COUNT, DETAILED_SYMBOL_GRAPH_SNAPSHOT_VERSION, DETAILED_SYMBOL_GRAPH_SNAPSHOT_FILENAME, SNAPSHOT_TEMP_RETENTION_MS, SNAPSHOT_TEMP_SUFFIX, MAX_SNAPSHOT_CACHE_ENTRIES, parsedSnapshotCache, transformedSnapshotCache, transformedSnapshotModulesCache, detailedSymbolGraphCache;
53742
+ var SNAPSHOT_SYMBOL_KINDS, PROJECT_SNAPSHOT_VERSION, LEGACY_EMBEDDED_MODULE_SNAPSHOT_VERSION, BLOOM_FILTER_SNAPSHOT_VERSION, BLOOM_FILTER_SNAPSHOT_FILENAME, BLOOM_FILTER_MIN_SIZE, BLOOM_FILTER_MAX_SIZE, BLOOM_FILTER_MIN_HASH_COUNT, BLOOM_FILTER_MAX_HASH_COUNT, DETAILED_SYMBOL_GRAPH_SNAPSHOT_VERSION, DETAILED_SYMBOL_GRAPH_SNAPSHOT_FILENAME, SNAPSHOT_TEMP_RETENTION_MS, SNAPSHOT_TEMP_SUFFIX, MAX_SNAPSHOT_CACHE_ENTRIES, parsedSnapshotCache, transformedSnapshotCache, transformedSnapshotModulesCache, hydratedSnapshotModulesCache, detailedSymbolGraphCache;
53529
53743
  var init_project_snapshot = __esm({
53530
53744
  "dist/indexer/build-cache/project-snapshot.js"() {
53531
53745
  "use strict";
@@ -53541,8 +53755,10 @@ var init_project_snapshot = __esm({
53541
53755
  init_options2();
53542
53756
  init_module_cache();
53543
53757
  init_location();
53758
+ init_expand_star_imports();
53544
53759
  SNAPSHOT_SYMBOL_KINDS = new Set(Object.values(SymbolKind));
53545
- PROJECT_SNAPSHOT_VERSION = 10;
53760
+ PROJECT_SNAPSHOT_VERSION = 11;
53761
+ LEGACY_EMBEDDED_MODULE_SNAPSHOT_VERSION = 10;
53546
53762
  BLOOM_FILTER_SNAPSHOT_VERSION = 4;
53547
53763
  BLOOM_FILTER_SNAPSHOT_FILENAME = "bloom-filters.json";
53548
53764
  BLOOM_FILTER_MIN_SIZE = 1e3;
@@ -53557,6 +53773,7 @@ var init_project_snapshot = __esm({
53557
53773
  parsedSnapshotCache = /* @__PURE__ */ new Map();
53558
53774
  transformedSnapshotCache = /* @__PURE__ */ new Map();
53559
53775
  transformedSnapshotModulesCache = /* @__PURE__ */ new Map();
53776
+ hydratedSnapshotModulesCache = /* @__PURE__ */ new Map();
53560
53777
  detailedSymbolGraphCache = /* @__PURE__ */ new Map();
53561
53778
  }
53562
53779
  });
@@ -55889,61 +56106,6 @@ function projectPatternsForLanguageExtensions(opts) {
55889
56106
  return void 0;
55890
56107
  return [...DEFAULT_PROJECT_PATTERNS, ...customPatterns];
55891
56108
  }
55892
- function expandStarImports(modules, opts) {
55893
- const expandedImportKey = (binding) => {
55894
- const typeOnly = binding.typeOnly ?? false;
55895
- if (binding.kind === "named") {
55896
- return JSON.stringify(["named", binding.from, binding.resolved, typeOnly, binding.local, binding.imported]);
55897
- }
55898
- if (binding.kind === "namespace") {
55899
- return JSON.stringify(["namespace", binding.from, binding.resolved, typeOnly, binding.localNS]);
55900
- }
55901
- return null;
55902
- };
55903
- for (const mod2 of modules.values()) {
55904
- const expandedImportKeys = /* @__PURE__ */ new Set();
55905
- for (const existing of mod2.imports) {
55906
- const key = expandedImportKey(existing);
55907
- if (key)
55908
- expandedImportKeys.add(key);
55909
- }
55910
- for (const imp of [...mod2.imports]) {
55911
- if (imp.kind !== "star" || typeof imp.resolved !== "string")
55912
- continue;
55913
- const target = modules.get(fileIdentityKey(imp.resolved));
55914
- if (!target)
55915
- continue;
55916
- const targetSupport = supportForFile(imp.resolved, opts?.languageExtensions);
55917
- const exportedSymbols = target.exports.filter((entry) => entry.type === "local").length ? target.exports.filter((entry) => entry.type === "local").map((entry) => entry.target) : target.locals.filter((local) => !local.localName.startsWith("_"));
55918
- const seen = /* @__PURE__ */ new Set();
55919
- for (const symbol2 of exportedSymbols) {
55920
- if (!symbol2.localName || seen.has(symbol2.localName))
55921
- continue;
55922
- seen.add(symbol2.localName);
55923
- const treatAsNamespace = targetSupport?.id === "ruby" && symbol2.kind === SymbolKind.Class;
55924
- const expandedImport = treatAsNamespace ? {
55925
- kind: "namespace",
55926
- localNS: symbol2.localName,
55927
- from: imp.from,
55928
- resolved: imp.resolved,
55929
- ...imp.typeOnly !== void 0 ? { typeOnly: imp.typeOnly } : {}
55930
- } : {
55931
- kind: "named",
55932
- local: symbol2.localName,
55933
- imported: symbol2.localName,
55934
- from: imp.from,
55935
- resolved: imp.resolved,
55936
- ...imp.typeOnly !== void 0 ? { typeOnly: imp.typeOnly } : {}
55937
- };
55938
- const expandedImportKeyValue = expandedImportKey(expandedImport);
55939
- if (!expandedImportKeyValue || expandedImportKeys.has(expandedImportKeyValue))
55940
- continue;
55941
- expandedImportKeys.add(expandedImportKeyValue);
55942
- mod2.imports.push(expandedImport);
55943
- }
55944
- }
55945
- }
55946
- }
55947
56109
  function toProjectIndexManifestEntry(entry) {
55948
56110
  const cacheSig = entry.cacheSig ?? entry.gitSig;
55949
56111
  return {
@@ -56008,11 +56170,11 @@ function emitIndexCheckActivity(opts, activity, current = 0, total = 0) {
56008
56170
  total
56009
56171
  });
56010
56172
  }
56011
- function emitIndexBuildActivity(opts, activity, current, total) {
56173
+ function emitIndexBuildActivity(opts, activity, current, total, mode = "build") {
56012
56174
  opts?.onProgress?.({
56013
56175
  type: "progress",
56014
56176
  phase: "update",
56015
- mode: "build",
56177
+ mode,
56016
56178
  message: activity,
56017
56179
  activity,
56018
56180
  current,
@@ -56021,7 +56183,7 @@ function emitIndexBuildActivity(opts, activity, current, total) {
56021
56183
  }
56022
56184
  async function timeIndexBuildPhase(args) {
56023
56185
  if (args.buildStartedAt !== void 0) {
56024
- emitIndexBuildActivity(args.opts, args.activity, args.current, args.total);
56186
+ emitIndexBuildActivity(args.opts, args.activity, args.current, args.total, args.mode ?? "build");
56025
56187
  }
56026
56188
  const startedAt = performance7.now();
56027
56189
  const result = await args.fn();
@@ -57292,7 +57454,17 @@ async function buildProjectIndexIncremental(projectRoot, rawOpts) {
57292
57454
  ),
57293
57455
  buildReport: report
57294
57456
  });
57295
- await writeProjectIndexSnapshot(projectRoot, opts, index, projectSnapshotFilesSignature(manifestEntries, projectRoot));
57457
+ await timeIndexBuildPhase({
57458
+ opts,
57459
+ timings,
57460
+ buildStartedAt: updateStartedAt,
57461
+ stepName: "snapshot-write",
57462
+ activity: "Writing project snapshot",
57463
+ current: allFiles.size,
57464
+ total: allFiles.size,
57465
+ mode: "update",
57466
+ fn: () => writeProjectIndexSnapshot(projectRoot, opts, index, projectSnapshotFilesSignature(manifestEntries, projectRoot))
57467
+ });
57296
57468
  if (updateStartedAt !== void 0) {
57297
57469
  emitIndexLifecycleProgress(opts, "complete", "update", index.byFile.size, performance7.now() - updateStartedAt);
57298
57470
  } else {
@@ -57463,6 +57635,7 @@ var init_build_index = __esm({
57463
57635
  init_projectedTree();
57464
57636
  init_imports();
57465
57637
  init_locals_and_exports();
57638
+ init_expand_star_imports();
57466
57639
  init_shared2();
57467
57640
  init_bloomFilter();
57468
57641
  init_nativeBackendReport();
@@ -86,7 +86,7 @@ function createInteractiveProgressDisplay(write, delayMs = 0) {
86
86
  if (!rendered)
87
87
  return;
88
88
  clear();
89
- const verb = progressCompleteVerb(mode);
89
+ const verb = progressCompleteVerb(update.mode ?? mode);
90
90
  const fileCount = formatFileCount(update.total, "words");
91
91
  const elapsed = update.elapsedMs === undefined ? "" : ` in ${formatDuration(update.elapsedMs)}`;
92
92
  write(`${verb} project index: ${fileCount}${elapsed}.\n`);
@@ -199,7 +199,7 @@ function createLogProgressDisplay(write, delayMs = 0) {
199
199
  stopTimers();
200
200
  if (!rendered)
201
201
  return;
202
- const verb = progressCompleteVerb(mode);
202
+ const verb = progressCompleteVerb(update.mode ?? mode);
203
203
  const elapsed = update.elapsedMs === undefined ? "" : ` in ${formatDuration(update.elapsedMs)}`;
204
204
  write(`[Progress] ${verb} project index: ${formatFileCount(update.total, "words")}${elapsed}.\n`);
205
205
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"progress.js","sourceRoot":"","sources":["../../src/cli/progress.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"progress.js","sourceRoot":"","sources":["../../src/cli/progress.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../../src/indexer/build-cache/manifest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../../src/indexer/build-cache/manifest.ts"],"names":[],"mappings":"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"}
@@ -374,11 +374,18 @@ export async function loadManifest(projectRoot, opts, report) {
374
374
  return null;
375
375
  }
376
376
  }
377
+ /**
378
+ * Index manifests are compact JSON. Pretty-printing added formatting whitespace only.
379
+ * `loadManifest` uses `JSON.parse`, so pretty files from earlier versions still load.
380
+ */
381
+ function serializeIndexManifest(manifest) {
382
+ return JSON.stringify(manifest);
383
+ }
377
384
  export async function writeManifest(projectRoot, opts, manifest) {
378
385
  try {
379
386
  const manifestPath = manifestFilePath(projectRoot, opts);
380
387
  await fsp.mkdir(path.dirname(manifestPath), { recursive: true });
381
- await writeManifestAtomically(manifestPath, JSON.stringify(manifest, null, 2));
388
+ await writeManifestAtomically(manifestPath, serializeIndexManifest(manifest));
382
389
  return true;
383
390
  }
384
391
  catch (error) {