@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
@@ -4,7 +4,7 @@ import { isJvmPackageSymbolVisible, languageHasDeclarationVisibility } from "./d
4
4
  import { isJvmStaticWildcardMember, isJvmTypeWildcardMember, jvmWildcardTypeOwner } from "./expand-star-imports.js";
5
5
  import { foldPhpIdentifierCase, normalizeCsharpIdentifier, normalizeCsharpQualifiedName } from "../util/identifiers.js";
6
6
  import { fileIdentityKey, normalizePath } from "../util/paths.js";
7
- import { getCompilationUnitPeers, IMPLICIT_UNIT_LANGUAGES, isUnitBareNameVisible } from "./compilation-units.js";
7
+ import { csharpNamespaceAt, csharpNamespaceChainDeclares, csharpUsingTargetShadowed, getCompilationUnitPeers, IMPLICIT_UNIT_LANGUAGES, isUnitBareNameVisible, } from "./compilation-units.js";
8
8
  import { phpNamedImportRole } from "./import-types.js";
9
9
  import { resolvePythonSubmoduleExact } from "../util/resolution/python.js";
10
10
  import { PHP_CLASS_LIKE_KINDS } from "./php-namespace-symbols.js";
@@ -633,7 +633,7 @@ const csharpNamespaceImportDirectoryFiles = new WeakMap();
633
633
  * one file reaches the rest of its directory, so one file per directory covers every declaration
634
634
  * of `N`. Built once per index.
635
635
  */
636
- function csharpNamespaceImportDirectories(index) {
636
+ export function csharpNamespaceImportDirectories(index) {
637
637
  const cached = csharpNamespaceImportDirectoryFiles.get(index);
638
638
  if (cached)
639
639
  return cached;
@@ -658,23 +658,73 @@ function csharpNamespaceImportDirectories(index) {
658
658
  const result = new Map();
659
659
  for (const mod of index.byFile.values()) {
660
660
  for (const imp of mod.imports) {
661
- if (imp.kind !== "star" || imp.staticMembersOf || typeof imp.resolved !== "string")
661
+ const isNamespaceAlias = imp.kind === "namespace" &&
662
+ supportForFileWithoutHeaderSample(mod.file, index.languageExtensions)?.id === "csharp";
663
+ if (!isNamespaceAlias && (imp.kind !== "star" || imp.staticMembersOf || typeof imp.resolved !== "string"))
662
664
  continue;
663
- if (supportForFileWithoutHeaderSample(imp.resolved, index.languageExtensions)?.id !== "csharp")
665
+ const boundFile = typeof imp.resolved === "string" ? imp.resolved : undefined;
666
+ if (boundFile && supportForFileWithoutHeaderSample(boundFile, index.languageExtensions)?.id !== "csharp")
664
667
  continue;
665
- const files = new Map([
666
- [fileIdentityKey(path.posix.dirname(normalizePath(imp.resolved))), imp.resolved],
667
- ]);
668
+ const files = new Map();
669
+ if (boundFile)
670
+ files.set(fileIdentityKey(path.posix.dirname(normalizePath(boundFile))), boundFile);
668
671
  const targets = edgesByImporter.get(fileIdentityKey(mod.file))?.get(normalizeCsharpQualifiedName(imp.from));
669
672
  for (const [directoryKey, file] of targets ?? [])
670
673
  if (!files.has(directoryKey))
671
674
  files.set(directoryKey, file);
672
- result.set(imp, [...files.values()]);
675
+ if (files.size)
676
+ result.set(imp, [...files.values()]);
673
677
  }
674
678
  }
675
679
  csharpNamespaceImportDirectoryFiles.set(index, result);
676
680
  return result;
677
681
  }
682
+ const csharpShadowedImportCache = new WeakMap();
683
+ /**
684
+ * The C# alias and `using N;` bindings of `index` whose directive an enclosing namespace shadows: a namespace the
685
+ * directive sits in declares the first segment of its target, so C# means that nearer declaration, and the binding
686
+ * resolves nothing instead of the global one. Decided from the index's own declarations when the lookup first
687
+ * runs, never from a flag a cached module holds. Built once per index.
688
+ */
689
+ export function csharpShadowedImports(index) {
690
+ const cached = csharpShadowedImportCache.get(index);
691
+ if (cached)
692
+ return cached;
693
+ const shadowed = new WeakSet();
694
+ for (const mod of index.byFile.values()) {
695
+ if (!mod.csharpNamespaceFacts)
696
+ continue;
697
+ for (const imp of mod.imports) {
698
+ let directiveStart;
699
+ if (imp.kind === "star")
700
+ directiveStart = imp.csharpDirectiveStartIndex;
701
+ else if (imp.kind === "named")
702
+ directiveStart = imp.localRange?.start.index;
703
+ if (csharpUsingTargetShadowed(index, mod, directiveStart, imp.from))
704
+ shadowed.add(imp);
705
+ }
706
+ }
707
+ csharpShadowedImportCache.set(index, shadowed);
708
+ return shadowed;
709
+ }
710
+ /**
711
+ * Whether a C# `using N;` of `mod` that an enclosing namespace shadows may still bring `name` in. The directive then
712
+ * names the nearer namespace, which no lookup here resolves, so `name` may be a type of that namespace: a name that
713
+ * other star imports supply is not the only candidate, and a namespace of that name must not stand in for it. A nearer
714
+ * namespace that declares no such name, and a directive nothing shadows, never block.
715
+ */
716
+ export function csharpShadowedStarsMayHold(index, mod, name) {
717
+ const declared = normalizeCsharpQualifiedName(name);
718
+ return mod.imports.some((imp) => {
719
+ if (imp.kind !== "star" || imp.staticMembersOf || imp.csharpDirectiveStartIndex === undefined)
720
+ return false;
721
+ if (!csharpShadowedImports(index).has(imp))
722
+ return false;
723
+ const enclosing = csharpNamespaceAt(index, mod.file, imp.csharpDirectiveStartIndex);
724
+ return (!!enclosing &&
725
+ csharpNamespaceChainDeclares(index, mod, enclosing, `${normalizeCsharpQualifiedName(imp.from)}.${declared}`));
726
+ });
727
+ }
678
728
  /**
679
729
  * A name imported by C# `using N;`, looked up as `N.Name` from one declaring file per
680
730
  * directory. Distinct declarations (other than parts of one partial type) are ambiguous. Only
@@ -715,6 +765,19 @@ export function resolveCsharpQualifiedName(index, mod, qualifiedName, referenceI
715
765
  return null;
716
766
  const namespaceName = normalizeCsharpQualifiedName(qualifiedName.slice(0, separator)).replace(/^global::/u, "");
717
767
  const typeName = qualifiedName.slice(separator + 1);
768
+ for (const imp of mod.imports) {
769
+ if (imp.kind !== "namespace")
770
+ continue;
771
+ if (normalizeCsharpQualifiedName(imp.from).replace(/^global::/u, "") !== namespaceName)
772
+ continue;
773
+ const files = csharpNamespaceImportDirectories(index).get(imp);
774
+ const boundFile = (typeof imp.resolved === "string" ? imp.resolved : undefined) ?? files?.[0];
775
+ if (!boundFile)
776
+ continue;
777
+ const hit = resolveCsharpNamespaceImport(index, imp, boundFile, qualifiedName, { referenceIndex });
778
+ if (hit)
779
+ return "namespace" in hit ? { kind: "namespace", file: hit.namespace } : { kind: "resolved", def: hit };
780
+ }
718
781
  for (const imp of mod.imports) {
719
782
  if (imp.kind !== "star" || imp.staticMembersOf || typeof imp.resolved !== "string")
720
783
  continue;
@@ -838,6 +901,8 @@ export function resolveImported(index, imp, exportedName, opts) {
838
901
  // `N.Point` is the only bare-visible match when this file also declares outer `N`.
839
902
  // The alias names one namespace, and that qualified name is what every consumer resolves.
840
903
  const support = supportForFileWithoutHeaderSample(targetFile, index.languageExtensions);
904
+ if (support?.id === "csharp" && csharpShadowedImports(index).has(imp))
905
+ return null;
841
906
  const lookupName = support?.id === "csharp" ? csharpImportLookupName(imp, exportedName) : exportedName;
842
907
  if (support?.id === "csharp" && imp.kind === "star" && !imp.staticMembersOf) {
843
908
  return resolveCsharpNamespaceImport(index, imp, targetFile, lookupName, {
@@ -1 +1 @@
1
- {"version":3,"file":"navigation-resolve.js","sourceRoot":"","sources":["../../src/indexer/navigation-resolve.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"navigation-resolve.js","sourceRoot":"","sources":["../../src/indexer/navigation-resolve.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import type { SyntaxNodeLike } from "../languages/types.js";
3
3
  import { type ParsedFileContext } from "./parse-context.js";
4
4
  import type { ScopeIndex } from "./scope.js";
5
5
  import { type FileId, type Range } from "../types.js";
6
- import { type FindReferencesResult, type GoToRequest, type GoToResult, type ImportBinding, type ModuleIndex, type ProjectIndex, type SymbolDef } from "./types.js";
6
+ import { type FindReferencesResult, type GoToRequest, type GoToResult, type ImportBinding, type ModuleIndex, type ProjectIndex, type Reference, type SymbolDef } from "./types.js";
7
7
  export { resolveExport, resolveImported } from "./navigation-resolve.js";
8
8
  export declare function goToDefinition(index: ProjectIndex, req: GoToRequest, parsedContext?: ParsedFileContext): Promise<GoToResult>;
9
9
  type FindReferencesRequest = {
@@ -49,5 +49,8 @@ export declare function findRenameReferences(index: ProjectIndex, def: SymbolDef
49
49
  */
50
50
  export declare function recoverIncludedCallableStar(index: ProjectIndex, mod: ModuleIndex, languageId: string, name: string, cNamespace: "tag" | "ordinary" | undefined, node: SyntaxNodeLike, source: string): Promise<GoToResult | null>;
51
51
  export declare function getCppEquivalentCallableDefinitions(index: ProjectIndex, def: SymbolDef, parsedContext?: ParsedFileContext): Promise<SymbolDef[]>;
52
+ /** Adds the requested `line` or `block` context to each reference, parsing each file once. */
53
+ export declare function attachReferenceContext(index: ProjectIndex, refs: readonly Reference[], opts: FindReferencesOptions | undefined): Promise<void>;
54
+ export declare function canonicalizePythonReceiverAttributeDefinition(index: ProjectIndex, def: SymbolDef, position?: Pick<GoToRequest, "file" | "line" | "column">): Promise<GoToResult | null>;
52
55
  export declare function collectNamespaceMemberRefs(file: string, ns: string, member: string, parsedContext?: ParsedFileContext, languageExtensions?: LanguageExtensionMap, importBinding?: ImportBinding, imports?: readonly ImportBinding[], scopeIndex?: ScopeIndex): Promise<Range[]>;
53
56
  //# sourceMappingURL=navigation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../../src/indexer/navigation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqC,KAAK,oBAAoB,EAAwB,MAAM,iBAAiB,CAAC;AACrH,OAAO,KAAK,EAAE,cAAc,EAAkB,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAuB,KAAK,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAuEjF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,KAAK,EAAE,MAAM,aAAa,CAAC;AAqBtD,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,YAAY,EAGjB,KAAK,SAAS,EAEf,MAAM,YAAY,CAAC;AAcpB,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAKzE,wBAAsB,cAAc,CAClC,KAAK,EAAE,YAAY,EACnB,GAAG,EAAE,WAAW,EAChB,aAAa,CAAC,EAAE,iBAAiB,GAChC,OAAO,CAAC,UAAU,CAAC,CAmPrB;AA4DD,KAAK,qBAAqB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,GAAG,EAAE,SAAS,CAAA;CAAE,CAAC;AAEjG,KAAK,qBAAqB,GAAG;IAC3B,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,wBAAsB,cAAc,CAClC,KAAK,EAAE,YAAY,EACnB,GAAG,EAAE,qBAAqB,EAC1B,IAAI,CAAC,EAAE,qBAAqB,GAC3B,OAAO,CAAC,oBAAoB,CAAC,CAE/B;AAED,0FAA0F;AAC1F,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,YAAY,EACnB,GAAG,EAAE,qBAAqB,EAC1B,IAAI,CAAC,EAAE,qBAAqB,GAC3B,OAAO,CAAC,oBAAoB,CAAC,CAE/B;AACD,8FAA8F;AAC9F,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,YAAY,EACnB,GAAG,EAAE,SAAS,EACd,IAAI,CAAC,EAAE,qBAAqB,GAC3B,OAAO,CAAC,oBAAoB,CAAC,CAE/B;AAED;;;;;;;;;;;;;;;;GAgBG;AACH;;;;;GAKG;AACH,wBAAsB,2BAA2B,CAC/C,KAAK,EAAE,YAAY,EACnB,GAAG,EAAE,WAAW,EAChB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,KAAK,GAAG,UAAU,GAAG,SAAS,EAC1C,IAAI,EAAE,cAAc,EACpB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CA+E5B;AAED,wBAAsB,mCAAmC,CACvD,KAAK,EAAE,YAAY,EACnB,GAAG,EAAE,SAAS,EACd,aAAa,CAAC,EAAE,iBAAiB,GAChC,OAAO,CAAC,SAAS,EAAE,CAAC,CAGtB;AAy6CD,wBAAsB,0BAA0B,CAC9C,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,EACd,aAAa,CAAC,EAAE,iBAAiB,EACjC,kBAAkB,CAAC,EAAE,oBAAoB,EACzC,aAAa,CAAC,EAAE,aAAa,EAC7B,OAAO,CAAC,EAAE,SAAS,aAAa,EAAE,EAClC,UAAU,CAAC,EAAE,UAAU,GACtB,OAAO,CAAC,KAAK,EAAE,CAAC,CAsElB"}
1
+ {"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../../src/indexer/navigation.ts"],"names":[],"mappings":"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"}