@lzehrung/codegraph 2.3.10 → 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
package/dist/bin/cli.js CHANGED
@@ -31824,6 +31824,48 @@ function isNodeSqliteUnavailableError(error51) {
31824
31824
  const message = errorMessage(error51);
31825
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);
31826
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
+ }
31827
31869
  function canInstallReadonlyAuthorizer(constants2) {
31828
31870
  return READONLY_AUTHORIZER_CONSTANTS.every((name) => typeof constants2[name] === "number");
31829
31871
  }
@@ -31836,7 +31878,7 @@ function isReadOnlySqliteError(error51) {
31836
31878
  const message = error51.message.toLowerCase();
31837
31879
  return message.includes("not authorized") || message.includes("read-only") || message.includes("readonly") || message.includes("attempt to write");
31838
31880
  }
31839
- 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;
31840
31882
  var init_sqlite_driver = __esm({
31841
31883
  "dist/sqlite-driver.js"() {
31842
31884
  "use strict";
@@ -31900,6 +31942,9 @@ var init_sqlite_driver = __esm({
31900
31942
  db;
31901
31943
  statements = /* @__PURE__ */ new Map();
31902
31944
  constructor(filePath, options) {
31945
+ if (!isNodeSqliteUsable()) {
31946
+ throw nodeSqliteUnavailableError() ?? new Error("node:sqlite is unavailable");
31947
+ }
31903
31948
  const sqlite = loadNodeSqlite();
31904
31949
  this.db = new sqlite.DatabaseSync(filePath, {
31905
31950
  readOnly: options?.readonly,
@@ -31925,9 +31970,15 @@ var init_sqlite_driver = __esm({
31925
31970
  const cached2 = this.statements.get(sql);
31926
31971
  if (cached2)
31927
31972
  return cached2;
31928
- const statement = new SqliteStatement(this.db.prepare(sql));
31929
- this.statements.set(sql, statement);
31930
- 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
+ }
31931
31982
  }
31932
31983
  transaction(fn) {
31933
31984
  return () => {
@@ -32582,10 +32633,16 @@ function clearMemoryCacheForProject(projectRoot) {
32582
32633
  }
32583
32634
  }
32584
32635
  function reportMissingNodeSqlite(logLevel, error51) {
32636
+ markNodeSqliteUnavailable(error51);
32585
32637
  if (warnedMissingNodeSqlite)
32586
32638
  return;
32587
32639
  warnedMissingNodeSqlite = true;
32588
- 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.`);
32589
32646
  }
32590
32647
  function cacheRelativePath(projectRoot, file2) {
32591
32648
  const root = path37.resolve(projectRoot);
@@ -32605,6 +32662,11 @@ function diskCacheDatabasePath(projectRoot, opts) {
32605
32662
  function diskModuleCacheExists(projectRoot, opts) {
32606
32663
  if ((opts?.cache ?? "off") !== "disk")
32607
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
+ }
32608
32670
  return fs17.existsSync(diskCacheDatabasePath(projectRoot, opts));
32609
32671
  }
32610
32672
  function createModuleCacheTable(db) {
@@ -32655,6 +32717,11 @@ function getDiskModuleCache(projectRoot, opts) {
32655
32717
  const existing = diskModuleCaches.get(dbPath);
32656
32718
  if (existing)
32657
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
+ }
32658
32725
  fs17.mkdirSync(path37.dirname(dbPath), { recursive: true });
32659
32726
  let db;
32660
32727
  try {
@@ -32665,26 +32732,37 @@ function getDiskModuleCache(projectRoot, opts) {
32665
32732
  }
32666
32733
  throw error51;
32667
32734
  }
32668
- db.pragma("journal_mode = WAL");
32669
- db.pragma("synchronous = NORMAL");
32670
- ensureModuleCacheSchema(db, projectRoot);
32671
- db.exec("CREATE TEMP TABLE IF NOT EXISTS live_module_cache_files(file TEXT PRIMARY KEY) WITHOUT ROWID;");
32672
- const cache = {
32673
- db,
32674
- load: db.prepare("SELECT sig, version, payload FROM module_cache WHERE file = ?"),
32675
- 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)
32676
32744
  VALUES (?, ?, ?, ?, ?)
32677
32745
  ON CONFLICT(file) DO UPDATE SET
32678
32746
  sig = excluded.sig,
32679
32747
  version = excluded.version,
32680
32748
  payload = excluded.payload,
32681
32749
  updated_at = excluded.updated_at`),
32682
- clearLiveFiles: db.prepare("DELETE FROM live_module_cache_files"),
32683
- insertLiveFile: db.prepare("INSERT OR IGNORE INTO live_module_cache_files(file) VALUES (?)"),
32684
- pruneStaleFiles: db.prepare("DELETE FROM module_cache WHERE NOT EXISTS (SELECT 1 FROM live_module_cache_files WHERE file = module_cache.file)")
32685
- };
32686
- diskModuleCaches.set(dbPath, cache);
32687
- 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
+ }
32688
32766
  }
32689
32767
  function closeDiskCacheDatabase(projectRoot, opts) {
32690
32768
  clearMemoryCacheForProject(projectRoot);
@@ -32705,6 +32783,11 @@ function closeDiskCacheDatabase(projectRoot, opts) {
32705
32783
  function pruneDiskModuleCache(projectRoot, liveFiles, opts) {
32706
32784
  if ((opts?.cache ?? "off") !== "disk")
32707
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
+ }
32708
32791
  if (!diskModuleCacheExists(projectRoot, opts))
32709
32792
  return 0;
32710
32793
  try {
@@ -32722,6 +32805,10 @@ function pruneDiskModuleCache(projectRoot, liveFiles, opts) {
32722
32805
  }
32723
32806
  return deleted;
32724
32807
  } catch (error51) {
32808
+ if (isNodeSqliteUnavailableError(error51)) {
32809
+ reportMissingNodeSqlite(opts?.logLevel, error51);
32810
+ return 0;
32811
+ }
32725
32812
  logWithLevel(opts?.logLevel, "warn", "Warning: Failed to prune module cache:", error51);
32726
32813
  return 0;
32727
32814
  }
@@ -32882,6 +32969,13 @@ function tryLoadFromCache(projectRoot, file2, sig, opts, report, diskCacheAvaila
32882
32969
  cacheReport.misses += 1;
32883
32970
  return null;
32884
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
+ }
32885
32979
  try {
32886
32980
  const cache = getDiskModuleCache(projectRoot, opts);
32887
32981
  const row = cache.load.get(cacheRelativePath(projectRoot, file2));
@@ -32914,6 +33008,11 @@ function writeModulesToCache(projectRoot, writes, opts) {
32914
33008
  lruMapSet(memoryCache, memoryCacheKey(projectRoot, write.file), { version: PARSED_CACHE_VERSION, sig: write.sig, mod: write.mod }, MAX_MEMORY_CACHE_ENTRIES);
32915
33009
  }
32916
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
+ }
32917
33016
  try {
32918
33017
  const cache = getDiskModuleCache(projectRoot, opts);
32919
33018
  const now = Date.now();
@@ -32949,6 +33048,7 @@ var init_module_cache = __esm({
32949
33048
  init_languages();
32950
33049
  init_treeSitterNative();
32951
33050
  init_logging();
33051
+ init_errors();
32952
33052
  init_sqlite_driver();
32953
33053
  init_bloomFilter();
32954
33054
  init_sqliteSchema();
@@ -33183,6 +33283,11 @@ function maintainDuplicateUnitDiskCache(index) {
33183
33283
  function duplicateUnitDiskCache(index) {
33184
33284
  if (index.cacheMode !== "disk" || !index.cacheRootDir)
33185
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
+ }
33186
33291
  const dbPath = duplicateUnitCacheDatabasePathForRoot(index.cacheRootDir);
33187
33292
  let entry = duplicateUnitDiskDatabases.get(dbPath);
33188
33293
  if (!entry) {
@@ -4,6 +4,28 @@ const require = __codegraphCreateRequire(import.meta.url);
4
4
 
5
5
  // dist/sqlite-driver.js
6
6
  import { createRequire } from "node:module";
7
+
8
+ // dist/util/errors.js
9
+ function errorMessage(error) {
10
+ if (error instanceof Error)
11
+ return error.message;
12
+ if (typeof error === "string")
13
+ return error;
14
+ if (error === null || error === void 0)
15
+ return String(error);
16
+ if (typeof error === "object") {
17
+ try {
18
+ const serialized = JSON.stringify(error);
19
+ if (serialized)
20
+ return serialized;
21
+ } catch {
22
+ return String(error);
23
+ }
24
+ }
25
+ return String(error);
26
+ }
27
+
28
+ // dist/sqlite-driver.js
7
29
  var requireNodeModule = createRequire(import.meta.url);
8
30
  var sqliteModule;
9
31
  var reportedReadonlyAuthorizerDegradation = false;
@@ -28,6 +50,54 @@ function loadNodeSqlite() {
28
50
  throw sqliteLoadError;
29
51
  }
30
52
  }
53
+ function isNodeSqliteUnavailableError(error) {
54
+ const message = errorMessage(error);
55
+ return /node:sqlite|No such built-in module:\s*node:sqlite|setReturnArrays is not a function|columns is not a function/i.test(message);
56
+ }
57
+ var nodeSqliteUnsupportedError;
58
+ function markNodeSqliteUnavailable(error) {
59
+ if (nodeSqliteUnsupportedError)
60
+ return;
61
+ nodeSqliteUnsupportedError = error instanceof Error ? error : new Error(String(error));
62
+ }
63
+ function nodeSqliteUnavailableError() {
64
+ return nodeSqliteUnsupportedError ?? sqliteLoadError;
65
+ }
66
+ var nodeSqliteUsable;
67
+ function requireNodeSqliteStatement(statement) {
68
+ const candidate = statement;
69
+ if (typeof candidate.setReturnArrays !== "function") {
70
+ throw new TypeError("setReturnArrays is not a function");
71
+ }
72
+ if (typeof candidate.columns !== "function") {
73
+ throw new TypeError("columns is not a function");
74
+ }
75
+ return candidate;
76
+ }
77
+ function isNodeSqliteUsable() {
78
+ if (nodeSqliteUnavailableError()) {
79
+ nodeSqliteUsable = false;
80
+ return false;
81
+ }
82
+ if (nodeSqliteUsable !== void 0)
83
+ return nodeSqliteUsable;
84
+ try {
85
+ const sqlite = loadNodeSqlite();
86
+ const probe = new sqlite.DatabaseSync(":memory:");
87
+ try {
88
+ const statement = requireNodeSqliteStatement(probe.prepare("SELECT 1"));
89
+ statement.setReturnArrays(false);
90
+ statement.columns();
91
+ nodeSqliteUsable = true;
92
+ } finally {
93
+ probe.close();
94
+ }
95
+ } catch (error) {
96
+ markNodeSqliteUnavailable(error);
97
+ nodeSqliteUsable = false;
98
+ }
99
+ return nodeSqliteUsable;
100
+ }
31
101
  var READONLY_AUTHORIZER_CONSTANTS = [
32
102
  "SQLITE_DENY",
33
103
  "SQLITE_FUNCTION",
@@ -91,6 +161,9 @@ var SqliteDatabase = class {
91
161
  db;
92
162
  statements = /* @__PURE__ */ new Map();
93
163
  constructor(filePath, options) {
164
+ if (!isNodeSqliteUsable()) {
165
+ throw nodeSqliteUnavailableError() ?? new Error("node:sqlite is unavailable");
166
+ }
94
167
  const sqlite = loadNodeSqlite();
95
168
  this.db = new sqlite.DatabaseSync(filePath, {
96
169
  readOnly: options?.readonly,
@@ -116,9 +189,15 @@ var SqliteDatabase = class {
116
189
  const cached = this.statements.get(sql);
117
190
  if (cached)
118
191
  return cached;
119
- const statement = new SqliteStatement(this.db.prepare(sql));
120
- this.statements.set(sql, statement);
121
- return statement;
192
+ try {
193
+ const statement = new SqliteStatement(this.db.prepare(sql));
194
+ this.statements.set(sql, statement);
195
+ return statement;
196
+ } catch (error) {
197
+ if (isNodeSqliteUnavailableError(error))
198
+ markNodeSqliteUnavailable(error);
199
+ throw error;
200
+ }
122
201
  }
123
202
  transaction(fn) {
124
203
  return () => {
@@ -1 +1 @@
1
- {"version":3,"file":"unitCache.d.ts","sourceRoot":"","sources":["../../src/duplicates/unitCache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"unitCache.d.ts","sourceRoot":"","sources":["../../src/duplicates/unitCache.ts"],"names":[],"mappings":"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"}
@@ -2,9 +2,9 @@ import fs from "node:fs";
2
2
  import path from "node:path";
3
3
  import { brotliCompressSync, brotliDecompressSync, constants as zlibConstants } from "node:zlib";
4
4
  import { getNativeTreeSitterSupportedLanguageIds, isNativeDuplicateTokenizationAvailable, isNativeTreeSitterDisabledByEnv, } from "../native/treeSitterNative.js";
5
- import { SqliteDatabase } from "../sqlite-driver.js";
5
+ import { SqliteDatabase, isNodeSqliteUsable, nodeSqliteUnavailableError } from "../sqlite-driver.js";
6
6
  import { logWithLevel } from "../logging.js";
7
- import { cacheDatabasePath } from "../indexer/build-cache/module-cache.js";
7
+ import { cacheDatabasePath, reportMissingNodeSqlite } from "../indexer/build-cache/module-cache.js";
8
8
  import { createSqliteTableIfMissing, ensureSqliteVersionedTableSchema, recreateSqliteTable, sqliteTableColumns, } from "../util/sqliteSchema.js";
9
9
  import { lruMapGet } from "../util/lruMap.js";
10
10
  import { assertFilePathWithinRoot, fileIdentityKey, normalizePath } from "../util/paths.js";
@@ -207,6 +207,11 @@ export function maintainDuplicateUnitDiskCache(index) {
207
207
  export function duplicateUnitDiskCache(index) {
208
208
  if (index.cacheMode !== "disk" || !index.cacheRootDir)
209
209
  return null;
210
+ if (!isNodeSqliteUsable()) {
211
+ const error = nodeSqliteUnavailableError() ?? new Error("node:sqlite is unavailable");
212
+ reportMissingNodeSqlite(undefined, error);
213
+ return null;
214
+ }
210
215
  const dbPath = duplicateUnitCacheDatabasePathForRoot(index.cacheRootDir);
211
216
  let entry = duplicateUnitDiskDatabases.get(dbPath);
212
217
  if (!entry) {
@@ -1 +1 @@
1
- {"version":3,"file":"unitCache.js","sourceRoot":"","sources":["../../src/duplicates/unitCache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"unitCache.js","sourceRoot":"","sources":["../../src/duplicates/unitCache.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { type LogLevel } from "../../logging.js";
1
2
  import { SqliteDatabase, type SqliteStatement } from "../../sqlite-driver.js";
2
3
  import type { BuildOptions, BuildReport, ExportEntry, ModuleIndex } from "../types.js";
3
4
  type DiskModuleCache = {
@@ -9,6 +10,9 @@ type DiskModuleCache = {
9
10
  pruneStaleFiles: SqliteStatement;
10
11
  };
11
12
  export declare function clearMemoryCache(): void;
13
+ export declare function reportMissingNodeSqlite(logLevel: LogLevel | undefined, error: unknown): void;
14
+ /** Test seam: forget the one-shot disk-cache warning and sqlite latch. */
15
+ export declare function resetDiskModuleCacheSqliteStateForTests(): void;
12
16
  export declare function cacheRelativePath(projectRoot: string, file: string): string;
13
17
  export declare function cacheAbsolutePath(projectRoot: string, file: string): string;
14
18
  export declare function cacheDatabasePath(projectRoot: string, opts: BuildOptions | undefined, filename: string): string;
@@ -1 +1 @@
1
- {"version":3,"file":"module-cache.d.ts","sourceRoot":"","sources":["../../../src/indexer/build-cache/module-cache.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,cAAc,EAAE,KAAK,eAAe,EAAgC,MAAM,wBAAwB,CAAC;AAS5G,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAgCvF,KAAK,eAAe,GAAG;IACrB,EAAE,EAAE,cAAc,CAAC;IACnB,IAAI,EAAE,eAAe,CAAC;IACtB,KAAK,EAAE,eAAe,CAAC;IACvB,cAAc,EAAE,eAAe,CAAC;IAChC,cAAc,EAAE,eAAe,CAAC;IAChC,eAAe,EAAE,eAAe,CAAC;CAClC,CAAC;AAMF,wBAAgB,gBAAgB,IAAI,IAAI,CAEvC;AAwBD,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAK3E;AAED,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAE3E;AACD,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,GAAG,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE/G;AAMD,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,OAAO,CAGvF;AA4CD,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,eAAe,CAsC5F;AAED,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,IAAI,CAgBrF;AAED,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,MAAM,CAoBlH;AAoCD,MAAM,MAAM,aAAa,GAAG;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,wBAAsB,aAAa,CACjC,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,OAAO,EAChB,MAAM,CAAC,EAAE,MAAM,EACf,IAAI,CAAC,EAAE;IAAE,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAAE,GACpC,OAAO,CAAC,aAAa,CAAC,CAgBxB;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,aAAa,CAKtF;AAED,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,aAAa,EACtB,IAAI,CAAC,EAAE,YAAY,GAClB,OAAO,CAAC,MAAM,CAAC,CAcjB;AAED,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,IAAI,CAAC,YAAY,EAAE,oBAAoB,CAAC,GAC9C,OAAO,CAAC,OAAO,2BAA2B,EAAE,WAAW,GAAG,IAAI,CAAC,CASjE;AAkBD,wBAAgB,kCAAkC,CAChD,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,OAAO,CAAC,WAAW,EAAE;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC,EAC9C,UAAU,EAAE,OAAO,GAClB,IAAI,CAmBN;AA0CD,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,YAAY,EACnB,MAAM,CAAC,EAAE,WAAW,EACpB,kBAAkB,UAAO,GACxB,WAAW,GAAG,IAAI,CA6CpB;AAED,MAAM,MAAM,uBAAuB,GAAG;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,WAAW,CAAC;CAClB,CAAC;AAEF,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,SAAS,uBAAuB,EAAE,EAC1C,IAAI,CAAC,EAAE,YAAY,GAClB,IAAI,CAwCN;AAED,wBAAgB,YAAY,CAC1B,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,WAAW,EAChB,IAAI,CAAC,EAAE,YAAY,GAClB,IAAI,CAEN"}
1
+ {"version":3,"file":"module-cache.d.ts","sourceRoot":"","sources":["../../../src/indexer/build-cache/module-cache.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,8 @@ import path from "node:path";
6
6
  import { supportForFileWithoutHeaderSample } from "../../languages.js";
7
7
  import { getNativeRuntimeFingerprint } from "../../native/treeSitterNative.js";
8
8
  import { logWithLevel } from "../../logging.js";
9
- import { SqliteDatabase, isNodeSqliteUnavailableError } from "../../sqlite-driver.js";
9
+ import { errorMessage } from "../../util/errors.js";
10
+ import { SqliteDatabase, clearNodeSqliteUnavailableForTests, isNodeSqliteUnavailableError, isNodeSqliteUsable, markNodeSqliteUnavailable, nodeSqliteUnavailableError, } from "../../sqlite-driver.js";
10
11
  import { buildBloomFilterFromSource } from "../../util/bloomFilter.js";
11
12
  import { createSqliteTableIfMissing, ensureSqliteVersionedTableSchema, recreateSqliteTable, sqliteTableColumns, } from "../../util/sqliteSchema.js";
12
13
  import { assertFilePathWithinRoot, isAbsoluteFilePath, isFilePathWithinRoot, normalizePath } from "../../util/paths.js";
@@ -46,11 +47,22 @@ function clearMemoryCacheForProject(projectRoot) {
46
47
  }
47
48
  const diskModuleCaches = new Map();
48
49
  let warnedMissingNodeSqlite = false;
49
- function reportMissingNodeSqlite(logLevel, error) {
50
+ export function reportMissingNodeSqlite(logLevel, error) {
51
+ markNodeSqliteUnavailable(error);
50
52
  if (warnedMissingNodeSqlite)
51
53
  return;
52
54
  warnedMissingNodeSqlite = true;
53
- logWithLevel(logLevel, "error", "Disk cache requires the Node.js built-in node:sqlite module. Use Node.js >= 22.16, or set --cache off/memory.", error);
55
+ const missingStatementApi = /setReturnArrays is not a function|columns is not a function/i.test(errorMessage(error));
56
+ let detail = "The built-in node:sqlite module is unavailable (requires Node.js >= 22.16).";
57
+ if (missingStatementApi) {
58
+ detail = "The built-in node:sqlite module is missing statement APIs Codegraph needs (requires Node.js >= 22.16).";
59
+ }
60
+ logWithLevel(logLevel, "warn", `Warning: Disk cache disabled for this run. ${detail} Pass --cache memory or --cache off to skip this check.`);
61
+ }
62
+ /** Test seam: forget the one-shot disk-cache warning and sqlite latch. */
63
+ export function resetDiskModuleCacheSqliteStateForTests() {
64
+ warnedMissingNodeSqlite = false;
65
+ clearNodeSqliteUnavailableForTests();
54
66
  }
55
67
  export function cacheRelativePath(projectRoot, file) {
56
68
  const root = path.resolve(projectRoot);
@@ -70,6 +82,11 @@ function diskCacheDatabasePath(projectRoot, opts) {
70
82
  export function diskModuleCacheExists(projectRoot, opts) {
71
83
  if ((opts?.cache ?? "off") !== "disk")
72
84
  return false;
85
+ if (!isNodeSqliteUsable()) {
86
+ const error = nodeSqliteUnavailableError() ?? new Error("node:sqlite is unavailable");
87
+ reportMissingNodeSqlite(opts?.logLevel, error);
88
+ return false;
89
+ }
73
90
  return fs.existsSync(diskCacheDatabasePath(projectRoot, opts));
74
91
  }
75
92
  function createModuleCacheTable(db) {
@@ -120,6 +137,11 @@ export function getDiskModuleCache(projectRoot, opts) {
120
137
  const existing = diskModuleCaches.get(dbPath);
121
138
  if (existing)
122
139
  return existing;
140
+ if (!isNodeSqliteUsable()) {
141
+ const error = nodeSqliteUnavailableError() ?? new Error("node:sqlite is unavailable");
142
+ reportMissingNodeSqlite(opts?.logLevel, error);
143
+ throw error;
144
+ }
123
145
  fs.mkdirSync(path.dirname(dbPath), { recursive: true });
124
146
  let db;
125
147
  try {
@@ -131,26 +153,40 @@ export function getDiskModuleCache(projectRoot, opts) {
131
153
  }
132
154
  throw error;
133
155
  }
134
- db.pragma("journal_mode = WAL");
135
- db.pragma("synchronous = NORMAL");
136
- ensureModuleCacheSchema(db, projectRoot);
137
- db.exec("CREATE TEMP TABLE IF NOT EXISTS live_module_cache_files(file TEXT PRIMARY KEY) WITHOUT ROWID;");
138
- const cache = {
139
- db,
140
- load: db.prepare("SELECT sig, version, payload FROM module_cache WHERE file = ?"),
141
- write: db.prepare(`INSERT INTO module_cache (file, sig, version, payload, updated_at)
156
+ try {
157
+ db.pragma("journal_mode = WAL");
158
+ db.pragma("synchronous = NORMAL");
159
+ ensureModuleCacheSchema(db, projectRoot);
160
+ db.exec("CREATE TEMP TABLE IF NOT EXISTS live_module_cache_files(file TEXT PRIMARY KEY) WITHOUT ROWID;");
161
+ const cache = {
162
+ db,
163
+ load: db.prepare("SELECT sig, version, payload FROM module_cache WHERE file = ?"),
164
+ write: db.prepare(`INSERT INTO module_cache (file, sig, version, payload, updated_at)
142
165
  VALUES (?, ?, ?, ?, ?)
143
166
  ON CONFLICT(file) DO UPDATE SET
144
167
  sig = excluded.sig,
145
168
  version = excluded.version,
146
169
  payload = excluded.payload,
147
170
  updated_at = excluded.updated_at`),
148
- clearLiveFiles: db.prepare("DELETE FROM live_module_cache_files"),
149
- insertLiveFile: db.prepare("INSERT OR IGNORE INTO live_module_cache_files(file) VALUES (?)"),
150
- pruneStaleFiles: db.prepare("DELETE FROM module_cache WHERE NOT EXISTS (SELECT 1 FROM live_module_cache_files WHERE file = module_cache.file)"),
151
- };
152
- diskModuleCaches.set(dbPath, cache);
153
- return cache;
171
+ clearLiveFiles: db.prepare("DELETE FROM live_module_cache_files"),
172
+ insertLiveFile: db.prepare("INSERT OR IGNORE INTO live_module_cache_files(file) VALUES (?)"),
173
+ pruneStaleFiles: db.prepare("DELETE FROM module_cache WHERE NOT EXISTS (SELECT 1 FROM live_module_cache_files WHERE file = module_cache.file)"),
174
+ };
175
+ diskModuleCaches.set(dbPath, cache);
176
+ return cache;
177
+ }
178
+ catch (error) {
179
+ try {
180
+ db.close();
181
+ }
182
+ catch {
183
+ // close best-effort
184
+ }
185
+ if (isNodeSqliteUnavailableError(error)) {
186
+ reportMissingNodeSqlite(opts?.logLevel, error);
187
+ }
188
+ throw error;
189
+ }
154
190
  }
155
191
  export function closeDiskCacheDatabase(projectRoot, opts) {
156
192
  clearMemoryCacheForProject(projectRoot);
@@ -175,6 +211,11 @@ export function closeDiskCacheDatabase(projectRoot, opts) {
175
211
  export function pruneDiskModuleCache(projectRoot, liveFiles, opts) {
176
212
  if ((opts?.cache ?? "off") !== "disk")
177
213
  return 0;
214
+ if (!isNodeSqliteUsable()) {
215
+ const error = nodeSqliteUnavailableError() ?? new Error("node:sqlite is unavailable");
216
+ reportMissingNodeSqlite(opts?.logLevel, error);
217
+ return 0;
218
+ }
178
219
  if (!diskModuleCacheExists(projectRoot, opts))
179
220
  return 0;
180
221
  try {
@@ -193,6 +234,10 @@ export function pruneDiskModuleCache(projectRoot, liveFiles, opts) {
193
234
  return deleted;
194
235
  }
195
236
  catch (error) {
237
+ if (isNodeSqliteUnavailableError(error)) {
238
+ reportMissingNodeSqlite(opts?.logLevel, error);
239
+ return 0;
240
+ }
196
241
  logWithLevel(opts?.logLevel, "warn", "Warning: Failed to prune module cache:", error);
197
242
  return 0;
198
243
  }
@@ -363,6 +408,13 @@ export function tryLoadFromCache(projectRoot, file, sig, opts, report, diskCache
363
408
  cacheReport.misses += 1;
364
409
  return null;
365
410
  }
411
+ if (!isNodeSqliteUsable()) {
412
+ const error = nodeSqliteUnavailableError() ?? new Error("node:sqlite is unavailable");
413
+ reportMissingNodeSqlite(opts?.logLevel, error);
414
+ if (cacheEnabled && cacheReport)
415
+ cacheReport.misses += 1;
416
+ return null;
417
+ }
366
418
  try {
367
419
  const cache = getDiskModuleCache(projectRoot, opts);
368
420
  const row = cache.load.get(cacheRelativePath(projectRoot, file));
@@ -397,6 +449,11 @@ export function writeModulesToCache(projectRoot, writes, opts) {
397
449
  }
398
450
  }
399
451
  else if (mode === "disk") {
452
+ if (!isNodeSqliteUsable()) {
453
+ const error = nodeSqliteUnavailableError() ?? new Error("node:sqlite is unavailable");
454
+ reportMissingNodeSqlite(opts?.logLevel, error);
455
+ return;
456
+ }
400
457
  try {
401
458
  const cache = getDiskModuleCache(projectRoot, opts);
402
459
  const now = Date.now();
@@ -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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"}
@@ -22,6 +22,33 @@ type NodeSqliteStatement = StatementSync & {
22
22
  };
23
23
  export declare function getNodeSqliteLoadError(): Error | undefined;
24
24
  export declare function isNodeSqliteUnavailableError(error: unknown): boolean;
25
+ /**
26
+ * Record the first proof that this runtime cannot serve Codegraph's SQLite work.
27
+ *
28
+ * A Node build below the supported floor loads `node:sqlite` but omits statement APIs
29
+ * Codegraph needs, so the failure appears while preparing statements rather than while
30
+ * opening the database. Without this latch every later cache access reopened the database,
31
+ * re-ran its pragmas, and threw again: a 500-file project paid that cost per file.
32
+ */
33
+ export declare function markNodeSqliteUnavailable(error: unknown): void;
34
+ /** The latched failure, when this runtime has already proven it cannot serve SQLite work. */
35
+ export declare function nodeSqliteUnavailableError(): Error | undefined;
36
+ /**
37
+ * Test seam: forget the unsupported-API latch and usability probe so a suite can mark
38
+ * the runtime unusable and then exercise a usable runtime. A failed `require("node:sqlite")`
39
+ * stays latched because the module is absent for the process.
40
+ */
41
+ export declare function clearNodeSqliteUnavailableForTests(): void;
42
+ /**
43
+ * Whether this runtime's `node:sqlite` can serve Codegraph's statement use.
44
+ *
45
+ * Codegraph depends on the standard-library module, not a compiled driver, so support is a
46
+ * property of the running Node build. Builds below the supported floor export `node:sqlite`
47
+ * but omit `StatementSync` methods Codegraph needs. That only surfaces when a statement is
48
+ * prepared, so this probes an in-memory database once and latches the result. Callers then skip
49
+ * creating on-disk cache files that can never be used.
50
+ */
51
+ export declare function isNodeSqliteUsable(): boolean;
25
52
  export declare function canInstallReadonlyAuthorizer(constants: SqliteConstants): constants is Required<SqliteConstants>;
26
53
  export declare class SqliteStatement {
27
54
  private readonly statement;
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite-driver.d.ts","sourceRoot":"","sources":["../src/sqlite-driver.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,KAAK,EAAgB,uBAAuB,EAAE,yBAAyB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAGnH,MAAM,MAAM,WAAW,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,eAAe,CAAC;AACnF,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAChD,MAAM,MAAM,YAAY,GAAG,OAAO,EAAE,CAAC;AACrC,MAAM,MAAM,eAAe,GAAG,yBAAyB,CAAC;AACxD,MAAM,MAAM,YAAY,GAAG,uBAAuB,CAAC;AAEnD,KAAK,eAAe,GAAG;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC;AASF,KAAK,oBAAoB,GAAG,WAAW,GAAG,SAAS,WAAW,EAAE,CAAC;AAIjE,KAAK,mBAAmB,GAAG,aAAa,GAAG;IACzC,OAAO,EAAE,MAAM,uBAAuB,EAAE,CAAC;IACzC,eAAe,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;CAC7C,CAAC;AA4BF,wBAAgB,sBAAsB,IAAI,KAAK,GAAG,SAAS,CAQ1D;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAKpE;AAaD,wBAAgB,4BAA4B,CAAC,SAAS,EAAE,eAAe,GAAG,SAAS,IAAI,QAAQ,CAAC,eAAe,CAAC,CAE/G;AA8BD,qBAAa,eAAe;IAExB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,YAAY;gBADZ,SAAS,EAAE,mBAAmB,EAC9B,YAAY,UAAQ;IAKvC,GAAG,IAAI,eAAe;IAItB,GAAG,CAAC,GAAG,MAAM,EAAE,oBAAoB,EAAE,GAAG,SAAS,EAAE,GAAG,YAAY,EAAE;IAIpE,GAAG,CAAC,GAAG,MAAM,EAAE,oBAAoB,EAAE,GAAG,SAAS,GAAG,YAAY,GAAG,SAAS;IAI5E,OAAO,CAAC,GAAG,MAAM,EAAE,oBAAoB,EAAE,GAAG,QAAQ,CAAC,SAAS,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC;IAIxF,GAAG,CAAC,GAAG,MAAM,EAAE,oBAAoB,EAAE,GAAG,eAAe;IAIvD,OAAO,IAAI,YAAY,EAAE;CAG1B;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,EAAE,CAA6B;IAChD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsC;gBAErD,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE;IAkBlF,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAMvB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAIzB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe;IAQrC,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC;IAcpC,KAAK,IAAI,IAAI;CAId;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAS7D"}
1
+ {"version":3,"file":"sqlite-driver.d.ts","sourceRoot":"","sources":["../src/sqlite-driver.ts"],"names":[],"mappings":"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"}
@@ -40,6 +40,79 @@ export function isNodeSqliteUnavailableError(error) {
40
40
  const message = errorMessage(error);
41
41
  return /node:sqlite|No such built-in module:\s*node:sqlite|setReturnArrays is not a function|columns is not a function/i.test(message);
42
42
  }
43
+ let nodeSqliteUnsupportedError;
44
+ /**
45
+ * Record the first proof that this runtime cannot serve Codegraph's SQLite work.
46
+ *
47
+ * A Node build below the supported floor loads `node:sqlite` but omits statement APIs
48
+ * Codegraph needs, so the failure appears while preparing statements rather than while
49
+ * opening the database. Without this latch every later cache access reopened the database,
50
+ * re-ran its pragmas, and threw again: a 500-file project paid that cost per file.
51
+ */
52
+ export function markNodeSqliteUnavailable(error) {
53
+ if (nodeSqliteUnsupportedError)
54
+ return;
55
+ nodeSqliteUnsupportedError = error instanceof Error ? error : new Error(String(error));
56
+ }
57
+ /** The latched failure, when this runtime has already proven it cannot serve SQLite work. */
58
+ export function nodeSqliteUnavailableError() {
59
+ return nodeSqliteUnsupportedError ?? sqliteLoadError;
60
+ }
61
+ /**
62
+ * Test seam: forget the unsupported-API latch and usability probe so a suite can mark
63
+ * the runtime unusable and then exercise a usable runtime. A failed `require("node:sqlite")`
64
+ * stays latched because the module is absent for the process.
65
+ */
66
+ export function clearNodeSqliteUnavailableForTests() {
67
+ nodeSqliteUnsupportedError = undefined;
68
+ nodeSqliteUsable = undefined;
69
+ }
70
+ let nodeSqliteUsable;
71
+ function requireNodeSqliteStatement(statement) {
72
+ const candidate = statement;
73
+ if (typeof candidate.setReturnArrays !== "function") {
74
+ throw new TypeError("setReturnArrays is not a function");
75
+ }
76
+ if (typeof candidate.columns !== "function") {
77
+ throw new TypeError("columns is not a function");
78
+ }
79
+ return candidate;
80
+ }
81
+ /**
82
+ * Whether this runtime's `node:sqlite` can serve Codegraph's statement use.
83
+ *
84
+ * Codegraph depends on the standard-library module, not a compiled driver, so support is a
85
+ * property of the running Node build. Builds below the supported floor export `node:sqlite`
86
+ * but omit `StatementSync` methods Codegraph needs. That only surfaces when a statement is
87
+ * prepared, so this probes an in-memory database once and latches the result. Callers then skip
88
+ * creating on-disk cache files that can never be used.
89
+ */
90
+ export function isNodeSqliteUsable() {
91
+ if (nodeSqliteUnavailableError()) {
92
+ nodeSqliteUsable = false;
93
+ return false;
94
+ }
95
+ if (nodeSqliteUsable !== undefined)
96
+ return nodeSqliteUsable;
97
+ try {
98
+ const sqlite = loadNodeSqlite();
99
+ const probe = new sqlite.DatabaseSync(":memory:");
100
+ try {
101
+ const statement = requireNodeSqliteStatement(probe.prepare("SELECT 1"));
102
+ statement.setReturnArrays(false);
103
+ statement.columns();
104
+ nodeSqliteUsable = true;
105
+ }
106
+ finally {
107
+ probe.close();
108
+ }
109
+ }
110
+ catch (error) {
111
+ markNodeSqliteUnavailable(error);
112
+ nodeSqliteUsable = false;
113
+ }
114
+ return nodeSqliteUsable;
115
+ }
43
116
  const READONLY_AUTHORIZER_CONSTANTS = [
44
117
  "SQLITE_DENY",
45
118
  "SQLITE_FUNCTION",
@@ -108,6 +181,9 @@ export class SqliteDatabase {
108
181
  db;
109
182
  statements = new Map();
110
183
  constructor(filePath, options) {
184
+ if (!isNodeSqliteUsable()) {
185
+ throw nodeSqliteUnavailableError() ?? new Error("node:sqlite is unavailable");
186
+ }
111
187
  const sqlite = loadNodeSqlite();
112
188
  this.db = new sqlite.DatabaseSync(filePath, {
113
189
  readOnly: options?.readonly,
@@ -135,9 +211,16 @@ export class SqliteDatabase {
135
211
  const cached = this.statements.get(sql);
136
212
  if (cached)
137
213
  return cached;
138
- const statement = new SqliteStatement(this.db.prepare(sql));
139
- this.statements.set(sql, statement);
140
- return statement;
214
+ try {
215
+ const statement = new SqliteStatement(this.db.prepare(sql));
216
+ this.statements.set(sql, statement);
217
+ return statement;
218
+ }
219
+ catch (error) {
220
+ if (isNodeSqliteUnavailableError(error))
221
+ markNodeSqliteUnavailable(error);
222
+ throw error;
223
+ }
141
224
  }
142
225
  transaction(fn) {
143
226
  return () => {
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite-driver.js","sourceRoot":"","sources":["../src/sqlite-driver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sqlite-driver.js","sourceRoot":"","sources":["../src/sqlite-driver.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lzehrung/codegraph",
3
- "version": "2.3.10",
3
+ "version": "2.3.11",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -82,7 +82,7 @@
82
82
  "license": "MIT",
83
83
  "description": "Multi-language repository map for agents and humans: MCP tools, dependency graphs, symbol indexes, impact review, and bounded source evidence.",
84
84
  "dependencies": {
85
- "@lzehrung/codegraph-core": "2.3.10",
85
+ "@lzehrung/codegraph-core": "2.3.11",
86
86
  "@modelcontextprotocol/node": "^2.0.0",
87
87
  "@modelcontextprotocol/server": "^2.0.0",
88
88
  "fast-glob": "^3.3.3",
@@ -99,6 +99,6 @@
99
99
  "@emnapi/runtime": "1.11.3"
100
100
  },
101
101
  "optionalDependencies": {
102
- "@lzehrung/codegraph-native": "^1.12.10"
102
+ "@lzehrung/codegraph-native": "^1.12.11"
103
103
  }
104
104
  }