cgraphx 2.0.1 → 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 (701) hide show
  1. package/dist/.claude-template/FLOW-MAP.md +7 -5
  2. package/dist/.claude-template/commands/end.md +1 -1
  3. package/dist/.claude-template/skills/cgraphx-guide/SKILL.md +2 -1
  4. package/dist/.claude-template/skills/cgraphx-guide/how-to-use.html +4 -2
  5. package/dist/.claude-template/skills/cgraphx-guide/how-to-use.md +5 -2
  6. package/dist/.claude-template/skills/iboc-check/SKILL.md +116 -0
  7. package/dist/.claude-template/skills/iboc-check/filler-prompt.md +75 -0
  8. package/dist/.claude-template/skills/implementation/SKILL.md +7 -0
  9. package/dist/.claude-template/skills/init-project-guides/SKILL.md +1 -1
  10. package/dist/.claude-template/skills/run-api-test/references/db-verification.md +2 -2
  11. package/dist/.claude-template/skills/subagent-implement/SKILL.md +3 -2
  12. package/dist/.claude-template/skills/write-api/assets/template-request.bru +3 -3
  13. package/dist/.claude-template/skills/write-api/references/bru-format.md +6 -6
  14. package/dist/.claude-template/skills/write-delivery-guide/SKILL.md +97 -0
  15. package/dist/.claude-template/skills/write-delivery-guide/template-change-type.md +120 -0
  16. package/dist/.claude-template/skills/write-delivery-guide/template-multi-role-flow.md +148 -0
  17. package/dist/.claude-template/skills/write-unit-test-code/SKILL.md +23 -6
  18. package/dist/core/code/engine/cli/analyze-config.js +320 -0
  19. package/dist/core/code/engine/cli/analyze.js +1086 -0
  20. package/dist/core/code/engine/cli/cli-message.js +83 -0
  21. package/dist/core/code/engine/cli/detect-changes-format.js +58 -0
  22. package/dist/core/code/engine/cli/embedding-dims.js +43 -0
  23. package/dist/core/code/engine/cli/format-elapsed.js +12 -0
  24. package/dist/core/code/engine/cli/help-i18n.js +144 -0
  25. package/dist/core/code/engine/cli/i18n/en.js +110 -0
  26. package/dist/core/code/engine/cli/i18n/index.js +47 -0
  27. package/dist/core/code/engine/cli/i18n/resources.js +9 -0
  28. package/dist/core/code/engine/cli/i18n/zh-CN.js +110 -0
  29. package/dist/core/code/engine/cli/lazy-action.js +67 -0
  30. package/dist/core/code/engine/cli/optional-grammars.js +136 -0
  31. package/dist/core/code/engine/cli/resolve-invocation.js +76 -0
  32. package/dist/core/code/engine/cli/status.js +156 -0
  33. package/dist/core/code/engine/cli/tool.js +384 -0
  34. package/dist/core/code/engine/config/ignore-service.js +511 -0
  35. package/dist/core/code/engine/config/supported-languages.js +17 -0
  36. package/dist/core/code/engine/core/analysis-features.js +64 -0
  37. package/dist/core/code/engine/core/analyzer-identity.js +2171 -0
  38. package/dist/core/code/engine/core/git-staleness.js +180 -0
  39. package/dist/core/code/engine/core/graph/graph.js +180 -0
  40. package/dist/core/code/engine/core/graph/import-cycles.js +106 -0
  41. package/dist/core/code/engine/core/graph/types.js +2 -0
  42. package/dist/core/code/engine/core/index-freshness.js +12 -0
  43. package/dist/core/code/engine/core/ingestion/binding-accumulator.js +341 -0
  44. package/dist/core/code/engine/core/ingestion/call-extractors/configs/c-cpp.js +168 -0
  45. package/dist/core/code/engine/core/ingestion/call-extractors/configs/csharp.js +9 -0
  46. package/dist/core/code/engine/core/ingestion/call-extractors/configs/dart.js +8 -0
  47. package/dist/core/code/engine/core/ingestion/call-extractors/configs/go.js +8 -0
  48. package/dist/core/code/engine/core/ingestion/call-extractors/configs/jvm.js +54 -0
  49. package/dist/core/code/engine/core/ingestion/call-extractors/configs/php.js +8 -0
  50. package/dist/core/code/engine/core/ingestion/call-extractors/configs/python.js +8 -0
  51. package/dist/core/code/engine/core/ingestion/call-extractors/configs/ruby.js +8 -0
  52. package/dist/core/code/engine/core/ingestion/call-extractors/configs/rust.js +8 -0
  53. package/dist/core/code/engine/core/ingestion/call-extractors/configs/swift.js +8 -0
  54. package/dist/core/code/engine/core/ingestion/call-extractors/configs/typescript-javascript.js +11 -0
  55. package/dist/core/code/engine/core/ingestion/call-extractors/generic.js +62 -0
  56. package/dist/core/code/engine/core/ingestion/call-processor.js +503 -0
  57. package/dist/core/code/engine/core/ingestion/call-routing.js +98 -0
  58. package/dist/core/code/engine/core/ingestion/call-types.js +3 -0
  59. package/dist/core/code/engine/core/ingestion/cfg/callee-cell-format.js +45 -0
  60. package/dist/core/code/engine/core/ingestion/cfg/cfg-builder.js +202 -0
  61. package/dist/core/code/engine/core/ingestion/cfg/collect.js +81 -0
  62. package/dist/core/code/engine/core/ingestion/cfg/control-dependence.js +185 -0
  63. package/dist/core/code/engine/core/ingestion/cfg/control-flow-context.js +130 -0
  64. package/dist/core/code/engine/core/ingestion/cfg/emit.js +646 -0
  65. package/dist/core/code/engine/core/ingestion/cfg/post-dominators.js +182 -0
  66. package/dist/core/code/engine/core/ingestion/cfg/reaching-def-reason-codec.js +139 -0
  67. package/dist/core/code/engine/core/ingestion/cfg/reaching-defs-graph.js +322 -0
  68. package/dist/core/code/engine/core/ingestion/cfg/reaching-defs.js +792 -0
  69. package/dist/core/code/engine/core/ingestion/cfg/synthetic-escape.js +305 -0
  70. package/dist/core/code/engine/core/ingestion/cfg/traversal-result.js +6 -0
  71. package/dist/core/code/engine/core/ingestion/cfg/types.js +14 -0
  72. package/dist/core/code/engine/core/ingestion/cfg/visitors/c-cpp-harvest.js +545 -0
  73. package/dist/core/code/engine/core/ingestion/cfg/visitors/c-cpp.js +590 -0
  74. package/dist/core/code/engine/core/ingestion/cfg/visitors/call-site-harvest.js +356 -0
  75. package/dist/core/code/engine/core/ingestion/cfg/visitors/csharp-harvest.js +593 -0
  76. package/dist/core/code/engine/core/ingestion/cfg/visitors/csharp.js +871 -0
  77. package/dist/core/code/engine/core/ingestion/cfg/visitors/dart-harvest.js +874 -0
  78. package/dist/core/code/engine/core/ingestion/cfg/visitors/dart.js +840 -0
  79. package/dist/core/code/engine/core/ingestion/cfg/visitors/go-harvest.js +625 -0
  80. package/dist/core/code/engine/core/ingestion/cfg/visitors/go.js +642 -0
  81. package/dist/core/code/engine/core/ingestion/cfg/visitors/java-harvest.js +517 -0
  82. package/dist/core/code/engine/core/ingestion/cfg/visitors/java.js +816 -0
  83. package/dist/core/code/engine/core/ingestion/cfg/visitors/kotlin-harvest.js +723 -0
  84. package/dist/core/code/engine/core/ingestion/cfg/visitors/kotlin.js +813 -0
  85. package/dist/core/code/engine/core/ingestion/cfg/visitors/php-harvest.js +630 -0
  86. package/dist/core/code/engine/core/ingestion/cfg/visitors/php.js +725 -0
  87. package/dist/core/code/engine/core/ingestion/cfg/visitors/python-harvest.js +776 -0
  88. package/dist/core/code/engine/core/ingestion/cfg/visitors/python.js +562 -0
  89. package/dist/core/code/engine/core/ingestion/cfg/visitors/ruby-harvest.js +591 -0
  90. package/dist/core/code/engine/core/ingestion/cfg/visitors/ruby.js +760 -0
  91. package/dist/core/code/engine/core/ingestion/cfg/visitors/rust-harvest.js +877 -0
  92. package/dist/core/code/engine/core/ingestion/cfg/visitors/rust.js +562 -0
  93. package/dist/core/code/engine/core/ingestion/cfg/visitors/scope-tree-harvest.js +120 -0
  94. package/dist/core/code/engine/core/ingestion/cfg/visitors/swift-harvest.js +683 -0
  95. package/dist/core/code/engine/core/ingestion/cfg/visitors/swift.js +791 -0
  96. package/dist/core/code/engine/core/ingestion/cfg/visitors/typescript-harvest.js +1060 -0
  97. package/dist/core/code/engine/core/ingestion/cfg/visitors/typescript.js +587 -0
  98. package/dist/core/code/engine/core/ingestion/class-extractors/configs/c-cpp.js +77 -0
  99. package/dist/core/code/engine/core/ingestion/class-extractors/configs/csharp.js +24 -0
  100. package/dist/core/code/engine/core/ingestion/class-extractors/configs/dart.js +10 -0
  101. package/dist/core/code/engine/core/ingestion/class-extractors/configs/go.js +28 -0
  102. package/dist/core/code/engine/core/ingestion/class-extractors/configs/jvm.js +67 -0
  103. package/dist/core/code/engine/core/ingestion/class-extractors/configs/php.js +10 -0
  104. package/dist/core/code/engine/core/ingestion/class-extractors/configs/python.js +10 -0
  105. package/dist/core/code/engine/core/ingestion/class-extractors/configs/ruby.js +13 -0
  106. package/dist/core/code/engine/core/ingestion/class-extractors/configs/rust.js +10 -0
  107. package/dist/core/code/engine/core/ingestion/class-extractors/configs/swift.js +21 -0
  108. package/dist/core/code/engine/core/ingestion/class-extractors/configs/typescript-javascript.js +31 -0
  109. package/dist/core/code/engine/core/ingestion/class-extractors/generic.js +144 -0
  110. package/dist/core/code/engine/core/ingestion/class-types.js +2 -0
  111. package/dist/core/code/engine/core/ingestion/cluster-enricher.js +174 -0
  112. package/dist/core/code/engine/core/ingestion/community-processor.js +604 -0
  113. package/dist/core/code/engine/core/ingestion/constants.js +26 -0
  114. package/dist/core/code/engine/core/ingestion/cpp-ue-preprocessor.js +263 -0
  115. package/dist/core/code/engine/core/ingestion/csharp-namespace-gate.js +133 -0
  116. package/dist/core/code/engine/core/ingestion/di-extractors/index.js +38 -0
  117. package/dist/core/code/engine/core/ingestion/di-extractors/spring.js +310 -0
  118. package/dist/core/code/engine/core/ingestion/emit-references.js +244 -0
  119. package/dist/core/code/engine/core/ingestion/entry-point-scoring.js +201 -0
  120. package/dist/core/code/engine/core/ingestion/export-detection.js +244 -0
  121. package/dist/core/code/engine/core/ingestion/field-extractor.js +29 -0
  122. package/dist/core/code/engine/core/ingestion/field-extractors/configs/c-cpp.js +107 -0
  123. package/dist/core/code/engine/core/ingestion/field-extractors/configs/csharp.js +124 -0
  124. package/dist/core/code/engine/core/ingestion/field-extractors/configs/dart.js +99 -0
  125. package/dist/core/code/engine/core/ingestion/field-extractors/configs/go.js +102 -0
  126. package/dist/core/code/engine/core/ingestion/field-extractors/configs/helpers.js +198 -0
  127. package/dist/core/code/engine/core/ingestion/field-extractors/configs/jvm.js +172 -0
  128. package/dist/core/code/engine/core/ingestion/field-extractors/configs/php.js +67 -0
  129. package/dist/core/code/engine/core/ingestion/field-extractors/configs/python.js +94 -0
  130. package/dist/core/code/engine/core/ingestion/field-extractors/configs/ruby.js +79 -0
  131. package/dist/core/code/engine/core/ingestion/field-extractors/configs/rust.js +55 -0
  132. package/dist/core/code/engine/core/ingestion/field-extractors/configs/swift.js +93 -0
  133. package/dist/core/code/engine/core/ingestion/field-extractors/configs/typescript-javascript.js +59 -0
  134. package/dist/core/code/engine/core/ingestion/field-extractors/generic.js +147 -0
  135. package/dist/core/code/engine/core/ingestion/field-extractors/typescript.js +266 -0
  136. package/dist/core/code/engine/core/ingestion/field-types.js +3 -0
  137. package/dist/core/code/engine/core/ingestion/filesystem-walker.js +136 -0
  138. package/dist/core/code/engine/core/ingestion/finalize-orchestrator.js +159 -0
  139. package/dist/core/code/engine/core/ingestion/framework-detection.js +432 -0
  140. package/dist/core/code/engine/core/ingestion/frameworks/spring/analysis-features.js +38 -0
  141. package/dist/core/code/engine/core/ingestion/frameworks/spring/annotation-arguments.js +234 -0
  142. package/dist/core/code/engine/core/ingestion/frameworks/spring/aop-candidates.js +88 -0
  143. package/dist/core/code/engine/core/ingestion/frameworks/spring/aop.js +487 -0
  144. package/dist/core/code/engine/core/ingestion/frameworks/spring/auto-configuration.js +21 -0
  145. package/dist/core/code/engine/core/ingestion/frameworks/spring/bean-candidates.js +189 -0
  146. package/dist/core/code/engine/core/ingestion/frameworks/spring/bean-catalog.js +32 -0
  147. package/dist/core/code/engine/core/ingestion/frameworks/spring/bean-factories.js +73 -0
  148. package/dist/core/code/engine/core/ingestion/frameworks/spring/conditionals.js +323 -0
  149. package/dist/core/code/engine/core/ingestion/frameworks/spring/config-bindings.js +119 -0
  150. package/dist/core/code/engine/core/ingestion/frameworks/spring/di-metadata.js +385 -0
  151. package/dist/core/code/engine/core/ingestion/frameworks/spring/resource-injection.js +96 -0
  152. package/dist/core/code/engine/core/ingestion/import-resolvers/configs/c-cpp.js +17 -0
  153. package/dist/core/code/engine/core/ingestion/import-resolvers/configs/csharp.js +46 -0
  154. package/dist/core/code/engine/core/ingestion/import-resolvers/configs/dart.js +59 -0
  155. package/dist/core/code/engine/core/ingestion/import-resolvers/configs/go.js +30 -0
  156. package/dist/core/code/engine/core/ingestion/import-resolvers/configs/jvm.js +73 -0
  157. package/dist/core/code/engine/core/ingestion/import-resolvers/configs/php.js +19 -0
  158. package/dist/core/code/engine/core/ingestion/import-resolvers/configs/python.js +45 -0
  159. package/dist/core/code/engine/core/ingestion/import-resolvers/configs/ruby.js +20 -0
  160. package/dist/core/code/engine/core/ingestion/import-resolvers/configs/rust.js +58 -0
  161. package/dist/core/code/engine/core/ingestion/import-resolvers/configs/swift.js +94 -0
  162. package/dist/core/code/engine/core/ingestion/import-resolvers/configs/typescript-javascript.js +26 -0
  163. package/dist/core/code/engine/core/ingestion/import-resolvers/csharp.js +128 -0
  164. package/dist/core/code/engine/core/ingestion/import-resolvers/go.js +50 -0
  165. package/dist/core/code/engine/core/ingestion/import-resolvers/jvm.js +112 -0
  166. package/dist/core/code/engine/core/ingestion/import-resolvers/php.js +80 -0
  167. package/dist/core/code/engine/core/ingestion/import-resolvers/python.js +75 -0
  168. package/dist/core/code/engine/core/ingestion/import-resolvers/resolver-factory.js +36 -0
  169. package/dist/core/code/engine/core/ingestion/import-resolvers/ruby.js +20 -0
  170. package/dist/core/code/engine/core/ingestion/import-resolvers/rust.js +79 -0
  171. package/dist/core/code/engine/core/ingestion/import-resolvers/standard.js +180 -0
  172. package/dist/core/code/engine/core/ingestion/import-resolvers/types.js +7 -0
  173. package/dist/core/code/engine/core/ingestion/import-resolvers/utils.js +153 -0
  174. package/dist/core/code/engine/core/ingestion/import-target-adapter.js +99 -0
  175. package/dist/core/code/engine/core/ingestion/language-config.js +391 -0
  176. package/dist/core/code/engine/core/ingestion/language-provider.js +25 -0
  177. package/dist/core/code/engine/core/ingestion/languages/c/arity-metadata.js +98 -0
  178. package/dist/core/code/engine/core/ingestion/languages/c/arity.js +21 -0
  179. package/dist/core/code/engine/core/ingestion/languages/c/capture-side-channel.js +69 -0
  180. package/dist/core/code/engine/core/ingestion/languages/c/captures.js +189 -0
  181. package/dist/core/code/engine/core/ingestion/languages/c/header-scan.js +58 -0
  182. package/dist/core/code/engine/core/ingestion/languages/c/import-decomposer.js +68 -0
  183. package/dist/core/code/engine/core/ingestion/languages/c/import-target.js +103 -0
  184. package/dist/core/code/engine/core/ingestion/languages/c/index.js +33 -0
  185. package/dist/core/code/engine/core/ingestion/languages/c/interpret.js +53 -0
  186. package/dist/core/code/engine/core/ingestion/languages/c/merge-bindings.js +26 -0
  187. package/dist/core/code/engine/core/ingestion/languages/c/query.js +210 -0
  188. package/dist/core/code/engine/core/ingestion/languages/c/scope-resolver.js +112 -0
  189. package/dist/core/code/engine/core/ingestion/languages/c/simple-hooks.js +24 -0
  190. package/dist/core/code/engine/core/ingestion/languages/c/static-linkage.js +109 -0
  191. package/dist/core/code/engine/core/ingestion/languages/c-cpp.js +506 -0
  192. package/dist/core/code/engine/core/ingestion/languages/cpp/adl.js +804 -0
  193. package/dist/core/code/engine/core/ingestion/languages/cpp/arity-metadata.js +258 -0
  194. package/dist/core/code/engine/core/ingestion/languages/cpp/arity.js +37 -0
  195. package/dist/core/code/engine/core/ingestion/languages/cpp/capture-side-channel.js +89 -0
  196. package/dist/core/code/engine/core/ingestion/languages/cpp/captures.js +1975 -0
  197. package/dist/core/code/engine/core/ingestion/languages/cpp/constraint-extractor.js +311 -0
  198. package/dist/core/code/engine/core/ingestion/languages/cpp/constraint-filter.js +210 -0
  199. package/dist/core/code/engine/core/ingestion/languages/cpp/conversion-rank.js +163 -0
  200. package/dist/core/code/engine/core/ingestion/languages/cpp/file-local-linkage.js +327 -0
  201. package/dist/core/code/engine/core/ingestion/languages/cpp/header-scan.js +53 -0
  202. package/dist/core/code/engine/core/ingestion/languages/cpp/import-decomposer.js +134 -0
  203. package/dist/core/code/engine/core/ingestion/languages/cpp/import-target.js +16 -0
  204. package/dist/core/code/engine/core/ingestion/languages/cpp/index.js +33 -0
  205. package/dist/core/code/engine/core/ingestion/languages/cpp/inline-namespaces.js +379 -0
  206. package/dist/core/code/engine/core/ingestion/languages/cpp/interpret.js +239 -0
  207. package/dist/core/code/engine/core/ingestion/languages/cpp/member-lookup.js +470 -0
  208. package/dist/core/code/engine/core/ingestion/languages/cpp/merge-bindings.js +32 -0
  209. package/dist/core/code/engine/core/ingestion/languages/cpp/query.js +763 -0
  210. package/dist/core/code/engine/core/ingestion/languages/cpp/range-bindings.js +230 -0
  211. package/dist/core/code/engine/core/ingestion/languages/cpp/scope-resolver.js +354 -0
  212. package/dist/core/code/engine/core/ingestion/languages/cpp/simple-hooks.js +67 -0
  213. package/dist/core/code/engine/core/ingestion/languages/cpp/two-phase-lookup.js +348 -0
  214. package/dist/core/code/engine/core/ingestion/languages/cpp/type-classifier.js +56 -0
  215. package/dist/core/code/engine/core/ingestion/languages/cpp/user-defined-conversions.js +128 -0
  216. package/dist/core/code/engine/core/ingestion/languages/csharp/accessor-unwrap.js +67 -0
  217. package/dist/core/code/engine/core/ingestion/languages/csharp/arity-metadata.js +49 -0
  218. package/dist/core/code/engine/core/ingestion/languages/csharp/arity.js +40 -0
  219. package/dist/core/code/engine/core/ingestion/languages/csharp/cache-stats.js +32 -0
  220. package/dist/core/code/engine/core/ingestion/languages/csharp/captures.js +557 -0
  221. package/dist/core/code/engine/core/ingestion/languages/csharp/import-decomposer.js +96 -0
  222. package/dist/core/code/engine/core/ingestion/languages/csharp/import-target.js +176 -0
  223. package/dist/core/code/engine/core/ingestion/languages/csharp/index.js +95 -0
  224. package/dist/core/code/engine/core/ingestion/languages/csharp/interpret.js +150 -0
  225. package/dist/core/code/engine/core/ingestion/languages/csharp/merge-bindings.js +58 -0
  226. package/dist/core/code/engine/core/ingestion/languages/csharp/namespace-siblings.js +708 -0
  227. package/dist/core/code/engine/core/ingestion/languages/csharp/qualified-type-names.js +62 -0
  228. package/dist/core/code/engine/core/ingestion/languages/csharp/query.js +578 -0
  229. package/dist/core/code/engine/core/ingestion/languages/csharp/receiver-binding.js +142 -0
  230. package/dist/core/code/engine/core/ingestion/languages/csharp/resolution-config.js +18 -0
  231. package/dist/core/code/engine/core/ingestion/languages/csharp/scope-resolver.js +84 -0
  232. package/dist/core/code/engine/core/ingestion/languages/csharp/simple-hooks.js +81 -0
  233. package/dist/core/code/engine/core/ingestion/languages/csharp.js +204 -0
  234. package/dist/core/code/engine/core/ingestion/languages/dart/arity-metadata.js +38 -0
  235. package/dist/core/code/engine/core/ingestion/languages/dart/arity.js +34 -0
  236. package/dist/core/code/engine/core/ingestion/languages/dart/built-ins.js +37 -0
  237. package/dist/core/code/engine/core/ingestion/languages/dart/cache-stats.js +30 -0
  238. package/dist/core/code/engine/core/ingestion/languages/dart/captures.js +1096 -0
  239. package/dist/core/code/engine/core/ingestion/languages/dart/expand-wildcards.js +34 -0
  240. package/dist/core/code/engine/core/ingestion/languages/dart/extension-type-preprocess.js +33 -0
  241. package/dist/core/code/engine/core/ingestion/languages/dart/import-target.js +68 -0
  242. package/dist/core/code/engine/core/ingestion/languages/dart/index.js +45 -0
  243. package/dist/core/code/engine/core/ingestion/languages/dart/interpret.js +101 -0
  244. package/dist/core/code/engine/core/ingestion/languages/dart/merge-bindings.js +42 -0
  245. package/dist/core/code/engine/core/ingestion/languages/dart/query.js +246 -0
  246. package/dist/core/code/engine/core/ingestion/languages/dart/receiver-binding.js +90 -0
  247. package/dist/core/code/engine/core/ingestion/languages/dart/scope-resolver.js +197 -0
  248. package/dist/core/code/engine/core/ingestion/languages/dart/signature-bindings.js +54 -0
  249. package/dist/core/code/engine/core/ingestion/languages/dart/simple-hooks.js +61 -0
  250. package/dist/core/code/engine/core/ingestion/languages/dart.js +138 -0
  251. package/dist/core/code/engine/core/ingestion/languages/go/arity-metadata.js +71 -0
  252. package/dist/core/code/engine/core/ingestion/languages/go/arity.js +17 -0
  253. package/dist/core/code/engine/core/ingestion/languages/go/cache-stats.js +21 -0
  254. package/dist/core/code/engine/core/ingestion/languages/go/captures.js +492 -0
  255. package/dist/core/code/engine/core/ingestion/languages/go/expand-wildcards.js +97 -0
  256. package/dist/core/code/engine/core/ingestion/languages/go/generic-type-parameters.js +146 -0
  257. package/dist/core/code/engine/core/ingestion/languages/go/import-decomposer.js +47 -0
  258. package/dist/core/code/engine/core/ingestion/languages/go/import-target.js +70 -0
  259. package/dist/core/code/engine/core/ingestion/languages/go/index.js +39 -0
  260. package/dist/core/code/engine/core/ingestion/languages/go/interface-impls.js +955 -0
  261. package/dist/core/code/engine/core/ingestion/languages/go/interpret.js +177 -0
  262. package/dist/core/code/engine/core/ingestion/languages/go/merge-bindings.js +21 -0
  263. package/dist/core/code/engine/core/ingestion/languages/go/method-owners.js +131 -0
  264. package/dist/core/code/engine/core/ingestion/languages/go/namespace-mirror.js +56 -0
  265. package/dist/core/code/engine/core/ingestion/languages/go/package-clause.js +79 -0
  266. package/dist/core/code/engine/core/ingestion/languages/go/package-siblings.js +83 -0
  267. package/dist/core/code/engine/core/ingestion/languages/go/query.js +298 -0
  268. package/dist/core/code/engine/core/ingestion/languages/go/range-binding.js +127 -0
  269. package/dist/core/code/engine/core/ingestion/languages/go/receiver-binding.js +24 -0
  270. package/dist/core/code/engine/core/ingestion/languages/go/scope-resolver.js +75 -0
  271. package/dist/core/code/engine/core/ingestion/languages/go/simple-hooks.js +31 -0
  272. package/dist/core/code/engine/core/ingestion/languages/go/type-binding.js +279 -0
  273. package/dist/core/code/engine/core/ingestion/languages/go.js +160 -0
  274. package/dist/core/code/engine/core/ingestion/languages/index.js +66 -0
  275. package/dist/core/code/engine/core/ingestion/languages/java/analysis-features.js +16 -0
  276. package/dist/core/code/engine/core/ingestion/languages/java/arity-metadata.js +43 -0
  277. package/dist/core/code/engine/core/ingestion/languages/java/arity.js +27 -0
  278. package/dist/core/code/engine/core/ingestion/languages/java/cache-stats.js +32 -0
  279. package/dist/core/code/engine/core/ingestion/languages/java/capture-side-channel.js +123 -0
  280. package/dist/core/code/engine/core/ingestion/languages/java/captures.js +791 -0
  281. package/dist/core/code/engine/core/ingestion/languages/java/import-decomposer.js +88 -0
  282. package/dist/core/code/engine/core/ingestion/languages/java/import-target.js +103 -0
  283. package/dist/core/code/engine/core/ingestion/languages/java/index.js +43 -0
  284. package/dist/core/code/engine/core/ingestion/languages/java/interpret.js +146 -0
  285. package/dist/core/code/engine/core/ingestion/languages/java/merge-bindings.js +43 -0
  286. package/dist/core/code/engine/core/ingestion/languages/java/package-facts.js +16 -0
  287. package/dist/core/code/engine/core/ingestion/languages/java/package-siblings.js +11 -0
  288. package/dist/core/code/engine/core/ingestion/languages/java/query.js +319 -0
  289. package/dist/core/code/engine/core/ingestion/languages/java/receiver-binding.js +98 -0
  290. package/dist/core/code/engine/core/ingestion/languages/java/scope-resolver.js +213 -0
  291. package/dist/core/code/engine/core/ingestion/languages/java/simple-hooks.js +39 -0
  292. package/dist/core/code/engine/core/ingestion/languages/java/spring-aop.js +53 -0
  293. package/dist/core/code/engine/core/ingestion/languages/java/spring-bean-metadata.js +11 -0
  294. package/dist/core/code/engine/core/ingestion/languages/java/spring-conditionals.js +52 -0
  295. package/dist/core/code/engine/core/ingestion/languages/java/spring-config-bindings.js +222 -0
  296. package/dist/core/code/engine/core/ingestion/languages/java/spring-di.js +165 -0
  297. package/dist/core/code/engine/core/ingestion/languages/java.js +192 -0
  298. package/dist/core/code/engine/core/ingestion/languages/javascript/arity.js +15 -0
  299. package/dist/core/code/engine/core/ingestion/languages/javascript/captures.js +1122 -0
  300. package/dist/core/code/engine/core/ingestion/languages/javascript/import-target.js +56 -0
  301. package/dist/core/code/engine/core/ingestion/languages/javascript/index.js +109 -0
  302. package/dist/core/code/engine/core/ingestion/languages/javascript/interpret.js +45 -0
  303. package/dist/core/code/engine/core/ingestion/languages/javascript/merge-bindings.js +21 -0
  304. package/dist/core/code/engine/core/ingestion/languages/javascript/query.js +659 -0
  305. package/dist/core/code/engine/core/ingestion/languages/javascript/scope-resolver.js +78 -0
  306. package/dist/core/code/engine/core/ingestion/languages/javascript/simple-hooks.js +44 -0
  307. package/dist/core/code/engine/core/ingestion/languages/jvm/package-facts.js +46 -0
  308. package/dist/core/code/engine/core/ingestion/languages/jvm/package-siblings.js +200 -0
  309. package/dist/core/code/engine/core/ingestion/languages/kotlin/arity-metadata.js +23 -0
  310. package/dist/core/code/engine/core/ingestion/languages/kotlin/arity.js +18 -0
  311. package/dist/core/code/engine/core/ingestion/languages/kotlin/cache-stats.js +21 -0
  312. package/dist/core/code/engine/core/ingestion/languages/kotlin/capture-side-channel.js +160 -0
  313. package/dist/core/code/engine/core/ingestion/languages/kotlin/captures.js +1262 -0
  314. package/dist/core/code/engine/core/ingestion/languages/kotlin/companion-scopes.js +72 -0
  315. package/dist/core/code/engine/core/ingestion/languages/kotlin/import-decomposer.js +40 -0
  316. package/dist/core/code/engine/core/ingestion/languages/kotlin/import-target.js +135 -0
  317. package/dist/core/code/engine/core/ingestion/languages/kotlin/index.js +26 -0
  318. package/dist/core/code/engine/core/ingestion/languages/kotlin/interpret.js +75 -0
  319. package/dist/core/code/engine/core/ingestion/languages/kotlin/merge-bindings.js +28 -0
  320. package/dist/core/code/engine/core/ingestion/languages/kotlin/owners.js +134 -0
  321. package/dist/core/code/engine/core/ingestion/languages/kotlin/package-facts.js +16 -0
  322. package/dist/core/code/engine/core/ingestion/languages/kotlin/package-siblings.js +11 -0
  323. package/dist/core/code/engine/core/ingestion/languages/kotlin/query.js +243 -0
  324. package/dist/core/code/engine/core/ingestion/languages/kotlin/receiver-binding.js +103 -0
  325. package/dist/core/code/engine/core/ingestion/languages/kotlin/scope-resolver.js +207 -0
  326. package/dist/core/code/engine/core/ingestion/languages/kotlin/simple-hooks.js +42 -0
  327. package/dist/core/code/engine/core/ingestion/languages/kotlin/spring-aop.js +68 -0
  328. package/dist/core/code/engine/core/ingestion/languages/kotlin/spring-bean-metadata.js +11 -0
  329. package/dist/core/code/engine/core/ingestion/languages/kotlin/spring-conditionals.js +53 -0
  330. package/dist/core/code/engine/core/ingestion/languages/kotlin/spring-di.js +304 -0
  331. package/dist/core/code/engine/core/ingestion/languages/kotlin.js +189 -0
  332. package/dist/core/code/engine/core/ingestion/languages/php/arity-metadata.js +66 -0
  333. package/dist/core/code/engine/core/ingestion/languages/php/arity.js +43 -0
  334. package/dist/core/code/engine/core/ingestion/languages/php/cache-stats.js +32 -0
  335. package/dist/core/code/engine/core/ingestion/languages/php/captures.js +1166 -0
  336. package/dist/core/code/engine/core/ingestion/languages/php/import-decomposer.js +238 -0
  337. package/dist/core/code/engine/core/ingestion/languages/php/import-target.js +213 -0
  338. package/dist/core/code/engine/core/ingestion/languages/php/index.js +85 -0
  339. package/dist/core/code/engine/core/ingestion/languages/php/interpret.js +256 -0
  340. package/dist/core/code/engine/core/ingestion/languages/php/merge-bindings.js +50 -0
  341. package/dist/core/code/engine/core/ingestion/languages/php/namespace-siblings.js +353 -0
  342. package/dist/core/code/engine/core/ingestion/languages/php/query.js +391 -0
  343. package/dist/core/code/engine/core/ingestion/languages/php/receiver-binding.js +135 -0
  344. package/dist/core/code/engine/core/ingestion/languages/php/scope-resolver.js +361 -0
  345. package/dist/core/code/engine/core/ingestion/languages/php/simple-hooks.js +116 -0
  346. package/dist/core/code/engine/core/ingestion/languages/php.js +302 -0
  347. package/dist/core/code/engine/core/ingestion/languages/python/arity-metadata.js +49 -0
  348. package/dist/core/code/engine/core/ingestion/languages/python/arity.js +41 -0
  349. package/dist/core/code/engine/core/ingestion/languages/python/cache-stats.js +34 -0
  350. package/dist/core/code/engine/core/ingestion/languages/python/captures.js +299 -0
  351. package/dist/core/code/engine/core/ingestion/languages/python/depends-references.js +68 -0
  352. package/dist/core/code/engine/core/ingestion/languages/python/import-decomposer.js +115 -0
  353. package/dist/core/code/engine/core/ingestion/languages/python/import-target.js +440 -0
  354. package/dist/core/code/engine/core/ingestion/languages/python/index-stats.js +30 -0
  355. package/dist/core/code/engine/core/ingestion/languages/python/index.js +96 -0
  356. package/dist/core/code/engine/core/ingestion/languages/python/interpret.js +430 -0
  357. package/dist/core/code/engine/core/ingestion/languages/python/merge-bindings.js +47 -0
  358. package/dist/core/code/engine/core/ingestion/languages/python/query.js +323 -0
  359. package/dist/core/code/engine/core/ingestion/languages/python/receiver-binding.js +310 -0
  360. package/dist/core/code/engine/core/ingestion/languages/python/scope-resolver.js +80 -0
  361. package/dist/core/code/engine/core/ingestion/languages/python/simple-hooks.js +53 -0
  362. package/dist/core/code/engine/core/ingestion/languages/python.js +140 -0
  363. package/dist/core/code/engine/core/ingestion/languages/ruby/arity.js +41 -0
  364. package/dist/core/code/engine/core/ingestion/languages/ruby/cache-stats.js +21 -0
  365. package/dist/core/code/engine/core/ingestion/languages/ruby/captures.js +864 -0
  366. package/dist/core/code/engine/core/ingestion/languages/ruby/import-target.js +88 -0
  367. package/dist/core/code/engine/core/ingestion/languages/ruby/index.js +29 -0
  368. package/dist/core/code/engine/core/ingestion/languages/ruby/interpret.js +115 -0
  369. package/dist/core/code/engine/core/ingestion/languages/ruby/merge-bindings.js +21 -0
  370. package/dist/core/code/engine/core/ingestion/languages/ruby/query.js +349 -0
  371. package/dist/core/code/engine/core/ingestion/languages/ruby/receiver-binding.js +70 -0
  372. package/dist/core/code/engine/core/ingestion/languages/ruby/scope-resolver.js +263 -0
  373. package/dist/core/code/engine/core/ingestion/languages/ruby/simple-hooks.js +68 -0
  374. package/dist/core/code/engine/core/ingestion/languages/ruby.js +215 -0
  375. package/dist/core/code/engine/core/ingestion/languages/rust/arity.js +16 -0
  376. package/dist/core/code/engine/core/ingestion/languages/rust/cache-stats.js +21 -0
  377. package/dist/core/code/engine/core/ingestion/languages/rust/captures.js +304 -0
  378. package/dist/core/code/engine/core/ingestion/languages/rust/import-decomposer.js +167 -0
  379. package/dist/core/code/engine/core/ingestion/languages/rust/import-target.js +108 -0
  380. package/dist/core/code/engine/core/ingestion/languages/rust/index.js +29 -0
  381. package/dist/core/code/engine/core/ingestion/languages/rust/interpret.js +201 -0
  382. package/dist/core/code/engine/core/ingestion/languages/rust/merge-bindings.js +21 -0
  383. package/dist/core/code/engine/core/ingestion/languages/rust/method-owners.js +76 -0
  384. package/dist/core/code/engine/core/ingestion/languages/rust/module-path.js +222 -0
  385. package/dist/core/code/engine/core/ingestion/languages/rust/qualified-call.js +482 -0
  386. package/dist/core/code/engine/core/ingestion/languages/rust/query.js +280 -0
  387. package/dist/core/code/engine/core/ingestion/languages/rust/range-binding.js +687 -0
  388. package/dist/core/code/engine/core/ingestion/languages/rust/receiver-binding.js +148 -0
  389. package/dist/core/code/engine/core/ingestion/languages/rust/scope-resolver.js +151 -0
  390. package/dist/core/code/engine/core/ingestion/languages/rust/simple-hooks.js +32 -0
  391. package/dist/core/code/engine/core/ingestion/languages/rust.js +183 -0
  392. package/dist/core/code/engine/core/ingestion/languages/swift/arity-metadata.js +44 -0
  393. package/dist/core/code/engine/core/ingestion/languages/swift/arity.js +45 -0
  394. package/dist/core/code/engine/core/ingestion/languages/swift/base-type.js +30 -0
  395. package/dist/core/code/engine/core/ingestion/languages/swift/cache-stats.js +32 -0
  396. package/dist/core/code/engine/core/ingestion/languages/swift/captures.js +594 -0
  397. package/dist/core/code/engine/core/ingestion/languages/swift/conditional-directive-preprocess.js +256 -0
  398. package/dist/core/code/engine/core/ingestion/languages/swift/implicit-imports.js +60 -0
  399. package/dist/core/code/engine/core/ingestion/languages/swift/import-decomposer.js +87 -0
  400. package/dist/core/code/engine/core/ingestion/languages/swift/import-target.js +84 -0
  401. package/dist/core/code/engine/core/ingestion/languages/swift/index.js +56 -0
  402. package/dist/core/code/engine/core/ingestion/languages/swift/interpret.js +93 -0
  403. package/dist/core/code/engine/core/ingestion/languages/swift/merge-bindings.js +51 -0
  404. package/dist/core/code/engine/core/ingestion/languages/swift/query.js +226 -0
  405. package/dist/core/code/engine/core/ingestion/languages/swift/receiver-binding.js +169 -0
  406. package/dist/core/code/engine/core/ingestion/languages/swift/scope-resolver.js +192 -0
  407. package/dist/core/code/engine/core/ingestion/languages/swift/sibling-type-bindings.js +68 -0
  408. package/dist/core/code/engine/core/ingestion/languages/swift/signature-bindings.js +69 -0
  409. package/dist/core/code/engine/core/ingestion/languages/swift/simple-hooks.js +65 -0
  410. package/dist/core/code/engine/core/ingestion/languages/swift/target-grouping.js +97 -0
  411. package/dist/core/code/engine/core/ingestion/languages/swift/target-siblings.js +74 -0
  412. package/dist/core/code/engine/core/ingestion/languages/swift.js +246 -0
  413. package/dist/core/code/engine/core/ingestion/languages/typescript/arity-metadata.js +106 -0
  414. package/dist/core/code/engine/core/ingestion/languages/typescript/arity.js +57 -0
  415. package/dist/core/code/engine/core/ingestion/languages/typescript/array-callback.js +58 -0
  416. package/dist/core/code/engine/core/ingestion/languages/typescript/cache-stats.js +34 -0
  417. package/dist/core/code/engine/core/ingestion/languages/typescript/captures.js +956 -0
  418. package/dist/core/code/engine/core/ingestion/languages/typescript/cjs-export-assignment.js +535 -0
  419. package/dist/core/code/engine/core/ingestion/languages/typescript/cjs-module-exports.js +196 -0
  420. package/dist/core/code/engine/core/ingestion/languages/typescript/import-decomposer.js +374 -0
  421. package/dist/core/code/engine/core/ingestion/languages/typescript/import-target.js +65 -0
  422. package/dist/core/code/engine/core/ingestion/languages/typescript/index.js +108 -0
  423. package/dist/core/code/engine/core/ingestion/languages/typescript/interpret.js +344 -0
  424. package/dist/core/code/engine/core/ingestion/languages/typescript/merge-bindings.js +161 -0
  425. package/dist/core/code/engine/core/ingestion/languages/typescript/nuxt-auto-imports.js +325 -0
  426. package/dist/core/code/engine/core/ingestion/languages/typescript/query.js +1328 -0
  427. package/dist/core/code/engine/core/ingestion/languages/typescript/receiver-binding.js +201 -0
  428. package/dist/core/code/engine/core/ingestion/languages/typescript/scope-resolver.js +293 -0
  429. package/dist/core/code/engine/core/ingestion/languages/typescript/simple-hooks.js +139 -0
  430. package/dist/core/code/engine/core/ingestion/languages/typescript.js +455 -0
  431. package/dist/core/code/engine/core/ingestion/languages/vue/captures.js +70 -0
  432. package/dist/core/code/engine/core/ingestion/languages/vue/import-target.js +61 -0
  433. package/dist/core/code/engine/core/ingestion/languages/vue/index.js +55 -0
  434. package/dist/core/code/engine/core/ingestion/languages/vue/scope-resolver.js +295 -0
  435. package/dist/core/code/engine/core/ingestion/languages/vue.js +96 -0
  436. package/dist/core/code/engine/core/ingestion/local-symbol-pruner.js +68 -0
  437. package/dist/core/code/engine/core/ingestion/method-extractors/configs/c-cpp.js +387 -0
  438. package/dist/core/code/engine/core/ingestion/method-extractors/configs/csharp.js +290 -0
  439. package/dist/core/code/engine/core/ingestion/method-extractors/configs/dart.js +392 -0
  440. package/dist/core/code/engine/core/ingestion/method-extractors/configs/go.js +179 -0
  441. package/dist/core/code/engine/core/ingestion/method-extractors/configs/jvm.js +350 -0
  442. package/dist/core/code/engine/core/ingestion/method-extractors/configs/php.js +306 -0
  443. package/dist/core/code/engine/core/ingestion/method-extractors/configs/python.js +312 -0
  444. package/dist/core/code/engine/core/ingestion/method-extractors/configs/ruby.js +289 -0
  445. package/dist/core/code/engine/core/ingestion/method-extractors/configs/rust.js +198 -0
  446. package/dist/core/code/engine/core/ingestion/method-extractors/configs/swift.js +286 -0
  447. package/dist/core/code/engine/core/ingestion/method-extractors/configs/typescript-javascript.js +341 -0
  448. package/dist/core/code/engine/core/ingestion/method-extractors/generic.js +209 -0
  449. package/dist/core/code/engine/core/ingestion/method-types.js +3 -0
  450. package/dist/core/code/engine/core/ingestion/model/field-registry.js +41 -0
  451. package/dist/core/code/engine/core/ingestion/model/index.js +52 -0
  452. package/dist/core/code/engine/core/ingestion/model/method-registry.js +138 -0
  453. package/dist/core/code/engine/core/ingestion/model/owned-members-lookup.js +46 -0
  454. package/dist/core/code/engine/core/ingestion/model/registration-table.js +234 -0
  455. package/dist/core/code/engine/core/ingestion/model/resolve.js +183 -0
  456. package/dist/core/code/engine/core/ingestion/model/scope-resolution-indexes.js +43 -0
  457. package/dist/core/code/engine/core/ingestion/model/semantic-model.js +179 -0
  458. package/dist/core/code/engine/core/ingestion/model/symbol-table.js +216 -0
  459. package/dist/core/code/engine/core/ingestion/model/type-registry.js +84 -0
  460. package/dist/core/code/engine/core/ingestion/mro-processor.js +709 -0
  461. package/dist/core/code/engine/core/ingestion/parsing-processor.js +312 -0
  462. package/dist/core/code/engine/core/ingestion/pipeline-phases/communities.js +69 -0
  463. package/dist/core/code/engine/core/ingestion/pipeline-phases/cross-file.js +71 -0
  464. package/dist/core/code/engine/core/ingestion/pipeline-phases/di.js +338 -0
  465. package/dist/core/code/engine/core/ingestion/pipeline-phases/http-api-calls.js +312 -0
  466. package/dist/core/code/engine/core/ingestion/pipeline-phases/index.js +54 -0
  467. package/dist/core/code/engine/core/ingestion/pipeline-phases/mro.js +40 -0
  468. package/dist/core/code/engine/core/ingestion/pipeline-phases/orm.js +78 -0
  469. package/dist/core/code/engine/core/ingestion/pipeline-phases/parse-impl.js +1286 -0
  470. package/dist/core/code/engine/core/ingestion/pipeline-phases/parse.js +41 -0
  471. package/dist/core/code/engine/core/ingestion/pipeline-phases/processes.js +193 -0
  472. package/dist/core/code/engine/core/ingestion/pipeline-phases/prune-local-symbols.js +29 -0
  473. package/dist/core/code/engine/core/ingestion/pipeline-phases/registry.js +52 -0
  474. package/dist/core/code/engine/core/ingestion/pipeline-phases/routes.js +409 -0
  475. package/dist/core/code/engine/core/ingestion/pipeline-phases/rpc-edges.js +301 -0
  476. package/dist/core/code/engine/core/ingestion/pipeline-phases/runner.js +207 -0
  477. package/dist/core/code/engine/core/ingestion/pipeline-phases/scan.js +49 -0
  478. package/dist/core/code/engine/core/ingestion/pipeline-phases/spring-aop.js +442 -0
  479. package/dist/core/code/engine/core/ingestion/pipeline-phases/spring-auto-configuration.js +264 -0
  480. package/dist/core/code/engine/core/ingestion/pipeline-phases/spring-config.js +440 -0
  481. package/dist/core/code/engine/core/ingestion/pipeline-phases/structure.js +38 -0
  482. package/dist/core/code/engine/core/ingestion/pipeline-phases/tools.js +89 -0
  483. package/dist/core/code/engine/core/ingestion/pipeline-phases/types.js +40 -0
  484. package/dist/core/code/engine/core/ingestion/pipeline.js +152 -0
  485. package/dist/core/code/engine/core/ingestion/process-processor.js +325 -0
  486. package/dist/core/code/engine/core/ingestion/resolve-references.js +205 -0
  487. package/dist/core/code/engine/core/ingestion/route-extractors/constant-resolver.js +135 -0
  488. package/dist/core/code/engine/core/ingestion/route-extractors/django-root-discovery.js +221 -0
  489. package/dist/core/code/engine/core/ingestion/route-extractors/django.js +428 -0
  490. package/dist/core/code/engine/core/ingestion/route-extractors/expo.js +39 -0
  491. package/dist/core/code/engine/core/ingestion/route-extractors/fastapi-router-bindings.js +264 -0
  492. package/dist/core/code/engine/core/ingestion/route-extractors/laravel.js +501 -0
  493. package/dist/core/code/engine/core/ingestion/route-extractors/middleware.js +175 -0
  494. package/dist/core/code/engine/core/ingestion/route-extractors/nextjs.js +81 -0
  495. package/dist/core/code/engine/core/ingestion/route-extractors/php.js +25 -0
  496. package/dist/core/code/engine/core/ingestion/route-extractors/python-const-resolver.js +307 -0
  497. package/dist/core/code/engine/core/ingestion/route-extractors/response-shapes.js +299 -0
  498. package/dist/core/code/engine/core/ingestion/route-extractors/route-path.js +71 -0
  499. package/dist/core/code/engine/core/ingestion/route-extractors/spring-shared.js +310 -0
  500. package/dist/core/code/engine/core/ingestion/route-extractors/spring.js +441 -0
  501. package/dist/core/code/engine/core/ingestion/scope-extractor-bridge.js +60 -0
  502. package/dist/core/code/engine/core/ingestion/scope-extractor.js +1373 -0
  503. package/dist/core/code/engine/core/ingestion/scope-resolution/contract/scope-resolver.js +282 -0
  504. package/dist/core/code/engine/core/ingestion/scope-resolution/graph-bridge/callee-id-sink.js +72 -0
  505. package/dist/core/code/engine/core/ingestion/scope-resolution/graph-bridge/edges.js +194 -0
  506. package/dist/core/code/engine/core/ingestion/scope-resolution/graph-bridge/ids.js +472 -0
  507. package/dist/core/code/engine/core/ingestion/scope-resolution/graph-bridge/imports-to-edges.js +49 -0
  508. package/dist/core/code/engine/core/ingestion/scope-resolution/graph-bridge/method-dispatch.js +43 -0
  509. package/dist/core/code/engine/core/ingestion/scope-resolution/graph-bridge/node-lookup.js +274 -0
  510. package/dist/core/code/engine/core/ingestion/scope-resolution/graph-bridge/references-to-edges.js +93 -0
  511. package/dist/core/code/engine/core/ingestion/scope-resolution/passes/callable-value-flow.js +1240 -0
  512. package/dist/core/code/engine/core/ingestion/scope-resolution/passes/compound-receiver.js +1174 -0
  513. package/dist/core/code/engine/core/ingestion/scope-resolution/passes/free-call-fallback.js +873 -0
  514. package/dist/core/code/engine/core/ingestion/scope-resolution/passes/imported-return-types.js +226 -0
  515. package/dist/core/code/engine/core/ingestion/scope-resolution/passes/mro.js +107 -0
  516. package/dist/core/code/engine/core/ingestion/scope-resolution/passes/overload-narrowing.js +441 -0
  517. package/dist/core/code/engine/core/ingestion/scope-resolution/passes/property-dispatch.js +122 -0
  518. package/dist/core/code/engine/core/ingestion/scope-resolution/passes/receiver-bound-calls.js +1720 -0
  519. package/dist/core/code/engine/core/ingestion/scope-resolution/pipeline/phase.js +395 -0
  520. package/dist/core/code/engine/core/ingestion/scope-resolution/pipeline/reconcile-ownership.js +208 -0
  521. package/dist/core/code/engine/core/ingestion/scope-resolution/pipeline/registry.js +49 -0
  522. package/dist/core/code/engine/core/ingestion/scope-resolution/pipeline/run.js +632 -0
  523. package/dist/core/code/engine/core/ingestion/scope-resolution/pipeline/validate-bindings-immutability.js +112 -0
  524. package/dist/core/code/engine/core/ingestion/scope-resolution/resolution-outcome.js +41 -0
  525. package/dist/core/code/engine/core/ingestion/scope-resolution/scope/namespace-targets.js +81 -0
  526. package/dist/core/code/engine/core/ingestion/scope-resolution/scope/walkers.js +1835 -0
  527. package/dist/core/code/engine/core/ingestion/scope-resolution/unresolved-receivers.js +242 -0
  528. package/dist/core/code/engine/core/ingestion/scope-resolution/utils/definition-id.js +22 -0
  529. package/dist/core/code/engine/core/ingestion/scope-resolution/workspace-index.js +151 -0
  530. package/dist/core/code/engine/core/ingestion/structure-processor.js +40 -0
  531. package/dist/core/code/engine/core/ingestion/tree-sitter-queries.js +2244 -0
  532. package/dist/core/code/engine/core/ingestion/ts-js-hoc-utils.js +115 -0
  533. package/dist/core/code/engine/core/ingestion/type-env.js +1136 -0
  534. package/dist/core/code/engine/core/ingestion/type-extractors/c-cpp.js +555 -0
  535. package/dist/core/code/engine/core/ingestion/type-extractors/csharp.js +570 -0
  536. package/dist/core/code/engine/core/ingestion/type-extractors/dart.js +372 -0
  537. package/dist/core/code/engine/core/ingestion/type-extractors/go.js +508 -0
  538. package/dist/core/code/engine/core/ingestion/type-extractors/jvm.js +875 -0
  539. package/dist/core/code/engine/core/ingestion/type-extractors/php.js +537 -0
  540. package/dist/core/code/engine/core/ingestion/type-extractors/python.js +477 -0
  541. package/dist/core/code/engine/core/ingestion/type-extractors/ruby.js +380 -0
  542. package/dist/core/code/engine/core/ingestion/type-extractors/rust.js +502 -0
  543. package/dist/core/code/engine/core/ingestion/type-extractors/shared.js +843 -0
  544. package/dist/core/code/engine/core/ingestion/type-extractors/swift.js +490 -0
  545. package/dist/core/code/engine/core/ingestion/type-extractors/types.js +2 -0
  546. package/dist/core/code/engine/core/ingestion/type-extractors/typescript.js +690 -0
  547. package/dist/core/code/engine/core/ingestion/utils/ast-helpers.js +1693 -0
  548. package/dist/core/code/engine/core/ingestion/utils/call-analysis.js +779 -0
  549. package/dist/core/code/engine/core/ingestion/utils/callable-flow-captures.js +932 -0
  550. package/dist/core/code/engine/core/ingestion/utils/callable-labels.js +49 -0
  551. package/dist/core/code/engine/core/ingestion/utils/deferred-resolution-profile.js +151 -0
  552. package/dist/core/code/engine/core/ingestion/utils/effective-ram.js +67 -0
  553. package/dist/core/code/engine/core/ingestion/utils/env.js +60 -0
  554. package/dist/core/code/engine/core/ingestion/utils/event-loop.js +9 -0
  555. package/dist/core/code/engine/core/ingestion/utils/graph-sort.js +103 -0
  556. package/dist/core/code/engine/core/ingestion/utils/heap-probe.js +45 -0
  557. package/dist/core/code/engine/core/ingestion/utils/heritage-marker.js +47 -0
  558. package/dist/core/code/engine/core/ingestion/utils/line-base.js +24 -0
  559. package/dist/core/code/engine/core/ingestion/utils/max-file-size.js +59 -0
  560. package/dist/core/code/engine/core/ingestion/utils/method-props.js +198 -0
  561. package/dist/core/code/engine/core/ingestion/utils/qualified-name.js +73 -0
  562. package/dist/core/code/engine/core/ingestion/utils/receiver-chain-captures.js +60 -0
  563. package/dist/core/code/engine/core/ingestion/utils/receiver-chain-codec.js +188 -0
  564. package/dist/core/code/engine/core/ingestion/utils/scope-tree-walk.js +36 -0
  565. package/dist/core/code/engine/core/ingestion/utils/symbol-labels.js +48 -0
  566. package/dist/core/code/engine/core/ingestion/utils/template-arguments.js +187 -0
  567. package/dist/core/code/engine/core/ingestion/utils/type-parameters.js +209 -0
  568. package/dist/core/code/engine/core/ingestion/utils/verbose.js +6 -0
  569. package/dist/core/code/engine/core/ingestion/variable-extractors/configs/c-cpp.js +133 -0
  570. package/dist/core/code/engine/core/ingestion/variable-extractors/configs/csharp.js +66 -0
  571. package/dist/core/code/engine/core/ingestion/variable-extractors/configs/dart.js +111 -0
  572. package/dist/core/code/engine/core/ingestion/variable-extractors/configs/go.js +153 -0
  573. package/dist/core/code/engine/core/ingestion/variable-extractors/configs/jvm.js +145 -0
  574. package/dist/core/code/engine/core/ingestion/variable-extractors/configs/php.js +61 -0
  575. package/dist/core/code/engine/core/ingestion/variable-extractors/configs/python.js +104 -0
  576. package/dist/core/code/engine/core/ingestion/variable-extractors/configs/ruby.js +55 -0
  577. package/dist/core/code/engine/core/ingestion/variable-extractors/configs/rust.js +79 -0
  578. package/dist/core/code/engine/core/ingestion/variable-extractors/configs/swift.js +91 -0
  579. package/dist/core/code/engine/core/ingestion/variable-extractors/configs/typescript-javascript.js +86 -0
  580. package/dist/core/code/engine/core/ingestion/variable-extractors/generic.js +111 -0
  581. package/dist/core/code/engine/core/ingestion/variable-types.js +3 -0
  582. package/dist/core/code/engine/core/ingestion/vue-sfc-extractor.js +544 -0
  583. package/dist/core/code/engine/core/ingestion/workers/callable-id.js +122 -0
  584. package/dist/core/code/engine/core/ingestion/workers/clone-safety.js +470 -0
  585. package/dist/core/code/engine/core/ingestion/workers/parse-worker.js +2456 -0
  586. package/dist/core/code/engine/core/ingestion/workers/post-result.js +90 -0
  587. package/dist/core/code/engine/core/ingestion/workers/quarantine.js +41 -0
  588. package/dist/core/code/engine/core/ingestion/workers/result-merge.js +59 -0
  589. package/dist/core/code/engine/core/ingestion/workers/worker-pool.js +1725 -0
  590. package/dist/core/code/engine/core/ingestion/workspace-config.js +139 -0
  591. package/dist/core/code/engine/core/lbug/conn-lock.js +72 -0
  592. package/dist/core/code/engine/core/lbug/csv-generator.js +710 -0
  593. package/dist/core/code/engine/core/lbug/cypher-escape.js +24 -0
  594. package/dist/core/code/engine/core/lbug/extension-load-error.js +339 -0
  595. package/dist/core/code/engine/core/lbug/extension-loader.js +261 -0
  596. package/dist/core/code/engine/core/lbug/graph-emit-sink.js +584 -0
  597. package/dist/core/code/engine/core/lbug/lbug-adapter.js +2703 -0
  598. package/dist/core/code/engine/core/lbug/lbug-config.js +1029 -0
  599. package/dist/core/code/engine/core/lbug/native-check.js +435 -0
  600. package/dist/core/code/engine/core/lbug/pool-adapter.js +973 -0
  601. package/dist/core/code/engine/core/lbug/query-params.js +25 -0
  602. package/dist/core/code/engine/core/lbug/query-result-utils.js +31 -0
  603. package/dist/core/code/engine/core/lbug/rel-pair-routing.js +373 -0
  604. package/dist/core/code/engine/core/lbug/schema.js +771 -0
  605. package/dist/core/code/engine/core/lbug/shutdown-helpers.js +40 -0
  606. package/dist/core/code/engine/core/lbug/sidecar-recovery.js +716 -0
  607. package/dist/core/code/engine/core/lbug/stdio-capture.js +49 -0
  608. package/dist/core/code/engine/core/lbug/sync-csv-writer.js +115 -0
  609. package/dist/core/code/engine/core/lbug/wal-checkpoint-driver.js +215 -0
  610. package/dist/core/code/engine/core/lbug/wal-driver-state.js +28 -0
  611. package/dist/core/code/engine/core/logger.js +339 -0
  612. package/dist/core/code/engine/core/platform/capabilities.js +91 -0
  613. package/dist/core/code/engine/core/run-analyze.js +1098 -0
  614. package/dist/core/code/engine/core/tree-sitter/parser-loader.js +281 -0
  615. package/dist/core/code/engine/core/tree-sitter/safe-parse.js +258 -0
  616. package/dist/core/code/engine/core/tree-sitter/vendored-grammars.js +64 -0
  617. package/dist/core/code/engine/lib/utils.js +121 -0
  618. package/dist/core/code/engine/mcp/core/lbug-adapter.js +27 -0
  619. package/dist/core/code/engine/mcp/local/aop-metadata.js +230 -0
  620. package/dist/core/code/engine/mcp/local/bean-metadata.js +49 -0
  621. package/dist/core/code/engine/mcp/local/limits.js +15 -0
  622. package/dist/core/code/engine/mcp/local/line-display.js +6 -0
  623. package/dist/core/code/engine/mcp/local/local-backend.js +4142 -0
  624. package/dist/core/code/engine/storage/branch-index.js +72 -0
  625. package/dist/core/code/engine/storage/file-hash.js +95 -0
  626. package/dist/core/code/engine/storage/fs-atomic.js +34 -0
  627. package/dist/core/code/engine/storage/git.js +555 -0
  628. package/dist/core/code/engine/storage/index-lock.js +664 -0
  629. package/dist/core/code/engine/storage/parse-cache.js +650 -0
  630. package/dist/core/code/engine/storage/parsedfile-store.js +620 -0
  631. package/dist/core/code/engine/storage/repo-manager.js +1061 -0
  632. package/dist/core/code/engine/storage/scope-index-store.js +247 -0
  633. package/dist/core/code/engine/types/pipeline.js +2 -0
  634. package/dist/core/code/scripts/install-duckdb-extension.mjs +125 -0
  635. package/dist/core/code/scripts/resolve-analyze-cmd.cjs +346 -0
  636. package/dist/core/code/shared/graph/types.js +8 -0
  637. package/dist/core/code/shared/index.js +105 -0
  638. package/dist/core/code/shared/integrations/circuit-breaker.js +242 -0
  639. package/dist/core/code/shared/integrations/resilient-fetch.js +224 -0
  640. package/dist/core/code/shared/integrations/retry.js +70 -0
  641. package/dist/core/code/shared/integrations/understand-quickly.js +145 -0
  642. package/dist/core/code/shared/language-detection.js +162 -0
  643. package/dist/core/code/shared/languages.js +27 -0
  644. package/dist/core/code/shared/lbug/schema-constants.js +98 -0
  645. package/dist/core/code/shared/mro-strategy.js +2 -0
  646. package/dist/core/code/shared/pipeline.js +5 -0
  647. package/dist/core/code/shared/scope-resolution/callable-flow-site.js +11 -0
  648. package/dist/core/code/shared/scope-resolution/def-index.js +53 -0
  649. package/dist/core/code/shared/scope-resolution/evidence-weights.js +87 -0
  650. package/dist/core/code/shared/scope-resolution/finalize-algorithm.js +807 -0
  651. package/dist/core/code/shared/scope-resolution/language-classification.js +46 -0
  652. package/dist/core/code/shared/scope-resolution/method-dispatch-index.js +100 -0
  653. package/dist/core/code/shared/scope-resolution/module-scope-index.js +59 -0
  654. package/dist/core/code/shared/scope-resolution/origin-priority.js +23 -0
  655. package/dist/core/code/shared/scope-resolution/parsed-file.js +54 -0
  656. package/dist/core/code/shared/scope-resolution/position-index.js +136 -0
  657. package/dist/core/code/shared/scope-resolution/qualified-name-index.js +77 -0
  658. package/dist/core/code/shared/scope-resolution/reference-site.js +24 -0
  659. package/dist/core/code/shared/scope-resolution/registries/class-registry.js +32 -0
  660. package/dist/core/code/shared/scope-resolution/registries/context.js +52 -0
  661. package/dist/core/code/shared/scope-resolution/registries/evidence.js +152 -0
  662. package/dist/core/code/shared/scope-resolution/registries/field-registry.js +33 -0
  663. package/dist/core/code/shared/scope-resolution/registries/lookup-core.js +392 -0
  664. package/dist/core/code/shared/scope-resolution/registries/lookup-qualified.js +58 -0
  665. package/dist/core/code/shared/scope-resolution/registries/macro-registry.js +34 -0
  666. package/dist/core/code/shared/scope-resolution/registries/method-registry.js +34 -0
  667. package/dist/core/code/shared/scope-resolution/registries/tie-breaks.js +63 -0
  668. package/dist/core/code/shared/scope-resolution/resolve-type-ref.js +128 -0
  669. package/dist/core/code/shared/scope-resolution/scope-id.js +49 -0
  670. package/dist/core/code/shared/scope-resolution/scope-tree.js +225 -0
  671. package/dist/core/code/shared/scope-resolution/symbol-definition.js +12 -0
  672. package/dist/core/code/shared/scope-resolution/types.js +25 -0
  673. package/dist/core/code/shared/test-helpers.js +17 -0
  674. package/dist/core/code/vendor/leiden/index.cjs +355 -0
  675. package/dist/core/code/vendor/leiden/utils.cjs +419 -0
  676. package/dist/core/features/scanner.d.ts +2 -0
  677. package/dist/core/features/scanner.d.ts.map +1 -1
  678. package/dist/core/features/scanner.js +27 -6
  679. package/dist/core/features/scanner.js.map +1 -1
  680. package/dist/core/timeline/cli.d.ts.map +1 -1
  681. package/dist/core/timeline/cli.js +13 -6
  682. package/dist/core/timeline/cli.js.map +1 -1
  683. package/dist/core/timeline/debris.d.ts +20 -0
  684. package/dist/core/timeline/debris.d.ts.map +1 -0
  685. package/dist/core/timeline/debris.js +124 -0
  686. package/dist/core/timeline/debris.js.map +1 -0
  687. package/dist/core/timeline/hook-runner.d.ts.map +1 -1
  688. package/dist/core/timeline/hook-runner.js +3 -1
  689. package/dist/core/timeline/hook-runner.js.map +1 -1
  690. package/dist/core/timeline/hooks.d.ts.map +1 -1
  691. package/dist/core/timeline/hooks.js +13 -5
  692. package/dist/core/timeline/hooks.js.map +1 -1
  693. package/dist/core/timeline/installer.d.ts +2 -0
  694. package/dist/core/timeline/installer.d.ts.map +1 -1
  695. package/dist/core/timeline/installer.js +12 -0
  696. package/dist/core/timeline/installer.js.map +1 -1
  697. package/dist/core/timeline/project-root.d.ts +21 -0
  698. package/dist/core/timeline/project-root.d.ts.map +1 -0
  699. package/dist/core/timeline/project-root.js +83 -0
  700. package/dist/core/timeline/project-root.js.map +1 -0
  701. package/package.json +1 -1
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ /**
3
+ * JavaScript `ScopeResolver` registered in `SCOPE_RESOLVERS` and
4
+ * consumed by the generic `runScopeResolution` orchestrator
5
+ * (RFC #909 Ring 3, issue #928).
6
+ *
7
+ * Follows the same minimal wiring-only pattern as TypeScript (the third
8
+ * migration). Per-hook logic lives in sibling modules:
9
+ *
10
+ * - `query.ts` — JS scope query + parser/query singletons
11
+ * - `captures.ts` — `emitJsScopeCaptures` (JS grammar, CJS, JSDoc)
12
+ * - `interpret.ts` — `interpretJsImport` (delegates to TS interpreter)
13
+ * - `simple-hooks.ts` — `jsBindingScopeFor`, `jsImportOwningScope`,
14
+ * `jsReceiverBinding` (all delegate to TS hooks)
15
+ * - `merge-bindings.ts` — `jsMergeBindings` (delegates to TS function)
16
+ * - `arity.ts` — `jsArityCompatibility` (delegates to TS function)
17
+ * - `import-target.ts` — `makeJsResolveImportTarget` (TS resolver, JS extensions)
18
+ *
19
+ * See `./index.ts` for the full per-module rationale.
20
+ *
21
+ * ## Key differences from TypeScript resolver
22
+ *
23
+ * - `fieldFallbackOnMethodLookup: true` — JavaScript is dynamically typed;
24
+ * the field-fallback heuristic is ENABLED (unlike TypeScript, which
25
+ * disables it because the type-binding layer is precise).
26
+ * - `allowGlobalFreeCallFallback: true` — CJS `require` patterns and
27
+ * global helpers (e.g. `process`, `console`) benefit from workspace-
28
+ * wide unique-name fallback. TypeScript uses explicit imports.
29
+ * - `loadResolutionConfig` is omitted — JavaScript projects don't use
30
+ * `tsconfig.json` path aliases in general. `tsconfigPaths: null` is
31
+ * threaded through the resolver adapter.
32
+ * - `hoistTypeBindingsToModule: true` — JSDoc `@returns {T}` bindings are
33
+ * synthesized on the function scope and hoisted, matching TypeScript's
34
+ * method return-type hoisting strategy for cross-file chain resolution.
35
+ */
36
+ Object.defineProperty(exports, "__esModule", { value: true });
37
+ exports.javascriptScopeResolver = void 0;
38
+ const index_js_1 = require("../../../../../shared/index.js");
39
+ const mro_js_1 = require("../../scope-resolution/passes/mro.js");
40
+ const walkers_js_1 = require("../../scope-resolution/scope/walkers.js");
41
+ const typescript_js_1 = require("../typescript.js");
42
+ const merge_bindings_js_1 = require("./merge-bindings.js");
43
+ const arity_js_1 = require("./arity.js");
44
+ const import_target_js_1 = require("./import-target.js");
45
+ const javascriptScopeResolver = {
46
+ // Construction is keyword-prefixed: `new Service(db).doWork()` (#2708).
47
+ constructionSyntax: { keyword: 'new' },
48
+ language: index_js_1.SupportedLanguages.JavaScript,
49
+ languageProvider: typescript_js_1.javascriptProvider,
50
+ importEdgeReason: 'javascript-scope: import',
51
+ resolveImportTarget: (0, import_target_js_1.makeJsResolveImportTarget)(),
52
+ // JavaScript LEGB — same tier ordering as TypeScript; no declaration-
53
+ // merging across type/value/namespace spaces.
54
+ mergeBindings: (existing, incoming) => [...(0, merge_bindings_js_1.jsMergeBindings)([...existing, ...incoming])],
55
+ // Adapter: jsArityCompatibility uses (def, callsite); contract is (callsite, def).
56
+ arityCompatibility: (callsite, def) => (0, arity_js_1.jsArityCompatibility)(def, callsite),
57
+ buildMro: (graph, parsedFiles, nodeLookup) => (0, mro_js_1.buildMro)(graph, parsedFiles, nodeLookup, mro_js_1.defaultLinearize),
58
+ populateOwners: (parsed) => (0, walkers_js_1.populateClassOwnedMembers)(parsed),
59
+ // JavaScript `super` keyword: same pattern as TypeScript.
60
+ isSuperReceiver: (text) => /^super(\s*\(|\s*\.|\s*\[|\s*$)/.test(text.trim()),
61
+ // JavaScript is dynamically typed — enable the field-fallback heuristic
62
+ // so member-call receivers without type annotations can still resolve
63
+ // through declared class fields (e.g. JSDoc-typed fields).
64
+ fieldFallbackOnMethodLookup: true,
65
+ // Return-type propagation (across ESM imports) mirrors TypeScript's
66
+ // default behavior. JSDoc @returns bindings are hoisted to Module scope
67
+ // and propagated to importers via the standard mechanism.
68
+ propagatesReturnTypesAcrossImports: true,
69
+ // JSDoc @returns bindings are synthesized on the function/method node
70
+ // and hoisted to Module scope by `jsBindingScopeFor` (identical to the
71
+ // TypeScript `tsBindingScopeFor` `@type-binding.return` branch).
72
+ hoistTypeBindingsToModule: true,
73
+ // CJS-heavy codebases often have utility functions exported without
74
+ // explicit imports at the call site. Workspace-wide unique-name fallback
75
+ // recovers these edges.
76
+ allowGlobalFreeCallFallback: true,
77
+ };
78
+ exports.javascriptScopeResolver = javascriptScopeResolver;
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ /**
3
+ * Simple hooks for the JavaScript scope-resolution provider.
4
+ *
5
+ * `jsBindingScopeFor` wraps `tsBindingScopeFor` and adds the JS-only
6
+ * `@type-binding.class-field` hoisting rule. The other two hooks
7
+ * (`jsImportOwningScope`, `jsReceiverBinding`) are identical to their
8
+ * TypeScript counterparts and are re-exported directly.
9
+ *
10
+ * ## Why class-field hoisting lives here (not in `tsBindingScopeFor`)
11
+ *
12
+ * `@type-binding.class-field` is emitted exclusively by
13
+ * `synthesizeConstructorFieldBindings` in `captures.ts`, which is a
14
+ * JavaScript-only synthesis pass. TypeScript uses
15
+ * `@type-binding.parameter-property` for constructor parameter
16
+ * properties instead. Keeping the JS-only rule in the JS hook file
17
+ * prevents language-specific logic from leaking into shared TypeScript
18
+ * infrastructure (DoD.md §2.2).
19
+ */
20
+ Object.defineProperty(exports, "__esModule", { value: true });
21
+ exports.jsReceiverBinding = exports.jsImportOwningScope = void 0;
22
+ exports.jsBindingScopeFor = jsBindingScopeFor;
23
+ const scope_tree_walk_js_1 = require("../../utils/scope-tree-walk.js");
24
+ const simple_hooks_js_1 = require("../typescript/simple-hooks.js");
25
+ var simple_hooks_js_2 = require("../typescript/simple-hooks.js");
26
+ Object.defineProperty(exports, "jsImportOwningScope", { enumerable: true, get: function () { return simple_hooks_js_2.tsImportOwningScope; } });
27
+ Object.defineProperty(exports, "jsReceiverBinding", { enumerable: true, get: function () { return simple_hooks_js_2.tsReceiverBinding; } });
28
+ /**
29
+ * Like `tsBindingScopeFor` but additionally hoists
30
+ * `@type-binding.class-field` captures to the enclosing Class scope.
31
+ *
32
+ * `@type-binding.class-field` is anchored inside the constructor body
33
+ * (by `synthesizeConstructorFieldBindings`) so that `walkToScope` can
34
+ * walk up from the Function (constructor) scope to the Class scope.
35
+ * This puts `User.address → Address` in the class's typeBindings so
36
+ * compound-receiver resolution finds it when resolving
37
+ * `user.address.save()`.
38
+ */
39
+ function jsBindingScopeFor(decl, innermost, tree) {
40
+ if (decl['@type-binding.class-field'] !== undefined) {
41
+ return (0, scope_tree_walk_js_1.walkToScope)(innermost, tree, 'Class');
42
+ }
43
+ return (0, simple_hooks_js_1.tsBindingScopeFor)(decl, innermost, tree);
44
+ }
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UNKNOWN_JVM_PACKAGE_FACT = void 0;
4
+ exports.isJvmPackageFact = isJvmPackageFact;
5
+ exports.createJvmPackageFactStore = createJvmPackageFactStore;
6
+ exports.extractJvmPackageFact = extractJvmPackageFact;
7
+ exports.UNKNOWN_JVM_PACKAGE_FACT = Object.freeze({ status: 'unknown' });
8
+ /** Validate a package fact restored from an opaque worker payload. */
9
+ function isJvmPackageFact(value) {
10
+ if (value === null || typeof value !== 'object')
11
+ return false;
12
+ const fact = value;
13
+ return (fact.status === 'unknown' || (fact.status === 'known' && typeof fact.packageName === 'string'));
14
+ }
15
+ /**
16
+ * Create one language-local package fact store.
17
+ *
18
+ * Package facts are captured while the language's scope extractor already
19
+ * owns a tree-sitter Tree, then serialized through ParsedFile's side-channel.
20
+ * Resolution hooks consume only this plain data and never parse source again.
21
+ */
22
+ function createJvmPackageFactStore(options) {
23
+ const factsByFile = new Map();
24
+ return {
25
+ clear: () => factsByFile.clear(),
26
+ capture: (filePath, root) => factsByFile.set(filePath, extractJvmPackageFact(root, options)),
27
+ set: (filePath, fact) => factsByFile.set(filePath, fact),
28
+ get: (filePath) => factsByFile.get(filePath),
29
+ };
30
+ }
31
+ function extractJvmPackageFact(root, options) {
32
+ const packageNode = root.namedChildren.find((child) => child.type === options.packageNodeType);
33
+ if (packageNode === undefined) {
34
+ // A syntax error elsewhere in a default-package file does not make its
35
+ // package ambiguous. Only a top-level ERROR that contains the reserved
36
+ // package keyword is evidence of a malformed package header.
37
+ const malformedHeader = root.namedChildren.some((child) => child.type === 'ERROR' && /\bpackage\b/.test(child.text));
38
+ return malformedHeader ? exports.UNKNOWN_JVM_PACKAGE_FACT : { status: 'known', packageName: '' };
39
+ }
40
+ const nameNode = packageNode.namedChildren.find((child) => options.packageNameNodeTypes.includes(child.type));
41
+ const packageName = nameNode?.text.trim();
42
+ if (packageNode.hasError || packageName === undefined || packageName.length === 0) {
43
+ return exports.UNKNOWN_JVM_PACKAGE_FACT;
44
+ }
45
+ return { status: 'known', packageName };
46
+ }
@@ -0,0 +1,200 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createJvmPackageSiblingVisibility = createJvmPackageSiblingVisibility;
4
+ const logger_js_1 = require("../../../logger.js");
5
+ const walkers_js_1 = require("../../scope-resolution/scope/walkers.js");
6
+ /** Packages larger than this get no implicit sibling visibility at all — every
7
+ * file in them is marked incomplete. `CGRAPH_MAX_INJECTED_SIBLINGS` bounds
8
+ * injection *within* a package and does not lift this skip. */
9
+ const MAX_PACKAGE_FILES = 500;
10
+ const DEFAULT_MAX_INJECTED_SIBLINGS = 200;
11
+ function getMaxInjectedSiblings() {
12
+ const raw = process.env.CGRAPH_MAX_INJECTED_SIBLINGS;
13
+ if (raw === undefined || raw === '')
14
+ return DEFAULT_MAX_INJECTED_SIBLINGS;
15
+ const parsed = Number(raw);
16
+ return Number.isInteger(parsed) && parsed >= 0 ? parsed : DEFAULT_MAX_INJECTED_SIBLINGS;
17
+ }
18
+ function createJvmPackageSiblingVisibility(options) {
19
+ const incompleteFiles = new Set();
20
+ function populateNamespaceSiblings(parsedFiles, indexes, ctx) {
21
+ incompleteFiles.clear();
22
+ const buckets = new Map();
23
+ const unknownPackageFiles = new Set();
24
+ const parsedPaths = new Set(parsedFiles.map((parsed) => parsed.filePath));
25
+ // A file that failed scope extraction has no ParsedFile or side-channel,
26
+ // but it may still declare a shadowing type in any package. Keep its source
27
+ // path in the uncertainty set without re-parsing it on the main thread.
28
+ for (const filePath of ctx.fileContents.keys()) {
29
+ if (!parsedPaths.has(filePath))
30
+ unknownPackageFiles.add(filePath);
31
+ }
32
+ for (const parsed of parsedFiles) {
33
+ const packageFact = options.getPackageFact(parsed.filePath);
34
+ if (!ctx.fileContents.has(parsed.filePath) || packageFact?.status !== 'known') {
35
+ incompleteFiles.add(parsed.filePath);
36
+ unknownPackageFiles.add(parsed.filePath);
37
+ continue;
38
+ }
39
+ const packageName = packageFact.packageName;
40
+ const bucket = buckets.get(packageName) ?? { parsed: [], moduleScopes: [] };
41
+ buckets.set(packageName, bucket);
42
+ bucket.parsed.push(parsed);
43
+ const moduleScope = parsed.scopes.find((scope) => scope.kind === 'Module');
44
+ if (moduleScope !== undefined) {
45
+ bucket.moduleScopes.push({ filePath: parsed.filePath, scope: moduleScope });
46
+ }
47
+ }
48
+ // A file whose package cannot be proven may shadow a wildcard-imported
49
+ // type in any package. Conservatively disable wildcard attribution for the
50
+ // language workspace while leaving explicit/FQN imports available.
51
+ if (unknownPackageFiles.size > 0) {
52
+ for (const parsed of parsedFiles)
53
+ incompleteFiles.add(parsed.filePath);
54
+ logger_js_1.logger.warn(`[${options.languageLabel}-package-siblings] ${unknownPackageFiles.size} file(s) lacked reliable package facts; wildcard attribution disabled for this language workspace`);
55
+ }
56
+ const augmentations = indexes.bindingAugmentations;
57
+ const maxInjectedSiblings = getMaxInjectedSiblings();
58
+ let truncatedFiles = 0;
59
+ for (const bucket of buckets.values()) {
60
+ if (bucket.moduleScopes.length < 2)
61
+ continue;
62
+ if (bucket.moduleScopes.length > MAX_PACKAGE_FILES) {
63
+ for (const parsed of bucket.parsed)
64
+ incompleteFiles.add(parsed.filePath);
65
+ logger_js_1.logger.warn(`[${options.languageLabel}-package-siblings] skipping package with ${bucket.moduleScopes.length} files (cap=${MAX_PACKAGE_FILES}); same-package implicit visibility disabled for this package`);
66
+ continue;
67
+ }
68
+ const classDefs = [];
69
+ for (const parsed of bucket.parsed) {
70
+ const moduleScopeId = parsed.scopes.find((scope) => scope.kind === 'Module')?.id;
71
+ for (const scope of parsed.scopes) {
72
+ if (scope.kind !== 'Class' || scope.parent !== moduleScopeId)
73
+ continue;
74
+ const def = scope.ownedDefs.find((candidate) => (0, walkers_js_1.isClassLike)(candidate.type));
75
+ if (def !== undefined)
76
+ classDefs.push({ def, filePath: parsed.filePath });
77
+ }
78
+ }
79
+ // Per-bucket lookups: the per-file loop below is O(files²) over these,
80
+ // so split each path into segments once here instead of re-splitting it
81
+ // on every pairwise proximity comparison, and address siblings by path
82
+ // so a truncated scope can merge its bounded set without rescanning the
83
+ // whole package.
84
+ const segmentsByPath = new Map();
85
+ const moduleScopeByPath = new Map();
86
+ const parsedByPath = new Map();
87
+ for (const parsed of bucket.parsed) {
88
+ segmentsByPath.set(parsed.filePath, pathSegments(parsed.filePath));
89
+ parsedByPath.set(parsed.filePath, parsed);
90
+ }
91
+ for (const sibling of bucket.moduleScopes)
92
+ moduleScopeByPath.set(sibling.filePath, sibling);
93
+ const allSiblingPaths = [...parsedByPath.keys()];
94
+ for (const { filePath, scope } of bucket.moduleScopes) {
95
+ let scopeAug = augmentations.get(scope.id);
96
+ if (scopeAug === undefined) {
97
+ scopeAug = new Map();
98
+ augmentations.set(scope.id, scopeAug);
99
+ }
100
+ const ownSegments = segmentsByPath.get(filePath) ?? pathSegments(filePath);
101
+ const proximityCache = new Map();
102
+ const candidates = classDefs.filter((candidate) => candidate.filePath !== filePath);
103
+ for (const candidate of candidates) {
104
+ if (!proximityCache.has(candidate.filePath)) {
105
+ proximityCache.set(candidate.filePath, sharedSegmentCount(segmentsByPath.get(candidate.filePath) ?? [], ownSegments));
106
+ }
107
+ }
108
+ // Nearest-first by shared path prefix. Ties (the common case in a flat
109
+ // package, where every sibling shares the same directory) keep the
110
+ // walker's traversal order, so the retained set is deterministic but
111
+ // arbitrary among equally-near candidates — which is why truncation
112
+ // marks the file incomplete below rather than being treated as exact.
113
+ candidates.sort((a, b) => (proximityCache.get(b.filePath) ?? 0) - (proximityCache.get(a.filePath) ?? 0));
114
+ const injectedIds = new Set();
115
+ const injectedPaths = new Set();
116
+ let truncated = false;
117
+ for (const { def, filePath: defPath } of candidates) {
118
+ if (injectedIds.has(def.nodeId) || def.qualifiedName === undefined)
119
+ continue;
120
+ if (maxInjectedSiblings > 0 && injectedIds.size >= maxInjectedSiblings) {
121
+ truncated = true;
122
+ break;
123
+ }
124
+ injectedIds.add(def.nodeId);
125
+ injectedPaths.add(defPath);
126
+ const simpleName = def.qualifiedName.includes('.')
127
+ ? def.qualifiedName.slice(def.qualifiedName.lastIndexOf('.') + 1)
128
+ : def.qualifiedName;
129
+ const bindings = scopeAug.get(simpleName) ?? [];
130
+ if (!scopeAug.has(simpleName))
131
+ scopeAug.set(simpleName, bindings);
132
+ bindings.push({ def, origin: 'namespace' });
133
+ }
134
+ if (truncated) {
135
+ // Sibling visibility for this file is now partial, and downstream
136
+ // Spring attribution treats a complete flag as "this package's names
137
+ // are fully known". Marking it incomplete keeps wildcard attribution
138
+ // conservative instead of silently resolving against a truncated set.
139
+ incompleteFiles.add(filePath);
140
+ truncatedFiles++;
141
+ }
142
+ // Keep the two halves of "what this file can see" in agreement: when
143
+ // the cap truncated the binding set, merge type bindings from the same
144
+ // bounded sibling set only — and iterate that set directly, so the cap
145
+ // bounds the merge work too instead of just filtering a full scan. An
146
+ // untruncated scope merges every sibling as before, including ones that
147
+ // contribute no class-like def.
148
+ const typeBindings = scope.typeBindings;
149
+ const mergePaths = truncated ? injectedPaths : allSiblingPaths;
150
+ // Module scopes first, then class scopes: module-level bindings win on
151
+ // a name collision, which the two-pass order (not file order) encodes.
152
+ for (const siblingPath of mergePaths) {
153
+ if (siblingPath === filePath)
154
+ continue;
155
+ const sibling = moduleScopeByPath.get(siblingPath);
156
+ if (sibling === undefined)
157
+ continue;
158
+ for (const [name, ref] of sibling.scope.typeBindings) {
159
+ if (!typeBindings.has(name))
160
+ typeBindings.set(name, ref);
161
+ }
162
+ }
163
+ for (const siblingPath of mergePaths) {
164
+ if (siblingPath === filePath)
165
+ continue;
166
+ const sibling = parsedByPath.get(siblingPath);
167
+ if (sibling === undefined)
168
+ continue;
169
+ for (const siblingScope of sibling.scopes) {
170
+ if (siblingScope.kind !== 'Class')
171
+ continue;
172
+ for (const [name, ref] of siblingScope.typeBindings) {
173
+ if (ref.source !== 'self' && !typeBindings.has(name))
174
+ typeBindings.set(name, ref);
175
+ }
176
+ }
177
+ }
178
+ }
179
+ }
180
+ if (truncatedFiles > 0) {
181
+ logger_js_1.logger.warn(`[${options.languageLabel}-package-siblings] sibling injection truncated at ${maxInjectedSiblings} per file for ${truncatedFiles} file(s); wildcard attribution disabled for those files (raise or unset CGRAPH_MAX_INJECTED_SIBLINGS to widen, 0 for unbounded)`);
182
+ }
183
+ }
184
+ return {
185
+ populateNamespaceSiblings,
186
+ isVisibilityIncomplete: (filePath) => incompleteFiles.has(filePath),
187
+ };
188
+ }
189
+ function pathSegments(filePath) {
190
+ return filePath.replace(/\\/g, '/').split('/');
191
+ }
192
+ function sharedSegmentCount(aSegments, bSegments) {
193
+ let index = 0;
194
+ while (index < aSegments.length &&
195
+ index < bSegments.length &&
196
+ aSegments[index] === bSegments[index]) {
197
+ index++;
198
+ }
199
+ return index;
200
+ }
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.computeKotlinArityMetadata = computeKotlinArityMetadata;
4
+ const jvm_js_1 = require("../../method-extractors/configs/jvm.js");
5
+ function computeKotlinArityMetadata(fnNode) {
6
+ const params = jvm_js_1.kotlinMethodConfig.extractParameters?.(fnNode) ?? [];
7
+ let hasVararg = false;
8
+ const parameterTypes = [];
9
+ for (const param of params) {
10
+ if (param.isVariadic)
11
+ hasVararg = true;
12
+ if (param.type !== null)
13
+ parameterTypes.push(param.type);
14
+ }
15
+ if (hasVararg)
16
+ parameterTypes.push('vararg');
17
+ const required = params.filter((p) => !p.isOptional && !p.isVariadic).length;
18
+ return {
19
+ parameterCount: hasVararg ? undefined : params.length,
20
+ requiredParameterCount: required,
21
+ parameterTypes: parameterTypes.length > 0 ? parameterTypes : undefined,
22
+ };
23
+ }
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.kotlinArityCompatibility = kotlinArityCompatibility;
4
+ function kotlinArityCompatibility(def, callsite) {
5
+ const min = def.requiredParameterCount;
6
+ const max = def.parameterCount;
7
+ if (min === undefined && max === undefined)
8
+ return 'unknown';
9
+ const argCount = callsite.arity;
10
+ if (!Number.isFinite(argCount) || argCount < 0)
11
+ return 'unknown';
12
+ const hasVararg = def.parameterTypes?.some((t) => t === 'vararg') ?? false;
13
+ if (min !== undefined && argCount < min)
14
+ return 'incompatible';
15
+ if (max !== undefined && argCount > max && !hasVararg)
16
+ return 'incompatible';
17
+ return 'compatible';
18
+ }
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.recordKotlinCacheHit = recordKotlinCacheHit;
4
+ exports.recordKotlinCacheMiss = recordKotlinCacheMiss;
5
+ exports.getKotlinCaptureCacheStats = getKotlinCaptureCacheStats;
6
+ exports.resetKotlinCaptureCacheStats = resetKotlinCaptureCacheStats;
7
+ let hits = 0;
8
+ let misses = 0;
9
+ function recordKotlinCacheHit() {
10
+ hits += 1;
11
+ }
12
+ function recordKotlinCacheMiss() {
13
+ misses += 1;
14
+ }
15
+ function getKotlinCaptureCacheStats() {
16
+ return { hits, misses };
17
+ }
18
+ function resetKotlinCaptureCacheStats() {
19
+ hits = 0;
20
+ misses = 0;
21
+ }
@@ -0,0 +1,160 @@
1
+ "use strict";
2
+ /**
3
+ * Kotlin capture-time side-channel serialization (#1983).
4
+ *
5
+ * `emitKotlinScopeCaptures` populates one MODULE-LEVEL, per-file map as a side
6
+ * effect that is NOT part of the returned `ParsedFile`'s scopes/defs:
7
+ *
8
+ * - `companionScopesByFile` (companion-scopes.ts) — the `ScopeId`s that came
9
+ * from a `companion_object` AST node, recorded via `markCompanionScope`
10
+ * from the `@scope.companion` marker capture.
11
+ * - Spring Bean class-annotation facts collected during the same scope-query
12
+ * traversal, consumed only after imports and package visibility finalize.
13
+ * - Spring DI class facts (constructor/property/method injection syntax),
14
+ * resolved and attached only after imports finalize.
15
+ * - A JVM package fact read from the already-parsed root, so package-sibling
16
+ * visibility never re-parses Kotlin source on the main thread.
17
+ *
18
+ * On the worker path that map is filled in the WORKER process and lost across
19
+ * the worker→main MessageChannel (and the disk-backed parsedfile-store),
20
+ * because scope-resolution reuses the serialized `ParsedFile` and SKIPS the
21
+ * main-thread re-extraction (the #1983 fix that avoids a main-thread
22
+ * tree-sitter re-parse / OOM on huge repos). The main thread then reads the map
23
+ * empty in `isKotlinStaticOnly` / `populateCompanionMembersOnEnclosingClass`
24
+ * (owners.ts) — so companion methods aren't identified as static and
25
+ * companion/static dispatch emits no CALLS edges.
26
+ *
27
+ * This module snapshots the per-file slice of that map into a plain,
28
+ * JSON-serializable object (carried on `ParsedFile.captureSideChannel`) and
29
+ * restores it on the main thread WITHOUT any parse. It mirrors the C++ pattern
30
+ * in `cpp/capture-side-channel.ts`.
31
+ *
32
+ * The single generic `ParsedFile.captureSideChannel` field is shared with C++,
33
+ * which is safe because each file is one language (a `.kt` file uses the kotlin
34
+ * provider, a `.cpp` file the cpp provider). The payload is self-describing
35
+ * (`{ kind: 'kotlin', companionScopes, packageFact, classAnnotations,
36
+ * springDiFacts }`) so
37
+ * `applyKotlinCaptureSideChannel` only restores kotlin state and ignores a
38
+ * foreign-shaped snapshot.
39
+ */
40
+ Object.defineProperty(exports, "__esModule", { value: true });
41
+ exports.clearKotlinClassAnnotationFacts = clearKotlinClassAnnotationFacts;
42
+ exports.setKotlinSpringAopFacts = setKotlinSpringAopFacts;
43
+ exports.getKotlinSpringAopFacts = getKotlinSpringAopFacts;
44
+ exports.setKotlinClassAnnotationFacts = setKotlinClassAnnotationFacts;
45
+ exports.getKotlinClassAnnotationFacts = getKotlinClassAnnotationFacts;
46
+ exports.setKotlinSpringConditionalFacts = setKotlinSpringConditionalFacts;
47
+ exports.getKotlinSpringConditionalFacts = getKotlinSpringConditionalFacts;
48
+ exports.setKotlinSpringDiFacts = setKotlinSpringDiFacts;
49
+ exports.getKotlinSpringDiFacts = getKotlinSpringDiFacts;
50
+ exports.collectKotlinCaptureSideChannel = collectKotlinCaptureSideChannel;
51
+ exports.applyKotlinCaptureSideChannel = applyKotlinCaptureSideChannel;
52
+ const bean_candidates_js_1 = require("../../frameworks/spring/bean-candidates.js");
53
+ const package_facts_js_1 = require("../jvm/package-facts.js");
54
+ const companion_scopes_js_1 = require("./companion-scopes.js");
55
+ const package_facts_js_2 = require("./package-facts.js");
56
+ const classAnnotations = (0, bean_candidates_js_1.createClassAnnotationFactStore)();
57
+ const springAopFacts = new Map();
58
+ const springConditionalFacts = new Map();
59
+ const springDiFacts = new Map();
60
+ function clearKotlinClassAnnotationFacts() {
61
+ classAnnotations.clear();
62
+ springAopFacts.clear();
63
+ springConditionalFacts.clear();
64
+ springDiFacts.clear();
65
+ }
66
+ function setKotlinSpringAopFacts(filePath, facts) {
67
+ if (facts.length === 0)
68
+ springAopFacts.delete(filePath);
69
+ else
70
+ springAopFacts.set(filePath, facts);
71
+ }
72
+ function getKotlinSpringAopFacts(filePath) {
73
+ return springAopFacts.get(filePath) ?? [];
74
+ }
75
+ function setKotlinClassAnnotationFacts(filePath, facts) {
76
+ classAnnotations.set(filePath, facts);
77
+ }
78
+ function getKotlinClassAnnotationFacts(filePath) {
79
+ return classAnnotations.get(filePath);
80
+ }
81
+ function setKotlinSpringConditionalFacts(filePath, facts) {
82
+ if (facts.length === 0)
83
+ springConditionalFacts.delete(filePath);
84
+ else
85
+ springConditionalFacts.set(filePath, facts);
86
+ }
87
+ function getKotlinSpringConditionalFacts(filePath) {
88
+ return springConditionalFacts.get(filePath) ?? [];
89
+ }
90
+ function setKotlinSpringDiFacts(filePath, facts) {
91
+ if (facts.length === 0)
92
+ springDiFacts.delete(filePath);
93
+ else
94
+ springDiFacts.set(filePath, facts);
95
+ }
96
+ function getKotlinSpringDiFacts(filePath) {
97
+ return springDiFacts.get(filePath) ?? [];
98
+ }
99
+ /**
100
+ * `LanguageProvider.collectCaptureSideChannel` implementation for Kotlin.
101
+ * Returns `undefined` when this file recorded no side-channel state at all, so
102
+ * the produced `ParsedFile` carries the field only when there's data to ship.
103
+ */
104
+ function collectKotlinCaptureSideChannel(filePath) {
105
+ const companionScopes = (0, companion_scopes_js_1.getCompanionScopesForFile)(filePath);
106
+ const annotationFacts = classAnnotations.get(filePath);
107
+ const aopFacts = springAopFacts.get(filePath) ?? [];
108
+ const conditionFacts = springConditionalFacts.get(filePath) ?? [];
109
+ const diFacts = springDiFacts.get(filePath) ?? [];
110
+ const packageFact = (0, package_facts_js_2.getKotlinPackageFact)(filePath);
111
+ if (companionScopes.length === 0 &&
112
+ annotationFacts.length === 0 &&
113
+ aopFacts.length === 0 &&
114
+ conditionFacts.length === 0 &&
115
+ diFacts.length === 0 &&
116
+ packageFact === undefined) {
117
+ return undefined;
118
+ }
119
+ return {
120
+ kind: 'kotlin',
121
+ companionScopes,
122
+ packageFact: packageFact ?? package_facts_js_1.UNKNOWN_JVM_PACKAGE_FACT,
123
+ classAnnotations: annotationFacts,
124
+ ...(aopFacts.length > 0 ? { springAopFacts: aopFacts } : {}),
125
+ ...(conditionFacts.length > 0 ? { springConditionalFacts: conditionFacts } : {}),
126
+ ...(diFacts.length > 0 ? { springDiFacts: diFacts } : {}),
127
+ };
128
+ }
129
+ /**
130
+ * `ScopeResolver.applyCaptureSideChannel` implementation for Kotlin. Reads the
131
+ * worker-serialized snapshot from `parsed.captureSideChannel` and re-populates
132
+ * the module-level companion-scope map via `markCompanionScope`. Tolerant of
133
+ * `undefined` (file carried no data) and of an unexpected / foreign shape
134
+ * (defensive — the `kind` tag guards against restoring a non-kotlin payload).
135
+ * Does NO tree-sitter parse.
136
+ */
137
+ function applyKotlinCaptureSideChannel(parsed) {
138
+ const data = parsed.captureSideChannel;
139
+ if (data === undefined ||
140
+ data === null ||
141
+ typeof data !== 'object' ||
142
+ data.kind !== 'kotlin' ||
143
+ !Array.isArray(data.companionScopes) ||
144
+ !Array.isArray(data.classAnnotations)) {
145
+ classAnnotations.set(parsed.filePath, []);
146
+ setKotlinSpringAopFacts(parsed.filePath, []);
147
+ setKotlinSpringConditionalFacts(parsed.filePath, []);
148
+ setKotlinSpringDiFacts(parsed.filePath, []);
149
+ (0, package_facts_js_2.setKotlinPackageFact)(parsed.filePath, package_facts_js_1.UNKNOWN_JVM_PACKAGE_FACT);
150
+ return;
151
+ }
152
+ for (const scopeId of data.companionScopes) {
153
+ (0, companion_scopes_js_1.markCompanionScope)(parsed.filePath, scopeId);
154
+ }
155
+ classAnnotations.set(parsed.filePath, data.classAnnotations);
156
+ setKotlinSpringAopFacts(parsed.filePath, Array.isArray(data.springAopFacts) ? data.springAopFacts : []);
157
+ setKotlinSpringConditionalFacts(parsed.filePath, Array.isArray(data.springConditionalFacts) ? data.springConditionalFacts : []);
158
+ setKotlinSpringDiFacts(parsed.filePath, Array.isArray(data.springDiFacts) ? data.springDiFacts : []);
159
+ (0, package_facts_js_2.setKotlinPackageFact)(parsed.filePath, (0, package_facts_js_1.isJvmPackageFact)(data.packageFact) ? data.packageFact : package_facts_js_1.UNKNOWN_JVM_PACKAGE_FACT);
160
+ }