@lzehrung/codegraph-core 2.1.0 → 2.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (430) hide show
  1. package/dist/agent/artifact.d.ts.map +1 -1
  2. package/dist/agent/artifact.js +105 -14
  3. package/dist/agent/artifact.js.map +1 -1
  4. package/dist/agent/candidateTests.d.ts +12 -0
  5. package/dist/agent/candidateTests.d.ts.map +1 -0
  6. package/dist/agent/candidateTests.js +17 -0
  7. package/dist/agent/candidateTests.js.map +1 -0
  8. package/dist/agent/explain.d.ts +3 -0
  9. package/dist/agent/explain.d.ts.map +1 -1
  10. package/dist/agent/explain.js +8 -0
  11. package/dist/agent/explain.js.map +1 -1
  12. package/dist/agent/explore.d.ts.map +1 -1
  13. package/dist/agent/explore.js +11 -6
  14. package/dist/agent/explore.js.map +1 -1
  15. package/dist/agent/fileView.d.ts.map +1 -1
  16. package/dist/agent/fileView.js +113 -120
  17. package/dist/agent/fileView.js.map +1 -1
  18. package/dist/agent/orient.d.ts.map +1 -1
  19. package/dist/agent/orient.js +7 -4
  20. package/dist/agent/orient.js.map +1 -1
  21. package/dist/agent/packet.d.ts.map +1 -1
  22. package/dist/agent/packet.js +5 -12
  23. package/dist/agent/packet.js.map +1 -1
  24. package/dist/agent/query-index/candidates.d.ts +13 -2
  25. package/dist/agent/query-index/candidates.d.ts.map +1 -1
  26. package/dist/agent/query-index/candidates.js +28 -39
  27. package/dist/agent/query-index/candidates.js.map +1 -1
  28. package/dist/agent/query-index/content.d.ts +1 -1
  29. package/dist/agent/query-index/content.js +4 -4
  30. package/dist/agent/query-index/content.js.map +1 -1
  31. package/dist/agent/query-index/schema.d.ts.map +1 -1
  32. package/dist/agent/query-index/schema.js.map +1 -1
  33. package/dist/agent/query-index/sessionStore.d.ts.map +1 -1
  34. package/dist/agent/query-index/sessionStore.js +42 -26
  35. package/dist/agent/query-index/sessionStore.js.map +1 -1
  36. package/dist/agent/query-index/store.d.ts +10 -4
  37. package/dist/agent/query-index/store.d.ts.map +1 -1
  38. package/dist/agent/query-index/store.js +115 -10
  39. package/dist/agent/query-index/store.js.map +1 -1
  40. package/dist/agent/query-index/update.d.ts.map +1 -1
  41. package/dist/agent/query-index/update.js +24 -9
  42. package/dist/agent/query-index/update.js.map +1 -1
  43. package/dist/agent/refactorPlan.d.ts.map +1 -1
  44. package/dist/agent/refactorPlan.js +6 -14
  45. package/dist/agent/refactorPlan.js.map +1 -1
  46. package/dist/agent/renamePreview.d.ts +2 -5
  47. package/dist/agent/renamePreview.d.ts.map +1 -1
  48. package/dist/agent/renamePreview.js +133 -80
  49. package/dist/agent/renamePreview.js.map +1 -1
  50. package/dist/agent/search.d.ts +3 -1
  51. package/dist/agent/search.d.ts.map +1 -1
  52. package/dist/agent/search.js +103 -35
  53. package/dist/agent/search.js.map +1 -1
  54. package/dist/agent/semanticSymbols.d.ts.map +1 -1
  55. package/dist/agent/semanticSymbols.js +2 -1
  56. package/dist/agent/semanticSymbols.js.map +1 -1
  57. package/dist/agent/session.d.ts +4 -0
  58. package/dist/agent/session.d.ts.map +1 -1
  59. package/dist/agent/session.js +20 -7
  60. package/dist/agent/session.js.map +1 -1
  61. package/dist/agent-tools.d.ts +1 -1
  62. package/dist/agent-tools.d.ts.map +1 -1
  63. package/dist/agent-tools.js +12 -21
  64. package/dist/agent-tools.js.map +1 -1
  65. package/dist/chunking/chunkFile.d.ts +5 -0
  66. package/dist/chunking/chunkFile.d.ts.map +1 -1
  67. package/dist/chunking/chunkFile.js +14 -15
  68. package/dist/chunking/chunkFile.js.map +1 -1
  69. package/dist/config.d.ts +3 -0
  70. package/dist/config.d.ts.map +1 -1
  71. package/dist/config.js +35 -3
  72. package/dist/config.js.map +1 -1
  73. package/dist/documentLinks/check.d.ts +2 -1
  74. package/dist/documentLinks/check.d.ts.map +1 -1
  75. package/dist/documentLinks/check.js +22 -11
  76. package/dist/documentLinks/check.js.map +1 -1
  77. package/dist/duplicate-token-normalization.d.ts.map +1 -1
  78. package/dist/duplicate-token-normalization.js +10 -2
  79. package/dist/duplicate-token-normalization.js.map +1 -1
  80. package/dist/duplicates/scoring.d.ts +0 -10
  81. package/dist/duplicates/scoring.d.ts.map +1 -1
  82. package/dist/duplicates/scoring.js +9 -9
  83. package/dist/duplicates/scoring.js.map +1 -1
  84. package/dist/duplicates/types.d.ts +2 -0
  85. package/dist/duplicates/types.d.ts.map +1 -1
  86. package/dist/duplicates/unitCache.d.ts +15 -9
  87. package/dist/duplicates/unitCache.d.ts.map +1 -1
  88. package/dist/duplicates/unitCache.js +184 -33
  89. package/dist/duplicates/unitCache.js.map +1 -1
  90. package/dist/duplicates/units.d.ts +6 -15
  91. package/dist/duplicates/units.d.ts.map +1 -1
  92. package/dist/duplicates/units.js +42 -20
  93. package/dist/duplicates/units.js.map +1 -1
  94. package/dist/duplicates.d.ts.map +1 -1
  95. package/dist/duplicates.js +59 -0
  96. package/dist/duplicates.js.map +1 -1
  97. package/dist/frameworks/angularjs.d.ts.map +1 -1
  98. package/dist/frameworks/angularjs.js +18 -12
  99. package/dist/frameworks/angularjs.js.map +1 -1
  100. package/dist/graph-builder.d.ts.map +1 -1
  101. package/dist/graph-builder.js +12 -9
  102. package/dist/graph-builder.js.map +1 -1
  103. package/dist/graph-edge-collector.d.ts +1 -0
  104. package/dist/graph-edge-collector.d.ts.map +1 -1
  105. package/dist/graph-edge-collector.js +1 -1
  106. package/dist/graph-edge-collector.js.map +1 -1
  107. package/dist/graphs/grep.d.ts.map +1 -1
  108. package/dist/graphs/grep.js +7 -2
  109. package/dist/graphs/grep.js.map +1 -1
  110. package/dist/graphs/specifiers.d.ts.map +1 -1
  111. package/dist/graphs/specifiers.js +8 -2
  112. package/dist/graphs/specifiers.js.map +1 -1
  113. package/dist/graphs/symbol-graph-detailed.d.ts +10 -1
  114. package/dist/graphs/symbol-graph-detailed.d.ts.map +1 -1
  115. package/dist/graphs/symbol-graph-detailed.js +21 -5
  116. package/dist/graphs/symbol-graph-detailed.js.map +1 -1
  117. package/dist/impact/analyzer.d.ts.map +1 -1
  118. package/dist/impact/analyzer.js +19 -2
  119. package/dist/impact/analyzer.js.map +1 -1
  120. package/dist/impact/budgets.d.ts.map +1 -1
  121. package/dist/impact/budgets.js +5 -3
  122. package/dist/impact/budgets.js.map +1 -1
  123. package/dist/impact/call-compatibility/textScanner.d.ts +23 -0
  124. package/dist/impact/call-compatibility/textScanner.d.ts.map +1 -0
  125. package/dist/impact/call-compatibility/textScanner.js +615 -0
  126. package/dist/impact/call-compatibility/textScanner.js.map +1 -0
  127. package/dist/impact/callCompatibility.d.ts +8 -1
  128. package/dist/impact/callCompatibility.d.ts.map +1 -1
  129. package/dist/impact/callCompatibility.js +64 -587
  130. package/dist/impact/callCompatibility.js.map +1 -1
  131. package/dist/impact/context.d.ts.map +1 -1
  132. package/dist/impact/context.js +4 -1
  133. package/dist/impact/context.js.map +1 -1
  134. package/dist/impact/direct.d.ts +1 -1
  135. package/dist/impact/direct.d.ts.map +1 -1
  136. package/dist/impact/direct.js +7 -6
  137. package/dist/impact/direct.js.map +1 -1
  138. package/dist/impact/index.d.ts +6 -0
  139. package/dist/impact/index.d.ts.map +1 -1
  140. package/dist/impact/index.js +0 -8
  141. package/dist/impact/index.js.map +1 -1
  142. package/dist/impact/map.js +2 -2
  143. package/dist/impact/map.js.map +1 -1
  144. package/dist/impact/memberResolutionCoverage.d.ts.map +1 -1
  145. package/dist/impact/memberResolutionCoverage.js +5 -1
  146. package/dist/impact/memberResolutionCoverage.js.map +1 -1
  147. package/dist/impact/parse.d.ts.map +1 -1
  148. package/dist/impact/parse.js +108 -37
  149. package/dist/impact/parse.js.map +1 -1
  150. package/dist/impact/referenceCache.js +1 -1
  151. package/dist/impact/referenceCache.js.map +1 -1
  152. package/dist/impact/report-suggestions.d.ts.map +1 -1
  153. package/dist/impact/report-suggestions.js +347 -72
  154. package/dist/impact/report-suggestions.js.map +1 -1
  155. package/dist/impact/report.d.ts.map +1 -1
  156. package/dist/impact/report.js +13 -2
  157. package/dist/impact/report.js.map +1 -1
  158. package/dist/impact/reportCompact.d.ts.map +1 -1
  159. package/dist/impact/reportCompact.js +8 -0
  160. package/dist/impact/reportCompact.js.map +1 -1
  161. package/dist/impact/reportFull.d.ts.map +1 -1
  162. package/dist/impact/reportFull.js +1 -0
  163. package/dist/impact/reportFull.js.map +1 -1
  164. package/dist/impact/reportParts.d.ts +9 -0
  165. package/dist/impact/reportParts.d.ts.map +1 -1
  166. package/dist/impact/severity.d.ts +3 -2
  167. package/dist/impact/severity.d.ts.map +1 -1
  168. package/dist/impact/severity.js +16 -5
  169. package/dist/impact/severity.js.map +1 -1
  170. package/dist/impact/streaming.d.ts +32 -2
  171. package/dist/impact/streaming.d.ts.map +1 -1
  172. package/dist/impact/streaming.js +62 -3
  173. package/dist/impact/streaming.js.map +1 -1
  174. package/dist/impact/suggestions.d.ts.map +1 -1
  175. package/dist/impact/suggestions.js +1 -1
  176. package/dist/impact/suggestions.js.map +1 -1
  177. package/dist/impact/transitive.d.ts.map +1 -1
  178. package/dist/impact/transitive.js +13 -5
  179. package/dist/impact/transitive.js.map +1 -1
  180. package/dist/impact/types.d.ts +21 -20
  181. package/dist/impact/types.d.ts.map +1 -1
  182. package/dist/impact/types.js.map +1 -1
  183. package/dist/index.d.ts +2 -2
  184. package/dist/index.d.ts.map +1 -1
  185. package/dist/index.js +1 -1
  186. package/dist/index.js.map +1 -1
  187. package/dist/indexer/build-cache/location.d.ts +19 -0
  188. package/dist/indexer/build-cache/location.d.ts.map +1 -0
  189. package/dist/indexer/build-cache/location.js +132 -0
  190. package/dist/indexer/build-cache/location.js.map +1 -0
  191. package/dist/indexer/build-cache/manifest.d.ts +14 -6
  192. package/dist/indexer/build-cache/manifest.d.ts.map +1 -1
  193. package/dist/indexer/build-cache/manifest.js +194 -30
  194. package/dist/indexer/build-cache/manifest.js.map +1 -1
  195. package/dist/indexer/build-cache/module-cache.d.ts +24 -2
  196. package/dist/indexer/build-cache/module-cache.d.ts.map +1 -1
  197. package/dist/indexer/build-cache/module-cache.js +98 -32
  198. package/dist/indexer/build-cache/module-cache.js.map +1 -1
  199. package/dist/indexer/build-cache/options.d.ts +3 -1
  200. package/dist/indexer/build-cache/options.d.ts.map +1 -1
  201. package/dist/indexer/build-cache/options.js +10 -2
  202. package/dist/indexer/build-cache/options.js.map +1 -1
  203. package/dist/indexer/build-cache/project-snapshot.d.ts +33 -13
  204. package/dist/indexer/build-cache/project-snapshot.d.ts.map +1 -1
  205. package/dist/indexer/build-cache/project-snapshot.js +472 -91
  206. package/dist/indexer/build-cache/project-snapshot.js.map +1 -1
  207. package/dist/indexer/build-cache/reports.d.ts.map +1 -1
  208. package/dist/indexer/build-cache/reports.js +10 -1
  209. package/dist/indexer/build-cache/reports.js.map +1 -1
  210. package/dist/indexer/build-cache/resolver-environment.d.ts +9 -0
  211. package/dist/indexer/build-cache/resolver-environment.d.ts.map +1 -0
  212. package/dist/indexer/build-cache/resolver-environment.js +160 -0
  213. package/dist/indexer/build-cache/resolver-environment.js.map +1 -0
  214. package/dist/indexer/build-cache.d.ts +4 -3
  215. package/dist/indexer/build-cache.d.ts.map +1 -1
  216. package/dist/indexer/build-cache.js +4 -3
  217. package/dist/indexer/build-cache.js.map +1 -1
  218. package/dist/indexer/build-index.d.ts.map +1 -1
  219. package/dist/indexer/build-index.js +268 -96
  220. package/dist/indexer/build-index.js.map +1 -1
  221. package/dist/indexer/build-manifest.d.ts +1 -0
  222. package/dist/indexer/build-manifest.d.ts.map +1 -1
  223. package/dist/indexer/build-manifest.js +15 -5
  224. package/dist/indexer/build-manifest.js.map +1 -1
  225. package/dist/indexer/build-workers.d.ts +1 -1
  226. package/dist/indexer/build-workers.d.ts.map +1 -1
  227. package/dist/indexer/build-workers.js +57 -42
  228. package/dist/indexer/build-workers.js.map +1 -1
  229. package/dist/indexer/call-hierarchy.d.ts.map +1 -1
  230. package/dist/indexer/call-hierarchy.js.map +1 -1
  231. package/dist/indexer/finalize.d.ts.map +1 -1
  232. package/dist/indexer/finalize.js +7 -4
  233. package/dist/indexer/finalize.js.map +1 -1
  234. package/dist/indexer/import-types.d.ts +8 -0
  235. package/dist/indexer/import-types.d.ts.map +1 -1
  236. package/dist/indexer/imports/jsTextImports.d.ts.map +1 -1
  237. package/dist/indexer/imports/jsTextImports.js +14 -6
  238. package/dist/indexer/imports/jsTextImports.js.map +1 -1
  239. package/dist/indexer/imports/languageSpecific.d.ts.map +1 -1
  240. package/dist/indexer/imports/languageSpecific.js +10 -5
  241. package/dist/indexer/imports/languageSpecific.js.map +1 -1
  242. package/dist/indexer/imports/nativeCaptures.d.ts.map +1 -1
  243. package/dist/indexer/imports/nativeCaptures.js +4 -1
  244. package/dist/indexer/imports/nativeCaptures.js.map +1 -1
  245. package/dist/indexer/imports/python.d.ts.map +1 -1
  246. package/dist/indexer/imports/python.js +19 -9
  247. package/dist/indexer/imports/python.js.map +1 -1
  248. package/dist/indexer/incremental-plan.d.ts +2 -1
  249. package/dist/indexer/incremental-plan.d.ts.map +1 -1
  250. package/dist/indexer/incremental-plan.js +7 -4
  251. package/dist/indexer/incremental-plan.js.map +1 -1
  252. package/dist/indexer/load-current-index.d.ts.map +1 -1
  253. package/dist/indexer/load-current-index.js.map +1 -1
  254. package/dist/indexer/locals-and-exports.d.ts.map +1 -1
  255. package/dist/indexer/locals-and-exports.js +77 -22
  256. package/dist/indexer/locals-and-exports.js.map +1 -1
  257. package/dist/indexer/navigation-goto.d.ts.map +1 -1
  258. package/dist/indexer/navigation-goto.js +26 -16
  259. package/dist/indexer/navigation-goto.js.map +1 -1
  260. package/dist/indexer/navigation-local.d.ts.map +1 -1
  261. package/dist/indexer/navigation-local.js +7 -4
  262. package/dist/indexer/navigation-local.js.map +1 -1
  263. package/dist/indexer/navigation-references.d.ts +1 -1
  264. package/dist/indexer/navigation-references.d.ts.map +1 -1
  265. package/dist/indexer/navigation-references.js +34 -17
  266. package/dist/indexer/navigation-references.js.map +1 -1
  267. package/dist/indexer/navigation-resolve.d.ts.map +1 -1
  268. package/dist/indexer/navigation-resolve.js +116 -53
  269. package/dist/indexer/navigation-resolve.js.map +1 -1
  270. package/dist/indexer/navigation.d.ts +2 -1
  271. package/dist/indexer/navigation.d.ts.map +1 -1
  272. package/dist/indexer/navigation.js +34 -20
  273. package/dist/indexer/navigation.js.map +1 -1
  274. package/dist/indexer/parse-context.d.ts +2 -2
  275. package/dist/indexer/parse-context.d.ts.map +1 -1
  276. package/dist/indexer/parse-context.js +25 -4
  277. package/dist/indexer/parse-context.js.map +1 -1
  278. package/dist/indexer/reference-context.d.ts +2 -2
  279. package/dist/indexer/reference-context.d.ts.map +1 -1
  280. package/dist/indexer/reference-context.js +4 -2
  281. package/dist/indexer/reference-context.js.map +1 -1
  282. package/dist/indexer/scope-types.d.ts +3 -0
  283. package/dist/indexer/scope-types.d.ts.map +1 -1
  284. package/dist/indexer/scope.js +37 -38
  285. package/dist/indexer/scope.js.map +1 -1
  286. package/dist/indexer/shared.d.ts.map +1 -1
  287. package/dist/indexer/shared.js +3 -1
  288. package/dist/indexer/shared.js.map +1 -1
  289. package/dist/indexer/type-hierarchy.d.ts.map +1 -1
  290. package/dist/indexer/type-hierarchy.js +12 -8
  291. package/dist/indexer/type-hierarchy.js.map +1 -1
  292. package/dist/indexer/types.d.ts +27 -1
  293. package/dist/indexer/types.d.ts.map +1 -1
  294. package/dist/indexer/workspace-symbols.d.ts.map +1 -1
  295. package/dist/indexer/workspace-symbols.js +5 -3
  296. package/dist/indexer/workspace-symbols.js.map +1 -1
  297. package/dist/languages/definitions/csharp.d.ts.map +1 -1
  298. package/dist/languages/definitions/csharp.js +8 -0
  299. package/dist/languages/definitions/csharp.js.map +1 -1
  300. package/dist/languages/definitions/java.d.ts.map +1 -1
  301. package/dist/languages/definitions/java.js +3 -0
  302. package/dist/languages/definitions/java.js.map +1 -1
  303. package/dist/languages/definitions/python.d.ts.map +1 -1
  304. package/dist/languages/definitions/python.js +2 -0
  305. package/dist/languages/definitions/python.js.map +1 -1
  306. package/dist/languages/definitions/rust.d.ts.map +1 -1
  307. package/dist/languages/definitions/rust.js +2 -0
  308. package/dist/languages/definitions/rust.js.map +1 -1
  309. package/dist/languages/importStatementParsers.d.ts +2 -0
  310. package/dist/languages/importStatementParsers.d.ts.map +1 -1
  311. package/dist/languages/importStatementParsers.js +24 -10
  312. package/dist/languages/importStatementParsers.js.map +1 -1
  313. package/dist/native/byteIndex.d.ts +26 -0
  314. package/dist/native/byteIndex.d.ts.map +1 -0
  315. package/dist/native/byteIndex.js +70 -0
  316. package/dist/native/byteIndex.js.map +1 -0
  317. package/dist/native/projectedTree.d.ts +3 -2
  318. package/dist/native/projectedTree.d.ts.map +1 -1
  319. package/dist/native/projectedTree.js +6 -50
  320. package/dist/native/projectedTree.js.map +1 -1
  321. package/dist/native/queryResults.d.ts +7 -1
  322. package/dist/native/queryResults.d.ts.map +1 -1
  323. package/dist/native/queryResults.js +13 -5
  324. package/dist/native/queryResults.js.map +1 -1
  325. package/dist/review/candidates.d.ts.map +1 -1
  326. package/dist/review/candidates.js +4 -1
  327. package/dist/review/candidates.js.map +1 -1
  328. package/dist/review/changes.d.ts +2 -0
  329. package/dist/review/changes.d.ts.map +1 -1
  330. package/dist/review/changes.js +10 -0
  331. package/dist/review/changes.js.map +1 -1
  332. package/dist/review/deleted.d.ts.map +1 -1
  333. package/dist/review/deleted.js +20 -2
  334. package/dist/review/deleted.js.map +1 -1
  335. package/dist/review/summaries.d.ts +5 -0
  336. package/dist/review/summaries.d.ts.map +1 -1
  337. package/dist/review/summaries.js +32 -21
  338. package/dist/review/summaries.js.map +1 -1
  339. package/dist/review/types.d.ts +3 -1
  340. package/dist/review/types.d.ts.map +1 -1
  341. package/dist/review/types.js +8 -1
  342. package/dist/review/types.js.map +1 -1
  343. package/dist/review.d.ts.map +1 -1
  344. package/dist/review.js +14 -5
  345. package/dist/review.js.map +1 -1
  346. package/dist/session.d.ts +20 -4
  347. package/dist/session.d.ts.map +1 -1
  348. package/dist/session.js +76 -16
  349. package/dist/session.js.map +1 -1
  350. package/dist/sql/types.d.ts.map +1 -1
  351. package/dist/sqlite/query.d.ts +29 -0
  352. package/dist/sqlite/query.d.ts.map +1 -1
  353. package/dist/sqlite/query.js +98 -11
  354. package/dist/sqlite/query.js.map +1 -1
  355. package/dist/sqlite/rawQueryWorker.d.ts +22 -0
  356. package/dist/sqlite/rawQueryWorker.d.ts.map +1 -0
  357. package/dist/sqlite/rawQueryWorker.js +31 -0
  358. package/dist/sqlite/rawQueryWorker.js.map +1 -0
  359. package/dist/sqlite/rawQueryWorkerPool.d.ts +66 -0
  360. package/dist/sqlite/rawQueryWorkerPool.d.ts.map +1 -0
  361. package/dist/sqlite/rawQueryWorkerPool.js +142 -0
  362. package/dist/sqlite/rawQueryWorkerPool.js.map +1 -0
  363. package/dist/sqlite/schema.d.ts +2 -1
  364. package/dist/sqlite/schema.d.ts.map +1 -1
  365. package/dist/sqlite/schema.js +15 -1
  366. package/dist/sqlite/schema.js.map +1 -1
  367. package/dist/sqlite/write.d.ts.map +1 -1
  368. package/dist/sqlite/write.js +15 -0
  369. package/dist/sqlite/write.js.map +1 -1
  370. package/dist/sqlite-driver.d.ts +11 -0
  371. package/dist/sqlite-driver.d.ts.map +1 -1
  372. package/dist/sqlite-driver.js +28 -2
  373. package/dist/sqlite-driver.js.map +1 -1
  374. package/dist/sqlite.d.ts +1 -1
  375. package/dist/sqlite.d.ts.map +1 -1
  376. package/dist/sqlite.js +1 -1
  377. package/dist/sqlite.js.map +1 -1
  378. package/dist/util/bloomFilter.d.ts +3 -2
  379. package/dist/util/bloomFilter.d.ts.map +1 -1
  380. package/dist/util/bloomFilter.js +8 -8
  381. package/dist/util/bloomFilter.js.map +1 -1
  382. package/dist/util/concurrency.d.ts +1 -0
  383. package/dist/util/concurrency.d.ts.map +1 -1
  384. package/dist/util/concurrency.js +9 -2
  385. package/dist/util/concurrency.js.map +1 -1
  386. package/dist/util/confinedFile.d.ts +42 -2
  387. package/dist/util/confinedFile.d.ts.map +1 -1
  388. package/dist/util/confinedFile.js +114 -3
  389. package/dist/util/confinedFile.js.map +1 -1
  390. package/dist/util/errors.d.ts +2 -0
  391. package/dist/util/errors.d.ts.map +1 -1
  392. package/dist/util/errors.js +18 -0
  393. package/dist/util/errors.js.map +1 -1
  394. package/dist/util/git.d.ts +2 -0
  395. package/dist/util/git.d.ts.map +1 -1
  396. package/dist/util/git.js +174 -26
  397. package/dist/util/git.js.map +1 -1
  398. package/dist/util/identifiers.d.ts +75 -0
  399. package/dist/util/identifiers.d.ts.map +1 -0
  400. package/dist/util/identifiers.js +82 -0
  401. package/dist/util/identifiers.js.map +1 -0
  402. package/dist/util/paths.d.ts.map +1 -1
  403. package/dist/util/paths.js +45 -9
  404. package/dist/util/paths.js.map +1 -1
  405. package/dist/util/projectFiles.d.ts.map +1 -1
  406. package/dist/util/projectFiles.js +43 -14
  407. package/dist/util/projectFiles.js.map +1 -1
  408. package/dist/util/resolution/jvm.d.ts.map +1 -1
  409. package/dist/util/resolution/jvm.js +20 -9
  410. package/dist/util/resolution/jvm.js.map +1 -1
  411. package/dist/util/resolution/php.d.ts.map +1 -1
  412. package/dist/util/resolution/php.js +6 -5
  413. package/dist/util/resolution/php.js.map +1 -1
  414. package/dist/util/resolution/tsconfig.d.ts.map +1 -1
  415. package/dist/util/resolution/tsconfig.js +26 -12
  416. package/dist/util/resolution/tsconfig.js.map +1 -1
  417. package/dist/util/rustTestModules.d.ts.map +1 -1
  418. package/dist/util/rustTestModules.js +4 -2
  419. package/dist/util/rustTestModules.js.map +1 -1
  420. package/dist/util/specifiers.d.ts.map +1 -1
  421. package/dist/util/specifiers.js +10 -3
  422. package/dist/util/specifiers.js.map +1 -1
  423. package/dist/util/sqliteSchema.d.ts.map +1 -1
  424. package/dist/util/sqliteSchema.js +10 -1
  425. package/dist/util/sqliteSchema.js.map +1 -1
  426. package/dist/worker/nativeExtractWorker.d.ts +4 -2
  427. package/dist/worker/nativeExtractWorker.d.ts.map +1 -1
  428. package/dist/worker/nativeExtractWorker.js +12 -11
  429. package/dist/worker/nativeExtractWorker.js.map +1 -1
  430. package/package.json +2 -2
@@ -0,0 +1,66 @@
1
+ import type { RawSqlResult } from "./types.js";
2
+ import type { RawQueryWorkerTask } from "./rawQueryWorker.js";
3
+ export declare const MAX_RAW_SQL_QUERY_WORKERS = 2;
4
+ export type RawSqlQueryWorkerPool = {
5
+ run(task: RawQueryWorkerTask, options: {
6
+ signal: AbortSignal;
7
+ }): Promise<RawSqlResult>;
8
+ destroy(): Promise<void>;
9
+ };
10
+ type RawSqlQueryWorkerPoolFactory = () => RawSqlQueryWorkerPool;
11
+ export type RawSqlQueryWorkerLifecycleState = {
12
+ activeWorkers: number;
13
+ maxWorkers: number;
14
+ };
15
+ export declare class SqliteQueryDeadlineExceededError extends Error {
16
+ constructor(deadlineMs: number);
17
+ }
18
+ export declare class SqliteQueryCancelledError extends Error {
19
+ constructor();
20
+ }
21
+ export declare class SqliteQueryWorkerCleanupCapacityExceededError extends Error {
22
+ constructor(maxWorkers: number);
23
+ }
24
+ /**
25
+ * Keeps raw-query worker cleanup bounded. A timed-out native SQLite call can delay
26
+ * `Piscina.destroy()` until its current synchronous step returns, so each slot remains
27
+ * reserved until that destroy promise settles instead of being forgotten in the background.
28
+ */
29
+ export declare class RawSqlQueryWorkerLifecycle {
30
+ private readonly maxWorkers;
31
+ private readonly activeWorkerSlots;
32
+ constructor(maxWorkers?: number);
33
+ state(): RawSqlQueryWorkerLifecycleState;
34
+ run(task: RawQueryWorkerTask, deadlineMs: number, signal: AbortSignal | undefined, createPool: RawSqlQueryWorkerPoolFactory): Promise<RawSqlResult>;
35
+ }
36
+ export declare function getRawSqlQueryWorkerLifecycleState(): RawSqlQueryWorkerLifecycleState;
37
+ /** Resolves the compiled worker entry the same way `queryIndexWorker.js` is resolved:
38
+ * a compiled sibling next to this module (production/standalone layouts, where the
39
+ * whole `dist/` tree ships), falling back to the package-root-relative compiled path
40
+ * (vitest running this module from `src/`, where only `dist/` is built). */
41
+ export declare function resolveRawSqlQueryWorkerPath(): string;
42
+ /**
43
+ * Runs a single bounded raw SQL read in a dedicated worker thread with a hard execution
44
+ * deadline. A fresh single-thread pool is created per call and destroyed afterward -
45
+ * matching the existing `prepareQueryIndexFilesInWorker` pattern - since `query_sqlite`
46
+ * calls are interactive, not a hot loop, and a persistent pool would need a shutdown hook
47
+ * this module has no access to register.
48
+ *
49
+ * On deadline expiry, Piscina rejects the caller after requesting worker termination, so
50
+ * the caller never waits longer than `deadlineMs` and the host event loop is never
51
+ * blocked by the query. A `terminate()` request cannot preempt a single already-in-flight
52
+ * synchronous native call: a query whose entire cost is inside one `sqlite3_step()`, such
53
+ * as a recursive CTE or a plan that must fully sort or scan before a first row, continues
54
+ * on its orphaned worker thread until that native call returns naturally.
55
+ *
56
+ * The caller does not wait for cleanup, but the lifecycle retains its worker slot until
57
+ * `pool.destroy()` settles. The bounded slot count makes delayed cleanup observable and
58
+ * prevents repeated cancellation from accumulating an unbounded number of workers.
59
+ * Concurrent read-only SQLite connections against the same file do not block each other,
60
+ * so the lingering background reader does not stop that subsequent query from succeeding.
61
+ * Process shutdown can still wait for a Worker blocked in native code, a `worker_threads`
62
+ * platform limit that is orthogonal to this function's prompt caller deadline.
63
+ */
64
+ export declare function runRawSqlQueryInWorker(task: RawQueryWorkerTask, deadlineMs: number, signal?: AbortSignal): Promise<RawSqlResult>;
65
+ export {};
66
+ //# sourceMappingURL=rawQueryWorkerPool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rawQueryWorkerPool.d.ts","sourceRoot":"","sources":["../../src/sqlite/rawQueryWorkerPool.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAE9D,eAAO,MAAM,yBAAyB,IAAI,CAAC;AAE3C,MAAM,MAAM,qBAAqB,GAAG;IAClC,GAAG,CAAC,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE;QAAE,MAAM,EAAE,WAAW,CAAA;KAAE,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IACvF,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B,CAAC;AAEF,KAAK,4BAA4B,GAAG,MAAM,qBAAqB,CAAC;AAEhE,MAAM,MAAM,+BAA+B,GAAG;IAC5C,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,qBAAa,gCAAiC,SAAQ,KAAK;gBAC7C,UAAU,EAAE,MAAM;CAI/B;AAED,qBAAa,yBAA0B,SAAQ,KAAK;;CAKnD;AAED,qBAAa,6CAA8C,SAAQ,KAAK;gBAC1D,UAAU,EAAE,MAAM;CAM/B;AAED;;;;GAIG;AACH,qBAAa,0BAA0B;IAGzB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAFvC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAqB;gBAE1B,UAAU,SAA4B;IAEnE,KAAK,IAAI,+BAA+B;IAIlC,GAAG,CACP,IAAI,EAAE,kBAAkB,EACxB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,WAAW,GAAG,SAAS,EAC/B,UAAU,EAAE,4BAA4B,GACvC,OAAO,CAAC,YAAY,CAAC;CA+CzB;AAID,wBAAgB,kCAAkC,IAAI,+BAA+B,CAEpF;AAED;;;4EAG4E;AAC5E,wBAAgB,4BAA4B,IAAI,MAAM,CAUrD;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,kBAAkB,EACxB,UAAU,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,CAAC,CAcvB"}
@@ -0,0 +1,142 @@
1
+ import fs from "node:fs";
2
+ import path from "node:path";
3
+ import { fileURLToPath } from "node:url";
4
+ import { Piscina } from "piscina";
5
+ import { findPackageRoot } from "../util/packageInfo.js";
6
+ export const MAX_RAW_SQL_QUERY_WORKERS = 2;
7
+ export class SqliteQueryDeadlineExceededError extends Error {
8
+ constructor(deadlineMs) {
9
+ super(`SQLite query exceeded its ${deadlineMs}ms execution budget.`);
10
+ this.name = "SqliteQueryDeadlineExceededError";
11
+ }
12
+ }
13
+ export class SqliteQueryCancelledError extends Error {
14
+ constructor() {
15
+ super("SQLite query was cancelled.");
16
+ this.name = "SqliteQueryCancelledError";
17
+ }
18
+ }
19
+ export class SqliteQueryWorkerCleanupCapacityExceededError extends Error {
20
+ constructor(maxWorkers) {
21
+ super(`SQLite query worker capacity is exhausted: ${maxWorkers} active or cleaning-up worker${maxWorkers === 1 ? " is" : "s are"} using the available slots. Retry after a query completes or cleanup finishes.`);
22
+ this.name = "SqliteQueryWorkerCleanupCapacityExceededError";
23
+ }
24
+ }
25
+ /**
26
+ * Keeps raw-query worker cleanup bounded. A timed-out native SQLite call can delay
27
+ * `Piscina.destroy()` until its current synchronous step returns, so each slot remains
28
+ * reserved until that destroy promise settles instead of being forgotten in the background.
29
+ */
30
+ export class RawSqlQueryWorkerLifecycle {
31
+ maxWorkers;
32
+ activeWorkerSlots = new Set();
33
+ constructor(maxWorkers = MAX_RAW_SQL_QUERY_WORKERS) {
34
+ this.maxWorkers = maxWorkers;
35
+ }
36
+ state() {
37
+ return { activeWorkers: this.activeWorkerSlots.size, maxWorkers: this.maxWorkers };
38
+ }
39
+ async run(task, deadlineMs, signal, createPool) {
40
+ if (signal?.aborted)
41
+ throw new SqliteQueryCancelledError();
42
+ const deadlineSignal = AbortSignal.timeout(deadlineMs);
43
+ const combinedSignal = signal ? AbortSignal.any([signal, deadlineSignal]) : deadlineSignal;
44
+ if (this.activeWorkerSlots.size >= this.maxWorkers) {
45
+ throw new SqliteQueryWorkerCleanupCapacityExceededError(this.maxWorkers);
46
+ }
47
+ const slot = Symbol("raw-sql-query-worker");
48
+ this.activeWorkerSlots.add(slot);
49
+ let pool;
50
+ let cleanupInBackground = false;
51
+ try {
52
+ pool = createPool();
53
+ return await pool.run(task, { signal: combinedSignal });
54
+ }
55
+ catch (error) {
56
+ if (combinedSignal.aborted || (error instanceof Error && error.name === "AbortError")) {
57
+ cleanupInBackground = true;
58
+ if (signal?.aborted)
59
+ throw new SqliteQueryCancelledError();
60
+ throw new SqliteQueryDeadlineExceededError(deadlineMs);
61
+ }
62
+ throw error;
63
+ }
64
+ finally {
65
+ if (!pool) {
66
+ this.activeWorkerSlots.delete(slot);
67
+ }
68
+ else {
69
+ const cleanup = pool.destroy();
70
+ if (cleanupInBackground) {
71
+ void cleanup.then(() => {
72
+ this.activeWorkerSlots.delete(slot);
73
+ }, () => {
74
+ this.activeWorkerSlots.delete(slot);
75
+ });
76
+ }
77
+ else {
78
+ try {
79
+ await cleanup;
80
+ }
81
+ finally {
82
+ this.activeWorkerSlots.delete(slot);
83
+ }
84
+ }
85
+ }
86
+ }
87
+ }
88
+ }
89
+ const rawSqlQueryWorkerLifecycle = new RawSqlQueryWorkerLifecycle();
90
+ export function getRawSqlQueryWorkerLifecycleState() {
91
+ return rawSqlQueryWorkerLifecycle.state();
92
+ }
93
+ /** Resolves the compiled worker entry the same way `queryIndexWorker.js` is resolved:
94
+ * a compiled sibling next to this module (production/standalone layouts, where the
95
+ * whole `dist/` tree ships), falling back to the package-root-relative compiled path
96
+ * (vitest running this module from `src/`, where only `dist/` is built). */
97
+ export function resolveRawSqlQueryWorkerPath() {
98
+ const selfDirectory = path.dirname(fileURLToPath(import.meta.url));
99
+ const sibling = path.resolve(selfDirectory, "rawQueryWorker.js");
100
+ if (fs.existsSync(sibling))
101
+ return sibling;
102
+ const packageRoot = findPackageRoot(selfDirectory);
103
+ const compiled = path.join(packageRoot, "dist", "sqlite", "rawQueryWorker.js");
104
+ if (fs.existsSync(compiled))
105
+ return compiled;
106
+ const bundled = path.join(packageRoot, "dist", "bin", "rawQueryWorker.js");
107
+ if (fs.existsSync(bundled))
108
+ return bundled;
109
+ throw new Error(`Raw SQLite query worker file not found: ${bundled}`);
110
+ }
111
+ /**
112
+ * Runs a single bounded raw SQL read in a dedicated worker thread with a hard execution
113
+ * deadline. A fresh single-thread pool is created per call and destroyed afterward -
114
+ * matching the existing `prepareQueryIndexFilesInWorker` pattern - since `query_sqlite`
115
+ * calls are interactive, not a hot loop, and a persistent pool would need a shutdown hook
116
+ * this module has no access to register.
117
+ *
118
+ * On deadline expiry, Piscina rejects the caller after requesting worker termination, so
119
+ * the caller never waits longer than `deadlineMs` and the host event loop is never
120
+ * blocked by the query. A `terminate()` request cannot preempt a single already-in-flight
121
+ * synchronous native call: a query whose entire cost is inside one `sqlite3_step()`, such
122
+ * as a recursive CTE or a plan that must fully sort or scan before a first row, continues
123
+ * on its orphaned worker thread until that native call returns naturally.
124
+ *
125
+ * The caller does not wait for cleanup, but the lifecycle retains its worker slot until
126
+ * `pool.destroy()` settles. The bounded slot count makes delayed cleanup observable and
127
+ * prevents repeated cancellation from accumulating an unbounded number of workers.
128
+ * Concurrent read-only SQLite connections against the same file do not block each other,
129
+ * so the lingering background reader does not stop that subsequent query from succeeding.
130
+ * Process shutdown can still wait for a Worker blocked in native code, a `worker_threads`
131
+ * platform limit that is orthogonal to this function's prompt caller deadline.
132
+ */
133
+ export async function runRawSqlQueryInWorker(task, deadlineMs, signal) {
134
+ const workerPath = resolveRawSqlQueryWorkerPath();
135
+ return await rawSqlQueryWorkerLifecycle.run(task, deadlineMs, signal, () => new Piscina({
136
+ filename: workerPath,
137
+ minThreads: 1,
138
+ maxThreads: 1,
139
+ idleTimeout: 5_000,
140
+ }));
141
+ }
142
+ //# sourceMappingURL=rawQueryWorkerPool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rawQueryWorkerPool.js","sourceRoot":"","sources":["../../src/sqlite/rawQueryWorkerPool.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import type { SqliteDatabase } from "../sqlite-driver.js";
2
- export declare const SQLITE_SCHEMA_VERSION = 2;
2
+ export declare const SQLITE_SCHEMA_VERSION = 3;
3
+ export declare const GRAPH_SNAPSHOT_RETENTION = 100;
3
4
  export declare function readGraphSchemaVersion(db: SqliteDatabase): number;
4
5
  export declare const ensureSchema: (db: SqliteDatabase) => void;
5
6
  //# sourceMappingURL=schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/sqlite/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAG1D,eAAO,MAAM,qBAAqB,IAAI,CAAC;AAkBvC,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,cAAc,GAAG,MAAM,CAWjE;AAmJD,eAAO,MAAM,YAAY,GAAI,IAAI,cAAc,SAuE9C,CAAC"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/sqlite/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAG1D,eAAO,MAAM,qBAAqB,IAAI,CAAC;AACvC,eAAO,MAAM,wBAAwB,MAAM,CAAC;AAkB5C,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,cAAc,GAAG,MAAM,CAYjE;AA+JD,eAAO,MAAM,YAAY,GAAI,IAAI,cAAc,SAuE9C,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { toSqliteText } from "./common.js";
2
- export const SQLITE_SCHEMA_VERSION = 2;
2
+ export const SQLITE_SCHEMA_VERSION = 3;
3
+ export const GRAPH_SNAPSHOT_RETENTION = 100;
3
4
  const GRAPH_SCHEMA_VERSION_KEY = "schema_version";
4
5
  const hasColumn = (db, table, column) => {
5
6
  const rows = db.prepare(`PRAGMA table_info(${table});`).raw().all();
@@ -46,6 +47,19 @@ function migrateGraphSchema(db, fromVersion) {
46
47
  ensureSymbolsVisibilityColumn(db);
47
48
  version = 2;
48
49
  }
50
+ if (version < 3) {
51
+ db.exec(`
52
+ DELETE FROM graph_snapshot_files
53
+ WHERE snapshot_id NOT IN (
54
+ SELECT id FROM graph_snapshots ORDER BY created_at DESC, id DESC LIMIT ${GRAPH_SNAPSHOT_RETENTION}
55
+ );
56
+ DELETE FROM graph_snapshots
57
+ WHERE id NOT IN (
58
+ SELECT id FROM graph_snapshots ORDER BY created_at DESC, id DESC LIMIT ${GRAPH_SNAPSHOT_RETENTION}
59
+ );
60
+ `);
61
+ version = 3;
62
+ }
49
63
  if (version !== fromVersion) {
50
64
  writeGraphSchemaVersion(db, version);
51
65
  }
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/sqlite/schema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC;AACvC,MAAM,wBAAwB,GAAG,gBAAgB,CAAC;AAElD,MAAM,SAAS,GAAG,CAAC,EAAkB,EAAE,KAAa,EAAE,MAAc,EAAW,EAAE;IAC/E,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,qBAAqB,KAAK,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;IACpE,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;YAAE,SAAS;QAClC,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1C,IAAI,IAAI,KAAK,MAAM;YAAE,OAAO,IAAI,CAAC;IACnC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,6BAA6B,GAAG,CAAC,EAAkB,EAAE,EAAE;IAC3D,IAAI,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,YAAY,CAAC;QAAE,OAAO;IACnD,EAAE,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;AAC7D,CAAC,CAAC;AAEF,MAAM,UAAU,sBAAsB,CAAC,EAAkB;IACvD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,gDAAgD,CAAC,CAAC,GAAG,CAAC,wBAAwB,CACpE,CAAC;QAClC,IAAI,CAAC,GAAG,EAAE,KAAK;YAAE,OAAO,CAAC,CAAC;QAC1B,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,OAAO,GAAG,CAAC;YAAE,OAAO,CAAC,CAAC;QACxD,OAAO,OAAO,CAAC;IACjB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC;AAED,SAAS,uBAAuB,CAAC,EAAkB,EAAE,OAAe;IAClE,EAAE,CAAC,OAAO,CAAC,mEAAmE,CAAC,CAAC,GAAG,CAAC;QAClF,wBAAwB;QACxB,MAAM,CAAC,OAAO,CAAC;KAChB,CAAC,CAAC;AACL,CAAC;AAED,SAAS,kBAAkB,CAAC,EAAkB,EAAE,WAAmB;IACjE,IAAI,OAAO,GAAG,WAAW,CAAC;IAC1B,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;QAChB,OAAO,GAAG,CAAC,CAAC;IACd,CAAC;IACD,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;QAChB,6BAA6B,CAAC,EAAE,CAAC,CAAC;QAClC,OAAO,GAAG,CAAC,CAAC;IACd,CAAC;IACD,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;QAC5B,uBAAuB,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IACvC,CAAC;AACH,CAAC;AAED,MAAM,kBAAkB,GAAG,CAAC,EAAkB,EAAW,EAAE;IACzD,MAAM,UAAU,GAAyC;QACvD;YACE,IAAI,EAAE,oBAAoB;YAC1B,GAAG,EAAE,wDAAwD;SAC9D;QACD;YACE,IAAI,EAAE,kBAAkB;YACxB,GAAG,EAAE,iDAAiD;SACvD;QACD;YACE,IAAI,EAAE,kBAAkB;YACxB,GAAG,EAAE,iDAAiD;SACvD;QACD;YACE,IAAI,EAAE,wBAAwB;YAC9B,GAAG,EAAE,8DAA8D;SACpE;QACD;YACE,IAAI,EAAE,kBAAkB;YACxB,GAAG,EAAE,iDAAiD;SACvD;QACD;YACE,IAAI,EAAE,uBAAuB;YAC7B,GAAG,EAAE,4DAA4D;SAClE;QACD;YACE,IAAI,EAAE,uBAAuB;YAC7B,GAAG,EAAE,4DAA4D;SAClE;QACD;YACE,IAAI,EAAE,uBAAuB;YAC7B,GAAG,EAAE,4DAA4D;SAClE;QACD;YACE,IAAI,EAAE,qBAAqB;YAC3B,GAAG,EAAE,wDAAwD;SAC9D;QACD;YACE,IAAI,EAAE,6BAA6B;YACnC,GAAG,EAAE,6EAA6E;SACnF;QACD;YACE,IAAI,EAAE,qBAAqB;YAC3B,GAAG,EAAE,4DAA4D;SAClE;QACD;YACE,IAAI,EAAE,mBAAmB;YACzB,GAAG,EAAE,wDAAwD;SAC9D;QACD;YACE,IAAI,EAAE,qBAAqB;YAC3B,GAAG,EAAE,0DAA0D;SAChE;QACD;YACE,IAAI,EAAE,0BAA0B;YAChC,GAAG,EAAE,iGAAiG;SACvG;QACD;YACE,IAAI,EAAE,wBAAwB;YAC9B,GAAG,EAAE,+FAA+F;SACrG;QACD;YACE,IAAI,EAAE,uBAAuB;YAC7B,GAAG,EAAE,8DAA8D;SACpE;QACD;YACE,IAAI,EAAE,qBAAqB;YAC3B,GAAG,EAAE,0DAA0D;SAChE;QACD;YACE,IAAI,EAAE,wBAAwB;YAC9B,GAAG,EAAE,6DAA6D;SACnE;QACD;YACE,IAAI,EAAE,2BAA2B;YACjC,GAAG,EAAE,uEAAuE;SAC7E;QACD;YACE,IAAI,EAAE,6BAA6B;YACnC,GAAG,EAAE,2EAA2E;SACjF;QACD;YACE,IAAI,EAAE,gCAAgC;YACtC,GAAG,EAAE,qFAAqF;SAC3F;QACD;YACE,IAAI,EAAE,gCAAgC;YACtC,GAAG,EAAE,kFAAkF;SACxF;QACD;YACE,IAAI,EAAE,mCAAmC;YACzC,GAAG,EAAE,sFAAsF;SAC5F;QACD;YACE,IAAI,EAAE,+BAA+B;YACrC,GAAG,EAAE,gFAAgF;SACtF;KACF,CAAC;IAEF,MAAM,SAAS,GAAG,EAAE;SACjB,OAAO,CAAC,mFAAmF,CAAC;SAC5F,GAAG,EAAE;SACL,GAAG,EAA2B,CAAC;IAClC,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;IAC1C,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAC5B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;YAAE,SAAS;QAClC,MAAM,IAAI,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAClC,IAAI,IAAI;YAAE,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,YAAY,GAAG,KAAK,CAAC;IACzB,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC9B,IAAI,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,SAAS;QAC7C,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClB,YAAY,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,IAAI,YAAY,EAAE,CAAC;QACjB,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACtB,CAAC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,EAAkB,EAAE,EAAE;IACjD,MAAM,cAAc,GAAG,sBAAsB,CAAC,EAAE,CAAC,CAAC;IAClD,IAAI,cAAc,GAAG,qBAAqB,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CACb,+CAA+C,cAAc,iCAAiC,qBAAqB,GAAG,CACvH,CAAC;IACJ,CAAC;IAED,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAChC,EAAE,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC;IAClC,EAAE,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;IACjC,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAE/B,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDP,CAAC,CAAC;IAEH,kBAAkB,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;IACvC,kBAAkB,CAAC,EAAE,CAAC,CAAC;IACvB,uBAAuB,CAAC,EAAE,EAAE,qBAAqB,CAAC,CAAC;AACrD,CAAC,CAAC"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/sqlite/schema.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"write.d.ts","sourceRoot":"","sources":["../../src/sqlite/write.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAI/E,eAAO,MAAM,4CAA4C,gCAAgC,CAAC;AA6O1F,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAwCjF;AAED,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAoExF"}
1
+ {"version":3,"file":"write.d.ts","sourceRoot":"","sources":["../../src/sqlite/write.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAI/E,eAAO,MAAM,4CAA4C,gCAAgC,CAAC;AAyP1F,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAyCjF;AAED,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAqExF"}
@@ -1,6 +1,7 @@
1
1
  import {} from "../graphs/symbol-graph.js";
2
2
  import { execRowsParams } from "./common.js";
3
3
  import { withSqliteDatabase } from "./database.js";
4
+ import { GRAPH_SNAPSHOT_RETENTION } from "./schema.js";
4
5
  export const SQLITE_ARTIFACT_FILE_SIGNATURES_METADATA_KEY = "artifact_file_signatures_v1";
5
6
  function normalizeSqliteArtifactFileSignatures(signatures) {
6
7
  const normalized = [...signatures].map((signature) => ({
@@ -187,6 +188,18 @@ const recordGraphSnapshot = (db, options) => {
187
188
  fileStmt.run([snapshotId, row.file, row.kind]);
188
189
  }
189
190
  };
191
+ const pruneGraphSnapshots = (db) => {
192
+ db.exec(`
193
+ DELETE FROM graph_snapshot_files
194
+ WHERE snapshot_id NOT IN (
195
+ SELECT id FROM graph_snapshots ORDER BY created_at DESC, id DESC LIMIT ${GRAPH_SNAPSHOT_RETENTION}
196
+ );
197
+ DELETE FROM graph_snapshots
198
+ WHERE id NOT IN (
199
+ SELECT id FROM graph_snapshots ORDER BY created_at DESC, id DESC LIMIT ${GRAPH_SNAPSHOT_RETENTION}
200
+ );
201
+ `);
202
+ };
190
203
  const deleteUnreferencedExternalFiles = (db) => {
191
204
  db.exec(`
192
205
  DELETE FROM files
@@ -230,6 +243,7 @@ export async function writeGraphSqlite(options) {
230
243
  symbolNodes: options.symbolGraph.nodes.size,
231
244
  symbolEdges: options.symbolGraph.edges.length,
232
245
  });
246
+ pruneGraphSnapshots(db);
233
247
  if (fileSignatures) {
234
248
  writeArtifactFileSignatures(db, fileSignatures);
235
249
  }
@@ -298,6 +312,7 @@ export async function updateGraphSqlite(options) {
298
312
  symbolNodes: changedSymbolNodes.length,
299
313
  symbolEdges: symbolEdges.length,
300
314
  });
315
+ pruneGraphSnapshots(db);
301
316
  });
302
317
  runUpdate();
303
318
  db.exec("ANALYZE;");
@@ -1 +1 @@
1
- {"version":3,"file":"write.js","sourceRoot":"","sources":["../../src/sqlite/write.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"write.js","sourceRoot":"","sources":["../../src/sqlite/write.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,16 @@ export type SqliteRow = Record<string, unknown>;
5
5
  export type SqliteRawRow = unknown[];
6
6
  export type SqliteRunResult = StatementResultingChanges;
7
7
  export type SqliteColumn = StatementColumnMetadata;
8
+ type SqliteConstants = {
9
+ SQLITE_DENY?: number;
10
+ SQLITE_FUNCTION?: number;
11
+ SQLITE_OK?: number;
12
+ SQLITE_PRAGMA?: number;
13
+ SQLITE_READ?: number;
14
+ SQLITE_RECURSIVE?: number;
15
+ SQLITE_SELECT?: number;
16
+ SQLITE_TRANSACTION?: number;
17
+ };
8
18
  type SqliteParameterInput = SqliteValue | readonly SqliteValue[];
9
19
  type NodeSqliteStatement = StatementSync & {
10
20
  columns: () => StatementColumnMetadata[];
@@ -12,6 +22,7 @@ type NodeSqliteStatement = StatementSync & {
12
22
  };
13
23
  export declare function getNodeSqliteLoadError(): Error | undefined;
14
24
  export declare function isNodeSqliteUnavailableError(error: unknown): boolean;
25
+ export declare function canInstallReadonlyAuthorizer(constants: SqliteConstants): constants is Required<SqliteConstants>;
15
26
  export declare class SqliteStatement {
16
27
  private readonly statement;
17
28
  private readonly returnArrays;
@@ -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;AAmBnD,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;AAmBF,wBAAgB,sBAAsB,IAAI,KAAK,GAAG,SAAS,CAQ1D;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAKpE;AA6BD,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;IAclF,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":"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"}
@@ -2,6 +2,13 @@ import { createRequire } from "node:module";
2
2
  import { errorMessage } from "./util/errors.js";
3
3
  const requireNodeModule = createRequire(import.meta.url);
4
4
  let sqliteModule;
5
+ let reportedReadonlyAuthorizerDegradation = false;
6
+ function reportReadonlyAuthorizerDegraded() {
7
+ if (reportedReadonlyAuthorizerDegradation)
8
+ return;
9
+ reportedReadonlyAuthorizerDegradation = true;
10
+ console.error("[codegraph] node:sqlite read-only authorizer is unavailable or incomplete; relying on connection readOnly enforcement.");
11
+ }
5
12
  let sqliteLoadError;
6
13
  function loadNodeSqlite() {
7
14
  if (sqliteModule)
@@ -33,12 +40,26 @@ export function isNodeSqliteUnavailableError(error) {
33
40
  const message = errorMessage(error);
34
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);
35
42
  }
43
+ const READONLY_AUTHORIZER_CONSTANTS = [
44
+ "SQLITE_DENY",
45
+ "SQLITE_FUNCTION",
46
+ "SQLITE_OK",
47
+ "SQLITE_PRAGMA",
48
+ "SQLITE_READ",
49
+ "SQLITE_RECURSIVE",
50
+ "SQLITE_SELECT",
51
+ "SQLITE_TRANSACTION",
52
+ ];
53
+ export function canInstallReadonlyAuthorizer(constants) {
54
+ return READONLY_AUTHORIZER_CONSTANTS.every((name) => typeof constants[name] === "number");
55
+ }
36
56
  function isReadOnlyAllowedAction(actionCode, constants) {
37
57
  return (actionCode === constants.SQLITE_FUNCTION ||
38
58
  actionCode === constants.SQLITE_PRAGMA ||
39
59
  actionCode === constants.SQLITE_READ ||
40
60
  actionCode === constants.SQLITE_SELECT ||
41
- actionCode === constants.SQLITE_TRANSACTION);
61
+ actionCode === constants.SQLITE_TRANSACTION ||
62
+ actionCode === constants.SQLITE_RECURSIVE);
42
63
  }
43
64
  const isSqliteValueArray = (value) => Array.isArray(value);
44
65
  const normalizeParams = (params) => {
@@ -94,7 +115,12 @@ export class SqliteDatabase {
94
115
  });
95
116
  if (options?.readonly) {
96
117
  const { constants } = sqlite;
97
- this.db.setAuthorizer?.((actionCode) => isReadOnlyAllowedAction(actionCode, constants) ? constants.SQLITE_OK : constants.SQLITE_DENY);
118
+ if (this.db.setAuthorizer && canInstallReadonlyAuthorizer(constants)) {
119
+ this.db.setAuthorizer((actionCode) => isReadOnlyAllowedAction(actionCode, constants) ? constants.SQLITE_OK : constants.SQLITE_DENY);
120
+ }
121
+ else {
122
+ reportReadonlyAuthorizerDegraded();
123
+ }
98
124
  }
99
125
  }
100
126
  exec(sql) {
@@ -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/dist/sqlite.d.ts CHANGED
@@ -1,4 +1,4 @@
1
1
  export type { GraphQueryResult, RawSqlResult, SqliteGraphOptions, SqliteGraphUpdateOptions } from "./sqlite/types.js";
2
2
  export { SQLITE_ARTIFACT_FILE_SIGNATURES_METADATA_KEY, writeGraphSqlite, updateGraphSqlite } from "./sqlite/write.js";
3
- export { queryGraphSqlite, queryGraphSqliteRaw } from "./sqlite/query.js";
3
+ export { queryGraphSqlite, queryGraphSqliteRaw, SqliteQueryCancelledError, SqliteQueryDeadlineExceededError, SqliteQueryWorkerCleanupCapacityExceededError, } from "./sqlite/query.js";
4
4
  //# sourceMappingURL=sqlite.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../src/sqlite.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AACtH,OAAO,EAAE,4CAA4C,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtH,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../src/sqlite.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AACtH,OAAO,EAAE,4CAA4C,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtH,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,yBAAyB,EACzB,gCAAgC,EAChC,6CAA6C,GAC9C,MAAM,mBAAmB,CAAC"}
package/dist/sqlite.js CHANGED
@@ -1,3 +1,3 @@
1
1
  export { SQLITE_ARTIFACT_FILE_SIGNATURES_METADATA_KEY, writeGraphSqlite, updateGraphSqlite } from "./sqlite/write.js";
2
- export { queryGraphSqlite, queryGraphSqliteRaw } from "./sqlite/query.js";
2
+ export { queryGraphSqlite, queryGraphSqliteRaw, SqliteQueryCancelledError, SqliteQueryDeadlineExceededError, SqliteQueryWorkerCleanupCapacityExceededError, } from "./sqlite/query.js";
3
3
  //# sourceMappingURL=sqlite.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../src/sqlite.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,4CAA4C,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtH,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../src/sqlite.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,4CAA4C,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtH,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,yBAAyB,EACzB,gCAAgC,EAChC,6CAA6C,GAC9C,MAAM,mBAAmB,CAAC"}
@@ -4,6 +4,7 @@
4
4
  * Used to quickly determine if a file MIGHT contain references to a symbol,
5
5
  * allowing us to skip files that definitely don't contain the symbol.
6
6
  */
7
+ import type { LanguageSupport } from "../languages.js";
7
8
  /**
8
9
  * Calculate optimal bloom filter parameters for a target false positive rate.
9
10
  * @param expectedItems - Expected number of items to be added
@@ -76,10 +77,10 @@ export declare class BloomFilter {
76
77
  * Build a bloom filter from source code with auto-sizing.
77
78
  * Extracts all identifiers and adds them to an optimally-sized filter.
78
79
  * @param source - The source code to analyze
79
- * @param languageId - The language identifier (unused, for future extension)
80
+ * @param support - The language support for the source file
80
81
  * @param falsePositiveRate - Target false positive rate (default: 0.01 = 1%)
81
82
  */
82
- export declare function buildBloomFilterFromSource(source: string, languageId: string, falsePositiveRate?: number): BloomFilter;
83
+ export declare function buildBloomFilterFromSource(source: string, support: Pick<LanguageSupport, "normalizeIdentifier">, falsePositiveRate?: number): BloomFilter;
83
84
  /**
84
85
  * Cache of bloom filters per file
85
86
  */
@@ -1 +1 @@
1
- {"version":3,"file":"bloomFilter.d.ts","sourceRoot":"","sources":["../../src/util/bloomFilter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH;;;;;GAKG;AACH,wBAAgB,2BAA2B,CACzC,aAAa,EAAE,MAAM,EACrB,iBAAiB,SAAO,GACvB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAkBrC;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,SAAS,CAAa;IAE9B;;;;OAIG;gBACS,IAAI,SAAQ,EAAE,SAAS,SAAI;IAMvC;;;;OAIG;IACH,MAAM,CAAC,aAAa,CAAC,aAAa,EAAE,MAAM,EAAE,iBAAiB,SAAO,GAAG,WAAW;IAKlF;;OAEG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAevB;;OAEG;IACH,YAAY,IAAI,MAAM;IAItB;;OAEG;IACH,2BAA2B,IAAI,MAAM;IAIrC;;;OAGG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAanC;;OAEG;IACH,OAAO,CAAE,SAAS;IAYlB;;OAEG;IACH,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAO/C;;OAEG;IACH,QAAQ,IAAI,MAAM;IAIlB;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,WAAW;IAM/E;;OAEG;IACH,WAAW,IAAI;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE;CAGnD;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,iBAAiB,SAAO,GAAG,WAAW,CAiBpH;AAED;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,OAAO,CAAkC;IAEjD,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI;IAI5C,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAI1C,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI1B;;;OAGG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE;IAiBtD,KAAK,IAAI,IAAI;IAIb,IAAI,IAAI,MAAM;CAGf"}
1
+ {"version":3,"file":"bloomFilter.d.ts","sourceRoot":"","sources":["../../src/util/bloomFilter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAIvD;;;;;GAKG;AACH,wBAAgB,2BAA2B,CACzC,aAAa,EAAE,MAAM,EACrB,iBAAiB,SAAO,GACvB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAkBrC;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,SAAS,CAAa;IAE9B;;;;OAIG;gBACS,IAAI,SAAQ,EAAE,SAAS,SAAI;IAMvC;;;;OAIG;IACH,MAAM,CAAC,aAAa,CAAC,aAAa,EAAE,MAAM,EAAE,iBAAiB,SAAO,GAAG,WAAW;IAKlF;;OAEG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAevB;;OAEG;IACH,YAAY,IAAI,MAAM;IAItB;;OAEG;IACH,2BAA2B,IAAI,MAAM;IAIrC;;;OAGG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAanC;;OAEG;IACH,OAAO,CAAE,SAAS;IAYlB;;OAEG;IACH,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAO/C;;OAEG;IACH,QAAQ,IAAI,MAAM;IAIlB;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,WAAW;IAM/E;;OAEG;IACH,WAAW,IAAI;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE;CAGnD;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,IAAI,CAAC,eAAe,EAAE,qBAAqB,CAAC,EACrD,iBAAiB,SAAO,GACvB,WAAW,CAeb;AAED;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,OAAO,CAAkC;IAEjD,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI;IAI5C,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAI1C,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI1B;;;OAGG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE;IAiBtD,KAAK,IAAI,IAAI;IAIb,IAAI,IAAI,MAAM;CAGf"}
@@ -4,6 +4,7 @@
4
4
  * Used to quickly determine if a file MIGHT contain references to a symbol,
5
5
  * allowing us to skip files that definitely don't contain the symbol.
6
6
  */
7
+ import { BLOOM_FILTER_IDENTIFIER_SOURCE } from "./identifiers.js";
7
8
  import { fileIdentityKey } from "./paths.js";
8
9
  import crypto from "node:crypto";
9
10
  /**
@@ -145,17 +146,16 @@ export class BloomFilter {
145
146
  * Build a bloom filter from source code with auto-sizing.
146
147
  * Extracts all identifiers and adds them to an optimally-sized filter.
147
148
  * @param source - The source code to analyze
148
- * @param languageId - The language identifier (unused, for future extension)
149
+ * @param support - The language support for the source file
149
150
  * @param falsePositiveRate - Target false positive rate (default: 0.01 = 1%)
150
151
  */
151
- export function buildBloomFilterFromSource(source, languageId, falsePositiveRate = 0.01) {
152
- // Extract all identifiers using a simple regex
153
- // This is a fast heuristic - doesn't need to be perfect
154
- const identifierPattern = /\b[a-zA-Z_$][a-zA-Z0-9_$]*\b/g;
152
+ export function buildBloomFilterFromSource(source, support, falsePositiveRate = 0.01) {
153
+ const identifierPattern = new RegExp(BLOOM_FILTER_IDENTIFIER_SOURCE, "gu");
155
154
  const matches = source.match(identifierPattern);
156
- // Use a Set to deduplicate before sizing and adding
157
- const unique = matches ? new Set(matches) : new Set();
158
- // Create optimally-sized filter based on unique identifier count
155
+ const unique = new Set();
156
+ for (const identifier of matches ?? []) {
157
+ unique.add(support.normalizeIdentifier(identifier));
158
+ }
159
159
  const filter = BloomFilter.createOptimal(unique.size || 100, falsePositiveRate);
160
160
  for (const identifier of unique) {
161
161
  filter.add(identifier);