@lzehrung/codegraph 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 (536) hide show
  1. package/README.md +27 -29
  2. package/codegraph-skill/codegraph/SKILL.md +27 -26
  3. package/dist/agent/artifact.d.ts.map +1 -1
  4. package/dist/agent/artifact.js +105 -14
  5. package/dist/agent/artifact.js.map +1 -1
  6. package/dist/agent/candidateTests.d.ts +12 -0
  7. package/dist/agent/candidateTests.d.ts.map +1 -0
  8. package/dist/agent/candidateTests.js +17 -0
  9. package/dist/agent/candidateTests.js.map +1 -0
  10. package/dist/agent/explain.d.ts +3 -0
  11. package/dist/agent/explain.d.ts.map +1 -1
  12. package/dist/agent/explain.js +8 -0
  13. package/dist/agent/explain.js.map +1 -1
  14. package/dist/agent/explore.d.ts.map +1 -1
  15. package/dist/agent/explore.js +11 -6
  16. package/dist/agent/explore.js.map +1 -1
  17. package/dist/agent/fileView.d.ts.map +1 -1
  18. package/dist/agent/fileView.js +113 -120
  19. package/dist/agent/fileView.js.map +1 -1
  20. package/dist/agent/orient.d.ts.map +1 -1
  21. package/dist/agent/orient.js +7 -4
  22. package/dist/agent/orient.js.map +1 -1
  23. package/dist/agent/packet.d.ts.map +1 -1
  24. package/dist/agent/packet.js +5 -12
  25. package/dist/agent/packet.js.map +1 -1
  26. package/dist/agent/query-index/candidates.d.ts +13 -2
  27. package/dist/agent/query-index/candidates.d.ts.map +1 -1
  28. package/dist/agent/query-index/candidates.js +28 -39
  29. package/dist/agent/query-index/candidates.js.map +1 -1
  30. package/dist/agent/query-index/content.d.ts +1 -1
  31. package/dist/agent/query-index/content.js +4 -4
  32. package/dist/agent/query-index/content.js.map +1 -1
  33. package/dist/agent/query-index/schema.d.ts.map +1 -1
  34. package/dist/agent/query-index/schema.js.map +1 -1
  35. package/dist/agent/query-index/sessionStore.d.ts.map +1 -1
  36. package/dist/agent/query-index/sessionStore.js +42 -26
  37. package/dist/agent/query-index/sessionStore.js.map +1 -1
  38. package/dist/agent/query-index/store.d.ts +10 -4
  39. package/dist/agent/query-index/store.d.ts.map +1 -1
  40. package/dist/agent/query-index/store.js +115 -10
  41. package/dist/agent/query-index/store.js.map +1 -1
  42. package/dist/agent/query-index/update.d.ts.map +1 -1
  43. package/dist/agent/query-index/update.js +24 -9
  44. package/dist/agent/query-index/update.js.map +1 -1
  45. package/dist/agent/refactorPlan.d.ts.map +1 -1
  46. package/dist/agent/refactorPlan.js +6 -14
  47. package/dist/agent/refactorPlan.js.map +1 -1
  48. package/dist/agent/renamePreview.d.ts +2 -5
  49. package/dist/agent/renamePreview.d.ts.map +1 -1
  50. package/dist/agent/renamePreview.js +133 -80
  51. package/dist/agent/renamePreview.js.map +1 -1
  52. package/dist/agent/search.d.ts +3 -1
  53. package/dist/agent/search.d.ts.map +1 -1
  54. package/dist/agent/search.js +103 -35
  55. package/dist/agent/search.js.map +1 -1
  56. package/dist/agent/semanticSymbols.d.ts.map +1 -1
  57. package/dist/agent/semanticSymbols.js +2 -1
  58. package/dist/agent/semanticSymbols.js.map +1 -1
  59. package/dist/agent/session.d.ts +4 -0
  60. package/dist/agent/session.d.ts.map +1 -1
  61. package/dist/agent/session.js +20 -7
  62. package/dist/agent/session.js.map +1 -1
  63. package/dist/agent-tools.d.ts +1 -1
  64. package/dist/agent-tools.d.ts.map +1 -1
  65. package/dist/agent-tools.js +12 -21
  66. package/dist/agent-tools.js.map +1 -1
  67. package/dist/bin/cli.js +29242 -25373
  68. package/dist/bin/queryIndexWorker.js +131 -42
  69. package/dist/bin/rawQueryWorker.js +270 -0
  70. package/dist/chunking/chunkFile.d.ts +5 -0
  71. package/dist/chunking/chunkFile.d.ts.map +1 -1
  72. package/dist/chunking/chunkFile.js +14 -15
  73. package/dist/chunking/chunkFile.js.map +1 -1
  74. package/dist/cli/affected.d.ts.map +1 -1
  75. package/dist/cli/affected.js +17 -10
  76. package/dist/cli/affected.js.map +1 -1
  77. package/dist/cli/callHierarchy.d.ts.map +1 -1
  78. package/dist/cli/callHierarchy.js +9 -2
  79. package/dist/cli/callHierarchy.js.map +1 -1
  80. package/dist/cli/commandTable.d.ts.map +1 -1
  81. package/dist/cli/commandTable.js +16 -4
  82. package/dist/cli/commandTable.js.map +1 -1
  83. package/dist/cli/doctor.d.ts +7 -0
  84. package/dist/cli/doctor.d.ts.map +1 -1
  85. package/dist/cli/doctor.js +166 -0
  86. package/dist/cli/doctor.js.map +1 -1
  87. package/dist/cli/graph.d.ts +2 -1
  88. package/dist/cli/graph.d.ts.map +1 -1
  89. package/dist/cli/graph.js +60 -16
  90. package/dist/cli/graph.js.map +1 -1
  91. package/dist/cli/graphDelta.d.ts +2 -1
  92. package/dist/cli/graphDelta.d.ts.map +1 -1
  93. package/dist/cli/graphDelta.js +5 -0
  94. package/dist/cli/graphDelta.js.map +1 -1
  95. package/dist/cli/grep.d.ts +1 -1
  96. package/dist/cli/grep.d.ts.map +1 -1
  97. package/dist/cli/grep.js +14 -4
  98. package/dist/cli/grep.js.map +1 -1
  99. package/dist/cli/help.d.ts +34 -34
  100. package/dist/cli/help.d.ts.map +1 -1
  101. package/dist/cli/help.js +17 -8
  102. package/dist/cli/help.js.map +1 -1
  103. package/dist/cli/impact.d.ts +2 -1
  104. package/dist/cli/impact.d.ts.map +1 -1
  105. package/dist/cli/impact.js +5 -0
  106. package/dist/cli/impact.js.map +1 -1
  107. package/dist/cli/index.d.ts +2 -1
  108. package/dist/cli/index.d.ts.map +1 -1
  109. package/dist/cli/index.js +3 -0
  110. package/dist/cli/index.js.map +1 -1
  111. package/dist/cli/indexPolicy.d.ts.map +1 -1
  112. package/dist/cli/indexPolicy.js.map +1 -1
  113. package/dist/cli/inspect.d.ts +2 -1
  114. package/dist/cli/inspect.d.ts.map +1 -1
  115. package/dist/cli/inspect.js +25 -13
  116. package/dist/cli/inspect.js.map +1 -1
  117. package/dist/cli/install.js +1 -1
  118. package/dist/cli/install.js.map +1 -1
  119. package/dist/cli/invocationContext.d.ts.map +1 -1
  120. package/dist/cli/invocationContext.js +3 -0
  121. package/dist/cli/invocationContext.js.map +1 -1
  122. package/dist/cli/links.d.ts +2 -0
  123. package/dist/cli/links.d.ts.map +1 -1
  124. package/dist/cli/links.js +1 -1
  125. package/dist/cli/links.js.map +1 -1
  126. package/dist/cli/navigation.d.ts +41 -1
  127. package/dist/cli/navigation.d.ts.map +1 -1
  128. package/dist/cli/navigation.js +4 -1
  129. package/dist/cli/navigation.js.map +1 -1
  130. package/dist/cli/options.d.ts.map +1 -1
  131. package/dist/cli/options.js +32 -11
  132. package/dist/cli/options.js.map +1 -1
  133. package/dist/cli/renamePreview.d.ts.map +1 -1
  134. package/dist/cli/renamePreview.js +7 -1
  135. package/dist/cli/renamePreview.js.map +1 -1
  136. package/dist/cli/review.d.ts +2 -1
  137. package/dist/cli/review.d.ts.map +1 -1
  138. package/dist/cli/review.js +5 -0
  139. package/dist/cli/review.js.map +1 -1
  140. package/dist/cli/rootPolicy.d.ts.map +1 -1
  141. package/dist/cli/rootPolicy.js +36 -3
  142. package/dist/cli/rootPolicy.js.map +1 -1
  143. package/dist/cli/skill.js +2 -2
  144. package/dist/cli/skill.js.map +1 -1
  145. package/dist/cli/sql.js +1 -1
  146. package/dist/cli/symbols.d.ts.map +1 -1
  147. package/dist/cli/symbols.js +4 -2
  148. package/dist/cli/symbols.js.map +1 -1
  149. package/dist/cli/viewer.d.ts.map +1 -1
  150. package/dist/cli/viewer.js +46 -34
  151. package/dist/cli/viewer.js.map +1 -1
  152. package/dist/cli.d.ts.map +1 -1
  153. package/dist/cli.js +36 -16
  154. package/dist/cli.js.map +1 -1
  155. package/dist/config.d.ts +3 -0
  156. package/dist/config.d.ts.map +1 -1
  157. package/dist/config.js +35 -3
  158. package/dist/config.js.map +1 -1
  159. package/dist/documentLinks/check.d.ts +2 -1
  160. package/dist/documentLinks/check.d.ts.map +1 -1
  161. package/dist/documentLinks/check.js +22 -11
  162. package/dist/documentLinks/check.js.map +1 -1
  163. package/dist/duplicate-token-normalization.d.ts.map +1 -1
  164. package/dist/duplicate-token-normalization.js +10 -2
  165. package/dist/duplicate-token-normalization.js.map +1 -1
  166. package/dist/duplicates/scoring.d.ts +0 -10
  167. package/dist/duplicates/scoring.d.ts.map +1 -1
  168. package/dist/duplicates/scoring.js +9 -9
  169. package/dist/duplicates/scoring.js.map +1 -1
  170. package/dist/duplicates/types.d.ts +2 -0
  171. package/dist/duplicates/types.d.ts.map +1 -1
  172. package/dist/duplicates/unitCache.d.ts +15 -9
  173. package/dist/duplicates/unitCache.d.ts.map +1 -1
  174. package/dist/duplicates/unitCache.js +184 -33
  175. package/dist/duplicates/unitCache.js.map +1 -1
  176. package/dist/duplicates/units.d.ts +6 -15
  177. package/dist/duplicates/units.d.ts.map +1 -1
  178. package/dist/duplicates/units.js +42 -20
  179. package/dist/duplicates/units.js.map +1 -1
  180. package/dist/duplicates.d.ts.map +1 -1
  181. package/dist/duplicates.js +59 -0
  182. package/dist/duplicates.js.map +1 -1
  183. package/dist/frameworks/angularjs.d.ts.map +1 -1
  184. package/dist/frameworks/angularjs.js +18 -12
  185. package/dist/frameworks/angularjs.js.map +1 -1
  186. package/dist/graph-builder.d.ts.map +1 -1
  187. package/dist/graph-builder.js +12 -9
  188. package/dist/graph-builder.js.map +1 -1
  189. package/dist/graph-edge-collector.d.ts +1 -0
  190. package/dist/graph-edge-collector.d.ts.map +1 -1
  191. package/dist/graph-edge-collector.js +1 -1
  192. package/dist/graph-edge-collector.js.map +1 -1
  193. package/dist/graphs/grep.d.ts.map +1 -1
  194. package/dist/graphs/grep.js +7 -2
  195. package/dist/graphs/grep.js.map +1 -1
  196. package/dist/graphs/specifiers.d.ts.map +1 -1
  197. package/dist/graphs/specifiers.js +8 -2
  198. package/dist/graphs/specifiers.js.map +1 -1
  199. package/dist/graphs/symbol-graph-detailed.d.ts +10 -1
  200. package/dist/graphs/symbol-graph-detailed.d.ts.map +1 -1
  201. package/dist/graphs/symbol-graph-detailed.js +21 -5
  202. package/dist/graphs/symbol-graph-detailed.js.map +1 -1
  203. package/dist/impact/analyzer.d.ts.map +1 -1
  204. package/dist/impact/analyzer.js +19 -2
  205. package/dist/impact/analyzer.js.map +1 -1
  206. package/dist/impact/budgets.d.ts.map +1 -1
  207. package/dist/impact/budgets.js +5 -3
  208. package/dist/impact/budgets.js.map +1 -1
  209. package/dist/impact/call-compatibility/textScanner.d.ts +23 -0
  210. package/dist/impact/call-compatibility/textScanner.d.ts.map +1 -0
  211. package/dist/impact/call-compatibility/textScanner.js +615 -0
  212. package/dist/impact/call-compatibility/textScanner.js.map +1 -0
  213. package/dist/impact/callCompatibility.d.ts +8 -1
  214. package/dist/impact/callCompatibility.d.ts.map +1 -1
  215. package/dist/impact/callCompatibility.js +64 -587
  216. package/dist/impact/callCompatibility.js.map +1 -1
  217. package/dist/impact/context.d.ts.map +1 -1
  218. package/dist/impact/context.js +4 -1
  219. package/dist/impact/context.js.map +1 -1
  220. package/dist/impact/direct.d.ts +1 -1
  221. package/dist/impact/direct.d.ts.map +1 -1
  222. package/dist/impact/direct.js +7 -6
  223. package/dist/impact/direct.js.map +1 -1
  224. package/dist/impact/index.d.ts +6 -0
  225. package/dist/impact/index.d.ts.map +1 -1
  226. package/dist/impact/index.js +0 -8
  227. package/dist/impact/index.js.map +1 -1
  228. package/dist/impact/map.js +2 -2
  229. package/dist/impact/map.js.map +1 -1
  230. package/dist/impact/memberResolutionCoverage.d.ts.map +1 -1
  231. package/dist/impact/memberResolutionCoverage.js +5 -1
  232. package/dist/impact/memberResolutionCoverage.js.map +1 -1
  233. package/dist/impact/parse.d.ts.map +1 -1
  234. package/dist/impact/parse.js +108 -37
  235. package/dist/impact/parse.js.map +1 -1
  236. package/dist/impact/referenceCache.js +1 -1
  237. package/dist/impact/referenceCache.js.map +1 -1
  238. package/dist/impact/report-suggestions.d.ts.map +1 -1
  239. package/dist/impact/report-suggestions.js +347 -72
  240. package/dist/impact/report-suggestions.js.map +1 -1
  241. package/dist/impact/report.d.ts.map +1 -1
  242. package/dist/impact/report.js +13 -2
  243. package/dist/impact/report.js.map +1 -1
  244. package/dist/impact/reportCompact.d.ts.map +1 -1
  245. package/dist/impact/reportCompact.js +8 -0
  246. package/dist/impact/reportCompact.js.map +1 -1
  247. package/dist/impact/reportFull.d.ts.map +1 -1
  248. package/dist/impact/reportFull.js +1 -0
  249. package/dist/impact/reportFull.js.map +1 -1
  250. package/dist/impact/reportParts.d.ts +9 -0
  251. package/dist/impact/reportParts.d.ts.map +1 -1
  252. package/dist/impact/severity.d.ts +3 -2
  253. package/dist/impact/severity.d.ts.map +1 -1
  254. package/dist/impact/severity.js +16 -5
  255. package/dist/impact/severity.js.map +1 -1
  256. package/dist/impact/streaming.d.ts +32 -2
  257. package/dist/impact/streaming.d.ts.map +1 -1
  258. package/dist/impact/streaming.js +62 -3
  259. package/dist/impact/streaming.js.map +1 -1
  260. package/dist/impact/suggestions.d.ts.map +1 -1
  261. package/dist/impact/suggestions.js +1 -1
  262. package/dist/impact/suggestions.js.map +1 -1
  263. package/dist/impact/transitive.d.ts.map +1 -1
  264. package/dist/impact/transitive.js +13 -5
  265. package/dist/impact/transitive.js.map +1 -1
  266. package/dist/impact/types.d.ts +21 -20
  267. package/dist/impact/types.d.ts.map +1 -1
  268. package/dist/impact/types.js.map +1 -1
  269. package/dist/index.d.ts +2 -2
  270. package/dist/index.d.ts.map +1 -1
  271. package/dist/index.js +1 -1
  272. package/dist/index.js.map +1 -1
  273. package/dist/indexer/build-cache/location.d.ts +19 -0
  274. package/dist/indexer/build-cache/location.d.ts.map +1 -0
  275. package/dist/indexer/build-cache/location.js +132 -0
  276. package/dist/indexer/build-cache/location.js.map +1 -0
  277. package/dist/indexer/build-cache/manifest.d.ts +14 -6
  278. package/dist/indexer/build-cache/manifest.d.ts.map +1 -1
  279. package/dist/indexer/build-cache/manifest.js +194 -30
  280. package/dist/indexer/build-cache/manifest.js.map +1 -1
  281. package/dist/indexer/build-cache/module-cache.d.ts +24 -2
  282. package/dist/indexer/build-cache/module-cache.d.ts.map +1 -1
  283. package/dist/indexer/build-cache/module-cache.js +98 -32
  284. package/dist/indexer/build-cache/module-cache.js.map +1 -1
  285. package/dist/indexer/build-cache/options.d.ts +3 -1
  286. package/dist/indexer/build-cache/options.d.ts.map +1 -1
  287. package/dist/indexer/build-cache/options.js +10 -2
  288. package/dist/indexer/build-cache/options.js.map +1 -1
  289. package/dist/indexer/build-cache/project-snapshot.d.ts +33 -13
  290. package/dist/indexer/build-cache/project-snapshot.d.ts.map +1 -1
  291. package/dist/indexer/build-cache/project-snapshot.js +472 -91
  292. package/dist/indexer/build-cache/project-snapshot.js.map +1 -1
  293. package/dist/indexer/build-cache/reports.d.ts.map +1 -1
  294. package/dist/indexer/build-cache/reports.js +10 -1
  295. package/dist/indexer/build-cache/reports.js.map +1 -1
  296. package/dist/indexer/build-cache/resolver-environment.d.ts +9 -0
  297. package/dist/indexer/build-cache/resolver-environment.d.ts.map +1 -0
  298. package/dist/indexer/build-cache/resolver-environment.js +160 -0
  299. package/dist/indexer/build-cache/resolver-environment.js.map +1 -0
  300. package/dist/indexer/build-cache.d.ts +4 -3
  301. package/dist/indexer/build-cache.d.ts.map +1 -1
  302. package/dist/indexer/build-cache.js +4 -3
  303. package/dist/indexer/build-cache.js.map +1 -1
  304. package/dist/indexer/build-index.d.ts.map +1 -1
  305. package/dist/indexer/build-index.js +268 -96
  306. package/dist/indexer/build-index.js.map +1 -1
  307. package/dist/indexer/build-manifest.d.ts +1 -0
  308. package/dist/indexer/build-manifest.d.ts.map +1 -1
  309. package/dist/indexer/build-manifest.js +15 -5
  310. package/dist/indexer/build-manifest.js.map +1 -1
  311. package/dist/indexer/build-workers.d.ts +1 -1
  312. package/dist/indexer/build-workers.d.ts.map +1 -1
  313. package/dist/indexer/build-workers.js +57 -42
  314. package/dist/indexer/build-workers.js.map +1 -1
  315. package/dist/indexer/call-hierarchy.d.ts.map +1 -1
  316. package/dist/indexer/call-hierarchy.js.map +1 -1
  317. package/dist/indexer/finalize.d.ts.map +1 -1
  318. package/dist/indexer/finalize.js +7 -4
  319. package/dist/indexer/finalize.js.map +1 -1
  320. package/dist/indexer/import-types.d.ts +8 -0
  321. package/dist/indexer/import-types.d.ts.map +1 -1
  322. package/dist/indexer/imports/jsTextImports.d.ts.map +1 -1
  323. package/dist/indexer/imports/jsTextImports.js +14 -6
  324. package/dist/indexer/imports/jsTextImports.js.map +1 -1
  325. package/dist/indexer/imports/languageSpecific.d.ts.map +1 -1
  326. package/dist/indexer/imports/languageSpecific.js +10 -5
  327. package/dist/indexer/imports/languageSpecific.js.map +1 -1
  328. package/dist/indexer/imports/nativeCaptures.d.ts.map +1 -1
  329. package/dist/indexer/imports/nativeCaptures.js +4 -1
  330. package/dist/indexer/imports/nativeCaptures.js.map +1 -1
  331. package/dist/indexer/imports/python.d.ts.map +1 -1
  332. package/dist/indexer/imports/python.js +19 -9
  333. package/dist/indexer/imports/python.js.map +1 -1
  334. package/dist/indexer/incremental-plan.d.ts +2 -1
  335. package/dist/indexer/incremental-plan.d.ts.map +1 -1
  336. package/dist/indexer/incremental-plan.js +7 -4
  337. package/dist/indexer/incremental-plan.js.map +1 -1
  338. package/dist/indexer/load-current-index.d.ts.map +1 -1
  339. package/dist/indexer/load-current-index.js.map +1 -1
  340. package/dist/indexer/locals-and-exports.d.ts.map +1 -1
  341. package/dist/indexer/locals-and-exports.js +77 -22
  342. package/dist/indexer/locals-and-exports.js.map +1 -1
  343. package/dist/indexer/navigation-goto.d.ts.map +1 -1
  344. package/dist/indexer/navigation-goto.js +26 -16
  345. package/dist/indexer/navigation-goto.js.map +1 -1
  346. package/dist/indexer/navigation-local.d.ts.map +1 -1
  347. package/dist/indexer/navigation-local.js +7 -4
  348. package/dist/indexer/navigation-local.js.map +1 -1
  349. package/dist/indexer/navigation-references.d.ts +1 -1
  350. package/dist/indexer/navigation-references.d.ts.map +1 -1
  351. package/dist/indexer/navigation-references.js +34 -17
  352. package/dist/indexer/navigation-references.js.map +1 -1
  353. package/dist/indexer/navigation-resolve.d.ts.map +1 -1
  354. package/dist/indexer/navigation-resolve.js +116 -53
  355. package/dist/indexer/navigation-resolve.js.map +1 -1
  356. package/dist/indexer/navigation.d.ts +2 -1
  357. package/dist/indexer/navigation.d.ts.map +1 -1
  358. package/dist/indexer/navigation.js +34 -20
  359. package/dist/indexer/navigation.js.map +1 -1
  360. package/dist/indexer/parse-context.d.ts +2 -2
  361. package/dist/indexer/parse-context.d.ts.map +1 -1
  362. package/dist/indexer/parse-context.js +25 -4
  363. package/dist/indexer/parse-context.js.map +1 -1
  364. package/dist/indexer/reference-context.d.ts +2 -2
  365. package/dist/indexer/reference-context.d.ts.map +1 -1
  366. package/dist/indexer/reference-context.js +4 -2
  367. package/dist/indexer/reference-context.js.map +1 -1
  368. package/dist/indexer/scope-types.d.ts +3 -0
  369. package/dist/indexer/scope-types.d.ts.map +1 -1
  370. package/dist/indexer/scope.js +37 -38
  371. package/dist/indexer/scope.js.map +1 -1
  372. package/dist/indexer/shared.d.ts.map +1 -1
  373. package/dist/indexer/shared.js +3 -1
  374. package/dist/indexer/shared.js.map +1 -1
  375. package/dist/indexer/type-hierarchy.d.ts.map +1 -1
  376. package/dist/indexer/type-hierarchy.js +12 -8
  377. package/dist/indexer/type-hierarchy.js.map +1 -1
  378. package/dist/indexer/types.d.ts +27 -1
  379. package/dist/indexer/types.d.ts.map +1 -1
  380. package/dist/indexer/workspace-symbols.d.ts.map +1 -1
  381. package/dist/indexer/workspace-symbols.js +5 -3
  382. package/dist/indexer/workspace-symbols.js.map +1 -1
  383. package/dist/installer/locks.d.ts +10 -0
  384. package/dist/installer/locks.d.ts.map +1 -0
  385. package/dist/installer/locks.js +232 -0
  386. package/dist/installer/locks.js.map +1 -0
  387. package/dist/installer/registry.d.ts.map +1 -1
  388. package/dist/installer/registry.js +75 -235
  389. package/dist/installer/registry.js.map +1 -1
  390. package/dist/languages/definitions/csharp.d.ts.map +1 -1
  391. package/dist/languages/definitions/csharp.js +8 -0
  392. package/dist/languages/definitions/csharp.js.map +1 -1
  393. package/dist/languages/definitions/java.d.ts.map +1 -1
  394. package/dist/languages/definitions/java.js +3 -0
  395. package/dist/languages/definitions/java.js.map +1 -1
  396. package/dist/languages/definitions/python.d.ts.map +1 -1
  397. package/dist/languages/definitions/python.js +2 -0
  398. package/dist/languages/definitions/python.js.map +1 -1
  399. package/dist/languages/definitions/rust.d.ts.map +1 -1
  400. package/dist/languages/definitions/rust.js +2 -0
  401. package/dist/languages/definitions/rust.js.map +1 -1
  402. package/dist/languages/importStatementParsers.d.ts +2 -0
  403. package/dist/languages/importStatementParsers.d.ts.map +1 -1
  404. package/dist/languages/importStatementParsers.js +24 -10
  405. package/dist/languages/importStatementParsers.js.map +1 -1
  406. package/dist/mcp/http.d.ts +3 -1
  407. package/dist/mcp/http.d.ts.map +1 -1
  408. package/dist/mcp/http.js +69 -20
  409. package/dist/mcp/http.js.map +1 -1
  410. package/dist/mcp/server.d.ts +58 -16
  411. package/dist/mcp/server.d.ts.map +1 -1
  412. package/dist/mcp/server.js +447 -140
  413. package/dist/mcp/server.js.map +1 -1
  414. package/dist/mcp/tools.d.ts +51 -1
  415. package/dist/mcp/tools.d.ts.map +1 -1
  416. package/dist/mcp/tools.js +129 -3
  417. package/dist/mcp/tools.js.map +1 -1
  418. package/dist/native/byteIndex.d.ts +26 -0
  419. package/dist/native/byteIndex.d.ts.map +1 -0
  420. package/dist/native/byteIndex.js +70 -0
  421. package/dist/native/byteIndex.js.map +1 -0
  422. package/dist/native/projectedTree.d.ts +3 -2
  423. package/dist/native/projectedTree.d.ts.map +1 -1
  424. package/dist/native/projectedTree.js +6 -50
  425. package/dist/native/projectedTree.js.map +1 -1
  426. package/dist/native/queryResults.d.ts +7 -1
  427. package/dist/native/queryResults.d.ts.map +1 -1
  428. package/dist/native/queryResults.js +13 -5
  429. package/dist/native/queryResults.js.map +1 -1
  430. package/dist/review/candidates.d.ts.map +1 -1
  431. package/dist/review/candidates.js +4 -1
  432. package/dist/review/candidates.js.map +1 -1
  433. package/dist/review/changes.d.ts +2 -0
  434. package/dist/review/changes.d.ts.map +1 -1
  435. package/dist/review/changes.js +10 -0
  436. package/dist/review/changes.js.map +1 -1
  437. package/dist/review/deleted.d.ts.map +1 -1
  438. package/dist/review/deleted.js +20 -2
  439. package/dist/review/deleted.js.map +1 -1
  440. package/dist/review/summaries.d.ts +5 -0
  441. package/dist/review/summaries.d.ts.map +1 -1
  442. package/dist/review/summaries.js +32 -21
  443. package/dist/review/summaries.js.map +1 -1
  444. package/dist/review/types.d.ts +3 -1
  445. package/dist/review/types.d.ts.map +1 -1
  446. package/dist/review/types.js +8 -1
  447. package/dist/review/types.js.map +1 -1
  448. package/dist/review.d.ts.map +1 -1
  449. package/dist/review.js +14 -5
  450. package/dist/review.js.map +1 -1
  451. package/dist/session.d.ts +20 -4
  452. package/dist/session.d.ts.map +1 -1
  453. package/dist/session.js +76 -16
  454. package/dist/session.js.map +1 -1
  455. package/dist/sql/types.d.ts.map +1 -1
  456. package/dist/sqlite/query.d.ts +29 -0
  457. package/dist/sqlite/query.d.ts.map +1 -1
  458. package/dist/sqlite/query.js +98 -11
  459. package/dist/sqlite/query.js.map +1 -1
  460. package/dist/sqlite/rawQueryWorker.d.ts +22 -0
  461. package/dist/sqlite/rawQueryWorker.d.ts.map +1 -0
  462. package/dist/sqlite/rawQueryWorker.js +31 -0
  463. package/dist/sqlite/rawQueryWorker.js.map +1 -0
  464. package/dist/sqlite/rawQueryWorkerPool.d.ts +66 -0
  465. package/dist/sqlite/rawQueryWorkerPool.d.ts.map +1 -0
  466. package/dist/sqlite/rawQueryWorkerPool.js +142 -0
  467. package/dist/sqlite/rawQueryWorkerPool.js.map +1 -0
  468. package/dist/sqlite/schema.d.ts +2 -1
  469. package/dist/sqlite/schema.d.ts.map +1 -1
  470. package/dist/sqlite/schema.js +15 -1
  471. package/dist/sqlite/schema.js.map +1 -1
  472. package/dist/sqlite/write.d.ts.map +1 -1
  473. package/dist/sqlite/write.js +15 -0
  474. package/dist/sqlite/write.js.map +1 -1
  475. package/dist/sqlite-driver.d.ts +11 -0
  476. package/dist/sqlite-driver.d.ts.map +1 -1
  477. package/dist/sqlite-driver.js +28 -2
  478. package/dist/sqlite-driver.js.map +1 -1
  479. package/dist/sqlite.d.ts +1 -1
  480. package/dist/sqlite.d.ts.map +1 -1
  481. package/dist/sqlite.js +1 -1
  482. package/dist/sqlite.js.map +1 -1
  483. package/dist/util/bloomFilter.d.ts +3 -2
  484. package/dist/util/bloomFilter.d.ts.map +1 -1
  485. package/dist/util/bloomFilter.js +8 -8
  486. package/dist/util/bloomFilter.js.map +1 -1
  487. package/dist/util/concurrency.d.ts +1 -0
  488. package/dist/util/concurrency.d.ts.map +1 -1
  489. package/dist/util/concurrency.js +9 -2
  490. package/dist/util/concurrency.js.map +1 -1
  491. package/dist/util/confinedFile.d.ts +42 -2
  492. package/dist/util/confinedFile.d.ts.map +1 -1
  493. package/dist/util/confinedFile.js +114 -3
  494. package/dist/util/confinedFile.js.map +1 -1
  495. package/dist/util/errors.d.ts +2 -0
  496. package/dist/util/errors.d.ts.map +1 -1
  497. package/dist/util/errors.js +18 -0
  498. package/dist/util/errors.js.map +1 -1
  499. package/dist/util/git.d.ts +2 -0
  500. package/dist/util/git.d.ts.map +1 -1
  501. package/dist/util/git.js +174 -26
  502. package/dist/util/git.js.map +1 -1
  503. package/dist/util/identifiers.d.ts +75 -0
  504. package/dist/util/identifiers.d.ts.map +1 -0
  505. package/dist/util/identifiers.js +82 -0
  506. package/dist/util/identifiers.js.map +1 -0
  507. package/dist/util/paths.d.ts.map +1 -1
  508. package/dist/util/paths.js +45 -9
  509. package/dist/util/paths.js.map +1 -1
  510. package/dist/util/projectFiles.d.ts.map +1 -1
  511. package/dist/util/projectFiles.js +43 -14
  512. package/dist/util/projectFiles.js.map +1 -1
  513. package/dist/util/resolution/jvm.d.ts.map +1 -1
  514. package/dist/util/resolution/jvm.js +20 -9
  515. package/dist/util/resolution/jvm.js.map +1 -1
  516. package/dist/util/resolution/php.d.ts.map +1 -1
  517. package/dist/util/resolution/php.js +6 -5
  518. package/dist/util/resolution/php.js.map +1 -1
  519. package/dist/util/resolution/tsconfig.d.ts.map +1 -1
  520. package/dist/util/resolution/tsconfig.js +26 -12
  521. package/dist/util/resolution/tsconfig.js.map +1 -1
  522. package/dist/util/rustTestModules.d.ts.map +1 -1
  523. package/dist/util/rustTestModules.js +4 -2
  524. package/dist/util/rustTestModules.js.map +1 -1
  525. package/dist/util/specifiers.d.ts.map +1 -1
  526. package/dist/util/specifiers.js +10 -3
  527. package/dist/util/specifiers.js.map +1 -1
  528. package/dist/util/sqliteSchema.d.ts.map +1 -1
  529. package/dist/util/sqliteSchema.js +10 -1
  530. package/dist/util/sqliteSchema.js.map +1 -1
  531. package/dist/worker/nativeExtractWorker.d.ts +4 -2
  532. package/dist/worker/nativeExtractWorker.d.ts.map +1 -1
  533. package/dist/worker/nativeExtractWorker.js +12 -11
  534. package/dist/worker/nativeExtractWorker.js.map +1 -1
  535. package/docs/mcp.md +35 -14
  536. package/package.json +3 -3
package/README.md CHANGED
@@ -20,26 +20,26 @@ Without structural context, an agent burns early turns listing directories, gues
20
20
 
21
21
  On this repository under Node 24 with a warm cache, `codegraph orient --root . --budget small --json` returned in about **0.6s**, and the matching MCP `orient` call returned in about **100ms**.
22
22
 
23
- Windows PowerShell:
23
+ With Node.js 22.16 or newer, install from npm:
24
24
 
25
- ```powershell
26
- irm https://github.com/lzehrung/codegraph/releases/latest/download/install.ps1 | iex
25
+ ```bash
26
+ npm install -g @lzehrung/codegraph
27
+ codegraph doctor
28
+ codegraph install
29
+ codegraph explore "how does auth reach the database?" --root .
27
30
  ```
28
31
 
29
- macOS or glibc-based Linux:
32
+ No Node.js or npm? The standalone installers download a self-contained bundle with Node.js, the CLI, and the matching native runtime:
30
33
 
31
- ```bash
32
- curl -fsSL https://github.com/lzehrung/codegraph/releases/latest/download/install.sh | sh
34
+ ```powershell
35
+ irm https://github.com/lzehrung/codegraph/releases/latest/download/install.ps1 | iex
33
36
  ```
34
37
 
35
- Then configure an agent and ask the first question:
36
-
37
38
  ```bash
38
- codegraph install
39
- codegraph explore "how does auth reach the database?" --root .
39
+ curl -fsSL https://github.com/lzehrung/codegraph/releases/latest/download/install.sh | sh
40
40
  ```
41
41
 
42
- Use codegraph alongside text search and compilers: text search finds exact strings, compilers prove language behavior, and codegraph fills in the cross-file repository map between them. See [Installation](./docs/installation.md) for standalone, package, and source-checkout paths.
42
+ Use codegraph alongside text search and compilers: text search finds exact strings, compilers prove language behavior, and codegraph fills in the cross-file repository map between them. See [Installation](./docs/installation.md) for npm, standalone, and source-checkout paths.
43
43
 
44
44
  ## Table of contents
45
45
 
@@ -82,9 +82,20 @@ Human-readable output is the CLI default, including the compact `review` report;
82
82
 
83
83
  ## Try it
84
84
 
85
- **Requirement:** Package and source installs require Node.js 22.16 or newer. Standalone archives bundle Node.js.
85
+ **Recommended:** Install from npm when Node.js 22.16 or newer is available. The standalone archive bundles Node.js.
86
+
87
+ ### From npm (recommended)
88
+
89
+ ```bash
90
+ npm install -g @lzehrung/codegraph
91
+ codegraph doctor
92
+ codegraph install --all --dry-run
93
+ codegraph install --all --yes
94
+ ```
95
+
96
+ Published package installs resolve the optional native runtime automatically when a compatible artifact exists. See [Installation](./docs/installation.md) for alternatives and update instructions.
86
97
 
87
- ### Standalone archive
98
+ ### Standalone archive (no Node.js or npm)
88
99
 
89
100
  The standalone archive bundles Node.js, the CLI, the matching native runtime, and the codegraph skill.
90
101
 
@@ -96,11 +107,11 @@ irm https://github.com/lzehrung/codegraph/releases/latest/download/install.ps1 |
96
107
  curl -fsSL https://github.com/lzehrung/codegraph/releases/latest/download/install.sh | sh
97
108
  ```
98
109
 
99
- Both commands preview the target and install path before writing. See [Installation](./docs/installation.md#option-1-standalone-release-preview) for supported targets, version pinning, rollback, and the full verification flow.
110
+ Both commands preview the target and install path before writing. See [Installation](./docs/installation.md#install-the-standalone-preview) for requirements and unattended installs.
100
111
 
101
- ### From a source checkout
112
+ ### From a source checkout (development)
102
113
 
103
- This is the least ambiguous way to evaluate the current repository:
114
+ Use this path to evaluate the current repository or contribute changes:
104
115
 
105
116
  ```bash
106
117
  git clone https://github.com/lzehrung/codegraph.git
@@ -114,19 +125,6 @@ node ./dist/cli.js orient --root . --budget small
114
125
 
115
126
  Continue with `node ./dist/cli.js <command>` from the checkout. To use the bare `codegraph` examples below unchanged, run `npm install -g .` after the build, then `codegraph doctor` and `codegraph install --all --dry-run`.
116
127
 
117
- ### From npm
118
-
119
- ```bash
120
- npm install -g @lzehrung/codegraph
121
- codegraph doctor
122
- codegraph install --all --dry-run
123
- codegraph install --all --yes
124
- ```
125
-
126
- Published package installs resolve the optional native runtime automatically when a compatible artifact exists. See [Installation](./docs/installation.md) for package, tarball, standalone, local global-install, and native-runtime details.
127
-
128
- On Windows, installed releases load the native addon from a verified per-user cache so long-running MCP servers do not keep npm's package copy mapped. The first upgrade from an older direct-loading release still requires one stop-update-restart cycle; see [Updating on Windows](./docs/installation.md#updating-on-windows).
129
-
130
128
  ## A useful first five minutes
131
129
 
132
130
  Do not begin by generating every possible report. Start with the question you actually have.
@@ -34,7 +34,7 @@ Prefer `review` before `impact`: review is the compact reviewer handoff; impact
34
34
 
35
35
  ## Keep the Project Boundary Explicit
36
36
 
37
- Use `--root` to define the boundary for config lookup, cache scope, path confinement, and output normalization.
37
+ Use `--root` to define the boundary for config lookup, path confinement, and output normalization. Cache contents use project-relative paths and may live at the resolved repository anchor; override location with `--cache-dir` or `CODEGRAPH_CACHE_DIR`. An overridden anchor pointing at the home directory or a filesystem root is rejected with an error.
38
38
 
39
39
  - Positional paths are include roots inside the project boundary for `orient`, `drift`, and positional graph commands.
40
40
  - `codegraph.config.json` discovery globs are project-root-relative.
@@ -56,8 +56,9 @@ Use `--root` to define the boundary for config lookup, cache scope, path confine
56
56
 
57
57
  `explore` returns ranked anchors, bounded packets, dependency paths, blast radius, candidate tests, explicit limits, omission counts, and copyable follow-ups. Human-readable output ends with `Recommended next:` using the first bounded follow-up; JSON keeps the stable `schemaVersion: 1` fields and `followUps` array as tool-call descriptors (`{tool, arguments, label?}`), not CLI strings. Hybrid search is code-first by default, and search, explain, explore, and review preserve analysis labels so reduced or mixed runs remain visible.
58
58
 
59
- Use `symbols` instead of hybrid `search` when only declarations should compete. It supports `--kind <kind,...>`, `--exported`, `--include-imports`, project-relative `--file-glob`, and `--limit <0-500>`; imports default off, and only named/default aliases that resolve to concrete declarations are returned.
59
+ Use `search --no-snippets` when handles and paths are sufficient and source text will be fetched separately with `file`. Use `explain --changed-context` for bounded source context around changed ranges in changed-file or review workflows.
60
60
 
61
+ Use `symbols` instead of hybrid `search` when only declarations should compete. It supports `--kind <kind,...>`, `--exported`, `--include-imports`, project-relative `--file-glob`, and `--limit <0-500>`; imports default off, and only named/default aliases that resolve to concrete declarations are returned.
61
62
  Use the portable callable handle from `symbols` with `codegraph callers <handle>` or `codegraph callees <handle>`. Depth defaults to 1 and caps at 5, the symbol limit defaults to 100 and caps at 500, pretty grouped callsites are the default, and `--json` returns the structured envelope.
62
63
 
63
64
  Call hierarchy contains resolved semantic `calls` edges only. `--include-heuristic` is accepted but currently adds no guessed dynamic calls; use `refs` for all references and `deps` or `rdeps` for file relationships.
@@ -85,13 +86,11 @@ The independent `--max-references`, `--max-callers`, and `--max-hierarchy` bound
85
86
  - references for every definition in a file: `codegraph refs <file>`
86
87
 
87
88
  Use line and column coordinates when known; this is the primary navigation form. Use an exact project-relative `file::symbol` path when coordinates are unavailable; it cannot be combined with line or column input. `deps` and `rdeps` accept either form or a portable `symbol:` handle and resolve it to its defining file, while `callers` and `callees` expose symbol-level calls. Duplicate local names return declaration candidates; run `codegraph symbols` to get a portable handle.
88
-
89
- ### Review and Inspect
90
-
91
- Safe shorthand: `impact` and git-backed `drift` default to `HEAD..WORKTREE`; `artifact`, `packet`, and `mcp` infer `build`, `get`, and `serve`. `grep <regex>` and `sql <db> "SELECT ..."` accept positional forms. Explicit options remain valid. `grep --json` returns an envelope `{ items, limit, totalSeen, truncated, omitted }`, not a bare hit array: `limit` is the effective `--max-hits` cap for text greps (default 5000, capped at 200000) and `null` for uncapped `--query` AST greps. Check `truncated` before treating text results as complete, and raise `--max-hits` when it is true - `truncated` stays exact through that ceiling. `graph-delta --json` emits structured edge add/remove reports for revision ranges.
89
+ Safe shorthand: `impact` and git-backed `drift` default to `HEAD..WORKTREE`; `artifact`, `packet`, and `mcp` infer `build`, `get`, and `serve`. `artifact --sqlite` is equivalent to `artifact build --sqlite`; `grep <regex>` and `sql <db> "SELECT ..."` accept positional forms. Explicit options remain valid. `grep --json` returns an envelope `{ items, limit, totalSeen, truncated, omitted }`, not a bare hit array: `limit` is the effective `--max-hits` cap for text greps (default 5000, capped at 200000) and `null` for uncapped `--query` AST greps. Check `truncated` before treating text results as complete, and raise `--max-hits` when it is true - `truncated` stays exact through that ceiling. `graph` output selectors are mutually exclusive.
92
90
 
93
91
  - compact review handoff: `codegraph review`
94
92
  - broader change impact: `codegraph impact --base HEAD --head WORKTREE`
93
+ - impact with candidate tests: `codegraph impact --base HEAD --head WORKTREE --include-tests`
95
94
  - affected test paths: `codegraph affected --base HEAD --head WORKTREE --quiet`
96
95
  - architecture drift: `codegraph drift ./src --base origin/main --head HEAD --graph-edges summary --public-api removals`
97
96
  - architecture summary: `codegraph inspect ./src --limit 20`
@@ -100,7 +99,7 @@ Safe shorthand: `impact` and git-backed `drift` default to `HEAD..WORKTREE`; `ar
100
99
  - full duplicate groups: `codegraph duplicates --root . ./src --json`
101
100
  - local Markdown link check: `codegraph links --json`
102
101
 
103
- `links` checks root-confined local Markdown links and GitHub-style heading fragments, including raw HTML `a[href]` in `.md` files. It skips external URLs and unsupported formats; exit 1 reports broken links. `review` and non-empty `impact` include the same `markdownLinks` findings; `unresolved` excludes document edges.
102
+ `links` checks root-confined local Markdown links and GitHub-style heading fragments, including raw HTML `a[href]` in `.md` files. It skips external URLs and unsupported formats; exit 1 reports broken links. Discovery honors `codegraph.config.json` discovery globs plus CLI `--include-glob` / `--ignore-glob` / `--no-gitignore`. `review` and non-empty `impact` include the same `markdownLinks` findings; `unresolved` excludes document edges.
104
103
 
105
104
  `inspect --duplicates` adds the slower bounded duplicate summary. Treat duplicate matches, candidate tests, and call-compatibility hints as review leads, not proof.
106
105
 
@@ -161,15 +160,18 @@ Sensitive-file rules:
161
160
 
162
161
  ## MCP and Freshness
163
162
 
164
- If MCP tools are available, prefer them over repeated CLI invocations. Use `explore`, `orient`, `workspace_symbols`, `search`, `get_file`, `packet_get`, `goto`, `refs`, `rename_preview`, `refactor_plan`, `calls`, `type_hierarchy`, `file_deps`, `path`, `impact`, `review`, and `query_sqlite`; fall back to the CLI when MCP is unavailable. Legacy `callers`/`callees`, `supertypes`/`subtypes`, and `deps`/`rdeps` names remain valid `tools/call` aliases.
163
+ If MCP tools are available, prefer them over repeated CLI invocations. Use `explore`, `orient`, `workspace_symbols`, `search`, `get_file`, `get_symbol`, `packet_get`, `goto`, `refs`, `rename_preview`, `refactor_plan`, `calls`, `type_hierarchy`, `implementations`, `file_deps`, `path`, `impact`, `review`, `query_sqlite`, `refresh_index`, and `artifact_build`; fall back to the CLI when MCP is unavailable. Legacy `callers`/`callees`, `supertypes`/`subtypes`, and `deps`/`rdeps` names remain valid `tools/call` aliases.
165
164
 
166
- codegraph uses the official MCP SDK v2 to serve current 2026-07-28 clients while retaining compatibility with 2025-era clients. MCP protocol connections and HTTP protocol sessions keep separate transport state, but all share the server's one warm codegraph analysis session for the configured root. Tool schemas reject unknown fields, and idle HTTP protocol sessions are evicted with a bounded session count.
165
+ codegraph uses the official MCP SDK v2 to serve current 2026-07-28 clients while retaining compatibility with 2025-era clients. MCP protocol connections and HTTP protocol sessions keep separate transport state, but all share the server's one warm codegraph analysis session for the configured root. Tool schemas reject unknown fields, each protocol session caps tool concurrency at 4 with a retryable busy error, HTTP request bodies time out after 30 seconds, and idle HTTP protocol sessions are evicted with a bounded session count. Cancellation responds to the caller promptly but retains the occupied slot until shared work settles, so abandoned calls cannot bypass that resource bound. Concurrent `refresh_index` calls serialize and honor each request's requested warmup.
167
166
  On the first `tools/call`, codegraph can emit `notifications/message` and, when the request includes `_meta.progressToken`, `notifications/progress` before the final result. Stdio carries them inline, and modern Streamable HTTP clients that accept `text/event-stream` receive them as a stream until the terminal result frame.
168
167
  HTTP enforces Host and Origin policies. A missing `Origin` is accepted for non-browser clients; unapproved, malformed, and opaque origins are rejected. This is not authentication: binding `--host` to a non-loopback address exposes an unauthenticated endpoint intended only for trusted networks or containers.
168
+ For stdio lifecycle control, pass `--idle-timeout-ms <milliseconds>`; `0` disables the timer and the option is rejected with HTTP `--port` transport.
169
169
 
170
170
  Use `refactor_plan` with flat `handle`, optional `renameTo`, independent optional `maxReferences`, `maxCallers`, and `maxHierarchy` bounds from 0 to 500, and optional `includeSource`. It reuses the configured server root and one session snapshot, returns portable targets and structured tool-call follow-ups even for exact internal review handles, exposes unsupported implementation sections in `sectionIssues`, preserves nested `rename.safe`, and never writes.
171
171
  Use `workspace_symbols` for deterministic symbol identities and exact ranges; use `search` when paths, prose, SQL, snippets, or graph evidence should participate.
172
172
  Use `type_hierarchy` with `direction: "supertypes" | "subtypes"` and `implementations` with portable symbol handles for repeated hierarchy queries; schemas are flat and use the same 10-depth and 500-result caps as the CLI.
173
+ `refs` and `file_deps` collection limits default to 25 and cap at 500. `query_sqlite` row limits default to 100 and cap at 500 (`src/sqlite/rowBounds.ts`); its 10-second deadline can reject a long-running query, and concurrent calls can temporarily fail while an expired native step completes its bounded cleanup.
174
+
173
175
  Use `calls` with `direction: "callers" | "callees"` and portable callable handles for repeated call hierarchy queries. The flat schema accepts `handle`, `direction`, `depth`, `limit`, and `includeHeuristic`, reuses the MCP freshness gate, and caps depth at 5 and symbols at 500; current results remain semantic-only.
174
176
  Use `file_deps` with `direction: "deps" | "rdeps"` for file-level dependency queries. Its `file` field accepts an exact `file::symbol` path or portable `symbol:` handle and resolves either to the declaring file; use `calls` for symbol-level relationships. `refs` and `file_deps` pair their collections with `limit`, `totalSeen`, `truncated`, and `omitted`; when `truncated` is true the result is a capped prefix, so rerun with a higher `limit` instead of treating it as complete. MCP `review` is bounded for transport: collections are capped at the response's `limits` with exact `omittedCounts`, while `summary` totals always describe the full report.
175
177
  Use `rename_preview` with `handle`, `newName`, optional boolean inclusion fields, and optional `maxEdits`. It remains available in read-only mode, reuses the MCP session, never changes files, and has no apply counterpart.
@@ -224,38 +226,37 @@ Lifecycle commands accept either one positional project path or `--root <path>`,
224
226
 
225
227
  ## Installation
226
228
 
227
- Package and source installs require Node.js 22.16 or newer; standalone archives bundle Node.js.
228
-
229
- For the preview standalone channel, use the release bootstrap appropriate to the host:
230
-
231
- ```powershell
232
- irm https://github.com/lzehrung/codegraph/releases/latest/download/install.ps1 | iex
233
- ```
229
+ For normal CLI and MCP use, install from public npm with Node.js 22.16 or newer:
234
230
 
235
231
  ```bash
236
- curl -fsSL https://github.com/lzehrung/codegraph/releases/latest/download/install.sh | sh
232
+ npm install -g @lzehrung/codegraph
233
+ codegraph doctor
234
+ codegraph install --all --dry-run
235
+ codegraph install --all --yes
237
236
  ```
238
237
 
239
- The standalone Linux archives require glibc. On musl Linux, use the package or source installation path instead.
238
+ Public npm installs need no GitHub token or `@lzehrung` registry mapping. Do not suggest the unscoped `codegraph` package. If `.npmrc` still maps `@lzehrung` to `https://npm.pkg.github.com`, remove or replace that legacy mapping; npm otherwise selects GitHub Packages instead of current public releases.
240
239
 
241
- The bootstrap previews its target and paths, then confirms interactively or requires `-Yes`/`--yes` for noninteractive writes. It verifies the selected archive against release `SHA256SUMS`, rejects unsafe entries, installs under a versioned user-owned root, and records the prior version; pin or roll back with `./install.ps1 -Version VERSION` or `sh ./install.sh --version VERSION`. This channel is checksummed preview content, not a signed release claim.
240
+ Published installs resolve the optional native runtime when a compatible artifact exists; otherwise codegraph reports reduced graph-only and regex recovery behavior rather than semantic parity.
242
241
 
243
- For package installs, use only the scoped packages:
242
+ For library or API consumers, use only the scoped packages:
244
243
 
245
- - product package (CLI/MCP/viewer): `@lzehrung/codegraph`
246
244
  - slim library install: `@lzehrung/codegraph-core`
247
245
  - agent-shaped APIs: `@lzehrung/codegraph/agent` or `@lzehrung/codegraph-core/agent`
248
246
  - MCP handlers/server: `@lzehrung/codegraph/mcp`
249
247
  - optional native runtime: `@lzehrung/codegraph-native`
250
248
 
249
+ No Node.js or npm? The preview standalone archive is self-contained: it bundles Node.js, production dependencies, the matching native runtime, and the codegraph skill.
250
+
251
+ ```powershell
252
+ irm https://github.com/lzehrung/codegraph/releases/latest/download/install.ps1 | iex
253
+ ```
254
+
251
255
  ```bash
252
- npm install -g @lzehrung/codegraph
253
- codegraph doctor
254
- codegraph install --all --dry-run
255
- codegraph install --all --yes
256
+ curl -fsSL https://github.com/lzehrung/codegraph/releases/latest/download/install.sh | sh
256
257
  ```
257
258
 
258
- Public npm installs need no GitHub token or `@lzehrung` registry mapping. Do not suggest the unscoped `codegraph` package. Published installs resolve the optional native runtime when a compatible artifact exists; otherwise codegraph reports reduced graph-only and regex recovery behavior rather than semantic parity.
259
+ The standalone Linux archives require glibc. On musl Linux, use the package or source installation path instead. The bootstrap previews its target and paths, then confirms interactively or requires `-Yes`/`--yes` for noninteractive writes. It verifies the selected archive against release `SHA256SUMS`, rejects unsafe entries, installs under a versioned user-owned root, and records the prior version; pin or roll back with `./install.ps1 -Version VERSION` or `sh ./install.sh --version VERSION`. This channel is checksummed preview content, not a signed release claim.
259
260
 
260
261
  On Windows, installed releases load native code from `%LOCALAPPDATA%\codegraph\native-cache\v1`. The first upgrade from an older direct-loading release requires closing codegraph MCP clients once, running `npm install -g @lzehrung/codegraph@latest`, and restarting the clients.
261
262
 
@@ -1 +1 @@
1
- {"version":3,"file":"artifact.d.ts","sourceRoot":"","sources":["../../src/agent/artifact.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAE5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAOxD,OAAO,KAAK,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAGvE,MAAM,MAAM,6BAA6B,GAAG;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACzC,aAAa,EAAE,CAAC,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE;QACT,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;CACH,CAAC;AAiBF,KAAK,iBAAiB,GAAG;IACvB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,SAAS,EAAE,KAAK,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,EAAE,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,GAAG;YAAE,IAAI,EAAE,UAAU,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC;QACxE,GAAG,EAAE,MAAM,CAAC;QACZ,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,QAAQ,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;QACnC,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC,CAAC;IACH,OAAO,EAAE,KAAK,CAAC,UAAU,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC9C,WAAW,EAAE,oBAAoB,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC;CAC3D,CAAC;AAEF,KAAK,iBAAiB,GAAG,iBAAiB,GAAG;IAC3C,aAAa,EAAE,CAAC,CAAC;IACjB,MAAM,EAAE,sBAAsB,CAAC;IAC/B,KAAK,EAAE,iBAAiB,CAAC;CAC1B,CAAC;AAUF,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,6BAA6B,GACrC,OAAO,CAAC,4BAA4B,CAAC,CAWvC;AAED,wBAAsB,iCAAiC,CACrD,OAAO,EAAE,YAAY,EACrB,OAAO,EAAE,6BAA6B,GACrC,OAAO,CAAC,4BAA4B,CAAC,CA8EvC;AAwOD,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,oBAAoB,GAAG;IACvE,aAAa,EAAE,CAAC,CAAC;IACjB,MAAM,EAAE,sBAAsB,CAAC;IAC/B,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAClC,SAAS,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAC1C,OAAO,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAC;IACtC,WAAW,EAAE,iBAAiB,CAAC,aAAa,CAAC,CAAC;IAC9C,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC;CACnC,CAuDA"}
1
+ {"version":3,"file":"artifact.d.ts","sourceRoot":"","sources":["../../src/agent/artifact.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,UAAU,EAAmB,MAAM,2BAA2B,CAAC;AAE7E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAOxD,OAAO,KAAK,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAGvE,MAAM,MAAM,6BAA6B,GAAG;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACzC,aAAa,EAAE,CAAC,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE;QACT,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;CACH,CAAC;AAqBF,KAAK,iBAAiB,GAAG;IACvB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,SAAS,EAAE,KAAK,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,EAAE,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,GAAG;YAAE,IAAI,EAAE,UAAU,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC;QACxE,GAAG,EAAE,MAAM,CAAC;QACZ,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,QAAQ,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;QACnC,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC,CAAC;IACH,OAAO,EAAE,KAAK,CAAC,UAAU,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC9C,WAAW,EAAE,oBAAoB,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC;CAC3D,CAAC;AAEF,KAAK,iBAAiB,GAAG,iBAAiB,GAAG;IAC3C,aAAa,EAAE,CAAC,CAAC;IACjB,MAAM,EAAE,sBAAsB,CAAC;IAC/B,KAAK,EAAE,iBAAiB,CAAC;CAC1B,CAAC;AAUF,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,6BAA6B,GACrC,OAAO,CAAC,4BAA4B,CAAC,CAWvC;AAED,wBAAsB,iCAAiC,CACrD,OAAO,EAAE,YAAY,EACrB,OAAO,EAAE,6BAA6B,GACrC,OAAO,CAAC,4BAA4B,CAAC,CAqFvC;AA6OD,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,oBAAoB,GAAG;IACvE,aAAa,EAAE,CAAC,CAAC;IACjB,MAAM,EAAE,sBAAsB,CAAC;IAC/B,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAClC,SAAS,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAC1C,OAAO,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAC;IACtC,WAAW,EAAE,iBAAiB,CAAC,aAAa,CAAC,CAAC;IAC9C,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC;CACnC,CAgFA"}
@@ -36,29 +36,35 @@ export async function buildCodegraphArtifactWithSession(session, request) {
36
36
  const selected = normalizeArtifactSelection(request);
37
37
  const filterOutDir = path.resolve(root, request.filterOutDir ?? request.outDir ?? DEFAULT_OUT_DIR);
38
38
  const snapshot = await filterSnapshotForOutputDirectory(await session.loadProject(), filterOutDir);
39
- await fs.mkdir(outDir, { recursive: true });
40
- if (request.force) {
41
- await prepareForcedOutputDirectory(outDir, selected);
42
- }
43
- const artifacts = {};
39
+ const sqliteSignatures = [];
40
+ let sqliteFileSignatures = { signed: 0, skipped: 0 };
44
41
  if (selected.sqlite) {
45
- if (!snapshot.fileSignatures) {
42
+ const snapshotFileSignatures = snapshot.fileSignatures;
43
+ if (!snapshotFileSignatures) {
46
44
  throw new Error("SQLite artifact freshness signatures are unavailable.");
47
45
  }
48
- const fileSignatures = [];
49
46
  for (const file of snapshot.fileGraph.nodes) {
50
- const signature = snapshot.fileSignatures.get(file);
47
+ const signature = snapshotFileSignatures.get(file);
51
48
  if (!signature) {
52
- throw new Error(`SQLite artifact freshness signature is missing for ${file}.`);
49
+ sqliteFileSignatures = { ...sqliteFileSignatures, skipped: sqliteFileSignatures.skipped + 1 };
50
+ continue;
53
51
  }
54
- fileSignatures.push({ path: signature.file, size: signature.size, mtimeMs: signature.mtimeMs });
52
+ sqliteSignatures.push({ path: signature.file, size: signature.size, mtimeMs: signature.mtimeMs });
55
53
  }
54
+ sqliteFileSignatures = { signed: sqliteSignatures.length, skipped: sqliteFileSignatures.skipped };
55
+ }
56
+ await fs.mkdir(outDir, { recursive: true });
57
+ if (request.force) {
58
+ await prepareForcedOutputDirectory(outDir, selected);
59
+ }
60
+ const artifacts = {};
61
+ if (selected.sqlite) {
56
62
  const outputPath = path.join(outDir, SQLITE_FILE);
57
63
  await writeGraphSqlite({
58
64
  fileGraph: snapshot.fileGraph,
59
65
  symbolGraph: snapshot.symbolGraph,
60
66
  outputPath,
61
- fileSignatures,
67
+ fileSignatures: sqliteSignatures,
62
68
  });
63
69
  artifacts.sqlite = SQLITE_FILE;
64
70
  }
@@ -91,6 +97,7 @@ export async function buildCodegraphArtifactWithSession(session, request) {
91
97
  sql: {
92
98
  supported: true,
93
99
  limitation: "SQL support does not perform current-schema reconstruction.",
100
+ fileSignatures: sqliteFileSignatures,
94
101
  },
95
102
  graphJsonSchema: "codegraph.graph-json",
96
103
  };
@@ -209,6 +216,8 @@ async function readCodegraphManifest(outDir) {
209
216
  if (key === "questions")
210
217
  artifacts.questions = artifactFile;
211
218
  }
219
+ const sql = isPlainRecord(value.sql) ? value.sql : undefined;
220
+ const fileSignatures = sql && isPlainRecord(sql.fileSignatures) ? sql.fileSignatures : undefined;
212
221
  return {
213
222
  schemaVersion: 1,
214
223
  root: typeof value.root === "string" ? value.root : "",
@@ -218,6 +227,10 @@ async function readCodegraphManifest(outDir) {
218
227
  sql: {
219
228
  supported: true,
220
229
  limitation: "",
230
+ fileSignatures: {
231
+ signed: typeof fileSignatures?.signed === "number" ? fileSignatures.signed : 0,
232
+ skipped: typeof fileSignatures?.skipped === "number" ? fileSignatures.skipped : 0,
233
+ },
221
234
  },
222
235
  graphJsonSchema: "codegraph.graph-json",
223
236
  };
@@ -316,6 +329,7 @@ function outputIgnoreGlobs(root, outDir) {
316
329
  }
317
330
  export function buildCodegraphGraphJson(snapshot) {
318
331
  const symbolIds = buildPortableSymbolIdMap(snapshot);
332
+ const symbolPositions = buildPortableSymbolPositions(snapshot, symbolIds);
319
333
  const portableSymbolId = (id) => symbolIds.get(id) ?? id;
320
334
  const graph = {
321
335
  files: [...snapshot.fileGraph.nodes].map((file) => normalizeAgentFilePath(snapshot.root, file)).sort(),
@@ -331,9 +345,26 @@ export function buildCodegraphGraphJson(snapshot) {
331
345
  const fromDelta = left.from.localeCompare(right.from);
332
346
  if (fromDelta !== 0)
333
347
  return fromDelta;
348
+ const leftToType = left.to.type;
349
+ const rightToType = right.to.type;
350
+ const toTypeDelta = leftToType.localeCompare(rightToType);
351
+ if (toTypeDelta !== 0)
352
+ return toTypeDelta;
334
353
  const leftTo = left.to.type === "file" ? left.to.path : left.to.name;
335
354
  const rightTo = right.to.type === "file" ? right.to.path : right.to.name;
336
- return leftTo.localeCompare(rightTo);
355
+ const toDelta = leftTo.localeCompare(rightTo);
356
+ if (toDelta !== 0)
357
+ return toDelta;
358
+ const rawDelta = left.raw.localeCompare(right.raw);
359
+ if (rawDelta !== 0)
360
+ return rawDelta;
361
+ const typeOnlyDelta = Number(left.typeOnly ?? false) - Number(right.typeOnly ?? false);
362
+ if (typeOnlyDelta !== 0)
363
+ return typeOnlyDelta;
364
+ const resolvedDelta = (left.resolved ?? "").localeCompare(right.resolved ?? "");
365
+ if (resolvedDelta !== 0)
366
+ return resolvedDelta;
367
+ return (left.confidence ?? -1) - (right.confidence ?? -1);
337
368
  }),
338
369
  symbols: [...snapshot.symbolGraph.nodes.values()]
339
370
  .map((node) => ({
@@ -345,7 +376,21 @@ export function buildCodegraphGraphJson(snapshot) {
345
376
  const fileDelta = left.file.localeCompare(right.file);
346
377
  if (fileDelta !== 0)
347
378
  return fileDelta;
348
- return left.name.localeCompare(right.name);
379
+ const nameDelta = left.name.localeCompare(right.name);
380
+ if (nameDelta !== 0)
381
+ return nameDelta;
382
+ const kindDelta = left.kind.localeCompare(right.kind);
383
+ if (kindDelta !== 0)
384
+ return kindDelta;
385
+ const leftPosition = symbolPositions.get(left.id) ?? ZERO_SYMBOL_POSITION;
386
+ const rightPosition = symbolPositions.get(right.id) ?? ZERO_SYMBOL_POSITION;
387
+ const lineDelta = leftPosition.line - rightPosition.line;
388
+ if (lineDelta !== 0)
389
+ return lineDelta;
390
+ const columnDelta = leftPosition.column - rightPosition.column;
391
+ if (columnDelta !== 0)
392
+ return columnDelta;
393
+ return left.id.localeCompare(right.id);
349
394
  }),
350
395
  symbolEdges: [...snapshot.symbolGraph.edges]
351
396
  .map((edge) => ({
@@ -360,7 +405,10 @@ export function buildCodegraphGraphJson(snapshot) {
360
405
  const toDelta = left.to.localeCompare(right.to);
361
406
  if (toDelta !== 0)
362
407
  return toDelta;
363
- return (left.label ?? "").localeCompare(right.label ?? "");
408
+ const labelDelta = (left.label ?? "").localeCompare(right.label ?? "");
409
+ if (labelDelta !== 0)
410
+ return labelDelta;
411
+ return compareSymbolEdgeSites(snapshot.root, left.site, right.site);
364
412
  }),
365
413
  };
366
414
  return {
@@ -373,6 +421,49 @@ export function buildCodegraphGraphJson(snapshot) {
373
421
  graph,
374
422
  };
375
423
  }
424
+ const ZERO_SYMBOL_POSITION = { line: 0, column: 0 };
425
+ function buildPortableSymbolPositions(snapshot, symbolIds) {
426
+ const positions = new Map();
427
+ for (const moduleIndex of snapshot.index.byFile.values()) {
428
+ for (const local of moduleIndex.locals) {
429
+ const portableId = symbolIds.get(defNodeId(local));
430
+ if (!portableId)
431
+ continue;
432
+ positions.set(portableId, {
433
+ line: local.range.start.line,
434
+ column: local.range.start.column,
435
+ });
436
+ }
437
+ }
438
+ return positions;
439
+ }
440
+ function compareSymbolEdgeSites(root, left, right) {
441
+ if (!left && !right)
442
+ return 0;
443
+ if (!left)
444
+ return -1;
445
+ if (!right)
446
+ return 1;
447
+ const fileDelta = normalizeAgentFilePath(root, left.file).localeCompare(normalizeAgentFilePath(root, right.file));
448
+ if (fileDelta !== 0)
449
+ return fileDelta;
450
+ const startLineDelta = left.range.start.line - right.range.start.line;
451
+ if (startLineDelta !== 0)
452
+ return startLineDelta;
453
+ const startColumnDelta = left.range.start.column - right.range.start.column;
454
+ if (startColumnDelta !== 0)
455
+ return startColumnDelta;
456
+ const startIndexDelta = (left.range.start.index ?? -1) - (right.range.start.index ?? -1);
457
+ if (startIndexDelta !== 0)
458
+ return startIndexDelta;
459
+ const endLineDelta = left.range.end.line - right.range.end.line;
460
+ if (endLineDelta !== 0)
461
+ return endLineDelta;
462
+ const endColumnDelta = left.range.end.column - right.range.end.column;
463
+ if (endColumnDelta !== 0)
464
+ return endColumnDelta;
465
+ return (left.range.end.index ?? -1) - (right.range.end.index ?? -1);
466
+ }
376
467
  function buildPortableSymbolIdMap(snapshot) {
377
468
  const byId = new Map();
378
469
  const graphNodeIds = new Set();
@@ -1 +1 @@
1
- {"version":3,"file":"artifact.js","sourceRoot":"","sources":["../../src/agent/artifact.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"artifact.js","sourceRoot":"","sources":["../../src/agent/artifact.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { ProjectIndex, SymbolHandle } from "../indexer/types.js";
2
+ export type RenameCandidateTest = {
3
+ file: string;
4
+ confidence: "high" | "medium" | "low";
5
+ reason: string;
6
+ };
7
+ export type CandidateTestShapingResult = {
8
+ candidateTests: RenameCandidateTest[];
9
+ omittedCandidateTests: number;
10
+ };
11
+ export declare function shapeCandidateTests(index: ProjectIndex, projectRoot: string, files: readonly string[], definitionHandles: readonly (SymbolHandle | string)[], limit?: number): CandidateTestShapingResult;
12
+ //# sourceMappingURL=candidateTests.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"candidateTests.d.ts","sourceRoot":"","sources":["../../src/agent/candidateTests.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGtE,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACtC,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,cAAc,EAAE,mBAAmB,EAAE,CAAC;IACtC,qBAAqB,EAAE,MAAM,CAAC;CAC/B,CAAC;AAEF,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,YAAY,EACnB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,iBAAiB,EAAE,SAAS,CAAC,YAAY,GAAG,MAAM,CAAC,EAAE,EACrD,KAAK,SAAM,GACV,0BAA0B,CAc5B"}
@@ -0,0 +1,17 @@
1
+ import { boundList } from "../presentation/bounds.js";
2
+ import { listCandidateTestFiles } from "../impact/index.js";
3
+ import { normalizeAgentFilePath } from "./normalize.js";
4
+ export function shapeCandidateTests(index, projectRoot, files, definitionHandles, limit = 100) {
5
+ const allCandidateTests = listCandidateTestFiles(index, [...files], definitionHandles.map(String), {
6
+ maxCandidates: limit + 1,
7
+ projectRoot,
8
+ });
9
+ const bounded = boundList(allCandidateTests, limit);
10
+ const candidateTests = bounded.items.map((candidate) => ({
11
+ file: normalizeAgentFilePath(projectRoot, candidate.file),
12
+ confidence: candidate.confidence,
13
+ reason: candidate.reason,
14
+ }));
15
+ return { candidateTests, omittedCandidateTests: bounded.omitted };
16
+ }
17
+ //# sourceMappingURL=candidateTests.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"candidateTests.js","sourceRoot":"","sources":["../../src/agent/candidateTests.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAE5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAaxD,MAAM,UAAU,mBAAmB,CACjC,KAAmB,EACnB,WAAmB,EACnB,KAAwB,EACxB,iBAAqD,EACrD,KAAK,GAAG,GAAG;IAEX,MAAM,iBAAiB,GAAG,sBAAsB,CAAC,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,EAAE,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;QACjG,aAAa,EAAE,KAAK,GAAG,CAAC;QACxB,WAAW;KACZ,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,SAAS,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;IACpD,MAAM,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CACtC,CAAC,SAAS,EAAuB,EAAE,CAAC,CAAC;QACnC,IAAI,EAAE,sBAAsB,CAAC,WAAW,EAAE,SAAS,CAAC,IAAI,CAAC;QACzD,UAAU,EAAE,SAAS,CAAC,UAAU;QAChC,MAAM,EAAE,SAAS,CAAC,MAAM;KACzB,CAAC,CACH,CAAC;IACF,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;AACpE,CAAC"}
@@ -128,6 +128,9 @@ export type AgentExplanation = {
128
128
  duplicates: number;
129
129
  snippets: number;
130
130
  };
131
+ omittedCountsLowerBounds: {
132
+ references: boolean;
133
+ };
131
134
  changedContext?: AgentExplanationChangedContext;
132
135
  };
133
136
  export declare function explainCodegraphTarget(request: AgentExplainTarget): Promise<AgentExplanation>;