@lzehrung/codegraph 2.3.30 → 2.4.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 (416) hide show
  1. package/README.md +30 -137
  2. package/codegraph-skill/codegraph/SKILL.md +5 -3
  3. package/dist/agent/artifact.d.ts +2 -0
  4. package/dist/agent/artifact.d.ts.map +1 -1
  5. package/dist/agent/artifact.js.map +1 -1
  6. package/dist/agent/search.d.ts.map +1 -1
  7. package/dist/agent/search.js +3 -0
  8. package/dist/agent/search.js.map +1 -1
  9. package/dist/agent/session.d.ts +3 -0
  10. package/dist/agent/session.d.ts.map +1 -1
  11. package/dist/agent/session.js +10 -2
  12. package/dist/agent/session.js.map +1 -1
  13. package/dist/bin/cli.js +42229 -28876
  14. package/dist/bin/query-index-worker.js +73 -11
  15. package/dist/cli/affected.d.ts.map +1 -1
  16. package/dist/cli/affected.js +4 -1
  17. package/dist/cli/affected.js.map +1 -1
  18. package/dist/cli/command-catalog.js +1 -1
  19. package/dist/cli/command-catalog.js.map +1 -1
  20. package/dist/cli/graph-queries.d.ts.map +1 -1
  21. package/dist/cli/graph-queries.js +27 -1
  22. package/dist/cli/graph-queries.js.map +1 -1
  23. package/dist/cli/help.d.ts +2 -2
  24. package/dist/cli/help.d.ts.map +1 -1
  25. package/dist/cli/help.js +4 -2
  26. package/dist/cli/help.js.map +1 -1
  27. package/dist/cli/options.js +2 -2
  28. package/dist/cli/options.js.map +1 -1
  29. package/dist/drift/artifact.d.ts.map +1 -1
  30. package/dist/drift/artifact.js +15 -18
  31. package/dist/drift/artifact.js.map +1 -1
  32. package/dist/drift/compare.js +1 -1
  33. package/dist/drift/compare.js.map +1 -1
  34. package/dist/drift/snapshot.d.ts.map +1 -1
  35. package/dist/drift/snapshot.js +5 -6
  36. package/dist/drift/snapshot.js.map +1 -1
  37. package/dist/drift/types.d.ts +2 -0
  38. package/dist/drift/types.d.ts.map +1 -1
  39. package/dist/drift/types.js.map +1 -1
  40. package/dist/graph-builder.d.ts.map +1 -1
  41. package/dist/graph-builder.js +4 -6
  42. package/dist/graph-builder.js.map +1 -1
  43. package/dist/graph-edge-collector.d.ts +3 -0
  44. package/dist/graph-edge-collector.d.ts.map +1 -1
  45. package/dist/graph-edge-collector.js +8 -5
  46. package/dist/graph-edge-collector.js.map +1 -1
  47. package/dist/graphs/angularjs.d.ts.map +1 -1
  48. package/dist/graphs/angularjs.js +2 -1
  49. package/dist/graphs/angularjs.js.map +1 -1
  50. package/dist/graphs/edge-resolution.d.ts +4 -1
  51. package/dist/graphs/edge-resolution.d.ts.map +1 -1
  52. package/dist/graphs/edge-resolution.js +26 -2
  53. package/dist/graphs/edge-resolution.js.map +1 -1
  54. package/dist/graphs/specifiers.d.ts.map +1 -1
  55. package/dist/graphs/specifiers.js +6 -2
  56. package/dist/graphs/specifiers.js.map +1 -1
  57. package/dist/graphs/symbol-graph-detailed/ast.d.ts +20 -0
  58. package/dist/graphs/symbol-graph-detailed/ast.d.ts.map +1 -1
  59. package/dist/graphs/symbol-graph-detailed/ast.js +154 -15
  60. package/dist/graphs/symbol-graph-detailed/ast.js.map +1 -1
  61. package/dist/graphs/symbol-graph-detailed/edge-passes.d.ts +51 -8
  62. package/dist/graphs/symbol-graph-detailed/edge-passes.d.ts.map +1 -1
  63. package/dist/graphs/symbol-graph-detailed/edge-passes.js +823 -132
  64. package/dist/graphs/symbol-graph-detailed/edge-passes.js.map +1 -1
  65. package/dist/graphs/symbol-graph-detailed/import-aliases.d.ts +2 -1
  66. package/dist/graphs/symbol-graph-detailed/import-aliases.d.ts.map +1 -1
  67. package/dist/graphs/symbol-graph-detailed/import-aliases.js +139 -7
  68. package/dist/graphs/symbol-graph-detailed/import-aliases.js.map +1 -1
  69. package/dist/graphs/symbol-graph-detailed/member-chains.d.ts +1 -0
  70. package/dist/graphs/symbol-graph-detailed/member-chains.d.ts.map +1 -1
  71. package/dist/graphs/symbol-graph-detailed/member-chains.js +3 -1
  72. package/dist/graphs/symbol-graph-detailed/member-chains.js.map +1 -1
  73. package/dist/graphs/symbol-graph-detailed/receiver-calls.d.ts +128 -22
  74. package/dist/graphs/symbol-graph-detailed/receiver-calls.d.ts.map +1 -1
  75. package/dist/graphs/symbol-graph-detailed/receiver-calls.js +872 -125
  76. package/dist/graphs/symbol-graph-detailed/receiver-calls.js.map +1 -1
  77. package/dist/graphs/symbol-graph-detailed.d.ts.map +1 -1
  78. package/dist/graphs/symbol-graph-detailed.js +434 -40
  79. package/dist/graphs/symbol-graph-detailed.js.map +1 -1
  80. package/dist/graphs/symbol-graph.d.ts +2 -0
  81. package/dist/graphs/symbol-graph.d.ts.map +1 -1
  82. package/dist/graphs/symbol-graph.js +34 -16
  83. package/dist/graphs/symbol-graph.js.map +1 -1
  84. package/dist/impact/call-compatibility/providers/index.d.ts +12 -0
  85. package/dist/impact/call-compatibility/providers/index.d.ts.map +1 -1
  86. package/dist/impact/call-compatibility/providers/index.js +16 -22
  87. package/dist/impact/call-compatibility/providers/index.js.map +1 -1
  88. package/dist/impact/call-compatibility/providers/types.d.ts +2 -0
  89. package/dist/impact/call-compatibility/providers/types.d.ts.map +1 -1
  90. package/dist/impact/call-compatibility/types.d.ts +6 -0
  91. package/dist/impact/call-compatibility/types.d.ts.map +1 -1
  92. package/dist/impact/call-compatibility.d.ts.map +1 -1
  93. package/dist/impact/call-compatibility.js +316 -552
  94. package/dist/impact/call-compatibility.js.map +1 -1
  95. package/dist/impact/map.js +1 -0
  96. package/dist/impact/map.js.map +1 -1
  97. package/dist/impact/member-resolution-coverage.d.ts.map +1 -1
  98. package/dist/impact/member-resolution-coverage.js +1 -1
  99. package/dist/impact/member-resolution-coverage.js.map +1 -1
  100. package/dist/impact/reference-cache.d.ts.map +1 -1
  101. package/dist/impact/reference-cache.js +2 -2
  102. package/dist/impact/reference-cache.js.map +1 -1
  103. package/dist/index.d.ts +1 -1
  104. package/dist/index.d.ts.map +1 -1
  105. package/dist/index.js +1 -1
  106. package/dist/index.js.map +1 -1
  107. package/dist/indexer/ambiguous-resolution.d.ts +11 -0
  108. package/dist/indexer/ambiguous-resolution.d.ts.map +1 -0
  109. package/dist/indexer/ambiguous-resolution.js +19 -0
  110. package/dist/indexer/ambiguous-resolution.js.map +1 -0
  111. package/dist/indexer/build-cache/module-cache.d.ts +38 -0
  112. package/dist/indexer/build-cache/module-cache.d.ts.map +1 -1
  113. package/dist/indexer/build-cache/module-cache.js +151 -9
  114. package/dist/indexer/build-cache/module-cache.js.map +1 -1
  115. package/dist/indexer/build-cache/options.d.ts +16 -43
  116. package/dist/indexer/build-cache/options.d.ts.map +1 -1
  117. package/dist/indexer/build-cache/options.js +16 -43
  118. package/dist/indexer/build-cache/options.js.map +1 -1
  119. package/dist/indexer/build-cache/project-snapshot.d.ts +1 -0
  120. package/dist/indexer/build-cache/project-snapshot.d.ts.map +1 -1
  121. package/dist/indexer/build-cache/project-snapshot.js +117 -24
  122. package/dist/indexer/build-cache/project-snapshot.js.map +1 -1
  123. package/dist/indexer/build-cache/resolver-environment.d.ts.map +1 -1
  124. package/dist/indexer/build-cache/resolver-environment.js +32 -2
  125. package/dist/indexer/build-cache/resolver-environment.js.map +1 -1
  126. package/dist/indexer/build-cache.d.ts +1 -1
  127. package/dist/indexer/build-cache.d.ts.map +1 -1
  128. package/dist/indexer/build-cache.js +1 -1
  129. package/dist/indexer/build-cache.js.map +1 -1
  130. package/dist/indexer/build-index.d.ts.map +1 -1
  131. package/dist/indexer/build-index.js +593 -22
  132. package/dist/indexer/build-index.js.map +1 -1
  133. package/dist/indexer/call-hierarchy.js +1 -1
  134. package/dist/indexer/call-hierarchy.js.map +1 -1
  135. package/dist/indexer/compilation-units.d.ts +101 -0
  136. package/dist/indexer/compilation-units.d.ts.map +1 -0
  137. package/dist/indexer/compilation-units.js +605 -0
  138. package/dist/indexer/compilation-units.js.map +1 -0
  139. package/dist/indexer/cpp-callables.d.ts +20 -0
  140. package/dist/indexer/cpp-callables.d.ts.map +1 -0
  141. package/dist/indexer/cpp-callables.js +554 -0
  142. package/dist/indexer/cpp-callables.js.map +1 -0
  143. package/dist/indexer/declaration-visibility.d.ts +36 -2
  144. package/dist/indexer/declaration-visibility.d.ts.map +1 -1
  145. package/dist/indexer/declaration-visibility.js +136 -2
  146. package/dist/indexer/declaration-visibility.js.map +1 -1
  147. package/dist/indexer/expand-star-imports.d.ts.map +1 -1
  148. package/dist/indexer/expand-star-imports.js +28 -6
  149. package/dist/indexer/expand-star-imports.js.map +1 -1
  150. package/dist/indexer/import-types.d.ts +37 -0
  151. package/dist/indexer/import-types.d.ts.map +1 -1
  152. package/dist/indexer/import-types.js +24 -1
  153. package/dist/indexer/import-types.js.map +1 -1
  154. package/dist/indexer/imports/binding-ranges.d.ts +1 -1
  155. package/dist/indexer/imports/binding-ranges.d.ts.map +1 -1
  156. package/dist/indexer/imports/context.d.ts +11 -1
  157. package/dist/indexer/imports/context.d.ts.map +1 -1
  158. package/dist/indexer/imports/import-binding-tables.d.ts +75 -0
  159. package/dist/indexer/imports/import-binding-tables.d.ts.map +1 -0
  160. package/dist/indexer/imports/import-binding-tables.js +544 -0
  161. package/dist/indexer/imports/import-binding-tables.js.map +1 -0
  162. package/dist/indexer/imports/js-text-imports.js +4 -4
  163. package/dist/indexer/imports/js-text-imports.js.map +1 -1
  164. package/dist/indexer/imports/language-specific.d.ts +3 -22
  165. package/dist/indexer/imports/language-specific.d.ts.map +1 -1
  166. package/dist/indexer/imports/language-specific.js +29 -362
  167. package/dist/indexer/imports/language-specific.js.map +1 -1
  168. package/dist/indexer/imports/native-captures.d.ts.map +1 -1
  169. package/dist/indexer/imports/native-captures.js +18 -6
  170. package/dist/indexer/imports/native-captures.js.map +1 -1
  171. package/dist/indexer/imports/python.d.ts +10 -2
  172. package/dist/indexer/imports/python.d.ts.map +1 -1
  173. package/dist/indexer/imports/python.js +91 -40
  174. package/dist/indexer/imports/python.js.map +1 -1
  175. package/dist/indexer/imports/text-import-extractors.d.ts.map +1 -1
  176. package/dist/indexer/imports/text-import-extractors.js +51 -12
  177. package/dist/indexer/imports/text-import-extractors.js.map +1 -1
  178. package/dist/indexer/imports.d.ts.map +1 -1
  179. package/dist/indexer/imports.js +25 -5
  180. package/dist/indexer/imports.js.map +1 -1
  181. package/dist/indexer/incremental-plan.d.ts +33 -0
  182. package/dist/indexer/incremental-plan.d.ts.map +1 -1
  183. package/dist/indexer/incremental-plan.js +187 -1
  184. package/dist/indexer/incremental-plan.js.map +1 -1
  185. package/dist/indexer/locals-and-exports.d.ts +2 -0
  186. package/dist/indexer/locals-and-exports.d.ts.map +1 -1
  187. package/dist/indexer/locals-and-exports.js +565 -54
  188. package/dist/indexer/locals-and-exports.js.map +1 -1
  189. package/dist/indexer/name-lookup-policies/c-family.d.ts +7 -0
  190. package/dist/indexer/name-lookup-policies/c-family.d.ts.map +1 -0
  191. package/dist/indexer/name-lookup-policies/c-family.js +117 -0
  192. package/dist/indexer/name-lookup-policies/c-family.js.map +1 -0
  193. package/dist/indexer/name-lookup-policies/csharp-using-static.d.ts +11 -0
  194. package/dist/indexer/name-lookup-policies/csharp-using-static.d.ts.map +1 -0
  195. package/dist/indexer/name-lookup-policies/csharp-using-static.js +136 -0
  196. package/dist/indexer/name-lookup-policies/csharp-using-static.js.map +1 -0
  197. package/dist/indexer/name-lookup-policies/implicit-self.d.ts +10 -0
  198. package/dist/indexer/name-lookup-policies/implicit-self.d.ts.map +1 -0
  199. package/dist/indexer/name-lookup-policies/implicit-self.js +113 -0
  200. package/dist/indexer/name-lookup-policies/implicit-self.js.map +1 -0
  201. package/dist/indexer/name-lookup-policies/index.d.ts +3 -0
  202. package/dist/indexer/name-lookup-policies/index.d.ts.map +1 -0
  203. package/dist/indexer/name-lookup-policies/index.js +106 -0
  204. package/dist/indexer/name-lookup-policies/index.js.map +1 -0
  205. package/dist/indexer/name-lookup-policies/php.d.ts +3 -0
  206. package/dist/indexer/name-lookup-policies/php.d.ts.map +1 -0
  207. package/dist/indexer/name-lookup-policies/php.js +75 -0
  208. package/dist/indexer/name-lookup-policies/php.js.map +1 -0
  209. package/dist/indexer/name-resolution-types.d.ts +99 -0
  210. package/dist/indexer/name-resolution-types.d.ts.map +1 -0
  211. package/dist/indexer/name-resolution-types.js +2 -0
  212. package/dist/indexer/name-resolution-types.js.map +1 -0
  213. package/dist/indexer/name-resolution.d.ts +52 -0
  214. package/dist/indexer/name-resolution.d.ts.map +1 -0
  215. package/dist/indexer/name-resolution.js +189 -0
  216. package/dist/indexer/name-resolution.js.map +1 -0
  217. package/dist/indexer/navigation-cpp.d.ts +50 -0
  218. package/dist/indexer/navigation-cpp.d.ts.map +1 -0
  219. package/dist/indexer/navigation-cpp.js +654 -0
  220. package/dist/indexer/navigation-cpp.js.map +1 -0
  221. package/dist/indexer/navigation-goto.d.ts +107 -4
  222. package/dist/indexer/navigation-goto.d.ts.map +1 -1
  223. package/dist/indexer/navigation-goto.js +2075 -137
  224. package/dist/indexer/navigation-goto.js.map +1 -1
  225. package/dist/indexer/navigation-local.d.ts +18 -2
  226. package/dist/indexer/navigation-local.d.ts.map +1 -1
  227. package/dist/indexer/navigation-local.js +498 -61
  228. package/dist/indexer/navigation-local.js.map +1 -1
  229. package/dist/indexer/navigation-php.d.ts +66 -0
  230. package/dist/indexer/navigation-php.d.ts.map +1 -1
  231. package/dist/indexer/navigation-php.js +287 -4
  232. package/dist/indexer/navigation-php.js.map +1 -1
  233. package/dist/indexer/navigation-references.d.ts +72 -5
  234. package/dist/indexer/navigation-references.d.ts.map +1 -1
  235. package/dist/indexer/navigation-references.js +620 -54
  236. package/dist/indexer/navigation-references.js.map +1 -1
  237. package/dist/indexer/navigation-resolve.d.ts +33 -2
  238. package/dist/indexer/navigation-resolve.d.ts.map +1 -1
  239. package/dist/indexer/navigation-resolve.js +446 -193
  240. package/dist/indexer/navigation-resolve.js.map +1 -1
  241. package/dist/indexer/navigation.d.ts +28 -2
  242. package/dist/indexer/navigation.d.ts.map +1 -1
  243. package/dist/indexer/navigation.js +1082 -151
  244. package/dist/indexer/navigation.js.map +1 -1
  245. package/dist/indexer/php-namespace-symbols.d.ts +66 -0
  246. package/dist/indexer/php-namespace-symbols.d.ts.map +1 -0
  247. package/dist/indexer/php-namespace-symbols.js +342 -0
  248. package/dist/indexer/php-namespace-symbols.js.map +1 -0
  249. package/dist/indexer/reference-context.d.ts +2 -0
  250. package/dist/indexer/reference-context.d.ts.map +1 -1
  251. package/dist/indexer/reference-context.js +4 -0
  252. package/dist/indexer/reference-context.js.map +1 -1
  253. package/dist/indexer/scope-nodes.d.ts +92 -13
  254. package/dist/indexer/scope-nodes.d.ts.map +1 -1
  255. package/dist/indexer/scope-nodes.js +212 -20
  256. package/dist/indexer/scope-nodes.js.map +1 -1
  257. package/dist/indexer/scope-types.d.ts +25 -1
  258. package/dist/indexer/scope-types.d.ts.map +1 -1
  259. package/dist/indexer/scope.d.ts.map +1 -1
  260. package/dist/indexer/scope.js +894 -45
  261. package/dist/indexer/scope.js.map +1 -1
  262. package/dist/indexer/shared-owner-identity.d.ts +53 -0
  263. package/dist/indexer/shared-owner-identity.d.ts.map +1 -0
  264. package/dist/indexer/shared-owner-identity.js +460 -0
  265. package/dist/indexer/shared-owner-identity.js.map +1 -0
  266. package/dist/indexer/shared.d.ts +1 -1
  267. package/dist/indexer/shared.d.ts.map +1 -1
  268. package/dist/indexer/shared.js +1 -1
  269. package/dist/indexer/shared.js.map +1 -1
  270. package/dist/indexer/star-import-precedence.d.ts +114 -0
  271. package/dist/indexer/star-import-precedence.d.ts.map +1 -0
  272. package/dist/indexer/star-import-precedence.js +396 -0
  273. package/dist/indexer/star-import-precedence.js.map +1 -0
  274. package/dist/indexer/symbols.d.ts +3 -1
  275. package/dist/indexer/symbols.d.ts.map +1 -1
  276. package/dist/indexer/symbols.js +58 -18
  277. package/dist/indexer/symbols.js.map +1 -1
  278. package/dist/indexer/ts-callables.d.ts +51 -0
  279. package/dist/indexer/ts-callables.d.ts.map +1 -0
  280. package/dist/indexer/ts-callables.js +264 -0
  281. package/dist/indexer/ts-callables.js.map +1 -0
  282. package/dist/indexer/types.d.ts +23 -1
  283. package/dist/indexer/types.d.ts.map +1 -1
  284. package/dist/indexer/unused-exports.d.ts +13 -0
  285. package/dist/indexer/unused-exports.d.ts.map +1 -0
  286. package/dist/indexer/unused-exports.js +159 -0
  287. package/dist/indexer/unused-exports.js.map +1 -0
  288. package/dist/indexer/workspace-symbols.d.ts.map +1 -1
  289. package/dist/indexer/workspace-symbols.js +3 -2
  290. package/dist/indexer/workspace-symbols.js.map +1 -1
  291. package/dist/indexer.d.ts +2 -2
  292. package/dist/indexer.d.ts.map +1 -1
  293. package/dist/indexer.js +1 -1
  294. package/dist/indexer.js.map +1 -1
  295. package/dist/languages/callable-arity.d.ts +202 -0
  296. package/dist/languages/callable-arity.d.ts.map +1 -0
  297. package/dist/languages/callable-arity.js +1182 -0
  298. package/dist/languages/callable-arity.js.map +1 -0
  299. package/dist/languages/definitions/c-family.d.ts.map +1 -1
  300. package/dist/languages/definitions/c-family.js +30 -1
  301. package/dist/languages/definitions/c-family.js.map +1 -1
  302. package/dist/languages/definitions/c.d.ts +4 -0
  303. package/dist/languages/definitions/c.d.ts.map +1 -1
  304. package/dist/languages/definitions/c.js +19 -0
  305. package/dist/languages/definitions/c.js.map +1 -1
  306. package/dist/languages/definitions/cpp.d.ts.map +1 -1
  307. package/dist/languages/definitions/cpp.js +12 -0
  308. package/dist/languages/definitions/cpp.js.map +1 -1
  309. package/dist/languages/definitions/csharp.d.ts.map +1 -1
  310. package/dist/languages/definitions/csharp.js +2 -8
  311. package/dist/languages/definitions/csharp.js.map +1 -1
  312. package/dist/languages/definitions/go.d.ts.map +1 -1
  313. package/dist/languages/definitions/go.js +3 -0
  314. package/dist/languages/definitions/go.js.map +1 -1
  315. package/dist/languages/definitions/javascript.d.ts.map +1 -1
  316. package/dist/languages/definitions/javascript.js +10 -1
  317. package/dist/languages/definitions/javascript.js.map +1 -1
  318. package/dist/languages/definitions/js-family.d.ts +1 -1
  319. package/dist/languages/definitions/js-family.d.ts.map +1 -1
  320. package/dist/languages/definitions/js-family.js +7 -1
  321. package/dist/languages/definitions/js-family.js.map +1 -1
  322. package/dist/languages/definitions/php.d.ts.map +1 -1
  323. package/dist/languages/definitions/php.js +5 -1
  324. package/dist/languages/definitions/php.js.map +1 -1
  325. package/dist/languages/definitions/typescript.d.ts.map +1 -1
  326. package/dist/languages/definitions/typescript.js +8 -1
  327. package/dist/languages/definitions/typescript.js.map +1 -1
  328. package/dist/languages/definitions/zig.d.ts.map +1 -1
  329. package/dist/languages/definitions/zig.js +2 -0
  330. package/dist/languages/definitions/zig.js.map +1 -1
  331. package/dist/mcp/handlers.js +14 -7
  332. package/dist/mcp/handlers.js.map +1 -1
  333. package/dist/review/candidates.d.ts.map +1 -1
  334. package/dist/review/candidates.js +1 -1
  335. package/dist/review/candidates.js.map +1 -1
  336. package/dist/review/deleted.d.ts +3 -3
  337. package/dist/review/deleted.d.ts.map +1 -1
  338. package/dist/review/deleted.js +82 -32
  339. package/dist/review/deleted.js.map +1 -1
  340. package/dist/review/report.d.ts +1 -0
  341. package/dist/review/report.d.ts.map +1 -1
  342. package/dist/review/report.js +1 -1
  343. package/dist/review/report.js.map +1 -1
  344. package/dist/review.d.ts.map +1 -1
  345. package/dist/review.js +1 -0
  346. package/dist/review.js.map +1 -1
  347. package/dist/sql/navigation.d.ts.map +1 -1
  348. package/dist/sql/navigation.js +1 -0
  349. package/dist/sql/navigation.js.map +1 -1
  350. package/dist/sql/source-graph.d.ts.map +1 -1
  351. package/dist/sql/source-graph.js +2 -2
  352. package/dist/sql/source-graph.js.map +1 -1
  353. package/dist/sqlite/schema.d.ts +1 -1
  354. package/dist/sqlite/schema.d.ts.map +1 -1
  355. package/dist/sqlite/schema.js +8 -2
  356. package/dist/sqlite/schema.js.map +1 -1
  357. package/dist/sqlite/write.js +2 -2
  358. package/dist/sqlite/write.js.map +1 -1
  359. package/dist/types.d.ts +2 -0
  360. package/dist/types.d.ts.map +1 -1
  361. package/dist/util/bloom-filter.d.ts +7 -1
  362. package/dist/util/bloom-filter.d.ts.map +1 -1
  363. package/dist/util/bloom-filter.js +12 -2
  364. package/dist/util/bloom-filter.js.map +1 -1
  365. package/dist/util/dynamic-import-tables.d.ts +88 -0
  366. package/dist/util/dynamic-import-tables.d.ts.map +1 -0
  367. package/dist/util/dynamic-import-tables.js +100 -0
  368. package/dist/util/dynamic-import-tables.js.map +1 -0
  369. package/dist/util/graph-edges.d.ts +19 -1
  370. package/dist/util/graph-edges.d.ts.map +1 -1
  371. package/dist/util/graph-edges.js +30 -4
  372. package/dist/util/graph-edges.js.map +1 -1
  373. package/dist/util/identifiers.d.ts +15 -0
  374. package/dist/util/identifiers.d.ts.map +1 -1
  375. package/dist/util/identifiers.js +35 -0
  376. package/dist/util/identifiers.js.map +1 -1
  377. package/dist/util/member-access-tables.d.ts +129 -0
  378. package/dist/util/member-access-tables.d.ts.map +1 -0
  379. package/dist/util/member-access-tables.js +285 -0
  380. package/dist/util/member-access-tables.js.map +1 -0
  381. package/dist/util/member-access.d.ts +17 -0
  382. package/dist/util/member-access.d.ts.map +1 -1
  383. package/dist/util/member-access.js +138 -93
  384. package/dist/util/member-access.js.map +1 -1
  385. package/dist/util/resolution/cargo-targets.d.ts +11 -0
  386. package/dist/util/resolution/cargo-targets.d.ts.map +1 -1
  387. package/dist/util/resolution/cargo-targets.js +174 -13
  388. package/dist/util/resolution/cargo-targets.js.map +1 -1
  389. package/dist/util/resolution/csharp.d.ts +33 -1
  390. package/dist/util/resolution/csharp.d.ts.map +1 -1
  391. package/dist/util/resolution/csharp.js +145 -30
  392. package/dist/util/resolution/csharp.js.map +1 -1
  393. package/dist/util/resolution/php.d.ts.map +1 -1
  394. package/dist/util/resolution/php.js +35 -8
  395. package/dist/util/resolution/php.js.map +1 -1
  396. package/dist/util/resolution/python.d.ts +9 -0
  397. package/dist/util/resolution/python.d.ts.map +1 -1
  398. package/dist/util/resolution/python.js +46 -0
  399. package/dist/util/resolution/python.js.map +1 -1
  400. package/dist/util/resolution/rust.d.ts.map +1 -1
  401. package/dist/util/resolution/rust.js +95 -26
  402. package/dist/util/resolution/rust.js.map +1 -1
  403. package/dist/util/resolution-candidates.d.ts +5 -0
  404. package/dist/util/resolution-candidates.d.ts.map +1 -1
  405. package/dist/util/resolution-candidates.js +16 -3
  406. package/dist/util/resolution-candidates.js.map +1 -1
  407. package/dist/util/resolution.d.ts +2 -1
  408. package/dist/util/resolution.d.ts.map +1 -1
  409. package/dist/util/resolution.js +96 -5
  410. package/dist/util/resolution.js.map +1 -1
  411. package/dist/util/specifiers.d.ts +20 -0
  412. package/dist/util/specifiers.d.ts.map +1 -1
  413. package/dist/util/specifiers.js +39 -93
  414. package/dist/util/specifiers.js.map +1 -1
  415. package/docs/mcp.md +3 -2
  416. package/package.json +3 -3
@@ -0,0 +1,544 @@
1
+ import { parseCsharpUsingDirective, parseJavaImportStatement, parseKotlinImportStatement, parsePhpImportStatement, parseRustImportStatements, rustImportKeywordOffset, } from "../../languages/import-statement-parsers.js";
2
+ import { supportForFileWithoutHeaderSample } from "../../languages.js";
3
+ import { CSHARP_IDENTIFIER_SOURCE, normalizeCsharpQualifiedName } from "../../util/identifiers.js";
4
+ import { isRustCfgTestStatement } from "../../util/rust-test-modules.js";
5
+ import { resolveCsharpDottedTypeImportPath, resolveCsharpNamespaceImportPaths } from "../../util/resolution/csharp.js";
6
+ import { extractRustModPathAttribute, resolveRustImportPath } from "../../util/resolution/rust.js";
7
+ import { collectLineStartOffsets } from "../../util/lines.js";
8
+ import { attributeNamedBindingRanges, maskImportBindingTrivia, sourceRangeFromOffsets } from "./binding-ranges.js";
9
+ function pushCsharpOverride(context, parsed, typeOnly, fromValue, resolved) {
10
+ if (parsed.alias) {
11
+ const fromParts = parsed.from.split(".");
12
+ const imported = fromParts[fromParts.length - 1] ?? parsed.alias;
13
+ context.pushBinding({
14
+ kind: "named",
15
+ local: parsed.alias,
16
+ imported,
17
+ from: fromValue,
18
+ explicitAlias: true,
19
+ resolved,
20
+ typeOnly,
21
+ });
22
+ return;
23
+ }
24
+ context.pushBinding({
25
+ kind: "star",
26
+ from: fromValue,
27
+ resolved,
28
+ typeOnly,
29
+ });
30
+ }
31
+ const CSHARP_EXTERN_ALIAS_PATTERN = new RegExp(String.raw `^extern\s+alias\s+(${CSHARP_IDENTIFIER_SOURCE})\s*;$`, "u");
32
+ function csharpUsingAliasLocalRange(source, statementStartIndex, alias) {
33
+ if (statementStartIndex === undefined || !alias)
34
+ return undefined;
35
+ // Comments and string literals can carry `;` and sit between the alias and `=`
36
+ // (`using X /* ; */ = P;`), so both the statement boundary and the alias match run over
37
+ // trivia-masked text. Masking is one-for-one with the raw source (masked units become
38
+ // spaces, newlines survive), so every match offset is the raw-source offset.
39
+ const masked = maskImportBindingTrivia(source.slice(statementStartIndex), "csharp");
40
+ const semicolon = masked.indexOf(";");
41
+ const window = semicolon < 0 ? masked : masked.slice(0, semicolon + 1);
42
+ const escaped = alias.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
43
+ const match = window.match(new RegExp(`\\busing\\s+(${escaped})\\s*=`));
44
+ if (!match || match.index === undefined)
45
+ return undefined;
46
+ const aliasOffset = match[0].lastIndexOf(alias);
47
+ if (aliasOffset < 0)
48
+ return undefined;
49
+ const start = statementStartIndex + match.index + aliasOffset;
50
+ return sourceRangeFromOffsets(collectLineStartOffsets(source), start, start + alias.length);
51
+ }
52
+ /** A path-like hit counts for a C# directive only when it is a C# file. */
53
+ function csharpImportTarget(context, resolved, spec) {
54
+ if (typeof resolved !== "string")
55
+ return resolved;
56
+ return supportForFileWithoutHeaderSample(resolved, context.languageExtensions)?.id === "csharp"
57
+ ? resolved
58
+ : { external: spec };
59
+ }
60
+ async function applyCsharpStatementOverride(context, normalizedStmt, typeOnly, statementStartIndex) {
61
+ const externAlias = normalizedStmt.match(CSHARP_EXTERN_ALIAS_PATTERN)?.[1];
62
+ if (externAlias) {
63
+ // `extern alias X;` names a compiler-provided alias for an assembly's extern alias. It has no
64
+ // first-party or package target, so it stays an unresolved namespace binding and produces no
65
+ // dependency edge: the graph query does not treat it as an import specifier.
66
+ context.pushBinding({ kind: "namespace", localNS: externAlias, from: externAlias });
67
+ return true;
68
+ }
69
+ const parsed = parseCsharpUsingDirective(normalizedStmt);
70
+ if (!parsed)
71
+ return false;
72
+ // `using static N.T;` imports the static members and nested types of one type. Bind it to the
73
+ // file that declares `T` only when exactly one file does; otherwise it stays external. A
74
+ // `global using static` applies to every file of the project, which module-local bindings
75
+ // cannot express, so it is not bound.
76
+ if (parsed.isStatic && !/^global\s/u.test(normalizedStmt.trim())) {
77
+ const typeMatch = await resolveCsharpDottedTypeImportPath(context.projectRoot, parsed.from, context.file, context.languageExtensions);
78
+ const qualifiedType = normalizeCsharpQualifiedName(parsed.from).replace(/^global::/u, "");
79
+ if (typeMatch.status === "found" && qualifiedType.includes(".")) {
80
+ context.pushBinding({
81
+ kind: "star",
82
+ from: parsed.from,
83
+ resolved: typeMatch.file.replace(/\\/g, "/"),
84
+ typeOnly,
85
+ staticMembersOf: qualifiedType,
86
+ });
87
+ return true;
88
+ }
89
+ }
90
+ // A target that is itself a declared namespace is a namespace alias, even when the alias is
91
+ // written in alias form. Resolving it here keeps the local name a namespace so member
92
+ // navigation can reach the declaring file instead of treating the last segment as a type.
93
+ // A namespace split across several files has no single target, so it keeps the local alias
94
+ // as an unresolved namespace rather than claiming one of the declaring files.
95
+ const namespaceTargets = await resolveCsharpNamespaceImportPaths(context.projectRoot, parsed.from, context.file, context.languageExtensions);
96
+ if (parsed.alias && namespaceTargets.length) {
97
+ const localRange = csharpUsingAliasLocalRange(context.source, statementStartIndex, parsed.alias);
98
+ context.pushBinding({
99
+ kind: "namespace",
100
+ localNS: parsed.alias,
101
+ from: parsed.from,
102
+ ...(namespaceTargets.length === 1 ? { resolved: namespaceTargets[0].replace(/\\/g, "/") } : {}),
103
+ typeOnly,
104
+ ...(localRange ? { localRange } : {}),
105
+ });
106
+ return true;
107
+ }
108
+ let fromValue = parsed.from;
109
+ // `using N;` names a namespace, which ordinary C# declares across many files. Bind it to the
110
+ // first declaring file: lookups through the binding qualify the name with `N`, and
111
+ // namespace-qualified export lookup reaches every file that declares `N` through the
112
+ // compilation-unit relation. Path-like resolution applies only when no file declares `N`, and
113
+ // only to a C# file.
114
+ let resolved = !parsed.alias && namespaceTargets.length
115
+ ? namespaceTargets[0].replace(/\\/g, "/")
116
+ : csharpImportTarget(context, await context.resolveFrom(fromValue), fromValue);
117
+ if (parsed.alias) {
118
+ const fromParts = parsed.from.split(".");
119
+ if (fromParts.length > 1) {
120
+ const fallbackFrom = fromParts.slice(0, -1).join(".");
121
+ if (fallbackFrom) {
122
+ // The full path isn't itself a declared namespace (checked above): `using PT = N.Point;`
123
+ // names a TYPE (`Point`) inside namespace `N`. A namespace that lives in one file can
124
+ // use that file directly. When several files declare it, the type name is resolved
125
+ // across all of them (partial parts share one owner). An ambiguous set stays external
126
+ // instead of keeping a path-like first match such as `N/Point.cs`.
127
+ const fallbackNamespaceTargets = await resolveCsharpNamespaceImportPaths(context.projectRoot, fallbackFrom, context.file, context.languageExtensions);
128
+ if (fallbackNamespaceTargets.length > 1) {
129
+ const typeMatch = await resolveCsharpDottedTypeImportPath(context.projectRoot, parsed.from, context.file, context.languageExtensions);
130
+ if (typeMatch.status === "found") {
131
+ fromValue = fallbackFrom;
132
+ resolved = typeMatch.file;
133
+ }
134
+ else {
135
+ fromValue = parsed.from;
136
+ resolved = { external: parsed.from };
137
+ }
138
+ }
139
+ else if (typeof resolved !== "string" && fallbackNamespaceTargets.length === 1) {
140
+ fromValue = fallbackFrom;
141
+ resolved = fallbackNamespaceTargets[0].replace(/\\/g, "/");
142
+ }
143
+ else if (typeof resolved !== "string") {
144
+ const fallbackResolved = csharpImportTarget(context, await context.resolveFrom(fallbackFrom), fallbackFrom);
145
+ if (typeof fallbackResolved === "string") {
146
+ fromValue = fallbackFrom;
147
+ resolved = fallbackResolved;
148
+ }
149
+ }
150
+ }
151
+ }
152
+ }
153
+ pushCsharpOverride(context, parsed, typeOnly, fromValue, resolved);
154
+ return true;
155
+ }
156
+ async function applyJavaStatementOverride(context, normalizedStmt, typeOnly) {
157
+ return await applyJvmStatementOverride(context, normalizedStmt, typeOnly, parseJavaImportStatement, (parsed) => {
158
+ if (parsed.kind === "named")
159
+ return parsed.imported;
160
+ return undefined;
161
+ });
162
+ }
163
+ async function applyKotlinStatementOverride(context, normalizedStmt, typeOnly) {
164
+ return await applyJvmStatementOverride(context, normalizedStmt, typeOnly, parseKotlinImportStatement, (parsed) => {
165
+ if (parsed.kind === "named")
166
+ return parsed.local;
167
+ return undefined;
168
+ });
169
+ }
170
+ async function applyJvmStatementOverride(context, normalizedStmt, typeOnly, parseStatement, localNameFor) {
171
+ const parsed = parseStatement(normalizedStmt);
172
+ if (!parsed)
173
+ return false;
174
+ return await pushJvmImportBinding(context, parsed, localNameFor(parsed), typeOnly);
175
+ }
176
+ async function pushJvmImportBinding(context, parsed, local, typeOnly) {
177
+ const resolved = await context.resolveFrom(parsed.from);
178
+ if (parsed.kind === "star") {
179
+ context.pushBinding({
180
+ kind: "star",
181
+ from: parsed.from,
182
+ resolved,
183
+ typeOnly,
184
+ });
185
+ return true;
186
+ }
187
+ context.pushBinding({
188
+ kind: "named",
189
+ local: local ?? parsed.imported,
190
+ imported: parsed.imported,
191
+ from: parsed.from,
192
+ ...(parsed.explicitAlias ? { explicitAlias: true } : {}),
193
+ resolved,
194
+ typeOnly,
195
+ });
196
+ return true;
197
+ }
198
+ async function applyRustStatementOverride(context, normalizedStmt, typeOnly, statementStartIndex) {
199
+ if (isRustTestOnlyStatement(context, normalizedStmt, statementStartIndex))
200
+ return true;
201
+ const parsedList = parseRustImportStatements(normalizedStmt);
202
+ if (!parsedList.length)
203
+ return false;
204
+ const seen = new Set(context.getBindings().map(rustBindingKey));
205
+ await pushParsedRustImports(context, parsedList, typeOnly, statementStartIndex, seen);
206
+ return true;
207
+ }
208
+ async function resolveRustParsedFrom(context, from, pathAttribute, statementStartIndex) {
209
+ if (pathAttribute) {
210
+ const attributed = await resolveRustImportPath(context.projectRoot, context.file, from, pathAttribute, statementStartIndex);
211
+ if (attributed)
212
+ return attributed.replace(/\\/g, "/");
213
+ return { external: from };
214
+ }
215
+ return context.resolveFrom(from);
216
+ }
217
+ function rustBindingKey(binding) {
218
+ const resolved = JSON.stringify(binding.resolved);
219
+ if (binding.kind === "named")
220
+ return `named:${binding.local}:${binding.imported}:${binding.from}:${resolved}`;
221
+ if (binding.kind === "namespace")
222
+ return `namespace:${binding.localNS}:${binding.from}:${resolved}`;
223
+ if (binding.kind === "star")
224
+ return `star:${binding.from}:${resolved}`;
225
+ return JSON.stringify(binding);
226
+ }
227
+ function buildRustBinding(parsed, resolved, typeOnly) {
228
+ if (parsed.kind === "member") {
229
+ return {
230
+ kind: "named",
231
+ local: parsed.local,
232
+ imported: parsed.imported,
233
+ from: parsed.from,
234
+ ...(parsed.explicitAlias ? { explicitAlias: true } : {}),
235
+ resolved,
236
+ typeOnly,
237
+ };
238
+ }
239
+ if (parsed.kind === "module") {
240
+ return { kind: "namespace", localNS: parsed.local, from: parsed.from, resolved, typeOnly };
241
+ }
242
+ return { kind: "star", from: parsed.from, resolved, typeOnly };
243
+ }
244
+ async function pushParsedRustImports(context, parsedList, typeOnly, statementStartIndex, seen) {
245
+ const statementPathAttribute = extractRustModPathAttribute(context.source, undefined, statementStartIndex);
246
+ for (const parsed of parsedList) {
247
+ const pathAttribute = parsed.kind === "module" && !parsed.isExternCrate ? (parsed.pathAttribute ?? statementPathAttribute) : undefined;
248
+ const resolved = await resolveRustParsedFrom(context, parsed.from, pathAttribute, statementStartIndex);
249
+ const binding = buildRustBinding(parsed, resolved, typeOnly);
250
+ const key = rustBindingKey(binding);
251
+ if (seen.has(key))
252
+ continue;
253
+ seen.add(key);
254
+ context.pushBinding(binding);
255
+ }
256
+ }
257
+ function isRustTestOnlyStatement(context, normalizedStmt, statementStartIndex) {
258
+ if (context.languageId !== "rust")
259
+ return false;
260
+ if (statementStartIndex !== undefined) {
261
+ const keywordOffset = rustImportKeywordOffset(context.source.slice(statementStartIndex));
262
+ const keywordIndex = keywordOffset >= 0 ? statementStartIndex + keywordOffset : statementStartIndex;
263
+ const keywordText = keywordOffset >= 0 ? context.source.slice(keywordIndex) : normalizedStmt;
264
+ return isRustCfgTestStatement(context.source, keywordText, keywordIndex);
265
+ }
266
+ return isRustCfgTestStatement(context.source, normalizedStmt, statementStartIndex);
267
+ }
268
+ async function applyPhpStatementOverride(context, normalizedStmt, typeOnly) {
269
+ const parsed = parsePhpImportStatement(normalizedStmt, context.file);
270
+ if (!parsed.length)
271
+ return false;
272
+ for (const entry of parsed) {
273
+ if (entry.kind === "include") {
274
+ const resolved = await context.resolveFrom(entry.from);
275
+ context.pushBinding({
276
+ kind: "star",
277
+ from: entry.from,
278
+ resolved,
279
+ typeOnly,
280
+ mechanism: "php",
281
+ });
282
+ continue;
283
+ }
284
+ const resolved = await context.resolveFrom(entry.from, entry.importType);
285
+ context.pushBinding({
286
+ kind: "named",
287
+ local: entry.local,
288
+ imported: entry.imported,
289
+ from: entry.from,
290
+ ...(entry.explicitAlias ? { explicitAlias: true } : {}),
291
+ phpImportType: entry.importType,
292
+ resolved,
293
+ typeOnly,
294
+ mechanism: "php",
295
+ });
296
+ }
297
+ return true;
298
+ }
299
+ function pushNamedImplicitBinding(context, binding, stmtText, stmtStartIndex, source, alwaysAliased) {
300
+ if (stmtStartIndex !== undefined && source !== undefined) {
301
+ attributeNamedBindingRanges({
302
+ bindings: [binding],
303
+ fromIndex: 0,
304
+ text: maskImportBindingTrivia(stmtText, context.languageId),
305
+ textStartIndex: stmtStartIndex,
306
+ source,
307
+ ...(alwaysAliased !== undefined ? { alwaysAliased } : {}),
308
+ });
309
+ }
310
+ context.pushBinding(binding);
311
+ }
312
+ function appendJavaImplicitBinding(context, { from, resolved, typeOnly, stmtText, stmtStartIndex, source }) {
313
+ const parts = from.split(".");
314
+ const last = parts[parts.length - 1];
315
+ if (last === "*") {
316
+ context.pushBinding({ kind: "star", from, resolved, typeOnly });
317
+ }
318
+ else if (last) {
319
+ pushNamedImplicitBinding(context, { kind: "named", local: last, imported: last, from, resolved, typeOnly }, stmtText, stmtStartIndex, source, undefined);
320
+ }
321
+ }
322
+ function appendCsharpImplicitBinding(context, { from, resolved, typeOnly, stmtText, stmtStartIndex, source, alias }) {
323
+ if (alias) {
324
+ const fromParts = from.split(".");
325
+ const imported = fromParts[fromParts.length - 1] ?? alias;
326
+ pushNamedImplicitBinding(context, { kind: "named", local: alias, imported, from, explicitAlias: true, resolved, typeOnly }, stmtText, stmtStartIndex, source, IMPORT_BINDING_ROWS.csharp.alwaysAliased);
327
+ }
328
+ else {
329
+ context.pushBinding({ kind: "star", from, resolved, typeOnly });
330
+ }
331
+ }
332
+ function appendRubyImplicitBinding(context, { from, resolved }) {
333
+ context.pushBinding({ kind: "star", from, resolved });
334
+ }
335
+ function appendGoImplicitBinding(context, { from, resolved, alias }) {
336
+ if (alias === "_")
337
+ return;
338
+ if (alias === ".") {
339
+ context.pushBinding({ kind: "star", from, resolved });
340
+ return;
341
+ }
342
+ if (alias) {
343
+ context.pushBinding({ kind: "namespace", localNS: alias, from, resolved });
344
+ return;
345
+ }
346
+ const parts = from.replace(/"/g, "").split("/");
347
+ const last = parts[parts.length - 1];
348
+ if (last)
349
+ context.pushBinding({ kind: "namespace", localNS: last, from, resolved });
350
+ }
351
+ function appendRustImplicitBinding(context, { from, resolved, stmtText, stmtStartIndex, source }) {
352
+ if (stmtText.startsWith("mod ")) {
353
+ context.pushBinding({ kind: "namespace", localNS: from, from, resolved });
354
+ }
355
+ else {
356
+ const parts = from.split("::");
357
+ const last = parts[parts.length - 1];
358
+ if (!last)
359
+ return;
360
+ if (last === "*") {
361
+ context.pushBinding({ kind: "star", from, resolved });
362
+ }
363
+ else {
364
+ pushNamedImplicitBinding(context, { kind: "named", local: last, imported: last, from, resolved }, stmtText, stmtStartIndex, source, undefined);
365
+ }
366
+ }
367
+ }
368
+ function appendKotlinImplicitBinding(context, { from, resolved, typeOnly, stmtText, stmtStartIndex, source, alias, wildcard }) {
369
+ if (wildcard || from.endsWith(".*")) {
370
+ context.pushBinding({ kind: "star", from, resolved, typeOnly });
371
+ }
372
+ else {
373
+ const parts = from.split(".");
374
+ const imported = parts[parts.length - 1];
375
+ if (imported)
376
+ pushNamedImplicitBinding(context, {
377
+ kind: "named",
378
+ local: alias ?? imported,
379
+ imported,
380
+ from,
381
+ ...(alias !== undefined ? { explicitAlias: true } : {}),
382
+ resolved,
383
+ typeOnly,
384
+ }, stmtText, stmtStartIndex, source, undefined);
385
+ }
386
+ }
387
+ function swiftModuleLocalRange(source, statementStartIndex, statementText, name) {
388
+ if (!source || statementStartIndex === undefined || !name)
389
+ return undefined;
390
+ const masked = maskImportBindingTrivia(statementText, "swift");
391
+ let found = -1;
392
+ let searchFrom = 0;
393
+ for (;;) {
394
+ const index = masked.indexOf(name, searchFrom);
395
+ if (index < 0)
396
+ break;
397
+ const before = index === 0 ? "" : masked[index - 1];
398
+ const after = masked[index + name.length] ?? "";
399
+ const boundary = /[^\p{L}\p{N}_]/u;
400
+ if ((index === 0 || boundary.test(before)) && (after === "" || boundary.test(after)))
401
+ found = index;
402
+ searchFrom = index + name.length;
403
+ }
404
+ if (found < 0)
405
+ return undefined;
406
+ const startIndex = statementStartIndex + found;
407
+ return sourceRangeFromOffsets(collectLineStartOffsets(source), startIndex, startIndex + name.length);
408
+ }
409
+ function appendSwiftImplicitBinding(context, { from, resolved, typeOnly, stmtText, stmtStartIndex, source }) {
410
+ const parts = from.split(".");
411
+ const last = parts[parts.length - 1];
412
+ if (!last)
413
+ return;
414
+ if (parts.length === 1) {
415
+ // The module name keeps its source range so `import Utils` stays an explicit namespace
416
+ // binding. The companion star import has no range and remains the expansion source.
417
+ const localRange = swiftModuleLocalRange(source, stmtStartIndex, stmtText, last);
418
+ context.pushBinding({
419
+ kind: "namespace",
420
+ localNS: last,
421
+ from,
422
+ resolved,
423
+ typeOnly,
424
+ ...(localRange ? { localRange } : {}),
425
+ });
426
+ context.pushBinding({ kind: "star", from, resolved, typeOnly });
427
+ }
428
+ else {
429
+ pushNamedImplicitBinding(context, { kind: "named", local: last, imported: last, from, resolved, typeOnly }, stmtText, stmtStartIndex, source, undefined);
430
+ }
431
+ }
432
+ function appendZigImplicitBinding(context, { from, resolved, typeOnly, alias, localRange }) {
433
+ if (!alias)
434
+ return;
435
+ context.pushBinding({
436
+ kind: "namespace",
437
+ localNS: alias,
438
+ from,
439
+ resolved,
440
+ typeOnly,
441
+ ...(localRange ? { localRange } : {}),
442
+ });
443
+ }
444
+ function appendIncludeStarImplicitBinding(context, { from, resolved, typeOnly, includeForm }) {
445
+ context.pushBinding({
446
+ kind: "star",
447
+ from,
448
+ resolved,
449
+ typeOnly,
450
+ ...(includeForm ? { includeForm } : {}),
451
+ });
452
+ }
453
+ const ECMASCRIPT_STATEMENT_OMITTED = "ECMAScript import bindings come from native captures and the JS text fallback, not a statement parser override.";
454
+ const ECMASCRIPT_IMPLICIT_OMITTED = "ECMAScript named/default/namespace/star bindings are emitted from native captures; implicit mapping is unused.";
455
+ const STYLESHEET_OMITTED = "Style language; import bindings are graph-only stylesheet specifiers, not this registry.";
456
+ const INCLUDE_STATEMENT_OMITTED = "C/C++ #include bindings are implicit star imports from native captures; there is no statement parser override.";
457
+ export const IMPORT_BINDING_ROWS = {
458
+ adoc: { omittedReason: "AsciiDoc document format; embedded code blocks parse as their own language." },
459
+ astro: { omittedReason: "Astro document format; scripts parse as js/ts and templates as html." },
460
+ c: {
461
+ appendImplicit: appendIncludeStarImplicitBinding,
462
+ statementOmittedReason: INCLUDE_STATEMENT_OMITTED,
463
+ },
464
+ cpp: {
465
+ appendImplicit: appendIncludeStarImplicitBinding,
466
+ statementOmittedReason: INCLUDE_STATEMENT_OMITTED,
467
+ },
468
+ css: { omittedReason: STYLESHEET_OMITTED },
469
+ csharp: {
470
+ applyStatement: applyCsharpStatementOverride,
471
+ appendImplicit: appendCsharpImplicitBinding,
472
+ maskTrivia: true,
473
+ normalizeDots: true,
474
+ alwaysAliased: true,
475
+ // `using X = P;` in two namespace blocks is two scoped aliases, each with its own range.
476
+ statementKeyUsesOffset: true,
477
+ },
478
+ go: {
479
+ appendImplicit: appendGoImplicitBinding,
480
+ statementOmittedReason: "Go import bindings come from native captures plus implicit alias/blank/dot mapping; there is no statement parser override.",
481
+ },
482
+ hbs: { omittedReason: "Handlebars document format; embedded scripts parse as their own language." },
483
+ html: { omittedReason: "Document format; embedded scripts parse as their own language." },
484
+ java: {
485
+ applyStatement: applyJavaStatementOverride,
486
+ appendImplicit: appendJavaImplicitBinding,
487
+ maskTrivia: true,
488
+ normalizeDots: true,
489
+ },
490
+ js: {
491
+ statementOmittedReason: ECMASCRIPT_STATEMENT_OMITTED,
492
+ implicitOmittedReason: ECMASCRIPT_IMPLICIT_OMITTED,
493
+ },
494
+ kotlin: {
495
+ applyStatement: applyKotlinStatementOverride,
496
+ appendImplicit: appendKotlinImplicitBinding,
497
+ maskTrivia: true,
498
+ normalizeDots: true,
499
+ },
500
+ less: { omittedReason: STYLESHEET_OMITTED },
501
+ markdown: { omittedReason: "Document format; fenced code blocks parse as their own language." },
502
+ mdx: { omittedReason: "MDX document format; scripts parse as js/ts and templates as html." },
503
+ php: {
504
+ applyStatement: applyPhpStatementOverride,
505
+ maskTrivia: "use-keyword",
506
+ implicitOmittedReason: "PHP use and include statements are fully handled by the statement override.",
507
+ },
508
+ python: {
509
+ omittedReason: "Python import bindings are collected in python.ts, not through statement overrides or implicit mapping.",
510
+ },
511
+ rst: { omittedReason: "reStructuredText document format; embedded code blocks parse as their own language." },
512
+ ruby: {
513
+ appendImplicit: appendRubyImplicitBinding,
514
+ statementOmittedReason: "Ruby require/load/autoload bindings are implicit star imports from native captures; there is no statement parser override.",
515
+ },
516
+ rust: {
517
+ applyStatement: applyRustStatementOverride,
518
+ appendImplicit: appendRustImplicitBinding,
519
+ maskTrivia: false,
520
+ statementKeyUsesOffset: true,
521
+ rescanTextBindings: true,
522
+ },
523
+ scss: { omittedReason: STYLESHEET_OMITTED },
524
+ sql: { omittedReason: "Data language; no import-statement or implicit-binding dispatch." },
525
+ svelte: { omittedReason: "Svelte component format; script blocks parse as js/ts and templates as html." },
526
+ swift: {
527
+ appendImplicit: appendSwiftImplicitBinding,
528
+ statementOmittedReason: "Swift import bindings are implicit namespace/star (or named) mappings from native captures; there is no statement parser override.",
529
+ },
530
+ ts: {
531
+ statementOmittedReason: ECMASCRIPT_STATEMENT_OMITTED,
532
+ implicitOmittedReason: ECMASCRIPT_IMPLICIT_OMITTED,
533
+ },
534
+ tsx: {
535
+ statementOmittedReason: ECMASCRIPT_STATEMENT_OMITTED,
536
+ implicitOmittedReason: ECMASCRIPT_IMPLICIT_OMITTED,
537
+ },
538
+ vue: { omittedReason: "Vue component format; script blocks parse as js/ts and templates as html." },
539
+ zig: {
540
+ appendImplicit: appendZigImplicitBinding,
541
+ statementOmittedReason: "Zig @import bindings are implicit namespace mappings from the captured alias; there is no statement parser override.",
542
+ },
543
+ };
544
+ //# sourceMappingURL=import-binding-tables.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"import-binding-tables.js","sourceRoot":"","sources":["../../../src/indexer/imports/import-binding-tables.ts"],"names":[],"mappings":"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"}
@@ -264,8 +264,8 @@ async function collectCommonJsRequireDeclarations(context, source, maskedSource,
264
264
  const localRange = tokenRange(source, lineStarts, localStart, local);
265
265
  const resolved = await context.resolveFrom(moduleSpecifier);
266
266
  context.pushBinding({
267
- kind: "default",
268
- local,
267
+ kind: "namespace",
268
+ localNS: local,
269
269
  from: moduleSpecifier,
270
270
  ...(localRange ? { localRange } : {}),
271
271
  resolved,
@@ -318,8 +318,8 @@ async function collectCommonJsImportEquals(context, source, maskedSource, lineSt
318
318
  const localRange = tokenRange(source, lineStarts, localStart, local);
319
319
  const resolved = await context.resolveFrom(moduleSpecifier);
320
320
  context.pushBinding({
321
- kind: "default",
322
- local,
321
+ kind: "namespace",
322
+ localNS: local,
323
323
  from: moduleSpecifier,
324
324
  ...(localRange ? { localRange } : {}),
325
325
  resolved,