@lzehrung/codegraph 3.0.1 → 3.1.0

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 (630) hide show
  1. package/README.md +17 -17
  2. package/codegraph-skill/codegraph/SKILL.md +3 -0
  3. package/dist/agent/artifact.d.ts.map +1 -1
  4. package/dist/agent/artifact.js +4 -9
  5. package/dist/agent/artifact.js.map +1 -1
  6. package/dist/agent/call-hierarchy.d.ts +4 -2
  7. package/dist/agent/call-hierarchy.d.ts.map +1 -1
  8. package/dist/agent/call-hierarchy.js +20 -29
  9. package/dist/agent/call-hierarchy.js.map +1 -1
  10. package/dist/agent/explain.d.ts.map +1 -1
  11. package/dist/agent/explain.js +12 -11
  12. package/dist/agent/explain.js.map +1 -1
  13. package/dist/agent/explore.d.ts.map +1 -1
  14. package/dist/agent/explore.js +2 -11
  15. package/dist/agent/explore.js.map +1 -1
  16. package/dist/agent/file-view.d.ts.map +1 -1
  17. package/dist/agent/file-view.js +4 -12
  18. package/dist/agent/file-view.js.map +1 -1
  19. package/dist/agent/normalize.d.ts +0 -3
  20. package/dist/agent/normalize.d.ts.map +1 -1
  21. package/dist/agent/normalize.js +1 -7
  22. package/dist/agent/normalize.js.map +1 -1
  23. package/dist/agent/orient.d.ts.map +1 -1
  24. package/dist/agent/orient.js +2 -6
  25. package/dist/agent/orient.js.map +1 -1
  26. package/dist/agent/packet.d.ts.map +1 -1
  27. package/dist/agent/packet.js +2 -5
  28. package/dist/agent/packet.js.map +1 -1
  29. package/dist/agent/query-index/content.d.ts.map +1 -1
  30. package/dist/agent/query-index/content.js +2 -6
  31. package/dist/agent/query-index/content.js.map +1 -1
  32. package/dist/agent/query-index/update.d.ts.map +1 -1
  33. package/dist/agent/query-index/update.js +8 -45
  34. package/dist/agent/query-index/update.js.map +1 -1
  35. package/dist/agent/query-index/worker-pool.d.ts.map +1 -1
  36. package/dist/agent/query-index/worker-pool.js +2 -1
  37. package/dist/agent/query-index/worker-pool.js.map +1 -1
  38. package/dist/agent/refactor-plan.d.ts +2 -2
  39. package/dist/agent/refactor-plan.d.ts.map +1 -1
  40. package/dist/agent/refactor-plan.js +11 -57
  41. package/dist/agent/refactor-plan.js.map +1 -1
  42. package/dist/agent/rename-preview.d.ts.map +1 -1
  43. package/dist/agent/rename-preview.js +166 -23
  44. package/dist/agent/rename-preview.js.map +1 -1
  45. package/dist/agent/search.d.ts.map +1 -1
  46. package/dist/agent/search.js +7 -22
  47. package/dist/agent/search.js.map +1 -1
  48. package/dist/agent/semantic-symbols.d.ts +1 -1
  49. package/dist/agent/semantic-symbols.d.ts.map +1 -1
  50. package/dist/agent/semantic-symbols.js +2 -5
  51. package/dist/agent/semantic-symbols.js.map +1 -1
  52. package/dist/agent/semantic.d.ts +5 -0
  53. package/dist/agent/semantic.d.ts.map +1 -1
  54. package/dist/agent/semantic.js +12 -1
  55. package/dist/agent/semantic.js.map +1 -1
  56. package/dist/agent/session.d.ts +9 -0
  57. package/dist/agent/session.d.ts.map +1 -1
  58. package/dist/agent/session.js +59 -41
  59. package/dist/agent/session.js.map +1 -1
  60. package/dist/agent/type-hierarchy.d.ts +4 -2
  61. package/dist/agent/type-hierarchy.d.ts.map +1 -1
  62. package/dist/agent/type-hierarchy.js +19 -31
  63. package/dist/agent/type-hierarchy.js.map +1 -1
  64. package/dist/agent/workspace-symbols.d.ts +1 -1
  65. package/dist/agent/workspace-symbols.d.ts.map +1 -1
  66. package/dist/agent/workspace-symbols.js +7 -15
  67. package/dist/agent/workspace-symbols.js.map +1 -1
  68. package/dist/analysis-summary.d.ts +1 -4
  69. package/dist/analysis-summary.d.ts.map +1 -1
  70. package/dist/analysis-summary.js +58 -19
  71. package/dist/analysis-summary.js.map +1 -1
  72. package/dist/bin/cli.js +35471 -23021
  73. package/dist/bin/query-index-worker.js +268 -241
  74. package/dist/bootstrap/tree-sitter-languages.d.ts +2 -0
  75. package/dist/bootstrap/tree-sitter-languages.d.ts.map +1 -1
  76. package/dist/bootstrap/tree-sitter-languages.js +6 -19
  77. package/dist/bootstrap/tree-sitter-languages.js.map +1 -1
  78. package/dist/chunking/chunk-matches.d.ts.map +1 -1
  79. package/dist/chunking/chunk-matches.js +6 -42
  80. package/dist/chunking/chunk-matches.js.map +1 -1
  81. package/dist/chunking/chunk-split.d.ts +7 -0
  82. package/dist/chunking/chunk-split.d.ts.map +1 -1
  83. package/dist/chunking/chunk-split.js +3 -3
  84. package/dist/chunking/chunk-split.js.map +1 -1
  85. package/dist/chunking/chunk-text-file.js +2 -30
  86. package/dist/chunking/chunk-text-file.js.map +1 -1
  87. package/dist/cli/affected.d.ts.map +1 -1
  88. package/dist/cli/affected.js +1 -9
  89. package/dist/cli/affected.js.map +1 -1
  90. package/dist/cli/call-hierarchy.js +3 -6
  91. package/dist/cli/call-hierarchy.js.map +1 -1
  92. package/dist/cli/chunk.d.ts.map +1 -1
  93. package/dist/cli/chunk.js +4 -11
  94. package/dist/cli/chunk.js.map +1 -1
  95. package/dist/cli/command-table.d.ts.map +1 -1
  96. package/dist/cli/command-table.js +3 -0
  97. package/dist/cli/command-table.js.map +1 -1
  98. package/dist/cli/context.d.ts +1 -0
  99. package/dist/cli/context.d.ts.map +1 -1
  100. package/dist/cli/context.js +1 -1
  101. package/dist/cli/context.js.map +1 -1
  102. package/dist/cli/doctor.d.ts.map +1 -1
  103. package/dist/cli/doctor.js +1 -11
  104. package/dist/cli/doctor.js.map +1 -1
  105. package/dist/cli/graph.d.ts +4 -12
  106. package/dist/cli/graph.d.ts.map +1 -1
  107. package/dist/cli/graph.js +17 -8
  108. package/dist/cli/graph.js.map +1 -1
  109. package/dist/cli/help.d.ts +3 -3
  110. package/dist/cli/help.d.ts.map +1 -1
  111. package/dist/cli/help.js +6 -4
  112. package/dist/cli/help.js.map +1 -1
  113. package/dist/cli/index.d.ts +2 -12
  114. package/dist/cli/index.d.ts.map +1 -1
  115. package/dist/cli/index.js +2 -5
  116. package/dist/cli/index.js.map +1 -1
  117. package/dist/cli/links.d.ts.map +1 -1
  118. package/dist/cli/links.js +4 -10
  119. package/dist/cli/links.js.map +1 -1
  120. package/dist/cli/mcp.d.ts.map +1 -1
  121. package/dist/cli/mcp.js +1 -0
  122. package/dist/cli/mcp.js.map +1 -1
  123. package/dist/cli/module-locals.d.ts +8 -0
  124. package/dist/cli/module-locals.d.ts.map +1 -0
  125. package/dist/cli/module-locals.js +9 -0
  126. package/dist/cli/module-locals.js.map +1 -0
  127. package/dist/cli/navigation.d.ts +2 -0
  128. package/dist/cli/navigation.d.ts.map +1 -1
  129. package/dist/cli/navigation.js +3 -5
  130. package/dist/cli/navigation.js.map +1 -1
  131. package/dist/cli/options.d.ts.map +1 -1
  132. package/dist/cli/options.js +2 -1
  133. package/dist/cli/options.js.map +1 -1
  134. package/dist/cli/pretty.d.ts +1 -0
  135. package/dist/cli/pretty.d.ts.map +1 -1
  136. package/dist/cli/pretty.js +6 -8
  137. package/dist/cli/pretty.js.map +1 -1
  138. package/dist/cli/refactor-plan.js +2 -5
  139. package/dist/cli/refactor-plan.js.map +1 -1
  140. package/dist/cli/rename-preview.js +2 -5
  141. package/dist/cli/rename-preview.js.map +1 -1
  142. package/dist/cli/review.d.ts +6 -16
  143. package/dist/cli/review.d.ts.map +1 -1
  144. package/dist/cli/review.js +2 -0
  145. package/dist/cli/review.js.map +1 -1
  146. package/dist/cli/server.d.ts.map +1 -1
  147. package/dist/cli/server.js +7 -10
  148. package/dist/cli/server.js.map +1 -1
  149. package/dist/cli/type-hierarchy.js +8 -8
  150. package/dist/cli/type-hierarchy.js.map +1 -1
  151. package/dist/document-links/asciidoc.d.ts.map +1 -1
  152. package/dist/document-links/asciidoc.js +4 -16
  153. package/dist/document-links/asciidoc.js.map +1 -1
  154. package/dist/document-links/check.d.ts.map +1 -1
  155. package/dist/document-links/check.js +1 -3
  156. package/dist/document-links/check.js.map +1 -1
  157. package/dist/document-links/html.d.ts.map +1 -1
  158. package/dist/document-links/html.js +6 -44
  159. package/dist/document-links/html.js.map +1 -1
  160. package/dist/document-links/markdown.d.ts.map +1 -1
  161. package/dist/document-links/markdown.js +4 -13
  162. package/dist/document-links/markdown.js.map +1 -1
  163. package/dist/document-links/rst.d.ts.map +1 -1
  164. package/dist/document-links/rst.js +7 -31
  165. package/dist/document-links/rst.js.map +1 -1
  166. package/dist/document-links/sfc.d.ts.map +1 -1
  167. package/dist/document-links/sfc.js +2 -5
  168. package/dist/document-links/sfc.js.map +1 -1
  169. package/dist/document-links/shared.d.ts +2 -0
  170. package/dist/document-links/shared.d.ts.map +1 -1
  171. package/dist/document-links/shared.js +13 -0
  172. package/dist/document-links/shared.js.map +1 -1
  173. package/dist/drift/artifact.d.ts.map +1 -1
  174. package/dist/drift/artifact.js +4 -27
  175. package/dist/drift/artifact.js.map +1 -1
  176. package/dist/drift/graph-edges.d.ts +4 -0
  177. package/dist/drift/graph-edges.d.ts.map +1 -0
  178. package/dist/drift/graph-edges.js +15 -0
  179. package/dist/drift/graph-edges.js.map +1 -0
  180. package/dist/drift/snapshot.d.ts.map +1 -1
  181. package/dist/drift/snapshot.js +2 -17
  182. package/dist/drift/snapshot.js.map +1 -1
  183. package/dist/duplicates/unit-cache.d.ts +11 -1
  184. package/dist/duplicates/unit-cache.d.ts.map +1 -1
  185. package/dist/duplicates/unit-cache.js +20 -2
  186. package/dist/duplicates/unit-cache.js.map +1 -1
  187. package/dist/duplicates/units.d.ts +2 -1
  188. package/dist/duplicates/units.d.ts.map +1 -1
  189. package/dist/duplicates/units.js +23 -22
  190. package/dist/duplicates/units.js.map +1 -1
  191. package/dist/graph-builder.d.ts +1 -1
  192. package/dist/graph-builder.d.ts.map +1 -1
  193. package/dist/graph-builder.js +3 -2
  194. package/dist/graph-builder.js.map +1 -1
  195. package/dist/graph-edge-collector.d.ts +3 -1
  196. package/dist/graph-edge-collector.d.ts.map +1 -1
  197. package/dist/graph-edge-collector.js +38 -6
  198. package/dist/graph-edge-collector.js.map +1 -1
  199. package/dist/graphs/angularjs.d.ts.map +1 -1
  200. package/dist/graphs/angularjs.js +2 -9
  201. package/dist/graphs/angularjs.js.map +1 -1
  202. package/dist/graphs/edge-resolution.d.ts +4 -0
  203. package/dist/graphs/edge-resolution.d.ts.map +1 -1
  204. package/dist/graphs/edge-resolution.js +2 -0
  205. package/dist/graphs/edge-resolution.js.map +1 -1
  206. package/dist/graphs/external/manifests.d.ts.map +1 -1
  207. package/dist/graphs/external/manifests.js +1 -6
  208. package/dist/graphs/external/manifests.js.map +1 -1
  209. package/dist/graphs/specifiers.d.ts.map +1 -1
  210. package/dist/graphs/specifiers.js +47 -26
  211. package/dist/graphs/specifiers.js.map +1 -1
  212. package/dist/graphs/symbol-graph-detailed/edge-passes.d.ts +2 -0
  213. package/dist/graphs/symbol-graph-detailed/edge-passes.d.ts.map +1 -1
  214. package/dist/graphs/symbol-graph-detailed/edge-passes.js +9 -3
  215. package/dist/graphs/symbol-graph-detailed/edge-passes.js.map +1 -1
  216. package/dist/graphs/symbol-graph-detailed/receiver-calls.d.ts +3 -3
  217. package/dist/graphs/symbol-graph-detailed/receiver-calls.d.ts.map +1 -1
  218. package/dist/graphs/symbol-graph-detailed/receiver-calls.js +2 -26
  219. package/dist/graphs/symbol-graph-detailed/receiver-calls.js.map +1 -1
  220. package/dist/graphs/symbol-graph-detailed.d.ts.map +1 -1
  221. package/dist/graphs/symbol-graph-detailed.js +38 -1
  222. package/dist/graphs/symbol-graph-detailed.js.map +1 -1
  223. package/dist/impact/analyzer.d.ts.map +1 -1
  224. package/dist/impact/analyzer.js +23 -17
  225. package/dist/impact/analyzer.js.map +1 -1
  226. package/dist/impact/budgets.d.ts.map +1 -1
  227. package/dist/impact/budgets.js +3 -9
  228. package/dist/impact/budgets.js.map +1 -1
  229. package/dist/impact/call-compatibility.d.ts.map +1 -1
  230. package/dist/impact/call-compatibility.js +3 -12
  231. package/dist/impact/call-compatibility.js.map +1 -1
  232. package/dist/impact/context.d.ts +6 -0
  233. package/dist/impact/context.d.ts.map +1 -1
  234. package/dist/impact/context.js +2 -2
  235. package/dist/impact/context.js.map +1 -1
  236. package/dist/impact/direct.d.ts.map +1 -1
  237. package/dist/impact/direct.js +2 -6
  238. package/dist/impact/direct.js.map +1 -1
  239. package/dist/impact/map.d.ts +3 -1
  240. package/dist/impact/map.d.ts.map +1 -1
  241. package/dist/impact/map.js +12 -5
  242. package/dist/impact/map.js.map +1 -1
  243. package/dist/impact/reference-cache.d.ts.map +1 -1
  244. package/dist/impact/reference-cache.js +1 -24
  245. package/dist/impact/reference-cache.js.map +1 -1
  246. package/dist/impact/report-shared.d.ts +2 -1
  247. package/dist/impact/report-shared.d.ts.map +1 -1
  248. package/dist/impact/report-shared.js +10 -0
  249. package/dist/impact/report-shared.js.map +1 -1
  250. package/dist/impact/report-suggestions.d.ts.map +1 -1
  251. package/dist/impact/report-suggestions.js +2 -8
  252. package/dist/impact/report-suggestions.js.map +1 -1
  253. package/dist/impact/report.d.ts.map +1 -1
  254. package/dist/impact/report.js +2 -8
  255. package/dist/impact/report.js.map +1 -1
  256. package/dist/impact/streaming.d.ts.map +1 -1
  257. package/dist/impact/streaming.js +3 -8
  258. package/dist/impact/streaming.js.map +1 -1
  259. package/dist/indexer/build-cache/manifest.d.ts.map +1 -1
  260. package/dist/indexer/build-cache/manifest.js +10 -108
  261. package/dist/indexer/build-cache/manifest.js.map +1 -1
  262. package/dist/indexer/build-cache/module-cache.d.ts +6 -1
  263. package/dist/indexer/build-cache/module-cache.d.ts.map +1 -1
  264. package/dist/indexer/build-cache/module-cache.js +25 -2
  265. package/dist/indexer/build-cache/module-cache.js.map +1 -1
  266. package/dist/indexer/build-cache/options.d.ts +38 -1
  267. package/dist/indexer/build-cache/options.d.ts.map +1 -1
  268. package/dist/indexer/build-cache/options.js +38 -1
  269. package/dist/indexer/build-cache/options.js.map +1 -1
  270. package/dist/indexer/build-cache/project-snapshot.d.ts.map +1 -1
  271. package/dist/indexer/build-cache/project-snapshot.js +48 -99
  272. package/dist/indexer/build-cache/project-snapshot.js.map +1 -1
  273. package/dist/indexer/build-cache/reports.d.ts +1 -0
  274. package/dist/indexer/build-cache/reports.d.ts.map +1 -1
  275. package/dist/indexer/build-cache/reports.js +10 -0
  276. package/dist/indexer/build-cache/reports.js.map +1 -1
  277. package/dist/indexer/build-index.d.ts +2 -0
  278. package/dist/indexer/build-index.d.ts.map +1 -1
  279. package/dist/indexer/build-index.js +187 -57
  280. package/dist/indexer/build-index.js.map +1 -1
  281. package/dist/indexer/build-workers.d.ts +7 -1
  282. package/dist/indexer/build-workers.d.ts.map +1 -1
  283. package/dist/indexer/build-workers.js +12 -0
  284. package/dist/indexer/build-workers.js.map +1 -1
  285. package/dist/indexer/call-hierarchy.d.ts.map +1 -1
  286. package/dist/indexer/call-hierarchy.js +5 -17
  287. package/dist/indexer/call-hierarchy.js.map +1 -1
  288. package/dist/indexer/compilation-units.d.ts +32 -20
  289. package/dist/indexer/compilation-units.d.ts.map +1 -1
  290. package/dist/indexer/compilation-units.js +139 -145
  291. package/dist/indexer/compilation-units.js.map +1 -1
  292. package/dist/indexer/cpp-callables.d.ts.map +1 -1
  293. package/dist/indexer/cpp-callables.js +2 -7
  294. package/dist/indexer/cpp-callables.js.map +1 -1
  295. package/dist/indexer/import-types.d.ts +5 -0
  296. package/dist/indexer/import-types.d.ts.map +1 -1
  297. package/dist/indexer/import-types.js.map +1 -1
  298. package/dist/indexer/imports/binding-ranges.d.ts +5 -12
  299. package/dist/indexer/imports/binding-ranges.d.ts.map +1 -1
  300. package/dist/indexer/imports/binding-ranges.js +13 -19
  301. package/dist/indexer/imports/binding-ranges.js.map +1 -1
  302. package/dist/indexer/imports/context.d.ts +6 -0
  303. package/dist/indexer/imports/context.d.ts.map +1 -1
  304. package/dist/indexer/imports/import-binding-tables.d.ts +28 -13
  305. package/dist/indexer/imports/import-binding-tables.d.ts.map +1 -1
  306. package/dist/indexer/imports/import-binding-tables.js +179 -178
  307. package/dist/indexer/imports/import-binding-tables.js.map +1 -1
  308. package/dist/indexer/imports/js-text-imports.d.ts +0 -1
  309. package/dist/indexer/imports/js-text-imports.d.ts.map +1 -1
  310. package/dist/indexer/imports/js-text-imports.js +0 -176
  311. package/dist/indexer/imports/js-text-imports.js.map +1 -1
  312. package/dist/indexer/imports/language-specific.d.ts.map +1 -1
  313. package/dist/indexer/imports/language-specific.js +4 -8
  314. package/dist/indexer/imports/language-specific.js.map +1 -1
  315. package/dist/indexer/imports/python.d.ts +0 -1
  316. package/dist/indexer/imports/python.d.ts.map +1 -1
  317. package/dist/indexer/imports/python.js +1 -29
  318. package/dist/indexer/imports/python.js.map +1 -1
  319. package/dist/indexer/imports/text-import-extractors.d.ts +2 -9
  320. package/dist/indexer/imports/text-import-extractors.d.ts.map +1 -1
  321. package/dist/indexer/imports/text-import-extractors.js +0 -284
  322. package/dist/indexer/imports/text-import-extractors.js.map +1 -1
  323. package/dist/indexer/imports.d.ts +15 -0
  324. package/dist/indexer/imports.d.ts.map +1 -1
  325. package/dist/indexer/imports.js +82 -44
  326. package/dist/indexer/imports.js.map +1 -1
  327. package/dist/indexer/incremental-plan.d.ts +0 -1
  328. package/dist/indexer/incremental-plan.d.ts.map +1 -1
  329. package/dist/indexer/incremental-plan.js +6 -12
  330. package/dist/indexer/incremental-plan.js.map +1 -1
  331. package/dist/indexer/name-lookup-policies/implicit-self.d.ts.map +1 -1
  332. package/dist/indexer/name-lookup-policies/implicit-self.js +25 -4
  333. package/dist/indexer/name-lookup-policies/implicit-self.js.map +1 -1
  334. package/dist/indexer/name-resolution-types.d.ts +5 -0
  335. package/dist/indexer/name-resolution-types.d.ts.map +1 -1
  336. package/dist/indexer/name-resolution.d.ts.map +1 -1
  337. package/dist/indexer/name-resolution.js +2 -0
  338. package/dist/indexer/name-resolution.js.map +1 -1
  339. package/dist/indexer/navigation-cpp.d.ts.map +1 -1
  340. package/dist/indexer/navigation-cpp.js +3 -5
  341. package/dist/indexer/navigation-cpp.js.map +1 -1
  342. package/dist/indexer/navigation-goto.d.ts +49 -3
  343. package/dist/indexer/navigation-goto.d.ts.map +1 -1
  344. package/dist/indexer/navigation-goto.js +500 -106
  345. package/dist/indexer/navigation-goto.js.map +1 -1
  346. package/dist/indexer/navigation-local.d.ts +7 -0
  347. package/dist/indexer/navigation-local.d.ts.map +1 -1
  348. package/dist/indexer/navigation-local.js +22 -2
  349. package/dist/indexer/navigation-local.js.map +1 -1
  350. package/dist/indexer/navigation-php.d.ts +0 -1
  351. package/dist/indexer/navigation-php.d.ts.map +1 -1
  352. package/dist/indexer/navigation-php.js +1 -7
  353. package/dist/indexer/navigation-php.js.map +1 -1
  354. package/dist/indexer/navigation-references.d.ts +1 -0
  355. package/dist/indexer/navigation-references.d.ts.map +1 -1
  356. package/dist/indexer/navigation-references.js +134 -23
  357. package/dist/indexer/navigation-references.js.map +1 -1
  358. package/dist/indexer/navigation-resolve.d.ts +22 -0
  359. package/dist/indexer/navigation-resolve.d.ts.map +1 -1
  360. package/dist/indexer/navigation-resolve.js +73 -8
  361. package/dist/indexer/navigation-resolve.js.map +1 -1
  362. package/dist/indexer/navigation.d.ts +4 -1
  363. package/dist/indexer/navigation.d.ts.map +1 -1
  364. package/dist/indexer/navigation.js +398 -95
  365. package/dist/indexer/navigation.js.map +1 -1
  366. package/dist/indexer/python-property-decorator.d.ts +11 -0
  367. package/dist/indexer/python-property-decorator.d.ts.map +1 -0
  368. package/dist/indexer/python-property-decorator.js +30 -0
  369. package/dist/indexer/python-property-decorator.js.map +1 -0
  370. package/dist/indexer/shared-owner-identity.d.ts +3 -1
  371. package/dist/indexer/shared-owner-identity.d.ts.map +1 -1
  372. package/dist/indexer/shared-owner-identity.js +40 -12
  373. package/dist/indexer/shared-owner-identity.js.map +1 -1
  374. package/dist/indexer/shared.d.ts +10 -0
  375. package/dist/indexer/shared.d.ts.map +1 -1
  376. package/dist/indexer/shared.js +8 -0
  377. package/dist/indexer/shared.js.map +1 -1
  378. package/dist/indexer/star-import-precedence.d.ts +5 -1
  379. package/dist/indexer/star-import-precedence.d.ts.map +1 -1
  380. package/dist/indexer/star-import-precedence.js +12 -19
  381. package/dist/indexer/star-import-precedence.js.map +1 -1
  382. package/dist/indexer/type-hierarchy.d.ts.map +1 -1
  383. package/dist/indexer/type-hierarchy.js +8 -9
  384. package/dist/indexer/type-hierarchy.js.map +1 -1
  385. package/dist/indexer/types.d.ts +49 -1
  386. package/dist/indexer/types.d.ts.map +1 -1
  387. package/dist/indexer/types.js.map +1 -1
  388. package/dist/indexer/workspace-symbols.d.ts.map +1 -1
  389. package/dist/indexer/workspace-symbols.js +3 -13
  390. package/dist/indexer/workspace-symbols.js.map +1 -1
  391. package/dist/installer/locks.d.ts +1 -0
  392. package/dist/installer/locks.d.ts.map +1 -1
  393. package/dist/installer/locks.js +4 -8
  394. package/dist/installer/locks.js.map +1 -1
  395. package/dist/installer/registry.d.ts.map +1 -1
  396. package/dist/installer/registry.js +9 -15
  397. package/dist/installer/registry.js.map +1 -1
  398. package/dist/languages/callable-arity.d.ts.map +1 -1
  399. package/dist/languages/callable-arity.js +1 -38
  400. package/dist/languages/callable-arity.js.map +1 -1
  401. package/dist/languages/definitions/csharp.d.ts.map +1 -1
  402. package/dist/languages/definitions/csharp.js +5 -13
  403. package/dist/languages/definitions/csharp.js.map +1 -1
  404. package/dist/languages/definitions/java.d.ts.map +1 -1
  405. package/dist/languages/definitions/java.js +4 -13
  406. package/dist/languages/definitions/java.js.map +1 -1
  407. package/dist/languages/definitions/kotlin.d.ts.map +1 -1
  408. package/dist/languages/definitions/kotlin.js +4 -8
  409. package/dist/languages/definitions/kotlin.js.map +1 -1
  410. package/dist/languages/definitions/python.d.ts.map +1 -1
  411. package/dist/languages/definitions/python.js +5 -3
  412. package/dist/languages/definitions/python.js.map +1 -1
  413. package/dist/languages/import-statement-parsers.d.ts +0 -30
  414. package/dist/languages/import-statement-parsers.d.ts.map +1 -1
  415. package/dist/languages/import-statement-parsers.js +1 -81
  416. package/dist/languages/import-statement-parsers.js.map +1 -1
  417. package/dist/languages/sfc.d.ts.map +1 -1
  418. package/dist/languages/sfc.js +8 -43
  419. package/dist/languages/sfc.js.map +1 -1
  420. package/dist/lifecycle/manifest.d.ts.map +1 -1
  421. package/dist/lifecycle/manifest.js +11 -29
  422. package/dist/lifecycle/manifest.js.map +1 -1
  423. package/dist/mcp/handlers.d.ts +21 -0
  424. package/dist/mcp/handlers.d.ts.map +1 -1
  425. package/dist/mcp/handlers.js +66 -20
  426. package/dist/mcp/handlers.js.map +1 -1
  427. package/dist/mcp/http-transport.d.ts.map +1 -1
  428. package/dist/mcp/http-transport.js +5 -1
  429. package/dist/mcp/http-transport.js.map +1 -1
  430. package/dist/mcp/project-watcher.d.ts +125 -0
  431. package/dist/mcp/project-watcher.d.ts.map +1 -0
  432. package/dist/mcp/project-watcher.js +643 -0
  433. package/dist/mcp/project-watcher.js.map +1 -0
  434. package/dist/mcp/server.d.ts.map +1 -1
  435. package/dist/mcp/server.js +5 -1
  436. package/dist/mcp/server.js.map +1 -1
  437. package/dist/native/byte-index.d.ts +1 -0
  438. package/dist/native/byte-index.d.ts.map +1 -1
  439. package/dist/native/byte-index.js +1 -1
  440. package/dist/native/byte-index.js.map +1 -1
  441. package/dist/native/contracts.d.ts +1 -0
  442. package/dist/native/contracts.d.ts.map +1 -1
  443. package/dist/native/native-backend-report.d.ts +2 -1
  444. package/dist/native/native-backend-report.d.ts.map +1 -1
  445. package/dist/native/native-backend-report.js +23 -0
  446. package/dist/native/native-backend-report.js.map +1 -1
  447. package/dist/native/tree-shape.d.ts +5 -7
  448. package/dist/native/tree-shape.d.ts.map +1 -1
  449. package/dist/native/tree-shape.js +11 -10
  450. package/dist/native/tree-shape.js.map +1 -1
  451. package/dist/presentation/bounds.d.ts +2 -0
  452. package/dist/presentation/bounds.d.ts.map +1 -1
  453. package/dist/presentation/bounds.js +8 -0
  454. package/dist/presentation/bounds.js.map +1 -1
  455. package/dist/review/candidates.d.ts.map +1 -1
  456. package/dist/review/candidates.js +4 -25
  457. package/dist/review/candidates.js.map +1 -1
  458. package/dist/review/report.d.ts.map +1 -1
  459. package/dist/review/report.js +4 -2
  460. package/dist/review/report.js.map +1 -1
  461. package/dist/review/summaries.d.ts.map +1 -1
  462. package/dist/review/summaries.js +14 -35
  463. package/dist/review/summaries.js.map +1 -1
  464. package/dist/review.d.ts.map +1 -1
  465. package/dist/review.js +4 -5
  466. package/dist/review.js.map +1 -1
  467. package/dist/scss/navigation.d.ts +13 -0
  468. package/dist/scss/navigation.d.ts.map +1 -0
  469. package/dist/scss/navigation.js +150 -0
  470. package/dist/scss/navigation.js.map +1 -0
  471. package/dist/scss/resolution.d.ts +190 -0
  472. package/dist/scss/resolution.d.ts.map +1 -0
  473. package/dist/scss/resolution.js +1802 -0
  474. package/dist/scss/resolution.js.map +1 -0
  475. package/dist/scss/syntax.d.ts +181 -0
  476. package/dist/scss/syntax.d.ts.map +1 -0
  477. package/dist/scss/syntax.js +1436 -0
  478. package/dist/scss/syntax.js.map +1 -0
  479. package/dist/sql/classify-sql-file.d.ts +7 -0
  480. package/dist/sql/classify-sql-file.d.ts.map +1 -1
  481. package/dist/sql/classify-sql-file.js +9 -0
  482. package/dist/sql/classify-sql-file.js.map +1 -1
  483. package/dist/sql/extract-facts.d.ts.map +1 -1
  484. package/dist/sql/extract-facts.js +517 -77
  485. package/dist/sql/extract-facts.js.map +1 -1
  486. package/dist/sql/lex.d.ts +100 -1
  487. package/dist/sql/lex.d.ts.map +1 -1
  488. package/dist/sql/lex.js +473 -11
  489. package/dist/sql/lex.js.map +1 -1
  490. package/dist/sql/lookup.d.ts +17 -0
  491. package/dist/sql/lookup.d.ts.map +1 -1
  492. package/dist/sql/lookup.js +21 -0
  493. package/dist/sql/lookup.js.map +1 -1
  494. package/dist/sql/navigation.d.ts +28 -1
  495. package/dist/sql/navigation.d.ts.map +1 -1
  496. package/dist/sql/navigation.js +474 -84
  497. package/dist/sql/navigation.js.map +1 -1
  498. package/dist/sql/object-mentions.d.ts +24 -0
  499. package/dist/sql/object-mentions.d.ts.map +1 -0
  500. package/dist/sql/object-mentions.js +233 -0
  501. package/dist/sql/object-mentions.js.map +1 -0
  502. package/dist/sql/review.d.ts +3 -0
  503. package/dist/sql/review.d.ts.map +1 -1
  504. package/dist/sql/review.js +15 -14
  505. package/dist/sql/review.js.map +1 -1
  506. package/dist/sql/routine-mentions.d.ts +61 -0
  507. package/dist/sql/routine-mentions.d.ts.map +1 -0
  508. package/dist/sql/routine-mentions.js +868 -0
  509. package/dist/sql/routine-mentions.js.map +1 -0
  510. package/dist/sql/source-graph.d.ts +18 -3
  511. package/dist/sql/source-graph.d.ts.map +1 -1
  512. package/dist/sql/source-graph.js +109 -32
  513. package/dist/sql/source-graph.js.map +1 -1
  514. package/dist/sqlite/raw-query-worker-pool.d.ts.map +1 -1
  515. package/dist/sqlite/raw-query-worker-pool.js +2 -0
  516. package/dist/sqlite/raw-query-worker-pool.js.map +1 -1
  517. package/dist/sqlite/types.d.ts +6 -5
  518. package/dist/sqlite/types.d.ts.map +1 -1
  519. package/dist/sqlite/write.d.ts.map +1 -1
  520. package/dist/sqlite/write.js.map +1 -1
  521. package/dist/sqlite-driver.d.ts +0 -1
  522. package/dist/sqlite-driver.d.ts.map +1 -1
  523. package/dist/sqlite-driver.js +0 -11
  524. package/dist/sqlite-driver.js.map +1 -1
  525. package/dist/terraform/navigation.d.ts.map +1 -1
  526. package/dist/terraform/navigation.js +1 -3
  527. package/dist/terraform/navigation.js.map +1 -1
  528. package/dist/terraform/syntax.d.ts.map +1 -1
  529. package/dist/terraform/syntax.js +1 -4
  530. package/dist/terraform/syntax.js.map +1 -1
  531. package/dist/util/ast.d.ts +5 -0
  532. package/dist/util/ast.d.ts.map +1 -1
  533. package/dist/util/ast.js +10 -0
  534. package/dist/util/ast.js.map +1 -1
  535. package/dist/util/atomic-file.d.ts +22 -0
  536. package/dist/util/atomic-file.d.ts.map +1 -0
  537. package/dist/util/atomic-file.js +106 -0
  538. package/dist/util/atomic-file.js.map +1 -0
  539. package/dist/util/collections.d.ts +5 -0
  540. package/dist/util/collections.d.ts.map +1 -1
  541. package/dist/util/collections.js +26 -0
  542. package/dist/util/collections.js.map +1 -1
  543. package/dist/util/concurrency.d.ts +1 -0
  544. package/dist/util/concurrency.d.ts.map +1 -1
  545. package/dist/util/concurrency.js +5 -0
  546. package/dist/util/concurrency.js.map +1 -1
  547. package/dist/util/confined-file.d.ts.map +1 -1
  548. package/dist/util/confined-file.js +1 -3
  549. package/dist/util/confined-file.js.map +1 -1
  550. package/dist/util/csharp-tree.d.ts +65 -0
  551. package/dist/util/csharp-tree.d.ts.map +1 -0
  552. package/dist/util/csharp-tree.js +266 -0
  553. package/dist/util/csharp-tree.js.map +1 -0
  554. package/dist/util/errors.d.ts +1 -0
  555. package/dist/util/errors.d.ts.map +1 -1
  556. package/dist/util/errors.js +3 -0
  557. package/dist/util/errors.js.map +1 -1
  558. package/dist/util/graph-edges.d.ts +2 -0
  559. package/dist/util/graph-edges.d.ts.map +1 -1
  560. package/dist/util/graph-edges.js +11 -0
  561. package/dist/util/graph-edges.js.map +1 -1
  562. package/dist/util/guards.d.ts +1 -0
  563. package/dist/util/guards.d.ts.map +1 -1
  564. package/dist/util/guards.js +6 -0
  565. package/dist/util/guards.js.map +1 -1
  566. package/dist/util/identifiers.d.ts +0 -24
  567. package/dist/util/identifiers.d.ts.map +1 -1
  568. package/dist/util/identifiers.js +0 -24
  569. package/dist/util/identifiers.js.map +1 -1
  570. package/dist/util/jvm-tree.d.ts +58 -0
  571. package/dist/util/jvm-tree.d.ts.map +1 -0
  572. package/dist/util/jvm-tree.js +153 -0
  573. package/dist/util/jvm-tree.js.map +1 -0
  574. package/dist/util/package-exports.d.ts +0 -22
  575. package/dist/util/package-exports.d.ts.map +1 -1
  576. package/dist/util/package-exports.js +25 -5
  577. package/dist/util/package-exports.js.map +1 -1
  578. package/dist/util/paths.d.ts +1 -0
  579. package/dist/util/paths.d.ts.map +1 -1
  580. package/dist/util/paths.js +10 -4
  581. package/dist/util/paths.js.map +1 -1
  582. package/dist/util/resolution/csharp.d.ts +20 -8
  583. package/dist/util/resolution/csharp.d.ts.map +1 -1
  584. package/dist/util/resolution/csharp.js +126 -127
  585. package/dist/util/resolution/csharp.js.map +1 -1
  586. package/dist/util/resolution/files.d.ts +6 -0
  587. package/dist/util/resolution/files.d.ts.map +1 -1
  588. package/dist/util/resolution/files.js +74 -21
  589. package/dist/util/resolution/files.js.map +1 -1
  590. package/dist/util/resolution/jvm.d.ts +21 -1
  591. package/dist/util/resolution/jvm.d.ts.map +1 -1
  592. package/dist/util/resolution/jvm.js +168 -100
  593. package/dist/util/resolution/jvm.js.map +1 -1
  594. package/dist/util/resolution/project-symbols.d.ts +1 -1
  595. package/dist/util/resolution/project-symbols.d.ts.map +1 -1
  596. package/dist/util/resolution/project-symbols.js.map +1 -1
  597. package/dist/util/resolution/specifier-targets.d.ts +4 -0
  598. package/dist/util/resolution/specifier-targets.d.ts.map +1 -1
  599. package/dist/util/resolution/specifier-targets.js +11 -3
  600. package/dist/util/resolution/specifier-targets.js.map +1 -1
  601. package/dist/util/resolution.d.ts.map +1 -1
  602. package/dist/util/resolution.js +21 -7
  603. package/dist/util/resolution.js.map +1 -1
  604. package/dist/util/syntax-tree.d.ts +16 -0
  605. package/dist/util/syntax-tree.d.ts.map +1 -0
  606. package/dist/util/syntax-tree.js +34 -0
  607. package/dist/util/syntax-tree.js.map +1 -0
  608. package/dist/util/text-scanning.d.ts +6 -0
  609. package/dist/util/text-scanning.d.ts.map +1 -0
  610. package/dist/util/text-scanning.js +35 -0
  611. package/dist/util/text-scanning.js.map +1 -0
  612. package/dist/util/trivia-tables.d.ts +13 -8
  613. package/dist/util/trivia-tables.d.ts.map +1 -1
  614. package/dist/util/trivia-tables.js +13 -72
  615. package/dist/util/trivia-tables.js.map +1 -1
  616. package/dist/util/trivia.d.ts +10 -3
  617. package/dist/util/trivia.d.ts.map +1 -1
  618. package/dist/util/trivia.js +209 -79
  619. package/dist/util/trivia.js.map +1 -1
  620. package/dist/util/windows-process-drain.d.ts.map +1 -1
  621. package/dist/util/windows-process-drain.js.map +1 -1
  622. package/dist/util/worker-threads.d.ts +16 -0
  623. package/dist/util/worker-threads.d.ts.map +1 -1
  624. package/dist/util/worker-threads.js +118 -0
  625. package/dist/util/worker-threads.js.map +1 -1
  626. package/dist/worker/native-worker-pool.d.ts.map +1 -1
  627. package/dist/worker/native-worker-pool.js +2 -1
  628. package/dist/worker/native-worker-pool.js.map +1 -1
  629. package/docs/mcp.md +27 -2
  630. package/package.json +7 -7
@@ -7,10 +7,10 @@ import {} from "../indexer/types.js";
7
7
  import { symbolId } from "../indexer/symbols.js";
8
8
  import { attachCallCompatibilityHints } from "../impact/call-compatibility.js";
9
9
  import { computeMemberResolutionCoverage } from "../impact/member-resolution-coverage.js";
10
- import { collectChangedLines, locateChangedSymbolsWithLines, mapChangedLinesToSymbols } from "../impact/map.js";
10
+ import { changedSymbolToDef, collectChangedLines, locateChangedSymbolsWithLines, mapChangedLinesToSymbols, } from "../impact/map.js";
11
11
  import { maskJsLikeCommentsAndStrings } from "../util/comments.js";
12
12
  import { mapLimit } from "../util/concurrency.js";
13
- import { collectLineStartOffsets } from "../util/lines.js";
13
+ import { collectLineStartOffsets, positionAtOffset } from "../util/lines.js";
14
14
  import { fileIdentityKey, toProjectDisplayPath } from "../util/paths.js";
15
15
  import { ECMASCRIPT_IDENTIFIER_SOURCE } from "../util/identifiers.js";
16
16
  import { isRiskRelevantSymbolMappingFile } from "./risk.js";
@@ -22,9 +22,6 @@ const REVIEW_EXPORT_STATEMENT_PATTERNS = [
22
22
  new RegExp(String.raw `\bexport\s*\*\s+as\s+${ECMASCRIPT_IDENTIFIER_SOURCE}\s*from\s*("|')[^"']*\1`, "gu"),
23
23
  /\bexport\s*\*\s*from\s*("|')[^"']*\1/gu,
24
24
  ];
25
- function relativePath(root, file) {
26
- return toProjectDisplayPath(root, file);
27
- }
28
25
  function sortSymbols(symbols) {
29
26
  return symbols.slice().sort((left, right) => symbolId(left).localeCompare(symbolId(right)));
30
27
  }
@@ -82,19 +79,6 @@ function buildExportSummaries(file, entries) {
82
79
  return buildExportSummary(file, entry.type, name, entry.fromModule);
83
80
  });
84
81
  }
85
- // 1-based line number for a character offset, mirroring src/languages/sfc.ts.
86
- function lineForOffset(lineStarts, offset) {
87
- let lo = 0;
88
- let hi = lineStarts.length - 1;
89
- while (lo <= hi) {
90
- const mid = (lo + hi) >> 1;
91
- if (lineStarts[mid] <= offset)
92
- lo = mid + 1;
93
- else
94
- hi = mid - 1;
95
- }
96
- return hi + 1;
97
- }
98
82
  // Locate whole re-export declarations, which may span multiple lines: an export
99
83
  // brace list broken across lines followed by a from-clause counts as one
100
84
  // declaration. Statements are found on comment/string-masked source so literals
@@ -117,8 +101,8 @@ function listExportStatements(source) {
117
101
  if (!specifiers.length)
118
102
  continue;
119
103
  statements.push({
120
- startLine: lineForOffset(lineStarts, match.index),
121
- endLine: lineForOffset(lineStarts, match.index + match[0].length - 1),
104
+ startLine: positionAtOffset(lineStarts, match.index).line,
105
+ endLine: positionAtOffset(lineStarts, match.index + match[0].length - 1).line,
122
106
  specifiers,
123
107
  });
124
108
  }
@@ -253,7 +237,7 @@ function reviewFileDiffMetadata(projectRoot, diffChange) {
253
237
  if (!diffChange)
254
238
  return {};
255
239
  return {
256
- ...(diffChange.oldPath ? { oldFile: relativePath(projectRoot, diffChange.oldPath) } : {}),
240
+ ...(diffChange.oldPath ? { oldFile: toProjectDisplayPath(projectRoot, diffChange.oldPath) } : {}),
257
241
  ...(diffChange.similarityIndex !== undefined ? { similarityIndex: diffChange.similarityIndex } : {}),
258
242
  ...(diffChange.modeChanged ? { modeChanged: true } : {}),
259
243
  };
@@ -364,16 +348,11 @@ export async function summarizeChangedFiles(input) {
364
348
  }
365
349
  const { changedSymbols, changedLines, parseFailed } = await locateChangedSymbolsWithLines(index, file, hunks);
366
350
  if (parseFailed) {
367
- diagnostics.symbolMappingParseFailures.push(relativePath(projectRoot, file));
351
+ diagnostics.symbolMappingParseFailures.push(toProjectDisplayPath(projectRoot, file));
368
352
  }
369
353
  const uniqueSymbols = new Map();
370
354
  for (const symbol of changedSymbols) {
371
- uniqueSymbols.set(symbol.id, {
372
- file: symbol.file,
373
- localName: symbol.name,
374
- kind: symbol.kind,
375
- range: symbol.range,
376
- });
355
+ uniqueSymbols.set(symbol.id, changedSymbolToDef(symbol));
377
356
  }
378
357
  const locals = sortSymbols(Array.from(uniqueSymbols.values()));
379
358
  const handles = locals.map((local) => symbolId(local));
@@ -452,11 +431,11 @@ export async function summarizeChangedFiles(input) {
452
431
  callsiteCoverage = refs.referenceCoverage.affectedFiles
453
432
  ? {
454
433
  ...refs.referenceCoverage,
455
- affectedFiles: refs.referenceCoverage.affectedFiles.map((file) => relativePath(projectRoot, file)),
434
+ affectedFiles: refs.referenceCoverage.affectedFiles.map((file) => toProjectDisplayPath(projectRoot, file)),
456
435
  }
457
436
  : refs.referenceCoverage;
458
437
  const limited = refs.references.map((ref) => ({
459
- file: relativePath(projectRoot, ref.file),
438
+ file: toProjectDisplayPath(projectRoot, ref.file),
460
439
  range: ref.range,
461
440
  }));
462
441
  if (limited.length)
@@ -479,7 +458,7 @@ export async function summarizeChangedFiles(input) {
479
458
  const isDeletedByDiff = diffKindsByFile.get(file) === "deleted";
480
459
  return {
481
460
  summary: {
482
- file: relativePath(projectRoot, file),
461
+ file: toProjectDisplayPath(projectRoot, file),
483
462
  status: isDeletedByDiff ? "deleted" : "updated",
484
463
  ...diffMetadata,
485
464
  isBinary: true,
@@ -519,7 +498,7 @@ export async function summarizeChangedFiles(input) {
519
498
  ];
520
499
  return {
521
500
  summary: {
522
- file: relativePath(projectRoot, file),
501
+ file: toProjectDisplayPath(projectRoot, file),
523
502
  status: "deleted",
524
503
  ...diffMetadata,
525
504
  symbols,
@@ -532,7 +511,7 @@ export async function summarizeChangedFiles(input) {
532
511
  const isDeletedByDiff = diffKindsByFile.get(file) === "deleted";
533
512
  const isMissingExplicitInput = !fileExistsOnDisk && explicitFiles.has(file) && !isDeletedByDiff;
534
513
  if (isMissingExplicitInput) {
535
- diagnostics.missingFiles.push(relativePath(projectRoot, file));
514
+ diagnostics.missingFiles.push(toProjectDisplayPath(projectRoot, file));
536
515
  }
537
516
  // Existing non-indexed files (scripts, docs, extensionless) are still updates.
538
517
  // Only report deleted when the diff/disk evidence says the path is gone.
@@ -545,7 +524,7 @@ export async function summarizeChangedFiles(input) {
545
524
  }
546
525
  return {
547
526
  summary: {
548
- file: relativePath(projectRoot, file),
527
+ file: toProjectDisplayPath(projectRoot, file),
549
528
  status,
550
529
  ...diffMetadata,
551
530
  symbols: [],
@@ -558,7 +537,7 @@ export async function summarizeChangedFiles(input) {
558
537
  const symbols = [...localSymbols, ...exportSummaryGroups.changed];
559
538
  return {
560
539
  summary: {
561
- file: relativePath(projectRoot, file),
540
+ file: toProjectDisplayPath(projectRoot, file),
562
541
  status: "updated",
563
542
  ...diffMetadata,
564
543
  symbols,
@@ -1 +1 @@
1
- {"version":3,"file":"summaries.js","sourceRoot":"","sources":["../../src/review/summaries.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"summaries.js","sourceRoot":"","sources":["../../src/review/summaries.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"review.d.ts","sourceRoot":"","sources":["../src/review.ts"],"names":[],"mappings":"AAEA,OAAO,EAIL,KAAK,yBAAyB,EAE/B,MAAM,iBAAiB,CAAC;AAIzB,OAAO,EAAE,KAAK,YAAY,EAAkB,MAAM,oBAAoB,CAAC;AAkBvE,OAAO,KAAK,EAKV,aAAa,EACb,YAAY,EAGb,MAAM,mBAAmB,CAAC;AAE3B,YAAY,EACV,iBAAiB,EACjB,0BAA0B,EAC1B,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,YAAY,EACZ,eAAe,EACf,iBAAiB,EACjB,oBAAoB,EACpB,mBAAmB,EACnB,UAAU,EACV,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAgK3B;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CACrC,WAAW,EAAE,MAAM,EACnB,IAAI,GAAE,aAAkB,EACxB,MAAM,CAAC,EAAE;IACP,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,OAAO,CAAC,YAAY,CAAC,CAAC;IACxC,iBAAiB,CAAC,EAAE,yBAAyB,CAAC;IAC9C,qBAAqB,CAAC,EAAE,MAAM,OAAO,CAAC,yBAAyB,CAAC,CAAC;CAClE,GACA,OAAO,CAAC,YAAY,CAAC,CAgKvB"}
1
+ {"version":3,"file":"review.d.ts","sourceRoot":"","sources":["../src/review.ts"],"names":[],"mappings":"AAEA,OAAO,EAIL,KAAK,yBAAyB,EAE/B,MAAM,iBAAiB,CAAC;AAIzB,OAAO,EAAE,KAAK,YAAY,EAAkB,MAAM,oBAAoB,CAAC;AAkBvE,OAAO,KAAK,EAKV,aAAa,EACb,YAAY,EAGb,MAAM,mBAAmB,CAAC;AAE3B,YAAY,EACV,iBAAiB,EACjB,0BAA0B,EAC1B,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,YAAY,EACZ,eAAe,EACf,iBAAiB,EACjB,oBAAoB,EACpB,mBAAmB,EACnB,UAAU,EACV,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AA4J3B;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CACrC,WAAW,EAAE,MAAM,EACnB,IAAI,GAAE,aAAkB,EACxB,MAAM,CAAC,EAAE;IACP,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,OAAO,CAAC,YAAY,CAAC,CAAC;IACxC,iBAAiB,CAAC,EAAE,yBAAyB,CAAC;IAC9C,qBAAqB,CAAC,EAAE,MAAM,OAAO,CAAC,yBAAyB,CAAC,CAAC;CAClE,GACA,OAAO,CAAC,YAAY,CAAC,CAkKvB"}
package/dist/review.js CHANGED
@@ -45,9 +45,6 @@ function applyReviewPresetOptions(opts) {
45
45
  maxCandidates: opts.maxCandidates ?? preset.maxCandidates,
46
46
  };
47
47
  }
48
- function comparePaths(left, right) {
49
- return left.localeCompare(right);
50
- }
51
48
  async function buildReviewIndex(input) {
52
49
  const { projectRoot, appliedOptions, changedFileList, diffKindsByFile, diffChangesByFile, reviewReport, reviewTimings, providedIndex, loadProvidedIndex, } = input;
53
50
  const existenceChecks = await mapLimit(changedFileList, 8, async (file) => ({
@@ -147,7 +144,9 @@ export async function buildReviewReport(projectRoot, opts = {}, cached) {
147
144
  const report = {
148
145
  schemaVersion: REVIEW_SCHEMA_VERSION,
149
146
  status: "no_changes",
150
- ...(reviewReport?.indexReport ? { analysis: summarizeAnalysis({ report: reviewReport.indexReport }) } : {}),
147
+ ...(reviewReport?.indexReport
148
+ ? { analysis: summarizeAnalysis({ index: reviewReport.index, report: reviewReport.indexReport }) }
149
+ : {}),
151
150
  projectFiles,
152
151
  summary: { filesChanged: 0, symbolsChanged: 0, candidateTests: 0 },
153
152
  riskSummary,
@@ -170,7 +169,7 @@ export async function buildReviewReport(projectRoot, opts = {}, cached) {
170
169
  reviewTimings.totalMs = Math.round(performance.now() - totalStart);
171
170
  return report;
172
171
  }
173
- const changedFileList = Array.from(changedFiles).sort(comparePaths);
172
+ const changedFileList = Array.from(changedFiles).sort((left, right) => left.localeCompare(right));
174
173
  const diagnostics = {
175
174
  missingFiles: [],
176
175
  symbolMappingParseFailures: [],
@@ -1 +1 @@
1
- {"version":3,"file":"review.js","sourceRoot":"","sources":["../src/review.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"review.js","sourceRoot":"","sources":["../src/review.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import type { FindReferencesResult, GoToRequest, GoToResult, ProjectIndex, SymbolDef } from "../indexer/types.js";
2
+ /**
3
+ * SCSS navigation for Sass module members. Same-file selectors and other symbols the module
4
+ * model does not own return null so the generic scope walker keeps them.
5
+ */
6
+ type FindScssReferencesOptions = {
7
+ includeDefinition: boolean;
8
+ maxReferences?: number;
9
+ };
10
+ export declare function goToScssDefinition(index: ProjectIndex, req: GoToRequest): Promise<GoToResult | null>;
11
+ export declare function findScssReferences(index: ProjectIndex, def: SymbolDef, options: FindScssReferencesOptions): Promise<FindReferencesResult | null>;
12
+ export {};
13
+ //# sourceMappingURL=navigation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../../src/scss/navigation.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,oBAAoB,EACpB,WAAW,EACX,UAAU,EACV,YAAY,EAEZ,SAAS,EACV,MAAM,qBAAqB,CAAC;AAgB7B;;;GAGG;AAEH,KAAK,yBAAyB,GAAG;IAC/B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAcF,wBAAsB,kBAAkB,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAmC1G;AAED,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,YAAY,EACnB,GAAG,EAAE,SAAS,EACd,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAkFtC"}
@@ -0,0 +1,150 @@
1
+ import { buildIndexedCandidateCoverage } from "../indexer/navigation-references.js";
2
+ import { createNavigationProvenance, okGoToResult } from "../indexer/navigation-provenance.js";
3
+ import { siteKey } from "../indexer/shared.js";
4
+ import { fileIdentityKey } from "../util/paths.js";
5
+ import { isScssFile, resolveScssUse, scssAssignmentDefinition, scssFactsForFile, scssMemberForDefinition, scssMemberUses, scssReferenceCandidates, scssUseAt, scssUseEditRange, } from "./resolution.js";
6
+ import { scssOffsetAt } from "./syntax.js";
7
+ /** A name that only a module can supply: a miss there never falls back to the generic walker. */
8
+ function isModuleSite(use) {
9
+ if (use.namespace !== null)
10
+ return true;
11
+ return (use.syntax === "config" ||
12
+ use.syntax === "show" ||
13
+ use.syntax === "hide" ||
14
+ use.syntax === "extend" ||
15
+ use.syntax === "include");
16
+ }
17
+ export async function goToScssDefinition(index, req) {
18
+ if (!isScssFile(index, req.file))
19
+ return null;
20
+ const facts = await scssFactsForFile(index, req.file);
21
+ if (!facts)
22
+ return null;
23
+ const use = scssUseAt(facts, req.line, req.column);
24
+ if (!use) {
25
+ const joined = await scssAssignmentDefinition(index, req.file, req.line, req.column);
26
+ if (joined)
27
+ return okGoToResult(index, joined, { resolution: "namespace", confidence: "high" });
28
+ const offset = scssOffsetAt(facts, req.line, req.column);
29
+ if (facts.interpolatedPlaceholderRanges.some((range) => offset >= (range.start.index ?? -1) && offset < (range.end.index ?? -1))) {
30
+ return { status: "not_found", reason: "An interpolated placeholder name has no static target" };
31
+ }
32
+ return null;
33
+ }
34
+ const resolved = await resolveScssUse(index, req.file, use);
35
+ if (resolved.status === "shadow") {
36
+ // A local hides the module member. The exact-name generic walker can answer only for an indexed
37
+ // binding with the same spelling; a parameter, loop variable, or -/_ equivalent block binding
38
+ // would otherwise fall through to a wrong module member.
39
+ if (resolved.indexed)
40
+ return null;
41
+ return { status: "not_found", reason: `A local variable hides the SCSS member ${use.text}` };
42
+ }
43
+ if (resolved.status === "ok") {
44
+ return okGoToResult(index, resolved.def, { resolution: "namespace", confidence: "high" });
45
+ }
46
+ if (isModuleSite(use) || resolved.unproven)
47
+ return { status: "not_found", reason: resolved.reason };
48
+ // A bare name the module model does not know can still be a same-file symbol or a CSS function
49
+ // such as `rgb(`, unless the file loads members without a namespace.
50
+ const loadsGlobally = facts.loads.some((load) => load.star || load.kind === "import");
51
+ if (!loadsGlobally)
52
+ return null;
53
+ return { status: "not_found", reason: resolved.reason };
54
+ }
55
+ export async function findScssReferences(index, def, options) {
56
+ if (!isScssFile(index, def.file))
57
+ return null;
58
+ const member = await scssMemberForDefinition(index, def);
59
+ if (!member)
60
+ return null;
61
+ const { files, unavailable } = await scssReferenceCandidates(index, member);
62
+ const references = [];
63
+ const seen = new Set();
64
+ const scanned = [];
65
+ const unavailableFiles = [...unavailable];
66
+ const unavailableKeys = new Set(unavailable.map((file) => fileIdentityKey(file)));
67
+ let truncated = false;
68
+ const markUnavailable = (file) => {
69
+ const key = fileIdentityKey(file);
70
+ if (unavailableKeys.has(key))
71
+ return;
72
+ unavailableKeys.add(key);
73
+ unavailableFiles.push(file);
74
+ };
75
+ const push = (file, range) => {
76
+ if (options.maxReferences !== undefined && references.length >= options.maxReferences) {
77
+ truncated = true;
78
+ return false;
79
+ }
80
+ const key = siteKey(file, range);
81
+ if (seen.has(key))
82
+ return true;
83
+ seen.add(key);
84
+ references.push({ file, range, provenance: createNavigationProvenance("namespace", "high") });
85
+ return true;
86
+ };
87
+ // Every assignment of a variable is a site of the same variable; `def` itself is the
88
+ // definition and stays out unless the caller asks for it.
89
+ for (const site of member.sites) {
90
+ if (!options.includeDefinition && siteKey(site.file, site.range) === siteKey(def.file, def.range))
91
+ continue;
92
+ if (!push(site.file, site.range))
93
+ break;
94
+ }
95
+ for (const file of files) {
96
+ if (truncated)
97
+ break;
98
+ const facts = await scssFactsForFile(index, file);
99
+ if (!facts) {
100
+ markUnavailable(file);
101
+ continue;
102
+ }
103
+ scanned.push(file);
104
+ let unproven = member.kind === "placeholder" && (facts.interpolatedExtend || facts.interpolatedPlaceholder);
105
+ const { matches, unproven: unresolvedUse } = await scssMemberUses(index, file, facts, member);
106
+ if (unresolvedUse)
107
+ unproven = true;
108
+ for (const { use, resolved } of matches) {
109
+ const range = scssUseEditRange(facts, use, resolved.prefix);
110
+ if (!range) {
111
+ unproven = true;
112
+ continue;
113
+ }
114
+ if (!push(file, range))
115
+ break;
116
+ }
117
+ if (unproven)
118
+ markUnavailable(file);
119
+ }
120
+ references.sort(compareReferences);
121
+ return {
122
+ status: "ok",
123
+ definition: member.def,
124
+ references,
125
+ // The generic import-binding check stays out: this module resolves every load itself and
126
+ // reports a load it cannot prove through `strategyUnavailableFiles`. The check would also flag
127
+ // a variable that one file assigns again, because the shared export table keeps each
128
+ // assignment as a separate export of the same name.
129
+ referenceCoverage: buildIndexedCandidateCoverage({
130
+ index,
131
+ def: member.def,
132
+ languageId: "scss",
133
+ exportedNames: [],
134
+ candidateFiles: [],
135
+ scannedFiles: scanned,
136
+ truncated,
137
+ strategyUnavailableFiles: unavailableFiles,
138
+ }),
139
+ provenance: createNavigationProvenance("namespace", "high"),
140
+ };
141
+ }
142
+ function compareReferences(left, right) {
143
+ const file = left.file.localeCompare(right.file);
144
+ if (file !== 0)
145
+ return file;
146
+ if (left.range.start.line !== right.range.start.line)
147
+ return left.range.start.line - right.range.start.line;
148
+ return left.range.start.column - right.range.start.column;
149
+ }
150
+ //# sourceMappingURL=navigation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigation.js","sourceRoot":"","sources":["../../src/scss/navigation.ts"],"names":[],"mappings":"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"}