@grafema/core 0.2.4-beta → 0.2.6-beta

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 (1072) 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 +42 -122
  15. package/dist/Orchestrator.d.ts.map +1 -1
  16. package/dist/Orchestrator.js +228 -513
  17. package/dist/Orchestrator.js.map +1 -0
  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 +92 -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/api/GraphAPI.d.ts +1 -1
  31. package/dist/api/GraphAPI.d.ts.map +1 -1
  32. package/dist/api/GraphAPI.js +3 -1
  33. package/dist/api/GraphAPI.js.map +1 -0
  34. package/dist/api/GuaranteeAPI.d.ts.map +1 -1
  35. package/dist/api/GuaranteeAPI.js +4 -2
  36. package/dist/api/GuaranteeAPI.js.map +1 -0
  37. package/dist/config/ConfigLoader.d.ts +117 -1
  38. package/dist/config/ConfigLoader.d.ts.map +1 -1
  39. package/dist/config/ConfigLoader.js +198 -4
  40. package/dist/config/ConfigLoader.js.map +1 -0
  41. package/dist/config/index.d.ts +1 -1
  42. package/dist/config/index.d.ts.map +1 -1
  43. package/dist/config/index.js +2 -1
  44. package/dist/config/index.js.map +1 -0
  45. package/dist/core/ASTWorker.d.ts +2 -0
  46. package/dist/core/ASTWorker.d.ts.map +1 -1
  47. package/dist/core/ASTWorker.js +12 -6
  48. package/dist/core/ASTWorker.js.map +1 -0
  49. package/dist/core/ASTWorkerPool.js +2 -1
  50. package/dist/core/ASTWorkerPool.js.map +1 -0
  51. package/dist/core/AnalysisQueue.js +1 -0
  52. package/dist/core/AnalysisQueue.js.map +1 -0
  53. package/dist/core/CoverageAnalyzer.d.ts.map +1 -1
  54. package/dist/core/CoverageAnalyzer.js +1 -0
  55. package/dist/core/CoverageAnalyzer.js.map +1 -0
  56. package/dist/core/FileExplainer.js +1 -0
  57. package/dist/core/FileExplainer.js.map +1 -0
  58. package/dist/core/FileNodeManager.d.ts.map +1 -1
  59. package/dist/core/FileNodeManager.js +4 -2
  60. package/dist/core/FileNodeManager.js.map +1 -0
  61. package/dist/core/FileOverview.d.ts +124 -0
  62. package/dist/core/FileOverview.d.ts.map +1 -0
  63. package/dist/core/FileOverview.js +257 -0
  64. package/dist/core/FileOverview.js.map +1 -0
  65. package/dist/core/GraphBackend.js +1 -0
  66. package/dist/core/GraphBackend.js.map +1 -0
  67. package/dist/core/GraphFreshnessChecker.d.ts +1 -1
  68. package/dist/core/GraphFreshnessChecker.d.ts.map +1 -1
  69. package/dist/core/GraphFreshnessChecker.js +8 -5
  70. package/dist/core/GraphFreshnessChecker.js.map +1 -0
  71. package/dist/core/GuaranteeManager.d.ts +13 -0
  72. package/dist/core/GuaranteeManager.d.ts.map +1 -1
  73. package/dist/core/GuaranteeManager.js +65 -3
  74. package/dist/core/GuaranteeManager.js.map +1 -0
  75. package/dist/core/HashUtils.js +1 -0
  76. package/dist/core/HashUtils.js.map +1 -0
  77. package/dist/core/IncrementalReanalyzer.d.ts.map +1 -1
  78. package/dist/core/IncrementalReanalyzer.js +13 -6
  79. package/dist/core/IncrementalReanalyzer.js.map +1 -0
  80. package/dist/core/ManifestStore.js +1 -0
  81. package/dist/core/ManifestStore.js.map +1 -0
  82. package/dist/core/NodeFactory.d.ts +82 -396
  83. package/dist/core/NodeFactory.d.ts.map +1 -1
  84. package/dist/core/NodeFactory.js +144 -322
  85. package/dist/core/NodeFactory.js.map +1 -0
  86. package/dist/core/NodeId.js +1 -0
  87. package/dist/core/NodeId.js.map +1 -0
  88. package/dist/core/PriorityQueue.js +1 -0
  89. package/dist/core/PriorityQueue.js.map +1 -0
  90. package/dist/core/Profiler.js +1 -0
  91. package/dist/core/Profiler.js.map +1 -0
  92. package/dist/core/ResourceRegistry.d.ts +17 -0
  93. package/dist/core/ResourceRegistry.d.ts.map +1 -0
  94. package/dist/core/ResourceRegistry.js +32 -0
  95. package/dist/core/ResourceRegistry.js.map +1 -0
  96. package/dist/core/ScopeTracker.d.ts +12 -0
  97. package/dist/core/ScopeTracker.d.ts.map +1 -1
  98. package/dist/core/ScopeTracker.js +25 -0
  99. package/dist/core/ScopeTracker.js.map +1 -0
  100. package/dist/core/SemanticId.d.ts +69 -0
  101. package/dist/core/SemanticId.d.ts.map +1 -1
  102. package/dist/core/SemanticId.js +135 -0
  103. package/dist/core/SemanticId.js.map +1 -0
  104. package/dist/core/Task.js +1 -0
  105. package/dist/core/Task.js.map +1 -0
  106. package/dist/core/TaskTypes.js +1 -0
  107. package/dist/core/TaskTypes.js.map +1 -0
  108. package/dist/core/VersionManager.js +1 -0
  109. package/dist/core/VersionManager.js.map +1 -0
  110. package/dist/core/WorkerPool.d.ts.map +1 -1
  111. package/dist/core/WorkerPool.js +3 -1
  112. package/dist/core/WorkerPool.js.map +1 -0
  113. package/dist/core/brandNodeInternal.d.ts +14 -0
  114. package/dist/core/brandNodeInternal.d.ts.map +1 -0
  115. package/dist/core/brandNodeInternal.js +4 -0
  116. package/dist/core/brandNodeInternal.js.map +1 -0
  117. package/dist/core/buildDependencyGraph.d.ts +36 -0
  118. package/dist/core/buildDependencyGraph.d.ts.map +1 -0
  119. package/dist/core/buildDependencyGraph.js +78 -0
  120. package/dist/core/buildDependencyGraph.js.map +1 -0
  121. package/dist/core/factories/CoreFactory.d.ts +223 -0
  122. package/dist/core/factories/CoreFactory.d.ts.map +1 -0
  123. package/dist/core/factories/CoreFactory.js +127 -0
  124. package/dist/core/factories/CoreFactory.js.map +1 -0
  125. package/dist/core/factories/DatabaseFactory.d.ts +29 -0
  126. package/dist/core/factories/DatabaseFactory.d.ts.map +1 -0
  127. package/dist/core/factories/DatabaseFactory.js +25 -0
  128. package/dist/core/factories/DatabaseFactory.js.map +1 -0
  129. package/dist/core/factories/ExternalFactory.d.ts +11 -0
  130. package/dist/core/factories/ExternalFactory.d.ts.map +1 -0
  131. package/dist/core/factories/ExternalFactory.js +16 -0
  132. package/dist/core/factories/ExternalFactory.js.map +1 -0
  133. package/dist/core/factories/HttpFactory.d.ts +22 -0
  134. package/dist/core/factories/HttpFactory.d.ts.map +1 -0
  135. package/dist/core/factories/HttpFactory.js +32 -0
  136. package/dist/core/factories/HttpFactory.js.map +1 -0
  137. package/dist/core/factories/ReactFactory.d.ts +14 -0
  138. package/dist/core/factories/ReactFactory.d.ts.map +1 -0
  139. package/dist/core/factories/ReactFactory.js +13 -0
  140. package/dist/core/factories/ReactFactory.js.map +1 -0
  141. package/dist/core/factories/RustFactory.d.ts +62 -0
  142. package/dist/core/factories/RustFactory.d.ts.map +1 -0
  143. package/dist/core/factories/RustFactory.js +32 -0
  144. package/dist/core/factories/RustFactory.js.map +1 -0
  145. package/dist/core/factories/ServiceFactory.d.ts +12 -0
  146. package/dist/core/factories/ServiceFactory.d.ts.map +1 -0
  147. package/dist/core/factories/ServiceFactory.js +22 -0
  148. package/dist/core/factories/ServiceFactory.js.map +1 -0
  149. package/dist/core/factories/SocketFactory.d.ts +31 -0
  150. package/dist/core/factories/SocketFactory.d.ts.map +1 -0
  151. package/dist/core/factories/SocketFactory.js +35 -0
  152. package/dist/core/factories/SocketFactory.js.map +1 -0
  153. package/dist/core/nodes/ArgumentExpressionNode.js +1 -0
  154. package/dist/core/nodes/ArgumentExpressionNode.js.map +1 -0
  155. package/dist/core/nodes/ArrayLiteralNode.js +1 -0
  156. package/dist/core/nodes/ArrayLiteralNode.js.map +1 -0
  157. package/dist/core/nodes/BranchNode.js +1 -0
  158. package/dist/core/nodes/BranchNode.js.map +1 -0
  159. package/dist/core/nodes/CallSiteNode.js +1 -0
  160. package/dist/core/nodes/CallSiteNode.js.map +1 -0
  161. package/dist/core/nodes/CaseNode.js +1 -0
  162. package/dist/core/nodes/CaseNode.js.map +1 -0
  163. package/dist/core/nodes/ClassNode.js +1 -0
  164. package/dist/core/nodes/ClassNode.js.map +1 -0
  165. package/dist/core/nodes/ConstantNode.js +1 -0
  166. package/dist/core/nodes/ConstantNode.js.map +1 -0
  167. package/dist/core/nodes/ConstructorCallNode.js +1 -0
  168. package/dist/core/nodes/ConstructorCallNode.js.map +1 -0
  169. package/dist/core/nodes/DatabaseNode.d.ts +85 -0
  170. package/dist/core/nodes/DatabaseNode.d.ts.map +1 -0
  171. package/dist/core/nodes/DatabaseNode.js +118 -0
  172. package/dist/core/nodes/DatabaseNode.js.map +1 -0
  173. package/dist/core/nodes/DatabaseQueryNode.js +1 -0
  174. package/dist/core/nodes/DatabaseQueryNode.js.map +1 -0
  175. package/dist/core/nodes/DecoratorNode.js +1 -0
  176. package/dist/core/nodes/DecoratorNode.js.map +1 -0
  177. package/dist/core/nodes/EntrypointNode.js +1 -0
  178. package/dist/core/nodes/EntrypointNode.js.map +1 -0
  179. package/dist/core/nodes/EnumNode.js +1 -0
  180. package/dist/core/nodes/EnumNode.js.map +1 -0
  181. package/dist/core/nodes/EventListenerNode.js +1 -0
  182. package/dist/core/nodes/EventListenerNode.js.map +1 -0
  183. package/dist/core/nodes/ExportNode.js +1 -0
  184. package/dist/core/nodes/ExportNode.js.map +1 -0
  185. package/dist/core/nodes/ExpressMiddlewareNode.d.ts +47 -0
  186. package/dist/core/nodes/ExpressMiddlewareNode.d.ts.map +1 -0
  187. package/dist/core/nodes/ExpressMiddlewareNode.js +63 -0
  188. package/dist/core/nodes/ExpressMiddlewareNode.js.map +1 -0
  189. package/dist/core/nodes/ExpressMountNode.d.ts +44 -0
  190. package/dist/core/nodes/ExpressMountNode.d.ts.map +1 -0
  191. package/dist/core/nodes/ExpressMountNode.js +61 -0
  192. package/dist/core/nodes/ExpressMountNode.js.map +1 -0
  193. package/dist/core/nodes/ExpressionNode.js +1 -0
  194. package/dist/core/nodes/ExpressionNode.js.map +1 -0
  195. package/dist/core/nodes/ExternalApiNode.d.ts +29 -0
  196. package/dist/core/nodes/ExternalApiNode.d.ts.map +1 -0
  197. package/dist/core/nodes/ExternalApiNode.js +41 -0
  198. package/dist/core/nodes/ExternalApiNode.js.map +1 -0
  199. package/dist/core/nodes/ExternalFunctionNode.d.ts +40 -0
  200. package/dist/core/nodes/ExternalFunctionNode.d.ts.map +1 -0
  201. package/dist/core/nodes/ExternalFunctionNode.js +54 -0
  202. package/dist/core/nodes/ExternalFunctionNode.js.map +1 -0
  203. package/dist/core/nodes/ExternalModuleNode.js +1 -0
  204. package/dist/core/nodes/ExternalModuleNode.js.map +1 -0
  205. package/dist/core/nodes/ExternalStdioNode.js +1 -0
  206. package/dist/core/nodes/ExternalStdioNode.js.map +1 -0
  207. package/dist/core/nodes/FetchRequestNode.d.ts +54 -0
  208. package/dist/core/nodes/FetchRequestNode.d.ts.map +1 -0
  209. package/dist/core/nodes/FetchRequestNode.js +67 -0
  210. package/dist/core/nodes/FetchRequestNode.js.map +1 -0
  211. package/dist/core/nodes/FunctionNode.js +1 -0
  212. package/dist/core/nodes/FunctionNode.js.map +1 -0
  213. package/dist/core/nodes/GuaranteeNode.js +1 -0
  214. package/dist/core/nodes/GuaranteeNode.js.map +1 -0
  215. package/dist/core/nodes/HttpRequestNode.js +1 -0
  216. package/dist/core/nodes/HttpRequestNode.js.map +1 -0
  217. package/dist/core/nodes/HttpRouteNode.d.ts +58 -0
  218. package/dist/core/nodes/HttpRouteNode.d.ts.map +1 -0
  219. package/dist/core/nodes/HttpRouteNode.js +72 -0
  220. package/dist/core/nodes/HttpRouteNode.js.map +1 -0
  221. package/dist/core/nodes/ImportNode.js +1 -0
  222. package/dist/core/nodes/ImportNode.js.map +1 -0
  223. package/dist/core/nodes/InterfaceNode.js +1 -0
  224. package/dist/core/nodes/InterfaceNode.js.map +1 -0
  225. package/dist/core/nodes/IssueNode.js +1 -0
  226. package/dist/core/nodes/IssueNode.js.map +1 -0
  227. package/dist/core/nodes/LiteralNode.js +1 -0
  228. package/dist/core/nodes/LiteralNode.js.map +1 -0
  229. package/dist/core/nodes/MethodCallNode.js +1 -0
  230. package/dist/core/nodes/MethodCallNode.js.map +1 -0
  231. package/dist/core/nodes/MethodNode.js +1 -0
  232. package/dist/core/nodes/MethodNode.js.map +1 -0
  233. package/dist/core/nodes/ModuleNode.js +1 -0
  234. package/dist/core/nodes/ModuleNode.js.map +1 -0
  235. package/dist/core/nodes/NetworkRequestNode.js +1 -0
  236. package/dist/core/nodes/NetworkRequestNode.js.map +1 -0
  237. package/dist/core/nodes/NodeKind.d.ts +6 -0
  238. package/dist/core/nodes/NodeKind.d.ts.map +1 -1
  239. package/dist/core/nodes/NodeKind.js +12 -0
  240. package/dist/core/nodes/NodeKind.js.map +1 -0
  241. package/dist/core/nodes/ObjectLiteralNode.js +1 -0
  242. package/dist/core/nodes/ObjectLiteralNode.js.map +1 -0
  243. package/dist/core/nodes/ParameterNode.js +1 -0
  244. package/dist/core/nodes/ParameterNode.js.map +1 -0
  245. package/dist/core/nodes/PluginNode.d.ts +69 -0
  246. package/dist/core/nodes/PluginNode.d.ts.map +1 -0
  247. package/dist/core/nodes/PluginNode.js +106 -0
  248. package/dist/core/nodes/PluginNode.js.map +1 -0
  249. package/dist/core/nodes/ReactNode.d.ts +53 -0
  250. package/dist/core/nodes/ReactNode.d.ts.map +1 -0
  251. package/dist/core/nodes/ReactNode.js +70 -0
  252. package/dist/core/nodes/ReactNode.js.map +1 -0
  253. package/dist/core/nodes/RustCallNode.d.ts +46 -0
  254. package/dist/core/nodes/RustCallNode.d.ts.map +1 -0
  255. package/dist/core/nodes/RustCallNode.js +62 -0
  256. package/dist/core/nodes/RustCallNode.js.map +1 -0
  257. package/dist/core/nodes/RustFunctionNode.d.ts +58 -0
  258. package/dist/core/nodes/RustFunctionNode.d.ts.map +1 -0
  259. package/dist/core/nodes/RustFunctionNode.js +67 -0
  260. package/dist/core/nodes/RustFunctionNode.js.map +1 -0
  261. package/dist/core/nodes/RustImplNode.d.ts +35 -0
  262. package/dist/core/nodes/RustImplNode.d.ts.map +1 -0
  263. package/dist/core/nodes/RustImplNode.js +55 -0
  264. package/dist/core/nodes/RustImplNode.js.map +1 -0
  265. package/dist/core/nodes/RustMethodNode.d.ts +64 -0
  266. package/dist/core/nodes/RustMethodNode.d.ts.map +1 -0
  267. package/dist/core/nodes/RustMethodNode.js +76 -0
  268. package/dist/core/nodes/RustMethodNode.js.map +1 -0
  269. package/dist/core/nodes/RustModuleNode.d.ts +40 -0
  270. package/dist/core/nodes/RustModuleNode.d.ts.map +1 -0
  271. package/dist/core/nodes/RustModuleNode.js +57 -0
  272. package/dist/core/nodes/RustModuleNode.js.map +1 -0
  273. package/dist/core/nodes/RustStructNode.d.ts +38 -0
  274. package/dist/core/nodes/RustStructNode.d.ts.map +1 -0
  275. package/dist/core/nodes/RustStructNode.js +54 -0
  276. package/dist/core/nodes/RustStructNode.js.map +1 -0
  277. package/dist/core/nodes/RustTraitNode.d.ts +40 -0
  278. package/dist/core/nodes/RustTraitNode.d.ts.map +1 -0
  279. package/dist/core/nodes/RustTraitNode.js +52 -0
  280. package/dist/core/nodes/RustTraitNode.js.map +1 -0
  281. package/dist/core/nodes/ScopeNode.js +1 -0
  282. package/dist/core/nodes/ScopeNode.js.map +1 -0
  283. package/dist/core/nodes/ServiceLayerNode.d.ts +85 -0
  284. package/dist/core/nodes/ServiceLayerNode.d.ts.map +1 -0
  285. package/dist/core/nodes/ServiceLayerNode.js +122 -0
  286. package/dist/core/nodes/ServiceLayerNode.js.map +1 -0
  287. package/dist/core/nodes/ServiceNode.js +1 -0
  288. package/dist/core/nodes/ServiceNode.js.map +1 -0
  289. package/dist/core/nodes/SocketIONode.d.ts +71 -0
  290. package/dist/core/nodes/SocketIONode.d.ts.map +1 -0
  291. package/dist/core/nodes/SocketIONode.js +111 -0
  292. package/dist/core/nodes/SocketIONode.js.map +1 -0
  293. package/dist/core/nodes/SocketNode.d.ts +87 -0
  294. package/dist/core/nodes/SocketNode.d.ts.map +1 -0
  295. package/dist/core/nodes/SocketNode.js +124 -0
  296. package/dist/core/nodes/SocketNode.js.map +1 -0
  297. package/dist/core/nodes/TypeNode.d.ts +26 -1
  298. package/dist/core/nodes/TypeNode.d.ts.map +1 -1
  299. package/dist/core/nodes/TypeNode.js +23 -4
  300. package/dist/core/nodes/TypeNode.js.map +1 -0
  301. package/dist/core/nodes/TypeParameterNode.d.ts +44 -0
  302. package/dist/core/nodes/TypeParameterNode.d.ts.map +1 -0
  303. package/dist/core/nodes/TypeParameterNode.js +64 -0
  304. package/dist/core/nodes/TypeParameterNode.js.map +1 -0
  305. package/dist/core/nodes/VariableDeclarationNode.js +1 -0
  306. package/dist/core/nodes/VariableDeclarationNode.js.map +1 -0
  307. package/dist/core/nodes/index.d.ts +21 -1
  308. package/dist/core/nodes/index.d.ts.map +1 -1
  309. package/dist/core/nodes/index.js +30 -1
  310. package/dist/core/nodes/index.js.map +1 -0
  311. package/dist/core/toposort.d.ts +38 -0
  312. package/dist/core/toposort.d.ts.map +1 -0
  313. package/dist/core/toposort.js +129 -0
  314. package/dist/core/toposort.js.map +1 -0
  315. package/dist/data/builtins/BuiltinRegistry.js +1 -0
  316. package/dist/data/builtins/BuiltinRegistry.js.map +1 -0
  317. package/dist/data/builtins/definitions.js +1 -0
  318. package/dist/data/builtins/definitions.js.map +1 -0
  319. package/dist/data/builtins/index.js +1 -0
  320. package/dist/data/builtins/index.js.map +1 -0
  321. package/dist/data/builtins/jsGlobals.js +1 -0
  322. package/dist/data/builtins/jsGlobals.js.map +1 -0
  323. package/dist/data/builtins/types.js +1 -0
  324. package/dist/data/builtins/types.js.map +1 -0
  325. package/dist/data/globals/definitions.js +1 -0
  326. package/dist/data/globals/definitions.js.map +1 -0
  327. package/dist/data/globals/index.js +1 -0
  328. package/dist/data/globals/index.js.map +1 -0
  329. package/dist/diagnostics/DiagnosticCollector.d.ts +5 -0
  330. package/dist/diagnostics/DiagnosticCollector.d.ts.map +1 -1
  331. package/dist/diagnostics/DiagnosticCollector.js +4 -0
  332. package/dist/diagnostics/DiagnosticCollector.js.map +1 -0
  333. package/dist/diagnostics/DiagnosticReporter.d.ts +23 -1
  334. package/dist/diagnostics/DiagnosticReporter.d.ts.map +1 -1
  335. package/dist/diagnostics/DiagnosticReporter.js +68 -15
  336. package/dist/diagnostics/DiagnosticReporter.js.map +1 -0
  337. package/dist/diagnostics/DiagnosticWriter.js +1 -0
  338. package/dist/diagnostics/DiagnosticWriter.js.map +1 -0
  339. package/dist/diagnostics/categories.d.ts +57 -0
  340. package/dist/diagnostics/categories.d.ts.map +1 -0
  341. package/dist/diagnostics/categories.js +71 -0
  342. package/dist/diagnostics/categories.js.map +1 -0
  343. package/dist/diagnostics/index.d.ts +3 -0
  344. package/dist/diagnostics/index.d.ts.map +1 -1
  345. package/dist/diagnostics/index.js +4 -0
  346. package/dist/diagnostics/index.js.map +1 -0
  347. package/dist/errors/GrafemaError.d.ts +39 -0
  348. package/dist/errors/GrafemaError.d.ts.map +1 -1
  349. package/dist/errors/GrafemaError.js +28 -0
  350. package/dist/errors/GrafemaError.js.map +1 -0
  351. package/dist/index.d.ts +53 -15
  352. package/dist/index.d.ts.map +1 -1
  353. package/dist/index.js +48 -9
  354. package/dist/index.js.map +1 -0
  355. package/dist/instructions/index.d.ts +8 -0
  356. package/dist/instructions/index.d.ts.map +1 -0
  357. package/dist/instructions/index.js +20 -0
  358. package/dist/instructions/index.js.map +1 -0
  359. package/dist/instructions/onboarding.md +121 -0
  360. package/dist/logging/Logger.d.ts +53 -3
  361. package/dist/logging/Logger.d.ts.map +1 -1
  362. package/dist/logging/Logger.js +144 -4
  363. package/dist/logging/Logger.js.map +1 -0
  364. package/dist/plugins/InfraAnalyzer.d.ts +110 -0
  365. package/dist/plugins/InfraAnalyzer.d.ts.map +1 -0
  366. package/dist/plugins/InfraAnalyzer.js +170 -0
  367. package/dist/plugins/InfraAnalyzer.js.map +1 -0
  368. package/dist/plugins/Plugin.js +1 -0
  369. package/dist/plugins/Plugin.js.map +1 -0
  370. package/dist/plugins/analysis/DatabaseAnalyzer.d.ts.map +1 -1
  371. package/dist/plugins/analysis/DatabaseAnalyzer.js +35 -26
  372. package/dist/plugins/analysis/DatabaseAnalyzer.js.map +1 -0
  373. package/dist/plugins/analysis/ExpressAnalyzer.d.ts.map +1 -1
  374. package/dist/plugins/analysis/ExpressAnalyzer.js +44 -36
  375. package/dist/plugins/analysis/ExpressAnalyzer.js.map +1 -0
  376. package/dist/plugins/analysis/ExpressResponseAnalyzer.d.ts +2 -1
  377. package/dist/plugins/analysis/ExpressResponseAnalyzer.d.ts.map +1 -1
  378. package/dist/plugins/analysis/ExpressResponseAnalyzer.js +56 -77
  379. package/dist/plugins/analysis/ExpressResponseAnalyzer.js.map +1 -0
  380. package/dist/plugins/analysis/ExpressRouteAnalyzer.d.ts.map +1 -1
  381. package/dist/plugins/analysis/ExpressRouteAnalyzer.js +69 -62
  382. package/dist/plugins/analysis/ExpressRouteAnalyzer.js.map +1 -0
  383. package/dist/plugins/analysis/FetchAnalyzer.d.ts +8 -14
  384. package/dist/plugins/analysis/FetchAnalyzer.d.ts.map +1 -1
  385. package/dist/plugins/analysis/FetchAnalyzer.js +162 -131
  386. package/dist/plugins/analysis/FetchAnalyzer.js.map +1 -0
  387. package/dist/plugins/analysis/IncrementalAnalysisPlugin.d.ts.map +1 -1
  388. package/dist/plugins/analysis/IncrementalAnalysisPlugin.js +6 -7
  389. package/dist/plugins/analysis/IncrementalAnalysisPlugin.js.map +1 -0
  390. package/dist/plugins/analysis/JSASTAnalyzer.d.ts +77 -82
  391. package/dist/plugins/analysis/JSASTAnalyzer.d.ts.map +1 -1
  392. package/dist/plugins/analysis/JSASTAnalyzer.js +811 -1843
  393. package/dist/plugins/analysis/JSASTAnalyzer.js.map +1 -0
  394. package/dist/plugins/analysis/NestJSRouteAnalyzer.d.ts +28 -0
  395. package/dist/plugins/analysis/NestJSRouteAnalyzer.d.ts.map +1 -0
  396. package/dist/plugins/analysis/NestJSRouteAnalyzer.js +196 -0
  397. package/dist/plugins/analysis/NestJSRouteAnalyzer.js.map +1 -0
  398. package/dist/plugins/analysis/ReactAnalyzer.d.ts +1 -61
  399. package/dist/plugins/analysis/ReactAnalyzer.d.ts.map +1 -1
  400. package/dist/plugins/analysis/ReactAnalyzer.js +41 -927
  401. package/dist/plugins/analysis/ReactAnalyzer.js.map +1 -0
  402. package/dist/plugins/analysis/RustAnalyzer.d.ts.map +1 -1
  403. package/dist/plugins/analysis/RustAnalyzer.js +62 -84
  404. package/dist/plugins/analysis/RustAnalyzer.js.map +1 -0
  405. package/dist/plugins/analysis/SQLiteAnalyzer.d.ts.map +1 -1
  406. package/dist/plugins/analysis/SQLiteAnalyzer.js +26 -12
  407. package/dist/plugins/analysis/SQLiteAnalyzer.js.map +1 -0
  408. package/dist/plugins/analysis/ServiceLayerAnalyzer.d.ts.map +1 -1
  409. package/dist/plugins/analysis/ServiceLayerAnalyzer.js +39 -31
  410. package/dist/plugins/analysis/ServiceLayerAnalyzer.js.map +1 -0
  411. package/dist/plugins/analysis/SocketAnalyzer.d.ts +81 -0
  412. package/dist/plugins/analysis/SocketAnalyzer.d.ts.map +1 -0
  413. package/dist/plugins/analysis/SocketAnalyzer.js +475 -0
  414. package/dist/plugins/analysis/SocketAnalyzer.js.map +1 -0
  415. package/dist/plugins/analysis/SocketIOAnalyzer.d.ts.map +1 -1
  416. package/dist/plugins/analysis/SocketIOAnalyzer.js +33 -28
  417. package/dist/plugins/analysis/SocketIOAnalyzer.js.map +1 -0
  418. package/dist/plugins/analysis/SystemDbAnalyzer.d.ts.map +1 -1
  419. package/dist/plugins/analysis/SystemDbAnalyzer.js +25 -14
  420. package/dist/plugins/analysis/SystemDbAnalyzer.js.map +1 -0
  421. package/dist/plugins/analysis/ast/CollisionResolver.d.ts +65 -0
  422. package/dist/plugins/analysis/ast/CollisionResolver.d.ts.map +1 -0
  423. package/dist/plugins/analysis/ast/CollisionResolver.js +106 -0
  424. package/dist/plugins/analysis/ast/CollisionResolver.js.map +1 -0
  425. package/dist/plugins/analysis/ast/ConditionParser.js +1 -0
  426. package/dist/plugins/analysis/ast/ConditionParser.js.map +1 -0
  427. package/dist/plugins/analysis/ast/ExpressionEvaluator.d.ts.map +1 -1
  428. package/dist/plugins/analysis/ast/ExpressionEvaluator.js +1 -0
  429. package/dist/plugins/analysis/ast/ExpressionEvaluator.js.map +1 -0
  430. package/dist/plugins/analysis/ast/FunctionBodyContext.d.ts +124 -0
  431. package/dist/plugins/analysis/ast/FunctionBodyContext.d.ts.map +1 -0
  432. package/dist/plugins/analysis/ast/FunctionBodyContext.js +151 -0
  433. package/dist/plugins/analysis/ast/FunctionBodyContext.js.map +1 -0
  434. package/dist/plugins/analysis/ast/GraphBuilder.d.ts +26 -209
  435. package/dist/plugins/analysis/ast/GraphBuilder.d.ts.map +1 -1
  436. package/dist/plugins/analysis/ast/GraphBuilder.js +164 -2023
  437. package/dist/plugins/analysis/ast/GraphBuilder.js.map +1 -0
  438. package/dist/plugins/analysis/ast/IdGenerator.d.ts +42 -0
  439. package/dist/plugins/analysis/ast/IdGenerator.d.ts.map +1 -1
  440. package/dist/plugins/analysis/ast/IdGenerator.js +62 -1
  441. package/dist/plugins/analysis/ast/IdGenerator.js.map +1 -0
  442. package/dist/plugins/analysis/ast/OxcAdapter.js +1 -0
  443. package/dist/plugins/analysis/ast/OxcAdapter.js.map +1 -0
  444. package/dist/plugins/analysis/ast/builders/AssignmentBuilder.d.ts +15 -0
  445. package/dist/plugins/analysis/ast/builders/AssignmentBuilder.d.ts.map +1 -0
  446. package/dist/plugins/analysis/ast/builders/AssignmentBuilder.js +274 -0
  447. package/dist/plugins/analysis/ast/builders/AssignmentBuilder.js.map +1 -0
  448. package/dist/plugins/analysis/ast/builders/CallFlowBuilder.d.ts +22 -0
  449. package/dist/plugins/analysis/ast/builders/CallFlowBuilder.d.ts.map +1 -0
  450. package/dist/plugins/analysis/ast/builders/CallFlowBuilder.js +178 -0
  451. package/dist/plugins/analysis/ast/builders/CallFlowBuilder.js.map +1 -0
  452. package/dist/plugins/analysis/ast/builders/ControlFlowBuilder.d.ts +76 -0
  453. package/dist/plugins/analysis/ast/builders/ControlFlowBuilder.d.ts.map +1 -0
  454. package/dist/plugins/analysis/ast/builders/ControlFlowBuilder.js +387 -0
  455. package/dist/plugins/analysis/ast/builders/ControlFlowBuilder.js.map +1 -0
  456. package/dist/plugins/analysis/ast/builders/CoreBuilder.d.ts +38 -0
  457. package/dist/plugins/analysis/ast/builders/CoreBuilder.d.ts.map +1 -0
  458. package/dist/plugins/analysis/ast/builders/CoreBuilder.js +240 -0
  459. package/dist/plugins/analysis/ast/builders/CoreBuilder.js.map +1 -0
  460. package/dist/plugins/analysis/ast/builders/ModuleRuntimeBuilder.d.ts +53 -0
  461. package/dist/plugins/analysis/ast/builders/ModuleRuntimeBuilder.d.ts.map +1 -0
  462. package/dist/plugins/analysis/ast/builders/ModuleRuntimeBuilder.js +355 -0
  463. package/dist/plugins/analysis/ast/builders/ModuleRuntimeBuilder.js.map +1 -0
  464. package/dist/plugins/analysis/ast/builders/MutationBuilder.d.ts +46 -0
  465. package/dist/plugins/analysis/ast/builders/MutationBuilder.d.ts.map +1 -0
  466. package/dist/plugins/analysis/ast/builders/MutationBuilder.js +264 -0
  467. package/dist/plugins/analysis/ast/builders/MutationBuilder.js.map +1 -0
  468. package/dist/plugins/analysis/ast/builders/ReturnBuilder.d.ts +23 -0
  469. package/dist/plugins/analysis/ast/builders/ReturnBuilder.d.ts.map +1 -0
  470. package/dist/plugins/analysis/ast/builders/ReturnBuilder.js +206 -0
  471. package/dist/plugins/analysis/ast/builders/ReturnBuilder.js.map +1 -0
  472. package/dist/plugins/analysis/ast/builders/TypeSystemBuilder.d.ts +64 -0
  473. package/dist/plugins/analysis/ast/builders/TypeSystemBuilder.d.ts.map +1 -0
  474. package/dist/plugins/analysis/ast/builders/TypeSystemBuilder.js +370 -0
  475. package/dist/plugins/analysis/ast/builders/TypeSystemBuilder.js.map +1 -0
  476. package/dist/plugins/analysis/ast/builders/UpdateExpressionBuilder.d.ts +46 -0
  477. package/dist/plugins/analysis/ast/builders/UpdateExpressionBuilder.d.ts.map +1 -0
  478. package/dist/plugins/analysis/ast/builders/UpdateExpressionBuilder.js +191 -0
  479. package/dist/plugins/analysis/ast/builders/UpdateExpressionBuilder.js.map +1 -0
  480. package/dist/plugins/analysis/ast/builders/YieldBuilder.d.ts +30 -0
  481. package/dist/plugins/analysis/ast/builders/YieldBuilder.d.ts.map +1 -0
  482. package/dist/plugins/analysis/ast/builders/YieldBuilder.js +214 -0
  483. package/dist/plugins/analysis/ast/builders/YieldBuilder.js.map +1 -0
  484. package/dist/plugins/analysis/ast/builders/index.d.ts +12 -0
  485. package/dist/plugins/analysis/ast/builders/index.d.ts.map +1 -0
  486. package/dist/plugins/analysis/ast/builders/index.js +11 -0
  487. package/dist/plugins/analysis/ast/builders/index.js.map +1 -0
  488. package/dist/plugins/analysis/ast/builders/types.d.ts +30 -0
  489. package/dist/plugins/analysis/ast/builders/types.d.ts.map +1 -0
  490. package/dist/plugins/analysis/ast/builders/types.js +8 -0
  491. package/dist/plugins/analysis/ast/builders/types.js.map +1 -0
  492. package/dist/plugins/analysis/ast/handlers/AnalyzerDelegate.d.ts +50 -0
  493. package/dist/plugins/analysis/ast/handlers/AnalyzerDelegate.d.ts.map +1 -0
  494. package/dist/plugins/analysis/ast/handlers/AnalyzerDelegate.js +2 -0
  495. package/dist/plugins/analysis/ast/handlers/AnalyzerDelegate.js.map +1 -0
  496. package/dist/plugins/analysis/ast/handlers/BranchHandler.d.ts +18 -0
  497. package/dist/plugins/analysis/ast/handlers/BranchHandler.d.ts.map +1 -0
  498. package/dist/plugins/analysis/ast/handlers/BranchHandler.js +244 -0
  499. package/dist/plugins/analysis/ast/handlers/BranchHandler.js.map +1 -0
  500. package/dist/plugins/analysis/ast/handlers/CallExpressionHandler.d.ts +7 -0
  501. package/dist/plugins/analysis/ast/handlers/CallExpressionHandler.d.ts.map +1 -0
  502. package/dist/plugins/analysis/ast/handlers/CallExpressionHandler.js +295 -0
  503. package/dist/plugins/analysis/ast/handlers/CallExpressionHandler.js.map +1 -0
  504. package/dist/plugins/analysis/ast/handlers/FunctionBodyHandler.d.ts +22 -0
  505. package/dist/plugins/analysis/ast/handlers/FunctionBodyHandler.d.ts.map +1 -0
  506. package/dist/plugins/analysis/ast/handlers/FunctionBodyHandler.js +9 -0
  507. package/dist/plugins/analysis/ast/handlers/FunctionBodyHandler.js.map +1 -0
  508. package/dist/plugins/analysis/ast/handlers/LoopHandler.d.ts +13 -0
  509. package/dist/plugins/analysis/ast/handlers/LoopHandler.d.ts.map +1 -0
  510. package/dist/plugins/analysis/ast/handlers/LoopHandler.js +207 -0
  511. package/dist/plugins/analysis/ast/handlers/LoopHandler.js.map +1 -0
  512. package/dist/plugins/analysis/ast/handlers/NestedFunctionHandler.d.ts +13 -0
  513. package/dist/plugins/analysis/ast/handlers/NestedFunctionHandler.d.ts.map +1 -0
  514. package/dist/plugins/analysis/ast/handlers/NestedFunctionHandler.js +174 -0
  515. package/dist/plugins/analysis/ast/handlers/NestedFunctionHandler.js.map +1 -0
  516. package/dist/plugins/analysis/ast/handlers/NewExpressionHandler.d.ts +12 -0
  517. package/dist/plugins/analysis/ast/handlers/NewExpressionHandler.d.ts.map +1 -0
  518. package/dist/plugins/analysis/ast/handlers/NewExpressionHandler.js +135 -0
  519. package/dist/plugins/analysis/ast/handlers/NewExpressionHandler.js.map +1 -0
  520. package/dist/plugins/analysis/ast/handlers/PropertyAccessHandler.d.ts +13 -0
  521. package/dist/plugins/analysis/ast/handlers/PropertyAccessHandler.d.ts.map +1 -0
  522. package/dist/plugins/analysis/ast/handlers/PropertyAccessHandler.js +71 -0
  523. package/dist/plugins/analysis/ast/handlers/PropertyAccessHandler.js.map +1 -0
  524. package/dist/plugins/analysis/ast/handlers/ReturnYieldHandler.d.ts +12 -0
  525. package/dist/plugins/analysis/ast/handlers/ReturnYieldHandler.d.ts.map +1 -0
  526. package/dist/plugins/analysis/ast/handlers/ReturnYieldHandler.js +135 -0
  527. package/dist/plugins/analysis/ast/handlers/ReturnYieldHandler.js.map +1 -0
  528. package/dist/plugins/analysis/ast/handlers/ThrowHandler.d.ts +12 -0
  529. package/dist/plugins/analysis/ast/handlers/ThrowHandler.d.ts.map +1 -0
  530. package/dist/plugins/analysis/ast/handlers/ThrowHandler.js +82 -0
  531. package/dist/plugins/analysis/ast/handlers/ThrowHandler.js.map +1 -0
  532. package/dist/plugins/analysis/ast/handlers/TryCatchHandler.d.ts +14 -0
  533. package/dist/plugins/analysis/ast/handlers/TryCatchHandler.d.ts.map +1 -0
  534. package/dist/plugins/analysis/ast/handlers/TryCatchHandler.js +220 -0
  535. package/dist/plugins/analysis/ast/handlers/TryCatchHandler.js.map +1 -0
  536. package/dist/plugins/analysis/ast/handlers/VariableHandler.d.ts +12 -0
  537. package/dist/plugins/analysis/ast/handlers/VariableHandler.d.ts.map +1 -0
  538. package/dist/plugins/analysis/ast/handlers/VariableHandler.js +57 -0
  539. package/dist/plugins/analysis/ast/handlers/VariableHandler.js.map +1 -0
  540. package/dist/plugins/analysis/ast/handlers/index.d.ts +13 -0
  541. package/dist/plugins/analysis/ast/handlers/index.d.ts.map +1 -0
  542. package/dist/plugins/analysis/ast/handlers/index.js +12 -0
  543. package/dist/plugins/analysis/ast/handlers/index.js.map +1 -0
  544. package/dist/plugins/analysis/ast/types.d.ts +203 -1
  545. package/dist/plugins/analysis/ast/types.d.ts.map +1 -1
  546. package/dist/plugins/analysis/ast/types.js +1 -0
  547. package/dist/plugins/analysis/ast/types.js.map +1 -0
  548. package/dist/plugins/analysis/ast/utils/babelTraverse.d.ts +27 -0
  549. package/dist/plugins/analysis/ast/utils/babelTraverse.d.ts.map +1 -0
  550. package/dist/plugins/analysis/ast/utils/babelTraverse.js +45 -0
  551. package/dist/plugins/analysis/ast/utils/babelTraverse.js.map +1 -0
  552. package/dist/plugins/analysis/ast/utils/createParameterNodes.d.ts +6 -5
  553. package/dist/plugins/analysis/ast/utils/createParameterNodes.d.ts.map +1 -1
  554. package/dist/plugins/analysis/ast/utils/createParameterNodes.js +95 -13
  555. package/dist/plugins/analysis/ast/utils/createParameterNodes.js.map +1 -0
  556. package/dist/plugins/analysis/ast/utils/extractNamesFromPattern.d.ts +81 -0
  557. package/dist/plugins/analysis/ast/utils/extractNamesFromPattern.d.ts.map +1 -0
  558. package/dist/plugins/analysis/ast/utils/extractNamesFromPattern.js +140 -0
  559. package/dist/plugins/analysis/ast/utils/extractNamesFromPattern.js.map +1 -0
  560. package/dist/plugins/analysis/ast/utils/getExpressionValue.d.ts +22 -0
  561. package/dist/plugins/analysis/ast/utils/getExpressionValue.d.ts.map +1 -0
  562. package/dist/plugins/analysis/ast/utils/getExpressionValue.js +35 -0
  563. package/dist/plugins/analysis/ast/utils/getExpressionValue.js.map +1 -0
  564. package/dist/plugins/analysis/ast/utils/getMemberExpressionName.d.ts +25 -0
  565. package/dist/plugins/analysis/ast/utils/getMemberExpressionName.d.ts.map +1 -0
  566. package/dist/plugins/analysis/ast/utils/getMemberExpressionName.js +21 -0
  567. package/dist/plugins/analysis/ast/utils/getMemberExpressionName.js.map +1 -0
  568. package/dist/plugins/analysis/ast/utils/index.d.ts +2 -0
  569. package/dist/plugins/analysis/ast/utils/index.d.ts.map +1 -1
  570. package/dist/plugins/analysis/ast/utils/index.js +3 -0
  571. package/dist/plugins/analysis/ast/utils/index.js.map +1 -0
  572. package/dist/plugins/analysis/ast/utils/location.js +1 -0
  573. package/dist/plugins/analysis/ast/utils/location.js.map +1 -0
  574. package/dist/plugins/analysis/ast/visitors/ASTVisitor.d.ts +3 -1
  575. package/dist/plugins/analysis/ast/visitors/ASTVisitor.d.ts.map +1 -1
  576. package/dist/plugins/analysis/ast/visitors/ASTVisitor.js +1 -0
  577. package/dist/plugins/analysis/ast/visitors/ASTVisitor.js.map +1 -0
  578. package/dist/plugins/analysis/ast/visitors/ArgumentExtractor.d.ts +23 -0
  579. package/dist/plugins/analysis/ast/visitors/ArgumentExtractor.d.ts.map +1 -0
  580. package/dist/plugins/analysis/ast/visitors/ArgumentExtractor.js +241 -0
  581. package/dist/plugins/analysis/ast/visitors/ArgumentExtractor.js.map +1 -0
  582. package/dist/plugins/analysis/ast/visitors/ArrayElementExtractor.d.ts +20 -0
  583. package/dist/plugins/analysis/ast/visitors/ArrayElementExtractor.d.ts.map +1 -0
  584. package/dist/plugins/analysis/ast/visitors/ArrayElementExtractor.js +110 -0
  585. package/dist/plugins/analysis/ast/visitors/ArrayElementExtractor.js.map +1 -0
  586. package/dist/plugins/analysis/ast/visitors/CallExpressionVisitor.d.ts +20 -140
  587. package/dist/plugins/analysis/ast/visitors/CallExpressionVisitor.d.ts.map +1 -1
  588. package/dist/plugins/analysis/ast/visitors/CallExpressionVisitor.js +335 -837
  589. package/dist/plugins/analysis/ast/visitors/CallExpressionVisitor.js.map +1 -0
  590. package/dist/plugins/analysis/ast/visitors/ClassVisitor.d.ts +1 -1
  591. package/dist/plugins/analysis/ast/visitors/ClassVisitor.d.ts.map +1 -1
  592. package/dist/plugins/analysis/ast/visitors/ClassVisitor.js +218 -5
  593. package/dist/plugins/analysis/ast/visitors/ClassVisitor.js.map +1 -0
  594. package/dist/plugins/analysis/ast/visitors/FunctionVisitor.d.ts +4 -3
  595. package/dist/plugins/analysis/ast/visitors/FunctionVisitor.d.ts.map +1 -1
  596. package/dist/plugins/analysis/ast/visitors/FunctionVisitor.js +26 -8
  597. package/dist/plugins/analysis/ast/visitors/FunctionVisitor.js.map +1 -0
  598. package/dist/plugins/analysis/ast/visitors/ImportExportVisitor.js +1 -0
  599. package/dist/plugins/analysis/ast/visitors/ImportExportVisitor.js.map +1 -0
  600. package/dist/plugins/analysis/ast/visitors/MutationDetector.d.ts +25 -0
  601. package/dist/plugins/analysis/ast/visitors/MutationDetector.d.ts.map +1 -0
  602. package/dist/plugins/analysis/ast/visitors/MutationDetector.js +181 -0
  603. package/dist/plugins/analysis/ast/visitors/MutationDetector.js.map +1 -0
  604. package/dist/plugins/analysis/ast/visitors/ObjectPropertyExtractor.d.ts +20 -0
  605. package/dist/plugins/analysis/ast/visitors/ObjectPropertyExtractor.d.ts.map +1 -0
  606. package/dist/plugins/analysis/ast/visitors/ObjectPropertyExtractor.js +155 -0
  607. package/dist/plugins/analysis/ast/visitors/ObjectPropertyExtractor.js.map +1 -0
  608. package/dist/plugins/analysis/ast/visitors/PropertyAccessVisitor.d.ts +91 -0
  609. package/dist/plugins/analysis/ast/visitors/PropertyAccessVisitor.d.ts.map +1 -0
  610. package/dist/plugins/analysis/ast/visitors/PropertyAccessVisitor.js +306 -0
  611. package/dist/plugins/analysis/ast/visitors/PropertyAccessVisitor.js.map +1 -0
  612. package/dist/plugins/analysis/ast/visitors/TypeScriptVisitor.d.ts +21 -1
  613. package/dist/plugins/analysis/ast/visitors/TypeScriptVisitor.d.ts.map +1 -1
  614. package/dist/plugins/analysis/ast/visitors/TypeScriptVisitor.js +189 -12
  615. package/dist/plugins/analysis/ast/visitors/TypeScriptVisitor.js.map +1 -0
  616. package/dist/plugins/analysis/ast/visitors/VariableVisitor.d.ts +1 -1
  617. package/dist/plugins/analysis/ast/visitors/VariableVisitor.d.ts.map +1 -1
  618. package/dist/plugins/analysis/ast/visitors/VariableVisitor.js +7 -4
  619. package/dist/plugins/analysis/ast/visitors/VariableVisitor.js.map +1 -0
  620. package/dist/plugins/analysis/ast/visitors/call-expression-helpers.d.ts +19 -0
  621. package/dist/plugins/analysis/ast/visitors/call-expression-helpers.d.ts.map +1 -0
  622. package/dist/plugins/analysis/ast/visitors/call-expression-helpers.js +57 -0
  623. package/dist/plugins/analysis/ast/visitors/call-expression-helpers.js.map +1 -0
  624. package/dist/plugins/analysis/ast/visitors/call-expression-types.d.ts +168 -0
  625. package/dist/plugins/analysis/ast/visitors/call-expression-types.d.ts.map +1 -0
  626. package/dist/plugins/analysis/ast/visitors/call-expression-types.js +7 -0
  627. package/dist/plugins/analysis/ast/visitors/call-expression-types.js.map +1 -0
  628. package/dist/plugins/analysis/ast/visitors/index.d.ts +1 -0
  629. package/dist/plugins/analysis/ast/visitors/index.d.ts.map +1 -1
  630. package/dist/plugins/analysis/ast/visitors/index.js +2 -0
  631. package/dist/plugins/analysis/ast/visitors/index.js.map +1 -0
  632. package/dist/plugins/analysis/react-internal/browser-api.d.ts +20 -0
  633. package/dist/plugins/analysis/react-internal/browser-api.d.ts.map +1 -0
  634. package/dist/plugins/analysis/react-internal/browser-api.js +140 -0
  635. package/dist/plugins/analysis/react-internal/browser-api.js.map +1 -0
  636. package/dist/plugins/analysis/react-internal/hooks.d.ts +31 -0
  637. package/dist/plugins/analysis/react-internal/hooks.d.ts.map +1 -0
  638. package/dist/plugins/analysis/react-internal/hooks.js +465 -0
  639. package/dist/plugins/analysis/react-internal/hooks.js.map +1 -0
  640. package/dist/plugins/analysis/react-internal/jsx.d.ts +43 -0
  641. package/dist/plugins/analysis/react-internal/jsx.d.ts.map +1 -0
  642. package/dist/plugins/analysis/react-internal/jsx.js +231 -0
  643. package/dist/plugins/analysis/react-internal/jsx.js.map +1 -0
  644. package/dist/plugins/analysis/react-internal/types.d.ts +116 -0
  645. package/dist/plugins/analysis/react-internal/types.d.ts.map +1 -0
  646. package/dist/plugins/analysis/react-internal/types.js +83 -0
  647. package/dist/plugins/analysis/react-internal/types.js.map +1 -0
  648. package/dist/plugins/discovery/DiscoveryPlugin.d.ts +42 -10
  649. package/dist/plugins/discovery/DiscoveryPlugin.d.ts.map +1 -1
  650. package/dist/plugins/discovery/DiscoveryPlugin.js +17 -1
  651. package/dist/plugins/discovery/DiscoveryPlugin.js.map +1 -0
  652. package/dist/plugins/discovery/MonorepoServiceDiscovery.d.ts.map +1 -1
  653. package/dist/plugins/discovery/MonorepoServiceDiscovery.js +9 -15
  654. package/dist/plugins/discovery/MonorepoServiceDiscovery.js.map +1 -0
  655. package/dist/plugins/discovery/SimpleProjectDiscovery.d.ts.map +1 -1
  656. package/dist/plugins/discovery/SimpleProjectDiscovery.js +3 -2
  657. package/dist/plugins/discovery/SimpleProjectDiscovery.js.map +1 -0
  658. package/dist/plugins/discovery/WorkspaceDiscovery.d.ts.map +1 -1
  659. package/dist/plugins/discovery/WorkspaceDiscovery.js +3 -2
  660. package/dist/plugins/discovery/WorkspaceDiscovery.js.map +1 -0
  661. package/dist/plugins/discovery/resolveSourceEntrypoint.js +1 -0
  662. package/dist/plugins/discovery/resolveSourceEntrypoint.js.map +1 -0
  663. package/dist/plugins/discovery/workspaces/detector.js +1 -0
  664. package/dist/plugins/discovery/workspaces/detector.js.map +1 -0
  665. package/dist/plugins/discovery/workspaces/globResolver.js +1 -0
  666. package/dist/plugins/discovery/workspaces/globResolver.js.map +1 -0
  667. package/dist/plugins/discovery/workspaces/index.js +1 -0
  668. package/dist/plugins/discovery/workspaces/index.js.map +1 -0
  669. package/dist/plugins/discovery/workspaces/parsers.js +1 -0
  670. package/dist/plugins/discovery/workspaces/parsers.js.map +1 -0
  671. package/dist/plugins/enrichment/AliasTracker.d.ts.map +1 -1
  672. package/dist/plugins/enrichment/AliasTracker.js +5 -2
  673. package/dist/plugins/enrichment/AliasTracker.js.map +1 -0
  674. package/dist/plugins/enrichment/ArgumentParameterLinker.d.ts.map +1 -1
  675. package/dist/plugins/enrichment/ArgumentParameterLinker.js +4 -2
  676. package/dist/plugins/enrichment/ArgumentParameterLinker.js.map +1 -0
  677. package/dist/plugins/enrichment/CallbackCallResolver.d.ts +42 -0
  678. package/dist/plugins/enrichment/CallbackCallResolver.d.ts.map +1 -0
  679. package/dist/plugins/enrichment/CallbackCallResolver.js +311 -0
  680. package/dist/plugins/enrichment/CallbackCallResolver.js.map +1 -0
  681. package/dist/plugins/enrichment/ClosureCaptureEnricher.d.ts.map +1 -1
  682. package/dist/plugins/enrichment/ClosureCaptureEnricher.js +4 -2
  683. package/dist/plugins/enrichment/ClosureCaptureEnricher.js.map +1 -0
  684. package/dist/plugins/enrichment/ConfigRoutingMapBuilder.d.ts +17 -0
  685. package/dist/plugins/enrichment/ConfigRoutingMapBuilder.d.ts.map +1 -0
  686. package/dist/plugins/enrichment/ConfigRoutingMapBuilder.js +55 -0
  687. package/dist/plugins/enrichment/ConfigRoutingMapBuilder.js.map +1 -0
  688. package/dist/plugins/enrichment/ExpressHandlerLinker.d.ts +21 -0
  689. package/dist/plugins/enrichment/ExpressHandlerLinker.d.ts.map +1 -0
  690. package/dist/plugins/enrichment/ExpressHandlerLinker.js +139 -0
  691. package/dist/plugins/enrichment/ExpressHandlerLinker.js.map +1 -0
  692. package/dist/plugins/enrichment/ExternalCallResolver.d.ts.map +1 -1
  693. package/dist/plugins/enrichment/ExternalCallResolver.js +6 -9
  694. package/dist/plugins/enrichment/ExternalCallResolver.js.map +1 -0
  695. package/dist/plugins/enrichment/FunctionCallResolver.d.ts +5 -0
  696. package/dist/plugins/enrichment/FunctionCallResolver.d.ts.map +1 -1
  697. package/dist/plugins/enrichment/FunctionCallResolver.js +17 -18
  698. package/dist/plugins/enrichment/FunctionCallResolver.js.map +1 -0
  699. package/dist/plugins/enrichment/HTTPConnectionEnricher.d.ts +2 -0
  700. package/dist/plugins/enrichment/HTTPConnectionEnricher.d.ts.map +1 -1
  701. package/dist/plugins/enrichment/HTTPConnectionEnricher.js +54 -14
  702. package/dist/plugins/enrichment/HTTPConnectionEnricher.js.map +1 -0
  703. package/dist/plugins/enrichment/ImportExportLinker.d.ts.map +1 -1
  704. package/dist/plugins/enrichment/ImportExportLinker.js +6 -4
  705. package/dist/plugins/enrichment/ImportExportLinker.js.map +1 -0
  706. package/dist/plugins/enrichment/InstanceOfResolver.d.ts.map +1 -1
  707. package/dist/plugins/enrichment/InstanceOfResolver.js +5 -2
  708. package/dist/plugins/enrichment/InstanceOfResolver.js.map +1 -0
  709. package/dist/plugins/enrichment/MethodCallResolver.d.ts +17 -30
  710. package/dist/plugins/enrichment/MethodCallResolver.d.ts.map +1 -1
  711. package/dist/plugins/enrichment/MethodCallResolver.js +117 -181
  712. package/dist/plugins/enrichment/MethodCallResolver.js.map +1 -0
  713. package/dist/plugins/enrichment/MountPointResolver.d.ts +1 -1
  714. package/dist/plugins/enrichment/MountPointResolver.d.ts.map +1 -1
  715. package/dist/plugins/enrichment/MountPointResolver.js +16 -25
  716. package/dist/plugins/enrichment/MountPointResolver.js.map +1 -0
  717. package/dist/plugins/enrichment/NodejsBuiltinsResolver.d.ts.map +1 -1
  718. package/dist/plugins/enrichment/NodejsBuiltinsResolver.js +9 -18
  719. package/dist/plugins/enrichment/NodejsBuiltinsResolver.js.map +1 -0
  720. package/dist/plugins/enrichment/PrefixEvaluator.d.ts.map +1 -1
  721. package/dist/plugins/enrichment/PrefixEvaluator.js +11 -6
  722. package/dist/plugins/enrichment/PrefixEvaluator.js.map +1 -0
  723. package/dist/plugins/enrichment/RejectionPropagationEnricher.d.ts +30 -0
  724. package/dist/plugins/enrichment/RejectionPropagationEnricher.d.ts.map +1 -0
  725. package/dist/plugins/enrichment/RejectionPropagationEnricher.js +192 -0
  726. package/dist/plugins/enrichment/RejectionPropagationEnricher.js.map +1 -0
  727. package/dist/plugins/enrichment/RustFFIEnricher.d.ts.map +1 -1
  728. package/dist/plugins/enrichment/RustFFIEnricher.js +4 -2
  729. package/dist/plugins/enrichment/RustFFIEnricher.js.map +1 -0
  730. package/dist/plugins/enrichment/ServiceConnectionEnricher.d.ts +76 -0
  731. package/dist/plugins/enrichment/ServiceConnectionEnricher.d.ts.map +1 -0
  732. package/dist/plugins/enrichment/ServiceConnectionEnricher.js +355 -0
  733. package/dist/plugins/enrichment/ServiceConnectionEnricher.js.map +1 -0
  734. package/dist/plugins/enrichment/SocketConnectionEnricher.d.ts +42 -0
  735. package/dist/plugins/enrichment/SocketConnectionEnricher.d.ts.map +1 -0
  736. package/dist/plugins/enrichment/SocketConnectionEnricher.js +166 -0
  737. package/dist/plugins/enrichment/SocketConnectionEnricher.js.map +1 -0
  738. package/dist/plugins/enrichment/ValueDomainAnalyzer.d.ts +1 -1
  739. package/dist/plugins/enrichment/ValueDomainAnalyzer.d.ts.map +1 -1
  740. package/dist/plugins/enrichment/ValueDomainAnalyzer.js +6 -3
  741. package/dist/plugins/enrichment/ValueDomainAnalyzer.js.map +1 -0
  742. package/dist/plugins/enrichment/method-call/MethodCallData.d.ts +68 -0
  743. package/dist/plugins/enrichment/method-call/MethodCallData.d.ts.map +1 -0
  744. package/dist/plugins/enrichment/method-call/MethodCallData.js +227 -0
  745. package/dist/plugins/enrichment/method-call/MethodCallData.js.map +1 -0
  746. package/dist/plugins/enrichment/method-call/MethodCallDetectors.d.ts +21 -0
  747. package/dist/plugins/enrichment/method-call/MethodCallDetectors.d.ts.map +1 -0
  748. package/dist/plugins/enrichment/method-call/MethodCallDetectors.js +52 -0
  749. package/dist/plugins/enrichment/method-call/MethodCallDetectors.js.map +1 -0
  750. package/dist/plugins/enrichment/method-call/MethodCallErrorAnalysis.d.ts +22 -0
  751. package/dist/plugins/enrichment/method-call/MethodCallErrorAnalysis.d.ts.map +1 -0
  752. package/dist/plugins/enrichment/method-call/MethodCallErrorAnalysis.js +105 -0
  753. package/dist/plugins/enrichment/method-call/MethodCallErrorAnalysis.js.map +1 -0
  754. package/dist/plugins/enrichment/method-call/MethodCallIndexers.d.ts +19 -0
  755. package/dist/plugins/enrichment/method-call/MethodCallIndexers.d.ts.map +1 -0
  756. package/dist/plugins/enrichment/method-call/MethodCallIndexers.js +63 -0
  757. package/dist/plugins/enrichment/method-call/MethodCallIndexers.js.map +1 -0
  758. package/dist/plugins/enrichment/method-call/MethodCallResolution.d.ts +30 -0
  759. package/dist/plugins/enrichment/method-call/MethodCallResolution.d.ts.map +1 -0
  760. package/dist/plugins/enrichment/method-call/MethodCallResolution.js +138 -0
  761. package/dist/plugins/enrichment/method-call/MethodCallResolution.js.map +1 -0
  762. package/dist/plugins/indexing/IncrementalModuleIndexer.d.ts +3 -1
  763. package/dist/plugins/indexing/IncrementalModuleIndexer.d.ts.map +1 -1
  764. package/dist/plugins/indexing/IncrementalModuleIndexer.js +24 -37
  765. package/dist/plugins/indexing/IncrementalModuleIndexer.js.map +1 -0
  766. package/dist/plugins/indexing/JSModuleIndexer.d.ts +3 -1
  767. package/dist/plugins/indexing/JSModuleIndexer.d.ts.map +1 -1
  768. package/dist/plugins/indexing/JSModuleIndexer.js +31 -44
  769. package/dist/plugins/indexing/JSModuleIndexer.js.map +1 -0
  770. package/dist/plugins/indexing/RustModuleIndexer.d.ts.map +1 -1
  771. package/dist/plugins/indexing/RustModuleIndexer.js +14 -12
  772. package/dist/plugins/indexing/RustModuleIndexer.js.map +1 -0
  773. package/dist/plugins/validation/AwaitInLoopValidator.d.ts +24 -0
  774. package/dist/plugins/validation/AwaitInLoopValidator.d.ts.map +1 -0
  775. package/dist/plugins/validation/AwaitInLoopValidator.js +69 -0
  776. package/dist/plugins/validation/AwaitInLoopValidator.js.map +1 -0
  777. package/dist/plugins/validation/BrokenImportValidator.d.ts.map +1 -1
  778. package/dist/plugins/validation/BrokenImportValidator.js +3 -3
  779. package/dist/plugins/validation/BrokenImportValidator.js.map +1 -0
  780. package/dist/plugins/validation/CallResolverValidator.d.ts.map +1 -1
  781. package/dist/plugins/validation/CallResolverValidator.js +3 -3
  782. package/dist/plugins/validation/CallResolverValidator.js.map +1 -0
  783. package/dist/plugins/validation/DataFlowValidator.js +2 -1
  784. package/dist/plugins/validation/DataFlowValidator.js.map +1 -0
  785. package/dist/plugins/validation/EvalBanValidator.js +2 -1
  786. package/dist/plugins/validation/EvalBanValidator.js.map +1 -0
  787. package/dist/plugins/validation/GraphConnectivityValidator.d.ts.map +1 -1
  788. package/dist/plugins/validation/GraphConnectivityValidator.js +2 -1
  789. package/dist/plugins/validation/GraphConnectivityValidator.js.map +1 -0
  790. package/dist/plugins/validation/PackageCoverageValidator.d.ts +33 -0
  791. package/dist/plugins/validation/PackageCoverageValidator.d.ts.map +1 -0
  792. package/dist/plugins/validation/PackageCoverageValidator.js +149 -0
  793. package/dist/plugins/validation/PackageCoverageValidator.js.map +1 -0
  794. package/dist/plugins/validation/SQLInjectionValidator.d.ts.map +1 -1
  795. package/dist/plugins/validation/SQLInjectionValidator.js +4 -2
  796. package/dist/plugins/validation/SQLInjectionValidator.js.map +1 -0
  797. package/dist/plugins/validation/ShadowingDetector.js +2 -1
  798. package/dist/plugins/validation/ShadowingDetector.js.map +1 -0
  799. package/dist/plugins/validation/TypeScriptDeadCodeValidator.d.ts.map +1 -1
  800. package/dist/plugins/validation/TypeScriptDeadCodeValidator.js +3 -3
  801. package/dist/plugins/validation/TypeScriptDeadCodeValidator.js.map +1 -0
  802. package/dist/plugins/validation/UnconnectedRouteValidator.d.ts +18 -0
  803. package/dist/plugins/validation/UnconnectedRouteValidator.d.ts.map +1 -0
  804. package/dist/plugins/validation/UnconnectedRouteValidator.js +68 -0
  805. package/dist/plugins/validation/UnconnectedRouteValidator.js.map +1 -0
  806. package/dist/plugins/vcs/GitPlugin.d.ts.map +1 -1
  807. package/dist/plugins/vcs/GitPlugin.js +13 -6
  808. package/dist/plugins/vcs/GitPlugin.js.map +1 -0
  809. package/dist/plugins/vcs/VCSPlugin.js +1 -0
  810. package/dist/plugins/vcs/VCSPlugin.js.map +1 -0
  811. package/dist/plugins/vcs/index.js +1 -0
  812. package/dist/plugins/vcs/index.js.map +1 -0
  813. package/dist/queries/NodeContext.d.ts +81 -0
  814. package/dist/queries/NodeContext.d.ts.map +1 -0
  815. package/dist/queries/NodeContext.js +193 -0
  816. package/dist/queries/NodeContext.js.map +1 -0
  817. package/dist/queries/findCallsInFunction.d.ts +1 -1
  818. package/dist/queries/findCallsInFunction.d.ts.map +1 -1
  819. package/dist/queries/findCallsInFunction.js +13 -4
  820. package/dist/queries/findCallsInFunction.js.map +1 -0
  821. package/dist/queries/findContainingFunction.d.ts +4 -3
  822. package/dist/queries/findContainingFunction.d.ts.map +1 -1
  823. package/dist/queries/findContainingFunction.js +14 -3
  824. package/dist/queries/findContainingFunction.js.map +1 -0
  825. package/dist/queries/index.d.ts +2 -0
  826. package/dist/queries/index.d.ts.map +1 -1
  827. package/dist/queries/index.js +2 -0
  828. package/dist/queries/index.js.map +1 -0
  829. package/dist/queries/traceValues.d.ts.map +1 -1
  830. package/dist/queries/traceValues.js +1 -0
  831. package/dist/queries/traceValues.js.map +1 -0
  832. package/dist/queries/types.js +1 -0
  833. package/dist/queries/types.js.map +1 -0
  834. package/dist/resources/InfraResourceMapImpl.d.ts +31 -0
  835. package/dist/resources/InfraResourceMapImpl.d.ts.map +1 -0
  836. package/dist/resources/InfraResourceMapImpl.js +110 -0
  837. package/dist/resources/InfraResourceMapImpl.js.map +1 -0
  838. package/dist/resources/RoutingMapImpl.d.ts +33 -0
  839. package/dist/resources/RoutingMapImpl.d.ts.map +1 -0
  840. package/dist/resources/RoutingMapImpl.js +115 -0
  841. package/dist/resources/RoutingMapImpl.js.map +1 -0
  842. package/dist/schema/GraphSchemaExtractor.js +1 -0
  843. package/dist/schema/GraphSchemaExtractor.js.map +1 -0
  844. package/dist/schema/InterfaceSchemaExtractor.js +1 -0
  845. package/dist/schema/InterfaceSchemaExtractor.js.map +1 -0
  846. package/dist/schema/index.js +1 -0
  847. package/dist/schema/index.js.map +1 -0
  848. package/dist/storage/backends/RFDBServerBackend.d.ts +54 -1
  849. package/dist/storage/backends/RFDBServerBackend.d.ts.map +1 -1
  850. package/dist/storage/backends/RFDBServerBackend.js +143 -33
  851. package/dist/storage/backends/RFDBServerBackend.js.map +1 -0
  852. package/dist/storage/backends/typeValidation.d.ts.map +1 -1
  853. package/dist/storage/backends/typeValidation.js +3 -0
  854. package/dist/storage/backends/typeValidation.js.map +1 -0
  855. package/dist/utils/findRfdbBinary.d.ts +3 -2
  856. package/dist/utils/findRfdbBinary.d.ts.map +1 -1
  857. package/dist/utils/findRfdbBinary.js +23 -7
  858. package/dist/utils/findRfdbBinary.js.map +1 -0
  859. package/dist/utils/moduleResolution.d.ts +134 -0
  860. package/dist/utils/moduleResolution.d.ts.map +1 -0
  861. package/dist/utils/moduleResolution.js +189 -0
  862. package/dist/utils/moduleResolution.js.map +1 -0
  863. package/dist/utils/resolveNodeFile.d.ts +13 -0
  864. package/dist/utils/resolveNodeFile.d.ts.map +1 -0
  865. package/dist/utils/resolveNodeFile.js +18 -0
  866. package/dist/utils/resolveNodeFile.js.map +1 -0
  867. package/dist/validation/PathValidator.d.ts.map +1 -1
  868. package/dist/validation/PathValidator.js +1 -0
  869. package/dist/validation/PathValidator.js.map +1 -0
  870. package/dist/version.d.ts +11 -0
  871. package/dist/version.d.ts.map +1 -0
  872. package/dist/version.js +26 -0
  873. package/dist/version.js.map +1 -0
  874. package/package.json +4 -3
  875. package/src/DiscoveryManager.ts +279 -0
  876. package/src/GraphInitializer.ts +131 -0
  877. package/src/GuaranteeChecker.ts +90 -0
  878. package/src/Orchestrator.ts +299 -714
  879. package/src/OrchestratorTypes.ts +122 -0
  880. package/src/ParallelAnalysisRunner.ts +188 -0
  881. package/src/PhaseRunner.ts +448 -0
  882. package/src/api/GraphAPI.ts +4 -2
  883. package/src/api/GuaranteeAPI.ts +3 -2
  884. package/src/config/ConfigLoader.ts +297 -5
  885. package/src/config/index.ts +9 -1
  886. package/src/core/ASTWorker.ts +17 -22
  887. package/src/core/ASTWorkerPool.ts +1 -1
  888. package/src/core/CoverageAnalyzer.ts +2 -2
  889. package/src/core/FileNodeManager.ts +3 -2
  890. package/src/core/FileOverview.ts +374 -0
  891. package/src/core/GraphFreshnessChecker.ts +7 -5
  892. package/src/core/GuaranteeManager.ts +71 -3
  893. package/src/core/IncrementalReanalyzer.ts +12 -6
  894. package/src/core/NodeFactory.ts +180 -626
  895. package/src/core/ResourceRegistry.ts +39 -0
  896. package/src/core/ScopeTracker.ts +23 -0
  897. package/src/core/SemanticId.ts +183 -0
  898. package/src/core/WorkerPool.ts +2 -1
  899. package/src/core/brandNodeInternal.ts +16 -0
  900. package/src/core/buildDependencyGraph.ts +98 -0
  901. package/src/core/factories/CoreFactory.ts +489 -0
  902. package/src/core/factories/DatabaseFactory.ts +63 -0
  903. package/src/core/factories/ExternalFactory.ts +23 -0
  904. package/src/core/factories/HttpFactory.ts +57 -0
  905. package/src/core/factories/ReactFactory.ts +15 -0
  906. package/src/core/factories/RustFactory.ts +128 -0
  907. package/src/core/factories/ServiceFactory.ts +27 -0
  908. package/src/core/factories/SocketFactory.ts +94 -0
  909. package/src/core/nodes/DatabaseNode.ts +175 -0
  910. package/src/core/nodes/ExpressMiddlewareNode.ts +98 -0
  911. package/src/core/nodes/ExpressMountNode.ts +94 -0
  912. package/src/core/nodes/ExternalApiNode.ts +53 -0
  913. package/src/core/nodes/ExternalFunctionNode.ts +77 -0
  914. package/src/core/nodes/FetchRequestNode.ts +105 -0
  915. package/src/core/nodes/HttpRouteNode.ts +113 -0
  916. package/src/core/nodes/NodeKind.ts +12 -0
  917. package/src/core/nodes/PluginNode.ts +144 -0
  918. package/src/core/nodes/ReactNode.ts +78 -0
  919. package/src/core/nodes/RustCallNode.ts +96 -0
  920. package/src/core/nodes/RustFunctionNode.ts +112 -0
  921. package/src/core/nodes/RustImplNode.ts +78 -0
  922. package/src/core/nodes/RustMethodNode.ts +125 -0
  923. package/src/core/nodes/RustModuleNode.ts +84 -0
  924. package/src/core/nodes/RustStructNode.ts +80 -0
  925. package/src/core/nodes/RustTraitNode.ts +82 -0
  926. package/src/core/nodes/ServiceLayerNode.ts +183 -0
  927. package/src/core/nodes/SocketIONode.ts +177 -0
  928. package/src/core/nodes/SocketNode.ts +206 -0
  929. package/src/core/nodes/TypeNode.ts +47 -4
  930. package/src/core/nodes/TypeParameterNode.ts +91 -0
  931. package/src/core/nodes/index.ts +61 -0
  932. package/src/core/toposort.ts +160 -0
  933. package/src/diagnostics/DiagnosticCollector.ts +8 -1
  934. package/src/diagnostics/DiagnosticReporter.ts +87 -16
  935. package/src/diagnostics/categories.ts +104 -0
  936. package/src/diagnostics/index.ts +14 -0
  937. package/src/errors/GrafemaError.ts +58 -0
  938. package/src/index.ts +113 -13
  939. package/src/instructions/index.ts +21 -0
  940. package/src/instructions/onboarding.md +121 -0
  941. package/src/logging/Logger.ts +155 -4
  942. package/src/plugins/InfraAnalyzer.ts +208 -0
  943. package/src/plugins/analysis/DatabaseAnalyzer.ts +45 -28
  944. package/src/plugins/analysis/ExpressAnalyzer.ts +74 -49
  945. package/src/plugins/analysis/ExpressResponseAnalyzer.ts +77 -90
  946. package/src/plugins/analysis/ExpressRouteAnalyzer.ts +94 -79
  947. package/src/plugins/analysis/FetchAnalyzer.ts +200 -158
  948. package/src/plugins/analysis/IncrementalAnalysisPlugin.ts +9 -9
  949. package/src/plugins/analysis/JSASTAnalyzer.ts +969 -2247
  950. package/src/plugins/analysis/NestJSRouteAnalyzer.ts +241 -0
  951. package/src/plugins/analysis/ReactAnalyzer.ts +52 -1097
  952. package/src/plugins/analysis/RustAnalyzer.ts +144 -134
  953. package/src/plugins/analysis/SQLiteAnalyzer.ts +39 -15
  954. package/src/plugins/analysis/ServiceLayerAnalyzer.ts +64 -38
  955. package/src/plugins/analysis/SocketAnalyzer.ts +601 -0
  956. package/src/plugins/analysis/SocketIOAnalyzer.ts +49 -43
  957. package/src/plugins/analysis/SystemDbAnalyzer.ts +35 -21
  958. package/src/plugins/analysis/ast/CollisionResolver.ts +137 -0
  959. package/src/plugins/analysis/ast/ExpressionEvaluator.ts +1 -3
  960. package/src/plugins/analysis/ast/FunctionBodyContext.ts +291 -0
  961. package/src/plugins/analysis/ast/GraphBuilder.ts +275 -2715
  962. package/src/plugins/analysis/ast/IdGenerator.ts +81 -1
  963. package/src/plugins/analysis/ast/builders/AssignmentBuilder.ts +407 -0
  964. package/src/plugins/analysis/ast/builders/CallFlowBuilder.ts +255 -0
  965. package/src/plugins/analysis/ast/builders/ControlFlowBuilder.ts +470 -0
  966. package/src/plugins/analysis/ast/builders/CoreBuilder.ts +306 -0
  967. package/src/plugins/analysis/ast/builders/ModuleRuntimeBuilder.ts +452 -0
  968. package/src/plugins/analysis/ast/builders/MutationBuilder.ts +372 -0
  969. package/src/plugins/analysis/ast/builders/ReturnBuilder.ts +279 -0
  970. package/src/plugins/analysis/ast/builders/TypeSystemBuilder.ts +475 -0
  971. package/src/plugins/analysis/ast/builders/UpdateExpressionBuilder.ts +262 -0
  972. package/src/plugins/analysis/ast/builders/YieldBuilder.ts +287 -0
  973. package/src/plugins/analysis/ast/builders/index.ts +11 -0
  974. package/src/plugins/analysis/ast/builders/types.ts +65 -0
  975. package/src/plugins/analysis/ast/handlers/AnalyzerDelegate.ts +183 -0
  976. package/src/plugins/analysis/ast/handlers/BranchHandler.ts +313 -0
  977. package/src/plugins/analysis/ast/handlers/CallExpressionHandler.ts +347 -0
  978. package/src/plugins/analysis/ast/handlers/FunctionBodyHandler.ts +24 -0
  979. package/src/plugins/analysis/ast/handlers/LoopHandler.ts +240 -0
  980. package/src/plugins/analysis/ast/handlers/NestedFunctionHandler.ts +201 -0
  981. package/src/plugins/analysis/ast/handlers/NewExpressionHandler.ts +159 -0
  982. package/src/plugins/analysis/ast/handlers/PropertyAccessHandler.ts +112 -0
  983. package/src/plugins/analysis/ast/handlers/ReturnYieldHandler.ts +166 -0
  984. package/src/plugins/analysis/ast/handlers/ThrowHandler.ts +101 -0
  985. package/src/plugins/analysis/ast/handlers/TryCatchHandler.ts +262 -0
  986. package/src/plugins/analysis/ast/handlers/VariableHandler.ts +93 -0
  987. package/src/plugins/analysis/ast/handlers/index.ts +12 -0
  988. package/src/plugins/analysis/ast/types.ts +259 -2
  989. package/src/plugins/analysis/ast/utils/babelTraverse.ts +74 -0
  990. package/src/plugins/analysis/ast/utils/createParameterNodes.ts +119 -14
  991. package/src/plugins/analysis/ast/utils/extractNamesFromPattern.ts +166 -0
  992. package/src/plugins/analysis/ast/utils/getExpressionValue.ts +34 -0
  993. package/src/plugins/analysis/ast/utils/getMemberExpressionName.ts +33 -0
  994. package/src/plugins/analysis/ast/utils/index.ts +2 -0
  995. package/src/plugins/analysis/ast/visitors/ASTVisitor.ts +7 -2
  996. package/src/plugins/analysis/ast/visitors/ArgumentExtractor.ts +307 -0
  997. package/src/plugins/analysis/ast/visitors/ArrayElementExtractor.ts +172 -0
  998. package/src/plugins/analysis/ast/visitors/CallExpressionVisitor.ts +449 -1250
  999. package/src/plugins/analysis/ast/visitors/ClassVisitor.ts +285 -8
  1000. package/src/plugins/analysis/ast/visitors/FunctionVisitor.ts +48 -12
  1001. package/src/plugins/analysis/ast/visitors/MutationDetector.ts +211 -0
  1002. package/src/plugins/analysis/ast/visitors/ObjectPropertyExtractor.ts +217 -0
  1003. package/src/plugins/analysis/ast/visitors/PropertyAccessVisitor.ts +407 -0
  1004. package/src/plugins/analysis/ast/visitors/TypeScriptVisitor.ts +234 -16
  1005. package/src/plugins/analysis/ast/visitors/VariableVisitor.ts +9 -38
  1006. package/src/plugins/analysis/ast/visitors/call-expression-helpers.ts +65 -0
  1007. package/src/plugins/analysis/ast/visitors/call-expression-types.ts +179 -0
  1008. package/src/plugins/analysis/ast/visitors/index.ts +2 -0
  1009. package/src/plugins/analysis/react-internal/browser-api.ts +168 -0
  1010. package/src/plugins/analysis/react-internal/hooks.ts +517 -0
  1011. package/src/plugins/analysis/react-internal/jsx.ts +279 -0
  1012. package/src/plugins/analysis/react-internal/types.ts +183 -0
  1013. package/src/plugins/discovery/DiscoveryPlugin.ts +42 -11
  1014. package/src/plugins/discovery/MonorepoServiceDiscovery.ts +8 -16
  1015. package/src/plugins/discovery/SimpleProjectDiscovery.ts +2 -2
  1016. package/src/plugins/discovery/WorkspaceDiscovery.ts +2 -2
  1017. package/src/plugins/discovery/workspaces/globResolver.ts +1 -1
  1018. package/src/plugins/enrichment/AliasTracker.ts +4 -2
  1019. package/src/plugins/enrichment/ArgumentParameterLinker.ts +3 -2
  1020. package/src/plugins/enrichment/CallbackCallResolver.ts +398 -0
  1021. package/src/plugins/enrichment/ClosureCaptureEnricher.ts +3 -2
  1022. package/src/plugins/enrichment/ConfigRoutingMapBuilder.ts +67 -0
  1023. package/src/plugins/enrichment/ExpressHandlerLinker.ts +180 -0
  1024. package/src/plugins/enrichment/ExternalCallResolver.ts +5 -9
  1025. package/src/plugins/enrichment/FunctionCallResolver.ts +16 -24
  1026. package/src/plugins/enrichment/HTTPConnectionEnricher.ts +68 -15
  1027. package/src/plugins/enrichment/ImportExportLinker.ts +5 -4
  1028. package/src/plugins/enrichment/InstanceOfResolver.ts +4 -2
  1029. package/src/plugins/enrichment/MethodCallResolver.ts +138 -235
  1030. package/src/plugins/enrichment/MountPointResolver.ts +15 -26
  1031. package/src/plugins/enrichment/NodejsBuiltinsResolver.ts +14 -20
  1032. package/src/plugins/enrichment/PrefixEvaluator.ts +10 -6
  1033. package/src/plugins/enrichment/RejectionPropagationEnricher.ts +255 -0
  1034. package/src/plugins/enrichment/RustFFIEnricher.ts +3 -2
  1035. package/src/plugins/enrichment/ServiceConnectionEnricher.ts +472 -0
  1036. package/src/plugins/enrichment/SocketConnectionEnricher.ts +228 -0
  1037. package/src/plugins/enrichment/ValueDomainAnalyzer.ts +5 -3
  1038. package/src/plugins/enrichment/method-call/MethodCallData.ts +299 -0
  1039. package/src/plugins/enrichment/method-call/MethodCallDetectors.ts +70 -0
  1040. package/src/plugins/enrichment/method-call/MethodCallErrorAnalysis.ts +131 -0
  1041. package/src/plugins/enrichment/method-call/MethodCallIndexers.ts +83 -0
  1042. package/src/plugins/enrichment/method-call/MethodCallResolution.ts +181 -0
  1043. package/src/plugins/indexing/IncrementalModuleIndexer.ts +29 -40
  1044. package/src/plugins/indexing/JSModuleIndexer.ts +34 -36
  1045. package/src/plugins/indexing/RustModuleIndexer.ts +24 -18
  1046. package/src/plugins/validation/AwaitInLoopValidator.ts +91 -0
  1047. package/src/plugins/validation/BrokenImportValidator.ts +2 -3
  1048. package/src/plugins/validation/CallResolverValidator.ts +2 -3
  1049. package/src/plugins/validation/DataFlowValidator.ts +1 -1
  1050. package/src/plugins/validation/EvalBanValidator.ts +1 -1
  1051. package/src/plugins/validation/GraphConnectivityValidator.ts +1 -9
  1052. package/src/plugins/validation/PackageCoverageValidator.ts +181 -0
  1053. package/src/plugins/validation/SQLInjectionValidator.ts +3 -2
  1054. package/src/plugins/validation/ShadowingDetector.ts +1 -1
  1055. package/src/plugins/validation/TypeScriptDeadCodeValidator.ts +2 -3
  1056. package/src/plugins/validation/UnconnectedRouteValidator.ts +93 -0
  1057. package/src/plugins/vcs/GitPlugin.ts +12 -6
  1058. package/src/queries/NodeContext.ts +277 -0
  1059. package/src/queries/findCallsInFunction.ts +15 -6
  1060. package/src/queries/findContainingFunction.ts +15 -4
  1061. package/src/queries/index.ts +13 -0
  1062. package/src/queries/traceValues.ts +0 -1
  1063. package/src/resources/InfraResourceMapImpl.ts +119 -0
  1064. package/src/resources/RoutingMapImpl.ts +133 -0
  1065. package/src/storage/backends/RFDBServerBackend.ts +157 -38
  1066. package/src/storage/backends/typeValidation.ts +2 -0
  1067. package/src/utils/findRfdbBinary.ts +22 -7
  1068. package/src/utils/moduleResolution.ts +271 -0
  1069. package/src/utils/resolveNodeFile.ts +18 -0
  1070. package/src/validation/PathValidator.ts +0 -8
  1071. package/src/version.ts +28 -0
  1072. package/src/plugins/validation/NodeCreationValidator.ts +0 -554
package/dist/index.js CHANGED
@@ -2,36 +2,51 @@
2
2
  * @grafema/core - Core analysis engine for GraphDD
3
3
  */
4
4
  // Error types
5
- export { GrafemaError, ConfigError, FileAccessError, LanguageError, DatabaseError, PluginError, AnalysisError, ValidationError, StrictModeError, } from './errors/GrafemaError.js';
5
+ export { GrafemaError, ConfigError, FileAccessError, LanguageError, DatabaseError, PluginError, AnalysisError, ValidationError, StrictModeError, StrictModeFailure, } from './errors/GrafemaError.js';
6
6
  // Logging
7
- export { ConsoleLogger, createLogger } from './logging/Logger.js';
7
+ export { ConsoleLogger, FileLogger, MultiLogger, createLogger } from './logging/Logger.js';
8
8
  // Diagnostics
9
9
  export { DiagnosticCollector, DiagnosticReporter, DiagnosticWriter } from './diagnostics/index.js';
10
+ // Diagnostic categories (single source of truth)
11
+ export { DIAGNOSTIC_CATEGORIES, CODE_TO_CATEGORY, getCategoryForCode, getCodesForCategory } from './diagnostics/index.js';
10
12
  // Config
11
- export { loadConfig, DEFAULT_CONFIG } from './config/index.js';
13
+ export { loadConfig, DEFAULT_CONFIG, validateVersion, validateServices, validatePatterns, validateWorkspace, validateRouting, } from './config/index.js';
14
+ // Version
15
+ export { GRAFEMA_VERSION, getSchemaVersion } from './version.js';
16
+ // Instructions (for AI agents)
17
+ export { getOnboardingInstruction } from './instructions/index.js';
12
18
  // Main orchestrator
13
19
  export { Orchestrator } from './Orchestrator.js';
14
20
  // Plugin base
15
- export { Plugin } from './plugins/Plugin.js';
21
+ export { Plugin, createSuccessResult, createErrorResult } from './plugins/Plugin.js';
22
+ export { InfraAnalyzer } from './plugins/InfraAnalyzer.js';
16
23
  // Graph backend
17
24
  export { GraphBackend, typeToKind, edgeTypeToNumber } from './core/GraphBackend.js';
18
25
  // RFDB
19
26
  export { RFDBClient } from '@grafema/rfdb-client';
20
27
  export { RFDBServerBackend } from './storage/backends/RFDBServerBackend.js';
21
- export { findRfdbBinary, getPlatformDir, getBinaryNotFoundMessage } from './utils/findRfdbBinary.js';
22
28
  // Core utilities
23
29
  export { NodeFactory } from './core/NodeFactory.js';
24
30
  export { Profiler } from './core/Profiler.js';
25
- export { computeSemanticId, parseSemanticId, computeDiscriminator } from './core/SemanticId.js';
31
+ export { computeSemanticId, parseSemanticId, computeDiscriminator, computeSemanticIdV2, parseSemanticIdV2, computeContentHash } from './core/SemanticId.js';
26
32
  export { ScopeTracker } from './core/ScopeTracker.js';
27
33
  export { AnalysisQueue } from './core/AnalysisQueue.js';
28
34
  export { ASTWorkerPool } from './core/ASTWorkerPool.js';
29
35
  export { GuaranteeManager } from './core/GuaranteeManager.js';
36
+ export { toposort, CycleError } from './core/toposort.js';
37
+ export { buildDependencyGraph } from './core/buildDependencyGraph.js';
30
38
  export { clearFileNodesIfNeeded, clearServiceNodeIfExists } from './core/FileNodeManager.js';
31
39
  export { CoverageAnalyzer } from './core/CoverageAnalyzer.js';
32
40
  export { FileExplainer } from './core/FileExplainer.js';
41
+ export { FileOverview } from './core/FileOverview.js';
33
42
  // Hash utilities
34
43
  export { calculateFileHash, calculateFileHashAsync, calculateContentHash } from './core/HashUtils.js';
44
+ // RFDB binary finder utilities (REG-410)
45
+ export { findRfdbBinary, getBinaryNotFoundMessage, getPlatformDir } from './utils/findRfdbBinary.js';
46
+ // Module resolution utilities (REG-320)
47
+ export { resolveModulePath, isRelativeImport, resolveRelativeSpecifier, DEFAULT_EXTENSIONS, DEFAULT_INDEX_FILES } from './utils/moduleResolution.js';
48
+ // Node file path resolution (REG-408)
49
+ export { resolveNodeFile } from './utils/resolveNodeFile.js';
35
50
  // Type validation and path validation
36
51
  export { levenshtein, checkTypoAgainstKnownTypes, resetKnownNodeTypes, getKnownNodeTypes } from './storage/backends/typeValidation.js';
37
52
  export { PathValidator } from './validation/PathValidator.js';
@@ -44,9 +59,13 @@ export { IncrementalReanalyzer } from './core/IncrementalReanalyzer.js';
44
59
  export { GraphAPI } from './api/GraphAPI.js';
45
60
  export { GuaranteeAPI } from './api/GuaranteeAPI.js';
46
61
  // Node kinds
47
- export { isGuaranteeType } from './core/nodes/NodeKind.js';
62
+ export { isGuaranteeType, isGrafemaType } from './core/nodes/NodeKind.js';
48
63
  // Issue nodes (detected problems)
49
64
  export { IssueNode } from './core/nodes/IssueNode.js';
65
+ // Plugin nodes (self-describing pipeline)
66
+ export { PluginNode } from './core/nodes/PluginNode.js';
67
+ // Guarantee nodes (contract-based)
68
+ export { GuaranteeNode } from './core/nodes/GuaranteeNode.js';
50
69
  // Node contracts
51
70
  export { FunctionNode } from './core/nodes/FunctionNode.js';
52
71
  export { CallSiteNode } from './core/nodes/CallSiteNode.js';
@@ -57,13 +76,17 @@ export { MethodNode } from './core/nodes/MethodNode.js';
57
76
  export { ExportNode } from './core/nodes/ExportNode.js';
58
77
  export { VariableDeclarationNode } from './core/nodes/VariableDeclarationNode.js';
59
78
  export { ExternalModuleNode } from './core/nodes/ExternalModuleNode.js';
79
+ export { ExternalFunctionNode } from './core/nodes/ExternalFunctionNode.js';
60
80
  export { NetworkRequestNode } from './core/nodes/NetworkRequestNode.js';
61
81
  export { InterfaceNode } from './core/nodes/InterfaceNode.js';
62
82
  export { TypeNode } from './core/nodes/TypeNode.js';
83
+ export { TypeParameterNode } from './core/nodes/TypeParameterNode.js';
63
84
  export { EnumNode } from './core/nodes/EnumNode.js';
64
85
  export { DecoratorNode } from './core/nodes/DecoratorNode.js';
65
86
  export { ExpressionNode } from './core/nodes/ExpressionNode.js';
66
87
  export { ArgumentExpressionNode } from './core/nodes/ArgumentExpressionNode.js';
88
+ // AST CollisionResolver (v2 semantic ID disambiguation)
89
+ export { CollisionResolver } from './plugins/analysis/ast/CollisionResolver.js';
67
90
  // AST Visitors (for advanced usage)
68
91
  export { ASTVisitor, ImportExportVisitor, VariableVisitor, FunctionVisitor, ClassVisitor, CallExpressionVisitor, TypeScriptVisitor } from './plugins/analysis/ast/visitors/index.js';
69
92
  // AST Location utilities (REG-122)
@@ -77,10 +100,12 @@ export { RustModuleIndexer } from './plugins/indexing/RustModuleIndexer.js';
77
100
  export { JSASTAnalyzer } from './plugins/analysis/JSASTAnalyzer.js';
78
101
  export { ExpressRouteAnalyzer } from './plugins/analysis/ExpressRouteAnalyzer.js';
79
102
  export { ExpressResponseAnalyzer } from './plugins/analysis/ExpressResponseAnalyzer.js';
103
+ export { NestJSRouteAnalyzer } from './plugins/analysis/NestJSRouteAnalyzer.js';
80
104
  export { ExpressAnalyzer } from './plugins/analysis/ExpressAnalyzer.js';
81
105
  export { SocketIOAnalyzer } from './plugins/analysis/SocketIOAnalyzer.js';
82
106
  export { DatabaseAnalyzer } from './plugins/analysis/DatabaseAnalyzer.js';
83
107
  export { FetchAnalyzer } from './plugins/analysis/FetchAnalyzer.js';
108
+ export { SocketAnalyzer } from './plugins/analysis/SocketAnalyzer.js';
84
109
  export { ServiceLayerAnalyzer } from './plugins/analysis/ServiceLayerAnalyzer.js';
85
110
  export { ReactAnalyzer } from './plugins/analysis/ReactAnalyzer.js';
86
111
  export { RustAnalyzer } from './plugins/analysis/RustAnalyzer.js';
@@ -88,7 +113,7 @@ export { SQLiteAnalyzer } from './plugins/analysis/SQLiteAnalyzer.js';
88
113
  export { SystemDbAnalyzer } from './plugins/analysis/SystemDbAnalyzer.js';
89
114
  export { IncrementalAnalysisPlugin } from './plugins/analysis/IncrementalAnalysisPlugin.js';
90
115
  // Enrichment plugins
91
- export { MethodCallResolver } from './plugins/enrichment/MethodCallResolver.js';
116
+ export { MethodCallResolver, LIBRARY_SEMANTIC_GROUPS } from './plugins/enrichment/MethodCallResolver.js';
92
117
  export { ArgumentParameterLinker } from './plugins/enrichment/ArgumentParameterLinker.js';
93
118
  export { AliasTracker } from './plugins/enrichment/AliasTracker.js';
94
119
  export { ValueDomainAnalyzer } from './plugins/enrichment/ValueDomainAnalyzer.js';
@@ -96,12 +121,22 @@ export { MountPointResolver } from './plugins/enrichment/MountPointResolver.js';
96
121
  export { PrefixEvaluator } from './plugins/enrichment/PrefixEvaluator.js';
97
122
  export { InstanceOfResolver } from './plugins/enrichment/InstanceOfResolver.js';
98
123
  export { HTTPConnectionEnricher } from './plugins/enrichment/HTTPConnectionEnricher.js';
124
+ export { SocketConnectionEnricher } from './plugins/enrichment/SocketConnectionEnricher.js';
99
125
  export { ImportExportLinker } from './plugins/enrichment/ImportExportLinker.js';
100
126
  export { FunctionCallResolver } from './plugins/enrichment/FunctionCallResolver.js';
101
127
  export { RustFFIEnricher } from './plugins/enrichment/RustFFIEnricher.js';
102
128
  export { NodejsBuiltinsResolver } from './plugins/enrichment/NodejsBuiltinsResolver.js';
103
129
  export { ExternalCallResolver } from './plugins/enrichment/ExternalCallResolver.js';
104
130
  export { ClosureCaptureEnricher } from './plugins/enrichment/ClosureCaptureEnricher.js';
131
+ export { ExpressHandlerLinker } from './plugins/enrichment/ExpressHandlerLinker.js';
132
+ export { RejectionPropagationEnricher } from './plugins/enrichment/RejectionPropagationEnricher.js';
133
+ export { CallbackCallResolver } from './plugins/enrichment/CallbackCallResolver.js';
134
+ export { ConfigRoutingMapBuilder } from './plugins/enrichment/ConfigRoutingMapBuilder.js';
135
+ export { ServiceConnectionEnricher } from './plugins/enrichment/ServiceConnectionEnricher.js';
136
+ // Resource system (REG-256)
137
+ export { ResourceRegistryImpl } from './core/ResourceRegistry.js';
138
+ export { RoutingMapImpl, createRoutingMap } from './resources/RoutingMapImpl.js';
139
+ export { InfraResourceMapImpl, createInfraResourceMap } from './resources/InfraResourceMapImpl.js';
105
140
  // Builtin registry
106
141
  export { BuiltinRegistry } from './data/builtins/index.js';
107
142
  // Globals registry
@@ -110,12 +145,14 @@ export { GlobalsRegistry, ALL_GLOBALS } from './data/globals/index.js';
110
145
  export { CallResolverValidator } from './plugins/validation/CallResolverValidator.js';
111
146
  export { EvalBanValidator } from './plugins/validation/EvalBanValidator.js';
112
147
  export { SQLInjectionValidator } from './plugins/validation/SQLInjectionValidator.js';
148
+ export { AwaitInLoopValidator } from './plugins/validation/AwaitInLoopValidator.js';
113
149
  export { ShadowingDetector } from './plugins/validation/ShadowingDetector.js';
114
150
  export { GraphConnectivityValidator } from './plugins/validation/GraphConnectivityValidator.js';
115
151
  export { DataFlowValidator } from './plugins/validation/DataFlowValidator.js';
116
152
  export { TypeScriptDeadCodeValidator } from './plugins/validation/TypeScriptDeadCodeValidator.js';
117
- export { NodeCreationValidator } from './plugins/validation/NodeCreationValidator.js';
118
153
  export { BrokenImportValidator } from './plugins/validation/BrokenImportValidator.js';
154
+ export { UnconnectedRouteValidator } from './plugins/validation/UnconnectedRouteValidator.js';
155
+ export { PackageCoverageValidator, COVERED_PACKAGES_RESOURCE_ID, createCoveredPackagesResource } from './plugins/validation/PackageCoverageValidator.js';
119
156
  // Discovery plugins
120
157
  export { SimpleProjectDiscovery } from './plugins/discovery/SimpleProjectDiscovery.js';
121
158
  export { DiscoveryPlugin } from './plugins/discovery/DiscoveryPlugin.js';
@@ -131,3 +168,5 @@ export { VCSPlugin, VCSPluginFactory, FileStatus } from './plugins/vcs/VCSPlugin
131
168
  export { InterfaceSchemaExtractor, GraphSchemaExtractor } from './schema/index.js';
132
169
  // Graph Query Utilities
133
170
  export { findCallsInFunction, findContainingFunction, traceValues, aggregateValues, NONDETERMINISTIC_PATTERNS, NONDETERMINISTIC_OBJECTS } from './queries/index.js';
171
+ export { buildNodeContext, getNodeDisplayName, formatEdgeMetadata, STRUCTURAL_EDGE_TYPES } from './queries/index.js';
172
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Get the onboarding instruction document.
3
+ *
4
+ * Returns the full markdown text of the onboarding procedure
5
+ * that guides an AI agent through project study and configuration.
6
+ */
7
+ export declare function getOnboardingInstruction(): string;
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/instructions/index.ts"],"names":[],"mappings":"AAYA;;;;;GAKG;AACH,wBAAgB,wBAAwB,IAAI,MAAM,CAEjD"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Grafema instruction documents for AI agents.
3
+ *
4
+ * Instructions are markdown documents that guide agent behavior.
5
+ * They are read at runtime from the installed package.
6
+ */
7
+ import { readFileSync } from 'fs';
8
+ import { join, dirname } from 'path';
9
+ import { fileURLToPath } from 'url';
10
+ const __dirname = dirname(fileURLToPath(import.meta.url));
11
+ /**
12
+ * Get the onboarding instruction document.
13
+ *
14
+ * Returns the full markdown text of the onboarding procedure
15
+ * that guides an AI agent through project study and configuration.
16
+ */
17
+ export function getOnboardingInstruction() {
18
+ return readFileSync(join(__dirname, 'onboarding.md'), 'utf-8');
19
+ }
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/instructions/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAE1D;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB;IACtC,OAAO,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,EAAE,OAAO,CAAC,CAAC;AACjE,CAAC"}
@@ -0,0 +1,121 @@
1
+ # Grafema Project Onboarding
2
+
3
+ ## Goal
4
+ Study the target project and create a `.grafema/config.yaml` that correctly
5
+ describes its services, entry points, and analysis configuration.
6
+
7
+ ## Prerequisites
8
+ - The project directory exists and contains source code
9
+ - `.grafema/` directory exists (run `grafema init` if not)
10
+
11
+ ## Step 1: Initial Reconnaissance
12
+
13
+ Use `read_project_structure` to get the directory tree.
14
+
15
+ Look for:
16
+ - `package.json` in root and subdirectories (indicates JS/TS packages)
17
+ - `pnpm-workspace.yaml`, `lerna.json`, root `package.json` with `workspaces`
18
+ field (workspace/monorepo indicators)
19
+ - `tsconfig.json` files (TypeScript project)
20
+ - `Dockerfile`, `docker-compose.yml`, `k8s/`, `apps.json` (deployment configs
21
+ that may reveal service boundaries)
22
+ - Directories named `apps/`, `packages/`, `services/`, `pkg/`, `modules/`
23
+ (common monorepo structures)
24
+
25
+ ## Step 2: Identify Services
26
+
27
+ A "service" in Grafema is an independently analyzable unit of code with its
28
+ own entry point. Typically:
29
+ - A standalone application (API server, web app, CLI tool)
30
+ - A package in a monorepo that other packages depend on
31
+ - A microservice in a deployment configuration
32
+
33
+ For each potential service, determine:
34
+ 1. **Name** — human-readable identifier (e.g., "backend", "dashboard")
35
+ 2. **Path** — directory path relative to project root
36
+ 3. **Entry point** — the main source file (prefer TypeScript source over
37
+ compiled output)
38
+
39
+ ### How to find entry points
40
+ Check in order:
41
+ 1. `package.json` "source" field (TypeScript source entry)
42
+ 2. `package.json` "main" field, but look for `.ts` equivalent in `src/`
43
+ 3. Common patterns: `src/index.ts`, `src/main.ts`, `src/app.ts`,
44
+ `src/server.ts`, `index.ts`
45
+ 4. For React apps: `src/App.tsx`, `src/index.tsx`
46
+ 5. Check `bin` field in package.json for CLI tools
47
+
48
+ ### When to ask the user
49
+ - "I found [X] that looks like [description]. Should I include it as a
50
+ service?"
51
+ - "This directory has multiple potential entry points: [list].
52
+ Which should I use?"
53
+ - "I found deployment configuration mentioning services not visible in
54
+ the code structure. Should I investigate?"
55
+
56
+ ## Step 3: Run Auto-Discovery (Optional)
57
+
58
+ Use `discover_services` to see what Grafema's built-in detection finds.
59
+ Compare with your own findings from Steps 1-2. Note discrepancies —
60
+ auto-discovery may miss services or misidentify entry points.
61
+
62
+ ## Step 4: Configure Plugins
63
+
64
+ Default plugins work for most JS/TS projects. Adjust if:
65
+ - Project uses specific frameworks (Express, React, Socket.IO) — ensure
66
+ corresponding analyzers are enabled
67
+ - Project has Rust components — add `RustModuleIndexer` and `RustAnalyzer`
68
+ - Project has unusual file patterns — configure `include`/`exclude`
69
+
70
+ Default plugin list (reference only — omit from config to use defaults):
71
+ indexing: [JSModuleIndexer]
72
+ analysis: [JSASTAnalyzer, ExpressRouteAnalyzer, ExpressResponseAnalyzer,
73
+ SocketIOAnalyzer, DatabaseAnalyzer, FetchAnalyzer, ServiceLayerAnalyzer]
74
+ enrichment: [MethodCallResolver, ArgumentParameterLinker, AliasTracker,
75
+ ClosureCaptureEnricher, RejectionPropagationEnricher, ValueDomainAnalyzer,
76
+ MountPointResolver, ExpressHandlerLinker, PrefixEvaluator,
77
+ ImportExportLinker, HTTPConnectionEnricher]
78
+ validation: [GraphConnectivityValidator, DataFlowValidator, EvalBanValidator,
79
+ CallResolverValidator, SQLInjectionValidator, ShadowingDetector,
80
+ TypeScriptDeadCodeValidator, BrokenImportValidator]
81
+
82
+ ## Step 5: Write Configuration
83
+
84
+ Use `write_config` to save the discovered configuration.
85
+
86
+ The config should include:
87
+ - `services` array with all confirmed services (name, path, optional entryPoint)
88
+ - `plugins` section (only if overriding defaults)
89
+ - `include`/`exclude` patterns (only if needed)
90
+ - `workspace.roots` (for multi-root workspaces only)
91
+
92
+ ## Step 6: Verify
93
+
94
+ Run `analyze_project` to build the graph. Then check:
95
+ - `get_stats` — are node/edge counts reasonable for the project size?
96
+ - `get_coverage` — are the expected files analyzed?
97
+
98
+ If coverage is low or results are unexpected, iterate:
99
+ revisit services, entry points, or include/exclude patterns.
100
+
101
+ ## Common Patterns
102
+
103
+ ### Monorepo with workspaces
104
+ Look for `pnpm-workspace.yaml` or `workspaces` in root `package.json`.
105
+ Each workspace package is typically a service. Use `read_project_structure`
106
+ with depth=2 to see the package layout.
107
+
108
+ ### Legacy project with multiple entry points
109
+ Look for `scripts` in `package.json`, `bin` field, or multiple files
110
+ in `src/` that look like entry points (contain `app.listen()`,
111
+ `createServer()`, `express()`).
112
+
113
+ ### Microservices with shared deployment
114
+ Look for `docker-compose.yml`, Kubernetes configs, or similar
115
+ deployment manifests that list services. Cross-reference with
116
+ code directories.
117
+
118
+ ### Single-package project
119
+ If there is only one `package.json` at the root and no monorepo
120
+ structure, the project is likely a single service. The service path
121
+ is `.` (root), and the entry point is determined from `package.json`.
@@ -4,12 +4,15 @@
4
4
  * Features:
5
5
  * - 5 log levels: silent, errors, warnings, info, debug
6
6
  * - Context support for structured logging
7
- * - No external dependencies
7
+ * - Console and file output (or both via MultiLogger)
8
8
  * - Safe handling of circular references
9
9
  *
10
10
  * Usage:
11
11
  * const logger = createLogger('info');
12
12
  * logger.info('Processing files', { count: 150 });
13
+ *
14
+ * // Write logs to file (REG-199):
15
+ * const logger = createLogger('info', { logFile: '.grafema/analysis.log' });
13
16
  */
14
17
  /**
15
18
  * Log level type
@@ -42,7 +45,54 @@ export declare class ConsoleLogger implements Logger {
42
45
  trace(message: string, context?: Record<string, unknown>): void;
43
46
  }
44
47
  /**
45
- * Create a Logger instance with the specified log level
48
+ * File-based Logger implementation (REG-199)
49
+ *
50
+ * Writes log messages to a file with ISO timestamps using a write stream
51
+ * (non-blocking I/O). File is truncated on construction (overwritten each run).
52
+ * Parent directories are created automatically.
53
+ *
54
+ * Validates path on construction — throws if the directory is not writable
55
+ * or the path points to a directory.
56
+ */
57
+ export declare class FileLogger implements Logger {
58
+ private readonly priority;
59
+ private readonly stream;
60
+ constructor(logLevel: LogLevel, filePath: string);
61
+ private shouldLog;
62
+ private writeLine;
63
+ error(message: string, context?: Record<string, unknown>): void;
64
+ warn(message: string, context?: Record<string, unknown>): void;
65
+ info(message: string, context?: Record<string, unknown>): void;
66
+ debug(message: string, context?: Record<string, unknown>): void;
67
+ trace(message: string, context?: Record<string, unknown>): void;
68
+ /** Flush and close the write stream. Returns when all data is written. */
69
+ close(): Promise<void>;
70
+ }
71
+ /**
72
+ * Multi-output Logger that delegates to multiple Logger instances.
73
+ *
74
+ * Each inner logger applies its own level filtering independently.
75
+ * Used to write to both console and file simultaneously.
76
+ */
77
+ export declare class MultiLogger implements Logger {
78
+ private readonly loggers;
79
+ constructor(loggers: Logger[]);
80
+ error(message: string, context?: Record<string, unknown>): void;
81
+ warn(message: string, context?: Record<string, unknown>): void;
82
+ info(message: string, context?: Record<string, unknown>): void;
83
+ debug(message: string, context?: Record<string, unknown>): void;
84
+ trace(message: string, context?: Record<string, unknown>): void;
85
+ /** Close all inner loggers that have a close() method (e.g., FileLogger). */
86
+ close(): Promise<void>;
87
+ }
88
+ /**
89
+ * Create a Logger instance with the specified log level.
90
+ *
91
+ * When logFile is specified, returns a MultiLogger that writes to both
92
+ * console and file. The file logger always captures at 'debug' level
93
+ * for complete post-mortem debugging, regardless of the console level.
46
94
  */
47
- export declare function createLogger(level: LogLevel): Logger;
95
+ export declare function createLogger(level: LogLevel, options?: {
96
+ logFile?: string;
97
+ }): Logger;
48
98
  //# sourceMappingURL=Logger.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Logger.d.ts","sourceRoot":"","sources":["../../src/logging/Logger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,GAAG,MAAM,GAAG,OAAO,CAAC;AAE3E;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAChE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC/D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC/D,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAChE,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CACjE;AAsDD;;;;GAIG;AACH,qBAAa,aAAc,YAAW,MAAM;IAC1C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAW;IACjC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;gBAEtB,QAAQ,GAAE,QAAiB;IAKvC,OAAO,CAAC,SAAS;IAIjB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAS/D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAS9D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAS9D,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAS/D,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;CAQhE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,CAEpD"}
1
+ {"version":3,"file":"Logger.d.ts","sourceRoot":"","sources":["../../src/logging/Logger.ts"],"names":[],"mappings":"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"}
@@ -4,13 +4,18 @@
4
4
  * Features:
5
5
  * - 5 log levels: silent, errors, warnings, info, debug
6
6
  * - Context support for structured logging
7
- * - No external dependencies
7
+ * - Console and file output (or both via MultiLogger)
8
8
  * - Safe handling of circular references
9
9
  *
10
10
  * Usage:
11
11
  * const logger = createLogger('info');
12
12
  * logger.info('Processing files', { count: 150 });
13
+ *
14
+ * // Write logs to file (REG-199):
15
+ * const logger = createLogger('info', { logFile: '.grafema/analysis.log' });
13
16
  */
17
+ import { createWriteStream, writeFileSync, mkdirSync, accessSync, statSync, constants } from 'fs';
18
+ import { dirname, resolve } from 'path';
14
19
  /**
15
20
  * Log level priorities (higher = more verbose)
16
21
  */
@@ -127,8 +132,143 @@ export class ConsoleLogger {
127
132
  }
128
133
  }
129
134
  /**
130
- * Create a Logger instance with the specified log level
135
+ * File-based Logger implementation (REG-199)
136
+ *
137
+ * Writes log messages to a file with ISO timestamps using a write stream
138
+ * (non-blocking I/O). File is truncated on construction (overwritten each run).
139
+ * Parent directories are created automatically.
140
+ *
141
+ * Validates path on construction — throws if the directory is not writable
142
+ * or the path points to a directory.
143
+ */
144
+ export class FileLogger {
145
+ priority;
146
+ stream;
147
+ constructor(logLevel, filePath) {
148
+ this.priority = LOG_LEVEL_PRIORITY[logLevel];
149
+ const resolvedPath = resolve(filePath);
150
+ // Create parent directories
151
+ const dir = dirname(resolvedPath);
152
+ mkdirSync(dir, { recursive: true });
153
+ // Validate: parent directory must be writable
154
+ try {
155
+ accessSync(dir, constants.W_OK);
156
+ }
157
+ catch {
158
+ throw new Error(`Cannot write log file: directory '${dir}' is not writable`);
159
+ }
160
+ // Validate: path must not point to an existing directory
161
+ try {
162
+ if (statSync(resolvedPath).isDirectory()) {
163
+ throw new Error(`Cannot write log file: '${resolvedPath}' is a directory`);
164
+ }
165
+ }
166
+ catch (e) {
167
+ // If stat throws, file doesn't exist yet — that's fine
168
+ if (e instanceof Error && e.message.includes('is a directory'))
169
+ throw e;
170
+ }
171
+ // Truncate/create file synchronously (validates writeability),
172
+ // then open stream in append mode for non-blocking writes
173
+ writeFileSync(resolvedPath, '');
174
+ this.stream = createWriteStream(resolvedPath, { flags: 'a' });
175
+ this.stream.on('error', () => {
176
+ // Silently ignore stream errors — don't crash analysis for logging failures
177
+ });
178
+ }
179
+ shouldLog(methodLevel) {
180
+ return this.priority >= methodLevel;
181
+ }
182
+ writeLine(level, message, context) {
183
+ const timestamp = new Date().toISOString();
184
+ const formatted = formatMessage(`${timestamp} [${level}] ${message}`, context);
185
+ this.stream.write(formatted + '\n');
186
+ }
187
+ error(message, context) {
188
+ if (!this.shouldLog(METHOD_LEVELS.error))
189
+ return;
190
+ this.writeLine('ERROR', message, context);
191
+ }
192
+ warn(message, context) {
193
+ if (!this.shouldLog(METHOD_LEVELS.warn))
194
+ return;
195
+ this.writeLine('WARN', message, context);
196
+ }
197
+ info(message, context) {
198
+ if (!this.shouldLog(METHOD_LEVELS.info))
199
+ return;
200
+ this.writeLine('INFO', message, context);
201
+ }
202
+ debug(message, context) {
203
+ if (!this.shouldLog(METHOD_LEVELS.debug))
204
+ return;
205
+ this.writeLine('DEBUG', message, context);
206
+ }
207
+ trace(message, context) {
208
+ if (!this.shouldLog(METHOD_LEVELS.trace))
209
+ return;
210
+ this.writeLine('TRACE', message, context);
211
+ }
212
+ /** Flush and close the write stream. Returns when all data is written. */
213
+ close() {
214
+ return new Promise((resolve) => {
215
+ this.stream.end(resolve);
216
+ });
217
+ }
218
+ }
219
+ /**
220
+ * Multi-output Logger that delegates to multiple Logger instances.
221
+ *
222
+ * Each inner logger applies its own level filtering independently.
223
+ * Used to write to both console and file simultaneously.
224
+ */
225
+ export class MultiLogger {
226
+ loggers;
227
+ constructor(loggers) {
228
+ this.loggers = loggers;
229
+ }
230
+ error(message, context) {
231
+ for (const logger of this.loggers)
232
+ logger.error(message, context);
233
+ }
234
+ warn(message, context) {
235
+ for (const logger of this.loggers)
236
+ logger.warn(message, context);
237
+ }
238
+ info(message, context) {
239
+ for (const logger of this.loggers)
240
+ logger.info(message, context);
241
+ }
242
+ debug(message, context) {
243
+ for (const logger of this.loggers)
244
+ logger.debug(message, context);
245
+ }
246
+ trace(message, context) {
247
+ for (const logger of this.loggers)
248
+ logger.trace(message, context);
249
+ }
250
+ /** Close all inner loggers that have a close() method (e.g., FileLogger). */
251
+ async close() {
252
+ for (const logger of this.loggers) {
253
+ if (logger instanceof FileLogger) {
254
+ await logger.close();
255
+ }
256
+ }
257
+ }
258
+ }
259
+ /**
260
+ * Create a Logger instance with the specified log level.
261
+ *
262
+ * When logFile is specified, returns a MultiLogger that writes to both
263
+ * console and file. The file logger always captures at 'debug' level
264
+ * for complete post-mortem debugging, regardless of the console level.
131
265
  */
132
- export function createLogger(level) {
133
- return new ConsoleLogger(level);
266
+ export function createLogger(level, options) {
267
+ const consoleLogger = new ConsoleLogger(level);
268
+ if (options?.logFile) {
269
+ const fileLogger = new FileLogger('debug', options.logFile);
270
+ return new MultiLogger([consoleLogger, fileLogger]);
271
+ }
272
+ return consoleLogger;
134
273
  }
274
+ //# sourceMappingURL=Logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Logger.js","sourceRoot":"","sources":["../../src/logging/Logger.ts"],"names":[],"mappings":"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"}