gitnexus 1.6.10-rc.99 → 1.6.10

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 (775) hide show
  1. package/README.md +177 -18
  2. package/dist/_shared/graph/types.d.ts +21 -2
  3. package/dist/_shared/graph/types.d.ts.map +1 -1
  4. package/dist/_shared/index.d.ts +3 -3
  5. package/dist/_shared/index.d.ts.map +1 -1
  6. package/dist/_shared/index.js +1 -1
  7. package/dist/_shared/index.js.map +1 -1
  8. package/dist/_shared/integrations/circuit-breaker.d.ts.map +1 -1
  9. package/dist/_shared/integrations/circuit-breaker.js.map +1 -1
  10. package/dist/_shared/integrations/resilient-fetch.d.ts +16 -0
  11. package/dist/_shared/integrations/resilient-fetch.d.ts.map +1 -1
  12. package/dist/_shared/integrations/resilient-fetch.js +19 -7
  13. package/dist/_shared/integrations/resilient-fetch.js.map +1 -1
  14. package/dist/_shared/language-detection.d.ts.map +1 -1
  15. package/dist/_shared/lbug/schema-constants.d.ts +2 -2
  16. package/dist/_shared/lbug/schema-constants.d.ts.map +1 -1
  17. package/dist/_shared/lbug/schema-constants.js +3 -0
  18. package/dist/_shared/lbug/schema-constants.js.map +1 -1
  19. package/dist/_shared/scope-resolution/evidence-weights.d.ts.map +1 -1
  20. package/dist/_shared/scope-resolution/finalize-algorithm.d.ts +5 -0
  21. package/dist/_shared/scope-resolution/finalize-algorithm.d.ts.map +1 -1
  22. package/dist/_shared/scope-resolution/finalize-algorithm.js +315 -36
  23. package/dist/_shared/scope-resolution/finalize-algorithm.js.map +1 -1
  24. package/dist/_shared/scope-resolution/reference-site.d.ts +115 -0
  25. package/dist/_shared/scope-resolution/reference-site.d.ts.map +1 -1
  26. package/dist/_shared/scope-resolution/registries/field-registry.js.map +1 -1
  27. package/dist/_shared/scope-resolution/registries/lookup-core.d.ts.map +1 -1
  28. package/dist/_shared/scope-resolution/registries/lookup-core.js +58 -2
  29. package/dist/_shared/scope-resolution/registries/lookup-core.js.map +1 -1
  30. package/dist/_shared/scope-resolution/registries/method-registry.js.map +1 -1
  31. package/dist/_shared/scope-resolution/scope-tree.d.ts.map +1 -1
  32. package/dist/_shared/scope-resolution/scope-tree.js.map +1 -1
  33. package/dist/_shared/scope-resolution/symbol-definition.d.ts +47 -0
  34. package/dist/_shared/scope-resolution/symbol-definition.d.ts.map +1 -1
  35. package/dist/_shared/scope-resolution/types.d.ts +278 -3
  36. package/dist/_shared/scope-resolution/types.d.ts.map +1 -1
  37. package/dist/cli/ai-context.d.ts +3 -2
  38. package/dist/cli/ai-context.js +71 -16
  39. package/dist/cli/analyze-config.d.ts +1 -1
  40. package/dist/cli/analyze-options.d.ts +131 -0
  41. package/dist/cli/analyze-options.js +1 -0
  42. package/dist/cli/analyze.d.ts +21 -113
  43. package/dist/cli/analyze.js +172 -29
  44. package/dist/cli/cli-message.d.ts +1 -1
  45. package/dist/cli/detect-changes-format.js +19 -2
  46. package/dist/cli/doctor.d.ts +12 -0
  47. package/dist/cli/doctor.js +32 -5
  48. package/dist/cli/editor-targets.js +6 -0
  49. package/dist/cli/eval-server.js +2 -1
  50. package/dist/cli/format-symbol.d.ts +15 -0
  51. package/dist/cli/format-symbol.js +17 -0
  52. package/dist/cli/generated-skill.d.ts +17 -0
  53. package/dist/cli/generated-skill.js +1 -0
  54. package/dist/cli/group.js +229 -21
  55. package/dist/cli/help-i18n.js +1 -2
  56. package/dist/cli/i18n/en.d.ts +11 -9
  57. package/dist/cli/i18n/en.js +13 -9
  58. package/dist/cli/i18n/resources.d.ts +15 -11
  59. package/dist/cli/i18n/zh-CN.d.ts +4 -2
  60. package/dist/cli/i18n/zh-CN.js +11 -9
  61. package/dist/cli/index.js +8 -4
  62. package/dist/cli/resolve-invocation.d.ts +7 -3
  63. package/dist/cli/resolve-invocation.js +7 -3
  64. package/dist/cli/setup.js +4 -3
  65. package/dist/cli/skill-gen.d.ts +1 -6
  66. package/dist/cli/tool.d.ts +1 -0
  67. package/dist/cli/tool.js +74 -17
  68. package/dist/cli/wiki.js +53 -10
  69. package/dist/config/ignore-service.d.ts +2 -0
  70. package/dist/config/ignore-service.js +54 -13
  71. package/dist/core/analyzer-identity.d.ts +80 -0
  72. package/dist/core/analyzer-identity.js +364 -26
  73. package/dist/core/augmentation/engine.js +86 -71
  74. package/dist/core/embedding-checkpoint.d.ts +143 -0
  75. package/dist/core/embedding-checkpoint.js +221 -0
  76. package/dist/core/embedding-count.d.ts +61 -0
  77. package/dist/core/embedding-count.js +69 -0
  78. package/dist/core/embeddings/ast-utils.js +9 -1
  79. package/dist/core/embeddings/embedding-pipeline.d.ts +8 -0
  80. package/dist/core/embeddings/embedding-pipeline.js +253 -14
  81. package/dist/core/embeddings/http-client.d.ts +5 -0
  82. package/dist/core/embeddings/http-client.js +142 -27
  83. package/dist/core/graph/graph.js +3 -0
  84. package/dist/core/graph/import-cycles.d.ts +194 -3
  85. package/dist/core/graph/import-cycles.js +522 -73
  86. package/dist/core/graph/types.d.ts +18 -0
  87. package/dist/core/group/bridge-db.d.ts +204 -1
  88. package/dist/core/group/bridge-db.js +401 -28
  89. package/dist/core/group/completeness.d.ts +130 -0
  90. package/dist/core/group/completeness.js +83 -0
  91. package/dist/core/group/config-parser.js +0 -5
  92. package/dist/core/group/cross-impact.d.ts +46 -1
  93. package/dist/core/group/cross-impact.js +220 -19
  94. package/dist/core/group/cross-trace.d.ts +32 -11
  95. package/dist/core/group/cross-trace.js +114 -20
  96. package/dist/core/group/extractors/http-patterns/java.js +278 -22
  97. package/dist/core/group/extractors/http-patterns/node.js +332 -216
  98. package/dist/core/group/extractors/http-patterns/types.d.ts +8 -0
  99. package/dist/core/group/extractors/http-route-extractor.d.ts +1 -0
  100. package/dist/core/group/extractors/http-route-extractor.js +122 -48
  101. package/dist/core/group/extractors/include-extractor.js +20 -2
  102. package/dist/core/group/extractors/manifest-extractor.d.ts +1 -1
  103. package/dist/core/group/extractors/manifest-extractor.js +7 -7
  104. package/dist/core/group/extractors/python-workspace-extractor.js +5 -2
  105. package/dist/core/group/group-lock.d.ts +31 -0
  106. package/dist/core/group/group-lock.js +166 -0
  107. package/dist/core/group/service.js +297 -16
  108. package/dist/core/group/storage.d.ts +3 -0
  109. package/dist/core/group/storage.js +7 -39
  110. package/dist/core/group/sync.d.ts +49 -3
  111. package/dist/core/group/sync.js +0 -0
  112. package/dist/core/group/types.d.ts +183 -8
  113. package/dist/core/group/types.js +28 -1
  114. package/dist/core/incremental/subgraph-extract.d.ts +9 -6
  115. package/dist/core/incremental/subgraph-extract.js +33 -10
  116. package/dist/core/index-freshness.d.ts +77 -2
  117. package/dist/core/index-freshness.js +109 -2
  118. package/dist/core/ingestion/call-processor.d.ts +13 -1
  119. package/dist/core/ingestion/call-processor.js +110 -3
  120. package/dist/core/ingestion/cfg/callee-cell-format.d.ts +42 -0
  121. package/dist/core/ingestion/cfg/callee-cell-format.js +42 -0
  122. package/dist/core/ingestion/cfg/emit.d.ts +8 -23
  123. package/dist/core/ingestion/cfg/emit.js +9 -23
  124. package/dist/core/ingestion/class-extractors/configs/go.js +10 -5
  125. package/dist/core/ingestion/cluster-enricher.js +8 -4
  126. package/dist/core/ingestion/community-processor.d.ts +21 -3
  127. package/dist/core/ingestion/community-processor.js +81 -82
  128. package/dist/core/ingestion/di-extractors/index.d.ts +9 -33
  129. package/dist/core/ingestion/di-extractors/spring.d.ts +1 -1
  130. package/dist/core/ingestion/di-extractors/spring.js +8 -1
  131. package/dist/core/ingestion/di-extractors/types.d.ts +60 -0
  132. package/dist/core/ingestion/di-extractors/types.js +15 -0
  133. package/dist/core/ingestion/filesystem-walker.js +30 -14
  134. package/dist/core/ingestion/finalize-orchestrator.js +1 -0
  135. package/dist/core/ingestion/frameworks/spring/analysis-features.d.ts +6 -0
  136. package/dist/core/ingestion/frameworks/spring/analysis-features.js +35 -1
  137. package/dist/core/ingestion/frameworks/spring/annotation-arguments.d.ts +13 -0
  138. package/dist/core/ingestion/frameworks/spring/annotation-arguments.js +227 -0
  139. package/dist/core/ingestion/frameworks/spring/aop-candidates.d.ts +15 -0
  140. package/dist/core/ingestion/frameworks/spring/aop-candidates.js +85 -0
  141. package/dist/core/ingestion/frameworks/spring/aop.d.ts +118 -0
  142. package/dist/core/ingestion/frameworks/spring/aop.js +476 -0
  143. package/dist/core/ingestion/frameworks/spring/auto-configuration.d.ts +8 -0
  144. package/dist/core/ingestion/frameworks/spring/auto-configuration.js +16 -0
  145. package/dist/core/ingestion/frameworks/spring/bean-catalog.js +1 -0
  146. package/dist/core/ingestion/frameworks/spring/bean-factories.d.ts +33 -0
  147. package/dist/core/ingestion/frameworks/spring/bean-factories.js +65 -0
  148. package/dist/core/ingestion/frameworks/spring/conditionals.d.ts +25 -0
  149. package/dist/core/ingestion/frameworks/spring/conditionals.js +319 -0
  150. package/dist/core/ingestion/frameworks/spring/di-metadata.d.ts +3 -0
  151. package/dist/core/ingestion/frameworks/spring/di-metadata.js +162 -13
  152. package/dist/core/ingestion/frameworks/spring/non-http-handlers.d.ts +28 -0
  153. package/dist/core/ingestion/frameworks/spring/non-http-handlers.js +152 -0
  154. package/dist/core/ingestion/frameworks/spring/resource-injection.d.ts +5 -0
  155. package/dist/core/ingestion/frameworks/spring/resource-injection.js +91 -0
  156. package/dist/core/ingestion/import-resolvers/configs/csharp.js +5 -1
  157. package/dist/core/ingestion/import-resolvers/configs/swift.js +13 -0
  158. package/dist/core/ingestion/import-resolvers/csharp.d.ts +9 -1
  159. package/dist/core/ingestion/import-resolvers/csharp.js +234 -27
  160. package/dist/core/ingestion/import-resolvers/go.d.ts +11 -1
  161. package/dist/core/ingestion/import-resolvers/go.js +44 -17
  162. package/dist/core/ingestion/import-resolvers/jvm.d.ts +2 -2
  163. package/dist/core/ingestion/import-resolvers/node-workspace-packages.d.ts +90 -0
  164. package/dist/core/ingestion/import-resolvers/node-workspace-packages.js +429 -0
  165. package/dist/core/ingestion/import-resolvers/package-dir-index.d.ts +124 -0
  166. package/dist/core/ingestion/import-resolvers/package-dir-index.js +223 -0
  167. package/dist/core/ingestion/import-resolvers/pass-cache.d.ts +50 -0
  168. package/dist/core/ingestion/import-resolvers/pass-cache.js +60 -0
  169. package/dist/core/ingestion/import-resolvers/per-file-set.d.ts +71 -0
  170. package/dist/core/ingestion/import-resolvers/per-file-set.js +11 -0
  171. package/dist/core/ingestion/import-resolvers/php.d.ts +1 -1
  172. package/dist/core/ingestion/import-resolvers/php.js +65 -19
  173. package/dist/core/ingestion/import-resolvers/python-file-index.d.ts +201 -0
  174. package/dist/core/ingestion/import-resolvers/python-file-index.js +302 -0
  175. package/dist/core/ingestion/import-resolvers/python.js +25 -6
  176. package/dist/core/ingestion/import-resolvers/ruby.d.ts +1 -1
  177. package/dist/core/ingestion/import-resolvers/rust.d.ts +2 -2
  178. package/dist/core/ingestion/import-resolvers/standard.d.ts +1 -1
  179. package/dist/core/ingestion/import-resolvers/types.d.ts +1 -12
  180. package/dist/core/ingestion/import-resolvers/utils.d.ts +65 -6
  181. package/dist/core/ingestion/import-resolvers/utils.js +215 -36
  182. package/dist/core/ingestion/import-resolvers/workspace-file-index.d.ts +72 -0
  183. package/dist/core/ingestion/import-resolvers/workspace-file-index.js +58 -0
  184. package/dist/core/ingestion/language-config.d.ts +29 -1
  185. package/dist/core/ingestion/language-config.js +110 -35
  186. package/dist/core/ingestion/language-provider.d.ts +209 -7
  187. package/dist/core/ingestion/language-provider.js +37 -0
  188. package/dist/core/ingestion/languages/c/captures.js +7 -0
  189. package/dist/core/ingestion/languages/c/import-target.js +12 -16
  190. package/dist/core/ingestion/languages/c/scope-resolver.js +20 -19
  191. package/dist/core/ingestion/languages/c/static-linkage.js +12 -16
  192. package/dist/core/ingestion/languages/c-cpp.js +13 -0
  193. package/dist/core/ingestion/languages/cobol/scope-resolver.js +27 -20
  194. package/dist/core/ingestion/languages/cobol.js +13 -0
  195. package/dist/core/ingestion/languages/cpp/adl.d.ts +2 -2
  196. package/dist/core/ingestion/languages/cpp/adl.js +67 -44
  197. package/dist/core/ingestion/languages/cpp/captures.js +14 -2
  198. package/dist/core/ingestion/languages/cpp/file-local-linkage.js +11 -15
  199. package/dist/core/ingestion/languages/cpp/inline-namespaces.d.ts +28 -8
  200. package/dist/core/ingestion/languages/cpp/inline-namespaces.js +242 -68
  201. package/dist/core/ingestion/languages/cpp/interpret.d.ts +2 -0
  202. package/dist/core/ingestion/languages/cpp/interpret.js +126 -6
  203. package/dist/core/ingestion/languages/cpp/query.js +106 -0
  204. package/dist/core/ingestion/languages/cpp/scope-resolver.js +48 -20
  205. package/dist/core/ingestion/languages/csharp/accessor-unwrap.d.ts +2 -15
  206. package/dist/core/ingestion/languages/csharp/accessor-unwrap.js +18 -10
  207. package/dist/core/ingestion/languages/csharp/captures.js +19 -0
  208. package/dist/core/ingestion/languages/csharp/import-target.js +46 -72
  209. package/dist/core/ingestion/languages/csharp/namespace-siblings.js +5 -1
  210. package/dist/core/ingestion/languages/csharp/query.js +25 -5
  211. package/dist/core/ingestion/languages/csharp/scope-resolver.js +75 -2
  212. package/dist/core/ingestion/languages/dart/captures.d.ts +10 -0
  213. package/dist/core/ingestion/languages/dart/captures.js +598 -16
  214. package/dist/core/ingestion/languages/dart/import-target.js +32 -9
  215. package/dist/core/ingestion/languages/dart/index.d.ts +1 -1
  216. package/dist/core/ingestion/languages/dart/index.js +1 -1
  217. package/dist/core/ingestion/languages/dart/query.js +98 -1
  218. package/dist/core/ingestion/languages/dart/scope-resolver.js +14 -3
  219. package/dist/core/ingestion/languages/dart/simple-hooks.js +9 -0
  220. package/dist/core/ingestion/languages/dart.js +6 -1
  221. package/dist/core/ingestion/languages/go/captures.js +108 -3
  222. package/dist/core/ingestion/languages/go/generic-type-parameters.d.ts +31 -0
  223. package/dist/core/ingestion/languages/go/generic-type-parameters.js +140 -0
  224. package/dist/core/ingestion/languages/go/import-target.d.ts +3 -10
  225. package/dist/core/ingestion/languages/go/import-target.js +34 -30
  226. package/dist/core/ingestion/languages/go/index.d.ts +1 -1
  227. package/dist/core/ingestion/languages/go/interface-impls.d.ts +9 -1
  228. package/dist/core/ingestion/languages/go/interface-impls.js +693 -87
  229. package/dist/core/ingestion/languages/go/interpret.d.ts +2 -0
  230. package/dist/core/ingestion/languages/go/interpret.js +22 -8
  231. package/dist/core/ingestion/languages/go/method-owners.js +31 -12
  232. package/dist/core/ingestion/languages/go/package-clause.d.ts +46 -0
  233. package/dist/core/ingestion/languages/go/package-clause.js +75 -0
  234. package/dist/core/ingestion/languages/go/package-siblings.js +7 -11
  235. package/dist/core/ingestion/languages/go/query.js +56 -3
  236. package/dist/core/ingestion/languages/go/scope-resolver.js +39 -0
  237. package/dist/core/ingestion/languages/go.js +9 -0
  238. package/dist/core/ingestion/languages/java/analysis-features.d.ts +4 -0
  239. package/dist/core/ingestion/languages/java/analysis-features.js +12 -0
  240. package/dist/core/ingestion/languages/java/capture-side-channel.d.ts +12 -0
  241. package/dist/core/ingestion/languages/java/capture-side-channel.js +48 -0
  242. package/dist/core/ingestion/languages/java/captures.js +77 -32
  243. package/dist/core/ingestion/languages/java/import-target.d.ts +49 -9
  244. package/dist/core/ingestion/languages/java/import-target.js +68 -88
  245. package/dist/core/ingestion/languages/java/interpret.js +3 -2
  246. package/dist/core/ingestion/languages/java/module-resolution.d.ts +62 -0
  247. package/dist/core/ingestion/languages/java/module-resolution.js +142 -0
  248. package/dist/core/ingestion/languages/java/query.js +15 -3
  249. package/dist/core/ingestion/languages/java/record-components.d.ts +14 -0
  250. package/dist/core/ingestion/languages/java/record-components.js +185 -0
  251. package/dist/core/ingestion/languages/java/scope-resolver.js +10 -2
  252. package/dist/core/ingestion/languages/java/spring-aop.d.ts +12 -0
  253. package/dist/core/ingestion/languages/java/spring-aop.js +49 -0
  254. package/dist/core/ingestion/languages/java/spring-conditionals.d.ts +11 -0
  255. package/dist/core/ingestion/languages/java/spring-conditionals.js +48 -0
  256. package/dist/core/ingestion/languages/java/spring-di.d.ts +4 -1
  257. package/dist/core/ingestion/languages/java/spring-di.js +41 -9
  258. package/dist/core/ingestion/languages/java/spring-non-http-handlers.d.ts +7 -0
  259. package/dist/core/ingestion/languages/java/spring-non-http-handlers.js +32 -0
  260. package/dist/core/ingestion/languages/java.js +94 -3
  261. package/dist/core/ingestion/languages/javascript/captures.d.ts +6 -1
  262. package/dist/core/ingestion/languages/javascript/captures.js +262 -4
  263. package/dist/core/ingestion/languages/javascript/import-target.d.ts +17 -21
  264. package/dist/core/ingestion/languages/javascript/import-target.js +24 -41
  265. package/dist/core/ingestion/languages/javascript/index.d.ts +54 -5
  266. package/dist/core/ingestion/languages/javascript/index.js +54 -5
  267. package/dist/core/ingestion/languages/javascript/query.d.ts +1 -0
  268. package/dist/core/ingestion/languages/javascript/query.js +211 -5
  269. package/dist/core/ingestion/languages/javascript/scope-resolver.js +12 -0
  270. package/dist/core/ingestion/languages/javascript/simple-hooks.js +2 -1
  271. package/dist/core/ingestion/languages/jvm/package-siblings.js +77 -9
  272. package/dist/core/ingestion/languages/kotlin/capture-side-channel.d.ts +15 -0
  273. package/dist/core/ingestion/languages/kotlin/capture-side-channel.js +48 -0
  274. package/dist/core/ingestion/languages/kotlin/captures.js +43 -1
  275. package/dist/core/ingestion/languages/kotlin/import-target.d.ts +8 -1
  276. package/dist/core/ingestion/languages/kotlin/import-target.js +20 -123
  277. package/dist/core/ingestion/languages/kotlin/index.d.ts +1 -0
  278. package/dist/core/ingestion/languages/kotlin/index.js +1 -0
  279. package/dist/core/ingestion/languages/kotlin/module-resolution.d.ts +22 -0
  280. package/dist/core/ingestion/languages/kotlin/module-resolution.js +108 -0
  281. package/dist/core/ingestion/languages/kotlin/query.js +28 -2
  282. package/dist/core/ingestion/languages/kotlin/scope-resolver.js +23 -2
  283. package/dist/core/ingestion/languages/kotlin/spring-aop.d.ts +12 -0
  284. package/dist/core/ingestion/languages/kotlin/spring-aop.js +64 -0
  285. package/dist/core/ingestion/languages/kotlin/spring-conditionals.d.ts +12 -0
  286. package/dist/core/ingestion/languages/kotlin/spring-conditionals.js +49 -0
  287. package/dist/core/ingestion/languages/kotlin/spring-di.d.ts +2 -0
  288. package/dist/core/ingestion/languages/kotlin/spring-di.js +60 -11
  289. package/dist/core/ingestion/languages/kotlin/spring-non-http-handlers.d.ts +10 -0
  290. package/dist/core/ingestion/languages/kotlin/spring-non-http-handlers.js +41 -0
  291. package/dist/core/ingestion/languages/php/captures.d.ts +5 -0
  292. package/dist/core/ingestion/languages/php/captures.js +319 -51
  293. package/dist/core/ingestion/languages/php/import-target.d.ts +3 -4
  294. package/dist/core/ingestion/languages/php/import-target.js +192 -62
  295. package/dist/core/ingestion/languages/php/query.js +31 -0
  296. package/dist/core/ingestion/languages/python/arity-metadata.d.ts +1 -0
  297. package/dist/core/ingestion/languages/python/arity-metadata.js +1 -0
  298. package/dist/core/ingestion/languages/python/captures.js +29 -0
  299. package/dist/core/ingestion/languages/python/import-decomposer.js +22 -1
  300. package/dist/core/ingestion/languages/python/import-target.d.ts +42 -1
  301. package/dist/core/ingestion/languages/python/import-target.js +277 -91
  302. package/dist/core/ingestion/languages/python/index.d.ts +1 -1
  303. package/dist/core/ingestion/languages/python/index.js +1 -1
  304. package/dist/core/ingestion/languages/python/interpret.d.ts +52 -0
  305. package/dist/core/ingestion/languages/python/interpret.js +249 -7
  306. package/dist/core/ingestion/languages/python/query.js +9 -0
  307. package/dist/core/ingestion/languages/python/receiver-binding.d.ts +8 -6
  308. package/dist/core/ingestion/languages/python/receiver-binding.js +108 -12
  309. package/dist/core/ingestion/languages/python/scope-resolver.js +27 -4
  310. package/dist/core/ingestion/languages/python/simple-hooks.js +2 -8
  311. package/dist/core/ingestion/languages/python.js +13 -0
  312. package/dist/core/ingestion/languages/ruby/captures.js +158 -0
  313. package/dist/core/ingestion/languages/ruby/import-target.js +7 -5
  314. package/dist/core/ingestion/languages/ruby/query.js +93 -0
  315. package/dist/core/ingestion/languages/ruby/scope-resolver.js +2 -0
  316. package/dist/core/ingestion/languages/ruby/simple-hooks.d.ts +1 -1
  317. package/dist/core/ingestion/languages/ruby/simple-hooks.js +22 -1
  318. package/dist/core/ingestion/languages/rust/captures.js +39 -1
  319. package/dist/core/ingestion/languages/rust/method-owners.js +11 -1
  320. package/dist/core/ingestion/languages/rust/module-path.d.ts +126 -0
  321. package/dist/core/ingestion/languages/rust/module-path.js +214 -0
  322. package/dist/core/ingestion/languages/rust/qualified-call.d.ts +41 -0
  323. package/dist/core/ingestion/languages/rust/qualified-call.js +481 -0
  324. package/dist/core/ingestion/languages/rust/query.js +39 -6
  325. package/dist/core/ingestion/languages/rust/scope-resolver.js +21 -2
  326. package/dist/core/ingestion/languages/rust.js +17 -0
  327. package/dist/core/ingestion/languages/swift/captures.js +87 -3
  328. package/dist/core/ingestion/languages/swift/conditional-directive-preprocess.d.ts +48 -0
  329. package/dist/core/ingestion/languages/swift/conditional-directive-preprocess.js +253 -0
  330. package/dist/core/ingestion/languages/swift/import-target.js +4 -9
  331. package/dist/core/ingestion/languages/swift/query.js +17 -0
  332. package/dist/core/ingestion/languages/swift/receiver-binding.d.ts +8 -0
  333. package/dist/core/ingestion/languages/swift/receiver-binding.js +6 -2
  334. package/dist/core/ingestion/languages/swift.js +2 -0
  335. package/dist/core/ingestion/languages/typescript/captures.d.ts +90 -1
  336. package/dist/core/ingestion/languages/typescript/captures.js +267 -5
  337. package/dist/core/ingestion/languages/typescript/cjs-export-assignment.d.ts +134 -0
  338. package/dist/core/ingestion/languages/typescript/cjs-export-assignment.js +523 -0
  339. package/dist/core/ingestion/languages/typescript/cjs-module-exports.d.ts +54 -0
  340. package/dist/core/ingestion/languages/typescript/cjs-module-exports.js +191 -0
  341. package/dist/core/ingestion/languages/typescript/convex-endpoint-metadata.d.ts +7 -0
  342. package/dist/core/ingestion/languages/typescript/convex-endpoint-metadata.js +92 -0
  343. package/dist/core/ingestion/languages/typescript/file-candidates.d.ts +29 -0
  344. package/dist/core/ingestion/languages/typescript/file-candidates.js +70 -0
  345. package/dist/core/ingestion/languages/typescript/import-decomposer.d.ts +28 -1
  346. package/dist/core/ingestion/languages/typescript/import-decomposer.js +125 -10
  347. package/dist/core/ingestion/languages/typescript/import-target.d.ts +25 -37
  348. package/dist/core/ingestion/languages/typescript/import-target.js +24 -26
  349. package/dist/core/ingestion/languages/typescript/interpret.d.ts +21 -1
  350. package/dist/core/ingestion/languages/typescript/interpret.js +45 -5
  351. package/dist/core/ingestion/languages/typescript/module-resolution.d.ts +48 -0
  352. package/dist/core/ingestion/languages/typescript/module-resolution.js +171 -0
  353. package/dist/core/ingestion/languages/typescript/query.d.ts +1 -0
  354. package/dist/core/ingestion/languages/typescript/query.js +303 -14
  355. package/dist/core/ingestion/languages/typescript/receiver-binding.d.ts +17 -0
  356. package/dist/core/ingestion/languages/typescript/receiver-binding.js +27 -0
  357. package/dist/core/ingestion/languages/typescript/scope-resolver.js +27 -40
  358. package/dist/core/ingestion/languages/typescript/simple-hooks.d.ts +0 -10
  359. package/dist/core/ingestion/languages/typescript/simple-hooks.js +22 -22
  360. package/dist/core/ingestion/languages/typescript/tsconfig.d.ts +59 -0
  361. package/dist/core/ingestion/languages/typescript/tsconfig.js +292 -0
  362. package/dist/core/ingestion/languages/typescript.js +93 -2
  363. package/dist/core/ingestion/languages/vue/import-target.d.ts +6 -22
  364. package/dist/core/ingestion/languages/vue/import-target.js +11 -47
  365. package/dist/core/ingestion/languages/vue/scope-resolver.js +4 -2
  366. package/dist/core/ingestion/local-symbol-pruner.js +11 -11
  367. package/dist/core/ingestion/method-extractors/configs/csharp.js +1 -0
  368. package/dist/core/ingestion/method-extractors/generic.js +1 -0
  369. package/dist/core/ingestion/method-types.d.ts +16 -0
  370. package/dist/core/ingestion/pipeline-phases/di.d.ts +1 -1
  371. package/dist/core/ingestion/pipeline-phases/di.js +136 -21
  372. package/dist/core/ingestion/pipeline-phases/index.d.ts +2 -0
  373. package/dist/core/ingestion/pipeline-phases/index.js +2 -0
  374. package/dist/core/ingestion/pipeline-phases/parse-impl.d.ts +15 -0
  375. package/dist/core/ingestion/pipeline-phases/parse-impl.js +154 -4
  376. package/dist/core/ingestion/pipeline-phases/parse.js +5 -0
  377. package/dist/core/ingestion/pipeline-phases/processes.d.ts +3 -2
  378. package/dist/core/ingestion/pipeline-phases/processes.js +91 -6
  379. package/dist/core/ingestion/pipeline-phases/routes.js +116 -25
  380. package/dist/core/ingestion/pipeline-phases/spring-aop.d.ts +34 -0
  381. package/dist/core/ingestion/pipeline-phases/spring-aop.js +439 -0
  382. package/dist/core/ingestion/pipeline-phases/spring-auto-configuration.d.ts +34 -0
  383. package/dist/core/ingestion/pipeline-phases/spring-auto-configuration.js +255 -0
  384. package/dist/core/ingestion/pipeline-phases/types.d.ts +7 -0
  385. package/dist/core/ingestion/pipeline.d.ts +26 -2
  386. package/dist/core/ingestion/pipeline.js +60 -11
  387. package/dist/core/ingestion/process-processor.d.ts +109 -2
  388. package/dist/core/ingestion/process-processor.js +464 -52
  389. package/dist/core/ingestion/resolve-references.d.ts +6 -1
  390. package/dist/core/ingestion/resolve-references.js +66 -6
  391. package/dist/core/ingestion/route-extractors/constant-resolver.d.ts +8 -2
  392. package/dist/core/ingestion/route-extractors/constant-resolver.js +11 -7
  393. package/dist/core/ingestion/route-extractors/data-route-table.d.ts +40 -0
  394. package/dist/core/ingestion/route-extractors/data-route-table.js +876 -0
  395. package/dist/core/ingestion/route-extractors/dispatch-guard.d.ts +96 -0
  396. package/dist/core/ingestion/route-extractors/dispatch-guard.js +1184 -0
  397. package/dist/core/ingestion/route-extractors/java-const-resolver.d.ts +114 -0
  398. package/dist/core/ingestion/route-extractors/java-const-resolver.js +569 -0
  399. package/dist/core/ingestion/route-extractors/js-const-resolver.d.ts +192 -0
  400. package/dist/core/ingestion/route-extractors/js-const-resolver.js +1033 -0
  401. package/dist/core/ingestion/route-extractors/nest.d.ts +53 -0
  402. package/dist/core/ingestion/route-extractors/nest.js +523 -0
  403. package/dist/core/ingestion/route-extractors/spring-shared.d.ts +11 -0
  404. package/dist/core/ingestion/route-extractors/spring-shared.js +89 -0
  405. package/dist/core/ingestion/route-extractors/spring.js +214 -29
  406. package/dist/core/ingestion/scope-extractor-bridge.js +9 -1
  407. package/dist/core/ingestion/scope-extractor.d.ts +22 -7
  408. package/dist/core/ingestion/scope-extractor.js +309 -15
  409. package/dist/core/ingestion/scope-resolution/contract/scope-resolver.d.ts +311 -21
  410. package/dist/core/ingestion/scope-resolution/contract/scope-resolver.js +16 -5
  411. package/dist/core/ingestion/scope-resolution/graph-bridge/edges.d.ts +12 -0
  412. package/dist/core/ingestion/scope-resolution/graph-bridge/edges.js +47 -0
  413. package/dist/core/ingestion/scope-resolution/graph-bridge/ids.d.ts +20 -15
  414. package/dist/core/ingestion/scope-resolution/graph-bridge/ids.js +280 -42
  415. package/dist/core/ingestion/scope-resolution/graph-bridge/imports-to-edges.d.ts +123 -0
  416. package/dist/core/ingestion/scope-resolution/graph-bridge/imports-to-edges.js +171 -17
  417. package/dist/core/ingestion/scope-resolution/graph-bridge/node-lookup.d.ts +58 -1
  418. package/dist/core/ingestion/scope-resolution/graph-bridge/node-lookup.js +137 -34
  419. package/dist/core/ingestion/scope-resolution/graph-bridge/references-to-edges.d.ts +30 -1
  420. package/dist/core/ingestion/scope-resolution/graph-bridge/references-to-edges.js +39 -1
  421. package/dist/core/ingestion/scope-resolution/passes/callable-value-flow.d.ts +18 -1
  422. package/dist/core/ingestion/scope-resolution/passes/callable-value-flow.js +113 -18
  423. package/dist/core/ingestion/scope-resolution/passes/compound-receiver.d.ts +107 -5
  424. package/dist/core/ingestion/scope-resolution/passes/compound-receiver.js +590 -33
  425. package/dist/core/ingestion/scope-resolution/passes/free-call-fallback.d.ts +3 -0
  426. package/dist/core/ingestion/scope-resolution/passes/free-call-fallback.js +101 -41
  427. package/dist/core/ingestion/scope-resolution/passes/imported-value-refs.d.ts +34 -0
  428. package/dist/core/ingestion/scope-resolution/passes/imported-value-refs.js +62 -0
  429. package/dist/core/ingestion/scope-resolution/passes/property-dispatch.d.ts +5 -1
  430. package/dist/core/ingestion/scope-resolution/passes/property-dispatch.js +8 -1
  431. package/dist/core/ingestion/scope-resolution/passes/receiver-bound-calls.d.ts +105 -5
  432. package/dist/core/ingestion/scope-resolution/passes/receiver-bound-calls.js +931 -92
  433. package/dist/core/ingestion/scope-resolution/passes/return-shape-members.d.ts +58 -0
  434. package/dist/core/ingestion/scope-resolution/passes/return-shape-members.js +458 -0
  435. package/dist/core/ingestion/scope-resolution/passes/unique-name-properties.d.ts +180 -0
  436. package/dist/core/ingestion/scope-resolution/passes/unique-name-properties.js +418 -0
  437. package/dist/core/ingestion/scope-resolution/pipeline/phase.d.ts +29 -0
  438. package/dist/core/ingestion/scope-resolution/pipeline/phase.js +57 -0
  439. package/dist/core/ingestion/scope-resolution/pipeline/run.d.ts +55 -1
  440. package/dist/core/ingestion/scope-resolution/pipeline/run.js +241 -19
  441. package/dist/core/ingestion/scope-resolution/resolution-outcome.d.ts +112 -2
  442. package/dist/core/ingestion/scope-resolution/resolution-outcome.js +38 -1
  443. package/dist/core/ingestion/scope-resolution/scope/namespace-targets.d.ts +25 -3
  444. package/dist/core/ingestion/scope-resolution/scope/namespace-targets.js +36 -16
  445. package/dist/core/ingestion/scope-resolution/scope/walkers.d.ts +210 -9
  446. package/dist/core/ingestion/scope-resolution/scope/walkers.js +905 -22
  447. package/dist/core/ingestion/scope-resolution/summary-maps.d.ts +28 -0
  448. package/dist/core/ingestion/scope-resolution/summary-maps.js +50 -0
  449. package/dist/core/ingestion/scope-resolution/undecided-satisfaction.d.ts +55 -0
  450. package/dist/core/ingestion/scope-resolution/undecided-satisfaction.js +37 -0
  451. package/dist/core/ingestion/scope-resolution/unresolved-receivers.d.ts +109 -0
  452. package/dist/core/ingestion/scope-resolution/unresolved-receivers.js +204 -0
  453. package/dist/core/ingestion/scope-resolution/utils/definition-id.d.ts +13 -0
  454. package/dist/core/ingestion/scope-resolution/utils/definition-id.js +19 -0
  455. package/dist/core/ingestion/scope-resolution/utils/generic-instantiation.d.ts +171 -0
  456. package/dist/core/ingestion/scope-resolution/utils/generic-instantiation.js +218 -0
  457. package/dist/core/ingestion/scope-resolution/workspace-index-types.d.ts +34 -0
  458. package/dist/core/ingestion/scope-resolution/workspace-index-types.js +15 -0
  459. package/dist/core/ingestion/scope-resolution/workspace-index.d.ts +7 -20
  460. package/dist/core/ingestion/tree-sitter-queries.d.ts +11 -11
  461. package/dist/core/ingestion/tree-sitter-queries.js +678 -4
  462. package/dist/core/ingestion/type-env.js +11 -7
  463. package/dist/core/ingestion/type-extractors/shared.d.ts +17 -0
  464. package/dist/core/ingestion/type-extractors/shared.js +16 -0
  465. package/dist/core/ingestion/type-extractors/types.d.ts +12 -0
  466. package/dist/core/ingestion/type-extractors/typescript.d.ts +20 -0
  467. package/dist/core/ingestion/type-extractors/typescript.js +26 -0
  468. package/dist/core/ingestion/utils/ast-helpers.d.ts +297 -15
  469. package/dist/core/ingestion/utils/ast-helpers.js +578 -46
  470. package/dist/core/ingestion/utils/call-analysis.d.ts +27 -22
  471. package/dist/core/ingestion/utils/call-analysis.js +202 -7
  472. package/dist/core/ingestion/utils/callable-flow-captures.d.ts +59 -0
  473. package/dist/core/ingestion/utils/callable-flow-captures.js +51 -1
  474. package/dist/core/ingestion/utils/callable-labels.d.ts +25 -0
  475. package/dist/core/ingestion/utils/callable-labels.js +31 -0
  476. package/dist/core/ingestion/utils/effective-ram.d.ts +40 -0
  477. package/dist/core/ingestion/utils/effective-ram.js +58 -0
  478. package/dist/core/ingestion/utils/line-base.d.ts +14 -0
  479. package/dist/core/ingestion/utils/line-base.js +14 -0
  480. package/dist/core/ingestion/utils/method-props.d.ts +27 -4
  481. package/dist/core/ingestion/utils/method-props.js +29 -4
  482. package/dist/core/ingestion/utils/receiver-chain-captures.d.ts +31 -0
  483. package/dist/core/ingestion/utils/receiver-chain-captures.js +57 -0
  484. package/dist/core/ingestion/utils/receiver-chain-codec.d.ts +89 -0
  485. package/dist/core/ingestion/utils/receiver-chain-codec.js +182 -0
  486. package/dist/core/ingestion/utils/scope-tree-walk.d.ts +22 -0
  487. package/dist/core/ingestion/utils/scope-tree-walk.js +33 -0
  488. package/dist/core/ingestion/utils/template-arguments.d.ts +96 -0
  489. package/dist/core/ingestion/utils/template-arguments.js +196 -0
  490. package/dist/core/ingestion/utils/type-parameters.d.ts +49 -0
  491. package/dist/core/ingestion/utils/type-parameters.js +206 -0
  492. package/dist/core/ingestion/workers/callable-id.d.ts +80 -0
  493. package/dist/core/ingestion/workers/callable-id.js +125 -0
  494. package/dist/core/ingestion/workers/parse-worker.d.ts +14 -1
  495. package/dist/core/ingestion/workers/parse-worker.js +493 -54
  496. package/dist/core/ingestion/workers/worker-pool.d.ts +20 -27
  497. package/dist/core/ingestion/workers/worker-pool.js +91 -3
  498. package/dist/core/lbug/csv-generator.d.ts +27 -0
  499. package/dist/core/lbug/csv-generator.js +72 -17
  500. package/dist/core/lbug/extension-load-error.js +13 -2
  501. package/dist/core/lbug/extension-loader.d.ts +29 -0
  502. package/dist/core/lbug/extension-loader.js +31 -6
  503. package/dist/core/lbug/graph-emit-sink.d.ts +264 -0
  504. package/dist/core/lbug/graph-emit-sink.js +581 -0
  505. package/dist/core/lbug/lbug-adapter.d.ts +290 -11
  506. package/dist/core/lbug/lbug-adapter.js +652 -69
  507. package/dist/core/lbug/native-check.d.ts +21 -0
  508. package/dist/core/lbug/native-check.js +248 -32
  509. package/dist/core/lbug/pdg-emit-sink.d.ts +13 -4
  510. package/dist/core/lbug/pdg-emit-sink.js +21 -111
  511. package/dist/core/lbug/pool-adapter.d.ts +9 -0
  512. package/dist/core/lbug/pool-adapter.js +164 -14
  513. package/dist/core/lbug/query-batch.d.ts +75 -0
  514. package/dist/core/lbug/query-batch.js +102 -0
  515. package/dist/core/lbug/rel-pair-routing.d.ts +160 -2
  516. package/dist/core/lbug/rel-pair-routing.js +228 -10
  517. package/dist/core/lbug/schema.d.ts +163 -4
  518. package/dist/core/lbug/schema.js +404 -159
  519. package/dist/core/lbug/sync-csv-writer.d.ts +47 -0
  520. package/dist/core/lbug/sync-csv-writer.js +108 -0
  521. package/dist/core/run-analyze.d.ts +147 -0
  522. package/dist/core/run-analyze.js +1215 -179
  523. package/dist/core/search/bm25-index.d.ts +11 -0
  524. package/dist/core/search/bm25-index.js +60 -26
  525. package/dist/core/search/fts-indexes.d.ts +150 -9
  526. package/dist/core/search/fts-indexes.js +241 -23
  527. package/dist/core/wiki/graph-queries.js +145 -112
  528. package/dist/core/wiki/llm-client.d.ts +29 -3
  529. package/dist/core/wiki/llm-client.js +47 -12
  530. package/dist/core/wiki/prompts.d.ts +19 -0
  531. package/dist/core/wiki/prompts.js +20 -1
  532. package/dist/lib/utils.d.ts +113 -0
  533. package/dist/lib/utils.js +185 -0
  534. package/dist/mcp/local/aop-metadata.d.ts +77 -0
  535. package/dist/mcp/local/aop-metadata.js +227 -0
  536. package/dist/mcp/local/bean-metadata.d.ts +2 -1
  537. package/dist/mcp/local/bean-metadata.js +22 -1
  538. package/dist/mcp/local/convex-metadata.d.ts +8 -0
  539. package/dist/mcp/local/convex-metadata.js +45 -0
  540. package/dist/mcp/local/local-backend.d.ts +174 -11
  541. package/dist/mcp/local/local-backend.js +1678 -331
  542. package/dist/mcp/local/path-predicate.d.ts +19 -0
  543. package/dist/mcp/local/path-predicate.js +21 -0
  544. package/dist/mcp/local/pdg-impact.d.ts +132 -10
  545. package/dist/mcp/local/pdg-impact.js +391 -98
  546. package/dist/mcp/repository-policy.d.ts +1 -0
  547. package/dist/mcp/repository-policy.js +5 -0
  548. package/dist/mcp/resources.js +26 -4
  549. package/dist/mcp/server.js +23 -13
  550. package/dist/mcp/tools.d.ts +8 -0
  551. package/dist/mcp/tools.js +76 -23
  552. package/dist/server/analyze-job.d.ts +37 -2
  553. package/dist/server/analyze-job.js +13 -2
  554. package/dist/server/analyze-launch.d.ts +1 -1
  555. package/dist/server/analyze-launch.js +79 -10
  556. package/dist/server/analyze-worker-core.d.ts +1 -1
  557. package/dist/server/analyze-worker-core.js +10 -1
  558. package/dist/server/analyze-worker-ipc.d.ts +1 -1
  559. package/dist/server/analyze-worker-ipc.js +4 -0
  560. package/dist/server/analyze-worker-protocol.d.ts +59 -0
  561. package/dist/server/analyze-worker-protocol.js +1 -0
  562. package/dist/server/analyze-worker.d.ts +1 -17
  563. package/dist/server/api.d.ts +2 -11
  564. package/dist/server/api.js +164 -163
  565. package/dist/server/embed-run-outcome.d.ts +89 -0
  566. package/dist/server/embed-run-outcome.js +88 -0
  567. package/dist/server/git-clone.js +6 -2
  568. package/dist/server/middleware.d.ts +116 -9
  569. package/dist/server/middleware.js +291 -22
  570. package/dist/server/sse-progress.d.ts +41 -0
  571. package/dist/server/sse-progress.js +125 -0
  572. package/dist/storage/branch-index.d.ts +11 -6
  573. package/dist/storage/branch-index.js +15 -7
  574. package/dist/storage/file-hash.js +2 -2
  575. package/dist/storage/fs-atomic.d.ts +25 -0
  576. package/dist/storage/fs-atomic.js +42 -0
  577. package/dist/storage/git.d.ts +131 -0
  578. package/dist/storage/git.js +236 -2
  579. package/dist/storage/index-lock.d.ts +102 -0
  580. package/dist/storage/index-lock.js +660 -0
  581. package/dist/storage/parse-cache.js +588 -6
  582. package/dist/storage/parsedfile-store.js +76 -6
  583. package/dist/storage/repo-manager.d.ts +54 -441
  584. package/dist/storage/repo-manager.js +312 -221
  585. package/dist/storage/repo-meta.d.ts +530 -0
  586. package/dist/storage/repo-meta.js +100 -0
  587. package/dist/types/pipeline.d.ts +37 -0
  588. package/hooks/antigravity/gitnexus-antigravity-hook.cjs +1 -1
  589. package/hooks/claude/gitnexus-hook.cjs +1 -1
  590. package/hooks/claude/resolve-analyze-cmd.cjs +80 -13
  591. package/package.json +11 -2
  592. package/scripts/cross-platform-shard.ts +153 -0
  593. package/scripts/cross-platform-tests.ts +122 -0
  594. package/scripts/run-cross-platform.ts +16 -5
  595. package/skills/gitnexus-cli.md +3 -3
  596. package/skills/gitnexus-debugging.md +37 -7
  597. package/skills/gitnexus-exploring.md +26 -4
  598. package/skills/gitnexus-impact-analysis.md +71 -10
  599. package/skills/gitnexus-plan/README.md +11 -6
  600. package/skills/gitnexus-plan/references/evidence-provenance.md +49 -12
  601. package/skills/gitnexus-plan/scripts/evidence-provenance.mjs +654 -372
  602. package/skills/gitnexus-refactoring.md +48 -5
  603. package/skills/gitnexus-review/SKILL.md +12 -6
  604. package/skills/gitnexus-review/ci-personas/ci-adversarial-lens.md +1 -1
  605. package/skills/gitnexus-review/ci-personas/ci-blast-radius-lens.md +1 -1
  606. package/skills/gitnexus-review/ci-personas/ci-correctness-lens.md +1 -1
  607. package/skills/gitnexus-review/ci-personas/ci-coverage-lens.md +1 -1
  608. package/skills/gitnexus-review/ci-personas/ci-critic-lens.md +1 -1
  609. package/skills/gitnexus-review/ci-personas/ci-security-lens.md +1 -1
  610. package/skills/gitnexus-taint-analysis.md +13 -7
  611. package/skills/gitnexus-work/SKILL.md +4 -1
  612. package/skills/gitnexus-work/references/evidence-provenance.md +49 -12
  613. package/skills/gitnexus-work/scripts/evidence-provenance.mjs +654 -372
  614. package/vendor/leiden/utils.cjs +28 -1
  615. package/web/assets/ProcessFlowModal-Badh2Pbg.js +24 -0
  616. package/web/assets/{__vite-browser-external-bMKyYQkO.js → __vite-browser-external-COxE8F0G.js} +1 -1
  617. package/web/assets/abnfDiagram-QNN2D4NM-Cq2djWWe.js +1 -0
  618. package/web/assets/agent-Dr4l5EOp.js +662 -0
  619. package/web/assets/architecture-TIHT7OUA-V6N4J3SY-fTePvLoe.js +1 -0
  620. package/web/assets/architectureDiagram-OT7VKSJ7-mKEXxkeF.js +36 -0
  621. package/web/assets/{blockDiagram-7IZFK4PR-DBefcjof.js → blockDiagram-54WLDVWM-Dg_hrRWE.js} +4 -4
  622. package/web/assets/{c4Diagram-Y2BXMSZH-EjWnjEJl.js → c4Diagram-X2LASM7V-CnhoT4aV.js} +2 -2
  623. package/web/assets/chunk-224SPVON-B8gxtXpy.js +1 -0
  624. package/web/assets/chunk-2AEHWXPW-CV4r6-1I.js +127 -0
  625. package/web/assets/chunk-2SREHG4O-Dip42xOq.js +1 -0
  626. package/web/assets/chunk-4RFN2BYJ-DHHWuC-n.js +1 -0
  627. package/web/assets/chunk-66DQ2XMT-CM0xjFAN.js +1 -0
  628. package/web/assets/chunk-6BELYETK-ChsYtfHW.js +1 -0
  629. package/web/assets/{chunk-LII3EMHJ-BL6lKJ_P.js → chunk-6L755F7B-CMhLBxi2.js} +1 -1
  630. package/web/assets/{chunk-QA3QBVWF-DVXPOIxe.js → chunk-7CWYLC5S-DRgGkkpF.js} +1 -1
  631. package/web/assets/{chunk-ZXARS5L4-C3v-4Fsw.js → chunk-A7VWPJGB-B4O3oQdQ.js} +1 -1
  632. package/web/assets/chunk-BI6VK774-D0oaWk8V.js +1 -0
  633. package/web/assets/chunk-D6VWDJW2-BxcBdZ9c.js +2 -0
  634. package/web/assets/chunk-DMV4VAQV-Bn6WXDSX.js +4 -0
  635. package/web/assets/chunk-E5QJAATJ-dh-5CtIV.js +2 -0
  636. package/web/assets/chunk-EQFTRU2I-1ix7TzW9.js +2 -0
  637. package/web/assets/chunk-FWYVLQTC-BgDItRzJ.js +1 -0
  638. package/web/assets/chunk-HNC4WDU7-DoU3KnA7.js +1 -0
  639. package/web/assets/chunk-L5GCOVLC-CE2w8Nm_.js +161 -0
  640. package/web/assets/chunk-LAHSG3N2-Bz4hcn0N.js +321 -0
  641. package/web/assets/chunk-LORZLZWG-B57uGw2N.js +88 -0
  642. package/web/assets/chunk-NLANEA3F-XpH_NPA5.js +62 -0
  643. package/web/assets/chunk-NV3KIAZN-5yvcpMiu.js +1 -0
  644. package/web/assets/chunk-OIYT25JQ-CQ6KOZGX.js +1 -0
  645. package/web/assets/chunk-PE7DX7ZZ-CCvRVj43.js +10 -0
  646. package/web/assets/chunk-Q67WD55A-BWCH2SVz.js +156 -0
  647. package/web/assets/chunk-RRFMTAIC-CMN0wcYA.js +1 -0
  648. package/web/assets/{chunk-RLI5ZMPA-CkXZ0y0U.js → chunk-SATU7PGQ-B1zhgOvc.js} +1 -1
  649. package/web/assets/chunk-STOV2HOB-GnExfzIX.js +1 -0
  650. package/web/assets/{chunk-INKRHTLW-Ckl3_KkO.js → chunk-SZD42YQK-ijyKKVr1.js} +21 -21
  651. package/web/assets/{chunk-LCXTWHL2-C162wE5z.js → chunk-TFPGFQPA-Dj6a-0pC.js} +3 -3
  652. package/web/assets/chunk-TGVD4F4B-BMc31Gj2.js +2 -0
  653. package/web/assets/chunk-TZUXEDM2-B7p9AcTw.js +1 -0
  654. package/web/assets/chunk-UAT7B5JY-DW-A_fpI.js +1 -0
  655. package/web/assets/{chunk-6764PJDD-C7xxk063.js → chunk-VE5CLXGZ-C1vB7wpY.js} +1 -1
  656. package/web/assets/{chunk-RG4AUYOV-ZNgyLFq6.js → chunk-VJFVEZTB-CX66F2ep.js} +3 -3
  657. package/web/assets/chunk-VY5UBI4V-yxPQAWxw.js +1 -0
  658. package/web/assets/chunk-WJBAP47W-BckNkuEN.js +1 -0
  659. package/web/assets/chunk-XNMVGMAZ-Cg_LnPtj.js +1 -0
  660. package/web/assets/classDiagram-VPOSVPXH-BjOiXA_C.js +1 -0
  661. package/web/assets/classDiagram-v2-5VFNUXQA-BjOiXA_C.js +1 -0
  662. package/web/assets/{cose-bilkent-UX7MHV2Q-BmnZ7Mvj.js → cose-bilkent-RZA4XIPR-BHpK4Crp.js} +1 -1
  663. package/web/assets/cynefin-VYW2F7L2-2VAHYKR6-DAsF6GZv.js +1 -0
  664. package/web/assets/cynefinDiagram-TR7LZUCG-C3Iar9lZ.js +62 -0
  665. package/web/assets/dagre-K64A6Z3X-CUwi79mA.js +4 -0
  666. package/web/assets/diagram-2TLGJV2N-C2F5Nfym.js +30 -0
  667. package/web/assets/diagram-JCD7PQ7C-DC5-9FRr.js +24 -0
  668. package/web/assets/{diagram-HNR7UZ2L-DVRltWbL.js → diagram-KFBZAVDW-Dfmf_4ti.js} +3 -3
  669. package/web/assets/diagram-L7DVE3PN-GIRyVUtt.js +41 -0
  670. package/web/assets/diagram-YP3FGXHI-CyNFYtkd.js +24 -0
  671. package/web/assets/ebnfDiagram-DRHRQJWO-D8_CI4ZF.js +1 -0
  672. package/web/assets/erDiagram-SZLJLQMB-CohQjznC.js +85 -0
  673. package/web/assets/error-D9MtuG9s.js +1 -0
  674. package/web/assets/eventmodeling-45OFAUF4-AOUJWSLX-BvTc6iQi.js +1 -0
  675. package/web/assets/flowDiagram-BWE6NHOH-B6RnEvD9.js +1 -0
  676. package/web/assets/ganttDiagram-2QTCJSNI-Cks_mEcF.js +292 -0
  677. package/web/assets/gitGraph-TEB2WS4Q-U5VWYIBC-Dy7CCSZ5.js +1 -0
  678. package/web/assets/gitGraphDiagram-VVZAVV5G-CG41cIVc.js +106 -0
  679. package/web/assets/{index-D7mTFcvQ.js → index-2zdvEdzg.js} +51 -51
  680. package/web/assets/index-CJDpyH-n.css +2 -0
  681. package/web/assets/info-DKCQHKI2-DX6KST54-BLJg1ikX.js +1 -0
  682. package/web/assets/infoDiagram-FY4PZKRE-BJ3vPVwW.js +2 -0
  683. package/web/assets/{ishikawaDiagram-BNXS4ZKH-XpjJRU9h.js → ishikawaDiagram-4JDSWWDM-DmqWtjkl.js} +2 -2
  684. package/web/assets/{journeyDiagram-M6C3CM3L-C6wjooas.js → journeyDiagram-QUS3FAKT-XAzVzrQW.js} +3 -3
  685. package/web/assets/{kanban-definition-75IXJCU3-5_UVY79g.js → kanban-definition-D4L7SQKK-YurRnmYn.js} +6 -6
  686. package/web/assets/katex-C5OPUE3Q-Bnbavtmu.js +257 -0
  687. package/web/assets/{mindmap-definition-2TDM6QVE-8xDLzk2e.js → mindmap-definition-66QP5TD6-ChrWWnil.js} +5 -5
  688. package/web/assets/node.browser-U-KyT5AW.js +1 -0
  689. package/web/assets/packet-7NZHBO7P-5WG45QPS-KUxcuvaA.js +1 -0
  690. package/web/assets/pegDiagram-YKIO5C6U-QGeQLEq2.js +1 -0
  691. package/web/assets/pie-RZYD4A2V-2OCZ2VTD-DPs08kJY.js +1 -0
  692. package/web/assets/pieDiagram-YPY3TKG5-BuT3MYzm.js +39 -0
  693. package/web/assets/{quadrantDiagram-VICAPDV7-DR54jOeR.js → quadrantDiagram-VO5QLCXA-B7098wSc.js} +3 -3
  694. package/web/assets/radar-I7S5WNFK-EPLSA35B-w5F0K3a7.js +1 -0
  695. package/web/assets/railroad-3IZDKUUU-PWFQV6Y6-Bu668yqY.js +1 -0
  696. package/web/assets/railroad-abnf-AHOZXSZD-JYYJX3BS-B6ghpETS.js +1 -0
  697. package/web/assets/railroad-ebnf-EBAXGLYW-RBZ4ONAP-D-XmHh3M.js +1 -0
  698. package/web/assets/railroad-peg-LSFZ7HO6-KHNPXGPG-mhkrhzEn.js +1 -0
  699. package/web/assets/railroadDiagram-M77LTMSB-AXu4vxk_.js +1 -0
  700. package/web/assets/{requirementDiagram-JXO7QTGE-PEkg7sKC.js → requirementDiagram-RASO5HTO-B-l8InpK.js} +4 -4
  701. package/web/assets/{sankeyDiagram-URQDO5SZ-DDWEtjcs.js → sankeyDiagram-F32LOJ6L-Kd7zjJgX.js} +3 -3
  702. package/web/assets/{sequenceDiagram-VS2MUI6T-Bv-uwANx.js → sequenceDiagram-URATNSBD-BlcdY9DS.js} +7 -7
  703. package/web/assets/sizeCapture-5GORAGP4-BEqQzsxs.js +1 -0
  704. package/web/assets/src-C5sx_gMp.js +1 -0
  705. package/web/assets/stateDiagram-DODFXNG5-DTdHc-fF.js +1 -0
  706. package/web/assets/stateDiagram-v2-JNMM5JRA-DioNLDDo.js +1 -0
  707. package/web/assets/swimlanes-OSWOYLSK-CA0ofdwY.js +2 -0
  708. package/web/assets/swimlanesDiagram-RHGX2RDE-PkwUdckC.js +8 -0
  709. package/web/assets/{timeline-definition-O6YCAMPW-Qmsuo7qS.js → timeline-definition-WJXWRH4I-DUfp1R3E.js} +3 -3
  710. package/web/assets/treeView-QDETBFTQ-EHYTSQNO-C5lpBgPm.js +1 -0
  711. package/web/assets/treemap-6X3UGDF4-CCWCF7EK-BB0ZyO-B.js +1 -0
  712. package/web/assets/vennDiagram-K3VCMQLI-Bj-FN-XS.js +34 -0
  713. package/web/assets/wardley-OPB4EBWU-6OWERDVT-CEA3Nq0j.js +1 -0
  714. package/web/assets/wardleyDiagram-XK6FUAWV-CVV0dHFr.js +78 -0
  715. package/web/assets/xychartDiagram-5VRUVLCW-CK_rbSWE.js +7 -0
  716. package/web/index.html +16 -15
  717. package/dist/core/ingestion/languages/python/index-stats.d.ts +0 -18
  718. package/dist/core/ingestion/languages/python/index-stats.js +0 -25
  719. package/web/assets/ProcessFlowModal-CwkpVkv-.js +0 -22
  720. package/web/assets/agent-Ds-lkZjX.js +0 -626
  721. package/web/assets/architecture-7EHR7CIX-6QZW5X65-BVWFvYz2.js +0 -1
  722. package/web/assets/architectureDiagram-UL44E2DR-CmG3uPWf.js +0 -36
  723. package/web/assets/chunk-2T2R6R2M-Bb6Sy3_j.js +0 -4
  724. package/web/assets/chunk-2UTLFMKG-CXlhF3Pt.js +0 -1
  725. package/web/assets/chunk-3SSMPTDK-rPsRM1x0.js +0 -321
  726. package/web/assets/chunk-4R4BOZG6-Be_F0JoX.js +0 -159
  727. package/web/assets/chunk-67TQ5CYL-CA7OhIEf.js +0 -124
  728. package/web/assets/chunk-7J6CGLKN-BlKwgXKs.js +0 -10
  729. package/web/assets/chunk-C62D2QBJ-3gdL8EKc.js +0 -1
  730. package/web/assets/chunk-CEXFNPSA-CjwtMDkc.js +0 -1
  731. package/web/assets/chunk-J5EP6P6S-L19oz55R.js +0 -1
  732. package/web/assets/chunk-KGFNY3KK-BZeP-55u.js +0 -62
  733. package/web/assets/chunk-KGYTTC2M-zm6n242I.js +0 -1
  734. package/web/assets/chunk-KNLZD3CH-BGlP6X9R.js +0 -1
  735. package/web/assets/chunk-LRIF4GLE-n59lhprL.js +0 -1
  736. package/web/assets/chunk-RERM46MO-B5dAdWpP.js +0 -1
  737. package/web/assets/chunk-RKZBBQEN-MyIQbGgD.js +0 -1
  738. package/web/assets/chunk-T2UQINTJ-BEyXhZWe.js +0 -1
  739. package/web/assets/chunk-UP6H54XL-BG-n7qDp.js +0 -1
  740. package/web/assets/chunk-UXSXWOXI-CW1_r5cS.js +0 -1
  741. package/web/assets/chunk-UY5QBCOK-ByqTVLvh.js +0 -1
  742. package/web/assets/chunk-VU6ZFW4Y-BLeasdkU.js +0 -2
  743. package/web/assets/classDiagram-KGZ6W3CR-olpO3fMe.js +0 -1
  744. package/web/assets/classDiagram-v2-72OJOZXJ-olpO3fMe.js +0 -1
  745. package/web/assets/dagre-ND4H6XIP-CY4iIF7v.js +0 -4
  746. package/web/assets/diagram-3NCE3AQN-CO6QpzEE.js +0 -43
  747. package/web/assets/diagram-GF46GFSD-B2atbzmU.js +0 -24
  748. package/web/assets/diagram-QXG6HAR7-DR6AHD2h.js +0 -24
  749. package/web/assets/diagram-WEQXMOUZ-DkpoMwTL.js +0 -10
  750. package/web/assets/erDiagram-L5TCEMPS-n8g_90bc.js +0 -85
  751. package/web/assets/eventmodeling-FCH6USID-MREXMVOE-CgFBM7e-.js +0 -1
  752. package/web/assets/flowDiagram-H6V6AXG4-SGMDiCkB.js +0 -162
  753. package/web/assets/ganttDiagram-JCBTUEKG-Cb3UBqRS.js +0 -292
  754. package/web/assets/gitGraph-WXDBUCRP-R675I2BI-DCJv7SII.js +0 -1
  755. package/web/assets/gitGraphDiagram-S2ZK5IYY-Bs9CR7tq.js +0 -106
  756. package/web/assets/index-CX_fADmQ.css +0 -2
  757. package/web/assets/info-J43DQDTF-KCYPFFUO-BfNy-9Nd.js +0 -1
  758. package/web/assets/infoDiagram-3YFTVSEB-T368on4D.js +0 -2
  759. package/web/assets/katex-K3KEBU37-qRQBy-EZ.js +0 -261
  760. package/web/assets/node-Ct_zna8U.js +0 -8
  761. package/web/assets/packet-YPE3B663-LP52Z2RK-D4qkeG9k.js +0 -1
  762. package/web/assets/pie-LRSECV5Y-TCRJHUBD-B_yMKyQa.js +0 -1
  763. package/web/assets/pieDiagram-CU6KROY3-Bv4LpAbr.js +0 -30
  764. package/web/assets/radar-GUYGQ44K-RDLRG3WG-DeD6yN_0.js +0 -1
  765. package/web/assets/sdk-CzHHH8tD.js +0 -37
  766. package/web/assets/src-Cv1eWg0o.js +0 -1
  767. package/web/assets/stateDiagram-7D4R322I-DVNjmkEq.js +0 -1
  768. package/web/assets/stateDiagram-v2-36443NZ5-CyN4Fh7_.js +0 -1
  769. package/web/assets/treeView-BLDUP644-QA4HXRO3-CDuSYnd4.js +0 -1
  770. package/web/assets/treemap-LRROVOQU-LLAWBHMP-imazucyJ.js +0 -1
  771. package/web/assets/vennDiagram-MWXL3ELB-BD1iK1SX.js +0 -34
  772. package/web/assets/wardley-L42UT6IY-5TKZOOLJ-DqrT9tB8.js +0 -1
  773. package/web/assets/wardleyDiagram-CUQ6CDDI-D6TzLVob.js +0 -78
  774. package/web/assets/xychartDiagram-N2JHSOCM-CoZ_Tits.js +0 -7
  775. /package/web/assets/{chunk-7W6UQGC5-pyKGssV3.js → chunk-LIEV3EAG-pyKGssV3.js} +0 -0
@@ -53,18 +53,23 @@ const JS_GRAMMAR = JS;
53
53
  function isJsxFile(filePath) {
54
54
  return filePath.endsWith('.jsx');
55
55
  }
56
- const JAVASCRIPT_SCOPE_QUERY = `
56
+ export const JAVASCRIPT_SCOPE_QUERY = `
57
57
  ;; Scopes — module / class-likes / function-likes
58
58
  (program) @scope.module
59
59
 
60
60
  (class_declaration) @scope.class
61
61
  (class) @scope.class
62
62
 
63
- (function_declaration) @scope.function
64
- (generator_function_declaration) @scope.function
65
- (function_expression) @scope.function
63
+ ;; \`@receiver-owner.this\` — see the matching block in typescript/query.ts
64
+ ;; (#2701). Every function form except \`arrow_function\` binds its own \`this\`.
65
+ (function_declaration) @scope.function @receiver-owner.this
66
+ (generator_function_declaration) @scope.function @receiver-owner.this
67
+ (function_expression) @scope.function @receiver-owner.this
68
+ ;; \`function*(){}\` as an EXPRESSION. Absent from this list before #2701, so it
69
+ ;; was not a scope at all and \`this\` inside one read as the enclosing method's.
70
+ (generator_function) @scope.function @receiver-owner.this
66
71
  (arrow_function) @scope.function
67
- (method_definition) @scope.function
72
+ (method_definition) @scope.function @receiver-owner.this
68
73
 
69
74
  ;; Object literals get their own scope boundary -- see the matching
70
75
  ;; comment in typescript/query.ts (#2545/#2551). Prevents a
@@ -73,6 +78,16 @@ const JAVASCRIPT_SCOPE_QUERY = `
73
78
  ;; sibling properties from seeing each other as bare identifiers.
74
79
  (object) @scope.object
75
80
 
81
+ ;; Statement blocks are BINDING scopes (#2699). ECMAScript gives every block its
82
+ ;; own environment record, so \`let\`/\`const\`/\`class\`/\`function\` declared in
83
+ ;; sibling blocks of one function are DIFFERENT bindings — without this the
84
+ ;; resolver sees both as function-level and a call in one branch resolves to
85
+ ;; both. \`tsBindingScopeFor\` already implements the other half of the rule:
86
+ ;; \`var\` hoists past blocks to the enclosing Function/Module, \`let\`/\`const\`
87
+ ;; take the innermost scope, which is now the block.
88
+ (statement_block) @scope.block
89
+
90
+
76
91
  ;; Declarations — classes
77
92
  (class_declaration
78
93
  name: (identifier) @declaration.name) @declaration.class
@@ -85,6 +100,15 @@ const JAVASCRIPT_SCOPE_QUERY = `
85
100
  (field_definition
86
101
  property: (property_identifier) @declaration.name) @declaration.property
87
102
 
103
+ ;; Object-literal keys of a NAMED object (A1/A5) — the scope-resolution half of
104
+ ;; the same rule in TYPESCRIPT/JAVASCRIPT_QUERIES. The parse query mints the
105
+ ;; Property NODE; this mints the DEF the resolver can point a read/write at.
106
+ (variable_declarator
107
+ name: (identifier)
108
+ value: (object
109
+ (pair
110
+ key: (property_identifier) @declaration.name) @declaration.property))
111
+
88
112
  ;; Declarations — free functions
89
113
  (function_declaration
90
114
  name: (identifier) @declaration.name) @declaration.function
@@ -130,6 +154,67 @@ const JAVASCRIPT_SCOPE_QUERY = `
130
154
  name: (identifier) @declaration.name
131
155
  value: (function_expression) @declaration.function))
132
156
 
157
+ ;; CJS property-assignment exports (#2723): \`exports.foo = function () {}\`,
158
+ ;; \`module.exports.foo = (a) => a\`. The graph node for these comes from
159
+ ;; TYPESCRIPT/JAVASCRIPT_QUERIES; this block is the other half — without a
160
+ ;; scope-resolution declaration the node exists but nothing resolves TO it,
161
+ ;; so \`impact\` answered "found, zero callers" on a whole CommonJS API.
162
+ ;;
163
+ ;; The declaration binds the BARE property name into the enclosing (module)
164
+ ;; scope, which is what importers see: \`const { foo } = require('./m')\`
165
+ ;; matches by name, and a namespace \`m.foo()\` walks the module's defs.
166
+ ;;
167
+ ;; Same anchor discipline as the blocks above — \`@declaration.function\` sits
168
+ ;; on the INNER arrow / function_expression so its range matches the
169
+ ;; \`@scope.function\` range.
170
+ ;; The three right-hand-side forms share one pattern via an inner LEAF
171
+ ;; alternation. tree-sitter 0.21.1 has a known hazard where a top-level
172
+ ;; \`[...]\` alternation makes sibling branches share one predicate bucket and
173
+ ;; silently drops matches; an inner leaf alternation whose predicates all sit
174
+ ;; on captures OUTSIDE it (here \`@_cjs.exports\` / \`@_cjs.module\`, both on the
175
+ ;; left-hand side and bound in every branch) is the safe form. Verified by
176
+ ;; probing all six receiver × RHS combinations, not by reading.
177
+ ;;
178
+ ;; \`(generator_function) @scope.function\` is declared near the top of this
179
+ ;; query, so the anchor aligns for that branch too.
180
+ (assignment_expression
181
+ left: (member_expression
182
+ object: (identifier) @_cjs.receiver
183
+ property: (property_identifier) @declaration.name)
184
+ right: [
185
+ (arrow_function)
186
+ (function_expression)
187
+ (generator_function)
188
+ ] @declaration.function)
189
+
190
+ ;; \`this.X = fn\` at MODULE level of a CommonJS file — there \`this\` IS
191
+ ;; \`module.exports\`, so this declares an export. Pruned emit-side for ESM
192
+ ;; files (where top-level \`this\` is undefined) and for a \`this\` inside a
193
+ ;; function, which is an instance member rather than an export.
194
+ (assignment_expression
195
+ left: (member_expression
196
+ object: (this)
197
+ property: (property_identifier) @declaration.name)
198
+ right: [
199
+ (arrow_function)
200
+ (function_expression)
201
+ (generator_function)
202
+ ] @declaration.function)
203
+
204
+ (assignment_expression
205
+ left: (member_expression
206
+ object: (member_expression
207
+ object: (identifier) @_cjs.module
208
+ property: (property_identifier) @_cjs.exports)
209
+ property: (property_identifier) @declaration.name)
210
+ right: [
211
+ (arrow_function)
212
+ (function_expression)
213
+ (generator_function)
214
+ ] @declaration.function
215
+ (#eq? @_cjs.module "module")
216
+ (#eq? @_cjs.exports "exports"))
217
+
133
218
  ;; Object-property arrows / function expressions named by their pair key.
134
219
  ;; Same anchor discipline as the lexical_declaration block above: the
135
220
  ;; @declaration.function capture must sit on the INNER arrow/fn-expression.
@@ -347,6 +432,34 @@ const JAVASCRIPT_SCOPE_QUERY = `
347
432
  value: (new_expression
348
433
  constructor: (member_expression) @type-binding.type)) @type-binding.constructor
349
434
 
435
+ ;; Class field initializer: \`class C { p = new Outer(); }\` (#2807).
436
+ ;; JavaScript has no field annotations at all, so a class field's type can only
437
+ ;; ever come from its initializer — without this pattern \`this.p.inner()\` had
438
+ ;; nothing to type the receiver with and the receiver fold declined the whole
439
+ ;; chain. \`synthesizeConstructorFieldBindings\` in captures.ts already covers the
440
+ ;; sibling shape (\`this.p = new Outer()\`), but only inside a \`constructor\`
441
+ ;; body, so a field initialized at its declaration matched nothing.
442
+ ;;
443
+ ;; Anchored on \`field_definition\` so the binding lands in the class body scope,
444
+ ;; where \`typeOfMemberOnClass\` reads it — the same anchoring TypeScript uses for
445
+ ;; \`public_field_definition\`. Note the JS grammar names the field \`property:\`,
446
+ ;; not \`name:\`.
447
+ (field_definition
448
+ property: (property_identifier) @type-binding.name
449
+ value: (new_expression
450
+ constructor: (identifier) @type-binding.type)) @type-binding.constructor
451
+
452
+ (field_definition
453
+ property: (property_identifier) @type-binding.name
454
+ value: (new_expression
455
+ constructor: (member_expression) @type-binding.type)) @type-binding.constructor
456
+
457
+ ;; Private-name field: \`#p = new Outer()\`.
458
+ (field_definition
459
+ property: (private_property_identifier) @type-binding.name
460
+ value: (new_expression
461
+ constructor: (identifier) @type-binding.type)) @type-binding.constructor
462
+
350
463
  ;; Call-result alias: const u = getUser()
351
464
  (variable_declarator
352
465
  name: (identifier) @type-binding.name
@@ -478,6 +591,99 @@ const JAVASCRIPT_SCOPE_QUERY = `
478
591
 
479
592
  (object
480
593
  (shorthand_property_identifier) @reference.name @reference.property-key @reference.value-ref)
594
+
595
+ ;; Bare-identifier reads (A2). VALUE POSITIONS ONLY — a blanket
596
+ ;; \`(identifier)\` rule would mint a site for every token in the file.
597
+ (arguments
598
+ (identifier) @reference.name @reference.read.identifier)
599
+
600
+ (assignment_pattern
601
+ right: (identifier) @reference.name @reference.read.identifier)
602
+
603
+ (return_statement
604
+ (identifier) @reference.name @reference.read.identifier)
605
+
606
+ ;; \`const next = LIMIT\` and \`n > LIMIT\` — both plainly value reads, and both
607
+ ;; named in review as gaps between what A2 claimed and what it matched.
608
+ (variable_declarator
609
+ value: (identifier) @reference.name @reference.read.identifier)
610
+
611
+ (binary_expression
612
+ left: (identifier) @reference.name @reference.read.identifier)
613
+
614
+ (binary_expression
615
+ right: (identifier) @reference.name @reference.read.identifier)
616
+
617
+ ;; Destructured PARAMETER keys (R2-1c). \`function exit({ exitMinAtrMult = 0 })\`
618
+ ;; reads that property off whatever the caller passes, exactly as
619
+ ;; \`cfg.exitMinAtrMult\` would — the field just never appears in a
620
+ ;; member_expression, so the read had no site at all and the function that
621
+ ;; implements the behaviour was missing from "who reads this setting?".
622
+ ;;
623
+ ;; A distinct anchor rather than @reference.read.member: that tag is filtered
624
+ ;; emit-side to matches with a member_expression ancestor (calls and writes
625
+ ;; share its shape), and a destructuring pattern has none, so it would be
626
+ ;; dropped. The \`read.\` head is what maps this to a read kind, so the new tag
627
+ ;; needs no mapping change.
628
+ ;;
629
+ ;; The object_pattern is the receiver. It is anonymous — there is no name to
630
+ ;; type — which is precisely the untyped-receiver case the name-narrowing pass
631
+ ;; exists to serve.
632
+ ;;
633
+ ;; Scoped to formal_parameters deliberately. A destructuring binding elsewhere
634
+ ;; (\`const { x } = require('m')\`) is often an import rather than a field read,
635
+ ;; and minting a property read for it would attribute module bindings to
636
+ ;; unrelated same-named keys.
637
+ (formal_parameters
638
+ (object_pattern
639
+ (shorthand_property_identifier_pattern) @reference.name
640
+ @reference.read.destructured) @reference.receiver)
641
+
642
+ (formal_parameters
643
+ (object_pattern
644
+ (object_assignment_pattern
645
+ left: (shorthand_property_identifier_pattern) @reference.name
646
+ @reference.read.destructured)) @reference.receiver)
647
+
648
+ (formal_parameters
649
+ (object_pattern
650
+ (pair_pattern
651
+ key: (property_identifier) @reference.name
652
+ @reference.read.destructured)) @reference.receiver)
653
+
654
+ ;; Object-literal keys in RECORD CONSTRUCTION position (R2-1b). Building
655
+ ;; \`{ exitContract: { exitMinAtrMult: settings.x } }\` SETS that field, so this
656
+ ;; is the write counterpart to the destructured read above — without it
657
+ ;; "who reads this setting?" answers well and "who SETS it?" misses the code
658
+ ;; that stamps the value.
659
+ ;;
660
+ ;; A WRITE REFERENCE, deliberately not a definition. The round-1 rule already
661
+ ;; mints Property nodes for literals bound to a variable; minting more for
662
+ ;; anonymous records would add same-named competitors to the very name-narrowing
663
+ ;; that makes these reads resolvable — measured at 26 competing definitions for
664
+ ;; one field on the reporting repo. A construction site is a USE of a field, not
665
+ ;; another declaration of it.
666
+ ;;
667
+ ;; Two positions only: nested under a key, and returned. Both are records with a
668
+ ;; name attached (the key, or the function). An inline call argument
669
+ ;; (\`doThing({ id: 1 })\`) stays excluded for the same reason round 1 excluded
670
+ ;; it from definitions — it is call-site data, not a named surface.
671
+ ;;
672
+ ;; The enclosing literal is the receiver, and it is anonymous, which routes
673
+ ;; these through the same narrowing and the same refusal-to-guess as every other
674
+ ;; untyped receiver.
675
+ (pair
676
+ value: (object
677
+ (pair
678
+ key: (property_identifier) @reference.name
679
+ @reference.write.property-key) @_r2b.nested) @reference.receiver)
680
+
681
+ (return_statement
682
+ (object
683
+ (pair
684
+ key: (property_identifier) @reference.name
685
+ @reference.write.property-key) @_r2b.returned) @reference.receiver)
686
+
481
687
  `;
482
688
  /** JSX-only suffix — appended when compiling against the JSX grammar for .jsx files. */
483
689
  const JSX_QUERY_SUFFIX = `
@@ -39,11 +39,23 @@ import { javascriptProvider } from '../typescript.js';
39
39
  import { jsMergeBindings } from './merge-bindings.js';
40
40
  import { jsArityCompatibility } from './arity.js';
41
41
  import { makeJsResolveImportTarget } from './import-target.js';
42
+ import { loadTsconfigIndex } from '../typescript/tsconfig.js';
43
+ import { loadNodeWorkspacePackages } from '../../import-resolvers/node-workspace-packages.js';
42
44
  const javascriptScopeResolver = {
45
+ // Construction is keyword-prefixed: `new Service(db).doWork()` (#2708).
46
+ constructionSyntax: { keyword: 'new' },
43
47
  language: SupportedLanguages.JavaScript,
44
48
  languageProvider: javascriptProvider,
45
49
  importEdgeReason: 'javascript-scope: import',
46
50
  resolveImportTarget: makeJsResolveImportTarget(),
51
+ // JavaScript resolution reads the same declared inputs TypeScript does —
52
+ // `jsconfig.json` is a tsconfig by another name, and `package.json` is shared
53
+ // outright. Without them a bare specifier used to fall through to suffix
54
+ // matching (#2953); now it simply does not resolve.
55
+ loadResolutionConfig: async (repoPath) => ({
56
+ tsconfigs: await loadTsconfigIndex(repoPath),
57
+ nodeWorkspacePackages: await loadNodeWorkspacePackages(repoPath),
58
+ }),
47
59
  // JavaScript LEGB — same tier ordering as TypeScript; no declaration-
48
60
  // merging across type/value/namespace spaces.
49
61
  mergeBindings: (existing, incoming) => [...jsMergeBindings([...existing, ...incoming])],
@@ -16,7 +16,8 @@
16
16
  * prevents language-specific logic from leaking into shared TypeScript
17
17
  * infrastructure (DoD.md §2.2).
18
18
  */
19
- import { tsBindingScopeFor, walkToScope } from '../typescript/simple-hooks.js';
19
+ import { walkToScope } from '../../utils/scope-tree-walk.js';
20
+ import { tsBindingScopeFor } from '../typescript/simple-hooks.js';
20
21
  export { tsImportOwningScope as jsImportOwningScope, tsReceiverBinding as jsReceiverBinding, } from '../typescript/simple-hooks.js';
21
22
  /**
22
23
  * Like `tsBindingScopeFor` but additionally hoists
@@ -1,6 +1,17 @@
1
1
  import { logger } from '../../../logger.js';
2
2
  import { isClassLike } from '../../scope-resolution/scope/walkers.js';
3
+ /** Packages larger than this get no implicit sibling visibility at all — every
4
+ * file in them is marked incomplete. `GITNEXUS_MAX_INJECTED_SIBLINGS` bounds
5
+ * injection *within* a package and does not lift this skip. */
3
6
  const MAX_PACKAGE_FILES = 500;
7
+ const DEFAULT_MAX_INJECTED_SIBLINGS = 200;
8
+ function getMaxInjectedSiblings() {
9
+ const raw = process.env.GITNEXUS_MAX_INJECTED_SIBLINGS;
10
+ if (raw === undefined || raw === '')
11
+ return DEFAULT_MAX_INJECTED_SIBLINGS;
12
+ const parsed = Number(raw);
13
+ return Number.isInteger(parsed) && parsed >= 0 ? parsed : DEFAULT_MAX_INJECTED_SIBLINGS;
14
+ }
4
15
  export function createJvmPackageSiblingVisibility(options) {
5
16
  const incompleteFiles = new Set();
6
17
  function populateNamespaceSiblings(parsedFiles, indexes, ctx) {
@@ -40,6 +51,8 @@ export function createJvmPackageSiblingVisibility(options) {
40
51
  logger.warn(`[${options.languageLabel}-package-siblings] ${unknownPackageFiles.size} file(s) lacked reliable package facts; wildcard attribution disabled for this language workspace`);
41
52
  }
42
53
  const augmentations = indexes.bindingAugmentations;
54
+ const maxInjectedSiblings = getMaxInjectedSiblings();
55
+ let truncatedFiles = 0;
43
56
  for (const bucket of buckets.values()) {
44
57
  if (bucket.moduleScopes.length < 2)
45
58
  continue;
@@ -60,25 +73,53 @@ export function createJvmPackageSiblingVisibility(options) {
60
73
  classDefs.push({ def, filePath: parsed.filePath });
61
74
  }
62
75
  }
76
+ // Per-bucket lookups: the per-file loop below is O(files²) over these,
77
+ // so split each path into segments once here instead of re-splitting it
78
+ // on every pairwise proximity comparison, and address siblings by path
79
+ // so a truncated scope can merge its bounded set without rescanning the
80
+ // whole package.
81
+ const segmentsByPath = new Map();
82
+ const moduleScopeByPath = new Map();
83
+ const parsedByPath = new Map();
84
+ for (const parsed of bucket.parsed) {
85
+ segmentsByPath.set(parsed.filePath, pathSegments(parsed.filePath));
86
+ parsedByPath.set(parsed.filePath, parsed);
87
+ }
88
+ for (const sibling of bucket.moduleScopes)
89
+ moduleScopeByPath.set(sibling.filePath, sibling);
90
+ const allSiblingPaths = [...parsedByPath.keys()];
63
91
  for (const { filePath, scope } of bucket.moduleScopes) {
64
92
  let scopeAug = augmentations.get(scope.id);
65
93
  if (scopeAug === undefined) {
66
94
  scopeAug = new Map();
67
95
  augmentations.set(scope.id, scopeAug);
68
96
  }
97
+ const ownSegments = segmentsByPath.get(filePath) ?? pathSegments(filePath);
69
98
  const proximityCache = new Map();
70
99
  const candidates = classDefs.filter((candidate) => candidate.filePath !== filePath);
71
100
  for (const candidate of candidates) {
72
101
  if (!proximityCache.has(candidate.filePath)) {
73
- proximityCache.set(candidate.filePath, sharedSegmentCount(candidate.filePath, filePath));
102
+ proximityCache.set(candidate.filePath, sharedSegmentCount(segmentsByPath.get(candidate.filePath) ?? [], ownSegments));
74
103
  }
75
104
  }
105
+ // Nearest-first by shared path prefix. Ties (the common case in a flat
106
+ // package, where every sibling shares the same directory) keep the
107
+ // walker's traversal order, so the retained set is deterministic but
108
+ // arbitrary among equally-near candidates — which is why truncation
109
+ // marks the file incomplete below rather than being treated as exact.
76
110
  candidates.sort((a, b) => (proximityCache.get(b.filePath) ?? 0) - (proximityCache.get(a.filePath) ?? 0));
77
111
  const injectedIds = new Set();
78
- for (const { def } of candidates) {
112
+ const injectedPaths = new Set();
113
+ let truncated = false;
114
+ for (const { def, filePath: defPath } of candidates) {
79
115
  if (injectedIds.has(def.nodeId) || def.qualifiedName === undefined)
80
116
  continue;
117
+ if (maxInjectedSiblings > 0 && injectedIds.size >= maxInjectedSiblings) {
118
+ truncated = true;
119
+ break;
120
+ }
81
121
  injectedIds.add(def.nodeId);
122
+ injectedPaths.add(defPath);
82
123
  const simpleName = def.qualifiedName.includes('.')
83
124
  ? def.qualifiedName.slice(def.qualifiedName.lastIndexOf('.') + 1)
84
125
  : def.qualifiedName;
@@ -87,17 +128,40 @@ export function createJvmPackageSiblingVisibility(options) {
87
128
  scopeAug.set(simpleName, bindings);
88
129
  bindings.push({ def, origin: 'namespace' });
89
130
  }
131
+ if (truncated) {
132
+ // Sibling visibility for this file is now partial, and downstream
133
+ // Spring attribution treats a complete flag as "this package's names
134
+ // are fully known". Marking it incomplete keeps wildcard attribution
135
+ // conservative instead of silently resolving against a truncated set.
136
+ incompleteFiles.add(filePath);
137
+ truncatedFiles++;
138
+ }
139
+ // Keep the two halves of "what this file can see" in agreement: when
140
+ // the cap truncated the binding set, merge type bindings from the same
141
+ // bounded sibling set only — and iterate that set directly, so the cap
142
+ // bounds the merge work too instead of just filtering a full scan. An
143
+ // untruncated scope merges every sibling as before, including ones that
144
+ // contribute no class-like def.
90
145
  const typeBindings = scope.typeBindings;
91
- for (const sibling of bucket.moduleScopes) {
92
- if (sibling.filePath === filePath)
146
+ const mergePaths = truncated ? injectedPaths : allSiblingPaths;
147
+ // Module scopes first, then class scopes: module-level bindings win on
148
+ // a name collision, which the two-pass order (not file order) encodes.
149
+ for (const siblingPath of mergePaths) {
150
+ if (siblingPath === filePath)
151
+ continue;
152
+ const sibling = moduleScopeByPath.get(siblingPath);
153
+ if (sibling === undefined)
93
154
  continue;
94
155
  for (const [name, ref] of sibling.scope.typeBindings) {
95
156
  if (!typeBindings.has(name))
96
157
  typeBindings.set(name, ref);
97
158
  }
98
159
  }
99
- for (const sibling of bucket.parsed) {
100
- if (sibling.filePath === filePath)
160
+ for (const siblingPath of mergePaths) {
161
+ if (siblingPath === filePath)
162
+ continue;
163
+ const sibling = parsedByPath.get(siblingPath);
164
+ if (sibling === undefined)
101
165
  continue;
102
166
  for (const siblingScope of sibling.scopes) {
103
167
  if (siblingScope.kind !== 'Class')
@@ -110,15 +174,19 @@ export function createJvmPackageSiblingVisibility(options) {
110
174
  }
111
175
  }
112
176
  }
177
+ if (truncatedFiles > 0) {
178
+ 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 GITNEXUS_MAX_INJECTED_SIBLINGS to widen, 0 for unbounded)`);
179
+ }
113
180
  }
114
181
  return {
115
182
  populateNamespaceSiblings,
116
183
  isVisibilityIncomplete: (filePath) => incompleteFiles.has(filePath),
117
184
  };
118
185
  }
119
- function sharedSegmentCount(a, b) {
120
- const aSegments = a.replace(/\\/g, '/').split('/');
121
- const bSegments = b.replace(/\\/g, '/').split('/');
186
+ function pathSegments(filePath) {
187
+ return filePath.replace(/\\/g, '/').split('/');
188
+ }
189
+ function sharedSegmentCount(aSegments, bSegments) {
122
190
  let index = 0;
123
191
  while (index < aSegments.length &&
124
192
  index < bSegments.length &&
@@ -39,7 +39,10 @@
39
39
  import type { ParsedFile, ScopeId } from '../../../../_shared/index.js';
40
40
  import { type ClassAnnotationFact } from '../../frameworks/spring/bean-candidates.js';
41
41
  import { type JvmPackageFact } from '../jvm/package-facts.js';
42
+ import type { KotlinSpringAopFact } from './spring-aop.js';
43
+ import type { KotlinSpringConditionalFact } from './spring-conditionals.js';
42
44
  import type { KotlinSpringDiClassFact } from './spring-di.js';
45
+ import type { KotlinSpringNonHttpHandlerFact } from './spring-non-http-handlers.js';
43
46
  /**
44
47
  * Plain JSON-serializable snapshot of the per-file Kotlin capture-time
45
48
  * side-channel. Carried opaquely on `ParsedFile.captureSideChannel`. The
@@ -54,14 +57,26 @@ export interface KotlinCaptureSideChannel {
54
57
  readonly packageFact: JvmPackageFact;
55
58
  /** Class annotation syntax collected by the existing scope traversal. */
56
59
  readonly classAnnotations: readonly ClassAnnotationFact[];
60
+ /** Spring proxy/advice syntax captured per class or callable owner. */
61
+ readonly springAopFacts?: readonly KotlinSpringAopFact[];
62
+ /** Profile, conditional, and auto-configuration syntax captured per owner. */
63
+ readonly springConditionalFacts?: readonly KotlinSpringConditionalFact[];
57
64
  /** Constructor, property, and method injection syntax captured per class. */
58
65
  readonly springDiFacts?: readonly KotlinSpringDiClassFact[];
66
+ /** Scheduled, event, messaging, and managed-job handler syntax captured per callable. */
67
+ readonly springNonHttpHandlerFacts?: readonly KotlinSpringNonHttpHandlerFact[];
59
68
  }
60
69
  export declare function clearKotlinClassAnnotationFacts(): void;
70
+ export declare function setKotlinSpringAopFacts(filePath: string, facts: readonly KotlinSpringAopFact[]): void;
71
+ export declare function getKotlinSpringAopFacts(filePath: string): readonly KotlinSpringAopFact[];
61
72
  export declare function setKotlinClassAnnotationFacts(filePath: string, facts: readonly ClassAnnotationFact[]): void;
62
73
  export declare function getKotlinClassAnnotationFacts(filePath: string): readonly ClassAnnotationFact[];
74
+ export declare function setKotlinSpringConditionalFacts(filePath: string, facts: readonly KotlinSpringConditionalFact[]): void;
75
+ export declare function getKotlinSpringConditionalFacts(filePath: string): readonly KotlinSpringConditionalFact[];
63
76
  export declare function setKotlinSpringDiFacts(filePath: string, facts: readonly KotlinSpringDiClassFact[]): void;
64
77
  export declare function getKotlinSpringDiFacts(filePath: string): readonly KotlinSpringDiClassFact[];
78
+ export declare function setKotlinSpringNonHttpHandlerFacts(filePath: string, facts: readonly KotlinSpringNonHttpHandlerFact[]): void;
79
+ export declare function getKotlinSpringNonHttpHandlerFacts(filePath: string): readonly KotlinSpringNonHttpHandlerFact[];
65
80
  /**
66
81
  * `LanguageProvider.collectCaptureSideChannel` implementation for Kotlin.
67
82
  * Returns `undefined` when this file recorded no side-channel state at all, so
@@ -41,10 +41,25 @@ import { isJvmPackageFact, UNKNOWN_JVM_PACKAGE_FACT, } from '../jvm/package-fact
41
41
  import { getCompanionScopesForFile, markCompanionScope } from './companion-scopes.js';
42
42
  import { getKotlinPackageFact, setKotlinPackageFact } from './package-facts.js';
43
43
  const classAnnotations = createClassAnnotationFactStore();
44
+ const springAopFacts = new Map();
45
+ const springConditionalFacts = new Map();
44
46
  const springDiFacts = new Map();
47
+ const springNonHttpHandlerFacts = new Map();
45
48
  export function clearKotlinClassAnnotationFacts() {
46
49
  classAnnotations.clear();
50
+ springAopFacts.clear();
51
+ springConditionalFacts.clear();
47
52
  springDiFacts.clear();
53
+ springNonHttpHandlerFacts.clear();
54
+ }
55
+ export function setKotlinSpringAopFacts(filePath, facts) {
56
+ if (facts.length === 0)
57
+ springAopFacts.delete(filePath);
58
+ else
59
+ springAopFacts.set(filePath, facts);
60
+ }
61
+ export function getKotlinSpringAopFacts(filePath) {
62
+ return springAopFacts.get(filePath) ?? [];
48
63
  }
49
64
  export function setKotlinClassAnnotationFacts(filePath, facts) {
50
65
  classAnnotations.set(filePath, facts);
@@ -52,6 +67,15 @@ export function setKotlinClassAnnotationFacts(filePath, facts) {
52
67
  export function getKotlinClassAnnotationFacts(filePath) {
53
68
  return classAnnotations.get(filePath);
54
69
  }
70
+ export function setKotlinSpringConditionalFacts(filePath, facts) {
71
+ if (facts.length === 0)
72
+ springConditionalFacts.delete(filePath);
73
+ else
74
+ springConditionalFacts.set(filePath, facts);
75
+ }
76
+ export function getKotlinSpringConditionalFacts(filePath) {
77
+ return springConditionalFacts.get(filePath) ?? [];
78
+ }
55
79
  export function setKotlinSpringDiFacts(filePath, facts) {
56
80
  if (facts.length === 0)
57
81
  springDiFacts.delete(filePath);
@@ -61,6 +85,15 @@ export function setKotlinSpringDiFacts(filePath, facts) {
61
85
  export function getKotlinSpringDiFacts(filePath) {
62
86
  return springDiFacts.get(filePath) ?? [];
63
87
  }
88
+ export function setKotlinSpringNonHttpHandlerFacts(filePath, facts) {
89
+ if (facts.length === 0)
90
+ springNonHttpHandlerFacts.delete(filePath);
91
+ else
92
+ springNonHttpHandlerFacts.set(filePath, facts);
93
+ }
94
+ export function getKotlinSpringNonHttpHandlerFacts(filePath) {
95
+ return springNonHttpHandlerFacts.get(filePath) ?? [];
96
+ }
64
97
  /**
65
98
  * `LanguageProvider.collectCaptureSideChannel` implementation for Kotlin.
66
99
  * Returns `undefined` when this file recorded no side-channel state at all, so
@@ -69,11 +102,17 @@ export function getKotlinSpringDiFacts(filePath) {
69
102
  export function collectKotlinCaptureSideChannel(filePath) {
70
103
  const companionScopes = getCompanionScopesForFile(filePath);
71
104
  const annotationFacts = classAnnotations.get(filePath);
105
+ const aopFacts = springAopFacts.get(filePath) ?? [];
106
+ const conditionFacts = springConditionalFacts.get(filePath) ?? [];
72
107
  const diFacts = springDiFacts.get(filePath) ?? [];
108
+ const nonHttpHandlerFacts = springNonHttpHandlerFacts.get(filePath) ?? [];
73
109
  const packageFact = getKotlinPackageFact(filePath);
74
110
  if (companionScopes.length === 0 &&
75
111
  annotationFacts.length === 0 &&
112
+ aopFacts.length === 0 &&
113
+ conditionFacts.length === 0 &&
76
114
  diFacts.length === 0 &&
115
+ nonHttpHandlerFacts.length === 0 &&
77
116
  packageFact === undefined) {
78
117
  return undefined;
79
118
  }
@@ -82,7 +121,10 @@ export function collectKotlinCaptureSideChannel(filePath) {
82
121
  companionScopes,
83
122
  packageFact: packageFact ?? UNKNOWN_JVM_PACKAGE_FACT,
84
123
  classAnnotations: annotationFacts,
124
+ ...(aopFacts.length > 0 ? { springAopFacts: aopFacts } : {}),
125
+ ...(conditionFacts.length > 0 ? { springConditionalFacts: conditionFacts } : {}),
85
126
  ...(diFacts.length > 0 ? { springDiFacts: diFacts } : {}),
127
+ ...(nonHttpHandlerFacts.length > 0 ? { springNonHttpHandlerFacts: nonHttpHandlerFacts } : {}),
86
128
  };
87
129
  }
88
130
  /**
@@ -102,7 +144,10 @@ export function applyKotlinCaptureSideChannel(parsed) {
102
144
  !Array.isArray(data.companionScopes) ||
103
145
  !Array.isArray(data.classAnnotations)) {
104
146
  classAnnotations.set(parsed.filePath, []);
147
+ setKotlinSpringAopFacts(parsed.filePath, []);
148
+ setKotlinSpringConditionalFacts(parsed.filePath, []);
105
149
  setKotlinSpringDiFacts(parsed.filePath, []);
150
+ setKotlinSpringNonHttpHandlerFacts(parsed.filePath, []);
106
151
  setKotlinPackageFact(parsed.filePath, UNKNOWN_JVM_PACKAGE_FACT);
107
152
  return;
108
153
  }
@@ -110,6 +155,9 @@ export function applyKotlinCaptureSideChannel(parsed) {
110
155
  markCompanionScope(parsed.filePath, scopeId);
111
156
  }
112
157
  classAnnotations.set(parsed.filePath, data.classAnnotations);
158
+ setKotlinSpringAopFacts(parsed.filePath, Array.isArray(data.springAopFacts) ? data.springAopFacts : []);
159
+ setKotlinSpringConditionalFacts(parsed.filePath, Array.isArray(data.springConditionalFacts) ? data.springConditionalFacts : []);
113
160
  setKotlinSpringDiFacts(parsed.filePath, Array.isArray(data.springDiFacts) ? data.springDiFacts : []);
161
+ setKotlinSpringNonHttpHandlerFacts(parsed.filePath, Array.isArray(data.springNonHttpHandlerFacts) ? data.springNonHttpHandlerFacts : []);
114
162
  setKotlinPackageFact(parsed.filePath, isJvmPackageFact(data.packageFact) ? data.packageFact : UNKNOWN_JVM_PACKAGE_FACT);
115
163
  }