@lzehrung/codegraph 2.3.9 → 2.3.11

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.
@@ -255,7 +255,7 @@ Lifecycle commands accept either one positional project path or `--root <path>`,
255
255
 
256
256
  ## Installation
257
257
 
258
- For normal CLI and MCP use, install from public npm with Node.js 22.16 or newer:
258
+ For normal CLI and MCP use, install from public npm with Node.js 22.16 or newer. Disk cache uses Node's standard-library `node:sqlite` module; builds below 22.16 may load it without the statement APIs Codegraph needs and then disable disk cache after one warning.
259
259
 
260
260
  ```bash
261
261
  npm install -g @lzehrung/codegraph
@@ -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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"}
@@ -60,7 +60,30 @@ function emitAgentFilePlanProgress(options) {
60
60
  total: 0,
61
61
  });
62
62
  }
63
+ /**
64
+ * Report discovery work while it runs. Discovery walks or Git-lists the whole project
65
+ * before any file is parsed, and on a project holding a large ignored tree that phase can
66
+ * dominate the command. Without these updates the only output is the one "Discovering
67
+ * source files" line, which is indistinguishable from a hang.
68
+ */
69
+ function agentDiscoveryProgressReporter(options) {
70
+ const onProgress = options.buildOptions?.onProgress;
71
+ if (!onProgress)
72
+ return undefined;
73
+ return ({ activity, current, total }) => {
74
+ onProgress({
75
+ type: "progress",
76
+ phase: "update",
77
+ mode: "check",
78
+ message: activity,
79
+ activity,
80
+ current,
81
+ total,
82
+ });
83
+ };
84
+ }
63
85
  async function resolveAgentSessionFilePlan(options) {
86
+ const startedAt = performance.now();
64
87
  const { discoveryOptions, graphOptions, languageExtensions, cacheLocation } = await resolveAgentDiscoverySettings(options);
65
88
  // Prefer the manifest-plus-Git reconciliation over a full recursive scan whenever it
66
89
  // can be trusted. Preserve its changed/untracked evidence so the indexer does not
@@ -77,6 +100,7 @@ async function resolveAgentSessionFilePlan(options) {
77
100
  return {
78
101
  files: incrementalPlan.files,
79
102
  incrementalPlan,
103
+ startedAt,
80
104
  ...(discoveryOptions ? { discoveryOptions } : {}),
81
105
  ...(graphOptions ? { graphOptions } : {}),
82
106
  ...(languageExtensions ? { languageExtensions } : {}),
@@ -87,9 +111,14 @@ async function resolveAgentSessionFilePlan(options) {
87
111
  const customPatterns = languageExtensionPatterns(languageExtensions);
88
112
  const patterns = customPatterns.length ? [...DEFAULT_PROJECT_PATTERNS, ...customPatterns] : undefined;
89
113
  emitAgentFilePlanProgress(options);
90
- const files = await listProjectFiles(options.root, patterns, discoveryOptions);
114
+ const onDiscoveryProgress = agentDiscoveryProgressReporter(options);
115
+ const files = await listProjectFiles(options.root, patterns, {
116
+ ...discoveryOptions,
117
+ ...(onDiscoveryProgress ? { onDiscoveryProgress } : {}),
118
+ });
91
119
  return {
92
120
  files,
121
+ startedAt,
93
122
  ...(discoveryOptions ? { discoveryOptions } : {}),
94
123
  ...(graphOptions ? { graphOptions } : {}),
95
124
  ...(languageExtensions ? { languageExtensions } : {}),
@@ -247,7 +276,7 @@ export function createAgentSession(options) {
247
276
  if (cachedBase)
248
277
  return cachedBase;
249
278
  const loadPromise = (async () => {
250
- const { files, discoveryOptions, graphOptions, languageExtensions, cacheLocation, incrementalPlan } = await loadFilePlan();
279
+ const { files, discoveryOptions, graphOptions, languageExtensions, cacheLocation, incrementalPlan, startedAt } = await loadFilePlan();
251
280
  const buildOptions = {
252
281
  ...options.buildOptions,
253
282
  ...(graphOptions ? { graph: graphOptions } : {}),
@@ -255,6 +284,8 @@ export function createAgentSession(options) {
255
284
  keepParsed: options.buildOptions?.keepParsed ?? true,
256
285
  files,
257
286
  filesAreProjectScope: true,
287
+ // Discovery ran before this build, so the completion event must measure from there.
288
+ progressStartedAt: options.buildOptions?.progressStartedAt ?? startedAt,
258
289
  ...(incrementalPlan
259
290
  ? {
260
291
  reconciledManifestUpdatedAt: incrementalPlan.manifestUpdatedAt,
@@ -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
@@ -14567,31 +14567,36 @@ async function listProjectFilesInternal(projectRoot, patterns = DEFAULT_PROJECT_
14567
14567
  filterIgnoreGlobs: userIgnoreGlobs,
14568
14568
  resolvedSafeSymlinkDirectories: safeSymlinkDirectories
14569
14569
  });
14570
- const rootSafeFiles = await filterRealPathsWithinRootEntries([...files, ...includedOverrideFiles, ...linkedFiles, ...linkedOverrideFiles], realRoot, reportSourcePathChecks);
14570
+ const candidatePaths = [...files, ...includedOverrideFiles, ...linkedFiles, ...linkedOverrideFiles];
14571
14571
  const seen = /* @__PURE__ */ new Set();
14572
- return rootSafeFiles.map(({ path: filePath, realPath }) => ({ filePath: normalizePath(filePath), realPath })).filter(({ filePath, realPath }) => {
14572
+ const indexableCandidates = [];
14573
+ for (const candidatePath of candidatePaths) {
14574
+ const filePath = normalizePath(candidatePath);
14573
14575
  if (seen.has(filePath))
14574
- return false;
14576
+ continue;
14575
14577
  seen.add(filePath);
14576
14578
  const rootRelative = normalizePath(path9.relative(root, filePath));
14577
14579
  if (!isRelativePathInside(rootRelative))
14578
- return false;
14580
+ continue;
14579
14581
  if (!patternMatchers.some((matcher) => matcher(rootRelative)))
14580
- return false;
14581
- const matchesInclude = !includeMatchers.length || includeMatchers.some((matcher) => matchesDiscoveryGlob(filePath, globRoot, matcher));
14582
- if (!matchesInclude)
14583
- return false;
14584
- if (userIgnoreMatchers.some((matcher) => matchesDiscoveryGlob(filePath, globRoot, matcher))) {
14585
- return false;
14586
- }
14587
- const ignoredByDefault = defaultIgnoreMatchers.some((matcher) => matcher(rootRelative));
14588
- if (ignoredByDefault && !(includeMatchers.length > 0 && matchesInclude)) {
14589
- return false;
14582
+ continue;
14583
+ if (includeMatchers.length && !includeMatchers.some((matcher) => matchesDiscoveryGlob(filePath, globRoot, matcher))) {
14584
+ continue;
14590
14585
  }
14586
+ if (userIgnoreMatchers.some((matcher) => matchesDiscoveryGlob(filePath, globRoot, matcher)))
14587
+ continue;
14588
+ if (!includeMatchers.length && defaultIgnoreMatchers.some((matcher) => matcher(rootRelative)))
14589
+ continue;
14591
14590
  if (isIgnoredByGitignore(filePath, gitignoreIndex))
14592
- return false;
14593
- return normalizePath(realPath) === filePath || !isIgnoredByGitignore(realPath, gitignoreIndex);
14594
- }).map(({ filePath }) => filePath);
14591
+ continue;
14592
+ indexableCandidates.push(filePath);
14593
+ }
14594
+ const rootSafeFiles = await filterRealPathsWithinRootEntries(indexableCandidates, realRoot, reportSourcePathChecks);
14595
+ return rootSafeFiles.filter(({ path: filePath, realPath }) => (
14596
+ // The real path only differs when the entry was reached through a symlink, so
14597
+ // testing it again for every ordinary file doubled the matcher work for nothing.
14598
+ normalizePath(realPath) === filePath || !isIgnoredByGitignore(realPath, gitignoreIndex)
14599
+ )).map(({ path: filePath }) => filePath);
14595
14600
  } catch (error51) {
14596
14601
  logWithLevel(options?.logLevel, "debug", `listProjectFiles failed for ${root}: ${stringifyUnknown(error51)}`);
14597
14602
  throw new Error(`Failed to list files in ${root}: ${stringifyUnknown(error51)}`);
@@ -14810,10 +14815,10 @@ async function discoverProjectFilesInternal(projectRoot, options) {
14810
14815
  onlyFiles: false,
14811
14816
  resolvedSafeSymlinkDirectories: safeSymlinkDirectories
14812
14817
  });
14813
- const rootSafeCandidateEntries = await filterRealPathsWithinRootEntries(gitCandidates.files, realRoot, reportMetadataFileChecks);
14814
- const filteredFiles = filterGitIgnoredEntries(rootSafeCandidateEntries);
14815
- const fileMatches = filteredFiles.filter((file2) => PROJECT_FILE_DEFINITIONS.some((definition, definitionIndex) => definition.kind === "file" && matchesDefinition(path9.basename(file2), definitionIndex)));
14816
- const rawCandidateDirectories = collectCandidateAncestorDirectories(root, rootSafeCandidateEntries.map(({ path: filePath }) => filePath));
14818
+ const candidateFiles = Array.from(new Set(gitCandidates.files.map(normalizePath)));
14819
+ const metadataCandidates = candidateFiles.filter((file2) => PROJECT_FILE_DEFINITIONS.some((definition, definitionIndex) => definition.kind === "file" && matchesDefinition(path9.basename(file2), definitionIndex)));
14820
+ const fileMatches = filterGitIgnoredEntries(await filterRealPathsWithinRootEntries(metadataCandidates, realRoot, reportMetadataFileChecks));
14821
+ const rawCandidateDirectories = collectCandidateAncestorDirectories(root, candidateFiles);
14817
14822
  const candidateDirectoryKeys = new Set(rawCandidateDirectories.map(fileIdentityKey));
14818
14823
  const safeSymlinkDirectoryKeys = new Set(safeSymlinkDirectories.map(fileIdentityKey));
14819
14824
  const directoryMatches = [
@@ -31819,6 +31824,48 @@ function isNodeSqliteUnavailableError(error51) {
31819
31824
  const message = errorMessage(error51);
31820
31825
  return /node:sqlite|No such built-in module:\s*node:sqlite|setReturnArrays is not a function|columns is not a function/i.test(message);
31821
31826
  }
31827
+ function markNodeSqliteUnavailable(error51) {
31828
+ if (nodeSqliteUnsupportedError)
31829
+ return;
31830
+ nodeSqliteUnsupportedError = error51 instanceof Error ? error51 : new Error(String(error51));
31831
+ }
31832
+ function nodeSqliteUnavailableError() {
31833
+ return nodeSqliteUnsupportedError ?? sqliteLoadError;
31834
+ }
31835
+ function requireNodeSqliteStatement(statement) {
31836
+ const candidate = statement;
31837
+ if (typeof candidate.setReturnArrays !== "function") {
31838
+ throw new TypeError("setReturnArrays is not a function");
31839
+ }
31840
+ if (typeof candidate.columns !== "function") {
31841
+ throw new TypeError("columns is not a function");
31842
+ }
31843
+ return candidate;
31844
+ }
31845
+ function isNodeSqliteUsable() {
31846
+ if (nodeSqliteUnavailableError()) {
31847
+ nodeSqliteUsable = false;
31848
+ return false;
31849
+ }
31850
+ if (nodeSqliteUsable !== void 0)
31851
+ return nodeSqliteUsable;
31852
+ try {
31853
+ const sqlite = loadNodeSqlite();
31854
+ const probe = new sqlite.DatabaseSync(":memory:");
31855
+ try {
31856
+ const statement = requireNodeSqliteStatement(probe.prepare("SELECT 1"));
31857
+ statement.setReturnArrays(false);
31858
+ statement.columns();
31859
+ nodeSqliteUsable = true;
31860
+ } finally {
31861
+ probe.close();
31862
+ }
31863
+ } catch (error51) {
31864
+ markNodeSqliteUnavailable(error51);
31865
+ nodeSqliteUsable = false;
31866
+ }
31867
+ return nodeSqliteUsable;
31868
+ }
31822
31869
  function canInstallReadonlyAuthorizer(constants2) {
31823
31870
  return READONLY_AUTHORIZER_CONSTANTS.every((name) => typeof constants2[name] === "number");
31824
31871
  }
@@ -31831,7 +31878,7 @@ function isReadOnlySqliteError(error51) {
31831
31878
  const message = error51.message.toLowerCase();
31832
31879
  return message.includes("not authorized") || message.includes("read-only") || message.includes("readonly") || message.includes("attempt to write");
31833
31880
  }
31834
- var requireNodeModule, sqliteModule, reportedReadonlyAuthorizerDegradation, sqliteLoadError, READONLY_AUTHORIZER_CONSTANTS, isSqliteValueArray, normalizeParams, SqliteStatement, SqliteDatabase;
31881
+ var requireNodeModule, sqliteModule, reportedReadonlyAuthorizerDegradation, sqliteLoadError, nodeSqliteUnsupportedError, nodeSqliteUsable, READONLY_AUTHORIZER_CONSTANTS, isSqliteValueArray, normalizeParams, SqliteStatement, SqliteDatabase;
31835
31882
  var init_sqlite_driver = __esm({
31836
31883
  "dist/sqlite-driver.js"() {
31837
31884
  "use strict";
@@ -31895,6 +31942,9 @@ var init_sqlite_driver = __esm({
31895
31942
  db;
31896
31943
  statements = /* @__PURE__ */ new Map();
31897
31944
  constructor(filePath, options) {
31945
+ if (!isNodeSqliteUsable()) {
31946
+ throw nodeSqliteUnavailableError() ?? new Error("node:sqlite is unavailable");
31947
+ }
31898
31948
  const sqlite = loadNodeSqlite();
31899
31949
  this.db = new sqlite.DatabaseSync(filePath, {
31900
31950
  readOnly: options?.readonly,
@@ -31920,9 +31970,15 @@ var init_sqlite_driver = __esm({
31920
31970
  const cached2 = this.statements.get(sql);
31921
31971
  if (cached2)
31922
31972
  return cached2;
31923
- const statement = new SqliteStatement(this.db.prepare(sql));
31924
- this.statements.set(sql, statement);
31925
- return statement;
31973
+ try {
31974
+ const statement = new SqliteStatement(this.db.prepare(sql));
31975
+ this.statements.set(sql, statement);
31976
+ return statement;
31977
+ } catch (error51) {
31978
+ if (isNodeSqliteUnavailableError(error51))
31979
+ markNodeSqliteUnavailable(error51);
31980
+ throw error51;
31981
+ }
31926
31982
  }
31927
31983
  transaction(fn) {
31928
31984
  return () => {
@@ -32577,10 +32633,16 @@ function clearMemoryCacheForProject(projectRoot) {
32577
32633
  }
32578
32634
  }
32579
32635
  function reportMissingNodeSqlite(logLevel, error51) {
32636
+ markNodeSqliteUnavailable(error51);
32580
32637
  if (warnedMissingNodeSqlite)
32581
32638
  return;
32582
32639
  warnedMissingNodeSqlite = true;
32583
- logWithLevel(logLevel, "error", "Disk cache requires the Node.js built-in node:sqlite module. Use Node.js >= 22.16, or set --cache off/memory.", error51);
32640
+ const missingStatementApi = /setReturnArrays is not a function|columns is not a function/i.test(errorMessage(error51));
32641
+ let detail = "The built-in node:sqlite module is unavailable (requires Node.js >= 22.16).";
32642
+ if (missingStatementApi) {
32643
+ detail = "The built-in node:sqlite module is missing statement APIs Codegraph needs (requires Node.js >= 22.16).";
32644
+ }
32645
+ logWithLevel(logLevel, "warn", `Warning: Disk cache disabled for this run. ${detail} Pass --cache memory or --cache off to skip this check.`);
32584
32646
  }
32585
32647
  function cacheRelativePath(projectRoot, file2) {
32586
32648
  const root = path37.resolve(projectRoot);
@@ -32600,6 +32662,11 @@ function diskCacheDatabasePath(projectRoot, opts) {
32600
32662
  function diskModuleCacheExists(projectRoot, opts) {
32601
32663
  if ((opts?.cache ?? "off") !== "disk")
32602
32664
  return false;
32665
+ if (!isNodeSqliteUsable()) {
32666
+ const error51 = nodeSqliteUnavailableError() ?? new Error("node:sqlite is unavailable");
32667
+ reportMissingNodeSqlite(opts?.logLevel, error51);
32668
+ return false;
32669
+ }
32603
32670
  return fs17.existsSync(diskCacheDatabasePath(projectRoot, opts));
32604
32671
  }
32605
32672
  function createModuleCacheTable(db) {
@@ -32650,6 +32717,11 @@ function getDiskModuleCache(projectRoot, opts) {
32650
32717
  const existing = diskModuleCaches.get(dbPath);
32651
32718
  if (existing)
32652
32719
  return existing;
32720
+ if (!isNodeSqliteUsable()) {
32721
+ const error51 = nodeSqliteUnavailableError() ?? new Error("node:sqlite is unavailable");
32722
+ reportMissingNodeSqlite(opts?.logLevel, error51);
32723
+ throw error51;
32724
+ }
32653
32725
  fs17.mkdirSync(path37.dirname(dbPath), { recursive: true });
32654
32726
  let db;
32655
32727
  try {
@@ -32660,26 +32732,37 @@ function getDiskModuleCache(projectRoot, opts) {
32660
32732
  }
32661
32733
  throw error51;
32662
32734
  }
32663
- db.pragma("journal_mode = WAL");
32664
- db.pragma("synchronous = NORMAL");
32665
- ensureModuleCacheSchema(db, projectRoot);
32666
- db.exec("CREATE TEMP TABLE IF NOT EXISTS live_module_cache_files(file TEXT PRIMARY KEY) WITHOUT ROWID;");
32667
- const cache = {
32668
- db,
32669
- load: db.prepare("SELECT sig, version, payload FROM module_cache WHERE file = ?"),
32670
- write: db.prepare(`INSERT INTO module_cache (file, sig, version, payload, updated_at)
32735
+ try {
32736
+ db.pragma("journal_mode = WAL");
32737
+ db.pragma("synchronous = NORMAL");
32738
+ ensureModuleCacheSchema(db, projectRoot);
32739
+ db.exec("CREATE TEMP TABLE IF NOT EXISTS live_module_cache_files(file TEXT PRIMARY KEY) WITHOUT ROWID;");
32740
+ const cache = {
32741
+ db,
32742
+ load: db.prepare("SELECT sig, version, payload FROM module_cache WHERE file = ?"),
32743
+ write: db.prepare(`INSERT INTO module_cache (file, sig, version, payload, updated_at)
32671
32744
  VALUES (?, ?, ?, ?, ?)
32672
32745
  ON CONFLICT(file) DO UPDATE SET
32673
32746
  sig = excluded.sig,
32674
32747
  version = excluded.version,
32675
32748
  payload = excluded.payload,
32676
32749
  updated_at = excluded.updated_at`),
32677
- clearLiveFiles: db.prepare("DELETE FROM live_module_cache_files"),
32678
- insertLiveFile: db.prepare("INSERT OR IGNORE INTO live_module_cache_files(file) VALUES (?)"),
32679
- pruneStaleFiles: db.prepare("DELETE FROM module_cache WHERE NOT EXISTS (SELECT 1 FROM live_module_cache_files WHERE file = module_cache.file)")
32680
- };
32681
- diskModuleCaches.set(dbPath, cache);
32682
- return cache;
32750
+ clearLiveFiles: db.prepare("DELETE FROM live_module_cache_files"),
32751
+ insertLiveFile: db.prepare("INSERT OR IGNORE INTO live_module_cache_files(file) VALUES (?)"),
32752
+ pruneStaleFiles: db.prepare("DELETE FROM module_cache WHERE NOT EXISTS (SELECT 1 FROM live_module_cache_files WHERE file = module_cache.file)")
32753
+ };
32754
+ diskModuleCaches.set(dbPath, cache);
32755
+ return cache;
32756
+ } catch (error51) {
32757
+ try {
32758
+ db.close();
32759
+ } catch {
32760
+ }
32761
+ if (isNodeSqliteUnavailableError(error51)) {
32762
+ reportMissingNodeSqlite(opts?.logLevel, error51);
32763
+ }
32764
+ throw error51;
32765
+ }
32683
32766
  }
32684
32767
  function closeDiskCacheDatabase(projectRoot, opts) {
32685
32768
  clearMemoryCacheForProject(projectRoot);
@@ -32700,6 +32783,11 @@ function closeDiskCacheDatabase(projectRoot, opts) {
32700
32783
  function pruneDiskModuleCache(projectRoot, liveFiles, opts) {
32701
32784
  if ((opts?.cache ?? "off") !== "disk")
32702
32785
  return 0;
32786
+ if (!isNodeSqliteUsable()) {
32787
+ const error51 = nodeSqliteUnavailableError() ?? new Error("node:sqlite is unavailable");
32788
+ reportMissingNodeSqlite(opts?.logLevel, error51);
32789
+ return 0;
32790
+ }
32703
32791
  if (!diskModuleCacheExists(projectRoot, opts))
32704
32792
  return 0;
32705
32793
  try {
@@ -32717,6 +32805,10 @@ function pruneDiskModuleCache(projectRoot, liveFiles, opts) {
32717
32805
  }
32718
32806
  return deleted;
32719
32807
  } catch (error51) {
32808
+ if (isNodeSqliteUnavailableError(error51)) {
32809
+ reportMissingNodeSqlite(opts?.logLevel, error51);
32810
+ return 0;
32811
+ }
32720
32812
  logWithLevel(opts?.logLevel, "warn", "Warning: Failed to prune module cache:", error51);
32721
32813
  return 0;
32722
32814
  }
@@ -32877,6 +32969,13 @@ function tryLoadFromCache(projectRoot, file2, sig, opts, report, diskCacheAvaila
32877
32969
  cacheReport.misses += 1;
32878
32970
  return null;
32879
32971
  }
32972
+ if (!isNodeSqliteUsable()) {
32973
+ const error51 = nodeSqliteUnavailableError() ?? new Error("node:sqlite is unavailable");
32974
+ reportMissingNodeSqlite(opts?.logLevel, error51);
32975
+ if (cacheEnabled && cacheReport)
32976
+ cacheReport.misses += 1;
32977
+ return null;
32978
+ }
32880
32979
  try {
32881
32980
  const cache = getDiskModuleCache(projectRoot, opts);
32882
32981
  const row = cache.load.get(cacheRelativePath(projectRoot, file2));
@@ -32909,6 +33008,11 @@ function writeModulesToCache(projectRoot, writes, opts) {
32909
33008
  lruMapSet(memoryCache, memoryCacheKey(projectRoot, write.file), { version: PARSED_CACHE_VERSION, sig: write.sig, mod: write.mod }, MAX_MEMORY_CACHE_ENTRIES);
32910
33009
  }
32911
33010
  } else if (mode === "disk") {
33011
+ if (!isNodeSqliteUsable()) {
33012
+ const error51 = nodeSqliteUnavailableError() ?? new Error("node:sqlite is unavailable");
33013
+ reportMissingNodeSqlite(opts?.logLevel, error51);
33014
+ return;
33015
+ }
32912
33016
  try {
32913
33017
  const cache = getDiskModuleCache(projectRoot, opts);
32914
33018
  const now = Date.now();
@@ -32944,6 +33048,7 @@ var init_module_cache = __esm({
32944
33048
  init_languages();
32945
33049
  init_treeSitterNative();
32946
33050
  init_logging();
33051
+ init_errors();
32947
33052
  init_sqlite_driver();
32948
33053
  init_bloomFilter();
32949
33054
  init_sqliteSchema();
@@ -33178,6 +33283,11 @@ function maintainDuplicateUnitDiskCache(index) {
33178
33283
  function duplicateUnitDiskCache(index) {
33179
33284
  if (index.cacheMode !== "disk" || !index.cacheRootDir)
33180
33285
  return null;
33286
+ if (!isNodeSqliteUsable()) {
33287
+ const error51 = nodeSqliteUnavailableError() ?? new Error("node:sqlite is unavailable");
33288
+ reportMissingNodeSqlite(void 0, error51);
33289
+ return null;
33290
+ }
33181
33291
  const dbPath = duplicateUnitCacheDatabasePathForRoot(index.cacheRootDir);
33182
33292
  let entry = duplicateUnitDiskDatabases.get(dbPath);
33183
33293
  if (!entry) {
@@ -56028,7 +56138,8 @@ async function buildIndexFromFileListShared(projectRoot, rawFiles, opts, helperO
56028
56138
  await writeProjectIndexSnapshot(projectRoot, opts, index, projectSnapshotFilesSignature(manifestEntries, projectRoot));
56029
56139
  }
56030
56140
  if (buildStartedAt !== void 0) {
56031
- emitIndexLifecycleProgress(opts, "complete", "build", index.byFile.size, performance5.now() - buildStartedAt);
56141
+ const progressStartedAt = opts?.progressStartedAt ?? buildStartedAt;
56142
+ emitIndexLifecycleProgress(opts, "complete", "build", index.byFile.size, performance5.now() - progressStartedAt);
56032
56143
  }
56033
56144
  return index;
56034
56145
  } finally {
@@ -56103,9 +56214,13 @@ async function buildProjectIndexWithManifestOptions(projectRoot, opts, helperOpt
56103
56214
  }
56104
56215
  }
56105
56216
  async function buildProjectIndex(projectRoot, opts) {
56106
- return buildProjectIndexWithManifestOptions(projectRoot, opts);
56217
+ return buildProjectIndexWithManifestOptions(projectRoot, {
56218
+ ...opts,
56219
+ progressStartedAt: opts?.progressStartedAt ?? performance5.now()
56220
+ });
56107
56221
  }
56108
- async function buildProjectIndexFromFiles(projectRoot, inputFiles, opts) {
56222
+ async function buildProjectIndexFromFiles(projectRoot, inputFiles, rawOpts) {
56223
+ const opts = { ...rawOpts, progressStartedAt: rawOpts?.progressStartedAt ?? performance5.now() };
56109
56224
  try {
56110
56225
  const useDiskCache = (opts?.cache ?? "off") === "disk";
56111
56226
  const normalizedInputFiles = await normalizeIndexedFileInputsWithinRoot(projectRoot, inputFiles, "Index file");
@@ -56134,7 +56249,11 @@ async function buildDeclaredScopeIndex(projectRoot, scopeFiles, opts) {
56134
56249
  }
56135
56250
  }
56136
56251
  }
56137
- async function buildProjectIndexIncremental(projectRoot, opts) {
56252
+ async function buildProjectIndexIncremental(projectRoot, rawOpts) {
56253
+ const opts = {
56254
+ ...rawOpts,
56255
+ progressStartedAt: rawOpts?.progressStartedAt ?? performance5.now()
56256
+ };
56138
56257
  await initializeFileIdentityCaseSensitivity(projectRoot);
56139
56258
  clearResolutionCaches();
56140
56259
  const graphOptions = normalizeGraphOptions(opts?.graph);
@@ -58339,7 +58458,24 @@ function emitAgentFilePlanProgress(options) {
58339
58458
  total: 0
58340
58459
  });
58341
58460
  }
58461
+ function agentDiscoveryProgressReporter(options) {
58462
+ const onProgress = options.buildOptions?.onProgress;
58463
+ if (!onProgress)
58464
+ return void 0;
58465
+ return ({ activity, current, total }) => {
58466
+ onProgress({
58467
+ type: "progress",
58468
+ phase: "update",
58469
+ mode: "check",
58470
+ message: activity,
58471
+ activity,
58472
+ current,
58473
+ total
58474
+ });
58475
+ };
58476
+ }
58342
58477
  async function resolveAgentSessionFilePlan(options) {
58478
+ const startedAt = performance.now();
58343
58479
  const { discoveryOptions, graphOptions, languageExtensions, cacheLocation } = await resolveAgentDiscoverySettings(options);
58344
58480
  const incrementalOptions = {
58345
58481
  ...options.buildOptions,
@@ -58353,6 +58489,7 @@ async function resolveAgentSessionFilePlan(options) {
58353
58489
  return {
58354
58490
  files: incrementalPlan.files,
58355
58491
  incrementalPlan,
58492
+ startedAt,
58356
58493
  ...discoveryOptions ? { discoveryOptions } : {},
58357
58494
  ...graphOptions ? { graphOptions } : {},
58358
58495
  ...languageExtensions ? { languageExtensions } : {},
@@ -58363,9 +58500,14 @@ async function resolveAgentSessionFilePlan(options) {
58363
58500
  const customPatterns = languageExtensionPatterns(languageExtensions);
58364
58501
  const patterns = customPatterns.length ? [...DEFAULT_PROJECT_PATTERNS2, ...customPatterns] : void 0;
58365
58502
  emitAgentFilePlanProgress(options);
58366
- const files = await listProjectFiles(options.root, patterns, discoveryOptions);
58503
+ const onDiscoveryProgress = agentDiscoveryProgressReporter(options);
58504
+ const files = await listProjectFiles(options.root, patterns, {
58505
+ ...discoveryOptions,
58506
+ ...onDiscoveryProgress ? { onDiscoveryProgress } : {}
58507
+ });
58367
58508
  return {
58368
58509
  files,
58510
+ startedAt,
58369
58511
  ...discoveryOptions ? { discoveryOptions } : {},
58370
58512
  ...graphOptions ? { graphOptions } : {},
58371
58513
  ...languageExtensions ? { languageExtensions } : {},
@@ -58518,7 +58660,7 @@ function createAgentSession(options) {
58518
58660
  if (cachedBase)
58519
58661
  return cachedBase;
58520
58662
  const loadPromise = (async () => {
58521
- const { files, discoveryOptions, graphOptions, languageExtensions, cacheLocation, incrementalPlan } = await loadFilePlan();
58663
+ const { files, discoveryOptions, graphOptions, languageExtensions, cacheLocation, incrementalPlan, startedAt } = await loadFilePlan();
58522
58664
  const buildOptions = {
58523
58665
  ...options.buildOptions,
58524
58666
  ...graphOptions ? { graph: graphOptions } : {},
@@ -58526,6 +58668,8 @@ function createAgentSession(options) {
58526
58668
  keepParsed: options.buildOptions?.keepParsed ?? true,
58527
58669
  files,
58528
58670
  filesAreProjectScope: true,
58671
+ // Discovery ran before this build, so the completion event must measure from there.
58672
+ progressStartedAt: options.buildOptions?.progressStartedAt ?? startedAt,
58529
58673
  ...incrementalPlan ? {
58530
58674
  reconciledManifestUpdatedAt: incrementalPlan.manifestUpdatedAt,
58531
58675
  reconciledWorkingTreeDiffFiles: incrementalPlan.workingTreeDiffFiles,