@grafema/core 0.2.5-beta → 0.2.7

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 (769) hide show
  1. package/README.md +61 -23
  2. package/dist/DiscoveryManager.d.ts +59 -0
  3. package/dist/DiscoveryManager.d.ts.map +1 -0
  4. package/dist/DiscoveryManager.js +249 -0
  5. package/dist/DiscoveryManager.js.map +1 -0
  6. package/dist/GraphInitializer.d.ts +44 -0
  7. package/dist/GraphInitializer.d.ts.map +1 -0
  8. package/dist/GraphInitializer.js +121 -0
  9. package/dist/GraphInitializer.js.map +1 -0
  10. package/dist/GuaranteeChecker.d.ts +35 -0
  11. package/dist/GuaranteeChecker.d.ts.map +1 -0
  12. package/dist/GuaranteeChecker.js +81 -0
  13. package/dist/GuaranteeChecker.js.map +1 -0
  14. package/dist/Orchestrator.d.ts +34 -151
  15. package/dist/Orchestrator.d.ts.map +1 -1
  16. package/dist/Orchestrator.js +173 -741
  17. package/dist/Orchestrator.js.map +1 -1
  18. package/dist/OrchestratorTypes.d.ts +115 -0
  19. package/dist/OrchestratorTypes.d.ts.map +1 -0
  20. package/dist/OrchestratorTypes.js +6 -0
  21. package/dist/OrchestratorTypes.js.map +1 -0
  22. package/dist/ParallelAnalysisRunner.d.ts +43 -0
  23. package/dist/ParallelAnalysisRunner.d.ts.map +1 -0
  24. package/dist/ParallelAnalysisRunner.js +161 -0
  25. package/dist/ParallelAnalysisRunner.js.map +1 -0
  26. package/dist/PhaseRunner.d.ts +94 -0
  27. package/dist/PhaseRunner.d.ts.map +1 -0
  28. package/dist/PhaseRunner.js +332 -0
  29. package/dist/PhaseRunner.js.map +1 -0
  30. package/dist/config/ConfigLoader.d.ts +51 -1
  31. package/dist/config/ConfigLoader.d.ts.map +1 -1
  32. package/dist/config/ConfigLoader.js +121 -1
  33. package/dist/config/ConfigLoader.js.map +1 -1
  34. package/dist/config/index.d.ts +1 -1
  35. package/dist/config/index.d.ts.map +1 -1
  36. package/dist/config/index.js +1 -1
  37. package/dist/config/index.js.map +1 -1
  38. package/dist/core/ASTWorker.d.ts +2 -0
  39. package/dist/core/ASTWorker.d.ts.map +1 -1
  40. package/dist/core/ASTWorker.js +6 -2
  41. package/dist/core/ASTWorker.js.map +1 -1
  42. package/dist/core/FileOverview.d.ts +124 -0
  43. package/dist/core/FileOverview.d.ts.map +1 -0
  44. package/dist/core/FileOverview.js +257 -0
  45. package/dist/core/FileOverview.js.map +1 -0
  46. package/dist/core/GraphFreshnessChecker.d.ts +1 -1
  47. package/dist/core/GraphFreshnessChecker.d.ts.map +1 -1
  48. package/dist/core/GraphFreshnessChecker.js +7 -5
  49. package/dist/core/GraphFreshnessChecker.js.map +1 -1
  50. package/dist/core/GuaranteeManager.d.ts +13 -0
  51. package/dist/core/GuaranteeManager.d.ts.map +1 -1
  52. package/dist/core/GuaranteeManager.js +63 -2
  53. package/dist/core/GuaranteeManager.js.map +1 -1
  54. package/dist/core/IncrementalReanalyzer.d.ts.map +1 -1
  55. package/dist/core/IncrementalReanalyzer.js +6 -3
  56. package/dist/core/IncrementalReanalyzer.js.map +1 -1
  57. package/dist/core/NodeFactory.d.ts +81 -415
  58. package/dist/core/NodeFactory.d.ts.map +1 -1
  59. package/dist/core/NodeFactory.js +139 -336
  60. package/dist/core/NodeFactory.js.map +1 -1
  61. package/dist/core/ResourceRegistry.d.ts +17 -0
  62. package/dist/core/ResourceRegistry.d.ts.map +1 -0
  63. package/dist/core/ResourceRegistry.js +32 -0
  64. package/dist/core/ResourceRegistry.js.map +1 -0
  65. package/dist/core/ScopeTracker.d.ts +12 -0
  66. package/dist/core/ScopeTracker.d.ts.map +1 -1
  67. package/dist/core/ScopeTracker.js +24 -0
  68. package/dist/core/ScopeTracker.js.map +1 -1
  69. package/dist/core/SemanticId.d.ts +69 -0
  70. package/dist/core/SemanticId.d.ts.map +1 -1
  71. package/dist/core/SemanticId.js +134 -0
  72. package/dist/core/SemanticId.js.map +1 -1
  73. package/dist/core/brandNodeInternal.d.ts +14 -0
  74. package/dist/core/brandNodeInternal.d.ts.map +1 -0
  75. package/dist/core/brandNodeInternal.js +4 -0
  76. package/dist/core/brandNodeInternal.js.map +1 -0
  77. package/dist/core/buildDependencyGraph.d.ts +36 -0
  78. package/dist/core/buildDependencyGraph.d.ts.map +1 -0
  79. package/dist/core/buildDependencyGraph.js +78 -0
  80. package/dist/core/buildDependencyGraph.js.map +1 -0
  81. package/dist/core/factories/CoreFactory.d.ts +223 -0
  82. package/dist/core/factories/CoreFactory.d.ts.map +1 -0
  83. package/dist/core/factories/CoreFactory.js +127 -0
  84. package/dist/core/factories/CoreFactory.js.map +1 -0
  85. package/dist/core/factories/DatabaseFactory.d.ts +29 -0
  86. package/dist/core/factories/DatabaseFactory.d.ts.map +1 -0
  87. package/dist/core/factories/DatabaseFactory.js +25 -0
  88. package/dist/core/factories/DatabaseFactory.js.map +1 -0
  89. package/dist/core/factories/ExternalFactory.d.ts +11 -0
  90. package/dist/core/factories/ExternalFactory.d.ts.map +1 -0
  91. package/dist/core/factories/ExternalFactory.js +16 -0
  92. package/dist/core/factories/ExternalFactory.js.map +1 -0
  93. package/dist/core/factories/HttpFactory.d.ts +22 -0
  94. package/dist/core/factories/HttpFactory.d.ts.map +1 -0
  95. package/dist/core/factories/HttpFactory.js +32 -0
  96. package/dist/core/factories/HttpFactory.js.map +1 -0
  97. package/dist/core/factories/ReactFactory.d.ts +14 -0
  98. package/dist/core/factories/ReactFactory.d.ts.map +1 -0
  99. package/dist/core/factories/ReactFactory.js +13 -0
  100. package/dist/core/factories/ReactFactory.js.map +1 -0
  101. package/dist/core/factories/RustFactory.d.ts +62 -0
  102. package/dist/core/factories/RustFactory.d.ts.map +1 -0
  103. package/dist/core/factories/RustFactory.js +32 -0
  104. package/dist/core/factories/RustFactory.js.map +1 -0
  105. package/dist/core/factories/ServiceFactory.d.ts +12 -0
  106. package/dist/core/factories/ServiceFactory.d.ts.map +1 -0
  107. package/dist/core/factories/ServiceFactory.js +22 -0
  108. package/dist/core/factories/ServiceFactory.js.map +1 -0
  109. package/dist/core/factories/SocketFactory.d.ts +31 -0
  110. package/dist/core/factories/SocketFactory.d.ts.map +1 -0
  111. package/dist/core/factories/SocketFactory.js +35 -0
  112. package/dist/core/factories/SocketFactory.js.map +1 -0
  113. package/dist/core/nodes/DatabaseNode.d.ts +85 -0
  114. package/dist/core/nodes/DatabaseNode.d.ts.map +1 -0
  115. package/dist/core/nodes/DatabaseNode.js +118 -0
  116. package/dist/core/nodes/DatabaseNode.js.map +1 -0
  117. package/dist/core/nodes/ExpressMiddlewareNode.d.ts +47 -0
  118. package/dist/core/nodes/ExpressMiddlewareNode.d.ts.map +1 -0
  119. package/dist/core/nodes/ExpressMiddlewareNode.js +63 -0
  120. package/dist/core/nodes/ExpressMiddlewareNode.js.map +1 -0
  121. package/dist/core/nodes/ExpressMountNode.d.ts +44 -0
  122. package/dist/core/nodes/ExpressMountNode.d.ts.map +1 -0
  123. package/dist/core/nodes/ExpressMountNode.js +61 -0
  124. package/dist/core/nodes/ExpressMountNode.js.map +1 -0
  125. package/dist/core/nodes/ExternalApiNode.d.ts +29 -0
  126. package/dist/core/nodes/ExternalApiNode.d.ts.map +1 -0
  127. package/dist/core/nodes/ExternalApiNode.js +41 -0
  128. package/dist/core/nodes/ExternalApiNode.js.map +1 -0
  129. package/dist/core/nodes/ExternalFunctionNode.d.ts +40 -0
  130. package/dist/core/nodes/ExternalFunctionNode.d.ts.map +1 -0
  131. package/dist/core/nodes/ExternalFunctionNode.js +54 -0
  132. package/dist/core/nodes/ExternalFunctionNode.js.map +1 -0
  133. package/dist/core/nodes/FetchRequestNode.d.ts +54 -0
  134. package/dist/core/nodes/FetchRequestNode.d.ts.map +1 -0
  135. package/dist/core/nodes/FetchRequestNode.js +67 -0
  136. package/dist/core/nodes/FetchRequestNode.js.map +1 -0
  137. package/dist/core/nodes/HttpRouteNode.d.ts +58 -0
  138. package/dist/core/nodes/HttpRouteNode.d.ts.map +1 -0
  139. package/dist/core/nodes/HttpRouteNode.js +72 -0
  140. package/dist/core/nodes/HttpRouteNode.js.map +1 -0
  141. package/dist/core/nodes/NodeKind.d.ts +1 -0
  142. package/dist/core/nodes/NodeKind.d.ts.map +1 -1
  143. package/dist/core/nodes/NodeKind.js +1 -0
  144. package/dist/core/nodes/NodeKind.js.map +1 -1
  145. package/dist/core/nodes/ReactNode.d.ts +53 -0
  146. package/dist/core/nodes/ReactNode.d.ts.map +1 -0
  147. package/dist/core/nodes/ReactNode.js +70 -0
  148. package/dist/core/nodes/ReactNode.js.map +1 -0
  149. package/dist/core/nodes/RustCallNode.d.ts +46 -0
  150. package/dist/core/nodes/RustCallNode.d.ts.map +1 -0
  151. package/dist/core/nodes/RustCallNode.js +62 -0
  152. package/dist/core/nodes/RustCallNode.js.map +1 -0
  153. package/dist/core/nodes/RustFunctionNode.d.ts +58 -0
  154. package/dist/core/nodes/RustFunctionNode.d.ts.map +1 -0
  155. package/dist/core/nodes/RustFunctionNode.js +67 -0
  156. package/dist/core/nodes/RustFunctionNode.js.map +1 -0
  157. package/dist/core/nodes/RustImplNode.d.ts +35 -0
  158. package/dist/core/nodes/RustImplNode.d.ts.map +1 -0
  159. package/dist/core/nodes/RustImplNode.js +55 -0
  160. package/dist/core/nodes/RustImplNode.js.map +1 -0
  161. package/dist/core/nodes/RustMethodNode.d.ts +64 -0
  162. package/dist/core/nodes/RustMethodNode.d.ts.map +1 -0
  163. package/dist/core/nodes/RustMethodNode.js +76 -0
  164. package/dist/core/nodes/RustMethodNode.js.map +1 -0
  165. package/dist/core/nodes/RustModuleNode.d.ts +40 -0
  166. package/dist/core/nodes/RustModuleNode.d.ts.map +1 -0
  167. package/dist/core/nodes/RustModuleNode.js +57 -0
  168. package/dist/core/nodes/RustModuleNode.js.map +1 -0
  169. package/dist/core/nodes/RustStructNode.d.ts +38 -0
  170. package/dist/core/nodes/RustStructNode.d.ts.map +1 -0
  171. package/dist/core/nodes/RustStructNode.js +54 -0
  172. package/dist/core/nodes/RustStructNode.js.map +1 -0
  173. package/dist/core/nodes/RustTraitNode.d.ts +40 -0
  174. package/dist/core/nodes/RustTraitNode.d.ts.map +1 -0
  175. package/dist/core/nodes/RustTraitNode.js +52 -0
  176. package/dist/core/nodes/RustTraitNode.js.map +1 -0
  177. package/dist/core/nodes/ServiceLayerNode.d.ts +85 -0
  178. package/dist/core/nodes/ServiceLayerNode.d.ts.map +1 -0
  179. package/dist/core/nodes/ServiceLayerNode.js +122 -0
  180. package/dist/core/nodes/ServiceLayerNode.js.map +1 -0
  181. package/dist/core/nodes/SocketIONode.d.ts +71 -0
  182. package/dist/core/nodes/SocketIONode.d.ts.map +1 -0
  183. package/dist/core/nodes/SocketIONode.js +111 -0
  184. package/dist/core/nodes/SocketIONode.js.map +1 -0
  185. package/dist/core/nodes/SocketNode.d.ts +87 -0
  186. package/dist/core/nodes/SocketNode.d.ts.map +1 -0
  187. package/dist/core/nodes/SocketNode.js +124 -0
  188. package/dist/core/nodes/SocketNode.js.map +1 -0
  189. package/dist/core/nodes/TypeNode.d.ts +26 -1
  190. package/dist/core/nodes/TypeNode.d.ts.map +1 -1
  191. package/dist/core/nodes/TypeNode.js +21 -3
  192. package/dist/core/nodes/TypeNode.js.map +1 -1
  193. package/dist/core/nodes/TypeParameterNode.d.ts +44 -0
  194. package/dist/core/nodes/TypeParameterNode.d.ts.map +1 -0
  195. package/dist/core/nodes/TypeParameterNode.js +64 -0
  196. package/dist/core/nodes/TypeParameterNode.js.map +1 -0
  197. package/dist/core/nodes/index.d.ts +19 -0
  198. package/dist/core/nodes/index.d.ts.map +1 -1
  199. package/dist/core/nodes/index.js +26 -0
  200. package/dist/core/nodes/index.js.map +1 -1
  201. package/dist/index.d.ts +33 -6
  202. package/dist/index.d.ts.map +1 -1
  203. package/dist/index.js +30 -3
  204. package/dist/index.js.map +1 -1
  205. package/dist/plugins/InfraAnalyzer.d.ts +110 -0
  206. package/dist/plugins/InfraAnalyzer.d.ts.map +1 -0
  207. package/dist/plugins/InfraAnalyzer.js +170 -0
  208. package/dist/plugins/InfraAnalyzer.js.map +1 -0
  209. package/dist/plugins/analysis/DatabaseAnalyzer.d.ts.map +1 -1
  210. package/dist/plugins/analysis/DatabaseAnalyzer.js +18 -15
  211. package/dist/plugins/analysis/DatabaseAnalyzer.js.map +1 -1
  212. package/dist/plugins/analysis/ExpressAnalyzer.d.ts.map +1 -1
  213. package/dist/plugins/analysis/ExpressAnalyzer.js +27 -26
  214. package/dist/plugins/analysis/ExpressAnalyzer.js.map +1 -1
  215. package/dist/plugins/analysis/ExpressResponseAnalyzer.d.ts.map +1 -1
  216. package/dist/plugins/analysis/ExpressResponseAnalyzer.js +5 -3
  217. package/dist/plugins/analysis/ExpressResponseAnalyzer.js.map +1 -1
  218. package/dist/plugins/analysis/ExpressRouteAnalyzer.d.ts.map +1 -1
  219. package/dist/plugins/analysis/ExpressRouteAnalyzer.js +36 -39
  220. package/dist/plugins/analysis/ExpressRouteAnalyzer.js.map +1 -1
  221. package/dist/plugins/analysis/FetchAnalyzer.d.ts.map +1 -1
  222. package/dist/plugins/analysis/FetchAnalyzer.js +23 -39
  223. package/dist/plugins/analysis/FetchAnalyzer.js.map +1 -1
  224. package/dist/plugins/analysis/IncrementalAnalysisPlugin.d.ts.map +1 -1
  225. package/dist/plugins/analysis/IncrementalAnalysisPlugin.js +3 -2
  226. package/dist/plugins/analysis/IncrementalAnalysisPlugin.js.map +1 -1
  227. package/dist/plugins/analysis/JSASTAnalyzer.d.ts +23 -85
  228. package/dist/plugins/analysis/JSASTAnalyzer.d.ts.map +1 -1
  229. package/dist/plugins/analysis/JSASTAnalyzer.js +351 -1887
  230. package/dist/plugins/analysis/JSASTAnalyzer.js.map +1 -1
  231. package/dist/plugins/analysis/NestJSRouteAnalyzer.d.ts +28 -0
  232. package/dist/plugins/analysis/NestJSRouteAnalyzer.d.ts.map +1 -0
  233. package/dist/plugins/analysis/NestJSRouteAnalyzer.js +196 -0
  234. package/dist/plugins/analysis/NestJSRouteAnalyzer.js.map +1 -0
  235. package/dist/plugins/analysis/ReactAnalyzer.d.ts +1 -61
  236. package/dist/plugins/analysis/ReactAnalyzer.d.ts.map +1 -1
  237. package/dist/plugins/analysis/ReactAnalyzer.js +24 -915
  238. package/dist/plugins/analysis/ReactAnalyzer.js.map +1 -1
  239. package/dist/plugins/analysis/RustAnalyzer.d.ts.map +1 -1
  240. package/dist/plugins/analysis/RustAnalyzer.js +31 -66
  241. package/dist/plugins/analysis/RustAnalyzer.js.map +1 -1
  242. package/dist/plugins/analysis/SQLiteAnalyzer.d.ts.map +1 -1
  243. package/dist/plugins/analysis/SQLiteAnalyzer.js +13 -6
  244. package/dist/plugins/analysis/SQLiteAnalyzer.js.map +1 -1
  245. package/dist/plugins/analysis/ServiceLayerAnalyzer.d.ts.map +1 -1
  246. package/dist/plugins/analysis/ServiceLayerAnalyzer.js +10 -7
  247. package/dist/plugins/analysis/ServiceLayerAnalyzer.js.map +1 -1
  248. package/dist/plugins/analysis/SocketAnalyzer.d.ts +81 -0
  249. package/dist/plugins/analysis/SocketAnalyzer.d.ts.map +1 -0
  250. package/dist/plugins/analysis/SocketAnalyzer.js +475 -0
  251. package/dist/plugins/analysis/SocketAnalyzer.js.map +1 -0
  252. package/dist/plugins/analysis/SocketIOAnalyzer.d.ts.map +1 -1
  253. package/dist/plugins/analysis/SocketIOAnalyzer.js +13 -18
  254. package/dist/plugins/analysis/SocketIOAnalyzer.js.map +1 -1
  255. package/dist/plugins/analysis/SystemDbAnalyzer.d.ts.map +1 -1
  256. package/dist/plugins/analysis/SystemDbAnalyzer.js +8 -5
  257. package/dist/plugins/analysis/SystemDbAnalyzer.js.map +1 -1
  258. package/dist/plugins/analysis/ast/CollisionResolver.d.ts +65 -0
  259. package/dist/plugins/analysis/ast/CollisionResolver.d.ts.map +1 -0
  260. package/dist/plugins/analysis/ast/CollisionResolver.js +106 -0
  261. package/dist/plugins/analysis/ast/CollisionResolver.js.map +1 -0
  262. package/dist/plugins/analysis/ast/FunctionBodyContext.d.ts +124 -0
  263. package/dist/plugins/analysis/ast/FunctionBodyContext.d.ts.map +1 -0
  264. package/dist/plugins/analysis/ast/FunctionBodyContext.js +151 -0
  265. package/dist/plugins/analysis/ast/FunctionBodyContext.js.map +1 -0
  266. package/dist/plugins/analysis/ast/GraphBuilder.d.ts +26 -261
  267. package/dist/plugins/analysis/ast/GraphBuilder.d.ts.map +1 -1
  268. package/dist/plugins/analysis/ast/GraphBuilder.js +251 -2494
  269. package/dist/plugins/analysis/ast/GraphBuilder.js.map +1 -1
  270. package/dist/plugins/analysis/ast/IdGenerator.d.ts +42 -0
  271. package/dist/plugins/analysis/ast/IdGenerator.d.ts.map +1 -1
  272. package/dist/plugins/analysis/ast/IdGenerator.js +61 -1
  273. package/dist/plugins/analysis/ast/IdGenerator.js.map +1 -1
  274. package/dist/plugins/analysis/ast/builders/AssignmentBuilder.d.ts +15 -0
  275. package/dist/plugins/analysis/ast/builders/AssignmentBuilder.d.ts.map +1 -0
  276. package/dist/plugins/analysis/ast/builders/AssignmentBuilder.js +274 -0
  277. package/dist/plugins/analysis/ast/builders/AssignmentBuilder.js.map +1 -0
  278. package/dist/plugins/analysis/ast/builders/CallFlowBuilder.d.ts +22 -0
  279. package/dist/plugins/analysis/ast/builders/CallFlowBuilder.d.ts.map +1 -0
  280. package/dist/plugins/analysis/ast/builders/CallFlowBuilder.js +178 -0
  281. package/dist/plugins/analysis/ast/builders/CallFlowBuilder.js.map +1 -0
  282. package/dist/plugins/analysis/ast/builders/ControlFlowBuilder.d.ts +76 -0
  283. package/dist/plugins/analysis/ast/builders/ControlFlowBuilder.d.ts.map +1 -0
  284. package/dist/plugins/analysis/ast/builders/ControlFlowBuilder.js +387 -0
  285. package/dist/plugins/analysis/ast/builders/ControlFlowBuilder.js.map +1 -0
  286. package/dist/plugins/analysis/ast/builders/CoreBuilder.d.ts +38 -0
  287. package/dist/plugins/analysis/ast/builders/CoreBuilder.d.ts.map +1 -0
  288. package/dist/plugins/analysis/ast/builders/CoreBuilder.js +240 -0
  289. package/dist/plugins/analysis/ast/builders/CoreBuilder.js.map +1 -0
  290. package/dist/plugins/analysis/ast/builders/ModuleRuntimeBuilder.d.ts +53 -0
  291. package/dist/plugins/analysis/ast/builders/ModuleRuntimeBuilder.d.ts.map +1 -0
  292. package/dist/plugins/analysis/ast/builders/ModuleRuntimeBuilder.js +355 -0
  293. package/dist/plugins/analysis/ast/builders/ModuleRuntimeBuilder.js.map +1 -0
  294. package/dist/plugins/analysis/ast/builders/MutationBuilder.d.ts +46 -0
  295. package/dist/plugins/analysis/ast/builders/MutationBuilder.d.ts.map +1 -0
  296. package/dist/plugins/analysis/ast/builders/MutationBuilder.js +264 -0
  297. package/dist/plugins/analysis/ast/builders/MutationBuilder.js.map +1 -0
  298. package/dist/plugins/analysis/ast/builders/ReturnBuilder.d.ts +23 -0
  299. package/dist/plugins/analysis/ast/builders/ReturnBuilder.d.ts.map +1 -0
  300. package/dist/plugins/analysis/ast/builders/ReturnBuilder.js +206 -0
  301. package/dist/plugins/analysis/ast/builders/ReturnBuilder.js.map +1 -0
  302. package/dist/plugins/analysis/ast/builders/TypeSystemBuilder.d.ts +64 -0
  303. package/dist/plugins/analysis/ast/builders/TypeSystemBuilder.d.ts.map +1 -0
  304. package/dist/plugins/analysis/ast/builders/TypeSystemBuilder.js +370 -0
  305. package/dist/plugins/analysis/ast/builders/TypeSystemBuilder.js.map +1 -0
  306. package/dist/plugins/analysis/ast/builders/UpdateExpressionBuilder.d.ts +46 -0
  307. package/dist/plugins/analysis/ast/builders/UpdateExpressionBuilder.d.ts.map +1 -0
  308. package/dist/plugins/analysis/ast/builders/UpdateExpressionBuilder.js +191 -0
  309. package/dist/plugins/analysis/ast/builders/UpdateExpressionBuilder.js.map +1 -0
  310. package/dist/plugins/analysis/ast/builders/YieldBuilder.d.ts +30 -0
  311. package/dist/plugins/analysis/ast/builders/YieldBuilder.d.ts.map +1 -0
  312. package/dist/plugins/analysis/ast/builders/YieldBuilder.js +214 -0
  313. package/dist/plugins/analysis/ast/builders/YieldBuilder.js.map +1 -0
  314. package/dist/plugins/analysis/ast/builders/index.d.ts +12 -0
  315. package/dist/plugins/analysis/ast/builders/index.d.ts.map +1 -0
  316. package/dist/plugins/analysis/ast/builders/index.js +11 -0
  317. package/dist/plugins/analysis/ast/builders/index.js.map +1 -0
  318. package/dist/plugins/analysis/ast/builders/types.d.ts +30 -0
  319. package/dist/plugins/analysis/ast/builders/types.d.ts.map +1 -0
  320. package/dist/plugins/analysis/ast/builders/types.js +8 -0
  321. package/dist/plugins/analysis/ast/builders/types.js.map +1 -0
  322. package/dist/plugins/analysis/ast/handlers/AnalyzerDelegate.d.ts +50 -0
  323. package/dist/plugins/analysis/ast/handlers/AnalyzerDelegate.d.ts.map +1 -0
  324. package/dist/plugins/analysis/ast/handlers/AnalyzerDelegate.js +2 -0
  325. package/dist/plugins/analysis/ast/handlers/AnalyzerDelegate.js.map +1 -0
  326. package/dist/plugins/analysis/ast/handlers/BranchHandler.d.ts +18 -0
  327. package/dist/plugins/analysis/ast/handlers/BranchHandler.d.ts.map +1 -0
  328. package/dist/plugins/analysis/ast/handlers/BranchHandler.js +244 -0
  329. package/dist/plugins/analysis/ast/handlers/BranchHandler.js.map +1 -0
  330. package/dist/plugins/analysis/ast/handlers/CallExpressionHandler.d.ts +7 -0
  331. package/dist/plugins/analysis/ast/handlers/CallExpressionHandler.d.ts.map +1 -0
  332. package/dist/plugins/analysis/ast/handlers/CallExpressionHandler.js +295 -0
  333. package/dist/plugins/analysis/ast/handlers/CallExpressionHandler.js.map +1 -0
  334. package/dist/plugins/analysis/ast/handlers/FunctionBodyHandler.d.ts +22 -0
  335. package/dist/plugins/analysis/ast/handlers/FunctionBodyHandler.d.ts.map +1 -0
  336. package/dist/plugins/analysis/ast/handlers/FunctionBodyHandler.js +9 -0
  337. package/dist/plugins/analysis/ast/handlers/FunctionBodyHandler.js.map +1 -0
  338. package/dist/plugins/analysis/ast/handlers/LoopHandler.d.ts +13 -0
  339. package/dist/plugins/analysis/ast/handlers/LoopHandler.d.ts.map +1 -0
  340. package/dist/plugins/analysis/ast/handlers/LoopHandler.js +207 -0
  341. package/dist/plugins/analysis/ast/handlers/LoopHandler.js.map +1 -0
  342. package/dist/plugins/analysis/ast/handlers/NestedFunctionHandler.d.ts +13 -0
  343. package/dist/plugins/analysis/ast/handlers/NestedFunctionHandler.d.ts.map +1 -0
  344. package/dist/plugins/analysis/ast/handlers/NestedFunctionHandler.js +174 -0
  345. package/dist/plugins/analysis/ast/handlers/NestedFunctionHandler.js.map +1 -0
  346. package/dist/plugins/analysis/ast/handlers/NewExpressionHandler.d.ts +12 -0
  347. package/dist/plugins/analysis/ast/handlers/NewExpressionHandler.d.ts.map +1 -0
  348. package/dist/plugins/analysis/ast/handlers/NewExpressionHandler.js +135 -0
  349. package/dist/plugins/analysis/ast/handlers/NewExpressionHandler.js.map +1 -0
  350. package/dist/plugins/analysis/ast/handlers/PropertyAccessHandler.d.ts +13 -0
  351. package/dist/plugins/analysis/ast/handlers/PropertyAccessHandler.d.ts.map +1 -0
  352. package/dist/plugins/analysis/ast/handlers/PropertyAccessHandler.js +71 -0
  353. package/dist/plugins/analysis/ast/handlers/PropertyAccessHandler.js.map +1 -0
  354. package/dist/plugins/analysis/ast/handlers/ReturnYieldHandler.d.ts +12 -0
  355. package/dist/plugins/analysis/ast/handlers/ReturnYieldHandler.d.ts.map +1 -0
  356. package/dist/plugins/analysis/ast/handlers/ReturnYieldHandler.js +135 -0
  357. package/dist/plugins/analysis/ast/handlers/ReturnYieldHandler.js.map +1 -0
  358. package/dist/plugins/analysis/ast/handlers/ThrowHandler.d.ts +12 -0
  359. package/dist/plugins/analysis/ast/handlers/ThrowHandler.d.ts.map +1 -0
  360. package/dist/plugins/analysis/ast/handlers/ThrowHandler.js +82 -0
  361. package/dist/plugins/analysis/ast/handlers/ThrowHandler.js.map +1 -0
  362. package/dist/plugins/analysis/ast/handlers/TryCatchHandler.d.ts +14 -0
  363. package/dist/plugins/analysis/ast/handlers/TryCatchHandler.d.ts.map +1 -0
  364. package/dist/plugins/analysis/ast/handlers/TryCatchHandler.js +220 -0
  365. package/dist/plugins/analysis/ast/handlers/TryCatchHandler.js.map +1 -0
  366. package/dist/plugins/analysis/ast/handlers/VariableHandler.d.ts +12 -0
  367. package/dist/plugins/analysis/ast/handlers/VariableHandler.d.ts.map +1 -0
  368. package/dist/plugins/analysis/ast/handlers/VariableHandler.js +57 -0
  369. package/dist/plugins/analysis/ast/handlers/VariableHandler.js.map +1 -0
  370. package/dist/plugins/analysis/ast/handlers/index.d.ts +13 -0
  371. package/dist/plugins/analysis/ast/handlers/index.d.ts.map +1 -0
  372. package/dist/plugins/analysis/ast/handlers/index.js +12 -0
  373. package/dist/plugins/analysis/ast/handlers/index.js.map +1 -0
  374. package/dist/plugins/analysis/ast/types.d.ts +57 -6
  375. package/dist/plugins/analysis/ast/types.d.ts.map +1 -1
  376. package/dist/plugins/analysis/ast/utils/createParameterNodes.d.ts +5 -4
  377. package/dist/plugins/analysis/ast/utils/createParameterNodes.d.ts.map +1 -1
  378. package/dist/plugins/analysis/ast/utils/createParameterNodes.js +94 -13
  379. package/dist/plugins/analysis/ast/utils/createParameterNodes.js.map +1 -1
  380. package/dist/plugins/analysis/ast/utils/extractNamesFromPattern.d.ts +81 -0
  381. package/dist/plugins/analysis/ast/utils/extractNamesFromPattern.d.ts.map +1 -0
  382. package/dist/plugins/analysis/ast/utils/extractNamesFromPattern.js +140 -0
  383. package/dist/plugins/analysis/ast/utils/extractNamesFromPattern.js.map +1 -0
  384. package/dist/plugins/analysis/ast/utils/getExpressionValue.d.ts +22 -0
  385. package/dist/plugins/analysis/ast/utils/getExpressionValue.d.ts.map +1 -0
  386. package/dist/plugins/analysis/ast/utils/getExpressionValue.js +35 -0
  387. package/dist/plugins/analysis/ast/utils/getExpressionValue.js.map +1 -0
  388. package/dist/plugins/analysis/ast/utils/getMemberExpressionName.d.ts +25 -0
  389. package/dist/plugins/analysis/ast/utils/getMemberExpressionName.d.ts.map +1 -0
  390. package/dist/plugins/analysis/ast/utils/getMemberExpressionName.js +21 -0
  391. package/dist/plugins/analysis/ast/utils/getMemberExpressionName.js.map +1 -0
  392. package/dist/plugins/analysis/ast/utils/index.d.ts +2 -0
  393. package/dist/plugins/analysis/ast/utils/index.d.ts.map +1 -1
  394. package/dist/plugins/analysis/ast/utils/index.js +2 -0
  395. package/dist/plugins/analysis/ast/utils/index.js.map +1 -1
  396. package/dist/plugins/analysis/ast/visitors/ArgumentExtractor.d.ts +23 -0
  397. package/dist/plugins/analysis/ast/visitors/ArgumentExtractor.d.ts.map +1 -0
  398. package/dist/plugins/analysis/ast/visitors/ArgumentExtractor.js +241 -0
  399. package/dist/plugins/analysis/ast/visitors/ArgumentExtractor.js.map +1 -0
  400. package/dist/plugins/analysis/ast/visitors/ArrayElementExtractor.d.ts +20 -0
  401. package/dist/plugins/analysis/ast/visitors/ArrayElementExtractor.d.ts.map +1 -0
  402. package/dist/plugins/analysis/ast/visitors/ArrayElementExtractor.js +110 -0
  403. package/dist/plugins/analysis/ast/visitors/ArrayElementExtractor.js.map +1 -0
  404. package/dist/plugins/analysis/ast/visitors/CallExpressionVisitor.d.ts +15 -142
  405. package/dist/plugins/analysis/ast/visitors/CallExpressionVisitor.d.ts.map +1 -1
  406. package/dist/plugins/analysis/ast/visitors/CallExpressionVisitor.js +304 -937
  407. package/dist/plugins/analysis/ast/visitors/CallExpressionVisitor.js.map +1 -1
  408. package/dist/plugins/analysis/ast/visitors/ClassVisitor.d.ts.map +1 -1
  409. package/dist/plugins/analysis/ast/visitors/ClassVisitor.js +26 -11
  410. package/dist/plugins/analysis/ast/visitors/ClassVisitor.js.map +1 -1
  411. package/dist/plugins/analysis/ast/visitors/FunctionVisitor.d.ts.map +1 -1
  412. package/dist/plugins/analysis/ast/visitors/FunctionVisitor.js +21 -6
  413. package/dist/plugins/analysis/ast/visitors/FunctionVisitor.js.map +1 -1
  414. package/dist/plugins/analysis/ast/visitors/MutationDetector.d.ts +25 -0
  415. package/dist/plugins/analysis/ast/visitors/MutationDetector.d.ts.map +1 -0
  416. package/dist/plugins/analysis/ast/visitors/MutationDetector.js +181 -0
  417. package/dist/plugins/analysis/ast/visitors/MutationDetector.js.map +1 -0
  418. package/dist/plugins/analysis/ast/visitors/ObjectPropertyExtractor.d.ts +20 -0
  419. package/dist/plugins/analysis/ast/visitors/ObjectPropertyExtractor.d.ts.map +1 -0
  420. package/dist/plugins/analysis/ast/visitors/ObjectPropertyExtractor.js +155 -0
  421. package/dist/plugins/analysis/ast/visitors/ObjectPropertyExtractor.js.map +1 -0
  422. package/dist/plugins/analysis/ast/visitors/PropertyAccessVisitor.d.ts +9 -1
  423. package/dist/plugins/analysis/ast/visitors/PropertyAccessVisitor.d.ts.map +1 -1
  424. package/dist/plugins/analysis/ast/visitors/PropertyAccessVisitor.js +51 -3
  425. package/dist/plugins/analysis/ast/visitors/PropertyAccessVisitor.js.map +1 -1
  426. package/dist/plugins/analysis/ast/visitors/TypeScriptVisitor.d.ts +20 -0
  427. package/dist/plugins/analysis/ast/visitors/TypeScriptVisitor.d.ts.map +1 -1
  428. package/dist/plugins/analysis/ast/visitors/TypeScriptVisitor.js +188 -12
  429. package/dist/plugins/analysis/ast/visitors/TypeScriptVisitor.js.map +1 -1
  430. package/dist/plugins/analysis/ast/visitors/VariableVisitor.d.ts.map +1 -1
  431. package/dist/plugins/analysis/ast/visitors/VariableVisitor.js +6 -4
  432. package/dist/plugins/analysis/ast/visitors/VariableVisitor.js.map +1 -1
  433. package/dist/plugins/analysis/ast/visitors/call-expression-helpers.d.ts +19 -0
  434. package/dist/plugins/analysis/ast/visitors/call-expression-helpers.d.ts.map +1 -0
  435. package/dist/plugins/analysis/ast/visitors/call-expression-helpers.js +57 -0
  436. package/dist/plugins/analysis/ast/visitors/call-expression-helpers.js.map +1 -0
  437. package/dist/plugins/analysis/ast/visitors/call-expression-types.d.ts +168 -0
  438. package/dist/plugins/analysis/ast/visitors/call-expression-types.d.ts.map +1 -0
  439. package/dist/plugins/analysis/ast/visitors/call-expression-types.js +7 -0
  440. package/dist/plugins/analysis/ast/visitors/call-expression-types.js.map +1 -0
  441. package/dist/plugins/analysis/react-internal/browser-api.d.ts +20 -0
  442. package/dist/plugins/analysis/react-internal/browser-api.d.ts.map +1 -0
  443. package/dist/plugins/analysis/react-internal/browser-api.js +140 -0
  444. package/dist/plugins/analysis/react-internal/browser-api.js.map +1 -0
  445. package/dist/plugins/analysis/react-internal/hooks.d.ts +31 -0
  446. package/dist/plugins/analysis/react-internal/hooks.d.ts.map +1 -0
  447. package/dist/plugins/analysis/react-internal/hooks.js +465 -0
  448. package/dist/plugins/analysis/react-internal/hooks.js.map +1 -0
  449. package/dist/plugins/analysis/react-internal/jsx.d.ts +43 -0
  450. package/dist/plugins/analysis/react-internal/jsx.d.ts.map +1 -0
  451. package/dist/plugins/analysis/react-internal/jsx.js +231 -0
  452. package/dist/plugins/analysis/react-internal/jsx.js.map +1 -0
  453. package/dist/plugins/analysis/react-internal/types.d.ts +116 -0
  454. package/dist/plugins/analysis/react-internal/types.d.ts.map +1 -0
  455. package/dist/plugins/analysis/react-internal/types.js +83 -0
  456. package/dist/plugins/analysis/react-internal/types.js.map +1 -0
  457. package/dist/plugins/discovery/MonorepoServiceDiscovery.d.ts.map +1 -1
  458. package/dist/plugins/discovery/MonorepoServiceDiscovery.js +6 -13
  459. package/dist/plugins/discovery/MonorepoServiceDiscovery.js.map +1 -1
  460. package/dist/plugins/enrichment/AliasTracker.d.ts.map +1 -1
  461. package/dist/plugins/enrichment/AliasTracker.js +3 -1
  462. package/dist/plugins/enrichment/AliasTracker.js.map +1 -1
  463. package/dist/plugins/enrichment/ArgumentParameterLinker.d.ts.map +1 -1
  464. package/dist/plugins/enrichment/ArgumentParameterLinker.js +3 -1
  465. package/dist/plugins/enrichment/ArgumentParameterLinker.js.map +1 -1
  466. package/dist/plugins/enrichment/CallbackCallResolver.d.ts +42 -0
  467. package/dist/plugins/enrichment/CallbackCallResolver.d.ts.map +1 -0
  468. package/dist/plugins/enrichment/CallbackCallResolver.js +311 -0
  469. package/dist/plugins/enrichment/CallbackCallResolver.js.map +1 -0
  470. package/dist/plugins/enrichment/ClosureCaptureEnricher.d.ts.map +1 -1
  471. package/dist/plugins/enrichment/ClosureCaptureEnricher.js +3 -1
  472. package/dist/plugins/enrichment/ClosureCaptureEnricher.js.map +1 -1
  473. package/dist/plugins/enrichment/ConfigRoutingMapBuilder.d.ts +17 -0
  474. package/dist/plugins/enrichment/ConfigRoutingMapBuilder.d.ts.map +1 -0
  475. package/dist/plugins/enrichment/ConfigRoutingMapBuilder.js +55 -0
  476. package/dist/plugins/enrichment/ConfigRoutingMapBuilder.js.map +1 -0
  477. package/dist/plugins/enrichment/ExpressHandlerLinker.d.ts.map +1 -1
  478. package/dist/plugins/enrichment/ExpressHandlerLinker.js +3 -1
  479. package/dist/plugins/enrichment/ExpressHandlerLinker.js.map +1 -1
  480. package/dist/plugins/enrichment/ExternalCallResolver.d.ts.map +1 -1
  481. package/dist/plugins/enrichment/ExternalCallResolver.js +5 -8
  482. package/dist/plugins/enrichment/ExternalCallResolver.js.map +1 -1
  483. package/dist/plugins/enrichment/FunctionCallResolver.d.ts.map +1 -1
  484. package/dist/plugins/enrichment/FunctionCallResolver.js +6 -9
  485. package/dist/plugins/enrichment/FunctionCallResolver.js.map +1 -1
  486. package/dist/plugins/enrichment/HTTPConnectionEnricher.d.ts.map +1 -1
  487. package/dist/plugins/enrichment/HTTPConnectionEnricher.js +3 -1
  488. package/dist/plugins/enrichment/HTTPConnectionEnricher.js.map +1 -1
  489. package/dist/plugins/enrichment/ImportExportLinker.d.ts.map +1 -1
  490. package/dist/plugins/enrichment/ImportExportLinker.js +5 -3
  491. package/dist/plugins/enrichment/ImportExportLinker.js.map +1 -1
  492. package/dist/plugins/enrichment/InstanceOfResolver.d.ts.map +1 -1
  493. package/dist/plugins/enrichment/InstanceOfResolver.js +3 -1
  494. package/dist/plugins/enrichment/InstanceOfResolver.js.map +1 -1
  495. package/dist/plugins/enrichment/MethodCallResolver.d.ts +17 -68
  496. package/dist/plugins/enrichment/MethodCallResolver.d.ts.map +1 -1
  497. package/dist/plugins/enrichment/MethodCallResolver.js +42 -517
  498. package/dist/plugins/enrichment/MethodCallResolver.js.map +1 -1
  499. package/dist/plugins/enrichment/MountPointResolver.d.ts.map +1 -1
  500. package/dist/plugins/enrichment/MountPointResolver.js +9 -2
  501. package/dist/plugins/enrichment/MountPointResolver.js.map +1 -1
  502. package/dist/plugins/enrichment/NodejsBuiltinsResolver.d.ts.map +1 -1
  503. package/dist/plugins/enrichment/NodejsBuiltinsResolver.js +7 -16
  504. package/dist/plugins/enrichment/NodejsBuiltinsResolver.js.map +1 -1
  505. package/dist/plugins/enrichment/PrefixEvaluator.d.ts.map +1 -1
  506. package/dist/plugins/enrichment/PrefixEvaluator.js +6 -2
  507. package/dist/plugins/enrichment/PrefixEvaluator.js.map +1 -1
  508. package/dist/plugins/enrichment/RejectionPropagationEnricher.d.ts.map +1 -1
  509. package/dist/plugins/enrichment/RejectionPropagationEnricher.js +3 -1
  510. package/dist/plugins/enrichment/RejectionPropagationEnricher.js.map +1 -1
  511. package/dist/plugins/enrichment/RustFFIEnricher.d.ts.map +1 -1
  512. package/dist/plugins/enrichment/RustFFIEnricher.js +3 -1
  513. package/dist/plugins/enrichment/RustFFIEnricher.js.map +1 -1
  514. package/dist/plugins/enrichment/ServiceConnectionEnricher.d.ts +76 -0
  515. package/dist/plugins/enrichment/ServiceConnectionEnricher.d.ts.map +1 -0
  516. package/dist/plugins/enrichment/ServiceConnectionEnricher.js +355 -0
  517. package/dist/plugins/enrichment/ServiceConnectionEnricher.js.map +1 -0
  518. package/dist/plugins/enrichment/SocketConnectionEnricher.d.ts +42 -0
  519. package/dist/plugins/enrichment/SocketConnectionEnricher.d.ts.map +1 -0
  520. package/dist/plugins/enrichment/SocketConnectionEnricher.js +166 -0
  521. package/dist/plugins/enrichment/SocketConnectionEnricher.js.map +1 -0
  522. package/dist/plugins/enrichment/ValueDomainAnalyzer.d.ts.map +1 -1
  523. package/dist/plugins/enrichment/ValueDomainAnalyzer.js +3 -1
  524. package/dist/plugins/enrichment/ValueDomainAnalyzer.js.map +1 -1
  525. package/dist/plugins/enrichment/method-call/MethodCallData.d.ts +68 -0
  526. package/dist/plugins/enrichment/method-call/MethodCallData.d.ts.map +1 -0
  527. package/dist/plugins/enrichment/method-call/MethodCallData.js +227 -0
  528. package/dist/plugins/enrichment/method-call/MethodCallData.js.map +1 -0
  529. package/dist/plugins/enrichment/method-call/MethodCallDetectors.d.ts +21 -0
  530. package/dist/plugins/enrichment/method-call/MethodCallDetectors.d.ts.map +1 -0
  531. package/dist/plugins/enrichment/method-call/MethodCallDetectors.js +52 -0
  532. package/dist/plugins/enrichment/method-call/MethodCallDetectors.js.map +1 -0
  533. package/dist/plugins/enrichment/method-call/MethodCallErrorAnalysis.d.ts +22 -0
  534. package/dist/plugins/enrichment/method-call/MethodCallErrorAnalysis.d.ts.map +1 -0
  535. package/dist/plugins/enrichment/method-call/MethodCallErrorAnalysis.js +105 -0
  536. package/dist/plugins/enrichment/method-call/MethodCallErrorAnalysis.js.map +1 -0
  537. package/dist/plugins/enrichment/method-call/MethodCallIndexers.d.ts +19 -0
  538. package/dist/plugins/enrichment/method-call/MethodCallIndexers.d.ts.map +1 -0
  539. package/dist/plugins/enrichment/method-call/MethodCallIndexers.js +63 -0
  540. package/dist/plugins/enrichment/method-call/MethodCallIndexers.js.map +1 -0
  541. package/dist/plugins/enrichment/method-call/MethodCallResolution.d.ts +30 -0
  542. package/dist/plugins/enrichment/method-call/MethodCallResolution.d.ts.map +1 -0
  543. package/dist/plugins/enrichment/method-call/MethodCallResolution.js +138 -0
  544. package/dist/plugins/enrichment/method-call/MethodCallResolution.js.map +1 -0
  545. package/dist/plugins/indexing/IncrementalModuleIndexer.d.ts.map +1 -1
  546. package/dist/plugins/indexing/IncrementalModuleIndexer.js +2 -8
  547. package/dist/plugins/indexing/IncrementalModuleIndexer.js.map +1 -1
  548. package/dist/plugins/indexing/JSModuleIndexer.d.ts.map +1 -1
  549. package/dist/plugins/indexing/JSModuleIndexer.js +13 -20
  550. package/dist/plugins/indexing/JSModuleIndexer.js.map +1 -1
  551. package/dist/plugins/indexing/RustModuleIndexer.d.ts.map +1 -1
  552. package/dist/plugins/indexing/RustModuleIndexer.js +4 -8
  553. package/dist/plugins/indexing/RustModuleIndexer.js.map +1 -1
  554. package/dist/plugins/validation/AwaitInLoopValidator.d.ts +24 -0
  555. package/dist/plugins/validation/AwaitInLoopValidator.d.ts.map +1 -0
  556. package/dist/plugins/validation/AwaitInLoopValidator.js +69 -0
  557. package/dist/plugins/validation/AwaitInLoopValidator.js.map +1 -0
  558. package/dist/plugins/validation/PackageCoverageValidator.d.ts +33 -0
  559. package/dist/plugins/validation/PackageCoverageValidator.d.ts.map +1 -0
  560. package/dist/plugins/validation/PackageCoverageValidator.js +149 -0
  561. package/dist/plugins/validation/PackageCoverageValidator.js.map +1 -0
  562. package/dist/plugins/validation/UnconnectedRouteValidator.d.ts +18 -0
  563. package/dist/plugins/validation/UnconnectedRouteValidator.d.ts.map +1 -0
  564. package/dist/plugins/validation/UnconnectedRouteValidator.js +68 -0
  565. package/dist/plugins/validation/UnconnectedRouteValidator.js.map +1 -0
  566. package/dist/queries/NodeContext.d.ts +81 -0
  567. package/dist/queries/NodeContext.d.ts.map +1 -0
  568. package/dist/queries/NodeContext.js +193 -0
  569. package/dist/queries/NodeContext.js.map +1 -0
  570. package/dist/queries/findCallsInFunction.d.ts.map +1 -1
  571. package/dist/queries/findCallsInFunction.js +10 -2
  572. package/dist/queries/findCallsInFunction.js.map +1 -1
  573. package/dist/queries/findContainingFunction.d.ts +3 -2
  574. package/dist/queries/findContainingFunction.d.ts.map +1 -1
  575. package/dist/queries/findContainingFunction.js +13 -3
  576. package/dist/queries/findContainingFunction.js.map +1 -1
  577. package/dist/queries/index.d.ts +2 -0
  578. package/dist/queries/index.d.ts.map +1 -1
  579. package/dist/queries/index.js +1 -0
  580. package/dist/queries/index.js.map +1 -1
  581. package/dist/resources/InfraResourceMapImpl.d.ts +31 -0
  582. package/dist/resources/InfraResourceMapImpl.d.ts.map +1 -0
  583. package/dist/resources/InfraResourceMapImpl.js +110 -0
  584. package/dist/resources/InfraResourceMapImpl.js.map +1 -0
  585. package/dist/resources/RoutingMapImpl.d.ts +33 -0
  586. package/dist/resources/RoutingMapImpl.d.ts.map +1 -0
  587. package/dist/resources/RoutingMapImpl.js +115 -0
  588. package/dist/resources/RoutingMapImpl.js.map +1 -0
  589. package/dist/storage/backends/RFDBServerBackend.d.ts +35 -6
  590. package/dist/storage/backends/RFDBServerBackend.d.ts.map +1 -1
  591. package/dist/storage/backends/RFDBServerBackend.js +102 -70
  592. package/dist/storage/backends/RFDBServerBackend.js.map +1 -1
  593. package/dist/utils/findRfdbBinary.d.ts +3 -2
  594. package/dist/utils/findRfdbBinary.d.ts.map +1 -1
  595. package/dist/utils/findRfdbBinary.js +22 -7
  596. package/dist/utils/findRfdbBinary.js.map +1 -1
  597. package/dist/utils/moduleResolution.d.ts.map +1 -1
  598. package/dist/utils/moduleResolution.js +26 -1
  599. package/dist/utils/moduleResolution.js.map +1 -1
  600. package/dist/utils/resolveNodeFile.d.ts +13 -0
  601. package/dist/utils/resolveNodeFile.d.ts.map +1 -0
  602. package/dist/utils/resolveNodeFile.js +18 -0
  603. package/dist/utils/resolveNodeFile.js.map +1 -0
  604. package/dist/version.d.ts +11 -0
  605. package/dist/version.d.ts.map +1 -0
  606. package/dist/version.js +26 -0
  607. package/dist/version.js.map +1 -0
  608. package/package.json +3 -3
  609. package/src/DiscoveryManager.ts +279 -0
  610. package/src/GraphInitializer.ts +131 -0
  611. package/src/GuaranteeChecker.ts +90 -0
  612. package/src/Orchestrator.ts +222 -963
  613. package/src/OrchestratorTypes.ts +122 -0
  614. package/src/ParallelAnalysisRunner.ts +188 -0
  615. package/src/PhaseRunner.ts +450 -0
  616. package/src/config/ConfigLoader.ts +176 -2
  617. package/src/config/index.ts +2 -0
  618. package/src/core/ASTWorker.ts +9 -2
  619. package/src/core/FileOverview.ts +374 -0
  620. package/src/core/GraphFreshnessChecker.ts +7 -5
  621. package/src/core/GuaranteeManager.ts +70 -2
  622. package/src/core/IncrementalReanalyzer.ts +6 -3
  623. package/src/core/NodeFactory.ts +173 -652
  624. package/src/core/ResourceRegistry.ts +39 -0
  625. package/src/core/ScopeTracker.ts +23 -0
  626. package/src/core/SemanticId.ts +183 -0
  627. package/src/core/brandNodeInternal.ts +16 -0
  628. package/src/core/buildDependencyGraph.ts +98 -0
  629. package/src/core/factories/CoreFactory.ts +489 -0
  630. package/src/core/factories/DatabaseFactory.ts +63 -0
  631. package/src/core/factories/ExternalFactory.ts +23 -0
  632. package/src/core/factories/HttpFactory.ts +57 -0
  633. package/src/core/factories/ReactFactory.ts +15 -0
  634. package/src/core/factories/RustFactory.ts +128 -0
  635. package/src/core/factories/ServiceFactory.ts +27 -0
  636. package/src/core/factories/SocketFactory.ts +94 -0
  637. package/src/core/nodes/DatabaseNode.ts +175 -0
  638. package/src/core/nodes/ExpressMiddlewareNode.ts +98 -0
  639. package/src/core/nodes/ExpressMountNode.ts +94 -0
  640. package/src/core/nodes/ExternalApiNode.ts +53 -0
  641. package/src/core/nodes/ExternalFunctionNode.ts +77 -0
  642. package/src/core/nodes/FetchRequestNode.ts +105 -0
  643. package/src/core/nodes/HttpRouteNode.ts +113 -0
  644. package/src/core/nodes/NodeKind.ts +1 -0
  645. package/src/core/nodes/ReactNode.ts +78 -0
  646. package/src/core/nodes/RustCallNode.ts +96 -0
  647. package/src/core/nodes/RustFunctionNode.ts +112 -0
  648. package/src/core/nodes/RustImplNode.ts +78 -0
  649. package/src/core/nodes/RustMethodNode.ts +125 -0
  650. package/src/core/nodes/RustModuleNode.ts +84 -0
  651. package/src/core/nodes/RustStructNode.ts +80 -0
  652. package/src/core/nodes/RustTraitNode.ts +82 -0
  653. package/src/core/nodes/ServiceLayerNode.ts +183 -0
  654. package/src/core/nodes/SocketIONode.ts +177 -0
  655. package/src/core/nodes/SocketNode.ts +206 -0
  656. package/src/core/nodes/TypeNode.ts +46 -3
  657. package/src/core/nodes/TypeParameterNode.ts +91 -0
  658. package/src/core/nodes/index.ts +57 -0
  659. package/src/index.ts +60 -4
  660. package/src/plugins/InfraAnalyzer.ts +208 -0
  661. package/src/plugins/analysis/DatabaseAnalyzer.ts +27 -17
  662. package/src/plugins/analysis/ExpressAnalyzer.ts +51 -38
  663. package/src/plugins/analysis/ExpressResponseAnalyzer.ts +15 -12
  664. package/src/plugins/analysis/ExpressRouteAnalyzer.ts +56 -56
  665. package/src/plugins/analysis/FetchAnalyzer.ts +42 -52
  666. package/src/plugins/analysis/IncrementalAnalysisPlugin.ts +3 -2
  667. package/src/plugins/analysis/JSASTAnalyzer.ts +391 -2304
  668. package/src/plugins/analysis/NestJSRouteAnalyzer.ts +241 -0
  669. package/src/plugins/analysis/ReactAnalyzer.ts +33 -1085
  670. package/src/plugins/analysis/RustAnalyzer.ts +112 -116
  671. package/src/plugins/analysis/SQLiteAnalyzer.ts +23 -9
  672. package/src/plugins/analysis/ServiceLayerAnalyzer.ts +32 -10
  673. package/src/plugins/analysis/SocketAnalyzer.ts +601 -0
  674. package/src/plugins/analysis/SocketIOAnalyzer.ts +25 -34
  675. package/src/plugins/analysis/SystemDbAnalyzer.ts +15 -12
  676. package/src/plugins/analysis/ast/CollisionResolver.ts +137 -0
  677. package/src/plugins/analysis/ast/FunctionBodyContext.ts +291 -0
  678. package/src/plugins/analysis/ast/GraphBuilder.ts +274 -3180
  679. package/src/plugins/analysis/ast/IdGenerator.ts +81 -1
  680. package/src/plugins/analysis/ast/builders/AssignmentBuilder.ts +407 -0
  681. package/src/plugins/analysis/ast/builders/CallFlowBuilder.ts +255 -0
  682. package/src/plugins/analysis/ast/builders/ControlFlowBuilder.ts +470 -0
  683. package/src/plugins/analysis/ast/builders/CoreBuilder.ts +306 -0
  684. package/src/plugins/analysis/ast/builders/ModuleRuntimeBuilder.ts +452 -0
  685. package/src/plugins/analysis/ast/builders/MutationBuilder.ts +372 -0
  686. package/src/plugins/analysis/ast/builders/ReturnBuilder.ts +279 -0
  687. package/src/plugins/analysis/ast/builders/TypeSystemBuilder.ts +475 -0
  688. package/src/plugins/analysis/ast/builders/UpdateExpressionBuilder.ts +262 -0
  689. package/src/plugins/analysis/ast/builders/YieldBuilder.ts +287 -0
  690. package/src/plugins/analysis/ast/builders/index.ts +11 -0
  691. package/src/plugins/analysis/ast/builders/types.ts +65 -0
  692. package/src/plugins/analysis/ast/handlers/AnalyzerDelegate.ts +183 -0
  693. package/src/plugins/analysis/ast/handlers/BranchHandler.ts +313 -0
  694. package/src/plugins/analysis/ast/handlers/CallExpressionHandler.ts +347 -0
  695. package/src/plugins/analysis/ast/handlers/FunctionBodyHandler.ts +24 -0
  696. package/src/plugins/analysis/ast/handlers/LoopHandler.ts +240 -0
  697. package/src/plugins/analysis/ast/handlers/NestedFunctionHandler.ts +201 -0
  698. package/src/plugins/analysis/ast/handlers/NewExpressionHandler.ts +159 -0
  699. package/src/plugins/analysis/ast/handlers/PropertyAccessHandler.ts +112 -0
  700. package/src/plugins/analysis/ast/handlers/ReturnYieldHandler.ts +166 -0
  701. package/src/plugins/analysis/ast/handlers/ThrowHandler.ts +101 -0
  702. package/src/plugins/analysis/ast/handlers/TryCatchHandler.ts +262 -0
  703. package/src/plugins/analysis/ast/handlers/VariableHandler.ts +93 -0
  704. package/src/plugins/analysis/ast/handlers/index.ts +12 -0
  705. package/src/plugins/analysis/ast/types.ts +68 -9
  706. package/src/plugins/analysis/ast/utils/createParameterNodes.ts +118 -13
  707. package/src/plugins/analysis/ast/utils/extractNamesFromPattern.ts +166 -0
  708. package/src/plugins/analysis/ast/utils/getExpressionValue.ts +34 -0
  709. package/src/plugins/analysis/ast/utils/getMemberExpressionName.ts +33 -0
  710. package/src/plugins/analysis/ast/utils/index.ts +2 -0
  711. package/src/plugins/analysis/ast/visitors/ArgumentExtractor.ts +307 -0
  712. package/src/plugins/analysis/ast/visitors/ArrayElementExtractor.ts +172 -0
  713. package/src/plugins/analysis/ast/visitors/CallExpressionVisitor.ts +425 -1374
  714. package/src/plugins/analysis/ast/visitors/ClassVisitor.ts +43 -12
  715. package/src/plugins/analysis/ast/visitors/FunctionVisitor.ts +39 -8
  716. package/src/plugins/analysis/ast/visitors/MutationDetector.ts +211 -0
  717. package/src/plugins/analysis/ast/visitors/ObjectPropertyExtractor.ts +217 -0
  718. package/src/plugins/analysis/ast/visitors/PropertyAccessVisitor.ts +69 -4
  719. package/src/plugins/analysis/ast/visitors/TypeScriptVisitor.ts +232 -13
  720. package/src/plugins/analysis/ast/visitors/VariableVisitor.ts +8 -11
  721. package/src/plugins/analysis/ast/visitors/call-expression-helpers.ts +65 -0
  722. package/src/plugins/analysis/ast/visitors/call-expression-types.ts +179 -0
  723. package/src/plugins/analysis/react-internal/browser-api.ts +168 -0
  724. package/src/plugins/analysis/react-internal/hooks.ts +517 -0
  725. package/src/plugins/analysis/react-internal/jsx.ts +279 -0
  726. package/src/plugins/analysis/react-internal/types.ts +183 -0
  727. package/src/plugins/discovery/MonorepoServiceDiscovery.ts +6 -14
  728. package/src/plugins/enrichment/AliasTracker.ts +3 -1
  729. package/src/plugins/enrichment/ArgumentParameterLinker.ts +3 -1
  730. package/src/plugins/enrichment/CallbackCallResolver.ts +398 -0
  731. package/src/plugins/enrichment/ClosureCaptureEnricher.ts +3 -1
  732. package/src/plugins/enrichment/ConfigRoutingMapBuilder.ts +67 -0
  733. package/src/plugins/enrichment/ExpressHandlerLinker.ts +3 -1
  734. package/src/plugins/enrichment/ExternalCallResolver.ts +5 -8
  735. package/src/plugins/enrichment/FunctionCallResolver.ts +6 -9
  736. package/src/plugins/enrichment/HTTPConnectionEnricher.ts +3 -1
  737. package/src/plugins/enrichment/ImportExportLinker.ts +5 -3
  738. package/src/plugins/enrichment/InstanceOfResolver.ts +3 -1
  739. package/src/plugins/enrichment/MethodCallResolver.ts +48 -659
  740. package/src/plugins/enrichment/MountPointResolver.ts +9 -2
  741. package/src/plugins/enrichment/NodejsBuiltinsResolver.ts +13 -18
  742. package/src/plugins/enrichment/PrefixEvaluator.ts +6 -2
  743. package/src/plugins/enrichment/RejectionPropagationEnricher.ts +3 -1
  744. package/src/plugins/enrichment/RustFFIEnricher.ts +3 -1
  745. package/src/plugins/enrichment/ServiceConnectionEnricher.ts +472 -0
  746. package/src/plugins/enrichment/SocketConnectionEnricher.ts +228 -0
  747. package/src/plugins/enrichment/ValueDomainAnalyzer.ts +3 -1
  748. package/src/plugins/enrichment/method-call/MethodCallData.ts +299 -0
  749. package/src/plugins/enrichment/method-call/MethodCallDetectors.ts +70 -0
  750. package/src/plugins/enrichment/method-call/MethodCallErrorAnalysis.ts +131 -0
  751. package/src/plugins/enrichment/method-call/MethodCallIndexers.ts +83 -0
  752. package/src/plugins/enrichment/method-call/MethodCallResolution.ts +181 -0
  753. package/src/plugins/indexing/IncrementalModuleIndexer.ts +5 -10
  754. package/src/plugins/indexing/JSModuleIndexer.ts +17 -21
  755. package/src/plugins/indexing/RustModuleIndexer.ts +14 -13
  756. package/src/plugins/validation/AwaitInLoopValidator.ts +91 -0
  757. package/src/plugins/validation/PackageCoverageValidator.ts +181 -0
  758. package/src/plugins/validation/UnconnectedRouteValidator.ts +93 -0
  759. package/src/queries/NodeContext.ts +277 -0
  760. package/src/queries/findCallsInFunction.ts +11 -2
  761. package/src/queries/findContainingFunction.ts +14 -3
  762. package/src/queries/index.ts +13 -0
  763. package/src/resources/InfraResourceMapImpl.ts +119 -0
  764. package/src/resources/RoutingMapImpl.ts +133 -0
  765. package/src/storage/backends/RFDBServerBackend.ts +106 -77
  766. package/src/utils/findRfdbBinary.ts +22 -7
  767. package/src/utils/moduleResolution.ts +28 -1
  768. package/src/utils/resolveNodeFile.ts +18 -0
  769. package/src/version.ts +28 -0
@@ -0,0 +1,151 @@
1
+ import * as t from '@babel/types';
2
+ import { getLine, getColumn } from './utils/location.js';
3
+ function ensure(c, k, fb) {
4
+ if (!c[k]) {
5
+ c[k] = fb();
6
+ }
7
+ return c[k];
8
+ }
9
+ function extract(c, k) { return (c[k] ?? []); }
10
+ function counter(c, k) { return (c[k] ?? { value: 0 }); }
11
+ /** Creates FunctionBodyContext matching analyzeFunctionBody() lines 3507-3763 init logic. */
12
+ export function createFunctionBodyContext(funcPath, parentScopeId, module, collections, functions, extractNamesFromPatternFn) {
13
+ const c = collections;
14
+ const scopes = extract(c, 'scopes');
15
+ const variableDeclarations = extract(c, 'variableDeclarations');
16
+ const callSites = extract(c, 'callSites');
17
+ const methodCalls = extract(c, 'methodCalls');
18
+ const eventListeners = extract(c, 'eventListeners');
19
+ const methodCallbacks = extract(c, 'methodCallbacks');
20
+ const classInstantiations = extract(c, 'classInstantiations');
21
+ const constructorCalls = extract(c, 'constructorCalls');
22
+ const httpRequests = extract(c, 'httpRequests');
23
+ const literals = extract(c, 'literals');
24
+ const variableAssignments = extract(c, 'variableAssignments');
25
+ const parameters = extract(c, 'parameters');
26
+ const returnStatements = extract(c, 'returnStatements');
27
+ const updateExpressions = extract(c, 'updateExpressions');
28
+ const ifScopeCounterRef = counter(c, 'ifScopeCounterRef');
29
+ const scopeCounterRef = counter(c, 'scopeCounterRef');
30
+ const varDeclCounterRef = counter(c, 'varDeclCounterRef');
31
+ const callSiteCounterRef = counter(c, 'callSiteCounterRef');
32
+ const functionCounterRef = counter(c, 'functionCounterRef');
33
+ const httpRequestCounterRef = counter(c, 'httpRequestCounterRef');
34
+ const literalCounterRef = counter(c, 'literalCounterRef');
35
+ const anonymousFunctionCounterRef = counter(c, 'anonymousFunctionCounterRef');
36
+ const scopeTracker = c.scopeTracker;
37
+ const objectLiterals = ensure(c, 'objectLiterals', () => []);
38
+ const objectProperties = ensure(c, 'objectProperties', () => []);
39
+ const objectLiteralCounterRef = ensure(c, 'objectLiteralCounterRef', () => ({ value: 0 }));
40
+ const yieldExpressions = ensure(c, 'yieldExpressions', () => []);
41
+ const loops = ensure(c, 'loops', () => []);
42
+ const loopCounterRef = ensure(c, 'loopCounterRef', () => ({ value: 0 }));
43
+ const branches = ensure(c, 'branches', () => []);
44
+ const branchCounterRef = ensure(c, 'branchCounterRef', () => ({ value: 0 }));
45
+ const tryBlocks = ensure(c, 'tryBlocks', () => []);
46
+ const catchBlocks = ensure(c, 'catchBlocks', () => []);
47
+ const finallyBlocks = ensure(c, 'finallyBlocks', () => []);
48
+ const tryBlockCounterRef = ensure(c, 'tryBlockCounterRef', () => ({ value: 0 }));
49
+ const catchBlockCounterRef = ensure(c, 'catchBlockCounterRef', () => ({ value: 0 }));
50
+ const finallyBlockCounterRef = ensure(c, 'finallyBlockCounterRef', () => ({ value: 0 }));
51
+ const promiseExecutorContexts = ensure(c, 'promiseExecutorContexts', () => new Map());
52
+ const promiseResolutions = ensure(c, 'promiseResolutions', () => []);
53
+ const rejectionPatterns = ensure(c, 'rejectionPatterns', () => []);
54
+ const catchesFromInfos = ensure(c, 'catchesFromInfos', () => []);
55
+ const processedNodes = c.processedNodes ?? {
56
+ functions: new Set(), classes: new Set(),
57
+ imports: new Set(), exports: new Set(),
58
+ variables: new Set(), callSites: new Set(),
59
+ methodCalls: new Set(), varDecls: new Set(),
60
+ eventListeners: new Set(),
61
+ };
62
+ const scopeIdStack = [parentScopeId];
63
+ const getCurrentScopeId = () => scopeIdStack[scopeIdStack.length - 1];
64
+ // Function identity
65
+ const funcNode = funcPath.node;
66
+ const functionNode = t.isFunction(funcNode) ? funcNode : null;
67
+ const functionPath = functionNode ? funcPath : null;
68
+ const funcLine = getLine(funcNode);
69
+ const funcColumn = getColumn(funcNode);
70
+ let currentFunctionId = null;
71
+ const matchingFunction = funcNode.type !== 'StaticBlock'
72
+ ? functions.find(f => f.file === module.file && f.line === funcLine &&
73
+ (f.column === undefined || f.column === funcColumn))
74
+ : undefined;
75
+ if (matchingFunction) {
76
+ currentFunctionId = matchingFunction.id;
77
+ }
78
+ // Parameter invocation tracking (REG-401, REG-416, REG-417)
79
+ const paramNameToIndex = new Map();
80
+ const paramNameToPropertyPath = new Map();
81
+ const restParamNames = new Set();
82
+ const invokedParamIndexes = new Set();
83
+ const invokesParamBindings = [];
84
+ const aliasToParamIndex = new Map();
85
+ if (functionNode) {
86
+ for (let i = 0; i < functionNode.params.length; i++) {
87
+ const param = functionNode.params[i];
88
+ if (t.isIdentifier(param)) {
89
+ paramNameToIndex.set(param.name, i);
90
+ }
91
+ else if (t.isAssignmentPattern(param)) {
92
+ if (t.isIdentifier(param.left)) {
93
+ paramNameToIndex.set(param.left.name, i);
94
+ }
95
+ else if (t.isObjectPattern(param.left) || t.isArrayPattern(param.left)) {
96
+ for (const info of extractNamesFromPatternFn(param.left)) {
97
+ paramNameToIndex.set(info.name, i);
98
+ if (info.propertyPath) {
99
+ paramNameToPropertyPath.set(info.name, info.propertyPath);
100
+ }
101
+ }
102
+ }
103
+ }
104
+ else if (t.isObjectPattern(param) || t.isArrayPattern(param)) {
105
+ for (const info of extractNamesFromPatternFn(param)) {
106
+ paramNameToIndex.set(info.name, i);
107
+ if (info.propertyPath) {
108
+ paramNameToPropertyPath.set(info.name, info.propertyPath);
109
+ }
110
+ }
111
+ }
112
+ else if (t.isRestElement(param) && t.isIdentifier(param.argument)) {
113
+ paramNameToIndex.set(param.argument.name, i);
114
+ restParamNames.add(param.argument.name);
115
+ }
116
+ }
117
+ }
118
+ const controlFlowState = {
119
+ branchCount: 0, loopCount: 0, caseCount: 0, logicalOpCount: 0,
120
+ hasTryCatch: false, hasEarlyReturn: false, hasThrow: false,
121
+ returnCount: 0, totalStatements: 0, tryBlockDepth: 0, loopDepth: 0,
122
+ };
123
+ return {
124
+ funcPath, funcNode, functionNode, functionPath, funcLine, funcColumn, currentFunctionId, matchingFunction,
125
+ module, collections, parentScopeId, scopeIdStack, getCurrentScopeId, scopeTracker,
126
+ functions, scopes, variableDeclarations, callSites, methodCalls,
127
+ eventListeners, methodCallbacks, classInstantiations, constructorCalls,
128
+ httpRequests, literals, variableAssignments, parameters,
129
+ returnStatements, yieldExpressions, updateExpressions,
130
+ objectLiterals, objectProperties,
131
+ loops, branches, tryBlocks, catchBlocks, finallyBlocks,
132
+ promiseExecutorContexts, promiseResolutions, rejectionPatterns, catchesFromInfos,
133
+ objectLiteralCounterRef, loopCounterRef, branchCounterRef,
134
+ tryBlockCounterRef, catchBlockCounterRef, finallyBlockCounterRef,
135
+ ifScopeCounterRef, scopeCounterRef, varDeclCounterRef,
136
+ callSiteCounterRef, functionCounterRef, httpRequestCounterRef,
137
+ literalCounterRef, anonymousFunctionCounterRef,
138
+ processedNodes,
139
+ processedCallSites: processedNodes.callSites,
140
+ processedMethodCalls: processedNodes.methodCalls,
141
+ processedVarDecls: processedNodes.varDecls,
142
+ processedEventListeners: processedNodes.eventListeners,
143
+ parentScopeVariables: new Set(),
144
+ ifElseScopeMap: new Map(),
145
+ tryScopeMap: new Map(),
146
+ paramNameToIndex, paramNameToPropertyPath, restParamNames,
147
+ invokedParamIndexes, invokesParamBindings, aliasToParamIndex,
148
+ controlFlowState,
149
+ };
150
+ }
151
+ //# sourceMappingURL=FunctionBodyContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FunctionBodyContext.js","sourceRoot":"","sources":["../../../../src/plugins/analysis/ast/FunctionBodyContext.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * GraphBuilder - создание узлов и рёбер графа из собранных AST данных
2
+ * GraphBuilder - orchestrator that delegates to domain-specific builders
3
3
  * OPTIMIZED: Uses batched writes to reduce FFI overhead
4
4
  */
5
5
  import type { GraphBackend } from '@grafema/types';
@@ -8,6 +8,18 @@ export declare class GraphBuilder {
8
8
  private _createdSingletons;
9
9
  private _nodeBuffer;
10
10
  private _edgeBuffer;
11
+ private readonly _coreBuilder;
12
+ private readonly _controlFlowBuilder;
13
+ private readonly _assignmentBuilder;
14
+ private readonly _callFlowBuilder;
15
+ private readonly _mutationBuilder;
16
+ private readonly _updateExpressionBuilder;
17
+ private readonly _returnBuilder;
18
+ private readonly _yieldBuilder;
19
+ private readonly _typeSystemBuilder;
20
+ private readonly _moduleRuntimeBuilder;
21
+ constructor();
22
+ private _createContext;
11
23
  /**
12
24
  * Buffer a node for batched writing
13
25
  */
@@ -29,133 +41,12 @@ export declare class GraphBuilder {
29
41
  * Создаёт ноды и рёбра в графе (BATCHED VERSION)
30
42
  */
31
43
  build(module: ModuleNode, graph: GraphBackend, projectPath: string, data: ASTCollections): Promise<BuildResult>;
32
- private bufferFunctionEdges;
33
- private bufferScopeEdges;
34
44
  /**
35
- * Buffer LOOP edges (CONTAINS, HAS_BODY, ITERATES_OVER)
36
- *
37
- * Creates edges for:
38
- * - Parent -> CONTAINS -> LOOP
39
- * - LOOP -> HAS_BODY -> body SCOPE
40
- * - LOOP -> ITERATES_OVER -> collection VARIABLE/PARAMETER (for for-in/for-of)
41
- *
42
- * Scope-aware variable lookup for ITERATES_OVER:
43
- * For for-of/for-in, finds the iterated variable preferring:
44
- * 1. Variables declared before the loop on same or earlier line (closest first)
45
- * 2. Parameters (function arguments)
46
- */
47
- private bufferLoopEdges;
48
- /**
49
- * Buffer HAS_CONDITION edges from LOOP to condition EXPRESSION/CALL nodes.
50
- * Also creates EXPRESSION nodes for non-CallExpression conditions.
51
- *
52
- * REG-280: For while/do-while/for loops, creates HAS_CONDITION edge to the
53
- * condition expression. For-in/for-of loops don't have conditions (use ITERATES_OVER).
54
- *
55
- * For CallExpression conditions, links to existing CALL_SITE node by coordinates.
56
- */
57
- private bufferLoopConditionEdges;
58
- /**
59
- * Buffer EXPRESSION nodes for loop condition expressions (non-CallExpression).
60
- * Similar to bufferDiscriminantExpressions but for loops.
61
- *
62
- * REG-280: Creates EXPRESSION nodes for while/do-while/for loop conditions.
63
- * CallExpression conditions use existing CALL_SITE nodes (no EXPRESSION created).
64
- */
65
- private bufferLoopConditionExpressions;
66
- /**
67
- * Buffer BRANCH edges (CONTAINS, HAS_CONDITION, HAS_CONSEQUENT, HAS_ALTERNATE)
68
- *
69
- * REG-275: For CallExpression discriminants (switch(getType())), looks up the
70
- * actual CALL_SITE node by coordinates since the CALL_SITE uses semantic IDs.
71
- *
72
- * Phase 3 (REG-267): For if-branches, creates HAS_CONSEQUENT and HAS_ALTERNATE edges
73
- * pointing to the if-body and else-body SCOPEs.
74
- */
75
- private bufferBranchEdges;
76
- /**
77
- * Buffer CASE edges (HAS_CASE, HAS_DEFAULT)
78
- */
79
- private bufferCaseEdges;
80
- /**
81
- * Buffer edges for TRY_BLOCK, CATCH_BLOCK, FINALLY_BLOCK nodes (Phase 4)
82
- *
83
- * Creates edges for:
84
- * - Parent -> CONTAINS -> TRY_BLOCK
85
- * - TRY_BLOCK -> HAS_CATCH -> CATCH_BLOCK
86
- * - TRY_BLOCK -> HAS_FINALLY -> FINALLY_BLOCK
87
- */
88
- private bufferTryCatchFinallyEdges;
89
- /**
90
- * Buffer EXPRESSION nodes for switch discriminants
91
- * Uses stored metadata directly instead of parsing from ID (Linus improvement)
92
- *
93
- * REG-275: For CallExpression discriminants, we don't create nodes here since
94
- * bufferBranchEdges links to the existing CALL_SITE node by coordinates.
45
+ * Scope-aware function lookup: when multiple functions share the same name
46
+ * (e.g., inner function shadows outer), prefer the one in the same scope.
47
+ * Falls back to module-level function if no scope match found.
95
48
  */
96
- private bufferDiscriminantExpressions;
97
- private bufferVariableEdges;
98
- private bufferCallSiteEdges;
99
- private bufferMethodCalls;
100
- /**
101
- * Buffer PROPERTY_ACCESS nodes and CONTAINS edges (REG-395).
102
- *
103
- * Creates nodes for property reads (obj.prop, a.b.c) and
104
- * CONTAINS edges from the enclosing scope (function or module).
105
- */
106
- private bufferPropertyAccessNodes;
107
- private bufferStdioNodes;
108
- private bufferClassDeclarationNodes;
109
- private bufferClassNodes;
110
- private bufferCallbackEdges;
111
- private bufferImportNodes;
112
- private bufferExportNodes;
113
- private bufferEventListeners;
114
- private bufferHttpRequests;
115
- private bufferLiterals;
116
- private bufferAssignmentEdges;
117
- private bufferArgumentEdges;
118
- /**
119
- * Buffer INTERFACE nodes and EXTENDS edges
120
- *
121
- * Uses two-pass approach:
122
- * 1. First pass: create all interface nodes, store in Map
123
- * 2. Second pass: create EXTENDS edges using stored node IDs
124
- */
125
- private bufferInterfaceNodes;
126
- /**
127
- * Buffer TYPE alias nodes
128
- */
129
- private bufferTypeAliasNodes;
130
- /**
131
- * Buffer ENUM nodes
132
- * Uses EnumNode.create() to ensure consistent ID format (colon separator)
133
- */
134
- private bufferEnumNodes;
135
- /**
136
- * Buffer DECORATOR nodes and DECORATED_BY edges
137
- */
138
- private bufferDecoratorNodes;
139
- /**
140
- * Buffer IMPLEMENTS edges (CLASS -> INTERFACE)
141
- */
142
- private bufferImplementsEdges;
143
- /**
144
- * Buffer FLOWS_INTO edges for array mutations (push, unshift, splice, indexed assignment)
145
- * Creates edges from inserted values to the array variable.
146
- *
147
- * REG-117: Handles nested mutations like obj.arr.push(item)
148
- * REG-392: Handles non-variable values (LITERAL, OBJECT_LITERAL, ARRAY_LITERAL, CALL)
149
- */
150
- private bufferArrayMutationEdges;
151
- /**
152
- * Buffer FLOWS_INTO edges for object mutations (property assignment, Object.assign)
153
- * Creates edges from source values to the object variable being mutated.
154
- *
155
- * REG-152: For 'this.prop = value' patterns inside classes, creates edges
156
- * to the CLASS node with mutationType: 'this_property'.
157
- */
158
- private bufferObjectMutationEdges;
49
+ private findFunctionByName;
159
50
  /**
160
51
  * Resolve variable by name using scope chain lookup (REG-309).
161
52
  * Mirrors JavaScript lexical scoping: search current scope, then parent, then grandparent, etc.
@@ -184,149 +75,23 @@ export declare class GraphBuilder {
184
75
  */
185
76
  private scopePathsMatch;
186
77
  /**
187
- * Buffer FLOWS_INTO edges for variable reassignments.
188
- * Handles: x = y, x += y (when x is already declared, not initialization)
189
- *
190
- * Edge patterns:
191
- * - Simple assignment (=): source --FLOWS_INTO--> variable
192
- * - Compound operators (+=, -=, etc.):
193
- * - source --FLOWS_INTO--> variable (write new value)
194
- * - variable --READS_FROM--> variable (self-loop: reads current value before write)
195
- *
196
- * REG-309: Uses scope-aware variable lookup via resolveVariableInScope().
197
- *
198
- * REG-290: Complete implementation with inline node creation (no continue statements).
78
+ * Collect unique import.meta property names from property accesses (REG-300).
79
+ * Returns deduplicated array of property names (e.g., ["url", "env"]).
199
80
  */
200
- private bufferVariableReassignmentEdges;
81
+ private collectImportMetaProperties;
201
82
  /**
202
- * Buffer RETURNS edges connecting return expressions to their containing functions.
203
- *
204
- * Edge direction: returnExpression --RETURNS--> function
205
- *
206
- * This enables tracing data flow through function calls:
207
- * - Query: "What does formatDate return?"
208
- * - Answer: Follow RETURNS edges from function to see all possible return values
83
+ * Update MODULE node with import.meta metadata (REG-300).
84
+ * Reads existing MODULE node, adds importMeta property list, re-adds it.
209
85
  */
210
- private bufferReturnEdges;
86
+ private updateModuleImportMetaMetadata;
211
87
  /**
212
- * Buffer YIELDS and DELEGATES_TO edges connecting yield expressions to their generator functions.
213
- *
214
- * Edge direction:
215
- * - For yield: yieldedExpression --YIELDS--> generatorFunction
216
- * - For yield*: delegatedCall --DELEGATES_TO--> generatorFunction
217
- *
218
- * This enables tracing data flow through generator functions:
219
- * - Query: "What does this generator yield?"
220
- * - Answer: Follow YIELDS edges from function to see all possible yielded values
221
- * - Query: "What generators does this delegate to?"
222
- * - Answer: Follow DELEGATES_TO edges from function
223
- *
224
- * REG-270: Generator yield tracking
88
+ * Update MODULE node with hasTopLevelAwait metadata (REG-297).
89
+ * Reads existing MODULE node, adds hasTopLevelAwait flag, re-adds it.
225
90
  */
226
- private bufferYieldEdges;
227
- /**
228
- * Buffer UPDATE_EXPRESSION nodes and edges for increment/decrement operations.
229
- *
230
- * Handles two target types:
231
- * - IDENTIFIER: Simple variable (i++, --count)
232
- * - MEMBER_EXPRESSION: Object property (obj.prop++, arr[i]++, this.count++)
233
- *
234
- * Creates:
235
- * - UPDATE_EXPRESSION node with operator and target metadata
236
- * - MODIFIES edge: UPDATE_EXPRESSION -> target (VARIABLE, PARAMETER, or CLASS)
237
- * - READS_FROM self-loop: target -> target (reads current value before update)
238
- * - CONTAINS edge: SCOPE -> UPDATE_EXPRESSION
239
- *
240
- * REG-288: Initial implementation for IDENTIFIER targets
241
- * REG-312: Extended for MEMBER_EXPRESSION targets
242
- */
243
- private bufferUpdateExpressionEdges;
244
- /**
245
- * Buffer UPDATE_EXPRESSION node and edges for simple identifier updates (i++, --count)
246
- * REG-288: Original implementation extracted for clarity
247
- */
248
- private bufferIdentifierUpdate;
249
- /**
250
- * Buffer UPDATE_EXPRESSION node and edges for member expression updates (obj.prop++, arr[i]++)
251
- * REG-312: New implementation for member expression targets
252
- *
253
- * Creates:
254
- * - UPDATE_EXPRESSION node with member expression metadata
255
- * - MODIFIES edge: UPDATE_EXPRESSION -> VARIABLE(object) or CLASS (for this.prop++)
256
- * - READS_FROM self-loop: VARIABLE(object) -> VARIABLE(object)
257
- * - CONTAINS edge: SCOPE -> UPDATE_EXPRESSION
258
- */
259
- private bufferMemberExpressionUpdate;
260
- /**
261
- * Buffer RESOLVES_TO edges for Promise resolution data flow (REG-334).
262
- *
263
- * Links resolve/reject CALL nodes to their parent Promise CONSTRUCTOR_CALL.
264
- * This enables traceValues to follow Promise data flow:
265
- *
266
- * Example:
267
- * ```
268
- * const result = new Promise((resolve) => {
269
- * resolve(42); // CALL[resolve] --RESOLVES_TO--> CONSTRUCTOR_CALL[Promise]
270
- * });
271
- * ```
272
- *
273
- * The edge direction (CALL -> CONSTRUCTOR_CALL) matches data flow semantics:
274
- * data flows FROM resolve(value) TO the Promise result.
275
- */
276
- private bufferPromiseResolutionEdges;
277
- /**
278
- * Buffer OBJECT_LITERAL nodes to the graph.
279
- * These are object literals passed as function arguments or nested in other literals.
280
- */
281
- private bufferObjectLiteralNodes;
282
- /**
283
- * Buffer ARRAY_LITERAL nodes to the graph.
284
- * These are array literals passed as function arguments or nested in other literals.
285
- */
286
- private bufferArrayLiteralNodes;
287
- /**
288
- * Buffer HAS_PROPERTY edges connecting OBJECT_LITERAL nodes to their property values.
289
- * Creates edges from object literal to its property value nodes (LITERAL, nested OBJECT_LITERAL, ARRAY_LITERAL, etc.)
290
- *
291
- * REG-329: Adds scope-aware variable resolution for VARIABLE property values.
292
- * Uses the same resolveVariableInScope infrastructure as mutation handlers.
293
- */
294
- private bufferObjectPropertyEdges;
91
+ private updateModuleTopLevelAwaitMetadata;
295
92
  /**
296
93
  * Handle CLASS ASSIGNED_FROM edges asynchronously (needs graph queries)
297
94
  */
298
95
  private createClassAssignmentEdges;
299
- /**
300
- * Buffer REJECTS edges for async error tracking (REG-311).
301
- *
302
- * Creates edges from FUNCTION nodes to error CLASS nodes they can reject.
303
- * This enables tracking which async functions can throw which error types:
304
- *
305
- * - Promise.reject(new Error()) -> FUNCTION --REJECTS--> CLASS[Error]
306
- * - reject(new ValidationError()) in executor -> FUNCTION --REJECTS--> CLASS[ValidationError]
307
- * - throw new AuthError() in async function -> FUNCTION --REJECTS--> CLASS[AuthError]
308
- *
309
- * Also stores rejectionPatterns in function metadata for downstream enrichers.
310
- *
311
- * @param functions - All function infos from analysis
312
- * @param rejectionPatterns - Collected rejection patterns from analysis
313
- */
314
- private bufferRejectionEdges;
315
- /**
316
- * Buffer CATCHES_FROM edges linking catch blocks to error sources (REG-311).
317
- *
318
- * Creates edges from CATCH_BLOCK nodes to potential error sources within
319
- * their corresponding try blocks. This enables tracking which catch blocks
320
- * can handle which exceptions:
321
- *
322
- * - try { await fetch() } catch(e) -> CATCH_BLOCK --CATCHES_FROM--> CALL[fetch]
323
- * - try { throw new Error() } catch(e) -> CATCH_BLOCK --CATCHES_FROM--> THROW_STATEMENT
324
- *
325
- * The sourceType metadata helps distinguish different error source kinds
326
- * for more precise error flow analysis.
327
- *
328
- * @param catchesFromInfos - Collected CATCHES_FROM info from analysis
329
- */
330
- private bufferCatchesFromEdges;
331
96
  }
332
97
  //# sourceMappingURL=GraphBuilder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"GraphBuilder.d.ts","sourceRoot":"","sources":["../../../../src/plugins/analysis/ast/GraphBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GraphBuilder.d.ts","sourceRoot":"","sources":["../../../../src/plugins/analysis/ast/GraphBuilder.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAc,MAAM,gBAAgB,CAAC;AAG/D,OAAO,KAAK,EACV,UAAU,EAMV,cAAc,EAGd,WAAW,EACZ,MAAM,YAAY,CAAC;AAepB,qBAAa,YAAY;IAEvB,OAAO,CAAC,kBAAkB,CAA0B;IAGpD,OAAO,CAAC,WAAW,CAAmB;IACtC,OAAO,CAAC,WAAW,CAAmB;IAGtC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAc;IAC3C,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAqB;IACzD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAoB;IACvD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAkB;IACnD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAkB;IACnD,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAA0B;IACnE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgB;IAC/C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAe;IAC7C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAoB;IACvD,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAuB;;IAgB7D,OAAO,CAAC,cAAc;IAiBtB;;OAEG;IACH,OAAO,CAAC,WAAW;IAInB;;OAEG;IACH,OAAO,CAAC,WAAW;IAInB;;OAEG;YACW,WAAW;IAYzB;;;OAGG;YACW,WAAW;IAUzB;;OAEG;IACG,KAAK,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC;IAqKrH;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;IA+B1B;;;;;;;;;OASG;IACH,OAAO,CAAC,sBAAsB;IAiD9B;;;;;;;;;OASG;IACH,OAAO,CAAC,uBAAuB;IAgD/B;;;OAGG;IACH,OAAO,CAAC,eAAe;IAOvB;;;OAGG;IACH,OAAO,CAAC,2BAA2B;IAUnC;;;OAGG;YACW,8BAA8B;IAkB5C;;;OAGG;YACW,iCAAiC;IAgB/C;;OAEG;YACW,0BAA0B;CA+BzC"}