@lzehrung/codegraph 2.3.6 → 2.3.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -18,8 +18,6 @@ codegraph is a local CLI **and TypeScript library** that turns a source tree int
18
18
 
19
19
  Without structural context, an agent burns early turns listing directories, guessing search terms, opening candidate files, and reconstructing relationships. codegraph does that discovery once so the context window can stay focused on the problem.
20
20
 
21
- Warm-cache timings for `codegraph orient --root . --budget small --json` on this repository have ranged from about **0.6s** (Windows 11, Node 24) to about **2.5s** (a 4-core Linux container, Node 22), so treat them as machine-dependent rather than a headline figure; the matching MCP `orient` call returned in about **100ms** on the faster of the two. [The performance program index](docs/plans/2026-07-25-performance-program-index.md) records the current measurements and the conditions behind them.
22
-
23
21
  With Node.js 22.16 or newer, install from npm:
24
22
 
25
23
  ```bash
@@ -132,13 +130,16 @@ Do not begin by generating every possible report. Start with the question you ac
132
130
  ### Understand an unfamiliar repo
133
131
 
134
132
  ```bash
135
- # Ask one concrete architecture question
136
- codegraph explore "how does the CLI reach review analysis?" --root .
137
-
138
- # If you do not know the question yet, get a bounded map
133
+ # Map the repository before selecting a target
139
134
  codegraph orient --root . --budget small
140
135
 
141
- # Follow an anchor returned by either command
136
+ # Search a concrete term
137
+ codegraph search "review analysis CLI" --json
138
+
139
+ # Use explore only when those results need packets and dependency paths
140
+ codegraph explore "review analysis CLI" --root .
141
+
142
+ # Follow a returned target
142
143
  codegraph explain src/review.ts
143
144
  codegraph deps src/review.ts --json
144
145
  codegraph refs src/review.ts:215:23
@@ -131,6 +131,7 @@ Current-state commands validate the on-disk index automatically and default to t
131
131
  - 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.
132
132
  - 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`.
133
133
  - Search and inspect performance diagnosis: add `--report` for JSON on stderr or `--report-file <path>` for a file while keeping normal command output unchanged.
134
+ - Index discovery diagnosis: `--report` timing JSON can include `sourceDiscoveryMs` and `metadataDiscoveryMs` when those discovery steps run.
134
135
 
135
136
  ### Human Graph Viewer
136
137
 
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/agent/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/agent/session.ts"],"names":[],"mappings":"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"}
@@ -49,6 +49,17 @@ async function resolveAgentDiscoverySettings(options) {
49
49
  ...(cacheLocation ? { cacheLocation } : {}),
50
50
  };
51
51
  }
52
+ function emitAgentFilePlanProgress(options) {
53
+ options.buildOptions?.onProgress?.({
54
+ type: "progress",
55
+ phase: "start",
56
+ mode: "check",
57
+ message: "Discovering source files",
58
+ activity: "Discovering source files",
59
+ current: 0,
60
+ total: 0,
61
+ });
62
+ }
52
63
  async function resolveAgentSessionFilePlan(options) {
53
64
  const { discoveryOptions, graphOptions, languageExtensions, cacheLocation } = await resolveAgentDiscoverySettings(options);
54
65
  // Prefer the manifest-plus-Git reconciliation over a full recursive scan whenever it
@@ -75,6 +86,7 @@ async function resolveAgentSessionFilePlan(options) {
75
86
  const { DEFAULT_PROJECT_PATTERNS } = await import("../util/projectFiles.js");
76
87
  const customPatterns = languageExtensionPatterns(languageExtensions);
77
88
  const patterns = customPatterns.length ? [...DEFAULT_PROJECT_PATTERNS, ...customPatterns] : undefined;
89
+ emitAgentFilePlanProgress(options);
78
90
  const files = await listProjectFiles(options.root, patterns, discoveryOptions);
79
91
  return {
80
92
  files,
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/agent/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/agent/session.ts"],"names":[],"mappings":"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"}
package/dist/bin/cli.js CHANGED
@@ -13534,6 +13534,7 @@ __export(git_exports, {
13534
13534
  isGitWorktreeSentinel: () => isGitWorktreeSentinel,
13535
13535
  listChangedFiles: () => listChangedFiles,
13536
13536
  listGitExcludeFiles: () => listGitExcludeFiles,
13537
+ listGitIgnoreFiles: () => listGitIgnoreFiles,
13537
13538
  listGitSubmoduleDirectories: () => listGitSubmoduleDirectories,
13538
13539
  listTrackedFiles: () => listTrackedFiles,
13539
13540
  listUntrackedFiles: () => listUntrackedFiles,
@@ -13969,6 +13970,32 @@ async function listTrackedFiles(projectRoot, opts) {
13969
13970
  throw createGitError(projectRoot, args, error51);
13970
13971
  }
13971
13972
  }
13973
+ async function listGitIgnoreFiles(projectRoot, opts) {
13974
+ if (!(opts?.gitAvailable ?? true))
13975
+ return [];
13976
+ const pathspec = [".gitignore", ":(glob)**/.gitignore"];
13977
+ const commands = [
13978
+ ["ls-files", "--cached", "-z", "--", ...pathspec],
13979
+ ["ls-files", "--others", "--exclude-standard", "-z", "--", ...pathspec],
13980
+ ["ls-files", "--others", "--ignored", "--exclude-standard", "-z", "--", ...pathspec]
13981
+ ];
13982
+ const results = await Promise.all(commands.map(async (args) => {
13983
+ try {
13984
+ return await runGit(projectRoot, args, { maxBuffer: 64 * 1024 * 1024 });
13985
+ } catch (error51) {
13986
+ throw createGitError(projectRoot, args, error51);
13987
+ }
13988
+ }));
13989
+ const out = [];
13990
+ for (const { stdout } of results) {
13991
+ for (const rel of stdout.split("\0").filter(Boolean)) {
13992
+ const abs = resolveGitListedPath(projectRoot, rel);
13993
+ if (abs)
13994
+ out.push(abs);
13995
+ }
13996
+ }
13997
+ return Array.from(new Set(out));
13998
+ }
13972
13999
  async function listGitSubmoduleDirectories(projectRoot, opts) {
13973
14000
  if (!(opts?.gitAvailable ?? true))
13974
14001
  return [];
@@ -14380,24 +14407,24 @@ function collectCandidateAncestorDirectories(root, files) {
14380
14407
  }
14381
14408
  return directories;
14382
14409
  }
14383
- async function findGitIgnoreSources(sourceRoots, files) {
14410
+ async function findGitIgnoreSources(sourceRoots) {
14384
14411
  const roots = Array.from(new Map(sourceRoots.map(({ path: sourceRoot, repositoryRoot }) => [
14385
14412
  fileIdentityKey(sourceRoot),
14386
14413
  { path: normalizePath(sourceRoot), repositoryRoot: normalizePath(repositoryRoot) }
14387
14414
  ])).values());
14388
14415
  const sources = [];
14389
14416
  for (const { path: sourceRoot, repositoryRoot } of roots) {
14390
- const directories = collectCandidateAncestorDirectories(sourceRoot, files.filter((file2) => isFilePathWithinRoot(sourceRoot, file2)));
14391
- const present = await mapLimitSemaphore(directories, REALPATH_FILTER_CONCURRENCY, async (directory) => {
14392
- const candidate = normalizePath(path9.join(directory, ".gitignore"));
14393
- try {
14394
- return (await fsp5.stat(candidate)).isFile() ? { file: candidate, baseDir: directory, repositoryRoot, priority: 2 } : null;
14395
- } catch {
14396
- return null;
14397
- }
14398
- });
14399
- sources.push(...present.filter((entry) => entry !== null));
14400
- sources.push(...(await listGitExcludeFiles(sourceRoot)).map((source) => ({
14417
+ const [gitignoreFiles, excludeFiles] = await Promise.all([
14418
+ listGitIgnoreFiles(sourceRoot),
14419
+ listGitExcludeFiles(sourceRoot)
14420
+ ]);
14421
+ sources.push(...gitignoreFiles.map((file2) => ({
14422
+ file: file2,
14423
+ baseDir: path9.dirname(file2),
14424
+ repositoryRoot,
14425
+ priority: 2
14426
+ })));
14427
+ sources.push(...excludeFiles.map((source) => ({
14401
14428
  ...source,
14402
14429
  repositoryRoot: source.baseDir
14403
14430
  })));
@@ -14428,13 +14455,6 @@ async function listGitCandidateFiles(root, logLevel) {
14428
14455
  const rawFiles = Array.from(/* @__PURE__ */ new Set([...tracked, ...untracked, ...submoduleUntracked.flat()])).sort();
14429
14456
  const needsLogicalRemap = normalizePath(gitRoot) !== normalizePath(root);
14430
14457
  const files = Array.from(new Set(rawFiles.map((file2) => needsLogicalRemap && isFilePathWithinRoot(realRoot, file2) ? normalizePath(path9.resolve(root, path9.relative(realRoot, file2))) : normalizePath(file2)))).sort();
14431
- const physicalFiles = normalizePath(root) === realRoot ? [] : (await mapLimitSemaphore(files, REALPATH_FILTER_CONCURRENCY, async (file2) => {
14432
- try {
14433
- return normalizePath(await fsp5.realpath(file2));
14434
- } catch {
14435
- return null;
14436
- }
14437
- })).filter((file2) => file2 !== null);
14438
14458
  const gitignoreRoots = [gitRepositoryRoot, ...submoduleRoots.map(({ physicalPath }) => physicalPath)].map(normalizePath);
14439
14459
  const sourceRoots = [
14440
14460
  { path: root, repositoryRoot: gitRepositoryRoot },
@@ -14447,7 +14467,7 @@ async function listGitCandidateFiles(root, logLevel) {
14447
14467
  ];
14448
14468
  return {
14449
14469
  files,
14450
- gitignoreFiles: await findGitIgnoreSources(sourceRoots, [...rawFiles, ...files, ...physicalFiles]),
14470
+ gitignoreFiles: await findGitIgnoreSources(sourceRoots),
14451
14471
  gitignoreRoots,
14452
14472
  gitignoreAliases: sourceRoots
14453
14473
  };
@@ -53074,12 +53094,17 @@ var init_parsed_cache = __esm({
53074
53094
  // dist/indexer/finalize.js
53075
53095
  import { performance as performance2 } from "node:perf_hooks";
53076
53096
  async function finalizeProjectIndex(args) {
53077
- if (args.timings)
53078
- args.timings.totalMs = Math.round(performance2.now() - args.totalStart);
53097
+ const discoveryTimings = args.opts?.report ? args.opts.report.timings ??= {} : void 0;
53098
+ const metadataDiscoveryStart = args.projectFiles === void 0 ? performance2.now() : void 0;
53079
53099
  const projectFiles = await (args.projectFiles ?? discoverProjectFilesWithGitCandidates(args.projectRoot, {
53080
53100
  ...args.opts?.logLevel ? { logLevel: args.opts.logLevel } : {},
53081
53101
  ...args.knownGitCandidates !== void 0 ? { knownGitCandidates: args.knownGitCandidates } : {}
53082
53102
  }));
53103
+ if (metadataDiscoveryStart !== void 0 && discoveryTimings) {
53104
+ discoveryTimings.metadataDiscoveryMs = Math.round(performance2.now() - metadataDiscoveryStart);
53105
+ }
53106
+ if (args.timings)
53107
+ args.timings.totalMs = Math.round(performance2.now() - args.totalStart);
53083
53108
  const languageExtensions = normalizeLanguageExtensions(args.opts?.languageExtensions);
53084
53109
  const parsed = retainedParsedCache(args.parsedMap, args.opts);
53085
53110
  return {
@@ -55283,6 +55308,17 @@ function emitIndexLifecycleProgress(opts, phase, mode, total, elapsedMs2) {
55283
55308
  ...elapsedMs2 !== void 0 ? { elapsedMs: elapsedMs2 } : {}
55284
55309
  });
55285
55310
  }
55311
+ function emitIndexCheckStart(opts, activity = "Checking project index") {
55312
+ opts?.onProgress?.({
55313
+ type: "progress",
55314
+ phase: "start",
55315
+ mode: "check",
55316
+ message: activity,
55317
+ activity,
55318
+ current: 0,
55319
+ total: 0
55320
+ });
55321
+ }
55286
55322
  function emitIndexCheckActivity(opts, activity, current = 0, total = 0) {
55287
55323
  opts?.onProgress?.({
55288
55324
  type: "progress",
@@ -55698,13 +55734,17 @@ async function buildIndexFromFileListShared(projectRoot, rawFiles, opts, helperO
55698
55734
  }
55699
55735
  }
55700
55736
  async function buildProjectIndexWithManifestOptions(projectRoot, opts, helperOpts) {
55737
+ const timings = opts?.report ? opts.report.timings ??= {} : void 0;
55701
55738
  await initializeFileIdentityCaseSensitivity(projectRoot);
55702
55739
  try {
55703
55740
  const useDiskCache = (opts?.cache ?? "off") === "disk";
55704
55741
  const wantsMaxSymlinkCorrectness = !!opts?.cacheStrict || !!opts?.cacheVerify;
55705
- const symlinkHintManifest = helperOpts?.ignoreExistingManifest || wantsMaxSymlinkCorrectness || !useDiskCache ? null : await loadManifest(projectRoot, opts);
55742
+ const symlinkHintManifest = !helperOpts?.ignoreExistingManifest && !wantsMaxSymlinkCorrectness && useDiskCache ? await loadManifest(projectRoot, opts) : null;
55706
55743
  const rootMtime = symlinkHintManifest ? (await fsp26.stat(projectRoot)).mtimeMs : void 0;
55707
55744
  const symlinkHintIsFresh = symlinkHintManifest?.symlinkDirectoriesRootMtimeMs !== void 0 && rootMtime === symlinkHintManifest.symlinkDirectoriesRootMtimeMs;
55745
+ if (!helperOpts?.reportDiscoveryProgress && !symlinkHintIsFresh) {
55746
+ emitIndexCheckStart(opts, "Discovering source files");
55747
+ }
55708
55748
  const knownSymlinkDirectories = symlinkHintIsFresh ? symlinkHintManifest?.symlinkDirectories : void 0;
55709
55749
  let discoveredSymlinkDirectories = knownSymlinkDirectories;
55710
55750
  const onSymlinkDirectoriesDiscovered = (directories) => {
@@ -55717,6 +55757,7 @@ async function buildProjectIndexWithManifestOptions(projectRoot, opts, helperOpt
55717
55757
  const onDiscoveryProgress = helperOpts?.reportDiscoveryProgress ? (progress) => emitIndexCheckActivity(opts, progress.activity, progress.current, progress.total) : void 0;
55718
55758
  if (helperOpts?.reportDiscoveryProgress)
55719
55759
  emitIndexCheckActivity(opts, "Discovering source files");
55760
+ const sourceDiscoveryStart = performance5.now();
55720
55761
  const discoveredFiles = await listProjectFilesWithGitCandidates(projectRoot, projectPatternsForLanguageExtensions(opts), {
55721
55762
  ...opts?.discovery,
55722
55763
  ...opts?.logLevel ? { logLevel: opts.logLevel } : {},
@@ -55725,6 +55766,8 @@ async function buildProjectIndexWithManifestOptions(projectRoot, opts, helperOpt
55725
55766
  onGitCandidatesDiscovered,
55726
55767
  ...onDiscoveryProgress ? { onDiscoveryProgress } : {}
55727
55768
  });
55769
+ if (timings)
55770
+ timings.sourceDiscoveryMs = Math.round(performance5.now() - sourceDiscoveryStart);
55728
55771
  const additionalFileCandidates = await normalizeIndexedFileInputsWithinRoot(projectRoot, opts?.additionalFiles ?? [], "Additional index file");
55729
55772
  const additionalFileExistence = await probePathExistence(additionalFileCandidates, buildConcurrency(opts));
55730
55773
  const additionalFiles = additionalFileCandidates.filter((file2) => additionalFileExistence.get(file2));
@@ -55733,12 +55776,15 @@ async function buildProjectIndexWithManifestOptions(projectRoot, opts, helperOpt
55733
55776
  const transientFiles = additionalFiles.filter((file2) => !discoveredFileSet.has(file2));
55734
55777
  if (helperOpts?.reportDiscoveryProgress)
55735
55778
  emitIndexCheckActivity(opts, "Discovering project metadata");
55779
+ const metadataDiscoveryStart = performance5.now();
55736
55780
  const projectFiles = await discoverProjectFilesWithGitCandidates(projectRoot, {
55737
55781
  ...opts?.logLevel ? { logLevel: opts.logLevel } : {},
55738
55782
  ...discoveredSymlinkDirectories !== void 0 ? { knownSymlinkDirectories: discoveredSymlinkDirectories } : {},
55739
55783
  ...discoveredGitCandidates !== void 0 ? { knownGitCandidates: discoveredGitCandidates } : {},
55740
55784
  ...onDiscoveryProgress ? { onDiscoveryProgress } : {}
55741
55785
  });
55786
+ if (timings)
55787
+ timings.metadataDiscoveryMs = Math.round(performance5.now() - metadataDiscoveryStart);
55742
55788
  return await buildIndexFromFileListShared(projectRoot, files, opts, {
55743
55789
  manifestMode: useDiskCache ? "read-write" : "off",
55744
55790
  warnNoFilesMessage: `Warning: No files found in project root: ${projectRoot}. Check codegraph.config.json globs and CLI --include-glob/--ignore-glob filters. Diagnostic: codegraph doctor`,
@@ -55794,6 +55840,7 @@ async function buildProjectIndexIncremental(projectRoot, opts) {
55794
55840
  if (strictIncremental && graphOptions.fast)
55795
55841
  graphOptions.fast = false;
55796
55842
  const { normalizedProjectRoot, report, timings, totalStart, cacheMode, cacheEnabled, onFallbackImportExtraction } = createIndexBuildRunState(projectRoot, opts, graphOptions);
55843
+ const discoveryTimings = opts?.report ? opts.report.timings ??= {} : void 0;
55797
55844
  let checkProgressActive = false;
55798
55845
  const startCheckProgress = () => {
55799
55846
  if (checkProgressActive)
@@ -55886,13 +55933,31 @@ async function buildProjectIndexIncremental(projectRoot, opts) {
55886
55933
  const hasExplicitGitRange = !!opts?.gitBase || !!opts?.gitHead;
55887
55934
  const shouldDiffAgainstWorkingTree = !hasExplicitGitRange && gitAvailable && !!manifest.lastCommit;
55888
55935
  const canReuseReconciliation = opts?.reconciledManifestUpdatedAt === manifest.updatedAt;
55936
+ let sourceDiscoveryMs = 0;
55937
+ let sourceDiscoveryPerformed = false;
55938
+ const measureSourceDiscovery = async (operation) => {
55939
+ if (!discoveryTimings || opts?.filesAreProjectScope)
55940
+ return await operation();
55941
+ sourceDiscoveryPerformed = true;
55942
+ const start = performance5.now();
55943
+ try {
55944
+ return await operation();
55945
+ } finally {
55946
+ sourceDiscoveryMs += performance5.now() - start;
55947
+ }
55948
+ };
55889
55949
  let manifestDiffFiles = [];
55890
55950
  if (shouldDiffAgainstWorkingTree) {
55891
55951
  try {
55892
- manifestDiffFiles = (canReuseReconciliation ? opts?.reconciledWorkingTreeDiffFiles : void 0) ?? await listChangedFiles(projectRoot, {
55893
- base: manifest.lastCommit,
55894
- head: "WORKTREE"
55895
- });
55952
+ const reconciledWorkingTreeDiffFiles = canReuseReconciliation ? opts?.reconciledWorkingTreeDiffFiles : void 0;
55953
+ if (reconciledWorkingTreeDiffFiles !== void 0) {
55954
+ manifestDiffFiles = reconciledWorkingTreeDiffFiles;
55955
+ } else {
55956
+ manifestDiffFiles = await measureSourceDiscovery(() => listChangedFiles(projectRoot, {
55957
+ base: manifest.lastCommit,
55958
+ head: "WORKTREE"
55959
+ }));
55960
+ }
55896
55961
  } catch (error51) {
55897
55962
  if (!isMissingGitRevisionError(error51))
55898
55963
  throw error51;
@@ -55937,13 +56002,21 @@ async function buildProjectIndexIncremental(projectRoot, opts) {
55937
56002
  const previousTransientFiles = sanitizeManifestTransientFilesForRoot(projectRoot, projectRoot, manifest.transientFiles).filter((file2) => Object.hasOwn(trackedEntries, file2));
55938
56003
  const previousTransientFileSet = new Set(previousTransientFiles);
55939
56004
  const needsGitScan = !!opts?.gitBase || !!opts?.changedSince;
55940
- const gitFiles = needsGitScan ? await listChangedFiles(projectRoot, buildIncrementalGitDiffOptions(opts)) : [];
56005
+ let gitFiles = [];
56006
+ if (needsGitScan) {
56007
+ gitFiles = await measureSourceDiscovery(() => listChangedFiles(projectRoot, buildIncrementalGitDiffOptions(opts)));
56008
+ }
55941
56009
  let untrackedFiles = [];
55942
56010
  let rediscoveredFiles = [];
55943
56011
  let discoveredGitCandidates;
55944
56012
  if (canUseIncrementalDiscoveryFastPath(gitAvailable, opts?.cacheStrict)) {
55945
56013
  try {
55946
- untrackedFiles = (canReuseReconciliation ? opts?.reconciledUntrackedFiles : void 0) ?? await listUntrackedProjectFiles(projectRoot, opts?.discovery, gitAvailable);
56014
+ const reconciledUntrackedFiles = canReuseReconciliation ? opts?.reconciledUntrackedFiles : void 0;
56015
+ if (reconciledUntrackedFiles !== void 0) {
56016
+ untrackedFiles = reconciledUntrackedFiles;
56017
+ } else {
56018
+ untrackedFiles = await measureSourceDiscovery(() => listUntrackedProjectFiles(projectRoot, opts?.discovery, gitAvailable));
56019
+ }
55947
56020
  } catch (error51) {
55948
56021
  if (manifestReport) {
55949
56022
  manifestReport.reason = "gitUntrackedScanFailed";
@@ -55956,14 +56029,17 @@ async function buildProjectIndexIncremental(projectRoot, opts) {
55956
56029
  });
55957
56030
  }
55958
56031
  } else if (!opts?.filesAreProjectScope) {
55959
- rediscoveredFiles = await listProjectFilesWithGitCandidates(projectRoot, projectPatternsForLanguageExtensions(opts), {
56032
+ rediscoveredFiles = await measureSourceDiscovery(() => listProjectFilesWithGitCandidates(projectRoot, projectPatternsForLanguageExtensions(opts), {
55960
56033
  ...opts?.discovery,
55961
56034
  ...opts?.logLevel ? { logLevel: opts.logLevel } : {},
55962
56035
  ...!opts?.cacheStrict && manifest.symlinkDirectories !== void 0 ? { knownSymlinkDirectories: manifest.symlinkDirectories } : {},
55963
56036
  onGitCandidatesDiscovered: (candidates) => {
55964
56037
  discoveredGitCandidates = candidates;
55965
56038
  }
55966
- });
56039
+ }));
56040
+ }
56041
+ if (discoveryTimings && sourceDiscoveryPerformed) {
56042
+ discoveryTimings.sourceDiscoveryMs = Math.round(sourceDiscoveryMs);
55967
56043
  }
55968
56044
  const candidateFiles = [
55969
56045
  ...explicitFiles,
@@ -56062,10 +56138,16 @@ async function buildProjectIndexIncremental(projectRoot, opts) {
56062
56138
  if (!snapshotLoad)
56063
56139
  return null;
56064
56140
  const snapshot = snapshotLoad.index;
56065
- snapshot.projectFiles ??= await discoverProjectFilesWithGitCandidates(projectRoot, {
56066
- ...opts?.logLevel ? { logLevel: opts.logLevel } : {},
56067
- ...discoveredGitCandidates !== void 0 ? { knownGitCandidates: discoveredGitCandidates } : {}
56068
- });
56141
+ snapshot.manifestSignaturesFresh = false;
56142
+ if (snapshot.projectFiles === void 0) {
56143
+ const metadataDiscoveryStart = performance5.now();
56144
+ snapshot.projectFiles = await discoverProjectFilesWithGitCandidates(projectRoot, {
56145
+ ...opts?.logLevel ? { logLevel: opts.logLevel } : {},
56146
+ ...discoveredGitCandidates !== void 0 ? { knownGitCandidates: discoveredGitCandidates } : {}
56147
+ });
56148
+ if (discoveryTimings)
56149
+ discoveryTimings.metadataDiscoveryMs = Math.round(performance5.now() - metadataDiscoveryStart);
56150
+ }
56069
56151
  if (opts?.cache) {
56070
56152
  snapshot.cacheMode = opts.cache;
56071
56153
  snapshot.cacheRootDir = cacheRoot(projectRoot, opts);
@@ -56350,6 +56432,17 @@ async function buildProjectIndexIncremental(projectRoot, opts) {
56350
56432
  edges: []
56351
56433
  });
56352
56434
  }
56435
+ for (const [file2, entry] of manifestEntries) {
56436
+ const signature = fileSignatures.get(file2);
56437
+ if (!signature)
56438
+ continue;
56439
+ const { gitSig: _previousGitSig, ...entryWithoutGitSig } = entry;
56440
+ manifestEntries.set(file2, {
56441
+ ...entryWithoutGitSig,
56442
+ sig: signature.sig,
56443
+ ...signature.gitSig ? { gitSig: signature.gitSig } : {}
56444
+ });
56445
+ }
56353
56446
  await writeIndexManifestSnapshot({
56354
56447
  projectRoot,
56355
56448
  opts,
@@ -57933,6 +58026,17 @@ async function resolveAgentDiscoverySettings(options) {
57933
58026
  ...cacheLocation ? { cacheLocation } : {}
57934
58027
  };
57935
58028
  }
58029
+ function emitAgentFilePlanProgress(options) {
58030
+ options.buildOptions?.onProgress?.({
58031
+ type: "progress",
58032
+ phase: "start",
58033
+ mode: "check",
58034
+ message: "Discovering source files",
58035
+ activity: "Discovering source files",
58036
+ current: 0,
58037
+ total: 0
58038
+ });
58039
+ }
57936
58040
  async function resolveAgentSessionFilePlan(options) {
57937
58041
  const { discoveryOptions, graphOptions, languageExtensions, cacheLocation } = await resolveAgentDiscoverySettings(options);
57938
58042
  const incrementalOptions = {
@@ -57956,6 +58060,7 @@ async function resolveAgentSessionFilePlan(options) {
57956
58060
  const { DEFAULT_PROJECT_PATTERNS: DEFAULT_PROJECT_PATTERNS2 } = await Promise.resolve().then(() => (init_projectFiles(), projectFiles_exports));
57957
58061
  const customPatterns = languageExtensionPatterns(languageExtensions);
57958
58062
  const patterns = customPatterns.length ? [...DEFAULT_PROJECT_PATTERNS2, ...customPatterns] : void 0;
58063
+ emitAgentFilePlanProgress(options);
57959
58064
  const files = await listProjectFiles(options.root, patterns, discoveryOptions);
57960
58065
  return {
57961
58066
  files,
@@ -58577,7 +58682,7 @@ async function buildLifecycleManifest(root, buildOptions, existing, options = {}
58577
58682
  configHash: await hashConfig(root, buildOptions?.logLevel),
58578
58683
  buildOptionsHash: hashBuildOptions(buildOptions),
58579
58684
  fileCount: snapshot.files.length,
58580
- fileSignatureHash: await hashDiscoveredFiles(snapshot.files, root),
58685
+ fileSignatureHash: hashManifestEntries(snapshot.files, root, snapshot.index.manifestEntries, snapshot.index.manifestSignaturesFresh) ?? await hashDiscoveredFiles(snapshot.files, root),
58581
58686
  files: discoveredFileRelativePaths(snapshot.files, root),
58582
58687
  analysis: snapshot.analysis
58583
58688
  };
@@ -58653,6 +58758,56 @@ function isMissingStatRace2(error51) {
58653
58758
  return false;
58654
58759
  return error51.code === "ENOENT" || error51.code === "ENOTDIR";
58655
58760
  }
58761
+ function hashManifestEntries(files, root, entries, signaturesFresh) {
58762
+ if (!signaturesFresh || !entries || entries.size !== files.length)
58763
+ return void 0;
58764
+ const sorted = [...files].sort((left, right) => left.localeCompare(right));
58765
+ const signatures = /* @__PURE__ */ new Map();
58766
+ for (const file2 of sorted) {
58767
+ const entry = entries.get(file2);
58768
+ const signature = parseLifecycleFileSignature(entry?.sig);
58769
+ if (!signature)
58770
+ return void 0;
58771
+ signatures.set(file2, signature);
58772
+ }
58773
+ const hash2 = createHash4("sha256");
58774
+ for (const file2 of sorted) {
58775
+ const signature = signatures.get(file2);
58776
+ if (!signature)
58777
+ return void 0;
58778
+ const relative = path51.relative(root, file2).replace(/\\/g, "/");
58779
+ hash2.update(relative);
58780
+ hash2.update("\0");
58781
+ hash2.update(signature.size);
58782
+ hash2.update("\0");
58783
+ hash2.update(signature.mtimeMs);
58784
+ hash2.update("\0");
58785
+ }
58786
+ return hash2.digest("hex");
58787
+ }
58788
+ function parseLifecycleFileSignature(value) {
58789
+ if (typeof value !== "string")
58790
+ return void 0;
58791
+ if (value === "0:0")
58792
+ return void 0;
58793
+ const parts = value.split(":");
58794
+ if (parts.length !== 2)
58795
+ return void 0;
58796
+ const [mtimeMs, size] = parts;
58797
+ if (!mtimeMs || !size)
58798
+ return void 0;
58799
+ if (!/^-?(?:0|[1-9]\d*)(?:\.\d+)?$/.test(mtimeMs))
58800
+ return void 0;
58801
+ if (!/^(?:0|[1-9]\d*)$/.test(size))
58802
+ return void 0;
58803
+ const numericMtimeMs = Number(mtimeMs);
58804
+ const numericSize = Number(size);
58805
+ if (!Number.isFinite(numericMtimeMs) || String(numericMtimeMs) !== mtimeMs)
58806
+ return void 0;
58807
+ if (!Number.isSafeInteger(numericSize) || String(numericSize) !== size)
58808
+ return void 0;
58809
+ return { size, mtimeMs };
58810
+ }
58656
58811
  async function hashDiscoveredFiles(files, root) {
58657
58812
  const sorted = [...files].sort((left, right) => left.localeCompare(right));
58658
58813
  const signatures = /* @__PURE__ */ new Map();
@@ -1 +1 @@
1
- {"version":3,"file":"build-index.d.ts","sourceRoot":"","sources":["../../src/indexer/build-index.ts"],"names":[],"mappings":"AAuFA,OAAO,EACL,KAAK,YAAY,EAEjB,KAAK,gBAAgB,EAErB,KAAK,uBAAuB,EAI5B,KAAK,YAAY,EAIlB,MAAM,YAAY,CAAC;AAykCpB;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CAEvG;AAED;;;;;;GAMG;AACH,wBAAsB,0BAA0B,CAC9C,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAAE,EACpB,IAAI,CAAC,EAAE,YAAY,GAClB,OAAO,CAAC,YAAY,CAAC,CAgBvB;AA4BD;;;;;;GAMG;AACH,wBAAsB,4BAA4B,CAChD,WAAW,EAAE,MAAM,EACnB,IAAI,CAAC,EAAE,uBAAuB,GAC7B,OAAO,CAAC,YAAY,CAAC,CA8sBvB;AAED,wBAAsB,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA8IpH"}
1
+ {"version":3,"file":"build-index.d.ts","sourceRoot":"","sources":["../../src/indexer/build-index.ts"],"names":[],"mappings":"AAuFA,OAAO,EACL,KAAK,YAAY,EAEjB,KAAK,gBAAgB,EAErB,KAAK,uBAAuB,EAI5B,KAAK,YAAY,EAIlB,MAAM,YAAY,CAAC;AA6lCpB;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CAEvG;AAED;;;;;;GAMG;AACH,wBAAsB,0BAA0B,CAC9C,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAAE,EACpB,IAAI,CAAC,EAAE,YAAY,GAClB,OAAO,CAAC,YAAY,CAAC,CAgBvB;AA4BD;;;;;;GAMG;AACH,wBAAsB,4BAA4B,CAChD,WAAW,EAAE,MAAM,EACnB,IAAI,CAAC,EAAE,uBAAuB,GAC7B,OAAO,CAAC,YAAY,CAAC,CAmwBvB;AAED,wBAAsB,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA8IpH"}