@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
@@ -1,17 +1,12 @@
1
1
  /**
2
- * NodeFactory - centralized graph node creation
2
+ * NodeFactory - centralized graph node creation (facade)
3
3
  *
4
- * Single point for creating all node types with:
5
- * - Required field validation
6
- * - Standard field set for each type
7
- * - Automatic ID generation
4
+ * Single point for creating all node types. Delegates to domain-specific
5
+ * factories in ./factories/ while maintaining a unified public API.
8
6
  *
9
- * Delegates creation to node contracts from ./nodes/
7
+ * All callers use NodeFactory.createX() - the domain split is an internal detail.
10
8
  */
11
9
 
12
- import { createHash } from 'crypto';
13
- import { basename, relative } from 'path';
14
-
15
10
  import {
16
11
  ServiceNode,
17
12
  EntrypointNode,
@@ -37,199 +32,39 @@ import {
37
32
  ClassNode,
38
33
  ExportNode,
39
34
  ExternalModuleNode,
35
+ ExternalFunctionNode,
40
36
  InterfaceNode,
41
37
  TypeNode,
38
+ TypeParameterNode,
42
39
  EnumNode,
43
40
  DecoratorNode,
44
41
  ExpressionNode,
45
- ArgumentExpressionNode,
46
42
  IssueNode,
47
43
  PluginNode,
48
- type EntrypointType,
49
- type EntrypointTrigger,
50
- type DecoratorTargetType,
51
- type InterfacePropertyRecord,
52
- type EnumMemberRecord,
53
- type IssueSeverity,
44
+ RustModuleNode,
45
+ RustFunctionNode,
46
+ RustStructNode,
47
+ RustImplNode,
48
+ RustMethodNode,
49
+ RustTraitNode,
50
+ RustCallNode,
51
+ ReactNode,
52
+ SocketIONode,
53
+ SocketConnectionNode,
54
+ DatabaseNode,
55
+ ServiceLayerNode,
54
56
  } from './nodes/index.js';
55
57
 
56
58
  import type { BaseNodeRecord } from '@grafema/types';
57
- import { brandNode } from '@grafema/types';
58
- import type { ScopeContext } from './SemanticId.js';
59
-
60
- interface ServiceOptions {
61
- version?: string;
62
- entrypoint?: string;
63
- discoveryMethod?: string;
64
- description?: string;
65
- dependencies?: string[];
66
- serviceType?: string;
67
- testFiles?: string[];
68
- metadata?: {
69
- type?: string;
70
- testFiles?: string[];
71
- };
72
- }
73
-
74
- interface EntrypointOptions {
75
- id?: string;
76
- name?: string;
77
- trigger?: EntrypointTrigger;
78
- source?: string;
79
- serviceId?: string;
80
- }
81
-
82
- interface ModuleOptions {
83
- contentHash?: string;
84
- isTest?: boolean;
85
- }
86
-
87
- interface ModuleContextOptions {
88
- contentHash?: string;
89
- isTest?: boolean;
90
- }
91
-
92
- interface FunctionOptions {
93
- async?: boolean;
94
- generator?: boolean;
95
- exported?: boolean;
96
- arrowFunction?: boolean;
97
- parentScopeId?: string;
98
- isClassMethod?: boolean;
99
- className?: string;
100
- params?: string[];
101
- counter?: number;
102
- }
103
-
104
- interface ScopeOptions {
105
- name?: string;
106
- conditional?: boolean;
107
- parentScopeId?: string;
108
- parentFunctionId?: string;
109
- capturesFrom?: string[];
110
- counter?: number;
111
- }
112
-
113
- interface CallSiteOptions {
114
- parentScopeId?: string;
115
- counter?: number;
116
- }
117
-
118
- interface MethodCallOptions {
119
- parentScopeId?: string;
120
- args?: unknown[];
121
- counter?: number;
122
- }
123
-
124
- interface ConstructorCallOptions {
125
- counter?: number;
126
- }
127
-
128
- interface VariableOptions {
129
- parentScopeId?: string;
130
- counter?: number;
131
- }
132
-
133
- interface ConstantOptions {
134
- value?: unknown;
135
- parentScopeId?: string;
136
- counter?: number;
137
- }
138
-
139
- interface LiteralOptions {
140
- parentCallId?: string;
141
- argIndex?: number;
142
- counter?: number;
143
- }
144
-
145
- interface ObjectLiteralOptions {
146
- parentCallId?: string;
147
- argIndex?: number;
148
- counter?: number;
149
- }
150
59
 
151
- interface ArrayLiteralOptions {
152
- parentCallId?: string;
153
- argIndex?: number;
154
- counter?: number;
155
- }
156
-
157
- interface EventListenerOptions {
158
- parentScopeId?: string;
159
- callbackArg?: string;
160
- counter?: number;
161
- }
162
-
163
- interface HttpRequestOptions {
164
- parentScopeId?: string;
165
- counter?: number;
166
- }
167
-
168
- interface DatabaseQueryOptions {
169
- parentScopeId?: string;
170
- }
171
-
172
- interface ImportOptions {
173
- importType?: 'default' | 'named' | 'namespace';
174
- importBinding?: 'value' | 'type' | 'typeof';
175
- imported?: string;
176
- local?: string;
177
- }
178
-
179
- interface ClassOptions {
180
- exported?: boolean;
181
- superClass?: string;
182
- methods?: string[];
183
- isInstantiationRef?: boolean;
184
- }
185
-
186
- interface ExportOptions {
187
- exportKind?: 'value' | 'type';
188
- local?: string;
189
- default?: boolean;
190
- source?: string;
191
- exportType?: 'default' | 'named' | 'all';
192
- }
193
-
194
- interface InterfaceOptions {
195
- extends?: string[];
196
- properties?: InterfacePropertyRecord[];
197
- isExternal?: boolean;
198
- }
199
-
200
- interface TypeOptions {
201
- aliasOf?: string;
202
- }
203
-
204
- interface EnumOptions {
205
- isConst?: boolean;
206
- members?: EnumMemberRecord[];
207
- }
208
-
209
- interface DecoratorOptions {
210
- arguments?: unknown[];
211
- }
212
-
213
- interface ExpressionOptions {
214
- // MemberExpression
215
- object?: string;
216
- property?: string;
217
- computed?: boolean;
218
- computedPropertyVar?: string;
219
- // Binary/Logical
220
- operator?: string;
221
- // Tracking
222
- path?: string;
223
- baseName?: string;
224
- propertyPath?: string[];
225
- arrayIndex?: number;
226
- }
227
-
228
- interface ArgumentExpressionOptions extends ExpressionOptions {
229
- parentCallId: string;
230
- argIndex: number;
231
- counter?: number;
232
- }
60
+ import { CoreFactory } from './factories/CoreFactory.js';
61
+ import { HttpFactory } from './factories/HttpFactory.js';
62
+ import { RustFactory } from './factories/RustFactory.js';
63
+ import { ReactFactory } from './factories/ReactFactory.js';
64
+ import { SocketFactory } from './factories/SocketFactory.js';
65
+ import { DatabaseFactory } from './factories/DatabaseFactory.js';
66
+ import { ServiceFactory } from './factories/ServiceFactory.js';
67
+ import { ExternalFactory } from './factories/ExternalFactory.js';
233
68
 
234
69
  // Validator type for node classes
235
70
  interface NodeValidator {
@@ -237,459 +72,118 @@ interface NodeValidator {
237
72
  }
238
73
 
239
74
  export class NodeFactory {
240
- /**
241
- * Create SERVICE node
242
- */
243
- static createService(name: string, projectPath: string, options: ServiceOptions = {}) {
244
- return brandNode(ServiceNode.create(name, projectPath, options));
245
- }
246
-
247
- /**
248
- * Create ENTRYPOINT node
249
- */
250
- static createEntrypoint(file: string, entrypointType: EntrypointType, options: EntrypointOptions = {}) {
251
- return brandNode(EntrypointNode.create(file, entrypointType, options));
252
- }
253
-
254
- /**
255
- * Create MODULE node (LEGACY)
256
- */
257
- static createModule(filePath: string, projectPath: string, options: ModuleOptions = {}) {
258
- if (!filePath) throw new Error('NodeFactory.createModule: filePath is required');
259
- if (!projectPath) throw new Error('NodeFactory.createModule: projectPath is required');
260
-
261
- const contentHash = options.contentHash || this._hashFile(filePath);
262
- const relativePath = relative(projectPath, filePath) || basename(filePath);
263
-
264
- return brandNode(ModuleNode.create(filePath, relativePath, contentHash, options));
265
- }
266
-
267
- /**
268
- * Create MODULE node with semantic ID (NEW API)
269
- *
270
- * Uses ScopeContext for stable identifiers.
271
- *
272
- * @param context - Scope context with file path (relative to project root)
273
- * @param options - Optional contentHash and isTest flag
274
- * @returns ModuleNodeRecord with semantic ID
275
- */
276
- static createModuleWithContext(context: ScopeContext, options: ModuleContextOptions = {}) {
277
- return brandNode(ModuleNode.createWithContext(context, options));
278
- }
279
-
280
- /**
281
- * Create FUNCTION node
282
- */
283
- static createFunction(name: string, file: string, line: number, column: number, options: FunctionOptions = {}) {
284
- return brandNode(FunctionNode.create(name, file, line, column, options));
285
- }
286
-
287
- /**
288
- * Create SCOPE node
289
- */
290
- static createScope(scopeType: string, file: string, line: number, options: ScopeOptions = {}) {
291
- return brandNode(ScopeNode.create(scopeType, file, line, options));
292
- }
293
-
294
- /**
295
- * Create BRANCH node
296
- */
297
- static createBranch(branchType: 'switch' | 'if' | 'ternary', file: string, line: number, column: number, options: { parentScopeId?: string; counter?: number } = {}) {
298
- return brandNode(BranchNode.create(branchType, file, line, column, options));
299
- }
300
-
301
- /**
302
- * Create CASE node
303
- */
304
- static createCase(
305
- value: unknown,
306
- isDefault: boolean,
307
- fallsThrough: boolean,
308
- isEmpty: boolean,
309
- file: string,
310
- line: number,
311
- column: number,
312
- options: { parentBranchId?: string; counter?: number } = {}
313
- ) {
314
- return brandNode(CaseNode.create(value, isDefault, fallsThrough, isEmpty, file, line, column, options));
315
- }
316
-
317
- /**
318
- * Create CALL_SITE node
319
- */
320
- static createCallSite(targetName: string, file: string, line: number, column: number, options: CallSiteOptions = {}) {
321
- return brandNode(CallSiteNode.create(targetName, file, line, column, options));
322
- }
323
-
324
- /**
325
- * Create METHOD_CALL node
326
- */
327
- static createMethodCall(objectName: string | undefined, methodName: string, file: string, line: number, column: number, options: MethodCallOptions = {}) {
328
- return brandNode(MethodCallNode.create(objectName, methodName, file, line, column, options));
329
- }
330
-
331
- /**
332
- * Create CONSTRUCTOR_CALL node
333
- *
334
- * Represents a `new ClassName()` expression.
335
- * Used for data flow: VARIABLE --ASSIGNED_FROM--> CONSTRUCTOR_CALL
336
- *
337
- * @param className - Name of the constructor (e.g., 'Date', 'MyClass')
338
- * @param file - File path
339
- * @param line - Line number
340
- * @param column - Column position
341
- * @param options - Optional counter for disambiguation
342
- */
343
- static createConstructorCall(className: string, file: string, line: number, column: number, options: ConstructorCallOptions = {}) {
344
- return brandNode(ConstructorCallNode.create(className, file, line, column, options));
345
- }
346
-
347
- /**
348
- * Generate CONSTRUCTOR_CALL node ID without creating the full node
349
- *
350
- * Used by JSASTAnalyzer when creating assignment metadata.
351
- * The full node is created later by GraphBuilder.
352
- */
353
- static generateConstructorCallId(className: string, file: string, line: number, column: number, options: ConstructorCallOptions = {}): string {
354
- return ConstructorCallNode.generateId(className, file, line, column, options);
355
- }
356
-
357
- /**
358
- * Check if a class name is a built-in JavaScript constructor
359
- */
360
- static isBuiltinConstructor(className: string): boolean {
361
- return ConstructorCallNode.isBuiltinConstructor(className);
362
- }
363
-
364
- /**
365
- * Create VARIABLE_DECLARATION node
366
- */
367
- static createVariableDeclaration(name: string, file: string, line: number, column: number, options: VariableOptions = {}) {
368
- return brandNode(VariableDeclarationNode.create(name, file, line, column, options));
369
- }
370
-
371
- /**
372
- * Create CONSTANT node
373
- */
374
- static createConstant(name: string, file: string, line: number, column: number, options: ConstantOptions = {}) {
375
- return brandNode(ConstantNode.create(name, file, line, column, options));
376
- }
377
-
378
- /**
379
- * Create LITERAL node
380
- */
381
- static createLiteral(value: unknown, file: string, line: number, column: number, options: LiteralOptions = {}) {
382
- return brandNode(LiteralNode.create(value, file, line, column, options));
383
- }
384
-
385
- /**
386
- * Create OBJECT_LITERAL node
387
- */
388
- static createObjectLiteral(file: string, line: number, column: number, options: ObjectLiteralOptions = {}) {
389
- return brandNode(ObjectLiteralNode.create(file, line, column, options));
390
- }
391
-
392
- /**
393
- * Create ARRAY_LITERAL node
394
- */
395
- static createArrayLiteral(file: string, line: number, column: number, options: ArrayLiteralOptions = {}) {
396
- return brandNode(ArrayLiteralNode.create(file, line, column, options));
397
- }
398
-
399
- /**
400
- * Create EXTERNAL_STDIO node (singleton)
401
- */
402
- static createExternalStdio() {
403
- return brandNode(ExternalStdioNode.create());
404
- }
405
-
406
- /**
407
- * Create net:request singleton node
408
- *
409
- * This node represents the external network as a system resource.
410
- * Should be created once per graph.
411
- *
412
- * All HTTP_REQUEST nodes connect to this singleton via CALLS edges.
413
- *
414
- * @returns NetworkRequestNodeRecord - singleton node
415
- */
416
- static createNetworkRequest() {
417
- return brandNode(NetworkRequestNode.create());
418
- }
419
-
420
- /**
421
- * Create EVENT_LISTENER node
422
- */
423
- static createEventListener(eventName: string, objectName: string | undefined, file: string, line: number, column: number, options: EventListenerOptions = {}) {
424
- return brandNode(EventListenerNode.create(eventName, objectName, file, line, column, options));
425
- }
426
-
427
- /**
428
- * Create HTTP_REQUEST node
429
- */
430
- static createHttpRequest(url: string | undefined, method: string | undefined, file: string, line: number, column: number, options: HttpRequestOptions = {}) {
431
- return brandNode(HttpRequestNode.create(url, method, file, line, column, options));
432
- }
433
-
434
- /**
435
- * Create DATABASE_QUERY node
436
- */
437
- static createDatabaseQuery(query: string | undefined, operation: string | undefined, file: string, line: number, column: number, options: DatabaseQueryOptions = {}) {
438
- return brandNode(DatabaseQueryNode.create(query, operation, file, line, column, options));
439
- }
440
-
441
- /**
442
- * Create IMPORT node
443
- *
444
- * ImportNode automatically detects importType from imported field:
445
- * - imported === 'default' → importType: 'default'
446
- * - imported === '*' → importType: 'namespace'
447
- * - anything else → importType: 'named'
448
- *
449
- * @param name - Local binding name (how it's used in this file)
450
- * @param file - Absolute file path
451
- * @param line - Line number (for debugging, not part of ID)
452
- * @param column - Column position (0 if unavailable)
453
- * @param source - Source module (e.g., 'react', './utils')
454
- * @param options - Optional fields
455
- * @returns ImportNodeRecord
456
- */
457
- static createImport(
458
- name: string,
459
- file: string,
460
- line: number,
461
- column: number,
462
- source: string,
463
- options: ImportOptions = {}
464
- ) {
465
- return brandNode(ImportNode.create(name, file, line, column, source, options));
466
- }
467
-
468
- /**
469
- * Create CLASS node
470
- */
471
- static createClass(
472
- name: string,
473
- file: string,
474
- line: number,
475
- column: number,
476
- options: ClassOptions = {}
477
- ) {
478
- return brandNode(ClassNode.create(name, file, line, column, options));
479
- }
480
-
481
- /**
482
- * Create EXPORT node
483
- */
484
- static createExport(
485
- name: string,
486
- file: string,
487
- line: number,
488
- column: number,
489
- options: ExportOptions = {}
490
- ) {
491
- return brandNode(ExportNode.create(name, file, line, column, options));
492
- }
493
-
494
- /**
495
- * Create EXTERNAL_MODULE node
496
- *
497
- * Represents external npm packages or Node.js built-in modules.
498
- * Uses singleton pattern - same source always produces same ID.
499
- *
500
- * @param source - Module name (e.g., 'lodash', '@tanstack/react-query', 'node:fs')
501
- */
502
- static createExternalModule(source: string) {
503
- return brandNode(ExternalModuleNode.create(source));
504
- }
505
-
506
- /**
507
- * Create INTERFACE node
508
- */
509
- static createInterface(
510
- name: string,
511
- file: string,
512
- line: number,
513
- column: number,
514
- options: InterfaceOptions = {}
515
- ) {
516
- return brandNode(InterfaceNode.create(name, file, line, column, options));
517
- }
518
-
519
- /**
520
- * Create TYPE node
521
- */
522
- static createType(
523
- name: string,
524
- file: string,
525
- line: number,
526
- column: number,
527
- options: TypeOptions = {}
528
- ) {
529
- return brandNode(TypeNode.create(name, file, line, column, options));
530
- }
531
-
532
- /**
533
- * Create ENUM node
534
- */
535
- static createEnum(
536
- name: string,
537
- file: string,
538
- line: number,
539
- column: number,
540
- options: EnumOptions = {}
541
- ) {
542
- return brandNode(EnumNode.create(name, file, line, column, options));
543
- }
544
-
545
- /**
546
- * Create DECORATOR node
547
- */
548
- static createDecorator(
549
- name: string,
550
- file: string,
551
- line: number,
552
- column: number,
553
- targetId: string,
554
- targetType: DecoratorTargetType,
555
- options: DecoratorOptions = {}
556
- ) {
557
- return brandNode(DecoratorNode.create(name, file, line, column, targetId, targetType, options));
558
- }
559
-
560
- /**
561
- * Create EXPRESSION node
562
- */
563
- static createExpression(
564
- expressionType: string,
565
- file: string,
566
- line: number,
567
- column: number,
568
- options: ExpressionOptions = {}
569
- ) {
570
- return brandNode(ExpressionNode.create(expressionType, file, line, column, options));
571
- }
572
-
573
- /**
574
- * Generate EXPRESSION node ID without creating the full node
575
- *
576
- * Used by JSASTAnalyzer when creating assignment metadata.
577
- * The full node is created later by GraphBuilder.
578
- *
579
- * @param expressionType - Type of expression (MemberExpression, BinaryExpression, etc.)
580
- * @param file - File path
581
- * @param line - Line number
582
- * @param column - Column position
583
- * @returns Generated ID string in colon format
584
- */
585
- static generateExpressionId(
586
- expressionType: string,
587
- file: string,
588
- line: number,
589
- column: number
590
- ): string {
591
- return ExpressionNode.generateId(expressionType, file, line, column);
592
- }
593
-
594
- /**
595
- * Create EXPRESSION node from assignment metadata
596
- *
597
- * Used by GraphBuilder when processing variableAssignments.
598
- * The ID is provided from upstream (generated by JSASTAnalyzer).
599
- *
600
- * @param expressionType - Type of expression
601
- * @param file - File path
602
- * @param line - Line number
603
- * @param column - Column position
604
- * @param options - Must include id; optional: expression properties
605
- */
606
- static createExpressionFromMetadata(
607
- expressionType: string,
608
- file: string,
609
- line: number,
610
- column: number,
611
- options: ExpressionOptions & { id: string }
612
- ) {
613
- return brandNode(ExpressionNode.createFromMetadata(expressionType, file, line, column, options));
614
- }
615
-
616
- /**
617
- * Create EXPRESSION node with argument context
618
- *
619
- * Used when EXPRESSION appears as a call argument and we need to track
620
- * which call and argument position for data flow analysis.
621
- *
622
- * @param expressionType - Type of expression (BinaryExpression, LogicalExpression, etc.)
623
- * @param file - File path
624
- * @param line - Line number
625
- * @param column - Column position
626
- * @param options - Required: parentCallId, argIndex; Optional: expression properties, counter
627
- * @returns ArgumentExpressionNodeRecord
628
- */
629
- static createArgumentExpression(
630
- expressionType: string,
631
- file: string,
632
- line: number,
633
- column: number,
634
- options: ArgumentExpressionOptions
635
- ) {
636
- return brandNode(ArgumentExpressionNode.create(expressionType, file, line, column, options));
637
- }
638
-
639
- /**
640
- * Create ISSUE node
641
- *
642
- * Issues represent detected problems in the codebase.
643
- * Used by validation plugins to persist findings in the graph.
644
- *
645
- * @param category - Issue category (security, performance, style, smell)
646
- * @param severity - error | warning | info
647
- * @param message - Human-readable description
648
- * @param plugin - Name of the plugin that detected this issue
649
- * @param file - File path where issue was detected
650
- * @param line - Line number
651
- * @param column - Column number (optional)
652
- * @param options - Optional context data
653
- */
654
- static createIssue(
655
- category: string,
656
- severity: IssueSeverity,
657
- message: string,
658
- plugin: string,
659
- file: string,
660
- line: number,
661
- column: number = 0,
662
- options: { context?: Record<string, unknown> } = {}
663
- ) {
664
- return brandNode(IssueNode.create(category, severity, message, plugin, file, line, column, options));
665
- }
666
-
667
- /**
668
- * Create grafema:plugin node.
669
- *
670
- * Represents a Grafema plugin in the analysis pipeline.
671
- * Created by the Orchestrator at startup to make the pipeline
672
- * queryable via the graph.
673
- *
674
- * @param name - Plugin class name (e.g., 'HTTPConnectionEnricher')
675
- * @param phase - Plugin phase (DISCOVERY, INDEXING, ANALYSIS, ENRICHMENT, VALIDATION)
676
- * @param options - Optional fields (priority, file, builtin, creates, dependencies)
677
- */
678
- static createPlugin(
679
- name: string,
680
- phase: string,
681
- options: {
682
- priority?: number;
683
- file?: string;
684
- line?: number;
685
- builtin?: boolean;
686
- createsNodes?: string[];
687
- createsEdges?: string[];
688
- dependencies?: string[];
689
- } = {}
690
- ) {
691
- return brandNode(PluginNode.create(name, phase, options));
692
- }
75
+ // ==========================================
76
+ // Core node types (delegate to CoreFactory)
77
+ // ==========================================
78
+
79
+ static createService = CoreFactory.createService.bind(CoreFactory);
80
+ static createEntrypoint = CoreFactory.createEntrypoint.bind(CoreFactory);
81
+ static createModule = CoreFactory.createModule.bind(CoreFactory);
82
+ static createModuleWithContext = CoreFactory.createModuleWithContext.bind(CoreFactory);
83
+ static createFunction = CoreFactory.createFunction.bind(CoreFactory);
84
+ static createScope = CoreFactory.createScope.bind(CoreFactory);
85
+ static createBranch = CoreFactory.createBranch.bind(CoreFactory);
86
+ static createCase = CoreFactory.createCase.bind(CoreFactory);
87
+ static createCallSite = CoreFactory.createCallSite.bind(CoreFactory);
88
+ static createMethodCall = CoreFactory.createMethodCall.bind(CoreFactory);
89
+ static createConstructorCall = CoreFactory.createConstructorCall.bind(CoreFactory);
90
+ static generateConstructorCallId = CoreFactory.generateConstructorCallId.bind(CoreFactory);
91
+ static isBuiltinConstructor = CoreFactory.isBuiltinConstructor.bind(CoreFactory);
92
+ static createVariableDeclaration = CoreFactory.createVariableDeclaration.bind(CoreFactory);
93
+ static createConstant = CoreFactory.createConstant.bind(CoreFactory);
94
+ static createLiteral = CoreFactory.createLiteral.bind(CoreFactory);
95
+ static createObjectLiteral = CoreFactory.createObjectLiteral.bind(CoreFactory);
96
+ static createArrayLiteral = CoreFactory.createArrayLiteral.bind(CoreFactory);
97
+ static createExternalStdio = CoreFactory.createExternalStdio.bind(CoreFactory);
98
+ static createEventListener = CoreFactory.createEventListener.bind(CoreFactory);
99
+ static createImport = CoreFactory.createImport.bind(CoreFactory);
100
+ static createClass = CoreFactory.createClass.bind(CoreFactory);
101
+ static createExport = CoreFactory.createExport.bind(CoreFactory);
102
+ static createInterface = CoreFactory.createInterface.bind(CoreFactory);
103
+ static createType = CoreFactory.createType.bind(CoreFactory);
104
+ static createTypeParameter = CoreFactory.createTypeParameter.bind(CoreFactory);
105
+ static createEnum = CoreFactory.createEnum.bind(CoreFactory);
106
+ static createDecorator = CoreFactory.createDecorator.bind(CoreFactory);
107
+ static createExpression = CoreFactory.createExpression.bind(CoreFactory);
108
+ static generateExpressionId = CoreFactory.generateExpressionId.bind(CoreFactory);
109
+ static createExpressionFromMetadata = CoreFactory.createExpressionFromMetadata.bind(CoreFactory);
110
+ static createArgumentExpression = CoreFactory.createArgumentExpression.bind(CoreFactory);
111
+ static createIssue = CoreFactory.createIssue.bind(CoreFactory);
112
+ static createPlugin = CoreFactory.createPlugin.bind(CoreFactory);
113
+ static _hashFile = CoreFactory._hashFile.bind(CoreFactory);
114
+
115
+ // ==========================================
116
+ // HTTP domain (delegate to HttpFactory)
117
+ // ==========================================
118
+
119
+ static createNetworkRequest = HttpFactory.createNetworkRequest.bind(HttpFactory);
120
+ static createHttpRoute = HttpFactory.createHttpRoute.bind(HttpFactory);
121
+ static createFetchRequest = HttpFactory.createFetchRequest.bind(HttpFactory);
122
+ static createExpressMount = HttpFactory.createExpressMount.bind(HttpFactory);
123
+ static createExpressMiddleware = HttpFactory.createExpressMiddleware.bind(HttpFactory);
124
+ static createExternalApi = HttpFactory.createExternalApi.bind(HttpFactory);
125
+ static createHttpRequest = HttpFactory.createHttpRequest.bind(HttpFactory);
126
+
127
+ // ==========================================
128
+ // Rust domain (delegate to RustFactory)
129
+ // ==========================================
130
+
131
+ static createRustModule = RustFactory.createRustModule.bind(RustFactory);
132
+ static createRustFunction = RustFactory.createRustFunction.bind(RustFactory);
133
+ static createRustStruct = RustFactory.createRustStruct.bind(RustFactory);
134
+ static createRustImpl = RustFactory.createRustImpl.bind(RustFactory);
135
+ static createRustMethod = RustFactory.createRustMethod.bind(RustFactory);
136
+ static createRustTrait = RustFactory.createRustTrait.bind(RustFactory);
137
+ static createRustCall = RustFactory.createRustCall.bind(RustFactory);
138
+
139
+ // ==========================================
140
+ // React domain (delegate to ReactFactory)
141
+ // ==========================================
142
+
143
+ static createReactNode = ReactFactory.createReactNode.bind(ReactFactory);
144
+
145
+ // ==========================================
146
+ // Socket domain (delegate to SocketFactory)
147
+ // ==========================================
148
+
149
+ static createSocketIOEmit = SocketFactory.createSocketIOEmit.bind(SocketFactory);
150
+ static createSocketIOListener = SocketFactory.createSocketIOListener.bind(SocketFactory);
151
+ static createSocketIORoom = SocketFactory.createSocketIORoom.bind(SocketFactory);
152
+ static createSocketIOEvent = SocketFactory.createSocketIOEvent.bind(SocketFactory);
153
+ static createUnixSocket = SocketFactory.createUnixSocket.bind(SocketFactory);
154
+ static createTcpConnection = SocketFactory.createTcpConnection.bind(SocketFactory);
155
+ static createUnixServer = SocketFactory.createUnixServer.bind(SocketFactory);
156
+ static createTcpServer = SocketFactory.createTcpServer.bind(SocketFactory);
157
+
158
+ // ==========================================
159
+ // Database domain (delegate to DatabaseFactory)
160
+ // ==========================================
161
+
162
+ static createDatabaseQuery = DatabaseFactory.createDatabaseQuery.bind(DatabaseFactory);
163
+ static createDbConnection = DatabaseFactory.createDbConnection.bind(DatabaseFactory);
164
+ static createDbQuery = DatabaseFactory.createDbQuery.bind(DatabaseFactory);
165
+ static createSQLiteQuery = DatabaseFactory.createSQLiteQuery.bind(DatabaseFactory);
166
+ static createDbTable = DatabaseFactory.createDbTable.bind(DatabaseFactory);
167
+
168
+ // ==========================================
169
+ // Service Layer (delegate to ServiceFactory)
170
+ // ==========================================
171
+
172
+ static createServiceClass = ServiceFactory.createServiceClass.bind(ServiceFactory);
173
+ static createServiceInstance = ServiceFactory.createServiceInstance.bind(ServiceFactory);
174
+ static createServiceRegistration = ServiceFactory.createServiceRegistration.bind(ServiceFactory);
175
+ static createServiceUsage = ServiceFactory.createServiceUsage.bind(ServiceFactory);
176
+
177
+ // ==========================================
178
+ // External modules (delegate to ExternalFactory)
179
+ // ==========================================
180
+
181
+ static createExternalModule = ExternalFactory.createExternalModule.bind(ExternalFactory);
182
+ static createExternalFunction = ExternalFactory.createExternalFunction.bind(ExternalFactory);
183
+
184
+ // ==========================================
185
+ // Validation (stays in facade - needs all node types)
186
+ // ==========================================
693
187
 
694
188
  /**
695
189
  * Validate node by its type
@@ -720,11 +214,20 @@ export class NodeFactory {
720
214
  'CLASS': ClassNode,
721
215
  'EXPORT': ExportNode,
722
216
  'EXTERNAL_MODULE': ExternalModuleNode,
217
+ 'EXTERNAL_FUNCTION': ExternalFunctionNode,
723
218
  'INTERFACE': InterfaceNode,
724
219
  'TYPE': TypeNode,
220
+ 'TYPE_PARAMETER': TypeParameterNode,
725
221
  'ENUM': EnumNode,
726
222
  'DECORATOR': DecoratorNode,
727
- 'EXPRESSION': ExpressionNode
223
+ 'EXPRESSION': ExpressionNode,
224
+ 'RUST_MODULE': RustModuleNode,
225
+ 'RUST_FUNCTION': RustFunctionNode,
226
+ 'RUST_STRUCT': RustStructNode,
227
+ 'RUST_IMPL': RustImplNode,
228
+ 'RUST_METHOD': RustMethodNode,
229
+ 'RUST_TRAIT': RustTraitNode,
230
+ 'RUST_CALL': RustCallNode,
728
231
  };
729
232
 
730
233
  // Handle issue:* types dynamically
@@ -737,6 +240,31 @@ export class NodeFactory {
737
240
  return PluginNode.validate(node);
738
241
  }
739
242
 
243
+ // Handle React domain types (react:*, dom:*, browser:*, canvas:*)
244
+ if (ReactNode.isReactDomainType(node.type)) {
245
+ return ReactNode.validate(node);
246
+ }
247
+
248
+ // Handle Socket.IO types (socketio:*)
249
+ if (SocketIONode.isSocketIOType(node.type)) {
250
+ return SocketIONode.validate(node);
251
+ }
252
+
253
+ // Handle socket types (os:unix-*, net:tcp-*)
254
+ if (SocketConnectionNode.isSocketType(node.type)) {
255
+ return SocketConnectionNode.validate(node);
256
+ }
257
+
258
+ // Handle database domain types (db:*)
259
+ if (DatabaseNode.isDatabaseType(node.type)) {
260
+ return DatabaseNode.validate(node);
261
+ }
262
+
263
+ // Handle service layer types (SERVICE_*)
264
+ if (ServiceLayerNode.isServiceLayerType(node.type)) {
265
+ return ServiceLayerNode.validate(node);
266
+ }
267
+
740
268
  const validator = validators[node.type];
741
269
  if (!validator) {
742
270
  return [`Unknown node type: ${node.type}`];
@@ -744,11 +272,4 @@ export class NodeFactory {
744
272
 
745
273
  return validator.validate(node);
746
274
  }
747
-
748
- /**
749
- * Helper: hash file path for stable ID
750
- */
751
- static _hashFile(filePath: string): string {
752
- return createHash('md5').update(filePath).digest('hex').substring(0, 12);
753
- }
754
275
  }