cgraphx 2.0.2 → 2.0.3

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 (680) hide show
  1. package/dist/core/code/engine/cli/analyze-config.js +320 -0
  2. package/dist/core/code/engine/cli/analyze.js +1086 -0
  3. package/dist/core/code/engine/cli/cli-message.js +83 -0
  4. package/dist/core/code/engine/cli/detect-changes-format.js +58 -0
  5. package/dist/core/code/engine/cli/embedding-dims.js +43 -0
  6. package/dist/core/code/engine/cli/format-elapsed.js +12 -0
  7. package/dist/core/code/engine/cli/help-i18n.js +144 -0
  8. package/dist/core/code/engine/cli/i18n/en.js +110 -0
  9. package/dist/core/code/engine/cli/i18n/index.js +47 -0
  10. package/dist/core/code/engine/cli/i18n/resources.js +9 -0
  11. package/dist/core/code/engine/cli/i18n/zh-CN.js +110 -0
  12. package/dist/core/code/engine/cli/lazy-action.js +67 -0
  13. package/dist/core/code/engine/cli/optional-grammars.js +136 -0
  14. package/dist/core/code/engine/cli/resolve-invocation.js +76 -0
  15. package/dist/core/code/engine/cli/status.js +156 -0
  16. package/dist/core/code/engine/cli/tool.js +384 -0
  17. package/dist/core/code/engine/config/ignore-service.js +511 -0
  18. package/dist/core/code/engine/config/supported-languages.js +17 -0
  19. package/dist/core/code/engine/core/analysis-features.js +64 -0
  20. package/dist/core/code/engine/core/analyzer-identity.js +2171 -0
  21. package/dist/core/code/engine/core/git-staleness.js +180 -0
  22. package/dist/core/code/engine/core/graph/graph.js +180 -0
  23. package/dist/core/code/engine/core/graph/import-cycles.js +106 -0
  24. package/dist/core/code/engine/core/graph/types.js +2 -0
  25. package/dist/core/code/engine/core/index-freshness.js +12 -0
  26. package/dist/core/code/engine/core/ingestion/binding-accumulator.js +341 -0
  27. package/dist/core/code/engine/core/ingestion/call-extractors/configs/c-cpp.js +168 -0
  28. package/dist/core/code/engine/core/ingestion/call-extractors/configs/csharp.js +9 -0
  29. package/dist/core/code/engine/core/ingestion/call-extractors/configs/dart.js +8 -0
  30. package/dist/core/code/engine/core/ingestion/call-extractors/configs/go.js +8 -0
  31. package/dist/core/code/engine/core/ingestion/call-extractors/configs/jvm.js +54 -0
  32. package/dist/core/code/engine/core/ingestion/call-extractors/configs/php.js +8 -0
  33. package/dist/core/code/engine/core/ingestion/call-extractors/configs/python.js +8 -0
  34. package/dist/core/code/engine/core/ingestion/call-extractors/configs/ruby.js +8 -0
  35. package/dist/core/code/engine/core/ingestion/call-extractors/configs/rust.js +8 -0
  36. package/dist/core/code/engine/core/ingestion/call-extractors/configs/swift.js +8 -0
  37. package/dist/core/code/engine/core/ingestion/call-extractors/configs/typescript-javascript.js +11 -0
  38. package/dist/core/code/engine/core/ingestion/call-extractors/generic.js +62 -0
  39. package/dist/core/code/engine/core/ingestion/call-processor.js +503 -0
  40. package/dist/core/code/engine/core/ingestion/call-routing.js +98 -0
  41. package/dist/core/code/engine/core/ingestion/call-types.js +3 -0
  42. package/dist/core/code/engine/core/ingestion/cfg/callee-cell-format.js +45 -0
  43. package/dist/core/code/engine/core/ingestion/cfg/cfg-builder.js +202 -0
  44. package/dist/core/code/engine/core/ingestion/cfg/collect.js +81 -0
  45. package/dist/core/code/engine/core/ingestion/cfg/control-dependence.js +185 -0
  46. package/dist/core/code/engine/core/ingestion/cfg/control-flow-context.js +130 -0
  47. package/dist/core/code/engine/core/ingestion/cfg/emit.js +646 -0
  48. package/dist/core/code/engine/core/ingestion/cfg/post-dominators.js +182 -0
  49. package/dist/core/code/engine/core/ingestion/cfg/reaching-def-reason-codec.js +139 -0
  50. package/dist/core/code/engine/core/ingestion/cfg/reaching-defs-graph.js +322 -0
  51. package/dist/core/code/engine/core/ingestion/cfg/reaching-defs.js +792 -0
  52. package/dist/core/code/engine/core/ingestion/cfg/synthetic-escape.js +305 -0
  53. package/dist/core/code/engine/core/ingestion/cfg/traversal-result.js +6 -0
  54. package/dist/core/code/engine/core/ingestion/cfg/types.js +14 -0
  55. package/dist/core/code/engine/core/ingestion/cfg/visitors/c-cpp-harvest.js +545 -0
  56. package/dist/core/code/engine/core/ingestion/cfg/visitors/c-cpp.js +590 -0
  57. package/dist/core/code/engine/core/ingestion/cfg/visitors/call-site-harvest.js +356 -0
  58. package/dist/core/code/engine/core/ingestion/cfg/visitors/csharp-harvest.js +593 -0
  59. package/dist/core/code/engine/core/ingestion/cfg/visitors/csharp.js +871 -0
  60. package/dist/core/code/engine/core/ingestion/cfg/visitors/dart-harvest.js +874 -0
  61. package/dist/core/code/engine/core/ingestion/cfg/visitors/dart.js +840 -0
  62. package/dist/core/code/engine/core/ingestion/cfg/visitors/go-harvest.js +625 -0
  63. package/dist/core/code/engine/core/ingestion/cfg/visitors/go.js +642 -0
  64. package/dist/core/code/engine/core/ingestion/cfg/visitors/java-harvest.js +517 -0
  65. package/dist/core/code/engine/core/ingestion/cfg/visitors/java.js +816 -0
  66. package/dist/core/code/engine/core/ingestion/cfg/visitors/kotlin-harvest.js +723 -0
  67. package/dist/core/code/engine/core/ingestion/cfg/visitors/kotlin.js +813 -0
  68. package/dist/core/code/engine/core/ingestion/cfg/visitors/php-harvest.js +630 -0
  69. package/dist/core/code/engine/core/ingestion/cfg/visitors/php.js +725 -0
  70. package/dist/core/code/engine/core/ingestion/cfg/visitors/python-harvest.js +776 -0
  71. package/dist/core/code/engine/core/ingestion/cfg/visitors/python.js +562 -0
  72. package/dist/core/code/engine/core/ingestion/cfg/visitors/ruby-harvest.js +591 -0
  73. package/dist/core/code/engine/core/ingestion/cfg/visitors/ruby.js +760 -0
  74. package/dist/core/code/engine/core/ingestion/cfg/visitors/rust-harvest.js +877 -0
  75. package/dist/core/code/engine/core/ingestion/cfg/visitors/rust.js +562 -0
  76. package/dist/core/code/engine/core/ingestion/cfg/visitors/scope-tree-harvest.js +120 -0
  77. package/dist/core/code/engine/core/ingestion/cfg/visitors/swift-harvest.js +683 -0
  78. package/dist/core/code/engine/core/ingestion/cfg/visitors/swift.js +791 -0
  79. package/dist/core/code/engine/core/ingestion/cfg/visitors/typescript-harvest.js +1060 -0
  80. package/dist/core/code/engine/core/ingestion/cfg/visitors/typescript.js +587 -0
  81. package/dist/core/code/engine/core/ingestion/class-extractors/configs/c-cpp.js +77 -0
  82. package/dist/core/code/engine/core/ingestion/class-extractors/configs/csharp.js +24 -0
  83. package/dist/core/code/engine/core/ingestion/class-extractors/configs/dart.js +10 -0
  84. package/dist/core/code/engine/core/ingestion/class-extractors/configs/go.js +28 -0
  85. package/dist/core/code/engine/core/ingestion/class-extractors/configs/jvm.js +67 -0
  86. package/dist/core/code/engine/core/ingestion/class-extractors/configs/php.js +10 -0
  87. package/dist/core/code/engine/core/ingestion/class-extractors/configs/python.js +10 -0
  88. package/dist/core/code/engine/core/ingestion/class-extractors/configs/ruby.js +13 -0
  89. package/dist/core/code/engine/core/ingestion/class-extractors/configs/rust.js +10 -0
  90. package/dist/core/code/engine/core/ingestion/class-extractors/configs/swift.js +21 -0
  91. package/dist/core/code/engine/core/ingestion/class-extractors/configs/typescript-javascript.js +31 -0
  92. package/dist/core/code/engine/core/ingestion/class-extractors/generic.js +144 -0
  93. package/dist/core/code/engine/core/ingestion/class-types.js +2 -0
  94. package/dist/core/code/engine/core/ingestion/cluster-enricher.js +174 -0
  95. package/dist/core/code/engine/core/ingestion/community-processor.js +604 -0
  96. package/dist/core/code/engine/core/ingestion/constants.js +26 -0
  97. package/dist/core/code/engine/core/ingestion/cpp-ue-preprocessor.js +263 -0
  98. package/dist/core/code/engine/core/ingestion/csharp-namespace-gate.js +133 -0
  99. package/dist/core/code/engine/core/ingestion/di-extractors/index.js +38 -0
  100. package/dist/core/code/engine/core/ingestion/di-extractors/spring.js +310 -0
  101. package/dist/core/code/engine/core/ingestion/emit-references.js +244 -0
  102. package/dist/core/code/engine/core/ingestion/entry-point-scoring.js +201 -0
  103. package/dist/core/code/engine/core/ingestion/export-detection.js +244 -0
  104. package/dist/core/code/engine/core/ingestion/field-extractor.js +29 -0
  105. package/dist/core/code/engine/core/ingestion/field-extractors/configs/c-cpp.js +107 -0
  106. package/dist/core/code/engine/core/ingestion/field-extractors/configs/csharp.js +124 -0
  107. package/dist/core/code/engine/core/ingestion/field-extractors/configs/dart.js +99 -0
  108. package/dist/core/code/engine/core/ingestion/field-extractors/configs/go.js +102 -0
  109. package/dist/core/code/engine/core/ingestion/field-extractors/configs/helpers.js +198 -0
  110. package/dist/core/code/engine/core/ingestion/field-extractors/configs/jvm.js +172 -0
  111. package/dist/core/code/engine/core/ingestion/field-extractors/configs/php.js +67 -0
  112. package/dist/core/code/engine/core/ingestion/field-extractors/configs/python.js +94 -0
  113. package/dist/core/code/engine/core/ingestion/field-extractors/configs/ruby.js +79 -0
  114. package/dist/core/code/engine/core/ingestion/field-extractors/configs/rust.js +55 -0
  115. package/dist/core/code/engine/core/ingestion/field-extractors/configs/swift.js +93 -0
  116. package/dist/core/code/engine/core/ingestion/field-extractors/configs/typescript-javascript.js +59 -0
  117. package/dist/core/code/engine/core/ingestion/field-extractors/generic.js +147 -0
  118. package/dist/core/code/engine/core/ingestion/field-extractors/typescript.js +266 -0
  119. package/dist/core/code/engine/core/ingestion/field-types.js +3 -0
  120. package/dist/core/code/engine/core/ingestion/filesystem-walker.js +136 -0
  121. package/dist/core/code/engine/core/ingestion/finalize-orchestrator.js +159 -0
  122. package/dist/core/code/engine/core/ingestion/framework-detection.js +432 -0
  123. package/dist/core/code/engine/core/ingestion/frameworks/spring/analysis-features.js +38 -0
  124. package/dist/core/code/engine/core/ingestion/frameworks/spring/annotation-arguments.js +234 -0
  125. package/dist/core/code/engine/core/ingestion/frameworks/spring/aop-candidates.js +88 -0
  126. package/dist/core/code/engine/core/ingestion/frameworks/spring/aop.js +487 -0
  127. package/dist/core/code/engine/core/ingestion/frameworks/spring/auto-configuration.js +21 -0
  128. package/dist/core/code/engine/core/ingestion/frameworks/spring/bean-candidates.js +189 -0
  129. package/dist/core/code/engine/core/ingestion/frameworks/spring/bean-catalog.js +32 -0
  130. package/dist/core/code/engine/core/ingestion/frameworks/spring/bean-factories.js +73 -0
  131. package/dist/core/code/engine/core/ingestion/frameworks/spring/conditionals.js +323 -0
  132. package/dist/core/code/engine/core/ingestion/frameworks/spring/config-bindings.js +119 -0
  133. package/dist/core/code/engine/core/ingestion/frameworks/spring/di-metadata.js +385 -0
  134. package/dist/core/code/engine/core/ingestion/frameworks/spring/resource-injection.js +96 -0
  135. package/dist/core/code/engine/core/ingestion/import-resolvers/configs/c-cpp.js +17 -0
  136. package/dist/core/code/engine/core/ingestion/import-resolvers/configs/csharp.js +46 -0
  137. package/dist/core/code/engine/core/ingestion/import-resolvers/configs/dart.js +59 -0
  138. package/dist/core/code/engine/core/ingestion/import-resolvers/configs/go.js +30 -0
  139. package/dist/core/code/engine/core/ingestion/import-resolvers/configs/jvm.js +73 -0
  140. package/dist/core/code/engine/core/ingestion/import-resolvers/configs/php.js +19 -0
  141. package/dist/core/code/engine/core/ingestion/import-resolvers/configs/python.js +45 -0
  142. package/dist/core/code/engine/core/ingestion/import-resolvers/configs/ruby.js +20 -0
  143. package/dist/core/code/engine/core/ingestion/import-resolvers/configs/rust.js +58 -0
  144. package/dist/core/code/engine/core/ingestion/import-resolvers/configs/swift.js +94 -0
  145. package/dist/core/code/engine/core/ingestion/import-resolvers/configs/typescript-javascript.js +26 -0
  146. package/dist/core/code/engine/core/ingestion/import-resolvers/csharp.js +128 -0
  147. package/dist/core/code/engine/core/ingestion/import-resolvers/go.js +50 -0
  148. package/dist/core/code/engine/core/ingestion/import-resolvers/jvm.js +112 -0
  149. package/dist/core/code/engine/core/ingestion/import-resolvers/php.js +80 -0
  150. package/dist/core/code/engine/core/ingestion/import-resolvers/python.js +75 -0
  151. package/dist/core/code/engine/core/ingestion/import-resolvers/resolver-factory.js +36 -0
  152. package/dist/core/code/engine/core/ingestion/import-resolvers/ruby.js +20 -0
  153. package/dist/core/code/engine/core/ingestion/import-resolvers/rust.js +79 -0
  154. package/dist/core/code/engine/core/ingestion/import-resolvers/standard.js +180 -0
  155. package/dist/core/code/engine/core/ingestion/import-resolvers/types.js +7 -0
  156. package/dist/core/code/engine/core/ingestion/import-resolvers/utils.js +153 -0
  157. package/dist/core/code/engine/core/ingestion/import-target-adapter.js +99 -0
  158. package/dist/core/code/engine/core/ingestion/language-config.js +391 -0
  159. package/dist/core/code/engine/core/ingestion/language-provider.js +25 -0
  160. package/dist/core/code/engine/core/ingestion/languages/c/arity-metadata.js +98 -0
  161. package/dist/core/code/engine/core/ingestion/languages/c/arity.js +21 -0
  162. package/dist/core/code/engine/core/ingestion/languages/c/capture-side-channel.js +69 -0
  163. package/dist/core/code/engine/core/ingestion/languages/c/captures.js +189 -0
  164. package/dist/core/code/engine/core/ingestion/languages/c/header-scan.js +58 -0
  165. package/dist/core/code/engine/core/ingestion/languages/c/import-decomposer.js +68 -0
  166. package/dist/core/code/engine/core/ingestion/languages/c/import-target.js +103 -0
  167. package/dist/core/code/engine/core/ingestion/languages/c/index.js +33 -0
  168. package/dist/core/code/engine/core/ingestion/languages/c/interpret.js +53 -0
  169. package/dist/core/code/engine/core/ingestion/languages/c/merge-bindings.js +26 -0
  170. package/dist/core/code/engine/core/ingestion/languages/c/query.js +210 -0
  171. package/dist/core/code/engine/core/ingestion/languages/c/scope-resolver.js +112 -0
  172. package/dist/core/code/engine/core/ingestion/languages/c/simple-hooks.js +24 -0
  173. package/dist/core/code/engine/core/ingestion/languages/c/static-linkage.js +109 -0
  174. package/dist/core/code/engine/core/ingestion/languages/c-cpp.js +506 -0
  175. package/dist/core/code/engine/core/ingestion/languages/cpp/adl.js +804 -0
  176. package/dist/core/code/engine/core/ingestion/languages/cpp/arity-metadata.js +258 -0
  177. package/dist/core/code/engine/core/ingestion/languages/cpp/arity.js +37 -0
  178. package/dist/core/code/engine/core/ingestion/languages/cpp/capture-side-channel.js +89 -0
  179. package/dist/core/code/engine/core/ingestion/languages/cpp/captures.js +1975 -0
  180. package/dist/core/code/engine/core/ingestion/languages/cpp/constraint-extractor.js +311 -0
  181. package/dist/core/code/engine/core/ingestion/languages/cpp/constraint-filter.js +210 -0
  182. package/dist/core/code/engine/core/ingestion/languages/cpp/conversion-rank.js +163 -0
  183. package/dist/core/code/engine/core/ingestion/languages/cpp/file-local-linkage.js +327 -0
  184. package/dist/core/code/engine/core/ingestion/languages/cpp/header-scan.js +53 -0
  185. package/dist/core/code/engine/core/ingestion/languages/cpp/import-decomposer.js +134 -0
  186. package/dist/core/code/engine/core/ingestion/languages/cpp/import-target.js +16 -0
  187. package/dist/core/code/engine/core/ingestion/languages/cpp/index.js +33 -0
  188. package/dist/core/code/engine/core/ingestion/languages/cpp/inline-namespaces.js +379 -0
  189. package/dist/core/code/engine/core/ingestion/languages/cpp/interpret.js +239 -0
  190. package/dist/core/code/engine/core/ingestion/languages/cpp/member-lookup.js +470 -0
  191. package/dist/core/code/engine/core/ingestion/languages/cpp/merge-bindings.js +32 -0
  192. package/dist/core/code/engine/core/ingestion/languages/cpp/query.js +763 -0
  193. package/dist/core/code/engine/core/ingestion/languages/cpp/range-bindings.js +230 -0
  194. package/dist/core/code/engine/core/ingestion/languages/cpp/scope-resolver.js +354 -0
  195. package/dist/core/code/engine/core/ingestion/languages/cpp/simple-hooks.js +67 -0
  196. package/dist/core/code/engine/core/ingestion/languages/cpp/two-phase-lookup.js +348 -0
  197. package/dist/core/code/engine/core/ingestion/languages/cpp/type-classifier.js +56 -0
  198. package/dist/core/code/engine/core/ingestion/languages/cpp/user-defined-conversions.js +128 -0
  199. package/dist/core/code/engine/core/ingestion/languages/csharp/accessor-unwrap.js +67 -0
  200. package/dist/core/code/engine/core/ingestion/languages/csharp/arity-metadata.js +49 -0
  201. package/dist/core/code/engine/core/ingestion/languages/csharp/arity.js +40 -0
  202. package/dist/core/code/engine/core/ingestion/languages/csharp/cache-stats.js +32 -0
  203. package/dist/core/code/engine/core/ingestion/languages/csharp/captures.js +557 -0
  204. package/dist/core/code/engine/core/ingestion/languages/csharp/import-decomposer.js +96 -0
  205. package/dist/core/code/engine/core/ingestion/languages/csharp/import-target.js +176 -0
  206. package/dist/core/code/engine/core/ingestion/languages/csharp/index.js +95 -0
  207. package/dist/core/code/engine/core/ingestion/languages/csharp/interpret.js +150 -0
  208. package/dist/core/code/engine/core/ingestion/languages/csharp/merge-bindings.js +58 -0
  209. package/dist/core/code/engine/core/ingestion/languages/csharp/namespace-siblings.js +708 -0
  210. package/dist/core/code/engine/core/ingestion/languages/csharp/qualified-type-names.js +62 -0
  211. package/dist/core/code/engine/core/ingestion/languages/csharp/query.js +578 -0
  212. package/dist/core/code/engine/core/ingestion/languages/csharp/receiver-binding.js +142 -0
  213. package/dist/core/code/engine/core/ingestion/languages/csharp/resolution-config.js +18 -0
  214. package/dist/core/code/engine/core/ingestion/languages/csharp/scope-resolver.js +84 -0
  215. package/dist/core/code/engine/core/ingestion/languages/csharp/simple-hooks.js +81 -0
  216. package/dist/core/code/engine/core/ingestion/languages/csharp.js +204 -0
  217. package/dist/core/code/engine/core/ingestion/languages/dart/arity-metadata.js +38 -0
  218. package/dist/core/code/engine/core/ingestion/languages/dart/arity.js +34 -0
  219. package/dist/core/code/engine/core/ingestion/languages/dart/built-ins.js +37 -0
  220. package/dist/core/code/engine/core/ingestion/languages/dart/cache-stats.js +30 -0
  221. package/dist/core/code/engine/core/ingestion/languages/dart/captures.js +1096 -0
  222. package/dist/core/code/engine/core/ingestion/languages/dart/expand-wildcards.js +34 -0
  223. package/dist/core/code/engine/core/ingestion/languages/dart/extension-type-preprocess.js +33 -0
  224. package/dist/core/code/engine/core/ingestion/languages/dart/import-target.js +68 -0
  225. package/dist/core/code/engine/core/ingestion/languages/dart/index.js +45 -0
  226. package/dist/core/code/engine/core/ingestion/languages/dart/interpret.js +101 -0
  227. package/dist/core/code/engine/core/ingestion/languages/dart/merge-bindings.js +42 -0
  228. package/dist/core/code/engine/core/ingestion/languages/dart/query.js +246 -0
  229. package/dist/core/code/engine/core/ingestion/languages/dart/receiver-binding.js +90 -0
  230. package/dist/core/code/engine/core/ingestion/languages/dart/scope-resolver.js +197 -0
  231. package/dist/core/code/engine/core/ingestion/languages/dart/signature-bindings.js +54 -0
  232. package/dist/core/code/engine/core/ingestion/languages/dart/simple-hooks.js +61 -0
  233. package/dist/core/code/engine/core/ingestion/languages/dart.js +138 -0
  234. package/dist/core/code/engine/core/ingestion/languages/go/arity-metadata.js +71 -0
  235. package/dist/core/code/engine/core/ingestion/languages/go/arity.js +17 -0
  236. package/dist/core/code/engine/core/ingestion/languages/go/cache-stats.js +21 -0
  237. package/dist/core/code/engine/core/ingestion/languages/go/captures.js +492 -0
  238. package/dist/core/code/engine/core/ingestion/languages/go/expand-wildcards.js +97 -0
  239. package/dist/core/code/engine/core/ingestion/languages/go/generic-type-parameters.js +146 -0
  240. package/dist/core/code/engine/core/ingestion/languages/go/import-decomposer.js +47 -0
  241. package/dist/core/code/engine/core/ingestion/languages/go/import-target.js +70 -0
  242. package/dist/core/code/engine/core/ingestion/languages/go/index.js +39 -0
  243. package/dist/core/code/engine/core/ingestion/languages/go/interface-impls.js +955 -0
  244. package/dist/core/code/engine/core/ingestion/languages/go/interpret.js +177 -0
  245. package/dist/core/code/engine/core/ingestion/languages/go/merge-bindings.js +21 -0
  246. package/dist/core/code/engine/core/ingestion/languages/go/method-owners.js +131 -0
  247. package/dist/core/code/engine/core/ingestion/languages/go/namespace-mirror.js +56 -0
  248. package/dist/core/code/engine/core/ingestion/languages/go/package-clause.js +79 -0
  249. package/dist/core/code/engine/core/ingestion/languages/go/package-siblings.js +83 -0
  250. package/dist/core/code/engine/core/ingestion/languages/go/query.js +298 -0
  251. package/dist/core/code/engine/core/ingestion/languages/go/range-binding.js +127 -0
  252. package/dist/core/code/engine/core/ingestion/languages/go/receiver-binding.js +24 -0
  253. package/dist/core/code/engine/core/ingestion/languages/go/scope-resolver.js +75 -0
  254. package/dist/core/code/engine/core/ingestion/languages/go/simple-hooks.js +31 -0
  255. package/dist/core/code/engine/core/ingestion/languages/go/type-binding.js +279 -0
  256. package/dist/core/code/engine/core/ingestion/languages/go.js +160 -0
  257. package/dist/core/code/engine/core/ingestion/languages/index.js +66 -0
  258. package/dist/core/code/engine/core/ingestion/languages/java/analysis-features.js +16 -0
  259. package/dist/core/code/engine/core/ingestion/languages/java/arity-metadata.js +43 -0
  260. package/dist/core/code/engine/core/ingestion/languages/java/arity.js +27 -0
  261. package/dist/core/code/engine/core/ingestion/languages/java/cache-stats.js +32 -0
  262. package/dist/core/code/engine/core/ingestion/languages/java/capture-side-channel.js +123 -0
  263. package/dist/core/code/engine/core/ingestion/languages/java/captures.js +791 -0
  264. package/dist/core/code/engine/core/ingestion/languages/java/import-decomposer.js +88 -0
  265. package/dist/core/code/engine/core/ingestion/languages/java/import-target.js +103 -0
  266. package/dist/core/code/engine/core/ingestion/languages/java/index.js +43 -0
  267. package/dist/core/code/engine/core/ingestion/languages/java/interpret.js +146 -0
  268. package/dist/core/code/engine/core/ingestion/languages/java/merge-bindings.js +43 -0
  269. package/dist/core/code/engine/core/ingestion/languages/java/package-facts.js +16 -0
  270. package/dist/core/code/engine/core/ingestion/languages/java/package-siblings.js +11 -0
  271. package/dist/core/code/engine/core/ingestion/languages/java/query.js +319 -0
  272. package/dist/core/code/engine/core/ingestion/languages/java/receiver-binding.js +98 -0
  273. package/dist/core/code/engine/core/ingestion/languages/java/scope-resolver.js +213 -0
  274. package/dist/core/code/engine/core/ingestion/languages/java/simple-hooks.js +39 -0
  275. package/dist/core/code/engine/core/ingestion/languages/java/spring-aop.js +53 -0
  276. package/dist/core/code/engine/core/ingestion/languages/java/spring-bean-metadata.js +11 -0
  277. package/dist/core/code/engine/core/ingestion/languages/java/spring-conditionals.js +52 -0
  278. package/dist/core/code/engine/core/ingestion/languages/java/spring-config-bindings.js +222 -0
  279. package/dist/core/code/engine/core/ingestion/languages/java/spring-di.js +165 -0
  280. package/dist/core/code/engine/core/ingestion/languages/java.js +192 -0
  281. package/dist/core/code/engine/core/ingestion/languages/javascript/arity.js +15 -0
  282. package/dist/core/code/engine/core/ingestion/languages/javascript/captures.js +1122 -0
  283. package/dist/core/code/engine/core/ingestion/languages/javascript/import-target.js +56 -0
  284. package/dist/core/code/engine/core/ingestion/languages/javascript/index.js +109 -0
  285. package/dist/core/code/engine/core/ingestion/languages/javascript/interpret.js +45 -0
  286. package/dist/core/code/engine/core/ingestion/languages/javascript/merge-bindings.js +21 -0
  287. package/dist/core/code/engine/core/ingestion/languages/javascript/query.js +659 -0
  288. package/dist/core/code/engine/core/ingestion/languages/javascript/scope-resolver.js +78 -0
  289. package/dist/core/code/engine/core/ingestion/languages/javascript/simple-hooks.js +44 -0
  290. package/dist/core/code/engine/core/ingestion/languages/jvm/package-facts.js +46 -0
  291. package/dist/core/code/engine/core/ingestion/languages/jvm/package-siblings.js +200 -0
  292. package/dist/core/code/engine/core/ingestion/languages/kotlin/arity-metadata.js +23 -0
  293. package/dist/core/code/engine/core/ingestion/languages/kotlin/arity.js +18 -0
  294. package/dist/core/code/engine/core/ingestion/languages/kotlin/cache-stats.js +21 -0
  295. package/dist/core/code/engine/core/ingestion/languages/kotlin/capture-side-channel.js +160 -0
  296. package/dist/core/code/engine/core/ingestion/languages/kotlin/captures.js +1262 -0
  297. package/dist/core/code/engine/core/ingestion/languages/kotlin/companion-scopes.js +72 -0
  298. package/dist/core/code/engine/core/ingestion/languages/kotlin/import-decomposer.js +40 -0
  299. package/dist/core/code/engine/core/ingestion/languages/kotlin/import-target.js +135 -0
  300. package/dist/core/code/engine/core/ingestion/languages/kotlin/index.js +26 -0
  301. package/dist/core/code/engine/core/ingestion/languages/kotlin/interpret.js +75 -0
  302. package/dist/core/code/engine/core/ingestion/languages/kotlin/merge-bindings.js +28 -0
  303. package/dist/core/code/engine/core/ingestion/languages/kotlin/owners.js +134 -0
  304. package/dist/core/code/engine/core/ingestion/languages/kotlin/package-facts.js +16 -0
  305. package/dist/core/code/engine/core/ingestion/languages/kotlin/package-siblings.js +11 -0
  306. package/dist/core/code/engine/core/ingestion/languages/kotlin/query.js +243 -0
  307. package/dist/core/code/engine/core/ingestion/languages/kotlin/receiver-binding.js +103 -0
  308. package/dist/core/code/engine/core/ingestion/languages/kotlin/scope-resolver.js +207 -0
  309. package/dist/core/code/engine/core/ingestion/languages/kotlin/simple-hooks.js +42 -0
  310. package/dist/core/code/engine/core/ingestion/languages/kotlin/spring-aop.js +68 -0
  311. package/dist/core/code/engine/core/ingestion/languages/kotlin/spring-bean-metadata.js +11 -0
  312. package/dist/core/code/engine/core/ingestion/languages/kotlin/spring-conditionals.js +53 -0
  313. package/dist/core/code/engine/core/ingestion/languages/kotlin/spring-di.js +304 -0
  314. package/dist/core/code/engine/core/ingestion/languages/kotlin.js +189 -0
  315. package/dist/core/code/engine/core/ingestion/languages/php/arity-metadata.js +66 -0
  316. package/dist/core/code/engine/core/ingestion/languages/php/arity.js +43 -0
  317. package/dist/core/code/engine/core/ingestion/languages/php/cache-stats.js +32 -0
  318. package/dist/core/code/engine/core/ingestion/languages/php/captures.js +1166 -0
  319. package/dist/core/code/engine/core/ingestion/languages/php/import-decomposer.js +238 -0
  320. package/dist/core/code/engine/core/ingestion/languages/php/import-target.js +213 -0
  321. package/dist/core/code/engine/core/ingestion/languages/php/index.js +85 -0
  322. package/dist/core/code/engine/core/ingestion/languages/php/interpret.js +256 -0
  323. package/dist/core/code/engine/core/ingestion/languages/php/merge-bindings.js +50 -0
  324. package/dist/core/code/engine/core/ingestion/languages/php/namespace-siblings.js +353 -0
  325. package/dist/core/code/engine/core/ingestion/languages/php/query.js +391 -0
  326. package/dist/core/code/engine/core/ingestion/languages/php/receiver-binding.js +135 -0
  327. package/dist/core/code/engine/core/ingestion/languages/php/scope-resolver.js +361 -0
  328. package/dist/core/code/engine/core/ingestion/languages/php/simple-hooks.js +116 -0
  329. package/dist/core/code/engine/core/ingestion/languages/php.js +302 -0
  330. package/dist/core/code/engine/core/ingestion/languages/python/arity-metadata.js +49 -0
  331. package/dist/core/code/engine/core/ingestion/languages/python/arity.js +41 -0
  332. package/dist/core/code/engine/core/ingestion/languages/python/cache-stats.js +34 -0
  333. package/dist/core/code/engine/core/ingestion/languages/python/captures.js +299 -0
  334. package/dist/core/code/engine/core/ingestion/languages/python/depends-references.js +68 -0
  335. package/dist/core/code/engine/core/ingestion/languages/python/import-decomposer.js +115 -0
  336. package/dist/core/code/engine/core/ingestion/languages/python/import-target.js +440 -0
  337. package/dist/core/code/engine/core/ingestion/languages/python/index-stats.js +30 -0
  338. package/dist/core/code/engine/core/ingestion/languages/python/index.js +96 -0
  339. package/dist/core/code/engine/core/ingestion/languages/python/interpret.js +430 -0
  340. package/dist/core/code/engine/core/ingestion/languages/python/merge-bindings.js +47 -0
  341. package/dist/core/code/engine/core/ingestion/languages/python/query.js +323 -0
  342. package/dist/core/code/engine/core/ingestion/languages/python/receiver-binding.js +310 -0
  343. package/dist/core/code/engine/core/ingestion/languages/python/scope-resolver.js +80 -0
  344. package/dist/core/code/engine/core/ingestion/languages/python/simple-hooks.js +53 -0
  345. package/dist/core/code/engine/core/ingestion/languages/python.js +140 -0
  346. package/dist/core/code/engine/core/ingestion/languages/ruby/arity.js +41 -0
  347. package/dist/core/code/engine/core/ingestion/languages/ruby/cache-stats.js +21 -0
  348. package/dist/core/code/engine/core/ingestion/languages/ruby/captures.js +864 -0
  349. package/dist/core/code/engine/core/ingestion/languages/ruby/import-target.js +88 -0
  350. package/dist/core/code/engine/core/ingestion/languages/ruby/index.js +29 -0
  351. package/dist/core/code/engine/core/ingestion/languages/ruby/interpret.js +115 -0
  352. package/dist/core/code/engine/core/ingestion/languages/ruby/merge-bindings.js +21 -0
  353. package/dist/core/code/engine/core/ingestion/languages/ruby/query.js +349 -0
  354. package/dist/core/code/engine/core/ingestion/languages/ruby/receiver-binding.js +70 -0
  355. package/dist/core/code/engine/core/ingestion/languages/ruby/scope-resolver.js +263 -0
  356. package/dist/core/code/engine/core/ingestion/languages/ruby/simple-hooks.js +68 -0
  357. package/dist/core/code/engine/core/ingestion/languages/ruby.js +215 -0
  358. package/dist/core/code/engine/core/ingestion/languages/rust/arity.js +16 -0
  359. package/dist/core/code/engine/core/ingestion/languages/rust/cache-stats.js +21 -0
  360. package/dist/core/code/engine/core/ingestion/languages/rust/captures.js +304 -0
  361. package/dist/core/code/engine/core/ingestion/languages/rust/import-decomposer.js +167 -0
  362. package/dist/core/code/engine/core/ingestion/languages/rust/import-target.js +108 -0
  363. package/dist/core/code/engine/core/ingestion/languages/rust/index.js +29 -0
  364. package/dist/core/code/engine/core/ingestion/languages/rust/interpret.js +201 -0
  365. package/dist/core/code/engine/core/ingestion/languages/rust/merge-bindings.js +21 -0
  366. package/dist/core/code/engine/core/ingestion/languages/rust/method-owners.js +76 -0
  367. package/dist/core/code/engine/core/ingestion/languages/rust/module-path.js +222 -0
  368. package/dist/core/code/engine/core/ingestion/languages/rust/qualified-call.js +482 -0
  369. package/dist/core/code/engine/core/ingestion/languages/rust/query.js +280 -0
  370. package/dist/core/code/engine/core/ingestion/languages/rust/range-binding.js +687 -0
  371. package/dist/core/code/engine/core/ingestion/languages/rust/receiver-binding.js +148 -0
  372. package/dist/core/code/engine/core/ingestion/languages/rust/scope-resolver.js +151 -0
  373. package/dist/core/code/engine/core/ingestion/languages/rust/simple-hooks.js +32 -0
  374. package/dist/core/code/engine/core/ingestion/languages/rust.js +183 -0
  375. package/dist/core/code/engine/core/ingestion/languages/swift/arity-metadata.js +44 -0
  376. package/dist/core/code/engine/core/ingestion/languages/swift/arity.js +45 -0
  377. package/dist/core/code/engine/core/ingestion/languages/swift/base-type.js +30 -0
  378. package/dist/core/code/engine/core/ingestion/languages/swift/cache-stats.js +32 -0
  379. package/dist/core/code/engine/core/ingestion/languages/swift/captures.js +594 -0
  380. package/dist/core/code/engine/core/ingestion/languages/swift/conditional-directive-preprocess.js +256 -0
  381. package/dist/core/code/engine/core/ingestion/languages/swift/implicit-imports.js +60 -0
  382. package/dist/core/code/engine/core/ingestion/languages/swift/import-decomposer.js +87 -0
  383. package/dist/core/code/engine/core/ingestion/languages/swift/import-target.js +84 -0
  384. package/dist/core/code/engine/core/ingestion/languages/swift/index.js +56 -0
  385. package/dist/core/code/engine/core/ingestion/languages/swift/interpret.js +93 -0
  386. package/dist/core/code/engine/core/ingestion/languages/swift/merge-bindings.js +51 -0
  387. package/dist/core/code/engine/core/ingestion/languages/swift/query.js +226 -0
  388. package/dist/core/code/engine/core/ingestion/languages/swift/receiver-binding.js +169 -0
  389. package/dist/core/code/engine/core/ingestion/languages/swift/scope-resolver.js +192 -0
  390. package/dist/core/code/engine/core/ingestion/languages/swift/sibling-type-bindings.js +68 -0
  391. package/dist/core/code/engine/core/ingestion/languages/swift/signature-bindings.js +69 -0
  392. package/dist/core/code/engine/core/ingestion/languages/swift/simple-hooks.js +65 -0
  393. package/dist/core/code/engine/core/ingestion/languages/swift/target-grouping.js +97 -0
  394. package/dist/core/code/engine/core/ingestion/languages/swift/target-siblings.js +74 -0
  395. package/dist/core/code/engine/core/ingestion/languages/swift.js +246 -0
  396. package/dist/core/code/engine/core/ingestion/languages/typescript/arity-metadata.js +106 -0
  397. package/dist/core/code/engine/core/ingestion/languages/typescript/arity.js +57 -0
  398. package/dist/core/code/engine/core/ingestion/languages/typescript/array-callback.js +58 -0
  399. package/dist/core/code/engine/core/ingestion/languages/typescript/cache-stats.js +34 -0
  400. package/dist/core/code/engine/core/ingestion/languages/typescript/captures.js +956 -0
  401. package/dist/core/code/engine/core/ingestion/languages/typescript/cjs-export-assignment.js +535 -0
  402. package/dist/core/code/engine/core/ingestion/languages/typescript/cjs-module-exports.js +196 -0
  403. package/dist/core/code/engine/core/ingestion/languages/typescript/import-decomposer.js +374 -0
  404. package/dist/core/code/engine/core/ingestion/languages/typescript/import-target.js +65 -0
  405. package/dist/core/code/engine/core/ingestion/languages/typescript/index.js +108 -0
  406. package/dist/core/code/engine/core/ingestion/languages/typescript/interpret.js +344 -0
  407. package/dist/core/code/engine/core/ingestion/languages/typescript/merge-bindings.js +161 -0
  408. package/dist/core/code/engine/core/ingestion/languages/typescript/nuxt-auto-imports.js +325 -0
  409. package/dist/core/code/engine/core/ingestion/languages/typescript/query.js +1328 -0
  410. package/dist/core/code/engine/core/ingestion/languages/typescript/receiver-binding.js +201 -0
  411. package/dist/core/code/engine/core/ingestion/languages/typescript/scope-resolver.js +293 -0
  412. package/dist/core/code/engine/core/ingestion/languages/typescript/simple-hooks.js +139 -0
  413. package/dist/core/code/engine/core/ingestion/languages/typescript.js +455 -0
  414. package/dist/core/code/engine/core/ingestion/languages/vue/captures.js +70 -0
  415. package/dist/core/code/engine/core/ingestion/languages/vue/import-target.js +61 -0
  416. package/dist/core/code/engine/core/ingestion/languages/vue/index.js +55 -0
  417. package/dist/core/code/engine/core/ingestion/languages/vue/scope-resolver.js +295 -0
  418. package/dist/core/code/engine/core/ingestion/languages/vue.js +96 -0
  419. package/dist/core/code/engine/core/ingestion/local-symbol-pruner.js +68 -0
  420. package/dist/core/code/engine/core/ingestion/method-extractors/configs/c-cpp.js +387 -0
  421. package/dist/core/code/engine/core/ingestion/method-extractors/configs/csharp.js +290 -0
  422. package/dist/core/code/engine/core/ingestion/method-extractors/configs/dart.js +392 -0
  423. package/dist/core/code/engine/core/ingestion/method-extractors/configs/go.js +179 -0
  424. package/dist/core/code/engine/core/ingestion/method-extractors/configs/jvm.js +350 -0
  425. package/dist/core/code/engine/core/ingestion/method-extractors/configs/php.js +306 -0
  426. package/dist/core/code/engine/core/ingestion/method-extractors/configs/python.js +312 -0
  427. package/dist/core/code/engine/core/ingestion/method-extractors/configs/ruby.js +289 -0
  428. package/dist/core/code/engine/core/ingestion/method-extractors/configs/rust.js +198 -0
  429. package/dist/core/code/engine/core/ingestion/method-extractors/configs/swift.js +286 -0
  430. package/dist/core/code/engine/core/ingestion/method-extractors/configs/typescript-javascript.js +341 -0
  431. package/dist/core/code/engine/core/ingestion/method-extractors/generic.js +209 -0
  432. package/dist/core/code/engine/core/ingestion/method-types.js +3 -0
  433. package/dist/core/code/engine/core/ingestion/model/field-registry.js +41 -0
  434. package/dist/core/code/engine/core/ingestion/model/index.js +52 -0
  435. package/dist/core/code/engine/core/ingestion/model/method-registry.js +138 -0
  436. package/dist/core/code/engine/core/ingestion/model/owned-members-lookup.js +46 -0
  437. package/dist/core/code/engine/core/ingestion/model/registration-table.js +234 -0
  438. package/dist/core/code/engine/core/ingestion/model/resolve.js +183 -0
  439. package/dist/core/code/engine/core/ingestion/model/scope-resolution-indexes.js +43 -0
  440. package/dist/core/code/engine/core/ingestion/model/semantic-model.js +179 -0
  441. package/dist/core/code/engine/core/ingestion/model/symbol-table.js +216 -0
  442. package/dist/core/code/engine/core/ingestion/model/type-registry.js +84 -0
  443. package/dist/core/code/engine/core/ingestion/mro-processor.js +709 -0
  444. package/dist/core/code/engine/core/ingestion/parsing-processor.js +312 -0
  445. package/dist/core/code/engine/core/ingestion/pipeline-phases/communities.js +69 -0
  446. package/dist/core/code/engine/core/ingestion/pipeline-phases/cross-file.js +71 -0
  447. package/dist/core/code/engine/core/ingestion/pipeline-phases/di.js +338 -0
  448. package/dist/core/code/engine/core/ingestion/pipeline-phases/http-api-calls.js +312 -0
  449. package/dist/core/code/engine/core/ingestion/pipeline-phases/index.js +54 -0
  450. package/dist/core/code/engine/core/ingestion/pipeline-phases/mro.js +40 -0
  451. package/dist/core/code/engine/core/ingestion/pipeline-phases/orm.js +78 -0
  452. package/dist/core/code/engine/core/ingestion/pipeline-phases/parse-impl.js +1286 -0
  453. package/dist/core/code/engine/core/ingestion/pipeline-phases/parse.js +41 -0
  454. package/dist/core/code/engine/core/ingestion/pipeline-phases/processes.js +193 -0
  455. package/dist/core/code/engine/core/ingestion/pipeline-phases/prune-local-symbols.js +29 -0
  456. package/dist/core/code/engine/core/ingestion/pipeline-phases/registry.js +52 -0
  457. package/dist/core/code/engine/core/ingestion/pipeline-phases/routes.js +409 -0
  458. package/dist/core/code/engine/core/ingestion/pipeline-phases/rpc-edges.js +301 -0
  459. package/dist/core/code/engine/core/ingestion/pipeline-phases/runner.js +207 -0
  460. package/dist/core/code/engine/core/ingestion/pipeline-phases/scan.js +49 -0
  461. package/dist/core/code/engine/core/ingestion/pipeline-phases/spring-aop.js +442 -0
  462. package/dist/core/code/engine/core/ingestion/pipeline-phases/spring-auto-configuration.js +264 -0
  463. package/dist/core/code/engine/core/ingestion/pipeline-phases/spring-config.js +440 -0
  464. package/dist/core/code/engine/core/ingestion/pipeline-phases/structure.js +38 -0
  465. package/dist/core/code/engine/core/ingestion/pipeline-phases/tools.js +89 -0
  466. package/dist/core/code/engine/core/ingestion/pipeline-phases/types.js +40 -0
  467. package/dist/core/code/engine/core/ingestion/pipeline.js +152 -0
  468. package/dist/core/code/engine/core/ingestion/process-processor.js +325 -0
  469. package/dist/core/code/engine/core/ingestion/resolve-references.js +205 -0
  470. package/dist/core/code/engine/core/ingestion/route-extractors/constant-resolver.js +135 -0
  471. package/dist/core/code/engine/core/ingestion/route-extractors/django-root-discovery.js +221 -0
  472. package/dist/core/code/engine/core/ingestion/route-extractors/django.js +428 -0
  473. package/dist/core/code/engine/core/ingestion/route-extractors/expo.js +39 -0
  474. package/dist/core/code/engine/core/ingestion/route-extractors/fastapi-router-bindings.js +264 -0
  475. package/dist/core/code/engine/core/ingestion/route-extractors/laravel.js +501 -0
  476. package/dist/core/code/engine/core/ingestion/route-extractors/middleware.js +175 -0
  477. package/dist/core/code/engine/core/ingestion/route-extractors/nextjs.js +81 -0
  478. package/dist/core/code/engine/core/ingestion/route-extractors/php.js +25 -0
  479. package/dist/core/code/engine/core/ingestion/route-extractors/python-const-resolver.js +307 -0
  480. package/dist/core/code/engine/core/ingestion/route-extractors/response-shapes.js +299 -0
  481. package/dist/core/code/engine/core/ingestion/route-extractors/route-path.js +71 -0
  482. package/dist/core/code/engine/core/ingestion/route-extractors/spring-shared.js +310 -0
  483. package/dist/core/code/engine/core/ingestion/route-extractors/spring.js +441 -0
  484. package/dist/core/code/engine/core/ingestion/scope-extractor-bridge.js +60 -0
  485. package/dist/core/code/engine/core/ingestion/scope-extractor.js +1373 -0
  486. package/dist/core/code/engine/core/ingestion/scope-resolution/contract/scope-resolver.js +282 -0
  487. package/dist/core/code/engine/core/ingestion/scope-resolution/graph-bridge/callee-id-sink.js +72 -0
  488. package/dist/core/code/engine/core/ingestion/scope-resolution/graph-bridge/edges.js +194 -0
  489. package/dist/core/code/engine/core/ingestion/scope-resolution/graph-bridge/ids.js +472 -0
  490. package/dist/core/code/engine/core/ingestion/scope-resolution/graph-bridge/imports-to-edges.js +49 -0
  491. package/dist/core/code/engine/core/ingestion/scope-resolution/graph-bridge/method-dispatch.js +43 -0
  492. package/dist/core/code/engine/core/ingestion/scope-resolution/graph-bridge/node-lookup.js +274 -0
  493. package/dist/core/code/engine/core/ingestion/scope-resolution/graph-bridge/references-to-edges.js +93 -0
  494. package/dist/core/code/engine/core/ingestion/scope-resolution/passes/callable-value-flow.js +1240 -0
  495. package/dist/core/code/engine/core/ingestion/scope-resolution/passes/compound-receiver.js +1174 -0
  496. package/dist/core/code/engine/core/ingestion/scope-resolution/passes/free-call-fallback.js +873 -0
  497. package/dist/core/code/engine/core/ingestion/scope-resolution/passes/imported-return-types.js +226 -0
  498. package/dist/core/code/engine/core/ingestion/scope-resolution/passes/mro.js +107 -0
  499. package/dist/core/code/engine/core/ingestion/scope-resolution/passes/overload-narrowing.js +441 -0
  500. package/dist/core/code/engine/core/ingestion/scope-resolution/passes/property-dispatch.js +122 -0
  501. package/dist/core/code/engine/core/ingestion/scope-resolution/passes/receiver-bound-calls.js +1720 -0
  502. package/dist/core/code/engine/core/ingestion/scope-resolution/pipeline/phase.js +395 -0
  503. package/dist/core/code/engine/core/ingestion/scope-resolution/pipeline/reconcile-ownership.js +208 -0
  504. package/dist/core/code/engine/core/ingestion/scope-resolution/pipeline/registry.js +49 -0
  505. package/dist/core/code/engine/core/ingestion/scope-resolution/pipeline/run.js +632 -0
  506. package/dist/core/code/engine/core/ingestion/scope-resolution/pipeline/validate-bindings-immutability.js +112 -0
  507. package/dist/core/code/engine/core/ingestion/scope-resolution/resolution-outcome.js +41 -0
  508. package/dist/core/code/engine/core/ingestion/scope-resolution/scope/namespace-targets.js +81 -0
  509. package/dist/core/code/engine/core/ingestion/scope-resolution/scope/walkers.js +1835 -0
  510. package/dist/core/code/engine/core/ingestion/scope-resolution/unresolved-receivers.js +242 -0
  511. package/dist/core/code/engine/core/ingestion/scope-resolution/utils/definition-id.js +22 -0
  512. package/dist/core/code/engine/core/ingestion/scope-resolution/workspace-index.js +151 -0
  513. package/dist/core/code/engine/core/ingestion/structure-processor.js +40 -0
  514. package/dist/core/code/engine/core/ingestion/tree-sitter-queries.js +2244 -0
  515. package/dist/core/code/engine/core/ingestion/ts-js-hoc-utils.js +115 -0
  516. package/dist/core/code/engine/core/ingestion/type-env.js +1136 -0
  517. package/dist/core/code/engine/core/ingestion/type-extractors/c-cpp.js +555 -0
  518. package/dist/core/code/engine/core/ingestion/type-extractors/csharp.js +570 -0
  519. package/dist/core/code/engine/core/ingestion/type-extractors/dart.js +372 -0
  520. package/dist/core/code/engine/core/ingestion/type-extractors/go.js +508 -0
  521. package/dist/core/code/engine/core/ingestion/type-extractors/jvm.js +875 -0
  522. package/dist/core/code/engine/core/ingestion/type-extractors/php.js +537 -0
  523. package/dist/core/code/engine/core/ingestion/type-extractors/python.js +477 -0
  524. package/dist/core/code/engine/core/ingestion/type-extractors/ruby.js +380 -0
  525. package/dist/core/code/engine/core/ingestion/type-extractors/rust.js +502 -0
  526. package/dist/core/code/engine/core/ingestion/type-extractors/shared.js +843 -0
  527. package/dist/core/code/engine/core/ingestion/type-extractors/swift.js +490 -0
  528. package/dist/core/code/engine/core/ingestion/type-extractors/types.js +2 -0
  529. package/dist/core/code/engine/core/ingestion/type-extractors/typescript.js +690 -0
  530. package/dist/core/code/engine/core/ingestion/utils/ast-helpers.js +1693 -0
  531. package/dist/core/code/engine/core/ingestion/utils/call-analysis.js +779 -0
  532. package/dist/core/code/engine/core/ingestion/utils/callable-flow-captures.js +932 -0
  533. package/dist/core/code/engine/core/ingestion/utils/callable-labels.js +49 -0
  534. package/dist/core/code/engine/core/ingestion/utils/deferred-resolution-profile.js +151 -0
  535. package/dist/core/code/engine/core/ingestion/utils/effective-ram.js +67 -0
  536. package/dist/core/code/engine/core/ingestion/utils/env.js +60 -0
  537. package/dist/core/code/engine/core/ingestion/utils/event-loop.js +9 -0
  538. package/dist/core/code/engine/core/ingestion/utils/graph-sort.js +103 -0
  539. package/dist/core/code/engine/core/ingestion/utils/heap-probe.js +45 -0
  540. package/dist/core/code/engine/core/ingestion/utils/heritage-marker.js +47 -0
  541. package/dist/core/code/engine/core/ingestion/utils/line-base.js +24 -0
  542. package/dist/core/code/engine/core/ingestion/utils/max-file-size.js +59 -0
  543. package/dist/core/code/engine/core/ingestion/utils/method-props.js +198 -0
  544. package/dist/core/code/engine/core/ingestion/utils/qualified-name.js +73 -0
  545. package/dist/core/code/engine/core/ingestion/utils/receiver-chain-captures.js +60 -0
  546. package/dist/core/code/engine/core/ingestion/utils/receiver-chain-codec.js +188 -0
  547. package/dist/core/code/engine/core/ingestion/utils/scope-tree-walk.js +36 -0
  548. package/dist/core/code/engine/core/ingestion/utils/symbol-labels.js +48 -0
  549. package/dist/core/code/engine/core/ingestion/utils/template-arguments.js +187 -0
  550. package/dist/core/code/engine/core/ingestion/utils/type-parameters.js +209 -0
  551. package/dist/core/code/engine/core/ingestion/utils/verbose.js +6 -0
  552. package/dist/core/code/engine/core/ingestion/variable-extractors/configs/c-cpp.js +133 -0
  553. package/dist/core/code/engine/core/ingestion/variable-extractors/configs/csharp.js +66 -0
  554. package/dist/core/code/engine/core/ingestion/variable-extractors/configs/dart.js +111 -0
  555. package/dist/core/code/engine/core/ingestion/variable-extractors/configs/go.js +153 -0
  556. package/dist/core/code/engine/core/ingestion/variable-extractors/configs/jvm.js +145 -0
  557. package/dist/core/code/engine/core/ingestion/variable-extractors/configs/php.js +61 -0
  558. package/dist/core/code/engine/core/ingestion/variable-extractors/configs/python.js +104 -0
  559. package/dist/core/code/engine/core/ingestion/variable-extractors/configs/ruby.js +55 -0
  560. package/dist/core/code/engine/core/ingestion/variable-extractors/configs/rust.js +79 -0
  561. package/dist/core/code/engine/core/ingestion/variable-extractors/configs/swift.js +91 -0
  562. package/dist/core/code/engine/core/ingestion/variable-extractors/configs/typescript-javascript.js +86 -0
  563. package/dist/core/code/engine/core/ingestion/variable-extractors/generic.js +111 -0
  564. package/dist/core/code/engine/core/ingestion/variable-types.js +3 -0
  565. package/dist/core/code/engine/core/ingestion/vue-sfc-extractor.js +544 -0
  566. package/dist/core/code/engine/core/ingestion/workers/callable-id.js +122 -0
  567. package/dist/core/code/engine/core/ingestion/workers/clone-safety.js +470 -0
  568. package/dist/core/code/engine/core/ingestion/workers/parse-worker.js +2456 -0
  569. package/dist/core/code/engine/core/ingestion/workers/post-result.js +90 -0
  570. package/dist/core/code/engine/core/ingestion/workers/quarantine.js +41 -0
  571. package/dist/core/code/engine/core/ingestion/workers/result-merge.js +59 -0
  572. package/dist/core/code/engine/core/ingestion/workers/worker-pool.js +1725 -0
  573. package/dist/core/code/engine/core/ingestion/workspace-config.js +139 -0
  574. package/dist/core/code/engine/core/lbug/conn-lock.js +72 -0
  575. package/dist/core/code/engine/core/lbug/csv-generator.js +710 -0
  576. package/dist/core/code/engine/core/lbug/cypher-escape.js +24 -0
  577. package/dist/core/code/engine/core/lbug/extension-load-error.js +339 -0
  578. package/dist/core/code/engine/core/lbug/extension-loader.js +261 -0
  579. package/dist/core/code/engine/core/lbug/graph-emit-sink.js +584 -0
  580. package/dist/core/code/engine/core/lbug/lbug-adapter.js +2703 -0
  581. package/dist/core/code/engine/core/lbug/lbug-config.js +1029 -0
  582. package/dist/core/code/engine/core/lbug/native-check.js +435 -0
  583. package/dist/core/code/engine/core/lbug/pool-adapter.js +973 -0
  584. package/dist/core/code/engine/core/lbug/query-params.js +25 -0
  585. package/dist/core/code/engine/core/lbug/query-result-utils.js +31 -0
  586. package/dist/core/code/engine/core/lbug/rel-pair-routing.js +373 -0
  587. package/dist/core/code/engine/core/lbug/schema.js +771 -0
  588. package/dist/core/code/engine/core/lbug/shutdown-helpers.js +40 -0
  589. package/dist/core/code/engine/core/lbug/sidecar-recovery.js +716 -0
  590. package/dist/core/code/engine/core/lbug/stdio-capture.js +49 -0
  591. package/dist/core/code/engine/core/lbug/sync-csv-writer.js +115 -0
  592. package/dist/core/code/engine/core/lbug/wal-checkpoint-driver.js +215 -0
  593. package/dist/core/code/engine/core/lbug/wal-driver-state.js +28 -0
  594. package/dist/core/code/engine/core/logger.js +339 -0
  595. package/dist/core/code/engine/core/platform/capabilities.js +91 -0
  596. package/dist/core/code/engine/core/run-analyze.js +1098 -0
  597. package/dist/core/code/engine/core/tree-sitter/parser-loader.js +281 -0
  598. package/dist/core/code/engine/core/tree-sitter/safe-parse.js +258 -0
  599. package/dist/core/code/engine/core/tree-sitter/vendored-grammars.js +64 -0
  600. package/dist/core/code/engine/lib/utils.js +121 -0
  601. package/dist/core/code/engine/mcp/core/lbug-adapter.js +27 -0
  602. package/dist/core/code/engine/mcp/local/aop-metadata.js +230 -0
  603. package/dist/core/code/engine/mcp/local/bean-metadata.js +49 -0
  604. package/dist/core/code/engine/mcp/local/limits.js +15 -0
  605. package/dist/core/code/engine/mcp/local/line-display.js +6 -0
  606. package/dist/core/code/engine/mcp/local/local-backend.js +4142 -0
  607. package/dist/core/code/engine/storage/branch-index.js +72 -0
  608. package/dist/core/code/engine/storage/file-hash.js +95 -0
  609. package/dist/core/code/engine/storage/fs-atomic.js +34 -0
  610. package/dist/core/code/engine/storage/git.js +555 -0
  611. package/dist/core/code/engine/storage/index-lock.js +664 -0
  612. package/dist/core/code/engine/storage/parse-cache.js +650 -0
  613. package/dist/core/code/engine/storage/parsedfile-store.js +620 -0
  614. package/dist/core/code/engine/storage/repo-manager.js +1061 -0
  615. package/dist/core/code/engine/storage/scope-index-store.js +247 -0
  616. package/dist/core/code/engine/types/pipeline.js +2 -0
  617. package/dist/core/code/scripts/install-duckdb-extension.mjs +125 -0
  618. package/dist/core/code/scripts/resolve-analyze-cmd.cjs +346 -0
  619. package/dist/core/code/shared/graph/types.js +8 -0
  620. package/dist/core/code/shared/index.js +105 -0
  621. package/dist/core/code/shared/integrations/circuit-breaker.js +242 -0
  622. package/dist/core/code/shared/integrations/resilient-fetch.js +224 -0
  623. package/dist/core/code/shared/integrations/retry.js +70 -0
  624. package/dist/core/code/shared/integrations/understand-quickly.js +145 -0
  625. package/dist/core/code/shared/language-detection.js +162 -0
  626. package/dist/core/code/shared/languages.js +27 -0
  627. package/dist/core/code/shared/lbug/schema-constants.js +98 -0
  628. package/dist/core/code/shared/mro-strategy.js +2 -0
  629. package/dist/core/code/shared/pipeline.js +5 -0
  630. package/dist/core/code/shared/scope-resolution/callable-flow-site.js +11 -0
  631. package/dist/core/code/shared/scope-resolution/def-index.js +53 -0
  632. package/dist/core/code/shared/scope-resolution/evidence-weights.js +87 -0
  633. package/dist/core/code/shared/scope-resolution/finalize-algorithm.js +807 -0
  634. package/dist/core/code/shared/scope-resolution/language-classification.js +46 -0
  635. package/dist/core/code/shared/scope-resolution/method-dispatch-index.js +100 -0
  636. package/dist/core/code/shared/scope-resolution/module-scope-index.js +59 -0
  637. package/dist/core/code/shared/scope-resolution/origin-priority.js +23 -0
  638. package/dist/core/code/shared/scope-resolution/parsed-file.js +54 -0
  639. package/dist/core/code/shared/scope-resolution/position-index.js +136 -0
  640. package/dist/core/code/shared/scope-resolution/qualified-name-index.js +77 -0
  641. package/dist/core/code/shared/scope-resolution/reference-site.js +24 -0
  642. package/dist/core/code/shared/scope-resolution/registries/class-registry.js +32 -0
  643. package/dist/core/code/shared/scope-resolution/registries/context.js +52 -0
  644. package/dist/core/code/shared/scope-resolution/registries/evidence.js +152 -0
  645. package/dist/core/code/shared/scope-resolution/registries/field-registry.js +33 -0
  646. package/dist/core/code/shared/scope-resolution/registries/lookup-core.js +392 -0
  647. package/dist/core/code/shared/scope-resolution/registries/lookup-qualified.js +58 -0
  648. package/dist/core/code/shared/scope-resolution/registries/macro-registry.js +34 -0
  649. package/dist/core/code/shared/scope-resolution/registries/method-registry.js +34 -0
  650. package/dist/core/code/shared/scope-resolution/registries/tie-breaks.js +63 -0
  651. package/dist/core/code/shared/scope-resolution/resolve-type-ref.js +128 -0
  652. package/dist/core/code/shared/scope-resolution/scope-id.js +49 -0
  653. package/dist/core/code/shared/scope-resolution/scope-tree.js +225 -0
  654. package/dist/core/code/shared/scope-resolution/symbol-definition.js +12 -0
  655. package/dist/core/code/shared/scope-resolution/types.js +25 -0
  656. package/dist/core/code/shared/test-helpers.js +17 -0
  657. package/dist/core/code/vendor/leiden/index.cjs +355 -0
  658. package/dist/core/code/vendor/leiden/utils.cjs +419 -0
  659. package/dist/core/timeline/cli.d.ts.map +1 -1
  660. package/dist/core/timeline/cli.js +13 -6
  661. package/dist/core/timeline/cli.js.map +1 -1
  662. package/dist/core/timeline/debris.d.ts +20 -0
  663. package/dist/core/timeline/debris.d.ts.map +1 -0
  664. package/dist/core/timeline/debris.js +124 -0
  665. package/dist/core/timeline/debris.js.map +1 -0
  666. package/dist/core/timeline/hook-runner.d.ts.map +1 -1
  667. package/dist/core/timeline/hook-runner.js +3 -1
  668. package/dist/core/timeline/hook-runner.js.map +1 -1
  669. package/dist/core/timeline/hooks.d.ts.map +1 -1
  670. package/dist/core/timeline/hooks.js +13 -5
  671. package/dist/core/timeline/hooks.js.map +1 -1
  672. package/dist/core/timeline/installer.d.ts +2 -0
  673. package/dist/core/timeline/installer.d.ts.map +1 -1
  674. package/dist/core/timeline/installer.js +12 -0
  675. package/dist/core/timeline/installer.js.map +1 -1
  676. package/dist/core/timeline/project-root.d.ts +21 -0
  677. package/dist/core/timeline/project-root.d.ts.map +1 -0
  678. package/dist/core/timeline/project-root.js +83 -0
  679. package/dist/core/timeline/project-root.js.map +1 -0
  680. package/package.json +1 -1
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ /**
3
+ * Dart import resolution config.
4
+ * SDK/package strategy first, then relative import strategy (with ./ prepending).
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.dartImportConfig = exports.dartRelativeStrategy = exports.dartPackageStrategy = void 0;
8
+ const index_js_1 = require("../../../../../shared/index.js");
9
+ const standard_js_1 = require("../standard.js");
10
+ /**
11
+ * Dart SDK and package: import strategy.
12
+ * Absorbs dart: SDK imports and external packages (returns empty result to stop chain).
13
+ * Returns null for relative imports to let the next strategy handle them.
14
+ */
15
+ const dartPackageStrategy = (rawImportPath, _filePath, ctx) => {
16
+ // Strip surrounding quotes from configurable_uri capture
17
+ const stripped = rawImportPath.replace(/^['"]|['"]$/g, '');
18
+ // Skip dart: SDK imports (dart:async, dart:io, etc.)
19
+ if (stripped.startsWith('dart:'))
20
+ return { kind: 'files', files: [] };
21
+ // Local package: imports → resolve to lib/<path>
22
+ if (stripped.startsWith('package:')) {
23
+ const slashIdx = stripped.indexOf('/');
24
+ if (slashIdx === -1)
25
+ return { kind: 'files', files: [] };
26
+ const relPath = stripped.slice(slashIdx + 1);
27
+ const candidates = [`lib/${relPath}`, relPath];
28
+ const files = [];
29
+ for (const candidate of candidates) {
30
+ for (const fp of ctx.allFileList) {
31
+ if (fp.endsWith('/' + candidate) || fp === candidate) {
32
+ files.push(fp);
33
+ break;
34
+ }
35
+ }
36
+ if (files.length > 0)
37
+ break;
38
+ }
39
+ if (files.length > 0)
40
+ return { kind: 'files', files };
41
+ return { kind: 'files', files: [] }; // external package
42
+ }
43
+ return null;
44
+ };
45
+ exports.dartPackageStrategy = dartPackageStrategy;
46
+ /**
47
+ * Dart relative import strategy — prepends "./" for bare relative paths,
48
+ * then delegates to standard resolution.
49
+ */
50
+ const dartRelativeStrategy = (rawImportPath, filePath, ctx) => {
51
+ const stripped = rawImportPath.replace(/^['"]|['"]$/g, '');
52
+ const relPath = stripped.startsWith('.') ? stripped : './' + stripped;
53
+ return (0, standard_js_1.resolveStandard)(relPath, filePath, ctx, index_js_1.SupportedLanguages.Dart);
54
+ };
55
+ exports.dartRelativeStrategy = dartRelativeStrategy;
56
+ exports.dartImportConfig = {
57
+ language: index_js_1.SupportedLanguages.Dart,
58
+ strategies: [exports.dartPackageStrategy, exports.dartRelativeStrategy],
59
+ };
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ /**
3
+ * Go import resolution config.
4
+ * Go-specific package strategy (go.mod), then standard fallback.
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.goImportConfig = exports.goPackageStrategy = void 0;
8
+ const index_js_1 = require("../../../../../shared/index.js");
9
+ const standard_js_1 = require("../standard.js");
10
+ const go_js_1 = require("../go.js");
11
+ /** Go-specific package resolution strategy — resolves go.mod-based package imports. */
12
+ const goPackageStrategy = (rawImportPath, _filePath, ctx) => {
13
+ const goModule = ctx.configs.goModule;
14
+ if (goModule && rawImportPath.startsWith(goModule.modulePath)) {
15
+ const pkgSuffix = (0, go_js_1.resolveGoPackageDir)(rawImportPath, goModule);
16
+ if (pkgSuffix) {
17
+ const pkgFiles = (0, go_js_1.resolveGoPackage)(rawImportPath, goModule, ctx.normalizedFileList, ctx.allFileList);
18
+ if (pkgFiles.length > 0) {
19
+ return { kind: 'package', files: pkgFiles, dirSuffix: pkgSuffix };
20
+ }
21
+ }
22
+ // Fall through if no files found (package might be external)
23
+ }
24
+ return null;
25
+ };
26
+ exports.goPackageStrategy = goPackageStrategy;
27
+ exports.goImportConfig = {
28
+ language: index_js_1.SupportedLanguages.Go,
29
+ strategies: [exports.goPackageStrategy, (0, standard_js_1.createStandardStrategy)(index_js_1.SupportedLanguages.Go)],
30
+ };
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ /**
3
+ * Java / Kotlin import resolution configs.
4
+ * JVM-specific wildcard/member strategy, then standard fallback.
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.kotlinImportConfig = exports.javaImportConfig = exports.kotlinJvmStrategy = exports.javaJvmStrategy = void 0;
8
+ const index_js_1 = require("../../../../../shared/index.js");
9
+ const standard_js_1 = require("../standard.js");
10
+ const jvm_js_1 = require("../jvm.js");
11
+ /** Java JVM resolution strategy — wildcard and member import resolution. */
12
+ const javaJvmStrategy = (rawImportPath, _filePath, ctx) => {
13
+ if (rawImportPath.endsWith('.*')) {
14
+ const matchedFiles = (0, jvm_js_1.resolveJvmWildcard)(rawImportPath, ctx.normalizedFileList, ctx.allFileList, ['.java'], ctx.index);
15
+ if (matchedFiles.length > 0)
16
+ return { kind: 'files', files: matchedFiles };
17
+ }
18
+ else {
19
+ const memberResolved = (0, jvm_js_1.resolveJvmMemberImport)(rawImportPath, ctx.normalizedFileList, ctx.allFileList, ['.java'], ctx.index);
20
+ if (memberResolved)
21
+ return { kind: 'files', files: [memberResolved] };
22
+ }
23
+ return null;
24
+ };
25
+ exports.javaJvmStrategy = javaJvmStrategy;
26
+ /**
27
+ * Kotlin JVM resolution strategy — wildcard/member with Java-interop + top-level function imports.
28
+ */
29
+ const kotlinJvmStrategy = (rawImportPath, _filePath, ctx) => {
30
+ if (rawImportPath.endsWith('.*')) {
31
+ const matchedFiles = (0, jvm_js_1.resolveJvmWildcard)(rawImportPath, ctx.normalizedFileList, ctx.allFileList, jvm_js_1.KOTLIN_EXTENSIONS, ctx.index);
32
+ if (matchedFiles.length === 0) {
33
+ const javaMatches = (0, jvm_js_1.resolveJvmWildcard)(rawImportPath, ctx.normalizedFileList, ctx.allFileList, ['.java'], ctx.index);
34
+ if (javaMatches.length > 0)
35
+ return { kind: 'files', files: javaMatches };
36
+ }
37
+ if (matchedFiles.length > 0)
38
+ return { kind: 'files', files: matchedFiles };
39
+ }
40
+ else {
41
+ let memberResolved = (0, jvm_js_1.resolveJvmMemberImport)(rawImportPath, ctx.normalizedFileList, ctx.allFileList, jvm_js_1.KOTLIN_EXTENSIONS, ctx.index);
42
+ if (!memberResolved) {
43
+ memberResolved = (0, jvm_js_1.resolveJvmMemberImport)(rawImportPath, ctx.normalizedFileList, ctx.allFileList, ['.java'], ctx.index);
44
+ }
45
+ if (memberResolved)
46
+ return { kind: 'files', files: [memberResolved] };
47
+ // Kotlin: top-level function imports (e.g. import models.getUser) have only 2 segments,
48
+ // which resolveJvmMemberImport skips (requires >=3). Fall back to package-directory scan
49
+ // for lowercase last segments (function/property imports). Uppercase last segments
50
+ // (class imports like models.User) fall through to standard suffix resolution.
51
+ const segments = rawImportPath.split('.');
52
+ const lastSeg = segments[segments.length - 1];
53
+ if (segments.length >= 2 && lastSeg[0] && lastSeg[0] === lastSeg[0].toLowerCase()) {
54
+ const pkgWildcard = segments.slice(0, -1).join('.') + '.*';
55
+ let dirFiles = (0, jvm_js_1.resolveJvmWildcard)(pkgWildcard, ctx.normalizedFileList, ctx.allFileList, jvm_js_1.KOTLIN_EXTENSIONS, ctx.index);
56
+ if (dirFiles.length === 0) {
57
+ dirFiles = (0, jvm_js_1.resolveJvmWildcard)(pkgWildcard, ctx.normalizedFileList, ctx.allFileList, ['.java'], ctx.index);
58
+ }
59
+ if (dirFiles.length > 0)
60
+ return { kind: 'files', files: dirFiles };
61
+ }
62
+ }
63
+ return null;
64
+ };
65
+ exports.kotlinJvmStrategy = kotlinJvmStrategy;
66
+ exports.javaImportConfig = {
67
+ language: index_js_1.SupportedLanguages.Java,
68
+ strategies: [exports.javaJvmStrategy, (0, standard_js_1.createStandardStrategy)(index_js_1.SupportedLanguages.Java)],
69
+ };
70
+ exports.kotlinImportConfig = {
71
+ language: index_js_1.SupportedLanguages.Kotlin,
72
+ strategies: [exports.kotlinJvmStrategy, (0, standard_js_1.createStandardStrategy)(index_js_1.SupportedLanguages.Kotlin)],
73
+ };
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ /**
3
+ * PHP import resolution config.
4
+ * PSR-4 strategy via composer.json — no standard fallback (PSR-4 includes its own suffix matching).
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.phpImportConfig = exports.phpPsr4Strategy = void 0;
8
+ const index_js_1 = require("../../../../../shared/index.js");
9
+ const php_js_1 = require("../php.js");
10
+ /** PHP PSR-4 resolution strategy via composer.json autoload mappings. */
11
+ const phpPsr4Strategy = (rawImportPath, _filePath, ctx) => {
12
+ const resolved = (0, php_js_1.resolvePhpImportInternal)(rawImportPath, ctx.configs.composerConfig, ctx.allFilePaths, ctx.normalizedFileList, ctx.allFileList, ctx.index);
13
+ return resolved ? { kind: 'files', files: [resolved] } : null;
14
+ };
15
+ exports.phpPsr4Strategy = phpPsr4Strategy;
16
+ exports.phpImportConfig = {
17
+ language: index_js_1.SupportedLanguages.PHP,
18
+ strategies: [exports.phpPsr4Strategy],
19
+ };
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ /**
3
+ * Python import resolution config.
4
+ * PEP 328 relative + proximity-based strategy, then standard fallback.
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.pythonImportConfig = exports.pythonImportStrategy = void 0;
8
+ const index_js_1 = require("../../../../../shared/index.js");
9
+ const standard_js_1 = require("../standard.js");
10
+ const python_js_1 = require("../python.js");
11
+ /**
12
+ * Python import resolution strategy — PEP 328 relative + proximity-based bare imports.
13
+ * Returns null to continue chain for non-relative imports.
14
+ * Absorbs unresolved relative imports (returns empty result to stop the chain).
15
+ */
16
+ const pythonImportStrategy = (rawImportPath, filePath, ctx) => {
17
+ const resolved = (0, python_js_1.resolvePythonImportInternal)(filePath, rawImportPath, ctx.allFilePaths);
18
+ if (resolved) {
19
+ ctx.resolveCache.set(`${filePath}::${rawImportPath}`, resolved);
20
+ return { kind: 'files', files: [resolved] };
21
+ }
22
+ // PEP 328: unresolved relative imports should not fall through to suffix matching
23
+ if (rawImportPath.startsWith('.'))
24
+ return { kind: 'files', files: [] };
25
+ // External dotted imports like `django.apps` should not fall through to generic
26
+ // suffix matching when the repo has unrelated local files such as `accounts/apps.py`.
27
+ // Keep suffix fallback only when the leading segment appears somewhere in-repo,
28
+ // which preserves existing internal absolute-import behavior like `accounts.models`.
29
+ const pathLike = rawImportPath.replace(/\./g, '/');
30
+ if (pathLike.includes('/')) {
31
+ const [leadingSegment] = pathLike.split('/').filter(Boolean);
32
+ const hasRepoCandidate = !!leadingSegment &&
33
+ (ctx.index.get(`${leadingSegment}.py`) !== undefined ||
34
+ ctx.index.get(`${leadingSegment}/__init__.py`) !== undefined ||
35
+ ctx.index.getFilesInDir(leadingSegment, '.py').length > 0);
36
+ if (!hasRepoCandidate)
37
+ return { kind: 'files', files: [] };
38
+ }
39
+ return null;
40
+ };
41
+ exports.pythonImportStrategy = pythonImportStrategy;
42
+ exports.pythonImportConfig = {
43
+ language: index_js_1.SupportedLanguages.Python,
44
+ strategies: [exports.pythonImportStrategy, (0, standard_js_1.createStandardStrategy)(index_js_1.SupportedLanguages.Python)],
45
+ };
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ /**
3
+ * Ruby import resolution config.
4
+ * Require/require_relative suffix matching — no standard fallback.
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.rubyImportConfig = exports.rubyRequireStrategy = void 0;
8
+ const index_js_1 = require("../../../../../shared/index.js");
9
+ const utils_js_1 = require("../utils.js");
10
+ /** Ruby require/require_relative resolution strategy. */
11
+ const rubyRequireStrategy = (rawImportPath, _filePath, ctx) => {
12
+ const pathParts = rawImportPath.replace(/^\.\//, '').split('/').filter(Boolean);
13
+ const resolved = (0, utils_js_1.suffixResolve)(pathParts, ctx.normalizedFileList, ctx.allFileList, ctx.index);
14
+ return resolved ? { kind: 'files', files: [resolved] } : null;
15
+ };
16
+ exports.rubyRequireStrategy = rubyRequireStrategy;
17
+ exports.rubyImportConfig = {
18
+ language: index_js_1.SupportedLanguages.Ruby,
19
+ strategies: [exports.rubyRequireStrategy],
20
+ };
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ /**
3
+ * Rust import resolution config.
4
+ * Rust module strategy (grouped imports, crate/super/self paths), then standard fallback.
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.rustImportConfig = exports.rustModuleStrategy = void 0;
8
+ const index_js_1 = require("../../../../../shared/index.js");
9
+ const standard_js_1 = require("../standard.js");
10
+ const rust_js_1 = require("../rust.js");
11
+ /** Rust module resolution strategy — handles grouped imports and crate/super/self paths. */
12
+ const rustModuleStrategy = (rawImportPath, filePath, ctx) => {
13
+ // Top-level grouped: use {crate::a, crate::b}
14
+ if (rawImportPath.startsWith('{') && rawImportPath.endsWith('}')) {
15
+ const inner = rawImportPath.slice(1, -1);
16
+ const parts = inner
17
+ .split(',')
18
+ .map((p) => p.trim())
19
+ .filter(Boolean);
20
+ const resolved = [];
21
+ for (const part of parts) {
22
+ const r = (0, rust_js_1.resolveRustImportInternal)(filePath, part, ctx.allFilePaths);
23
+ if (r)
24
+ resolved.push(r);
25
+ }
26
+ return resolved.length > 0 ? { kind: 'files', files: resolved } : null;
27
+ }
28
+ // Scoped grouped: use crate::models::{User, Repo}
29
+ const braceIdx = rawImportPath.indexOf('::{');
30
+ if (braceIdx !== -1 && rawImportPath.endsWith('}')) {
31
+ const pathPrefix = rawImportPath.substring(0, braceIdx);
32
+ const braceContent = rawImportPath.substring(braceIdx + 3, rawImportPath.length - 1);
33
+ const items = braceContent
34
+ .split(',')
35
+ .map((s) => s.trim())
36
+ .filter(Boolean);
37
+ const resolved = [];
38
+ for (const item of items) {
39
+ // Handle `use crate::models::{User, Repo as R}` — strip alias for resolution
40
+ const itemName = item.includes(' as ') ? item.split(' as ')[0].trim() : item;
41
+ const r = (0, rust_js_1.resolveRustImportInternal)(filePath, `${pathPrefix}::${itemName}`, ctx.allFilePaths);
42
+ if (r)
43
+ resolved.push(r);
44
+ }
45
+ if (resolved.length > 0)
46
+ return { kind: 'files', files: resolved };
47
+ // Fallback: resolve the prefix path itself (e.g. crate::models -> models.rs)
48
+ const prefixResult = (0, rust_js_1.resolveRustImportInternal)(filePath, pathPrefix, ctx.allFilePaths);
49
+ if (prefixResult)
50
+ return { kind: 'files', files: [prefixResult] };
51
+ }
52
+ return null;
53
+ };
54
+ exports.rustModuleStrategy = rustModuleStrategy;
55
+ exports.rustImportConfig = {
56
+ language: index_js_1.SupportedLanguages.Rust,
57
+ strategies: [exports.rustModuleStrategy, (0, standard_js_1.createStandardStrategy)(index_js_1.SupportedLanguages.Rust)],
58
+ };
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+ /**
3
+ * Swift import resolution config.
4
+ * Package.swift target map strategy — no standard fallback (unresolved = external framework).
5
+ *
6
+ * ## Performance (anti-O(imports × files))
7
+ *
8
+ * The previous implementation rescanned the whole `normalizedFileList`
9
+ * on every import to collect the `.swift` files under the requested
10
+ * target's directory — O(imports × files) per run, the exact hot path
11
+ * fixed for Python in PR #1918. We now build a `target → files` index
12
+ * ONCE per run, memoized on the stable `allFileList` array reference
13
+ * (the same `ResolveCtx` — and therefore the same array — is passed to
14
+ * every strategy invocation, per `import-processor`'s build-once
15
+ * context). Lookup per import is then O(1).
16
+ *
17
+ * Behavior is preserved bit-for-bit: a file is attributed to a target
18
+ * iff its **forward-slash (backslash-normalized), case-sensitive** path
19
+ * starts with `<targetDir>/`, matching the old
20
+ * `normalizedFileList[i].startsWith(targetDir + '/')` comparison
21
+ * (`normalizedFileList` is only backslash→forward-slash normalized — NOT
22
+ * lowercased — so the match is case-sensitive); the returned paths are
23
+ * the original-case `allFileList` entries; and the per-target file ORDER
24
+ * follows `allFileList`, so the emitted `{ kind: 'files', files }` set and
25
+ * ordering are identical to the old scan.
26
+ */
27
+ Object.defineProperty(exports, "__esModule", { value: true });
28
+ exports.swiftImportConfig = exports.swiftPackageStrategy = void 0;
29
+ const index_js_1 = require("../../../../../shared/index.js");
30
+ /**
31
+ * Memoized on the `allFileList` array identity. `import-processor` builds
32
+ * the `ResolveCtx` once per run and threads the same object (and the same
33
+ * `allFileList`) through every strategy call, so the WeakMap is keyed on a
34
+ * stable reference and the index is built once — not once per import. A
35
+ * fresh run produces a fresh array → a fresh index, so cross-run staleness
36
+ * is impossible.
37
+ */
38
+ const SWIFT_TARGET_INDEX_CACHE = new WeakMap();
39
+ function getSwiftTargetIndex(ctx, targets) {
40
+ const key = ctx.allFileList;
41
+ const cached = SWIFT_TARGET_INDEX_CACHE.get(key);
42
+ if (cached !== undefined)
43
+ return cached;
44
+ // Pre-compute each target's directory prefix once (original case, to
45
+ // match the legacy comparison against the forward-slash-normalized,
46
+ // case-sensitive file list — see module docstring).
47
+ const targetPrefixes = [];
48
+ const byTarget = new Map();
49
+ for (const [name, dir] of targets) {
50
+ targetPrefixes.push({ name, prefix: dir + '/' });
51
+ byTarget.set(name, []);
52
+ }
53
+ // Single pass over the file list. `normalizedFileList` is forward-slash
54
+ // (backslash-normalized), case-sensitive, and index-aligned with
55
+ // `allFileList`; attribute the original-case path to every target whose
56
+ // prefix the normalized path starts with (a file under a nested target
57
+ // dir can legitimately belong to multiple configured targets — the
58
+ // legacy per-import scan would have returned it for each).
59
+ for (let i = 0; i < ctx.allFileList.length; i++) {
60
+ const norm = ctx.normalizedFileList[i];
61
+ if (!norm.endsWith('.swift'))
62
+ continue;
63
+ for (const { name, prefix } of targetPrefixes) {
64
+ if (norm.startsWith(prefix)) {
65
+ byTarget.get(name).push(ctx.allFileList[i]);
66
+ }
67
+ }
68
+ }
69
+ const index = { byTarget };
70
+ SWIFT_TARGET_INDEX_CACHE.set(key, index);
71
+ return index;
72
+ }
73
+ /** Swift Package.swift target map resolution strategy. */
74
+ const swiftPackageStrategy = (rawImportPath, _filePath, ctx) => {
75
+ const swiftPackageConfig = ctx.configs.swiftPackageConfig;
76
+ if (swiftPackageConfig) {
77
+ // Only the targets map is needed; build the index lazily so repos
78
+ // without a Package.swift config pay nothing.
79
+ if (swiftPackageConfig.targets.has(rawImportPath)) {
80
+ const index = getSwiftTargetIndex(ctx, swiftPackageConfig.targets);
81
+ const files = index.byTarget.get(rawImportPath);
82
+ if (files !== undefined && files.length > 0) {
83
+ // Copy so callers can't mutate the cached index bucket.
84
+ return { kind: 'files', files: [...files] };
85
+ }
86
+ }
87
+ }
88
+ return null; // External framework (Foundation, UIKit, etc.)
89
+ };
90
+ exports.swiftPackageStrategy = swiftPackageStrategy;
91
+ exports.swiftImportConfig = {
92
+ language: index_js_1.SupportedLanguages.Swift,
93
+ strategies: [exports.swiftPackageStrategy],
94
+ };
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ /**
3
+ * TypeScript / JavaScript / Vue import resolution configs.
4
+ * All use standard resolution — TS/JS with tsconfig path aliases,
5
+ * Vue delegates to TypeScript's resolver.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.vueImportConfig = exports.javascriptImportConfig = exports.typescriptImportConfig = void 0;
9
+ const index_js_1 = require("../../../../../shared/index.js");
10
+ const standard_js_1 = require("../standard.js");
11
+ exports.typescriptImportConfig = {
12
+ language: index_js_1.SupportedLanguages.TypeScript,
13
+ strategies: [(0, standard_js_1.createStandardStrategy)(index_js_1.SupportedLanguages.TypeScript)],
14
+ };
15
+ exports.javascriptImportConfig = {
16
+ language: index_js_1.SupportedLanguages.JavaScript,
17
+ strategies: [(0, standard_js_1.createStandardStrategy)(index_js_1.SupportedLanguages.JavaScript)],
18
+ };
19
+ // Vue SFCs are preprocessed into TypeScript upstream of import resolution,
20
+ // so the resolver intentionally runs as TypeScript. `language: Vue` here is
21
+ // documentation-only metadata (see `ImportResolutionConfig.language` JSDoc
22
+ // and ARCHITECTURE.md §Vue); it is not consumed by `createImportResolver`.
23
+ exports.vueImportConfig = {
24
+ language: index_js_1.SupportedLanguages.Vue,
25
+ strategies: [(0, standard_js_1.createStandardStrategy)(index_js_1.SupportedLanguages.TypeScript)],
26
+ };
@@ -0,0 +1,128 @@
1
+ "use strict";
2
+ /**
3
+ * C# namespace import resolution — internal helpers.
4
+ *
5
+ * Strategy lives in configs/csharp.ts.
6
+ * This file contains shared helpers for namespace-based resolution.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.resolveCSharpImportInternal = resolveCSharpImportInternal;
10
+ exports.resolveCSharpNamespaceDir = resolveCSharpNamespaceDir;
11
+ const utils_js_1 = require("./utils.js");
12
+ const csharp_namespace_gate_js_1 = require("../csharp-namespace-gate.js");
13
+ /**
14
+ * Resolve a C# using-directive import path to matching .cs files (low-level helper).
15
+ * Tries single-file match first, then directory match for namespace imports.
16
+ *
17
+ * The final unanchored suffix fallback is gated on `evidence` so BCL usings
18
+ * (e.g. `System.Threading.Tasks`) can't match a coincidentally-named local
19
+ * file (#1881). When `evidence` is omitted the fallback stays permissive.
20
+ */
21
+ function resolveCSharpImportInternal(importPath, csharpConfigs, normalizedFileList, allFileList, index, evidence) {
22
+ const namespacePath = importPath.replace(/\./g, '/');
23
+ const results = [];
24
+ for (const config of csharpConfigs) {
25
+ const nsPath = config.rootNamespace.replace(/\./g, '/');
26
+ let relative;
27
+ if (namespacePath.startsWith(nsPath + '/')) {
28
+ relative = namespacePath.slice(nsPath.length + 1);
29
+ }
30
+ else if (namespacePath === nsPath) {
31
+ // The import IS the root namespace — resolve to all .cs files in project root
32
+ relative = '';
33
+ }
34
+ else {
35
+ continue;
36
+ }
37
+ const dirPrefix = config.projectDir
38
+ ? relative
39
+ ? config.projectDir + '/' + relative
40
+ : config.projectDir
41
+ : relative;
42
+ // 1. Try as single file: relative.cs (e.g., "Models/DlqMessage.cs")
43
+ if (relative) {
44
+ const candidate = dirPrefix + '.cs';
45
+ if (index) {
46
+ const result = index.get(candidate) || index.getInsensitive(candidate);
47
+ if (result)
48
+ return [result];
49
+ }
50
+ // Also try suffix match
51
+ const suffixResult = index?.get(relative + '.cs') || index?.getInsensitive(relative + '.cs');
52
+ if (suffixResult)
53
+ return [suffixResult];
54
+ }
55
+ // 2. Try as directory: all .cs files directly inside (namespace import)
56
+ if (index) {
57
+ const dirFiles = index.getFilesInDir(dirPrefix, '.cs');
58
+ for (const f of dirFiles) {
59
+ const normalized = f.replace(/\\/g, '/');
60
+ // Check it's a direct child by finding the dirPrefix and ensuring no deeper slashes
61
+ const prefixIdx = normalized.indexOf(dirPrefix + '/');
62
+ if (prefixIdx < 0)
63
+ continue;
64
+ const afterDir = normalized.substring(prefixIdx + dirPrefix.length + 1);
65
+ if (!afterDir.includes('/')) {
66
+ results.push(f);
67
+ }
68
+ }
69
+ if (results.length > 0)
70
+ return results;
71
+ }
72
+ // 3. Linear scan fallback for directory matching
73
+ if (results.length === 0) {
74
+ const dirTrail = dirPrefix + '/';
75
+ for (let i = 0; i < normalizedFileList.length; i++) {
76
+ const normalized = normalizedFileList[i];
77
+ if (!normalized.endsWith('.cs'))
78
+ continue;
79
+ const prefixIdx = normalized.indexOf(dirTrail);
80
+ if (prefixIdx < 0)
81
+ continue;
82
+ const afterDir = normalized.substring(prefixIdx + dirTrail.length);
83
+ if (!afterDir.includes('/')) {
84
+ results.push(allFileList[i]);
85
+ }
86
+ }
87
+ if (results.length > 0)
88
+ return results;
89
+ }
90
+ }
91
+ // Fallback: suffix matching without namespace stripping (single file).
92
+ // Gated on in-repo declared-namespace evidence (#1881).
93
+ if (!(0, csharp_namespace_gate_js_1.csharpSuffixFallbackAllowed)(importPath, evidence)) {
94
+ return [];
95
+ }
96
+ const pathParts = namespacePath.split('/').filter(Boolean);
97
+ const fallback = (0, utils_js_1.suffixResolve)(pathParts, normalizedFileList, allFileList, index);
98
+ return fallback ? [fallback] : [];
99
+ }
100
+ /**
101
+ * Compute the directory suffix for a C# namespace import (for PackageMap).
102
+ * Returns a suffix like "/ProjectDir/Models/" or null if no config matches.
103
+ */
104
+ function resolveCSharpNamespaceDir(importPath, csharpConfigs) {
105
+ const namespacePath = importPath.replace(/\./g, '/');
106
+ for (const config of csharpConfigs) {
107
+ const nsPath = config.rootNamespace.replace(/\./g, '/');
108
+ let relative;
109
+ if (namespacePath.startsWith(nsPath + '/')) {
110
+ relative = namespacePath.slice(nsPath.length + 1);
111
+ }
112
+ else if (namespacePath === nsPath) {
113
+ relative = '';
114
+ }
115
+ else {
116
+ continue;
117
+ }
118
+ const dirPrefix = config.projectDir
119
+ ? relative
120
+ ? config.projectDir + '/' + relative
121
+ : config.projectDir
122
+ : relative;
123
+ if (!dirPrefix)
124
+ continue;
125
+ return '/' + dirPrefix + '/';
126
+ }
127
+ return null;
128
+ }
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ /**
3
+ * Go package import resolution — internal helpers.
4
+ *
5
+ * Strategy lives in configs/go.ts.
6
+ * This file contains the shared helpers used by the strategy.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.resolveGoPackageDir = resolveGoPackageDir;
10
+ exports.resolveGoPackage = resolveGoPackage;
11
+ /**
12
+ * Extract the package directory suffix from a Go import path.
13
+ * Returns the suffix string (e.g., "/internal/auth/") or null if invalid.
14
+ */
15
+ function resolveGoPackageDir(importPath, goModule) {
16
+ if (!importPath.startsWith(goModule.modulePath))
17
+ return null;
18
+ const relativePkg = importPath.slice(goModule.modulePath.length + 1);
19
+ if (!relativePkg)
20
+ return null;
21
+ return '/' + relativePkg + '/';
22
+ }
23
+ /**
24
+ * Resolve a Go internal package import to all .go files in the package directory.
25
+ * Returns an array of file paths.
26
+ */
27
+ function resolveGoPackage(importPath, goModule, normalizedFileList, allFileList) {
28
+ if (!importPath.startsWith(goModule.modulePath))
29
+ return [];
30
+ // Strip module path to get relative package path
31
+ const relativePkg = importPath.slice(goModule.modulePath.length + 1); // e.g., "internal/auth"
32
+ if (!relativePkg)
33
+ return [];
34
+ const pkgSuffix = '/' + relativePkg + '/';
35
+ const matches = [];
36
+ for (let i = 0; i < normalizedFileList.length; i++) {
37
+ // Prepend '/' so paths like "internal/auth/service.go" match suffix "/internal/auth/"
38
+ const normalized = '/' + normalizedFileList[i];
39
+ // File must be directly in the package directory (not a subdirectory)
40
+ if (normalized.includes(pkgSuffix) &&
41
+ normalized.endsWith('.go') &&
42
+ !normalized.endsWith('_test.go')) {
43
+ const afterPkg = normalized.substring(normalized.indexOf(pkgSuffix) + pkgSuffix.length);
44
+ if (!afterPkg.includes('/')) {
45
+ matches.push(allFileList[i]);
46
+ }
47
+ }
48
+ }
49
+ return matches;
50
+ }