@grafema/core 0.1.0-alpha.1

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 (402) hide show
  1. package/LICENSE +190 -0
  2. package/README.md +76 -0
  3. package/dist/Orchestrator.d.ts +142 -0
  4. package/dist/Orchestrator.d.ts.map +1 -0
  5. package/dist/Orchestrator.js +481 -0
  6. package/dist/api/GraphAPI.d.ts +87 -0
  7. package/dist/api/GraphAPI.d.ts.map +1 -0
  8. package/dist/api/GraphAPI.js +210 -0
  9. package/dist/api/GuaranteeAPI.d.ts +147 -0
  10. package/dist/api/GuaranteeAPI.d.ts.map +1 -0
  11. package/dist/api/GuaranteeAPI.js +288 -0
  12. package/dist/core/ASTWorker.d.ts +133 -0
  13. package/dist/core/ASTWorker.d.ts.map +1 -0
  14. package/dist/core/ASTWorker.js +352 -0
  15. package/dist/core/ASTWorkerPool.d.ts +85 -0
  16. package/dist/core/ASTWorkerPool.d.ts.map +1 -0
  17. package/dist/core/ASTWorkerPool.js +207 -0
  18. package/dist/core/AnalysisQueue.d.ts +104 -0
  19. package/dist/core/AnalysisQueue.d.ts.map +1 -0
  20. package/dist/core/AnalysisQueue.js +299 -0
  21. package/dist/core/AnalysisWorker.d.ts +14 -0
  22. package/dist/core/AnalysisWorker.d.ts.map +1 -0
  23. package/dist/core/AnalysisWorker.js +307 -0
  24. package/dist/core/GraphBackend.d.ts +156 -0
  25. package/dist/core/GraphBackend.d.ts.map +1 -0
  26. package/dist/core/GraphBackend.js +85 -0
  27. package/dist/core/GuaranteeManager.d.ts +230 -0
  28. package/dist/core/GuaranteeManager.d.ts.map +1 -0
  29. package/dist/core/GuaranteeManager.js +352 -0
  30. package/dist/core/ManifestStore.d.ts +71 -0
  31. package/dist/core/ManifestStore.d.ts.map +1 -0
  32. package/dist/core/ManifestStore.js +146 -0
  33. package/dist/core/NodeFactory.d.ts +160 -0
  34. package/dist/core/NodeFactory.d.ts.map +1 -0
  35. package/dist/core/NodeFactory.js +137 -0
  36. package/dist/core/NodeId.d.ts +88 -0
  37. package/dist/core/NodeId.d.ts.map +1 -0
  38. package/dist/core/NodeId.js +170 -0
  39. package/dist/core/ParallelAnalyzer.d.ts +120 -0
  40. package/dist/core/ParallelAnalyzer.d.ts.map +1 -0
  41. package/dist/core/ParallelAnalyzer.js +331 -0
  42. package/dist/core/PriorityQueue.d.ts +106 -0
  43. package/dist/core/PriorityQueue.d.ts.map +1 -0
  44. package/dist/core/PriorityQueue.js +168 -0
  45. package/dist/core/Profiler.d.ts +75 -0
  46. package/dist/core/Profiler.d.ts.map +1 -0
  47. package/dist/core/Profiler.js +149 -0
  48. package/dist/core/QueueWorker.d.ts +12 -0
  49. package/dist/core/QueueWorker.d.ts.map +1 -0
  50. package/dist/core/QueueWorker.js +567 -0
  51. package/dist/core/RFDBClient.d.ts +179 -0
  52. package/dist/core/RFDBClient.d.ts.map +1 -0
  53. package/dist/core/RFDBClient.js +429 -0
  54. package/dist/core/Task.d.ts +56 -0
  55. package/dist/core/Task.d.ts.map +1 -0
  56. package/dist/core/Task.js +85 -0
  57. package/dist/core/TaskTypes.d.ts +20 -0
  58. package/dist/core/TaskTypes.d.ts.map +1 -0
  59. package/dist/core/TaskTypes.js +10 -0
  60. package/dist/core/VersionManager.d.ts +166 -0
  61. package/dist/core/VersionManager.d.ts.map +1 -0
  62. package/dist/core/VersionManager.js +237 -0
  63. package/dist/core/WorkerPool.d.ts +82 -0
  64. package/dist/core/WorkerPool.d.ts.map +1 -0
  65. package/dist/core/WorkerPool.js +109 -0
  66. package/dist/core/nodes/CallSiteNode.d.ts +26 -0
  67. package/dist/core/nodes/CallSiteNode.d.ts.map +1 -0
  68. package/dist/core/nodes/CallSiteNode.js +44 -0
  69. package/dist/core/nodes/ClassNode.d.ts +25 -0
  70. package/dist/core/nodes/ClassNode.d.ts.map +1 -0
  71. package/dist/core/nodes/ClassNode.js +40 -0
  72. package/dist/core/nodes/ConstantNode.d.ts +24 -0
  73. package/dist/core/nodes/ConstantNode.d.ts.map +1 -0
  74. package/dist/core/nodes/ConstantNode.js +39 -0
  75. package/dist/core/nodes/DatabaseQueryNode.d.ts +22 -0
  76. package/dist/core/nodes/DatabaseQueryNode.d.ts.map +1 -0
  77. package/dist/core/nodes/DatabaseQueryNode.js +37 -0
  78. package/dist/core/nodes/EntrypointNode.d.ts +102 -0
  79. package/dist/core/nodes/EntrypointNode.d.ts.map +1 -0
  80. package/dist/core/nodes/EntrypointNode.js +119 -0
  81. package/dist/core/nodes/EventListenerNode.d.ts +25 -0
  82. package/dist/core/nodes/EventListenerNode.d.ts.map +1 -0
  83. package/dist/core/nodes/EventListenerNode.js +39 -0
  84. package/dist/core/nodes/ExportNode.d.ts +26 -0
  85. package/dist/core/nodes/ExportNode.d.ts.map +1 -0
  86. package/dist/core/nodes/ExportNode.js +40 -0
  87. package/dist/core/nodes/ExternalStdioNode.d.ts +17 -0
  88. package/dist/core/nodes/ExternalStdioNode.d.ts.map +1 -0
  89. package/dist/core/nodes/ExternalStdioNode.js +26 -0
  90. package/dist/core/nodes/FunctionNode.d.ts +27 -0
  91. package/dist/core/nodes/FunctionNode.d.ts.map +1 -0
  92. package/dist/core/nodes/FunctionNode.js +53 -0
  93. package/dist/core/nodes/GuaranteeNode.d.ts +76 -0
  94. package/dist/core/nodes/GuaranteeNode.d.ts.map +1 -0
  95. package/dist/core/nodes/GuaranteeNode.js +117 -0
  96. package/dist/core/nodes/HttpRequestNode.d.ts +24 -0
  97. package/dist/core/nodes/HttpRequestNode.d.ts.map +1 -0
  98. package/dist/core/nodes/HttpRequestNode.js +38 -0
  99. package/dist/core/nodes/ImportNode.d.ts +27 -0
  100. package/dist/core/nodes/ImportNode.d.ts.map +1 -0
  101. package/dist/core/nodes/ImportNode.js +43 -0
  102. package/dist/core/nodes/LiteralNode.d.ts +26 -0
  103. package/dist/core/nodes/LiteralNode.d.ts.map +1 -0
  104. package/dist/core/nodes/LiteralNode.js +40 -0
  105. package/dist/core/nodes/MethodCallNode.d.ts +29 -0
  106. package/dist/core/nodes/MethodCallNode.d.ts.map +1 -0
  107. package/dist/core/nodes/MethodCallNode.js +47 -0
  108. package/dist/core/nodes/MethodNode.d.ts +29 -0
  109. package/dist/core/nodes/MethodNode.d.ts.map +1 -0
  110. package/dist/core/nodes/MethodNode.js +44 -0
  111. package/dist/core/nodes/ModuleNode.d.ts +29 -0
  112. package/dist/core/nodes/ModuleNode.d.ts.map +1 -0
  113. package/dist/core/nodes/ModuleNode.js +49 -0
  114. package/dist/core/nodes/NodeKind.d.ts +91 -0
  115. package/dist/core/nodes/NodeKind.d.ts.map +1 -0
  116. package/dist/core/nodes/NodeKind.js +146 -0
  117. package/dist/core/nodes/ParameterNode.d.ts +26 -0
  118. package/dist/core/nodes/ParameterNode.d.ts.map +1 -0
  119. package/dist/core/nodes/ParameterNode.js +43 -0
  120. package/dist/core/nodes/ScopeNode.d.ts +32 -0
  121. package/dist/core/nodes/ScopeNode.d.ts.map +1 -0
  122. package/dist/core/nodes/ScopeNode.js +47 -0
  123. package/dist/core/nodes/ServiceNode.d.ts +44 -0
  124. package/dist/core/nodes/ServiceNode.d.ts.map +1 -0
  125. package/dist/core/nodes/ServiceNode.js +49 -0
  126. package/dist/core/nodes/VariableDeclarationNode.d.ts +22 -0
  127. package/dist/core/nodes/VariableDeclarationNode.d.ts.map +1 -0
  128. package/dist/core/nodes/VariableDeclarationNode.js +38 -0
  129. package/dist/core/nodes/index.d.ts +25 -0
  130. package/dist/core/nodes/index.d.ts.map +1 -0
  131. package/dist/core/nodes/index.js +30 -0
  132. package/dist/index.d.ts +57 -0
  133. package/dist/index.d.ts.map +1 -0
  134. package/dist/index.js +63 -0
  135. package/dist/plugins/Plugin.d.ts +44 -0
  136. package/dist/plugins/Plugin.d.ts.map +1 -0
  137. package/dist/plugins/Plugin.js +46 -0
  138. package/dist/plugins/analysis/DatabaseAnalyzer.d.ts +23 -0
  139. package/dist/plugins/analysis/DatabaseAnalyzer.d.ts.map +1 -0
  140. package/dist/plugins/analysis/DatabaseAnalyzer.js +260 -0
  141. package/dist/plugins/analysis/ExpressAnalyzer.d.ts +19 -0
  142. package/dist/plugins/analysis/ExpressAnalyzer.d.ts.map +1 -0
  143. package/dist/plugins/analysis/ExpressAnalyzer.js +306 -0
  144. package/dist/plugins/analysis/ExpressRouteAnalyzer.d.ts +17 -0
  145. package/dist/plugins/analysis/ExpressRouteAnalyzer.d.ts.map +1 -0
  146. package/dist/plugins/analysis/ExpressRouteAnalyzer.js +308 -0
  147. package/dist/plugins/analysis/FetchAnalyzer.d.ts +38 -0
  148. package/dist/plugins/analysis/FetchAnalyzer.d.ts.map +1 -0
  149. package/dist/plugins/analysis/FetchAnalyzer.js +344 -0
  150. package/dist/plugins/analysis/IncrementalAnalysisPlugin.d.ts +65 -0
  151. package/dist/plugins/analysis/IncrementalAnalysisPlugin.d.ts.map +1 -0
  152. package/dist/plugins/analysis/IncrementalAnalysisPlugin.js +472 -0
  153. package/dist/plugins/analysis/JSASTAnalyzer.d.ts +84 -0
  154. package/dist/plugins/analysis/JSASTAnalyzer.d.ts.map +1 -0
  155. package/dist/plugins/analysis/JSASTAnalyzer.js +1378 -0
  156. package/dist/plugins/analysis/ReactAnalyzer.d.ts +90 -0
  157. package/dist/plugins/analysis/ReactAnalyzer.d.ts.map +1 -0
  158. package/dist/plugins/analysis/ReactAnalyzer.js +1153 -0
  159. package/dist/plugins/analysis/RustAnalyzer.d.ts +13 -0
  160. package/dist/plugins/analysis/RustAnalyzer.d.ts.map +1 -0
  161. package/dist/plugins/analysis/RustAnalyzer.js +259 -0
  162. package/dist/plugins/analysis/SQLiteAnalyzer.d.ts +21 -0
  163. package/dist/plugins/analysis/SQLiteAnalyzer.d.ts.map +1 -0
  164. package/dist/plugins/analysis/SQLiteAnalyzer.js +317 -0
  165. package/dist/plugins/analysis/ServiceLayerAnalyzer.d.ts +35 -0
  166. package/dist/plugins/analysis/ServiceLayerAnalyzer.d.ts.map +1 -0
  167. package/dist/plugins/analysis/ServiceLayerAnalyzer.js +303 -0
  168. package/dist/plugins/analysis/SocketIOAnalyzer.d.ts +33 -0
  169. package/dist/plugins/analysis/SocketIOAnalyzer.d.ts.map +1 -0
  170. package/dist/plugins/analysis/SocketIOAnalyzer.js +283 -0
  171. package/dist/plugins/analysis/SystemDbAnalyzer.d.ts +27 -0
  172. package/dist/plugins/analysis/SystemDbAnalyzer.d.ts.map +1 -0
  173. package/dist/plugins/analysis/SystemDbAnalyzer.js +211 -0
  174. package/dist/plugins/analysis/ast/ConditionParser.d.ts +85 -0
  175. package/dist/plugins/analysis/ast/ConditionParser.d.ts.map +1 -0
  176. package/dist/plugins/analysis/ast/ConditionParser.js +277 -0
  177. package/dist/plugins/analysis/ast/ExpressionEvaluator.d.ts +15 -0
  178. package/dist/plugins/analysis/ast/ExpressionEvaluator.d.ts.map +1 -0
  179. package/dist/plugins/analysis/ast/ExpressionEvaluator.js +91 -0
  180. package/dist/plugins/analysis/ast/GraphBuilder.d.ts +77 -0
  181. package/dist/plugins/analysis/ast/GraphBuilder.d.ts.map +1 -0
  182. package/dist/plugins/analysis/ast/GraphBuilder.js +1077 -0
  183. package/dist/plugins/analysis/ast/OxcAdapter.d.ts +41 -0
  184. package/dist/plugins/analysis/ast/OxcAdapter.d.ts.map +1 -0
  185. package/dist/plugins/analysis/ast/OxcAdapter.js +40 -0
  186. package/dist/plugins/analysis/ast/types.d.ts +346 -0
  187. package/dist/plugins/analysis/ast/types.d.ts.map +1 -0
  188. package/dist/plugins/analysis/ast/types.js +4 -0
  189. package/dist/plugins/analysis/ast/visitors/ASTVisitor.d.ts +93 -0
  190. package/dist/plugins/analysis/ast/visitors/ASTVisitor.d.ts.map +1 -0
  191. package/dist/plugins/analysis/ast/visitors/ASTVisitor.js +24 -0
  192. package/dist/plugins/analysis/ast/visitors/CallExpressionVisitor.d.ts +77 -0
  193. package/dist/plugins/analysis/ast/visitors/CallExpressionVisitor.d.ts.map +1 -0
  194. package/dist/plugins/analysis/ast/visitors/CallExpressionVisitor.js +377 -0
  195. package/dist/plugins/analysis/ast/visitors/ClassVisitor.d.ts +27 -0
  196. package/dist/plugins/analysis/ast/visitors/ClassVisitor.d.ts.map +1 -0
  197. package/dist/plugins/analysis/ast/visitors/ClassVisitor.js +232 -0
  198. package/dist/plugins/analysis/ast/visitors/FunctionVisitor.d.ts +25 -0
  199. package/dist/plugins/analysis/ast/visitors/FunctionVisitor.d.ts.map +1 -0
  200. package/dist/plugins/analysis/ast/visitors/FunctionVisitor.js +172 -0
  201. package/dist/plugins/analysis/ast/visitors/ImportExportVisitor.d.ts +29 -0
  202. package/dist/plugins/analysis/ast/visitors/ImportExportVisitor.d.ts.map +1 -0
  203. package/dist/plugins/analysis/ast/visitors/ImportExportVisitor.js +180 -0
  204. package/dist/plugins/analysis/ast/visitors/TypeScriptVisitor.d.ts +14 -0
  205. package/dist/plugins/analysis/ast/visitors/TypeScriptVisitor.d.ts.map +1 -0
  206. package/dist/plugins/analysis/ast/visitors/TypeScriptVisitor.js +200 -0
  207. package/dist/plugins/analysis/ast/visitors/VariableVisitor.d.ts +45 -0
  208. package/dist/plugins/analysis/ast/visitors/VariableVisitor.d.ts.map +1 -0
  209. package/dist/plugins/analysis/ast/visitors/VariableVisitor.js +150 -0
  210. package/dist/plugins/analysis/ast/visitors/index.d.ts +17 -0
  211. package/dist/plugins/analysis/ast/visitors/index.d.ts.map +1 -0
  212. package/dist/plugins/analysis/ast/visitors/index.js +13 -0
  213. package/dist/plugins/discovery/DiscoveryPlugin.d.ts +34 -0
  214. package/dist/plugins/discovery/DiscoveryPlugin.d.ts.map +1 -0
  215. package/dist/plugins/discovery/DiscoveryPlugin.js +26 -0
  216. package/dist/plugins/discovery/MonorepoServiceDiscovery.d.ts +26 -0
  217. package/dist/plugins/discovery/MonorepoServiceDiscovery.d.ts.map +1 -0
  218. package/dist/plugins/discovery/MonorepoServiceDiscovery.js +79 -0
  219. package/dist/plugins/discovery/SimpleProjectDiscovery.d.ts +14 -0
  220. package/dist/plugins/discovery/SimpleProjectDiscovery.d.ts.map +1 -0
  221. package/dist/plugins/discovery/SimpleProjectDiscovery.js +65 -0
  222. package/dist/plugins/discovery/ZonServiceDiscovery.d.ts +19 -0
  223. package/dist/plugins/discovery/ZonServiceDiscovery.d.ts.map +1 -0
  224. package/dist/plugins/discovery/ZonServiceDiscovery.js +204 -0
  225. package/dist/plugins/enrichment/AliasTracker.d.ts +40 -0
  226. package/dist/plugins/enrichment/AliasTracker.d.ts.map +1 -0
  227. package/dist/plugins/enrichment/AliasTracker.js +290 -0
  228. package/dist/plugins/enrichment/HTTPConnectionEnricher.d.ts +30 -0
  229. package/dist/plugins/enrichment/HTTPConnectionEnricher.d.ts.map +1 -0
  230. package/dist/plugins/enrichment/HTTPConnectionEnricher.js +135 -0
  231. package/dist/plugins/enrichment/ImportExportLinker.d.ts +30 -0
  232. package/dist/plugins/enrichment/ImportExportLinker.d.ts.map +1 -0
  233. package/dist/plugins/enrichment/ImportExportLinker.js +176 -0
  234. package/dist/plugins/enrichment/InstanceOfResolver.d.ts +21 -0
  235. package/dist/plugins/enrichment/InstanceOfResolver.d.ts.map +1 -0
  236. package/dist/plugins/enrichment/InstanceOfResolver.js +117 -0
  237. package/dist/plugins/enrichment/MethodCallResolver.d.ts +41 -0
  238. package/dist/plugins/enrichment/MethodCallResolver.d.ts.map +1 -0
  239. package/dist/plugins/enrichment/MethodCallResolver.js +252 -0
  240. package/dist/plugins/enrichment/MountPointResolver.d.ts +26 -0
  241. package/dist/plugins/enrichment/MountPointResolver.d.ts.map +1 -0
  242. package/dist/plugins/enrichment/MountPointResolver.js +189 -0
  243. package/dist/plugins/enrichment/PrefixEvaluator.d.ts +89 -0
  244. package/dist/plugins/enrichment/PrefixEvaluator.d.ts.map +1 -0
  245. package/dist/plugins/enrichment/PrefixEvaluator.js +415 -0
  246. package/dist/plugins/enrichment/RustFFIEnricher.d.ts +25 -0
  247. package/dist/plugins/enrichment/RustFFIEnricher.d.ts.map +1 -0
  248. package/dist/plugins/enrichment/RustFFIEnricher.js +170 -0
  249. package/dist/plugins/enrichment/ValueDomainAnalyzer.d.ts +114 -0
  250. package/dist/plugins/enrichment/ValueDomainAnalyzer.d.ts.map +1 -0
  251. package/dist/plugins/enrichment/ValueDomainAnalyzer.js +464 -0
  252. package/dist/plugins/indexing/IncrementalModuleIndexer.d.ts +27 -0
  253. package/dist/plugins/indexing/IncrementalModuleIndexer.d.ts.map +1 -0
  254. package/dist/plugins/indexing/IncrementalModuleIndexer.js +238 -0
  255. package/dist/plugins/indexing/JSModuleIndexer.d.ts +33 -0
  256. package/dist/plugins/indexing/JSModuleIndexer.d.ts.map +1 -0
  257. package/dist/plugins/indexing/JSModuleIndexer.js +299 -0
  258. package/dist/plugins/indexing/RustModuleIndexer.d.ts +28 -0
  259. package/dist/plugins/indexing/RustModuleIndexer.d.ts.map +1 -0
  260. package/dist/plugins/indexing/RustModuleIndexer.js +140 -0
  261. package/dist/plugins/indexing/ServiceDetector.d.ts +46 -0
  262. package/dist/plugins/indexing/ServiceDetector.d.ts.map +1 -0
  263. package/dist/plugins/indexing/ServiceDetector.js +164 -0
  264. package/dist/plugins/validation/CallResolverValidator.d.ts +23 -0
  265. package/dist/plugins/validation/CallResolverValidator.d.ts.map +1 -0
  266. package/dist/plugins/validation/CallResolverValidator.js +108 -0
  267. package/dist/plugins/validation/DataFlowValidator.d.ts +24 -0
  268. package/dist/plugins/validation/DataFlowValidator.d.ts.map +1 -0
  269. package/dist/plugins/validation/DataFlowValidator.js +148 -0
  270. package/dist/plugins/validation/EvalBanValidator.d.ts +25 -0
  271. package/dist/plugins/validation/EvalBanValidator.d.ts.map +1 -0
  272. package/dist/plugins/validation/EvalBanValidator.js +123 -0
  273. package/dist/plugins/validation/GraphConnectivityValidator.d.ts +11 -0
  274. package/dist/plugins/validation/GraphConnectivityValidator.d.ts.map +1 -0
  275. package/dist/plugins/validation/GraphConnectivityValidator.js +135 -0
  276. package/dist/plugins/validation/SQLInjectionValidator.d.ts +43 -0
  277. package/dist/plugins/validation/SQLInjectionValidator.d.ts.map +1 -0
  278. package/dist/plugins/validation/SQLInjectionValidator.js +251 -0
  279. package/dist/plugins/validation/ShadowingDetector.d.ts +26 -0
  280. package/dist/plugins/validation/ShadowingDetector.d.ts.map +1 -0
  281. package/dist/plugins/validation/ShadowingDetector.js +119 -0
  282. package/dist/plugins/validation/TypeScriptDeadCodeValidator.d.ts +21 -0
  283. package/dist/plugins/validation/TypeScriptDeadCodeValidator.d.ts.map +1 -0
  284. package/dist/plugins/validation/TypeScriptDeadCodeValidator.js +151 -0
  285. package/dist/plugins/vcs/GitPlugin.d.ts +84 -0
  286. package/dist/plugins/vcs/GitPlugin.d.ts.map +1 -0
  287. package/dist/plugins/vcs/GitPlugin.js +295 -0
  288. package/dist/plugins/vcs/VCSPlugin.d.ts +133 -0
  289. package/dist/plugins/vcs/VCSPlugin.d.ts.map +1 -0
  290. package/dist/plugins/vcs/VCSPlugin.js +82 -0
  291. package/dist/plugins/vcs/index.d.ts +10 -0
  292. package/dist/plugins/vcs/index.d.ts.map +1 -0
  293. package/dist/plugins/vcs/index.js +18 -0
  294. package/dist/storage/backends/RFDBServerBackend.d.ts +258 -0
  295. package/dist/storage/backends/RFDBServerBackend.d.ts.map +1 -0
  296. package/dist/storage/backends/RFDBServerBackend.js +565 -0
  297. package/dist/storage/backends/typeValidation.d.ts +47 -0
  298. package/dist/storage/backends/typeValidation.d.ts.map +1 -0
  299. package/dist/storage/backends/typeValidation.js +137 -0
  300. package/dist/validation/PathValidator.d.ts +81 -0
  301. package/dist/validation/PathValidator.d.ts.map +1 -0
  302. package/dist/validation/PathValidator.js +251 -0
  303. package/package.json +57 -0
  304. package/src/.rfguard/current-session.txt +1 -0
  305. package/src/Orchestrator.ts +673 -0
  306. package/src/api/GraphAPI.ts +305 -0
  307. package/src/api/GuaranteeAPI.ts +401 -0
  308. package/src/core/ASTWorker.ts +567 -0
  309. package/src/core/ASTWorkerPool.ts +299 -0
  310. package/src/core/AnalysisQueue.ts +447 -0
  311. package/src/core/AnalysisWorker.ts +410 -0
  312. package/src/core/GraphBackend.ts +265 -0
  313. package/src/core/GuaranteeManager.ts +581 -0
  314. package/src/core/ManifestStore.ts +196 -0
  315. package/src/core/NodeFactory.ts +274 -0
  316. package/src/core/NodeId.ts +257 -0
  317. package/src/core/ParallelAnalyzer.ts +476 -0
  318. package/src/core/PriorityQueue.ts +227 -0
  319. package/src/core/Profiler.ts +188 -0
  320. package/src/core/QueueWorker.ts +780 -0
  321. package/src/core/Task.ts +107 -0
  322. package/src/core/TaskTypes.ts +40 -0
  323. package/src/core/VersionManager.ts +404 -0
  324. package/src/core/WorkerPool.ts +180 -0
  325. package/src/core/nodes/CallSiteNode.ts +72 -0
  326. package/src/core/nodes/ClassNode.ts +69 -0
  327. package/src/core/nodes/ConstantNode.ts +63 -0
  328. package/src/core/nodes/DatabaseQueryNode.ts +60 -0
  329. package/src/core/nodes/EntrypointNode.ts +164 -0
  330. package/src/core/nodes/EventListenerNode.ts +64 -0
  331. package/src/core/nodes/ExportNode.ts +71 -0
  332. package/src/core/nodes/ExternalStdioNode.ts +36 -0
  333. package/src/core/nodes/FunctionNode.ts +78 -0
  334. package/src/core/nodes/GuaranteeNode.ts +162 -0
  335. package/src/core/nodes/HttpRequestNode.ts +63 -0
  336. package/src/core/nodes/ImportNode.ts +75 -0
  337. package/src/core/nodes/LiteralNode.ts +67 -0
  338. package/src/core/nodes/MethodCallNode.ts +79 -0
  339. package/src/core/nodes/MethodNode.ts +78 -0
  340. package/src/core/nodes/ModuleNode.ts +74 -0
  341. package/src/core/nodes/NodeKind.ts +171 -0
  342. package/src/core/nodes/ParameterNode.ts +73 -0
  343. package/src/core/nodes/ScopeNode.ts +80 -0
  344. package/src/core/nodes/ServiceNode.ts +86 -0
  345. package/src/core/nodes/VariableDeclarationNode.ts +60 -0
  346. package/src/core/nodes/index.ts +49 -0
  347. package/src/index.ts +93 -0
  348. package/src/plugins/Plugin.ts +74 -0
  349. package/src/plugins/analysis/DatabaseAnalyzer.ts +322 -0
  350. package/src/plugins/analysis/ExpressAnalyzer.ts +401 -0
  351. package/src/plugins/analysis/ExpressRouteAnalyzer.ts +414 -0
  352. package/src/plugins/analysis/FetchAnalyzer.ts +441 -0
  353. package/src/plugins/analysis/IncrementalAnalysisPlugin.ts +686 -0
  354. package/src/plugins/analysis/JSASTAnalyzer.ts +1680 -0
  355. package/src/plugins/analysis/ReactAnalyzer.ts +1368 -0
  356. package/src/plugins/analysis/RustAnalyzer.ts +438 -0
  357. package/src/plugins/analysis/SQLiteAnalyzer.ts +388 -0
  358. package/src/plugins/analysis/ServiceLayerAnalyzer.ts +429 -0
  359. package/src/plugins/analysis/SocketIOAnalyzer.ts +395 -0
  360. package/src/plugins/analysis/SystemDbAnalyzer.ts +284 -0
  361. package/src/plugins/analysis/ast/ConditionParser.ts +333 -0
  362. package/src/plugins/analysis/ast/ExpressionEvaluator.ts +117 -0
  363. package/src/plugins/analysis/ast/GraphBuilder.ts +1371 -0
  364. package/src/plugins/analysis/ast/OxcAdapter.ts +63 -0
  365. package/src/plugins/analysis/ast/types.ts +400 -0
  366. package/src/plugins/analysis/ast/visitors/ASTVisitor.ts +137 -0
  367. package/src/plugins/analysis/ast/visitors/CallExpressionVisitor.ts +528 -0
  368. package/src/plugins/analysis/ast/visitors/ClassVisitor.ts +339 -0
  369. package/src/plugins/analysis/ast/visitors/FunctionVisitor.ts +273 -0
  370. package/src/plugins/analysis/ast/visitors/ImportExportVisitor.ts +259 -0
  371. package/src/plugins/analysis/ast/visitors/TypeScriptVisitor.ts +235 -0
  372. package/src/plugins/analysis/ast/visitors/VariableVisitor.ts +268 -0
  373. package/src/plugins/analysis/ast/visitors/index.ts +36 -0
  374. package/src/plugins/discovery/DiscoveryPlugin.ts +50 -0
  375. package/src/plugins/discovery/MonorepoServiceDiscovery.ts +117 -0
  376. package/src/plugins/discovery/SimpleProjectDiscovery.ts +102 -0
  377. package/src/plugins/enrichment/AliasTracker.ts +399 -0
  378. package/src/plugins/enrichment/HTTPConnectionEnricher.ts +192 -0
  379. package/src/plugins/enrichment/ImportExportLinker.ts +221 -0
  380. package/src/plugins/enrichment/InstanceOfResolver.ts +165 -0
  381. package/src/plugins/enrichment/MethodCallResolver.ts +333 -0
  382. package/src/plugins/enrichment/MountPointResolver.ts +264 -0
  383. package/src/plugins/enrichment/PrefixEvaluator.ts +527 -0
  384. package/src/plugins/enrichment/RustFFIEnricher.ts +218 -0
  385. package/src/plugins/enrichment/ValueDomainAnalyzer.ts +682 -0
  386. package/src/plugins/indexing/IncrementalModuleIndexer.ts +287 -0
  387. package/src/plugins/indexing/JSModuleIndexer.ts +374 -0
  388. package/src/plugins/indexing/RustModuleIndexer.ts +160 -0
  389. package/src/plugins/indexing/ServiceDetector.ts +230 -0
  390. package/src/plugins/validation/CallResolverValidator.ts +170 -0
  391. package/src/plugins/validation/DataFlowValidator.ts +233 -0
  392. package/src/plugins/validation/EvalBanValidator.ts +175 -0
  393. package/src/plugins/validation/GraphConnectivityValidator.ts +201 -0
  394. package/src/plugins/validation/SQLInjectionValidator.ts +363 -0
  395. package/src/plugins/validation/ShadowingDetector.ts +173 -0
  396. package/src/plugins/validation/TypeScriptDeadCodeValidator.ts +203 -0
  397. package/src/plugins/vcs/GitPlugin.ts +344 -0
  398. package/src/plugins/vcs/VCSPlugin.ts +190 -0
  399. package/src/plugins/vcs/index.ts +32 -0
  400. package/src/storage/backends/RFDBServerBackend.ts +687 -0
  401. package/src/storage/backends/typeValidation.ts +151 -0
  402. package/src/validation/PathValidator.ts +342 -0
@@ -0,0 +1,133 @@
1
+ /**
2
+ * Базовый класс для VCS плагинов (Version Control System)
3
+ *
4
+ * Этот плагин не работает с графом напрямую, а предоставляет
5
+ * информацию о версиях файлов для incremental analysis
6
+ *
7
+ * Поддерживаемые VCS:
8
+ * - Git
9
+ * - CVS
10
+ * - SVN
11
+ * - Mercurial
12
+ * - Perforce
13
+ */
14
+ /**
15
+ * VCS Plugin configuration
16
+ */
17
+ export interface VCSConfig {
18
+ rootPath?: string;
19
+ [key: string]: unknown;
20
+ }
21
+ /**
22
+ * VCS Plugin metadata
23
+ */
24
+ export interface VCSPluginMetadata {
25
+ name: string;
26
+ type: 'vcs';
27
+ supported: boolean;
28
+ }
29
+ /**
30
+ * Changed file info
31
+ */
32
+ export interface ChangedFile {
33
+ path: string;
34
+ status: string;
35
+ oldPath?: string;
36
+ contentHash?: string | null;
37
+ }
38
+ /**
39
+ * Diff hunk
40
+ */
41
+ export interface DiffHunk {
42
+ oldStart: number;
43
+ oldLines: number;
44
+ newStart: number;
45
+ newLines: number;
46
+ lines: string[];
47
+ }
48
+ /**
49
+ * File diff
50
+ */
51
+ export interface FileDiff {
52
+ path: string;
53
+ hunks: DiffHunk[];
54
+ }
55
+ export declare abstract class VCSPlugin {
56
+ config: VCSConfig;
57
+ rootPath: string;
58
+ constructor(config?: VCSConfig);
59
+ /**
60
+ * Метаданные плагина
61
+ */
62
+ abstract get metadata(): VCSPluginMetadata;
63
+ /**
64
+ * Проверить, доступна ли VCS в текущей директории
65
+ */
66
+ abstract isAvailable(): Promise<boolean>;
67
+ /**
68
+ * Получить список изменённых файлов (uncommitted changes)
69
+ */
70
+ abstract getChangedFiles(): Promise<ChangedFile[]>;
71
+ /**
72
+ * Получить содержимое файла из последнего коммита (main version)
73
+ */
74
+ abstract getCommittedContent(filePath: string): Promise<string | null>;
75
+ /**
76
+ * Получить diff для конкретного файла
77
+ */
78
+ abstract getFileDiff(filePath: string): Promise<FileDiff>;
79
+ /**
80
+ * Получить текущую ветку
81
+ */
82
+ abstract getCurrentBranch(): Promise<string>;
83
+ /**
84
+ * Получить хеш последнего коммита
85
+ */
86
+ abstract getLastCommitHash(): Promise<string | null>;
87
+ /**
88
+ * Проверить, является ли файл отслеживаемым (tracked)
89
+ */
90
+ abstract isTracked(filePath: string): Promise<boolean>;
91
+ /**
92
+ * Проверить, есть ли uncommitted изменения
93
+ */
94
+ hasUncommittedChanges(): Promise<boolean>;
95
+ }
96
+ /**
97
+ * Вспомогательные типы для результатов
98
+ */
99
+ export declare const FileStatus: {
100
+ readonly ADDED: "added";
101
+ readonly MODIFIED: "modified";
102
+ readonly DELETED: "deleted";
103
+ readonly RENAMED: "renamed";
104
+ readonly COPIED: "copied";
105
+ readonly UNTRACKED: "untracked";
106
+ };
107
+ export type FileStatusType = typeof FileStatus[keyof typeof FileStatus];
108
+ /**
109
+ * VCS Plugin class constructor type
110
+ */
111
+ export interface VCSPluginConstructor {
112
+ new (config?: VCSConfig): VCSPlugin;
113
+ }
114
+ /**
115
+ * Фабрика для создания VCS плагинов
116
+ * Автоматически определяет доступную VCS систему
117
+ */
118
+ export declare class VCSPluginFactory {
119
+ static availablePlugins: VCSPluginConstructor[];
120
+ /**
121
+ * Зарегистрировать VCS плагин
122
+ */
123
+ static register(pluginClass: VCSPluginConstructor): void;
124
+ /**
125
+ * Автоматически определить и создать подходящий VCS плагин
126
+ */
127
+ static detect(config?: VCSConfig): Promise<VCSPlugin | null>;
128
+ /**
129
+ * Создать плагин по имени
130
+ */
131
+ static create(name: string, config?: VCSConfig): VCSPlugin | null;
132
+ }
133
+ //# sourceMappingURL=VCSPlugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VCSPlugin.d.ts","sourceRoot":"","sources":["../../../src/plugins/vcs/VCSPlugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,KAAK,CAAC;IACZ,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,QAAQ,EAAE,CAAC;CACnB;AAED,8BAAsB,SAAS;IAC7B,MAAM,EAAE,SAAS,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;gBAEL,MAAM,GAAE,SAAc;IAKlC;;OAEG;IACH,QAAQ,KAAK,QAAQ,IAAI,iBAAiB,CAAC;IAE3C;;OAEG;IACH,QAAQ,CAAC,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAExC;;OAEG;IACH,QAAQ,CAAC,eAAe,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;IAElD;;OAEG;IACH,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAEtE;;OAEG;IACH,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAEzD;;OAEG;IACH,QAAQ,CAAC,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC;IAE5C;;OAEG;IACH,QAAQ,CAAC,iBAAiB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAEpD;;OAEG;IACH,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAEtD;;OAEG;IACG,qBAAqB,IAAI,OAAO,CAAC,OAAO,CAAC;CAIhD;AAED;;GAEG;AACH,eAAO,MAAM,UAAU;;;;;;;CAOb,CAAC;AAEX,MAAM,MAAM,cAAc,GAAG,OAAO,UAAU,CAAC,MAAM,OAAO,UAAU,CAAC,CAAC;AAExE;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,KAAK,MAAM,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;CACrC;AAED;;;GAGG;AACH,qBAAa,gBAAgB;IAC3B,MAAM,CAAC,gBAAgB,EAAE,oBAAoB,EAAE,CAAM;IAErD;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,oBAAoB,GAAG,IAAI;IAIxD;;OAEG;WACU,MAAM,CAAC,MAAM,GAAE,SAAc,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAkBtE;;OAEG;IACH,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,GAAE,SAAc,GAAG,SAAS,GAAG,IAAI;CAYtE"}
@@ -0,0 +1,82 @@
1
+ /**
2
+ * Базовый класс для VCS плагинов (Version Control System)
3
+ *
4
+ * Этот плагин не работает с графом напрямую, а предоставляет
5
+ * информацию о версиях файлов для incremental analysis
6
+ *
7
+ * Поддерживаемые VCS:
8
+ * - Git
9
+ * - CVS
10
+ * - SVN
11
+ * - Mercurial
12
+ * - Perforce
13
+ */
14
+ export class VCSPlugin {
15
+ config;
16
+ rootPath;
17
+ constructor(config = {}) {
18
+ this.config = config;
19
+ this.rootPath = config.rootPath || process.cwd();
20
+ }
21
+ /**
22
+ * Проверить, есть ли uncommitted изменения
23
+ */
24
+ async hasUncommittedChanges() {
25
+ const changedFiles = await this.getChangedFiles();
26
+ return changedFiles.length > 0;
27
+ }
28
+ }
29
+ /**
30
+ * Вспомогательные типы для результатов
31
+ */
32
+ export const FileStatus = {
33
+ ADDED: 'added',
34
+ MODIFIED: 'modified',
35
+ DELETED: 'deleted',
36
+ RENAMED: 'renamed',
37
+ COPIED: 'copied',
38
+ UNTRACKED: 'untracked'
39
+ };
40
+ /**
41
+ * Фабрика для создания VCS плагинов
42
+ * Автоматически определяет доступную VCS систему
43
+ */
44
+ export class VCSPluginFactory {
45
+ static availablePlugins = [];
46
+ /**
47
+ * Зарегистрировать VCS плагин
48
+ */
49
+ static register(pluginClass) {
50
+ this.availablePlugins.push(pluginClass);
51
+ }
52
+ /**
53
+ * Автоматически определить и создать подходящий VCS плагин
54
+ */
55
+ static async detect(config = {}) {
56
+ for (const PluginClass of this.availablePlugins) {
57
+ const plugin = new PluginClass(config);
58
+ try {
59
+ if (await plugin.isAvailable()) {
60
+ console.log(`[VCS] Detected ${plugin.metadata.name}`);
61
+ return plugin;
62
+ }
63
+ }
64
+ catch {
65
+ // Игнорируем ошибки и пробуем следующий плагин
66
+ }
67
+ }
68
+ console.warn('[VCS] No VCS system detected');
69
+ return null;
70
+ }
71
+ /**
72
+ * Создать плагин по имени
73
+ */
74
+ static create(name, config = {}) {
75
+ const PluginClass = this.availablePlugins.find(Plugin => new Plugin(config).metadata.name === name);
76
+ if (!PluginClass) {
77
+ console.error(`[VCS] Plugin "${name}" not found`);
78
+ return null;
79
+ }
80
+ return new PluginClass(config);
81
+ }
82
+ }
@@ -0,0 +1,10 @@
1
+ /**
2
+ * VCS Plugins Export
3
+ *
4
+ * Экспортируем VCS плагины для работы с различными системами контроля версий
5
+ */
6
+ export { VCSPlugin, FileStatus, VCSPluginFactory } from './VCSPlugin.js';
7
+ export type { VCSConfig, VCSPluginMetadata, ChangedFile, DiffHunk, FileDiff, FileStatusType, VCSPluginConstructor } from './VCSPlugin.js';
8
+ export { GitPlugin } from './GitPlugin.js';
9
+ export type { CommitInfo } from './GitPlugin.js';
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugins/vcs/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACzE,YAAY,EACV,SAAS,EACT,iBAAiB,EACjB,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,cAAc,EACd,oBAAoB,EACrB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,YAAY,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * VCS Plugins Export
3
+ *
4
+ * Экспортируем VCS плагины для работы с различными системами контроля версий
5
+ */
6
+ export { VCSPlugin, FileStatus, VCSPluginFactory } from './VCSPlugin.js';
7
+ export { GitPlugin } from './GitPlugin.js';
8
+ /**
9
+ * Автоматическая регистрация всех VCS плагинов
10
+ */
11
+ import { VCSPluginFactory } from './VCSPlugin.js';
12
+ import { GitPlugin } from './GitPlugin.js';
13
+ // Регистрируем Git плагин
14
+ VCSPluginFactory.register(GitPlugin);
15
+ // В будущем добавим:
16
+ // VCSPluginFactory.register(CVSPlugin);
17
+ // VCSPluginFactory.register(SVNPlugin);
18
+ // VCSPluginFactory.register(MercurialPlugin);
@@ -0,0 +1,258 @@
1
+ /**
2
+ * RFDBServerBackend - Graph backend using RFDB server via Unix socket
3
+ *
4
+ * Replaces ReginaFlowBackend's direct NAPI binding with socket-based
5
+ * communication to a shared RFDB server. This allows multiple processes
6
+ * (MCP server, analysis workers) to share the same graph database.
7
+ *
8
+ * Socket path defaults to `{dbPath}/../rfdb.sock` (e.g., .grafema/rfdb.sock),
9
+ * ensuring each project has its own socket and avoiding conflicts when
10
+ * multiple MCP instances run simultaneously.
11
+ *
12
+ * Usage:
13
+ * const backend = new RFDBServerBackend({
14
+ * dbPath: '/project/.grafema/graph.rfdb' // socket will be /project/.grafema/rfdb.sock
15
+ * });
16
+ * await backend.connect();
17
+ * await backend.addNodes([...]);
18
+ * await backend.flush();
19
+ */
20
+ import type { NodeType, EdgeType } from '@grafema/types';
21
+ import type { AttrQuery, GraphStats, GraphExport } from '../../core/GraphBackend.js';
22
+ /**
23
+ * Options for RFDBServerBackend
24
+ */
25
+ export interface RFDBServerBackendOptions {
26
+ socketPath?: string;
27
+ dbPath?: string;
28
+ }
29
+ /**
30
+ * Node as returned from the backend
31
+ */
32
+ export interface BackendNode {
33
+ id: string;
34
+ type: string;
35
+ nodeType: string;
36
+ name: string;
37
+ file: string;
38
+ exported: boolean;
39
+ [key: string]: unknown;
40
+ }
41
+ /**
42
+ * Edge as returned from the backend
43
+ */
44
+ export interface BackendEdge {
45
+ src: string;
46
+ dst: string;
47
+ type: string;
48
+ edgeType: string;
49
+ [key: string]: unknown;
50
+ }
51
+ /**
52
+ * Input node format (flexible)
53
+ */
54
+ export interface InputNode {
55
+ id: string;
56
+ type?: string;
57
+ nodeType?: string;
58
+ node_type?: string;
59
+ name?: string;
60
+ file?: string;
61
+ exported?: boolean;
62
+ [key: string]: unknown;
63
+ }
64
+ /**
65
+ * Input edge format (flexible)
66
+ */
67
+ export interface InputEdge {
68
+ src: string;
69
+ dst: string;
70
+ type?: string;
71
+ edgeType?: string;
72
+ edge_type?: string;
73
+ [key: string]: unknown;
74
+ }
75
+ /**
76
+ * Query for finding nodes
77
+ */
78
+ export interface NodeQuery {
79
+ nodeType?: NodeType;
80
+ type?: NodeType;
81
+ name?: string;
82
+ file?: string;
83
+ }
84
+ /**
85
+ * Backend statistics
86
+ */
87
+ export interface BackendStats extends GraphStats {
88
+ nodesByType: Record<string, number>;
89
+ edgesByType: Record<string, number>;
90
+ }
91
+ export declare class RFDBServerBackend {
92
+ readonly socketPath: string;
93
+ readonly dbPath: string | undefined;
94
+ private client;
95
+ private serverProcess;
96
+ connected: boolean;
97
+ private edgeTypes;
98
+ private _cachedNodeCounts;
99
+ private _cachedEdgeCounts;
100
+ constructor(options?: RFDBServerBackendOptions);
101
+ /**
102
+ * Connect to RFDB server, starting it if necessary
103
+ */
104
+ connect(): Promise<void>;
105
+ /**
106
+ * Alias for connect()
107
+ */
108
+ initialize(): Promise<void>;
109
+ /**
110
+ * Start RFDB server process
111
+ */
112
+ private _startServer;
113
+ /**
114
+ * Close connection and stop server if we started it
115
+ */
116
+ close(): Promise<void>;
117
+ /**
118
+ * Clear the database
119
+ */
120
+ clear(): Promise<void>;
121
+ /**
122
+ * Flush data to disk
123
+ */
124
+ flush(): Promise<void>;
125
+ /**
126
+ * Add a single node
127
+ */
128
+ addNode(node: InputNode): Promise<void>;
129
+ /**
130
+ * Add multiple nodes
131
+ */
132
+ addNodes(nodes: InputNode[]): Promise<void>;
133
+ /**
134
+ * Add a single edge
135
+ */
136
+ addEdge(edge: InputEdge): Promise<void>;
137
+ /**
138
+ * Add multiple edges
139
+ */
140
+ addEdges(edges: InputEdge[], skipValidation?: boolean): Promise<void>;
141
+ /**
142
+ * Get a node by ID
143
+ */
144
+ getNode(id: string): Promise<BackendNode | null>;
145
+ /**
146
+ * Check if node exists
147
+ */
148
+ nodeExists(id: string): Promise<boolean>;
149
+ /**
150
+ * Delete a node
151
+ */
152
+ deleteNode(id: string): Promise<void>;
153
+ /**
154
+ * Find nodes by attributes
155
+ */
156
+ findByAttr(query: AttrQuery): Promise<string[]>;
157
+ /**
158
+ * Parse a node from wire format to JS format
159
+ */
160
+ private _parseNode;
161
+ /**
162
+ * Async generator for querying nodes
163
+ */
164
+ queryNodes(query: NodeQuery): AsyncGenerator<BackendNode, void, unknown>;
165
+ /**
166
+ * Get ALL nodes matching query (collects from queryNodes into array)
167
+ */
168
+ getAllNodes(query?: NodeQuery): Promise<BackendNode[]>;
169
+ /**
170
+ * Delete an edge
171
+ */
172
+ deleteEdge(src: string, dst: string, type: string): Promise<void>;
173
+ /**
174
+ * Get all edges
175
+ */
176
+ getAllEdges(): Promise<BackendEdge[]>;
177
+ /**
178
+ * Get all edges (async version)
179
+ */
180
+ getAllEdgesAsync(): Promise<BackendEdge[]>;
181
+ /**
182
+ * Get outgoing edges from a node
183
+ */
184
+ getOutgoingEdges(nodeId: string, edgeTypes?: EdgeType[] | null): Promise<BackendEdge[]>;
185
+ /**
186
+ * Get incoming edges to a node
187
+ */
188
+ getIncomingEdges(nodeId: string, edgeTypes?: EdgeType[] | null): Promise<BackendEdge[]>;
189
+ /**
190
+ * BFS traversal
191
+ */
192
+ bfs(startIds: string[], maxDepth: number, edgeTypes: EdgeType[]): Promise<string[]>;
193
+ /**
194
+ * DFS traversal
195
+ */
196
+ dfs(startIds: string[], maxDepth: number, edgeTypes?: EdgeType[]): Promise<string[]>;
197
+ /**
198
+ * Get node count
199
+ */
200
+ nodeCount(): Promise<number>;
201
+ /**
202
+ * Get edge count
203
+ */
204
+ edgeCount(): Promise<number>;
205
+ /**
206
+ * Get statistics
207
+ */
208
+ getStats(): Promise<BackendStats>;
209
+ /**
210
+ * Count nodes by type (sync, returns cached value)
211
+ */
212
+ countNodesByType(_types?: string[] | null): Promise<Record<string, number>>;
213
+ /**
214
+ * Count edges by type
215
+ */
216
+ countEdgesByType(_edgeTypes?: string[] | null): Promise<Record<string, number>>;
217
+ /**
218
+ * Refresh cached counts (call after analysis)
219
+ */
220
+ refreshCounts(): Promise<void>;
221
+ /**
222
+ * Check a guarantee (Datalog rule) and return violations
223
+ */
224
+ checkGuarantee(ruleSource: string): Promise<Array<{
225
+ bindings: Array<{
226
+ name: string;
227
+ value: string;
228
+ }>;
229
+ }>>;
230
+ /**
231
+ * Load Datalog rules
232
+ */
233
+ datalogLoadRules(source: string): Promise<number>;
234
+ /**
235
+ * Clear Datalog rules
236
+ */
237
+ datalogClearRules(): Promise<void>;
238
+ /**
239
+ * Run a Datalog query
240
+ */
241
+ datalogQuery(query: string): Promise<Array<{
242
+ bindings: Array<{
243
+ name: string;
244
+ value: string;
245
+ }>;
246
+ }>>;
247
+ /**
248
+ * Export graph (for tests)
249
+ */
250
+ export(): Promise<GraphExport>;
251
+ /**
252
+ * Find nodes by predicate (for compatibility)
253
+ */
254
+ findNodes(predicate: (node: BackendNode) => boolean): Promise<BackendNode[]>;
255
+ get graph(): this;
256
+ }
257
+ export default RFDBServerBackend;
258
+ //# sourceMappingURL=RFDBServerBackend.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RFDBServerBackend.d.ts","sourceRoot":"","sources":["../../../src/storage/backends/RFDBServerBackend.ts"],"names":[],"mappings":"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"}