@ductape/sdk 0.0.4-v6 → 0.0.4-v61

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 (937) hide show
  1. package/dist/agents/agent-context.d.ts +98 -0
  2. package/dist/agents/agent-context.js +588 -0
  3. package/dist/agents/agent-context.js.map +1 -0
  4. package/dist/agents/agent-executor.d.ts +180 -0
  5. package/dist/agents/agent-executor.js +715 -0
  6. package/dist/agents/agent-executor.js.map +1 -0
  7. package/dist/agents/agents.service.d.ts +310 -0
  8. package/dist/agents/agents.service.js +1249 -0
  9. package/dist/agents/agents.service.js.map +1 -0
  10. package/dist/agents/index.d.ts +55 -0
  11. package/dist/agents/index.js +110 -0
  12. package/dist/agents/index.js.map +1 -0
  13. package/dist/agents/memory-manager.d.ts +182 -0
  14. package/dist/agents/memory-manager.js +383 -0
  15. package/dist/agents/memory-manager.js.map +1 -0
  16. package/dist/agents/tool-registry.d.ts +141 -0
  17. package/dist/agents/tool-registry.js +355 -0
  18. package/dist/agents/tool-registry.js.map +1 -0
  19. package/dist/agents/types/agents.types.d.ts +1227 -0
  20. package/dist/agents/types/agents.types.js +12 -0
  21. package/dist/agents/types/agents.types.js.map +1 -0
  22. package/dist/agents/types/index.d.ts +6 -0
  23. package/dist/agents/types/index.js +23 -0
  24. package/dist/agents/types/index.js.map +1 -0
  25. package/dist/agents/vector-store-adapter.d.ts +108 -0
  26. package/dist/agents/vector-store-adapter.js +213 -0
  27. package/dist/agents/vector-store-adapter.js.map +1 -0
  28. package/dist/api/services/appApi.service.d.ts +51 -5
  29. package/dist/api/services/appApi.service.js +101 -3
  30. package/dist/api/services/appApi.service.js.map +1 -1
  31. package/dist/api/services/pricingApi.service.d.ts +10 -0
  32. package/dist/api/services/pricingApi.service.js +34 -0
  33. package/dist/api/services/pricingApi.service.js.map +1 -0
  34. package/dist/api/services/processorApi.service.d.ts +334 -2
  35. package/dist/api/services/processorApi.service.js +264 -2
  36. package/dist/api/services/processorApi.service.js.map +1 -1
  37. package/dist/api/services/productsApi.service.d.ts +108 -1
  38. package/dist/api/services/productsApi.service.js +150 -3
  39. package/dist/api/services/productsApi.service.js.map +1 -1
  40. package/dist/api/services/resilienceApi.service.d.ts +106 -0
  41. package/dist/api/services/resilienceApi.service.js +224 -0
  42. package/dist/api/services/resilienceApi.service.js.map +1 -0
  43. package/dist/api/services/secretsApi.service.d.ts +50 -0
  44. package/dist/api/services/secretsApi.service.js +124 -0
  45. package/dist/api/services/secretsApi.service.js.map +1 -0
  46. package/dist/api/services/workflowApi.service.d.ts +199 -0
  47. package/dist/api/services/workflowApi.service.js +183 -0
  48. package/dist/api/services/workflowApi.service.js.map +1 -0
  49. package/dist/api/services/workspaceApi.service.d.ts +8 -0
  50. package/dist/api/services/workspaceApi.service.js +20 -0
  51. package/dist/api/services/workspaceApi.service.js.map +1 -1
  52. package/dist/api/urls.d.ts +65 -1
  53. package/dist/api/urls.js +90 -18
  54. package/dist/api/urls.js.map +1 -1
  55. package/dist/api/utils/auth.utils.d.ts +1 -3
  56. package/dist/api/utils/auth.utils.js.map +1 -1
  57. package/dist/api/utils/cache.utils.d.ts +1 -1
  58. package/dist/api/utils/cache.utils.js +2 -2
  59. package/dist/api/utils/cache.utils.js.map +1 -1
  60. package/dist/api/utils/strings.utils.d.ts +2 -0
  61. package/dist/api/utils/strings.utils.js +14 -0
  62. package/dist/api/utils/strings.utils.js.map +1 -1
  63. package/dist/apps/services/app.service.d.ts +41 -33
  64. package/dist/apps/services/app.service.js +472 -184
  65. package/dist/apps/services/app.service.js.map +1 -1
  66. package/dist/apps/utils/auth-context-manager.d.ts +137 -0
  67. package/dist/apps/utils/auth-context-manager.js +248 -0
  68. package/dist/apps/utils/auth-context-manager.js.map +1 -0
  69. package/dist/apps/utils/credential-manager.d.ts +128 -0
  70. package/dist/apps/utils/credential-manager.js +199 -0
  71. package/dist/apps/utils/credential-manager.js.map +1 -0
  72. package/dist/apps/utils/index.d.ts +10 -0
  73. package/dist/apps/utils/index.js +54 -0
  74. package/dist/apps/utils/index.js.map +1 -0
  75. package/dist/apps/utils/input-helpers.d.ts +67 -0
  76. package/dist/apps/utils/input-helpers.js +185 -0
  77. package/dist/apps/utils/input-helpers.js.map +1 -0
  78. package/dist/apps/utils/input-resolver.d.ts +165 -0
  79. package/dist/apps/utils/input-resolver.js +477 -0
  80. package/dist/apps/utils/input-resolver.js.map +1 -0
  81. package/dist/apps/utils/oauth-manager.d.ts +196 -0
  82. package/dist/apps/utils/oauth-manager.js +429 -0
  83. package/dist/apps/utils/oauth-manager.js.map +1 -0
  84. package/dist/apps/validators/joi-validators/create.appAction.validator.d.ts +1 -2
  85. package/dist/apps/validators/joi-validators/create.appAction.validator.js +21 -2
  86. package/dist/apps/validators/joi-validators/create.appAction.validator.js.map +1 -1
  87. package/dist/apps/validators/joi-validators/update.appAction.validator.js +11 -1
  88. package/dist/apps/validators/joi-validators/update.appAction.validator.js.map +1 -1
  89. package/dist/apps/validators/joi-validators/update.appActionResponse.validator.d.ts +1 -1
  90. package/dist/apps/validators/joi-validators/update.appActionResponse.validator.js +34 -1
  91. package/dist/apps/validators/joi-validators/update.appActionResponse.validator.js.map +1 -1
  92. package/dist/bin.d.ts +26 -0
  93. package/dist/bin.js +28 -0
  94. package/dist/bin.js.map +1 -0
  95. package/dist/brokers/brokers.service.d.ts +289 -0
  96. package/dist/brokers/brokers.service.js +722 -0
  97. package/dist/brokers/brokers.service.js.map +1 -0
  98. package/dist/brokers/index.d.ts +46 -0
  99. package/dist/brokers/index.js +83 -0
  100. package/dist/brokers/index.js.map +1 -0
  101. package/dist/brokers/types/index.d.ts +314 -0
  102. package/dist/brokers/types/index.js +8 -0
  103. package/dist/brokers/types/index.js.map +1 -0
  104. package/dist/brokers/utils/broker.util.d.ts +33 -0
  105. package/dist/brokers/utils/broker.util.js +125 -0
  106. package/dist/brokers/utils/broker.util.js.map +1 -0
  107. package/dist/brokers/utils/providers/aws-sqs.service.d.ts +16 -0
  108. package/dist/brokers/utils/providers/aws-sqs.service.js +71 -0
  109. package/dist/brokers/utils/providers/aws-sqs.service.js.map +1 -0
  110. package/dist/brokers/utils/providers/google-pubsub.service.d.ts +16 -0
  111. package/dist/brokers/utils/providers/google-pubsub.service.js +43 -0
  112. package/dist/brokers/utils/providers/google-pubsub.service.js.map +1 -0
  113. package/dist/brokers/utils/providers/index.d.ts +6 -0
  114. package/dist/brokers/utils/providers/index.js +16 -0
  115. package/dist/brokers/utils/providers/index.js.map +1 -0
  116. package/dist/brokers/utils/providers/kafka.service.d.ts +23 -0
  117. package/dist/brokers/utils/providers/kafka.service.js +131 -0
  118. package/dist/brokers/utils/providers/kafka.service.js.map +1 -0
  119. package/dist/brokers/utils/providers/nats.service.d.ts +18 -0
  120. package/dist/brokers/utils/providers/nats.service.js +63 -0
  121. package/dist/brokers/utils/providers/nats.service.js.map +1 -0
  122. package/dist/brokers/utils/providers/rabbitmq.service.d.ts +15 -0
  123. package/dist/brokers/utils/providers/rabbitmq.service.js +151 -0
  124. package/dist/brokers/utils/providers/rabbitmq.service.js.map +1 -0
  125. package/dist/brokers/utils/providers/redis.service.d.ts +18 -0
  126. package/dist/brokers/utils/providers/redis.service.js +93 -0
  127. package/dist/brokers/utils/providers/redis.service.js.map +1 -0
  128. package/dist/cache/cache.manager.d.ts +159 -0
  129. package/dist/cache/cache.manager.js +265 -0
  130. package/dist/cache/cache.manager.js.map +1 -0
  131. package/dist/cache/cache.service.d.ts +186 -0
  132. package/dist/cache/cache.service.js +437 -0
  133. package/dist/cache/cache.service.js.map +1 -0
  134. package/dist/cache/index.d.ts +52 -0
  135. package/dist/cache/index.js +79 -0
  136. package/dist/cache/index.js.map +1 -0
  137. package/dist/cache/types/index.d.ts +106 -0
  138. package/dist/cache/types/index.js +6 -0
  139. package/dist/cache/types/index.js.map +1 -0
  140. package/dist/clients/pricing.client.d.ts +3 -0
  141. package/dist/clients/pricing.client.js +33 -0
  142. package/dist/clients/pricing.client.js.map +1 -0
  143. package/dist/database/actions/action-manager.d.ts +170 -0
  144. package/dist/database/actions/action-manager.js +465 -0
  145. package/dist/database/actions/action-manager.js.map +1 -0
  146. package/dist/database/actions/index.d.ts +6 -0
  147. package/dist/database/actions/index.js +13 -0
  148. package/dist/database/actions/index.js.map +1 -0
  149. package/dist/database/adapters/adapter.factory.d.ts +62 -0
  150. package/dist/database/adapters/adapter.factory.js +97 -0
  151. package/dist/database/adapters/adapter.factory.js.map +1 -0
  152. package/dist/database/adapters/base.adapter.d.ts +393 -0
  153. package/dist/database/adapters/base.adapter.js +150 -0
  154. package/dist/database/adapters/base.adapter.js.map +1 -0
  155. package/dist/database/adapters/cassandra.adapter.d.ts +91 -0
  156. package/dist/database/adapters/cassandra.adapter.js +1075 -0
  157. package/dist/database/adapters/cassandra.adapter.js.map +1 -0
  158. package/dist/database/adapters/dynamodb.adapter.d.ts +109 -0
  159. package/dist/database/adapters/dynamodb.adapter.js +1534 -0
  160. package/dist/database/adapters/dynamodb.adapter.js.map +1 -0
  161. package/dist/database/adapters/index.d.ts +11 -0
  162. package/dist/database/adapters/index.js +27 -0
  163. package/dist/database/adapters/index.js.map +1 -0
  164. package/dist/database/adapters/mariadb.adapter.d.ts +100 -0
  165. package/dist/database/adapters/mariadb.adapter.js +247 -0
  166. package/dist/database/adapters/mariadb.adapter.js.map +1 -0
  167. package/dist/database/adapters/mongodb.adapter.d.ts +120 -0
  168. package/dist/database/adapters/mongodb.adapter.js +1253 -0
  169. package/dist/database/adapters/mongodb.adapter.js.map +1 -0
  170. package/dist/database/adapters/mysql.adapter.d.ts +85 -0
  171. package/dist/database/adapters/mysql.adapter.js +1313 -0
  172. package/dist/database/adapters/mysql.adapter.js.map +1 -0
  173. package/dist/database/adapters/postgresql.adapter.d.ts +88 -0
  174. package/dist/database/adapters/postgresql.adapter.js +1434 -0
  175. package/dist/database/adapters/postgresql.adapter.js.map +1 -0
  176. package/dist/database/databases.service.d.ts +1388 -0
  177. package/dist/database/databases.service.js +2821 -0
  178. package/dist/database/databases.service.js.map +1 -0
  179. package/dist/database/index.d.ts +46 -0
  180. package/dist/database/index.js +109 -0
  181. package/dist/database/index.js.map +1 -0
  182. package/dist/database/migrations/index.d.ts +6 -0
  183. package/dist/database/migrations/index.js +12 -0
  184. package/dist/database/migrations/index.js.map +1 -0
  185. package/dist/database/migrations/migration-engine.d.ts +132 -0
  186. package/dist/database/migrations/migration-engine.js +1356 -0
  187. package/dist/database/migrations/migration-engine.js.map +1 -0
  188. package/dist/database/operators/aggregation-builder.d.ts +67 -0
  189. package/dist/database/operators/aggregation-builder.js +841 -0
  190. package/dist/database/operators/aggregation-builder.js.map +1 -0
  191. package/dist/database/operators/index.d.ts +7 -0
  192. package/dist/database/operators/index.js +15 -0
  193. package/dist/database/operators/index.js.map +1 -0
  194. package/dist/database/operators/query-builder.d.ts +59 -0
  195. package/dist/database/operators/query-builder.js +397 -0
  196. package/dist/database/operators/query-builder.js.map +1 -0
  197. package/dist/database/presave/decrypt.d.ts +25 -0
  198. package/dist/database/presave/decrypt.js +146 -0
  199. package/dist/database/presave/decrypt.js.map +1 -0
  200. package/dist/database/presave/index.d.ts +9 -0
  201. package/dist/database/presave/index.js +18 -0
  202. package/dist/database/presave/index.js.map +1 -0
  203. package/dist/database/presave/presave-processor.d.ts +148 -0
  204. package/dist/database/presave/presave-processor.js +702 -0
  205. package/dist/database/presave/presave-processor.js.map +1 -0
  206. package/dist/database/schema/index.d.ts +7 -0
  207. package/dist/database/schema/index.js +13 -0
  208. package/dist/database/schema/index.js.map +1 -0
  209. package/dist/database/schema/schema-manager.d.ts +258 -0
  210. package/dist/database/schema/schema-manager.js +637 -0
  211. package/dist/database/schema/schema-manager.js.map +1 -0
  212. package/dist/database/transactions/index.d.ts +6 -0
  213. package/dist/database/transactions/index.js +13 -0
  214. package/dist/database/transactions/index.js.map +1 -0
  215. package/dist/database/transactions/transaction-manager.d.ts +113 -0
  216. package/dist/database/transactions/transaction-manager.js +344 -0
  217. package/dist/database/transactions/transaction-manager.js.map +1 -0
  218. package/dist/database/triggers/index.d.ts +7 -0
  219. package/dist/database/triggers/index.js +14 -0
  220. package/dist/database/triggers/index.js.map +1 -0
  221. package/dist/database/triggers/trigger-processor.d.ts +239 -0
  222. package/dist/database/triggers/trigger-processor.js +1034 -0
  223. package/dist/database/triggers/trigger-processor.js.map +1 -0
  224. package/dist/database/types/action.interface.d.ts +148 -0
  225. package/dist/database/types/action.interface.js +6 -0
  226. package/dist/database/types/action.interface.js.map +1 -0
  227. package/dist/database/types/aggregation.interface.d.ts +185 -0
  228. package/dist/database/types/aggregation.interface.js +6 -0
  229. package/dist/database/types/aggregation.interface.js.map +1 -0
  230. package/dist/database/types/connection.interface.d.ts +137 -0
  231. package/dist/database/types/connection.interface.js +6 -0
  232. package/dist/database/types/connection.interface.js.map +1 -0
  233. package/dist/database/types/enums.d.ts +195 -0
  234. package/dist/database/types/enums.js +244 -0
  235. package/dist/database/types/enums.js.map +1 -0
  236. package/dist/database/types/index.d.ts +14 -0
  237. package/dist/database/types/index.js +31 -0
  238. package/dist/database/types/index.js.map +1 -0
  239. package/dist/database/types/migration.interface.d.ts +686 -0
  240. package/dist/database/types/migration.interface.js +9 -0
  241. package/dist/database/types/migration.interface.js.map +1 -0
  242. package/dist/database/types/presave.interface.d.ts +292 -0
  243. package/dist/database/types/presave.interface.js +60 -0
  244. package/dist/database/types/presave.interface.js.map +1 -0
  245. package/dist/database/types/query.interface.d.ts +205 -0
  246. package/dist/database/types/query.interface.js +6 -0
  247. package/dist/database/types/query.interface.js.map +1 -0
  248. package/dist/database/types/schema.interface.d.ts +398 -0
  249. package/dist/database/types/schema.interface.js +6 -0
  250. package/dist/database/types/schema.interface.js.map +1 -0
  251. package/dist/database/types/transaction.interface.d.ts +84 -0
  252. package/dist/database/types/transaction.interface.js +6 -0
  253. package/dist/database/types/transaction.interface.js.map +1 -0
  254. package/dist/database/types/trigger.interface.d.ts +612 -0
  255. package/dist/database/types/trigger.interface.js +121 -0
  256. package/dist/database/types/trigger.interface.js.map +1 -0
  257. package/dist/database/types/write.interface.d.ts +216 -0
  258. package/dist/database/types/write.interface.js +6 -0
  259. package/dist/database/types/write.interface.js.map +1 -0
  260. package/dist/database/utils/database-error.d.ts +96 -0
  261. package/dist/database/utils/database-error.js +221 -0
  262. package/dist/database/utils/database-error.js.map +1 -0
  263. package/dist/database/utils/index.d.ts +6 -0
  264. package/dist/database/utils/index.js +11 -0
  265. package/dist/database/utils/index.js.map +1 -0
  266. package/dist/graph/adapters/adapter.factory.d.ts +47 -0
  267. package/dist/graph/adapters/adapter.factory.js +77 -0
  268. package/dist/graph/adapters/adapter.factory.js.map +1 -0
  269. package/dist/graph/adapters/arangodb.adapter.d.ts +86 -0
  270. package/dist/graph/adapters/arangodb.adapter.js +1522 -0
  271. package/dist/graph/adapters/arangodb.adapter.js.map +1 -0
  272. package/dist/graph/adapters/base.adapter.d.ts +245 -0
  273. package/dist/graph/adapters/base.adapter.js +64 -0
  274. package/dist/graph/adapters/base.adapter.js.map +1 -0
  275. package/dist/graph/adapters/index.d.ts +11 -0
  276. package/dist/graph/adapters/index.js +21 -0
  277. package/dist/graph/adapters/index.js.map +1 -0
  278. package/dist/graph/adapters/memgraph.adapter.d.ts +110 -0
  279. package/dist/graph/adapters/memgraph.adapter.js +1345 -0
  280. package/dist/graph/adapters/memgraph.adapter.js.map +1 -0
  281. package/dist/graph/adapters/neo4j.adapter.d.ts +81 -0
  282. package/dist/graph/adapters/neo4j.adapter.js +1198 -0
  283. package/dist/graph/adapters/neo4j.adapter.js.map +1 -0
  284. package/dist/graph/adapters/neptune.adapter.d.ts +82 -0
  285. package/dist/graph/adapters/neptune.adapter.js +1313 -0
  286. package/dist/graph/adapters/neptune.adapter.js.map +1 -0
  287. package/dist/graph/graphs.service.d.ts +546 -0
  288. package/dist/graph/graphs.service.js +1893 -0
  289. package/dist/graph/graphs.service.js.map +1 -0
  290. package/dist/graph/index.d.ts +57 -0
  291. package/dist/graph/index.js +77 -0
  292. package/dist/graph/index.js.map +1 -0
  293. package/dist/graph/transactions/index.d.ts +4 -0
  294. package/dist/graph/transactions/index.js +9 -0
  295. package/dist/graph/transactions/index.js.map +1 -0
  296. package/dist/graph/transactions/transaction-manager.d.ts +61 -0
  297. package/dist/graph/transactions/transaction-manager.js +126 -0
  298. package/dist/graph/transactions/transaction-manager.js.map +1 -0
  299. package/dist/graph/types/connection.interface.d.ts +149 -0
  300. package/dist/graph/types/connection.interface.js +9 -0
  301. package/dist/graph/types/connection.interface.js.map +1 -0
  302. package/dist/graph/types/enums.d.ts +101 -0
  303. package/dist/graph/types/enums.js +114 -0
  304. package/dist/graph/types/enums.js.map +1 -0
  305. package/dist/graph/types/index.d.ts +13 -0
  306. package/dist/graph/types/index.js +20 -0
  307. package/dist/graph/types/index.js.map +1 -0
  308. package/dist/graph/types/node.interface.d.ts +248 -0
  309. package/dist/graph/types/node.interface.js +9 -0
  310. package/dist/graph/types/node.interface.js.map +1 -0
  311. package/dist/graph/types/query.interface.d.ts +175 -0
  312. package/dist/graph/types/query.interface.js +9 -0
  313. package/dist/graph/types/query.interface.js.map +1 -0
  314. package/dist/graph/types/relationship.interface.d.ts +207 -0
  315. package/dist/graph/types/relationship.interface.js +9 -0
  316. package/dist/graph/types/relationship.interface.js.map +1 -0
  317. package/dist/graph/types/schema.interface.d.ts +295 -0
  318. package/dist/graph/types/schema.interface.js +9 -0
  319. package/dist/graph/types/schema.interface.js.map +1 -0
  320. package/dist/graph/types/transaction.interface.d.ts +55 -0
  321. package/dist/graph/types/transaction.interface.js +9 -0
  322. package/dist/graph/types/transaction.interface.js.map +1 -0
  323. package/dist/graph/types/traversal.interface.d.ts +181 -0
  324. package/dist/graph/types/traversal.interface.js +9 -0
  325. package/dist/graph/types/traversal.interface.js.map +1 -0
  326. package/dist/graph/utils/graph-error.d.ts +71 -0
  327. package/dist/graph/utils/graph-error.js +142 -0
  328. package/dist/graph/utils/graph-error.js.map +1 -0
  329. package/dist/graph/utils/index.d.ts +4 -0
  330. package/dist/graph/utils/index.js +9 -0
  331. package/dist/graph/utils/index.js.map +1 -0
  332. package/dist/imports/imports.service.d.ts +3 -3
  333. package/dist/imports/imports.service.js +8 -7
  334. package/dist/imports/imports.service.js.map +1 -1
  335. package/dist/imports/imports.types.d.ts +8 -0
  336. package/dist/imports/repos/openApi.repo.d.ts +1 -1
  337. package/dist/imports/repos/openApi.repo.js +414 -47
  338. package/dist/imports/repos/openApi.repo.js.map +1 -1
  339. package/dist/imports/repos/postmanV21.repo.d.ts +1 -1
  340. package/dist/imports/repos/postmanV21.repo.js +126 -83
  341. package/dist/imports/repos/postmanV21.repo.js.map +1 -1
  342. package/dist/index.d.ts +3241 -285
  343. package/dist/index.js +4711 -687
  344. package/dist/index.js.map +1 -1
  345. package/dist/init.interface.d.ts +407 -0
  346. package/dist/init.interface.js +3 -0
  347. package/dist/init.interface.js.map +1 -0
  348. package/dist/inputs/inputs.service.d.ts +1 -1
  349. package/dist/inputs/inputs.service.js +2 -2
  350. package/dist/inputs/inputs.service.js.map +1 -1
  351. package/dist/inputs/utils/inputs.utils.create.js +1 -1
  352. package/dist/inputs/utils/inputs.utils.create.js.map +1 -1
  353. package/dist/jobs/index.d.ts +38 -0
  354. package/dist/jobs/index.js +50 -0
  355. package/dist/jobs/index.js.map +1 -0
  356. package/dist/jobs/jobs.service.d.ts +154 -0
  357. package/dist/jobs/jobs.service.js +491 -0
  358. package/dist/jobs/jobs.service.js.map +1 -0
  359. package/dist/jobs/jobs.state.d.ts +113 -0
  360. package/dist/jobs/jobs.state.js +447 -0
  361. package/dist/jobs/jobs.state.js.map +1 -0
  362. package/dist/jobs/types.d.ts +449 -0
  363. package/dist/jobs/types.js +74 -0
  364. package/dist/jobs/types.js.map +1 -0
  365. package/dist/logs/logs.types.d.ts +16 -1
  366. package/dist/logs/logs.types.js +5 -0
  367. package/dist/logs/logs.types.js.map +1 -1
  368. package/dist/models/index.d.ts +6 -0
  369. package/dist/models/index.js +11 -0
  370. package/dist/models/index.js.map +1 -0
  371. package/dist/models/models.service.d.ts +137 -0
  372. package/dist/models/models.service.js +195 -0
  373. package/dist/models/models.service.js.map +1 -0
  374. package/dist/notifications/index.d.ts +13 -0
  375. package/dist/notifications/index.js +26 -0
  376. package/dist/notifications/index.js.map +1 -0
  377. package/dist/notifications/notifications.service.d.ts +257 -0
  378. package/dist/notifications/notifications.service.js +656 -0
  379. package/dist/notifications/notifications.service.js.map +1 -0
  380. package/dist/notifications/types/index.d.ts +4 -0
  381. package/dist/notifications/types/index.js +21 -0
  382. package/dist/notifications/types/index.js.map +1 -0
  383. package/dist/notifications/types/notifications.types.d.ts +400 -0
  384. package/dist/notifications/types/notifications.types.js +49 -0
  385. package/dist/notifications/types/notifications.types.js.map +1 -0
  386. package/dist/parsers/index.d.ts +3 -0
  387. package/dist/parsers/index.js +27 -0
  388. package/dist/parsers/index.js.map +1 -0
  389. package/dist/parsers/pipelines/postman.pipelines.d.ts +15 -0
  390. package/dist/parsers/pipelines/postman.pipelines.js +103 -0
  391. package/dist/parsers/pipelines/postman.pipelines.js.map +1 -0
  392. package/dist/parsers/types/postman.types.d.ts +200 -0
  393. package/dist/parsers/types/postman.types.js +3 -0
  394. package/dist/parsers/types/postman.types.js.map +1 -0
  395. package/dist/parsers/utils/postman.utils.d.ts +12 -0
  396. package/dist/parsers/utils/postman.utils.js +116 -0
  397. package/dist/parsers/utils/postman.utils.js.map +1 -0
  398. package/dist/parsers/validators/postman-auth.validators.d.ts +10 -0
  399. package/dist/parsers/validators/postman-auth.validators.js +127 -0
  400. package/dist/parsers/validators/postman-auth.validators.js.map +1 -0
  401. package/dist/parsers/validators/postman-request.validators.d.ts +13 -0
  402. package/dist/parsers/validators/postman-request.validators.js +139 -0
  403. package/dist/parsers/validators/postman-request.validators.js.map +1 -0
  404. package/dist/parsers/validators/postman-response.validators.d.ts +13 -0
  405. package/dist/parsers/validators/postman-response.validators.js +150 -0
  406. package/dist/parsers/validators/postman-response.validators.js.map +1 -0
  407. package/dist/parsers/validators/postman-variable.validators.d.ts +14 -0
  408. package/dist/parsers/validators/postman-variable.validators.js +163 -0
  409. package/dist/parsers/validators/postman-variable.validators.js.map +1 -0
  410. package/dist/pricing/pricing.repo.js +1 -0
  411. package/dist/pricing/pricing.repo.js.map +1 -0
  412. package/dist/pricing/pricing.service.d.ts +24 -0
  413. package/dist/pricing/pricing.service.js +51 -0
  414. package/dist/pricing/pricing.service.js.map +1 -0
  415. package/dist/pricing/pricing.types.d.ts +76 -0
  416. package/dist/pricing/pricing.types.js +21 -0
  417. package/dist/pricing/pricing.types.js.map +1 -0
  418. package/dist/pricing/utils/string.utils.d.ts +1 -0
  419. package/dist/pricing/utils/string.utils.js +9 -0
  420. package/dist/pricing/utils/string.utils.js.map +1 -0
  421. package/dist/processor/services/processor.service.d.ts +120 -73
  422. package/dist/processor/services/processor.service.js +1705 -1294
  423. package/dist/processor/services/processor.service.js.map +1 -1
  424. package/dist/processor/services/request.service.d.ts +36 -0
  425. package/dist/processor/services/request.service.js +304 -0
  426. package/dist/processor/services/request.service.js.map +1 -0
  427. package/dist/processor/types/request.types.d.ts +14 -0
  428. package/dist/processor/types/request.types.js +3 -0
  429. package/dist/processor/types/request.types.js.map +1 -0
  430. package/dist/processor/utils/processor.utils.d.ts +3 -0
  431. package/dist/processor/utils/processor.utils.js +87 -21
  432. package/dist/processor/utils/processor.utils.js.map +1 -1
  433. package/dist/processor/utils/request.utils.d.ts +20 -0
  434. package/dist/processor/utils/request.utils.js +113 -0
  435. package/dist/processor/utils/request.utils.js.map +1 -0
  436. package/dist/products/services/products.service.d.ts +330 -77
  437. package/dist/products/services/products.service.js +2586 -397
  438. package/dist/products/services/products.service.js.map +1 -1
  439. package/dist/products/utils/string.utils.d.ts +1 -1
  440. package/dist/products/utils/string.utils.js +14 -2
  441. package/dist/products/utils/string.utils.js.map +1 -1
  442. package/dist/products/validators/index.d.ts +7 -1
  443. package/dist/products/validators/index.js +16 -1
  444. package/dist/products/validators/index.js.map +1 -1
  445. package/dist/products/validators/joi-validators/create.productAgent.validator.d.ts +3 -0
  446. package/dist/products/validators/joi-validators/create.productAgent.validator.js +266 -0
  447. package/dist/products/validators/joi-validators/create.productAgent.validator.js.map +1 -0
  448. package/dist/products/validators/joi-validators/create.productDatabase.validator.js +5 -0
  449. package/dist/products/validators/joi-validators/create.productDatabase.validator.js.map +1 -1
  450. package/dist/products/validators/joi-validators/create.productEnv.validator.js +1 -0
  451. package/dist/products/validators/joi-validators/create.productEnv.validator.js.map +1 -1
  452. package/dist/products/validators/joi-validators/create.productGraph.validator.js +89 -0
  453. package/dist/products/validators/joi-validators/create.productGraph.validator.js.map +1 -0
  454. package/dist/products/validators/joi-validators/create.productHealthcheck.validator.d.ts +4 -0
  455. package/dist/products/validators/joi-validators/create.productHealthcheck.validator.js +58 -0
  456. package/dist/products/validators/joi-validators/create.productHealthcheck.validator.js.map +1 -0
  457. package/dist/products/validators/joi-validators/create.productMessageBrokers.validator.js +81 -25
  458. package/dist/products/validators/joi-validators/create.productMessageBrokers.validator.js.map +1 -1
  459. package/dist/products/validators/joi-validators/create.productModel.validator.d.ts +3 -0
  460. package/dist/products/validators/joi-validators/create.productModel.validator.js +132 -0
  461. package/dist/products/validators/joi-validators/create.productModel.validator.js.map +1 -0
  462. package/dist/products/validators/joi-validators/create.productNotification.validator.js +133 -45
  463. package/dist/products/validators/joi-validators/create.productNotification.validator.js.map +1 -1
  464. package/dist/products/validators/joi-validators/create.productStorage.validator.js +77 -18
  465. package/dist/products/validators/joi-validators/create.productStorage.validator.js.map +1 -1
  466. package/dist/products/validators/joi-validators/create.productVector.validator.d.ts +3 -0
  467. package/dist/products/validators/joi-validators/create.productVector.validator.js +135 -0
  468. package/dist/products/validators/joi-validators/create.productVector.validator.js.map +1 -0
  469. package/dist/products/validators/joi-validators/update.dataValue.validator.js +1 -0
  470. package/dist/products/validators/joi-validators/update.dataValue.validator.js.map +1 -1
  471. package/dist/products/validators/joi-validators/update.productDatabase.validator.js +5 -0
  472. package/dist/products/validators/joi-validators/update.productDatabase.validator.js.map +1 -1
  473. package/dist/products/validators/joi-validators/update.productEnv.validator.js +3 -0
  474. package/dist/products/validators/joi-validators/update.productEnv.validator.js.map +1 -1
  475. package/dist/products/validators/joi-validators/update.productGraph.validator.js +88 -0
  476. package/dist/products/validators/joi-validators/update.productGraph.validator.js.map +1 -0
  477. package/dist/resilience/fallback.service.d.ts +140 -0
  478. package/dist/resilience/fallback.service.js +764 -0
  479. package/dist/resilience/fallback.service.js.map +1 -0
  480. package/dist/resilience/healthcheck.service.d.ts +159 -0
  481. package/dist/resilience/healthcheck.service.js +943 -0
  482. package/dist/resilience/healthcheck.service.js.map +1 -0
  483. package/dist/resilience/index.d.ts +104 -0
  484. package/dist/resilience/index.js +140 -0
  485. package/dist/resilience/index.js.map +1 -0
  486. package/dist/resilience/quota.service.d.ts +82 -0
  487. package/dist/resilience/quota.service.js +516 -0
  488. package/dist/resilience/quota.service.js.map +1 -0
  489. package/dist/resilience/resilience.service.d.ts +98 -0
  490. package/dist/resilience/resilience.service.js +560 -0
  491. package/dist/resilience/resilience.service.js.map +1 -0
  492. package/dist/resilience/types/index.d.ts +513 -0
  493. package/dist/resilience/types/index.js +29 -0
  494. package/dist/resilience/types/index.js.map +1 -0
  495. package/dist/secrets/index.d.ts +10 -0
  496. package/dist/secrets/index.js +33 -0
  497. package/dist/secrets/index.js.map +1 -0
  498. package/dist/secrets/secrets.resolver.d.ts +52 -0
  499. package/dist/secrets/secrets.resolver.js +233 -0
  500. package/dist/secrets/secrets.resolver.js.map +1 -0
  501. package/dist/secrets/secrets.service.d.ts +93 -0
  502. package/dist/secrets/secrets.service.js +258 -0
  503. package/dist/secrets/secrets.service.js.map +1 -0
  504. package/dist/secrets/secrets.types.d.ts +188 -0
  505. package/dist/secrets/secrets.types.js +87 -0
  506. package/dist/secrets/secrets.types.js.map +1 -0
  507. package/dist/sessions/index.d.ts +50 -0
  508. package/dist/sessions/index.js +93 -0
  509. package/dist/sessions/index.js.map +1 -0
  510. package/dist/sessions/sessions.helper.d.ts +68 -0
  511. package/dist/sessions/sessions.helper.js +116 -0
  512. package/dist/sessions/sessions.helper.js.map +1 -0
  513. package/dist/sessions/sessions.resolver.d.ts +150 -0
  514. package/dist/sessions/sessions.resolver.js +356 -0
  515. package/dist/sessions/sessions.resolver.js.map +1 -0
  516. package/dist/sessions/sessions.service.d.ts +170 -0
  517. package/dist/sessions/sessions.service.js +736 -0
  518. package/dist/sessions/sessions.service.js.map +1 -0
  519. package/dist/sessions/types/index.d.ts +290 -0
  520. package/dist/sessions/types/index.js +6 -0
  521. package/dist/sessions/types/index.js.map +1 -0
  522. package/dist/storage/index.d.ts +66 -0
  523. package/dist/storage/index.js +98 -0
  524. package/dist/storage/index.js.map +1 -0
  525. package/dist/storage/storage.service.d.ts +151 -0
  526. package/dist/storage/storage.service.js +522 -0
  527. package/dist/storage/storage.service.js.map +1 -0
  528. package/dist/storage/types/index.d.ts +207 -0
  529. package/dist/storage/types/index.js +6 -0
  530. package/dist/storage/types/index.js.map +1 -0
  531. package/dist/storage/utils/storage.util.d.ts +51 -0
  532. package/dist/storage/utils/storage.util.js +402 -0
  533. package/dist/storage/utils/storage.util.js.map +1 -0
  534. package/dist/test/index.d.ts +3 -0
  535. package/dist/test/index.js +11 -0
  536. package/dist/test/index.js.map +1 -0
  537. package/dist/test/test.appBuilder.d.ts +0 -1
  538. package/dist/test/test.appBuilder.js +0 -15
  539. package/dist/test/test.appBuilder.js.map +1 -1
  540. package/dist/test/test.broker.kafka.js +172 -0
  541. package/dist/test/test.broker.kafka.js.map +1 -0
  542. package/dist/test/test.broker.nats.js +193 -0
  543. package/dist/test/test.broker.nats.js.map +1 -0
  544. package/dist/test/test.broker.pubsub.js +171 -0
  545. package/dist/test/test.broker.pubsub.js.map +1 -0
  546. package/dist/test/test.broker.rabbitmq.js +164 -0
  547. package/dist/test/test.broker.rabbitmq.js.map +1 -0
  548. package/dist/test/test.broker.redis.js +168 -0
  549. package/dist/test/test.broker.redis.js.map +1 -0
  550. package/dist/test/test.broker.sqs.d.ts +1 -0
  551. package/dist/test/test.broker.sqs.js +158 -0
  552. package/dist/test/test.broker.sqs.js.map +1 -0
  553. package/dist/test/test.caches.d.ts +1 -0
  554. package/dist/test/test.caches.js +231 -0
  555. package/dist/test/test.caches.js.map +1 -0
  556. package/dist/test/test.database.d.ts +1 -0
  557. package/dist/test/test.database.dynamo.d.ts +1 -0
  558. package/dist/test/test.database.dynamo.js +265 -0
  559. package/dist/test/test.database.dynamo.js.map +1 -0
  560. package/dist/test/test.database.js +140 -0
  561. package/dist/test/test.database.js.map +1 -0
  562. package/dist/test/test.database.mongo.d.ts +1 -0
  563. package/dist/test/test.database.mongo.js +371 -0
  564. package/dist/test/test.database.mongo.js.map +1 -0
  565. package/dist/test/test.database.mysql.d.ts +1 -0
  566. package/dist/test/test.database.mysql.js +415 -0
  567. package/dist/test/test.database.mysql.js.map +1 -0
  568. package/dist/test/test.database.postgres.d.ts +1 -0
  569. package/dist/test/test.database.postgres.js +412 -0
  570. package/dist/test/test.database.postgres.js.map +1 -0
  571. package/dist/test/test.email.brevo.d.ts +1 -0
  572. package/dist/test/test.email.brevo.js +326 -0
  573. package/dist/test/test.email.brevo.js.map +1 -0
  574. package/dist/test/test.email.mailgun.d.ts +1 -0
  575. package/dist/test/test.email.mailgun.js +352 -0
  576. package/dist/test/test.email.mailgun.js.map +1 -0
  577. package/dist/test/test.email.postmark.d.ts +1 -0
  578. package/dist/test/test.email.postmark.js +316 -0
  579. package/dist/test/test.email.postmark.js.map +1 -0
  580. package/dist/test/test.email.sendgrid.d.ts +1 -0
  581. package/dist/test/test.email.sendgrid.js +365 -0
  582. package/dist/test/test.email.sendgrid.js.map +1 -0
  583. package/dist/test/test.email.smtp.d.ts +1 -0
  584. package/dist/test/test.email.smtp.js +323 -0
  585. package/dist/test/test.email.smtp.js.map +1 -0
  586. package/dist/test/test.graph.arangodb.d.ts +1 -0
  587. package/dist/test/test.graph.arangodb.js +358 -0
  588. package/dist/test/test.graph.arangodb.js.map +1 -0
  589. package/dist/test/test.graph.memgraph.d.ts +1 -0
  590. package/dist/test/test.graph.memgraph.js +320 -0
  591. package/dist/test/test.graph.memgraph.js.map +1 -0
  592. package/dist/test/test.graph.neo4j.d.ts +1 -0
  593. package/dist/test/test.graph.neo4j.js +218 -0
  594. package/dist/test/test.graph.neo4j.js.map +1 -0
  595. package/dist/test/test.graph.neptune.d.ts +1 -0
  596. package/dist/test/test.graph.neptune.js +331 -0
  597. package/dist/test/test.graph.neptune.js.map +1 -0
  598. package/dist/test/test.health.js +1 -0
  599. package/dist/test/test.health.js.map +1 -0
  600. package/dist/test/test.import.d.ts +0 -1
  601. package/dist/test/test.import.js +0 -1459
  602. package/dist/test/test.import.js.map +1 -1
  603. package/dist/test/test.import.openapi.d.ts +0 -1
  604. package/dist/test/test.import.openapi.js +0 -75
  605. package/dist/test/test.import.openapi.js.map +1 -1
  606. package/dist/test/test.imports.js +14 -55
  607. package/dist/test/test.imports.js.map +1 -1
  608. package/dist/test/test.logs.d.ts +0 -1
  609. package/dist/test/test.logs.js +0 -17
  610. package/dist/test/test.logs.js.map +1 -1
  611. package/dist/test/test.notifications.d.ts +1 -0
  612. package/dist/test/test.notifications.js +198 -0
  613. package/dist/test/test.notifications.js.map +1 -0
  614. package/dist/test/test.notifiers.js +1 -0
  615. package/dist/test/test.notifiers.js.map +1 -0
  616. package/dist/test/test.processor.d.ts +0 -1
  617. package/dist/test/test.processor.js +0 -122
  618. package/dist/test/test.processor.js.map +1 -1
  619. package/dist/test/test.productBuilder.d.ts +0 -1
  620. package/dist/test/test.productBuilder.js +0 -660
  621. package/dist/test/test.productBuilder.js.map +1 -1
  622. package/dist/test/test.products.js +1 -0
  623. package/dist/test/test.products.js.map +1 -0
  624. package/dist/test/test.push.expo.d.ts +1 -0
  625. package/dist/test/test.push.expo.js +442 -0
  626. package/dist/test/test.push.expo.js.map +1 -0
  627. package/dist/test/test.push.firebase.d.ts +1 -0
  628. package/dist/test/test.push.firebase.js +409 -0
  629. package/dist/test/test.push.firebase.js.map +1 -0
  630. package/dist/test/test.session.d.ts +1 -0
  631. package/dist/test/test.session.js +299 -0
  632. package/dist/test/test.session.js.map +1 -0
  633. package/dist/test/test.sms.nexmo.d.ts +1 -0
  634. package/dist/test/test.sms.nexmo.js +278 -0
  635. package/dist/test/test.sms.nexmo.js.map +1 -0
  636. package/dist/test/test.sms.twilio.d.ts +1 -0
  637. package/dist/test/test.sms.twilio.js +275 -0
  638. package/dist/test/test.sms.twilio.js.map +1 -0
  639. package/dist/test/test.storage.d.ts +1 -0
  640. package/dist/test/test.storage.js +202 -0
  641. package/dist/test/test.storage.js.map +1 -0
  642. package/dist/test/test.triggers.d.ts +1 -0
  643. package/dist/test/test.triggers.js +314 -0
  644. package/dist/test/test.triggers.js.map +1 -0
  645. package/dist/test/test.vector.pinecone.d.ts +1 -0
  646. package/dist/test/test.vector.pinecone.js +238 -0
  647. package/dist/test/test.vector.pinecone.js.map +1 -0
  648. package/dist/test/test.vector.qdrant.d.ts +1 -0
  649. package/dist/test/test.vector.qdrant.js +307 -0
  650. package/dist/test/test.vector.qdrant.js.map +1 -0
  651. package/dist/test/test.vector.weaviate.d.ts +1 -0
  652. package/dist/test/test.vector.weaviate.js +325 -0
  653. package/dist/test/test.vector.weaviate.js.map +1 -0
  654. package/dist/types/appBuilder.types.d.ts +10 -13
  655. package/dist/types/enums.d.ts +11 -1
  656. package/dist/types/enums.js +10 -0
  657. package/dist/types/enums.js.map +1 -1
  658. package/dist/types/index.types.d.ts +6 -4
  659. package/dist/types/index.types.js +0 -1
  660. package/dist/types/index.types.js.map +1 -1
  661. package/dist/types/pricing.types.d.ts +4 -0
  662. package/dist/types/pricing.types.js +3 -0
  663. package/dist/types/pricing.types.js.map +1 -0
  664. package/dist/types/processor.types.d.ts +245 -20
  665. package/dist/types/processor.types.js +9 -1
  666. package/dist/types/processor.types.js.map +1 -1
  667. package/dist/types/productsBuilder.types.d.ts +906 -24
  668. package/dist/types/productsBuilder.types.js +173 -2
  669. package/dist/types/productsBuilder.types.js.map +1 -1
  670. package/dist/types/request-tracker.interface.js +1 -0
  671. package/dist/types/request-tracker.interface.js.map +1 -0
  672. package/dist/types/requests.types.d.ts +2 -0
  673. package/dist/utils/constants.d.ts +1 -0
  674. package/dist/utils/constants.js +5 -0
  675. package/dist/utils/constants.js.map +1 -0
  676. package/dist/utils/index.d.ts +0 -2
  677. package/dist/utils/index.js +24 -52
  678. package/dist/utils/index.js.map +1 -1
  679. package/dist/vector/adapters/base.adapter.d.ts +152 -0
  680. package/dist/vector/adapters/base.adapter.js +137 -0
  681. package/dist/vector/adapters/base.adapter.js.map +1 -0
  682. package/dist/vector/adapters/index.d.ts +10 -0
  683. package/dist/vector/adapters/index.js +19 -0
  684. package/dist/vector/adapters/index.js.map +1 -0
  685. package/dist/vector/adapters/memory.adapter.d.ts +85 -0
  686. package/dist/vector/adapters/memory.adapter.js +505 -0
  687. package/dist/vector/adapters/memory.adapter.js.map +1 -0
  688. package/dist/vector/adapters/pinecone.adapter.d.ts +52 -0
  689. package/dist/vector/adapters/pinecone.adapter.js +400 -0
  690. package/dist/vector/adapters/pinecone.adapter.js.map +1 -0
  691. package/dist/vector/adapters/qdrant.adapter.d.ts +56 -0
  692. package/dist/vector/adapters/qdrant.adapter.js +392 -0
  693. package/dist/vector/adapters/qdrant.adapter.js.map +1 -0
  694. package/dist/vector/adapters/weaviate.adapter.d.ts +64 -0
  695. package/dist/vector/adapters/weaviate.adapter.js +478 -0
  696. package/dist/vector/adapters/weaviate.adapter.js.map +1 -0
  697. package/dist/vector/index.d.ts +47 -0
  698. package/dist/vector/index.js +72 -0
  699. package/dist/vector/index.js.map +1 -0
  700. package/dist/vector/types/connection.interface.d.ts +151 -0
  701. package/dist/vector/types/connection.interface.js +8 -0
  702. package/dist/vector/types/connection.interface.js.map +1 -0
  703. package/dist/vector/types/embedding.interface.d.ts +144 -0
  704. package/dist/vector/types/embedding.interface.js +8 -0
  705. package/dist/vector/types/embedding.interface.js.map +1 -0
  706. package/dist/vector/types/enums.d.ts +104 -0
  707. package/dist/vector/types/enums.js +113 -0
  708. package/dist/vector/types/enums.js.map +1 -0
  709. package/dist/vector/types/index.d.ts +9 -0
  710. package/dist/vector/types/index.js +16 -0
  711. package/dist/vector/types/index.js.map +1 -0
  712. package/dist/vector/types/vector.interface.d.ts +315 -0
  713. package/dist/vector/types/vector.interface.js +8 -0
  714. package/dist/vector/types/vector.interface.js.map +1 -0
  715. package/dist/vector/utils/index.d.ts +6 -0
  716. package/dist/vector/utils/index.js +11 -0
  717. package/dist/vector/utils/index.js.map +1 -0
  718. package/dist/vector/utils/vector-error.d.ts +69 -0
  719. package/dist/vector/utils/vector-error.js +116 -0
  720. package/dist/vector/utils/vector-error.js.map +1 -0
  721. package/dist/vector/vector-database.service.d.ts +408 -0
  722. package/dist/vector/vector-database.service.js +545 -0
  723. package/dist/vector/vector-database.service.js.map +1 -0
  724. package/dist/vector/vector.service.d.ts +245 -0
  725. package/dist/vector/vector.service.js +384 -0
  726. package/dist/vector/vector.service.js.map +1 -0
  727. package/dist/workflows/index.d.ts +30 -0
  728. package/dist/workflows/index.js +64 -0
  729. package/dist/workflows/index.js.map +1 -0
  730. package/dist/workflows/types/index.d.ts +6 -0
  731. package/dist/workflows/types/index.js +23 -0
  732. package/dist/workflows/types/index.js.map +1 -0
  733. package/dist/workflows/types/workflows.types.d.ts +1035 -0
  734. package/dist/workflows/types/workflows.types.js +13 -0
  735. package/dist/workflows/types/workflows.types.js.map +1 -0
  736. package/dist/workflows/workflow-builder.d.ts +70 -0
  737. package/dist/workflows/workflow-builder.js +338 -0
  738. package/dist/workflows/workflow-builder.js.map +1 -0
  739. package/dist/workflows/workflow-executor.d.ts +208 -0
  740. package/dist/workflows/workflow-executor.js +1194 -0
  741. package/dist/workflows/workflow-executor.js.map +1 -0
  742. package/dist/workflows/workflows.service.d.ts +404 -0
  743. package/dist/workflows/workflows.service.js +1620 -0
  744. package/dist/workflows/workflows.service.js.map +1 -0
  745. package/package.json +54 -11
  746. package/dist/actions/actions.repo.js +0 -13
  747. package/dist/actions/actions.repo.js.map +0 -1
  748. package/dist/actions/actions.service.js +0 -24
  749. package/dist/actions/actions.service.js.map +0 -1
  750. package/dist/actions/utils/actions.util.read.js +0 -427
  751. package/dist/actions/utils/actions.util.read.js.map +0 -1
  752. package/dist/api/services/integrationsApi.service.d.ts +0 -18
  753. package/dist/api/services/integrationsApi.service.js +0 -80
  754. package/dist/api/services/integrationsApi.service.js.map +0 -1
  755. package/dist/appBuilder/services/app.service.d.ts +0 -111
  756. package/dist/appBuilder/services/app.service.js +0 -737
  757. package/dist/appBuilder/services/app.service.js.map +0 -1
  758. package/dist/appBuilder/services/appBuilder.service.d.ts +0 -111
  759. package/dist/appBuilder/services/appBuilder.service.js +0 -662
  760. package/dist/appBuilder/services/appBuilder.service.js.map +0 -1
  761. package/dist/appBuilder/utils/objects.utils.d.ts +0 -3
  762. package/dist/appBuilder/utils/objects.utils.js +0 -9
  763. package/dist/appBuilder/utils/objects.utils.js.map +0 -1
  764. package/dist/appBuilder/utils/string.utils.d.ts +0 -2
  765. package/dist/appBuilder/utils/string.utils.js +0 -57
  766. package/dist/appBuilder/utils/string.utils.js.map +0 -1
  767. package/dist/appBuilder/validators/index.d.ts +0 -19
  768. package/dist/appBuilder/validators/index.js +0 -40
  769. package/dist/appBuilder/validators/index.js.map +0 -1
  770. package/dist/appBuilder/validators/joi-validators/create.app.validator.js +0 -10
  771. package/dist/appBuilder/validators/joi-validators/create.app.validator.js.map +0 -1
  772. package/dist/appBuilder/validators/joi-validators/create.appAction.validator.d.ts +0 -4
  773. package/dist/appBuilder/validators/joi-validators/create.appAction.validator.js +0 -20
  774. package/dist/appBuilder/validators/joi-validators/create.appAction.validator.js.map +0 -1
  775. package/dist/appBuilder/validators/joi-validators/create.appActionResponse.validator.d.ts +0 -7
  776. package/dist/appBuilder/validators/joi-validators/create.appActionResponse.validator.js +0 -44
  777. package/dist/appBuilder/validators/joi-validators/create.appActionResponse.validator.js.map +0 -1
  778. package/dist/appBuilder/validators/joi-validators/create.appAuth.validator.d.ts +0 -3
  779. package/dist/appBuilder/validators/joi-validators/create.appAuth.validator.js +0 -31
  780. package/dist/appBuilder/validators/joi-validators/create.appAuth.validator.js.map +0 -1
  781. package/dist/appBuilder/validators/joi-validators/create.appBody.validators.d.ts +0 -4
  782. package/dist/appBuilder/validators/joi-validators/create.appBody.validators.js +0 -11
  783. package/dist/appBuilder/validators/joi-validators/create.appBody.validators.js.map +0 -1
  784. package/dist/appBuilder/validators/joi-validators/create.appConstants.validator.d.ts +0 -4
  785. package/dist/appBuilder/validators/joi-validators/create.appConstants.validator.js +0 -12
  786. package/dist/appBuilder/validators/joi-validators/create.appConstants.validator.js.map +0 -1
  787. package/dist/appBuilder/validators/joi-validators/create.appEnv.validator.d.ts +0 -4
  788. package/dist/appBuilder/validators/joi-validators/create.appEnv.validator.js +0 -17
  789. package/dist/appBuilder/validators/joi-validators/create.appEnv.validator.js.map +0 -1
  790. package/dist/appBuilder/validators/joi-validators/create.appEvent.validator.d.ts +0 -5
  791. package/dist/appBuilder/validators/joi-validators/create.appEvent.validator.js +0 -30
  792. package/dist/appBuilder/validators/joi-validators/create.appEvent.validator.js.map +0 -1
  793. package/dist/appBuilder/validators/joi-validators/create.appVariable.validator.d.ts +0 -4
  794. package/dist/appBuilder/validators/joi-validators/create.appVariable.validator.js +0 -14
  795. package/dist/appBuilder/validators/joi-validators/create.appVariable.validator.js.map +0 -1
  796. package/dist/appBuilder/validators/joi-validators/sample.validator.d.ts +0 -5
  797. package/dist/appBuilder/validators/joi-validators/sample.validator.js +0 -26
  798. package/dist/appBuilder/validators/joi-validators/sample.validator.js.map +0 -1
  799. package/dist/appBuilder/validators/joi-validators/update.app.validator.d.ts +0 -4
  800. package/dist/appBuilder/validators/joi-validators/update.app.validator.js +0 -34
  801. package/dist/appBuilder/validators/joi-validators/update.app.validator.js.map +0 -1
  802. package/dist/appBuilder/validators/joi-validators/update.appAction.validator.d.ts +0 -4
  803. package/dist/appBuilder/validators/joi-validators/update.appAction.validator.js +0 -23
  804. package/dist/appBuilder/validators/joi-validators/update.appAction.validator.js.map +0 -1
  805. package/dist/appBuilder/validators/joi-validators/update.appActionResponse.validator.d.ts +0 -3
  806. package/dist/appBuilder/validators/joi-validators/update.appActionResponse.validator.js +0 -21
  807. package/dist/appBuilder/validators/joi-validators/update.appActionResponse.validator.js.map +0 -1
  808. package/dist/appBuilder/validators/joi-validators/update.appAuth.validator.d.ts +0 -4
  809. package/dist/appBuilder/validators/joi-validators/update.appAuth.validator.js +0 -19
  810. package/dist/appBuilder/validators/joi-validators/update.appAuth.validator.js.map +0 -1
  811. package/dist/appBuilder/validators/joi-validators/update.appConstants.validator.d.ts +0 -4
  812. package/dist/appBuilder/validators/joi-validators/update.appConstants.validator.js +0 -12
  813. package/dist/appBuilder/validators/joi-validators/update.appConstants.validator.js.map +0 -1
  814. package/dist/appBuilder/validators/joi-validators/update.appEnv.validator.d.ts +0 -4
  815. package/dist/appBuilder/validators/joi-validators/update.appEnv.validator.js +0 -17
  816. package/dist/appBuilder/validators/joi-validators/update.appEnv.validator.js.map +0 -1
  817. package/dist/appBuilder/validators/joi-validators/update.appEvent.validator.d.ts +0 -4
  818. package/dist/appBuilder/validators/joi-validators/update.appEvent.validator.js +0 -16
  819. package/dist/appBuilder/validators/joi-validators/update.appEvent.validator.js.map +0 -1
  820. package/dist/appBuilder/validators/joi-validators/update.appVariables.validator.d.ts +0 -4
  821. package/dist/appBuilder/validators/joi-validators/update.appVariables.validator.js +0 -14
  822. package/dist/appBuilder/validators/joi-validators/update.appVariables.validator.js.map +0 -1
  823. package/dist/appBuilder/validators/joi-validators/update.validation.entityData.validator.js +0 -27
  824. package/dist/appBuilder/validators/joi-validators/update.validation.entityData.validator.js.map +0 -1
  825. package/dist/apps/validators/joi-validators/create.appEvent.validator.d.ts +0 -5
  826. package/dist/apps/validators/joi-validators/create.appEvent.validator.js +0 -30
  827. package/dist/apps/validators/joi-validators/create.appEvent.validator.js.map +0 -1
  828. package/dist/apps/validators/joi-validators/update.appEvent.validator.d.ts +0 -4
  829. package/dist/apps/validators/joi-validators/update.appEvent.validator.js +0 -16
  830. package/dist/apps/validators/joi-validators/update.appEvent.validator.js.map +0 -1
  831. package/dist/clients/integrations.client.d.ts +0 -2
  832. package/dist/clients/integrations.client.js +0 -26
  833. package/dist/clients/integrations.client.js.map +0 -1
  834. package/dist/integrationsBuilder/services/integration.service.d.ts +0 -138
  835. package/dist/integrationsBuilder/services/integration.service.js +0 -1148
  836. package/dist/integrationsBuilder/services/integration.service.js.map +0 -1
  837. package/dist/integrationsBuilder/services/integrationBuilder.service.d.ts +0 -130
  838. package/dist/integrationsBuilder/services/integrationBuilder.service.js +0 -1017
  839. package/dist/integrationsBuilder/services/integrationBuilder.service.js.map +0 -1
  840. package/dist/integrationsBuilder/utils/objects.utils.d.ts +0 -2
  841. package/dist/integrationsBuilder/utils/objects.utils.js +0 -48
  842. package/dist/integrationsBuilder/utils/objects.utils.js.map +0 -1
  843. package/dist/integrationsBuilder/utils/string.utils.d.ts +0 -1
  844. package/dist/integrationsBuilder/utils/string.utils.js +0 -9
  845. package/dist/integrationsBuilder/utils/string.utils.js.map +0 -1
  846. package/dist/integrationsBuilder/validators/index.d.ts +0 -18
  847. package/dist/integrationsBuilder/validators/index.js +0 -38
  848. package/dist/integrationsBuilder/validators/index.js.map +0 -1
  849. package/dist/integrationsBuilder/validators/joi-validators/create.integration.validator.d.ts +0 -3
  850. package/dist/integrationsBuilder/validators/joi-validators/create.integration.validator.js +0 -10
  851. package/dist/integrationsBuilder/validators/joi-validators/create.integration.validator.js.map +0 -1
  852. package/dist/integrationsBuilder/validators/joi-validators/create.integrationApp.validator.d.ts +0 -4
  853. package/dist/integrationsBuilder/validators/joi-validators/create.integrationApp.validator.js +0 -26
  854. package/dist/integrationsBuilder/validators/joi-validators/create.integrationApp.validator.js.map +0 -1
  855. package/dist/integrationsBuilder/validators/joi-validators/create.integrationCache.validator.d.ts +0 -3
  856. package/dist/integrationsBuilder/validators/joi-validators/create.integrationCache.validator.js +0 -8
  857. package/dist/integrationsBuilder/validators/joi-validators/create.integrationCache.validator.js.map +0 -1
  858. package/dist/integrationsBuilder/validators/joi-validators/create.integrationDatabase.validator.d.ts +0 -3
  859. package/dist/integrationsBuilder/validators/joi-validators/create.integrationDatabase.validator.js +0 -8
  860. package/dist/integrationsBuilder/validators/joi-validators/create.integrationDatabase.validator.js.map +0 -1
  861. package/dist/integrationsBuilder/validators/joi-validators/create.integrationEnv.validator.d.ts +0 -3
  862. package/dist/integrationsBuilder/validators/joi-validators/create.integrationEnv.validator.js +0 -10
  863. package/dist/integrationsBuilder/validators/joi-validators/create.integrationEnv.validator.js.map +0 -1
  864. package/dist/integrationsBuilder/validators/joi-validators/create.integrationFeature.validator.d.ts +0 -3
  865. package/dist/integrationsBuilder/validators/joi-validators/create.integrationFeature.validator.js +0 -60
  866. package/dist/integrationsBuilder/validators/joi-validators/create.integrationFeature.validator.js.map +0 -1
  867. package/dist/integrationsBuilder/validators/joi-validators/create.integrationFunction.validator.d.ts +0 -3
  868. package/dist/integrationsBuilder/validators/joi-validators/create.integrationFunction.validator.js +0 -8
  869. package/dist/integrationsBuilder/validators/joi-validators/create.integrationFunction.validator.js.map +0 -1
  870. package/dist/integrationsBuilder/validators/joi-validators/create.integrationJob.validator.d.ts +0 -3
  871. package/dist/integrationsBuilder/validators/joi-validators/create.integrationJob.validator.js +0 -8
  872. package/dist/integrationsBuilder/validators/joi-validators/create.integrationJob.validator.js.map +0 -1
  873. package/dist/integrationsBuilder/validators/joi-validators/create.integrationNotification.validator.d.ts +0 -3
  874. package/dist/integrationsBuilder/validators/joi-validators/create.integrationNotification.validator.js +0 -8
  875. package/dist/integrationsBuilder/validators/joi-validators/create.integrationNotification.validator.js.map +0 -1
  876. package/dist/integrationsBuilder/validators/joi-validators/update.integrationApp.validator.d.ts +0 -3
  877. package/dist/integrationsBuilder/validators/joi-validators/update.integrationApp.validator.js +0 -9
  878. package/dist/integrationsBuilder/validators/joi-validators/update.integrationApp.validator.js.map +0 -1
  879. package/dist/integrationsBuilder/validators/joi-validators/update.integrationCache.validator.d.ts +0 -3
  880. package/dist/integrationsBuilder/validators/joi-validators/update.integrationCache.validator.js +0 -8
  881. package/dist/integrationsBuilder/validators/joi-validators/update.integrationCache.validator.js.map +0 -1
  882. package/dist/integrationsBuilder/validators/joi-validators/update.integrationDatabase.validator.d.ts +0 -3
  883. package/dist/integrationsBuilder/validators/joi-validators/update.integrationDatabase.validator.js +0 -8
  884. package/dist/integrationsBuilder/validators/joi-validators/update.integrationDatabase.validator.js.map +0 -1
  885. package/dist/integrationsBuilder/validators/joi-validators/update.integrationEnv.validator.d.ts +0 -3
  886. package/dist/integrationsBuilder/validators/joi-validators/update.integrationEnv.validator.js +0 -8
  887. package/dist/integrationsBuilder/validators/joi-validators/update.integrationEnv.validator.js.map +0 -1
  888. package/dist/integrationsBuilder/validators/joi-validators/update.integrationFeature.validator.d.ts +0 -3
  889. package/dist/integrationsBuilder/validators/joi-validators/update.integrationFeature.validator.js +0 -8
  890. package/dist/integrationsBuilder/validators/joi-validators/update.integrationFeature.validator.js.map +0 -1
  891. package/dist/integrationsBuilder/validators/joi-validators/update.integrationFunction.validator copy.d.ts +0 -3
  892. package/dist/integrationsBuilder/validators/joi-validators/update.integrationFunction.validator copy.js +0 -8
  893. package/dist/integrationsBuilder/validators/joi-validators/update.integrationFunction.validator copy.js.map +0 -1
  894. package/dist/integrationsBuilder/validators/joi-validators/update.integrationJob.validator.d.ts +0 -3
  895. package/dist/integrationsBuilder/validators/joi-validators/update.integrationJob.validator.js +0 -8
  896. package/dist/integrationsBuilder/validators/joi-validators/update.integrationJob.validator.js.map +0 -1
  897. package/dist/integrationsBuilder/validators/joi-validators/update.integrationNotification.validator.d.ts +0 -3
  898. package/dist/integrationsBuilder/validators/joi-validators/update.integrationNotification.validator.js +0 -8
  899. package/dist/integrationsBuilder/validators/joi-validators/update.integrationNotification.validator.js.map +0 -1
  900. package/dist/postman.d.ts +0 -1
  901. package/dist/postman.js +0 -21674
  902. package/dist/postman.js.map +0 -1
  903. package/dist/processor/utils/mongo.util.js +0 -152
  904. package/dist/processor/utils/mongo.util.js.map +0 -1
  905. package/dist/processor/utils/postgres.util.d.ts +0 -14
  906. package/dist/processor/utils/postgres.util.js +0 -83
  907. package/dist/processor/utils/postgres.util.js.map +0 -1
  908. package/dist/products/validators/joi-validators/create.product.validator.d.ts +0 -3
  909. package/dist/products/validators/joi-validators/create.product.validator.js +0 -10
  910. package/dist/products/validators/joi-validators/create.product.validator.js.map +0 -1
  911. package/dist/test.appBuilder.js +0 -14
  912. package/dist/test.appBuilder.js.map +0 -1
  913. package/dist/test.import.js +0 -24
  914. package/dist/test.import.js.map +0 -1
  915. package/dist/test.imports.js +0 -28
  916. package/dist/test.imports.js.map +0 -1
  917. package/dist/test.integrationBuilder.js +0 -276
  918. package/dist/test.integrationBuilder.js.map +0 -1
  919. package/dist/test.processor.js +0 -23
  920. package/dist/test.processor.js.map +0 -1
  921. package/dist/test.utils.js +0 -25
  922. package/dist/test.utils.js.map +0 -1
  923. package/dist/types/integrationsBuilder.types.d.ts +0 -276
  924. package/dist/types/integrationsBuilder.types.js +0 -51
  925. package/dist/types/integrationsBuilder.types.js.map +0 -1
  926. /package/dist/{actions/actions.repo.d.ts → pricing/pricing.repo.d.ts} +0 -0
  927. /package/dist/{appBuilder/validators/joi-validators/create.app.validator.d.ts → products/validators/joi-validators/create.productGraph.validator.d.ts} +0 -0
  928. /package/dist/{appBuilder/validators/joi-validators/update.validation.entityData.validator.d.ts → products/validators/joi-validators/update.productGraph.validator.d.ts} +0 -0
  929. /package/dist/{test.appBuilder.d.ts → test/test.broker.kafka.d.ts} +0 -0
  930. /package/dist/{test.imports.d.ts → test/test.broker.nats.d.ts} +0 -0
  931. /package/dist/{test.integrationBuilder.d.ts → test/test.broker.pubsub.d.ts} +0 -0
  932. /package/dist/{test.processor.d.ts → test/test.broker.rabbitmq.d.ts} +0 -0
  933. /package/dist/{test.utils.d.ts → test/test.broker.redis.d.ts} +0 -0
  934. /package/dist/{actions/actions.service.d.ts → test/test.health.d.ts} +0 -0
  935. /package/dist/{actions/utils/actions.util.read.d.ts → test/test.notifiers.d.ts} +0 -0
  936. /package/dist/{processor/utils/mongo.util.d.ts → test/test.products.d.ts} +0 -0
  937. /package/dist/{test.import.d.ts → types/request-tracker.interface.d.ts} +0 -0
@@ -0,0 +1,1345 @@
1
+ "use strict";
2
+ /**
3
+ * Memgraph Graph Database Adapter
4
+ *
5
+ * Implements the BaseGraphAdapter for Memgraph.
6
+ * Memgraph is a high-performance, in-memory graph database
7
+ * that is fully compatible with Neo4j's Bolt protocol and Cypher query language.
8
+ *
9
+ * Key features:
10
+ * - Cypher query language compatibility
11
+ * - Bolt protocol support
12
+ * - In-memory performance
13
+ * - Triggers and streams support
14
+ * - MAGE graph algorithms library
15
+ */
16
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
17
+ if (k2 === undefined) k2 = k;
18
+ var desc = Object.getOwnPropertyDescriptor(m, k);
19
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
20
+ desc = { enumerable: true, get: function() { return m[k]; } };
21
+ }
22
+ Object.defineProperty(o, k2, desc);
23
+ }) : (function(o, m, k, k2) {
24
+ if (k2 === undefined) k2 = k;
25
+ o[k2] = m[k];
26
+ }));
27
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
28
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
29
+ }) : function(o, v) {
30
+ o["default"] = v;
31
+ });
32
+ var __importStar = (this && this.__importStar) || (function () {
33
+ var ownKeys = function(o) {
34
+ ownKeys = Object.getOwnPropertyNames || function (o) {
35
+ var ar = [];
36
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
37
+ return ar;
38
+ };
39
+ return ownKeys(o);
40
+ };
41
+ return function (mod) {
42
+ if (mod && mod.__esModule) return mod;
43
+ var result = {};
44
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
45
+ __setModuleDefault(result, mod);
46
+ return result;
47
+ };
48
+ })();
49
+ Object.defineProperty(exports, "__esModule", { value: true });
50
+ exports.MemgraphAdapter = void 0;
51
+ const base_adapter_1 = require("./base.adapter");
52
+ const enums_1 = require("../types/enums");
53
+ const graph_error_1 = require("../utils/graph-error");
54
+ /**
55
+ * Memgraph adapter - Cypher-compatible graph database
56
+ * Uses the neo4j-driver package as Memgraph supports the Bolt protocol
57
+ */
58
+ class MemgraphAdapter extends base_adapter_1.BaseGraphAdapter {
59
+ constructor() {
60
+ super(...arguments);
61
+ this.graphType = enums_1.GraphType.MEMGRAPH;
62
+ this.supportedFeatures = new Set([
63
+ enums_1.GraphFeature.TRANSACTIONS,
64
+ enums_1.GraphFeature.SCHEMA_INDEXES,
65
+ enums_1.GraphFeature.TRIGGERS,
66
+ enums_1.GraphFeature.CHANGE_STREAMS,
67
+ enums_1.GraphFeature.GRAPH_ALGORITHMS,
68
+ ]);
69
+ this.driver = null;
70
+ this.session = null;
71
+ }
72
+ // ==================== CONNECTION MANAGEMENT ====================
73
+ async connect(options) {
74
+ var _a, _b;
75
+ try {
76
+ // Memgraph uses the Bolt protocol, compatible with neo4j-driver
77
+ const neo4j = await Promise.resolve().then(() => __importStar(require('neo4j-driver')));
78
+ const auth = options.auth
79
+ ? neo4j.auth.basic(options.auth.username, options.auth.password)
80
+ : neo4j.auth.basic('', ''); // Memgraph can run without auth
81
+ this.driver = neo4j.driver(options.connectionUrl, auth, Object.assign(Object.assign({}, options.options), {
82
+ // Memgraph-specific settings
83
+ encrypted: (_b = (_a = options.options) === null || _a === void 0 ? void 0 : _a.encrypted) !== null && _b !== void 0 ? _b : false }));
84
+ // Verify connection
85
+ await this.driver.verifyConnectivity();
86
+ this.connected = true;
87
+ this.connectionUrl = options.connectionUrl;
88
+ return {
89
+ connected: true,
90
+ type: enums_1.GraphType.MEMGRAPH,
91
+ latency: 0,
92
+ };
93
+ }
94
+ catch (error) {
95
+ this.connected = false;
96
+ throw graph_error_1.GraphError.connectionError(`Failed to connect to Memgraph: ${error.message}`, error);
97
+ }
98
+ }
99
+ async testConnection(options) {
100
+ try {
101
+ const neo4j = await Promise.resolve().then(() => __importStar(require('neo4j-driver')));
102
+ const startTime = Date.now();
103
+ const auth = options.auth
104
+ ? neo4j.auth.basic(options.auth.username, options.auth.password)
105
+ : neo4j.auth.basic('', '');
106
+ const testDriver = neo4j.driver(options.connectionUrl, auth, Object.assign(Object.assign({}, options.options), { connectionTimeout: 5000 }));
107
+ await testDriver.verifyConnectivity();
108
+ // Get Memgraph version
109
+ const session = testDriver.session();
110
+ const result = await session.run('CALL mg.info() YIELD key, value WHERE key = "version" RETURN value');
111
+ const version = result.records.length > 0 ? result.records[0].get('value') : 'unknown';
112
+ await session.close();
113
+ await testDriver.close();
114
+ return {
115
+ connected: true,
116
+ type: enums_1.GraphType.MEMGRAPH,
117
+ version,
118
+ latency: Date.now() - startTime,
119
+ };
120
+ }
121
+ catch (error) {
122
+ return {
123
+ connected: false,
124
+ type: enums_1.GraphType.MEMGRAPH,
125
+ error: error.message,
126
+ };
127
+ }
128
+ }
129
+ async disconnect() {
130
+ if (this.session) {
131
+ await this.session.close();
132
+ this.session = null;
133
+ }
134
+ if (this.driver) {
135
+ await this.driver.close();
136
+ this.driver = null;
137
+ }
138
+ this.connected = false;
139
+ }
140
+ getSession(transaction) {
141
+ if (transaction === null || transaction === void 0 ? void 0 : transaction.client) {
142
+ return transaction.client;
143
+ }
144
+ if (!this.session) {
145
+ this.ensureConnected();
146
+ this.session = this.driver.session();
147
+ }
148
+ return this.session;
149
+ }
150
+ // ==================== NODE OPERATIONS ====================
151
+ async createNode(options, transaction) {
152
+ this.ensureConnected();
153
+ const labels = options.labels.join(':');
154
+ const query = `CREATE (n:${labels} $props) RETURN n, id(n) as nodeId`;
155
+ const session = this.getSession(transaction);
156
+ const result = await session.run(query, { props: options.properties });
157
+ const record = result.records[0];
158
+ const node = record.get('n');
159
+ const nodeId = record.get('nodeId');
160
+ return {
161
+ node: this.mapMemgraphNode(node, nodeId),
162
+ created: true,
163
+ };
164
+ }
165
+ async findNodes(options, transaction) {
166
+ var _a, _b;
167
+ this.ensureConnected();
168
+ const labels = ((_a = options.labels) === null || _a === void 0 ? void 0 : _a.join(':')) || '';
169
+ const labelClause = labels ? `:${labels}` : '';
170
+ let query = `MATCH (n${labelClause})`;
171
+ const params = {};
172
+ if (options.where) {
173
+ const { clause, params: whereParams } = this.buildWhereClause(options.where, 'n');
174
+ query += ` WHERE ${clause}`;
175
+ Object.assign(params, whereParams);
176
+ }
177
+ query += ' RETURN n, id(n) as nodeId';
178
+ if ((_b = options.orderBy) === null || _b === void 0 ? void 0 : _b.length) {
179
+ const orderClauses = options.orderBy.map(o => `n.${o.property} ${o.direction.toUpperCase()}`);
180
+ query += ` ORDER BY ${orderClauses.join(', ')}`;
181
+ }
182
+ if (options.skip) {
183
+ query += ` SKIP ${options.skip}`;
184
+ }
185
+ if (options.limit) {
186
+ query += ` LIMIT ${options.limit}`;
187
+ }
188
+ const session = this.getSession(transaction);
189
+ const result = await session.run(query, params);
190
+ const nodes = result.records.map((record) => this.mapMemgraphNode(record.get('n'), record.get('nodeId')));
191
+ return {
192
+ nodes,
193
+ count: nodes.length,
194
+ };
195
+ }
196
+ async findNodeById(id, transaction) {
197
+ this.ensureConnected();
198
+ // Memgraph uses internal id() function
199
+ const query = `MATCH (n) WHERE id(n) = $id RETURN n, id(n) as nodeId`;
200
+ const session = this.getSession(transaction);
201
+ const result = await session.run(query, {
202
+ id: typeof id === 'number' ? id : parseInt(id, 10),
203
+ });
204
+ if (result.records.length === 0) {
205
+ return null;
206
+ }
207
+ return this.mapMemgraphNode(result.records[0].get('n'), result.records[0].get('nodeId'));
208
+ }
209
+ async updateNode(options, transaction) {
210
+ var _a;
211
+ this.ensureConnected();
212
+ let query;
213
+ const params = { props: options.properties };
214
+ if (options.id) {
215
+ query = `MATCH (n) WHERE id(n) = $id SET n += $props RETURN n, id(n) as nodeId`;
216
+ params.id = typeof options.id === 'number' ? options.id : parseInt(options.id, 10);
217
+ }
218
+ else {
219
+ const labels = ((_a = options.labels) === null || _a === void 0 ? void 0 : _a.join(':')) || '';
220
+ const labelClause = labels ? `:${labels}` : '';
221
+ query = `MATCH (n${labelClause})`;
222
+ if (options.where) {
223
+ const { clause, params: whereParams } = this.buildWhereClause(options.where, 'n');
224
+ query += ` WHERE ${clause}`;
225
+ Object.assign(params, whereParams);
226
+ }
227
+ query += ' SET n += $props RETURN n, id(n) as nodeId';
228
+ }
229
+ const session = this.getSession(transaction);
230
+ const result = await session.run(query, params);
231
+ const nodes = result.records.map((record) => this.mapMemgraphNode(record.get('n'), record.get('nodeId')));
232
+ return {
233
+ node: nodes.length === 1 ? nodes[0] : undefined,
234
+ nodes: nodes.length > 1 ? nodes : undefined,
235
+ updatedCount: nodes.length,
236
+ updated: nodes.length > 0,
237
+ };
238
+ }
239
+ async deleteNode(options, transaction) {
240
+ var _a, _b;
241
+ this.ensureConnected();
242
+ let query;
243
+ const params = {};
244
+ const detach = options.detach ? 'DETACH ' : '';
245
+ if (options.id) {
246
+ query = `MATCH (n) WHERE id(n) = $id ${detach}DELETE n RETURN count(n) as count`;
247
+ params.id = typeof options.id === 'number' ? options.id : parseInt(options.id, 10);
248
+ }
249
+ else {
250
+ const labels = ((_a = options.labels) === null || _a === void 0 ? void 0 : _a.join(':')) || '';
251
+ const labelClause = labels ? `:${labels}` : '';
252
+ query = `MATCH (n${labelClause})`;
253
+ if (options.where) {
254
+ const { clause, params: whereParams } = this.buildWhereClause(options.where, 'n');
255
+ query += ` WHERE ${clause}`;
256
+ Object.assign(params, whereParams);
257
+ }
258
+ query += ` ${detach}DELETE n RETURN count(n) as count`;
259
+ }
260
+ const session = this.getSession(transaction);
261
+ const result = await session.run(query, params);
262
+ const count = this.toNumber((_b = result.records[0]) === null || _b === void 0 ? void 0 : _b.get('count')) || 0;
263
+ return {
264
+ deleted: count > 0,
265
+ deletedCount: count,
266
+ };
267
+ }
268
+ async mergeNode(options, transaction) {
269
+ this.ensureConnected();
270
+ const labels = options.labels.join(':');
271
+ const matchProps = Object.entries(options.matchProperties)
272
+ .map(([key]) => `${key}: $match_${key}`)
273
+ .join(', ');
274
+ let query = `MERGE (n:${labels} {${matchProps}})`;
275
+ const params = {};
276
+ // Add match properties to params
277
+ Object.entries(options.matchProperties).forEach(([key, value]) => {
278
+ params[`match_${key}`] = value;
279
+ });
280
+ if (options.onCreate) {
281
+ query += ' ON CREATE SET n += $onCreateProps';
282
+ params.onCreateProps = options.onCreate;
283
+ }
284
+ if (options.onMatch) {
285
+ query += ' ON MATCH SET n += $onMatchProps';
286
+ params.onMatchProps = options.onMatch;
287
+ }
288
+ query += ' RETURN n, id(n) as nodeId';
289
+ const session = this.getSession(transaction);
290
+ const result = await session.run(query, params);
291
+ const record = result.records[0];
292
+ const node = this.mapMemgraphNode(record.get('n'), record.get('nodeId'));
293
+ return {
294
+ node,
295
+ created: true, // Memgraph doesn't easily tell us if it was created or matched
296
+ merged: true,
297
+ };
298
+ }
299
+ // ==================== LABEL MANAGEMENT ====================
300
+ async addLabels(options, transaction) {
301
+ this.ensureConnected();
302
+ const labels = options.labels.map(l => `:\`${l}\``).join('');
303
+ const query = `
304
+ MATCH (n)
305
+ WHERE id(n) = $id
306
+ SET n${labels}
307
+ RETURN n, id(n) as nodeId
308
+ `;
309
+ const params = {
310
+ id: typeof options.id === 'number' ? options.id : parseInt(options.id, 10),
311
+ };
312
+ const session = this.getSession(transaction);
313
+ const result = await session.run(query, params);
314
+ if (result.records.length === 0) {
315
+ throw graph_error_1.GraphError.notFoundError(`Node with ID ${options.id} not found`);
316
+ }
317
+ const record = result.records[0];
318
+ const node = this.mapMemgraphNode(record.get('n'), record.get('nodeId'));
319
+ return {
320
+ node,
321
+ addedLabels: options.labels,
322
+ };
323
+ }
324
+ async removeLabels(options, transaction) {
325
+ this.ensureConnected();
326
+ const labels = options.labels.map(l => `:\`${l}\``).join('');
327
+ const query = `
328
+ MATCH (n)
329
+ WHERE id(n) = $id
330
+ REMOVE n${labels}
331
+ RETURN n, id(n) as nodeId
332
+ `;
333
+ const params = {
334
+ id: typeof options.id === 'number' ? options.id : parseInt(options.id, 10),
335
+ };
336
+ const session = this.getSession(transaction);
337
+ const result = await session.run(query, params);
338
+ if (result.records.length === 0) {
339
+ throw graph_error_1.GraphError.notFoundError(`Node with ID ${options.id} not found`);
340
+ }
341
+ const record = result.records[0];
342
+ const node = this.mapMemgraphNode(record.get('n'), record.get('nodeId'));
343
+ return {
344
+ node,
345
+ removedLabels: options.labels,
346
+ };
347
+ }
348
+ async setLabels(options, transaction) {
349
+ this.ensureConnected();
350
+ // First get current labels
351
+ const getQuery = `
352
+ MATCH (n)
353
+ WHERE id(n) = $id
354
+ RETURN labels(n) as currentLabels
355
+ `;
356
+ const params = {
357
+ id: typeof options.id === 'number' ? options.id : parseInt(options.id, 10),
358
+ };
359
+ const session = this.getSession(transaction);
360
+ const getResult = await session.run(getQuery, params);
361
+ if (getResult.records.length === 0) {
362
+ throw graph_error_1.GraphError.notFoundError(`Node with ID ${options.id} not found`);
363
+ }
364
+ const previousLabels = getResult.records[0].get('currentLabels');
365
+ // Remove all existing labels and add new ones
366
+ const removeLabels = previousLabels.map(l => `:\`${l}\``).join('');
367
+ const addLabels = options.labels.map(l => `:\`${l}\``).join('');
368
+ const setQuery = `
369
+ MATCH (n)
370
+ WHERE id(n) = $id
371
+ REMOVE n${removeLabels}
372
+ SET n${addLabels}
373
+ RETURN n, id(n) as nodeId
374
+ `;
375
+ const result = await session.run(setQuery, params);
376
+ const node = this.mapMemgraphNode(result.records[0].get('n'), result.records[0].get('nodeId'));
377
+ return {
378
+ node,
379
+ previousLabels,
380
+ newLabels: options.labels,
381
+ };
382
+ }
383
+ // ==================== RELATIONSHIP OPERATIONS ====================
384
+ async createRelationship(options, transaction) {
385
+ this.ensureConnected();
386
+ const query = `
387
+ MATCH (a), (b)
388
+ WHERE id(a) = $startId AND id(b) = $endId
389
+ CREATE (a)-[r:${options.type} $props]->(b)
390
+ RETURN r, id(r) as relId, id(a) as startId, id(b) as endId
391
+ `;
392
+ const params = {
393
+ startId: typeof options.startNodeId === 'number' ? options.startNodeId : parseInt(options.startNodeId, 10),
394
+ endId: typeof options.endNodeId === 'number' ? options.endNodeId : parseInt(options.endNodeId, 10),
395
+ props: options.properties || {},
396
+ };
397
+ const session = this.getSession(transaction);
398
+ const result = await session.run(query, params);
399
+ const record = result.records[0];
400
+ const rel = record.get('r');
401
+ return {
402
+ relationship: this.mapMemgraphRelationship(rel, record.get('relId'), record.get('startId'), record.get('endId')),
403
+ created: true,
404
+ };
405
+ }
406
+ async findRelationships(options, transaction) {
407
+ this.ensureConnected();
408
+ const types = options.type
409
+ ? (Array.isArray(options.type) ? options.type.join('|') : options.type)
410
+ : (options.types ? options.types.join('|') : '');
411
+ const typeClause = types ? `:${types}` : '';
412
+ let query = `MATCH (a)-[r${typeClause}]->(b)`;
413
+ const params = {};
414
+ const conditions = [];
415
+ if (options.startNodeId) {
416
+ conditions.push('id(a) = $startId');
417
+ params.startId = typeof options.startNodeId === 'number' ? options.startNodeId : parseInt(options.startNodeId, 10);
418
+ }
419
+ if (options.endNodeId) {
420
+ conditions.push('id(b) = $endId');
421
+ params.endId = typeof options.endNodeId === 'number' ? options.endNodeId : parseInt(options.endNodeId, 10);
422
+ }
423
+ if (options.where) {
424
+ const { clause, params: whereParams } = this.buildWhereClause(options.where, 'r');
425
+ conditions.push(clause);
426
+ Object.assign(params, whereParams);
427
+ }
428
+ if (conditions.length > 0) {
429
+ query += ` WHERE ${conditions.join(' AND ')}`;
430
+ }
431
+ query += ' RETURN r, id(r) as relId, id(a) as startId, id(b) as endId';
432
+ if (options.skip) {
433
+ query += ` SKIP ${options.skip}`;
434
+ }
435
+ if (options.limit) {
436
+ query += ` LIMIT ${options.limit}`;
437
+ }
438
+ const session = this.getSession(transaction);
439
+ const result = await session.run(query, params);
440
+ const relationships = result.records.map((record) => this.mapMemgraphRelationship(record.get('r'), record.get('relId'), record.get('startId'), record.get('endId')));
441
+ return {
442
+ relationships,
443
+ count: relationships.length,
444
+ };
445
+ }
446
+ async findRelationshipById(id, transaction) {
447
+ this.ensureConnected();
448
+ const query = `
449
+ MATCH (a)-[r]->(b)
450
+ WHERE id(r) = $id
451
+ RETURN r, id(r) as relId, id(a) as startId, id(b) as endId
452
+ `;
453
+ const session = this.getSession(transaction);
454
+ const result = await session.run(query, {
455
+ id: typeof id === 'number' ? id : parseInt(id, 10),
456
+ });
457
+ if (result.records.length === 0) {
458
+ return null;
459
+ }
460
+ const record = result.records[0];
461
+ return this.mapMemgraphRelationship(record.get('r'), record.get('relId'), record.get('startId'), record.get('endId'));
462
+ }
463
+ async updateRelationship(options, transaction) {
464
+ this.ensureConnected();
465
+ let query;
466
+ const params = { props: options.properties };
467
+ if (options.id) {
468
+ query = `
469
+ MATCH (a)-[r]->(b)
470
+ WHERE id(r) = $id
471
+ SET r += $props
472
+ RETURN r, id(r) as relId, id(a) as startId, id(b) as endId
473
+ `;
474
+ params.id = typeof options.id === 'number' ? options.id : parseInt(options.id, 10);
475
+ }
476
+ else {
477
+ const typeClause = options.type ? `:${options.type}` : '';
478
+ query = `MATCH (a)-[r${typeClause}]->(b)`;
479
+ if (options.where) {
480
+ const { clause, params: whereParams } = this.buildWhereClause(options.where, 'r');
481
+ query += ` WHERE ${clause}`;
482
+ Object.assign(params, whereParams);
483
+ }
484
+ query += ' SET r += $props RETURN r, id(r) as relId, id(a) as startId, id(b) as endId';
485
+ }
486
+ const session = this.getSession(transaction);
487
+ const result = await session.run(query, params);
488
+ const relationships = result.records.map((record) => this.mapMemgraphRelationship(record.get('r'), record.get('relId'), record.get('startId'), record.get('endId')));
489
+ return {
490
+ relationship: relationships.length === 1 ? relationships[0] : undefined,
491
+ relationships: relationships.length > 1 ? relationships : undefined,
492
+ updatedCount: relationships.length,
493
+ updated: relationships.length > 0,
494
+ };
495
+ }
496
+ async deleteRelationship(options, transaction) {
497
+ var _a;
498
+ this.ensureConnected();
499
+ let query;
500
+ const params = {};
501
+ if (options.id) {
502
+ query = `MATCH ()-[r]->() WHERE id(r) = $id DELETE r RETURN count(r) as count`;
503
+ params.id = typeof options.id === 'number' ? options.id : parseInt(options.id, 10);
504
+ }
505
+ else {
506
+ const typeClause = options.type ? `:${options.type}` : '';
507
+ query = `MATCH (a)-[r${typeClause}]->(b)`;
508
+ const conditions = [];
509
+ if (options.startNodeId) {
510
+ conditions.push('id(a) = $startId');
511
+ params.startId = typeof options.startNodeId === 'number' ? options.startNodeId : parseInt(options.startNodeId, 10);
512
+ }
513
+ if (options.endNodeId) {
514
+ conditions.push('id(b) = $endId');
515
+ params.endId = typeof options.endNodeId === 'number' ? options.endNodeId : parseInt(options.endNodeId, 10);
516
+ }
517
+ if (options.where) {
518
+ const { clause, params: whereParams } = this.buildWhereClause(options.where, 'r');
519
+ conditions.push(clause);
520
+ Object.assign(params, whereParams);
521
+ }
522
+ if (conditions.length > 0) {
523
+ query += ` WHERE ${conditions.join(' AND ')}`;
524
+ }
525
+ query += ' DELETE r RETURN count(r) as count';
526
+ }
527
+ const session = this.getSession(transaction);
528
+ const result = await session.run(query, params);
529
+ const count = this.toNumber((_a = result.records[0]) === null || _a === void 0 ? void 0 : _a.get('count')) || 0;
530
+ return {
531
+ deleted: count > 0,
532
+ deletedCount: count,
533
+ };
534
+ }
535
+ async mergeRelationship(options, transaction) {
536
+ this.ensureConnected();
537
+ let matchPropsClause = '';
538
+ const params = {
539
+ startId: typeof options.startNodeId === 'number' ? options.startNodeId : parseInt(options.startNodeId, 10),
540
+ endId: typeof options.endNodeId === 'number' ? options.endNodeId : parseInt(options.endNodeId, 10),
541
+ };
542
+ if (options.matchProperties) {
543
+ const matchProps = Object.entries(options.matchProperties)
544
+ .map(([key]) => `${key}: $match_${key}`)
545
+ .join(', ');
546
+ matchPropsClause = ` {${matchProps}}`;
547
+ Object.entries(options.matchProperties).forEach(([key, value]) => {
548
+ params[`match_${key}`] = value;
549
+ });
550
+ }
551
+ let query = `
552
+ MATCH (a), (b)
553
+ WHERE id(a) = $startId AND id(b) = $endId
554
+ MERGE (a)-[r:${options.type}${matchPropsClause}]->(b)
555
+ `;
556
+ if (options.onCreate) {
557
+ query += ' ON CREATE SET r += $onCreateProps';
558
+ params.onCreateProps = options.onCreate;
559
+ }
560
+ if (options.onMatch) {
561
+ query += ' ON MATCH SET r += $onMatchProps';
562
+ params.onMatchProps = options.onMatch;
563
+ }
564
+ query += ' RETURN r, id(r) as relId, id(a) as startId, id(b) as endId';
565
+ const session = this.getSession(transaction);
566
+ const result = await session.run(query, params);
567
+ const record = result.records[0];
568
+ const relationship = this.mapMemgraphRelationship(record.get('r'), record.get('relId'), record.get('startId'), record.get('endId'));
569
+ return {
570
+ relationship,
571
+ created: true,
572
+ merged: true,
573
+ };
574
+ }
575
+ // ==================== TRAVERSAL OPERATIONS ====================
576
+ async traverse(options, transaction) {
577
+ var _a;
578
+ this.ensureConnected();
579
+ const direction = this.getDirectionArrow(options.direction);
580
+ const relTypes = ((_a = options.relationshipTypes) === null || _a === void 0 ? void 0 : _a.join('|')) || '';
581
+ const relClause = relTypes ? `:${relTypes}` : '';
582
+ const minDepth = options.minDepth || 1;
583
+ const maxDepth = options.maxDepth || 3;
584
+ const query = `
585
+ MATCH path = (start)${direction.left}[${relClause}*${minDepth}..${maxDepth}]${direction.right}(end)
586
+ WHERE id(start) = $startId
587
+ RETURN path
588
+ ${options.limit ? `LIMIT ${options.limit}` : ''}
589
+ `;
590
+ const params = {
591
+ startId: typeof options.startNodeId === 'number' ? options.startNodeId : parseInt(options.startNodeId, 10),
592
+ };
593
+ const session = this.getSession(transaction);
594
+ const result = await session.run(query, params);
595
+ const paths = result.records.map((record) => this.mapMemgraphPath(record.get('path')));
596
+ // Collect unique nodes and relationships
597
+ const nodesMap = new Map();
598
+ const relsMap = new Map();
599
+ paths.forEach(path => {
600
+ path.nodes.forEach(node => nodesMap.set(String(node.id), node));
601
+ path.relationships.forEach(rel => relsMap.set(String(rel.id), rel));
602
+ });
603
+ return {
604
+ paths,
605
+ nodes: Array.from(nodesMap.values()),
606
+ relationships: Array.from(relsMap.values()),
607
+ count: paths.length,
608
+ };
609
+ }
610
+ async shortestPath(options, transaction) {
611
+ var _a;
612
+ this.ensureConnected();
613
+ const relTypes = ((_a = options.relationshipTypes) === null || _a === void 0 ? void 0 : _a.join('|')) || '';
614
+ const relClause = relTypes ? `:${relTypes}` : '';
615
+ const maxDepth = options.maxDepth || 15;
616
+ // Use BFS for shortest path in Memgraph
617
+ const query = `
618
+ MATCH (start), (end)
619
+ WHERE id(start) = $startId AND id(end) = $endId
620
+ MATCH path = shortestPath((start)-[${relClause}*..${maxDepth}]-(end))
621
+ RETURN path
622
+ `;
623
+ const params = {
624
+ startId: typeof options.startNodeId === 'number' ? options.startNodeId : parseInt(options.startNodeId, 10),
625
+ endId: typeof options.endNodeId === 'number' ? options.endNodeId : parseInt(options.endNodeId, 10),
626
+ };
627
+ const session = this.getSession(transaction);
628
+ const result = await session.run(query, params);
629
+ if (result.records.length === 0) {
630
+ return { path: null, found: false };
631
+ }
632
+ const path = this.mapMemgraphPath(result.records[0].get('path'));
633
+ return {
634
+ path,
635
+ length: path.length,
636
+ found: true,
637
+ totalWeight: options.weightProperty
638
+ ? path.relationships.reduce((sum, r) => sum + (r.properties[options.weightProperty] || 0), 0)
639
+ : undefined,
640
+ };
641
+ }
642
+ async allPaths(options, transaction) {
643
+ var _a;
644
+ this.ensureConnected();
645
+ const relTypes = ((_a = options.relationshipTypes) === null || _a === void 0 ? void 0 : _a.join('|')) || '';
646
+ const relClause = relTypes ? `:${relTypes}` : '';
647
+ const minDepth = options.minDepth || 1;
648
+ const maxDepth = options.maxDepth || 5;
649
+ const limit = options.limit || options.maxPaths;
650
+ const query = `
651
+ MATCH (start), (end)
652
+ WHERE id(start) = $startId AND id(end) = $endId
653
+ MATCH path = (start)-[${relClause}*${minDepth}..${maxDepth}]-(end)
654
+ RETURN path
655
+ ${limit ? `LIMIT ${limit}` : ''}
656
+ `;
657
+ const params = {
658
+ startId: typeof options.startNodeId === 'number' ? options.startNodeId : parseInt(options.startNodeId, 10),
659
+ endId: typeof options.endNodeId === 'number' ? options.endNodeId : parseInt(options.endNodeId, 10),
660
+ };
661
+ const session = this.getSession(transaction);
662
+ const result = await session.run(query, params);
663
+ const paths = result.records.map((record) => this.mapMemgraphPath(record.get('path')));
664
+ return {
665
+ paths,
666
+ count: paths.length,
667
+ total: paths.length,
668
+ };
669
+ }
670
+ async getNeighborhood(options, transaction) {
671
+ var _a;
672
+ this.ensureConnected();
673
+ const direction = this.getDirectionArrow(options.direction);
674
+ const relTypes = ((_a = options.relationshipTypes) === null || _a === void 0 ? void 0 : _a.join('|')) || '';
675
+ const relClause = relTypes ? `:${relTypes}` : '';
676
+ const depth = options.depth || 1;
677
+ const limit = options.limit;
678
+ const query = `
679
+ MATCH (start)
680
+ WHERE id(start) = $nodeId
681
+ MATCH path = (start)${direction.left}[r${relClause}*1..${depth}]${direction.right}(neighbor)
682
+ RETURN DISTINCT neighbor, id(neighbor) as neighborId, r
683
+ ${limit ? `LIMIT ${limit}` : ''}
684
+ `;
685
+ const params = {
686
+ nodeId: typeof options.nodeId === 'number' ? options.nodeId : parseInt(options.nodeId, 10),
687
+ };
688
+ const session = this.getSession(transaction);
689
+ const result = await session.run(query, params);
690
+ const nodesMap = new Map();
691
+ const relationshipsSet = [];
692
+ result.records.forEach((record) => {
693
+ const neighbor = record.get('neighbor');
694
+ const neighborId = record.get('neighborId');
695
+ const nodeKey = String(this.toNumber(neighborId));
696
+ if (!nodesMap.has(nodeKey)) {
697
+ nodesMap.set(nodeKey, this.mapMemgraphNode(neighbor, neighborId));
698
+ }
699
+ const rels = record.get('r');
700
+ if (Array.isArray(rels)) {
701
+ rels.forEach((rel) => {
702
+ relationshipsSet.push(this.mapMemgraphRelationship(rel, rel.identity, rel.start, rel.end));
703
+ });
704
+ }
705
+ });
706
+ return {
707
+ nodes: Array.from(nodesMap.values()),
708
+ relationships: relationshipsSet,
709
+ depth,
710
+ };
711
+ }
712
+ async findConnectedComponents(options, transaction) {
713
+ var _a;
714
+ this.ensureConnected();
715
+ // Memgraph has MAGE library for graph algorithms
716
+ // Use weakly connected components algorithm
717
+ const labels = ((_a = options.labels) === null || _a === void 0 ? void 0 : _a.join(':')) || '';
718
+ const labelClause = labels ? `:${labels}` : '';
719
+ try {
720
+ // Try using MAGE library first (if installed)
721
+ const query = `
722
+ CALL weakly_connected_components.get()
723
+ YIELD node, component_id
724
+ WITH component_id, collect(node) as nodes
725
+ RETURN nodes, size(nodes) as size, component_id
726
+ ORDER BY size DESC
727
+ `;
728
+ const session = this.getSession(transaction);
729
+ const result = await session.run(query, {});
730
+ const components = result.records.map((record) => ({
731
+ nodes: record.get('nodes').map((n) => this.mapMemgraphNode(n, n.identity)),
732
+ size: this.toNumber(record.get('size')),
733
+ }));
734
+ return {
735
+ components,
736
+ count: components.length,
737
+ };
738
+ }
739
+ catch (_b) {
740
+ // Fallback to basic Cypher implementation
741
+ const query = `
742
+ MATCH (n${labelClause})
743
+ WITH collect(n) as allNodes
744
+ UNWIND allNodes as node
745
+ MATCH path = (node)-[*]-(connected)
746
+ WITH node, collect(DISTINCT connected) + [node] as component
747
+ WITH collect(DISTINCT component) as allComponents
748
+ UNWIND allComponents as comp
749
+ WITH comp, size(comp) as compSize
750
+ RETURN comp as nodes, compSize as size
751
+ ORDER BY size DESC
752
+ `;
753
+ const session = this.getSession(transaction);
754
+ const result = await session.run(query, {});
755
+ const components = result.records.map((record) => ({
756
+ nodes: record.get('nodes').map((n) => this.mapMemgraphNode(n, n.identity)),
757
+ size: this.toNumber(record.get('size')),
758
+ }));
759
+ return {
760
+ components,
761
+ count: components.length,
762
+ };
763
+ }
764
+ }
765
+ // ==================== AGGREGATION OPERATIONS ====================
766
+ async countNodes(labels, where, transaction) {
767
+ var _a;
768
+ this.ensureConnected();
769
+ const labelClause = (labels === null || labels === void 0 ? void 0 : labels.length) ? `:${labels.join(':')}` : '';
770
+ let query = `MATCH (n${labelClause})`;
771
+ const params = {};
772
+ if (where) {
773
+ const { clause, params: whereParams } = this.buildWhereClause(where, 'n');
774
+ query += ` WHERE ${clause}`;
775
+ Object.assign(params, whereParams);
776
+ }
777
+ query += ' RETURN count(n) as count';
778
+ const session = this.getSession(transaction);
779
+ const result = await session.run(query, params);
780
+ return {
781
+ count: this.toNumber((_a = result.records[0]) === null || _a === void 0 ? void 0 : _a.get('count')) || 0,
782
+ };
783
+ }
784
+ async countRelationships(types, where, transaction) {
785
+ var _a;
786
+ this.ensureConnected();
787
+ const typeClause = (types === null || types === void 0 ? void 0 : types.length) ? `:${types.join('|')}` : '';
788
+ let query = `MATCH ()-[r${typeClause}]->()`;
789
+ const params = {};
790
+ if (where) {
791
+ const { clause, params: whereParams } = this.buildWhereClause(where, 'r');
792
+ query += ` WHERE ${clause}`;
793
+ Object.assign(params, whereParams);
794
+ }
795
+ query += ' RETURN count(r) as count';
796
+ const session = this.getSession(transaction);
797
+ const result = await session.run(query, params);
798
+ return {
799
+ count: this.toNumber((_a = result.records[0]) === null || _a === void 0 ? void 0 : _a.get('count')) || 0,
800
+ };
801
+ }
802
+ async getStatistics(transaction) {
803
+ var _a, _b;
804
+ this.ensureConnected();
805
+ const session = this.getSession(transaction);
806
+ const nodeCountResult = await session.run('MATCH (n) RETURN count(n) as count');
807
+ const relCountResult = await session.run('MATCH ()-[r]->() RETURN count(r) as count');
808
+ return {
809
+ nodeCount: this.toNumber((_a = nodeCountResult.records[0]) === null || _a === void 0 ? void 0 : _a.get('count')) || 0,
810
+ relationshipCount: this.toNumber((_b = relCountResult.records[0]) === null || _b === void 0 ? void 0 : _b.get('count')) || 0,
811
+ };
812
+ }
813
+ // ==================== SEARCH OPERATIONS ====================
814
+ async fullTextSearch(options, transaction) {
815
+ this.ensureConnected();
816
+ // Memgraph supports text search through MAGE text_search module
817
+ // Use the index name to search
818
+ const query = `
819
+ CALL text_search.search($indexName, $searchQuery, $limit)
820
+ YIELD node, score
821
+ RETURN node, id(node) as nodeId, score
822
+ `;
823
+ const session = this.getSession(transaction);
824
+ const result = await session.run(query, {
825
+ indexName: options.indexName,
826
+ searchQuery: options.query,
827
+ limit: options.limit || 100,
828
+ });
829
+ const nodes = result.records.map((r) => this.mapMemgraphNode(r.get('node'), r.get('nodeId')));
830
+ const scores = result.records.map((r) => r.get('score') || 1.0);
831
+ return {
832
+ nodes,
833
+ scores,
834
+ };
835
+ }
836
+ async vectorSearch(_options, _transaction) {
837
+ // Memgraph doesn't natively support vector search yet
838
+ // This would require a custom implementation or external service
839
+ throw graph_error_1.GraphError.unsupportedOperationError('Vector search is not natively supported in Memgraph. Consider using an external vector database.', this.graphType);
840
+ }
841
+ // ==================== RAW QUERY ====================
842
+ async query(options, transaction) {
843
+ var _a, _b;
844
+ this.ensureConnected();
845
+ const session = this.getSession(transaction);
846
+ const result = await session.run(options.query, options.params || {});
847
+ return {
848
+ records: result.records.map((r) => r.toObject()),
849
+ summary: {
850
+ resultAvailableAfter: this.toNumber((_a = result.summary) === null || _a === void 0 ? void 0 : _a.resultAvailableAfter),
851
+ resultConsumedAfter: this.toNumber((_b = result.summary) === null || _b === void 0 ? void 0 : _b.resultConsumedAfter),
852
+ },
853
+ };
854
+ }
855
+ // ==================== SCHEMA OPERATIONS ====================
856
+ async createNodeIndex(options) {
857
+ this.ensureConnected();
858
+ // Memgraph uses CREATE INDEX ON :Label(property)
859
+ const query = `CREATE INDEX ON :${options.label}(${options.properties.join(', ')})`;
860
+ const session = this.getSession();
861
+ await session.run(query);
862
+ return { created: true, name: options.name };
863
+ }
864
+ async createNodeConstraint(options) {
865
+ this.ensureConnected();
866
+ let query;
867
+ const property = options.property || (options.properties && options.properties[0]);
868
+ switch (options.type) {
869
+ case 'UNIQUE':
870
+ // Memgraph uses CREATE CONSTRAINT ON (n:Label) ASSERT n.property IS UNIQUE
871
+ query = `CREATE CONSTRAINT ON (n:${options.label}) ASSERT n.${property} IS UNIQUE`;
872
+ break;
873
+ case 'EXISTS':
874
+ query = `CREATE CONSTRAINT ON (n:${options.label}) ASSERT EXISTS (n.${property})`;
875
+ break;
876
+ default:
877
+ throw graph_error_1.GraphError.validationError(`Unsupported constraint type: ${options.type}`);
878
+ }
879
+ const session = this.getSession();
880
+ await session.run(query);
881
+ return { created: true, name: options.name };
882
+ }
883
+ async createRelationshipIndex(options) {
884
+ this.ensureConnected();
885
+ // Memgraph relationship indexes
886
+ const query = `CREATE INDEX ON :${options.type}(${options.properties.join(', ')})`;
887
+ const session = this.getSession();
888
+ await session.run(query);
889
+ return { created: true, name: options.name };
890
+ }
891
+ async listIndexes() {
892
+ this.ensureConnected();
893
+ const query = 'SHOW INDEX INFO';
894
+ const session = this.getSession();
895
+ const result = await session.run(query);
896
+ const indexes = result.records.map((r) => ({
897
+ name: r.get('index name') || '',
898
+ labelOrType: r.get('label') || '',
899
+ properties: [r.get('property') || ''],
900
+ unique: false, // Memgraph doesn't distinguish in SHOW INDEX INFO
901
+ type: r.get('index type') || 'BTREE',
902
+ state: 'ONLINE',
903
+ }));
904
+ return { indexes };
905
+ }
906
+ async listConstraints() {
907
+ this.ensureConnected();
908
+ const query = 'SHOW CONSTRAINT INFO';
909
+ const session = this.getSession();
910
+ const result = await session.run(query);
911
+ const constraints = result.records.map((r) => ({
912
+ name: `constraint_${r.get('label')}_${r.get('property')}`,
913
+ label: r.get('label') || '',
914
+ property: r.get('property') || '',
915
+ type: r.get('constraint type') || 'UNIQUE',
916
+ }));
917
+ return { constraints };
918
+ }
919
+ async dropIndex(name) {
920
+ this.ensureConnected();
921
+ // In Memgraph, we need label and property to drop index
922
+ // This is a simplified version
923
+ const query = `DROP INDEX ON :${name}`;
924
+ const session = this.getSession();
925
+ try {
926
+ await session.run(query);
927
+ return { dropped: true };
928
+ }
929
+ catch (_a) {
930
+ return { dropped: false };
931
+ }
932
+ }
933
+ async dropConstraint(name) {
934
+ this.ensureConnected();
935
+ // Memgraph requires the full constraint definition to drop
936
+ // This is a simplified version that might need adjustment
937
+ const query = `DROP CONSTRAINT ON (n:${name}) ASSERT n.id IS UNIQUE`;
938
+ const session = this.getSession();
939
+ try {
940
+ await session.run(query);
941
+ return { dropped: true };
942
+ }
943
+ catch (_a) {
944
+ return { dropped: false };
945
+ }
946
+ }
947
+ // ==================== SCHEMA INTROSPECTION ====================
948
+ async listLabels() {
949
+ var _a, _b, _c, _d;
950
+ this.ensureConnected();
951
+ const session = this.getSession();
952
+ // Get all labels using Memgraph's CALL mg.labels()
953
+ const labelsResult = await session.run('CALL mg.labels() YIELD label RETURN label');
954
+ const labelNames = labelsResult.records.map((r) => r.get('label'));
955
+ const labels = [];
956
+ for (const labelName of labelNames) {
957
+ // Get count for each label
958
+ const countResult = await session.run(`MATCH (n:\`${labelName}\`) RETURN count(n) as count`);
959
+ const count = ((_c = (_b = (_a = countResult.records[0]) === null || _a === void 0 ? void 0 : _a.get('count')) === null || _b === void 0 ? void 0 : _b.toNumber) === null || _c === void 0 ? void 0 : _c.call(_b)) ||
960
+ ((_d = countResult.records[0]) === null || _d === void 0 ? void 0 : _d.get('count')) || 0;
961
+ // Get properties for a sample of nodes with this label
962
+ const propsResult = await session.run(`MATCH (n:\`${labelName}\`) WITH n LIMIT 100
963
+ UNWIND keys(n) as key
964
+ RETURN DISTINCT key`);
965
+ const properties = propsResult.records.map((r) => ({
966
+ name: r.get('key'),
967
+ type: 'unknown',
968
+ }));
969
+ labels.push({
970
+ name: labelName,
971
+ count: typeof count === 'number' ? count : Number(count),
972
+ properties,
973
+ });
974
+ }
975
+ return { labels };
976
+ }
977
+ async listRelationshipTypes() {
978
+ var _a, _b, _c, _d;
979
+ this.ensureConnected();
980
+ const session = this.getSession();
981
+ // Get all relationship types using Memgraph's CALL mg.relationship_types()
982
+ const typesResult = await session.run('CALL mg.relationship_types() YIELD relationshipType RETURN relationshipType');
983
+ const typeNames = typesResult.records.map((r) => r.get('relationshipType'));
984
+ const types = [];
985
+ for (const typeName of typeNames) {
986
+ // Get count for each type
987
+ const countResult = await session.run(`MATCH ()-[r:\`${typeName}\`]->() RETURN count(r) as count`);
988
+ const count = ((_c = (_b = (_a = countResult.records[0]) === null || _a === void 0 ? void 0 : _a.get('count')) === null || _b === void 0 ? void 0 : _b.toNumber) === null || _c === void 0 ? void 0 : _c.call(_b)) ||
989
+ ((_d = countResult.records[0]) === null || _d === void 0 ? void 0 : _d.get('count')) || 0;
990
+ // Get source and target label information
991
+ const endpointsResult = await session.run(`MATCH (a)-[r:\`${typeName}\`]->(b)
992
+ WITH labels(a) as fromLabels, labels(b) as toLabels
993
+ RETURN DISTINCT fromLabels[0] as fromLabel, toLabels[0] as toLabel
994
+ LIMIT 10`);
995
+ const fromLabelsArray = endpointsResult.records
996
+ .map((r) => r.get('fromLabel'))
997
+ .filter((l) => Boolean(l));
998
+ const fromLabels = [...new Set(fromLabelsArray)];
999
+ const toLabelsArray = endpointsResult.records
1000
+ .map((r) => r.get('toLabel'))
1001
+ .filter((l) => Boolean(l));
1002
+ const toLabels = [...new Set(toLabelsArray)];
1003
+ // Get properties for relationships of this type
1004
+ const propsResult = await session.run(`MATCH ()-[r:\`${typeName}\`]->() WITH r LIMIT 100
1005
+ UNWIND keys(r) as key
1006
+ RETURN DISTINCT key`);
1007
+ const properties = propsResult.records.map((r) => ({
1008
+ name: r.get('key'),
1009
+ type: 'unknown',
1010
+ }));
1011
+ types.push({
1012
+ type: typeName,
1013
+ count: typeof count === 'number' ? count : Number(count),
1014
+ fromLabels,
1015
+ toLabels,
1016
+ properties: properties.length > 0 ? properties : undefined,
1017
+ });
1018
+ }
1019
+ return { types };
1020
+ }
1021
+ // ==================== TRANSACTION OPERATIONS ====================
1022
+ async beginTransaction(_options) {
1023
+ this.ensureConnected();
1024
+ const session = this.driver.session();
1025
+ const tx = session.beginTransaction();
1026
+ return {
1027
+ id: `tx_${Date.now()}`,
1028
+ status: enums_1.GraphTransactionStatus.ACTIVE,
1029
+ client: tx,
1030
+ nativeTransaction: tx,
1031
+ startTime: new Date(),
1032
+ commit: async () => {
1033
+ await tx.commit();
1034
+ await session.close();
1035
+ },
1036
+ rollback: async () => {
1037
+ await tx.rollback();
1038
+ await session.close();
1039
+ },
1040
+ };
1041
+ }
1042
+ async commitTransaction(transaction) {
1043
+ if (transaction.commit) {
1044
+ await transaction.commit();
1045
+ }
1046
+ }
1047
+ async rollbackTransaction(transaction) {
1048
+ if (transaction.rollback) {
1049
+ await transaction.rollback();
1050
+ }
1051
+ }
1052
+ // ==================== MEMGRAPH-SPECIFIC FEATURES ====================
1053
+ /**
1054
+ * Create a trigger in Memgraph
1055
+ */
1056
+ async createTrigger(name, event, target, procedure) {
1057
+ this.ensureConnected();
1058
+ const eventClause = `${event === 'CREATE' ? 'CREATED' : event === 'UPDATE' ? 'UPDATED' : 'DELETED'}`;
1059
+ const targetClause = target === 'NODE' ? 'VERTEX' : 'EDGE';
1060
+ const query = `
1061
+ CREATE TRIGGER ${name}
1062
+ ON ${eventClause} ${targetClause}
1063
+ EXECUTE ${procedure}
1064
+ `;
1065
+ const session = this.getSession();
1066
+ await session.run(query);
1067
+ }
1068
+ /**
1069
+ * Drop a trigger in Memgraph
1070
+ */
1071
+ async dropTrigger(name) {
1072
+ this.ensureConnected();
1073
+ const query = `DROP TRIGGER ${name}`;
1074
+ const session = this.getSession();
1075
+ await session.run(query);
1076
+ }
1077
+ /**
1078
+ * List all triggers in Memgraph
1079
+ */
1080
+ async listTriggers() {
1081
+ this.ensureConnected();
1082
+ const query = 'SHOW TRIGGERS';
1083
+ const session = this.getSession();
1084
+ const result = await session.run(query);
1085
+ return result.records.map((r) => ({
1086
+ name: r.get('trigger name'),
1087
+ statement: r.get('statement'),
1088
+ }));
1089
+ }
1090
+ /**
1091
+ * Create a stream consumer in Memgraph
1092
+ */
1093
+ async createStream(name, type, topics, transformationProcedure, config) {
1094
+ this.ensureConnected();
1095
+ const configStr = Object.entries(config)
1096
+ .map(([k, v]) => `${k} = '${v}'`)
1097
+ .join(', ');
1098
+ const query = `
1099
+ CREATE ${type} STREAM ${name}
1100
+ TOPICS ${topics.join(', ')}
1101
+ TRANSFORM ${transformationProcedure}
1102
+ ${configStr ? `CONFIGS { ${configStr} }` : ''}
1103
+ `;
1104
+ const session = this.getSession();
1105
+ await session.run(query);
1106
+ }
1107
+ /**
1108
+ * Run a MAGE algorithm (if installed)
1109
+ */
1110
+ async runMageAlgorithm(algorithm, params = {}) {
1111
+ this.ensureConnected();
1112
+ const paramsList = Object.entries(params)
1113
+ .map(([k]) => `${k}: $${k}`)
1114
+ .join(', ');
1115
+ const query = `CALL ${algorithm}(${paramsList ? `{${paramsList}}` : ''}) YIELD *`;
1116
+ const session = this.getSession();
1117
+ const result = await session.run(query, params);
1118
+ return result.records.map((r) => r.toObject());
1119
+ }
1120
+ // ==================== UTILITY METHODS ====================
1121
+ buildWhereClause(where, alias = 'n') {
1122
+ const conditions = [];
1123
+ const params = {};
1124
+ let paramIndex = 0;
1125
+ const processCondition = (key, value, prefix = '') => {
1126
+ const fullKey = prefix ? `${prefix}_${key}` : key;
1127
+ const paramName = `param_${paramIndex++}`;
1128
+ // Normalize key to lowercase for comparison
1129
+ const normalizedKey = key.toLowerCase();
1130
+ if (normalizedKey === '$and') {
1131
+ const subConditions = [];
1132
+ if (Array.isArray(value)) {
1133
+ value.forEach((v) => {
1134
+ Object.entries(v).forEach(([k, val]) => {
1135
+ processCondition(k, val, fullKey);
1136
+ subConditions.push(conditions.pop());
1137
+ });
1138
+ });
1139
+ }
1140
+ else {
1141
+ Object.entries(value).forEach(([k, v]) => {
1142
+ processCondition(k, v, fullKey);
1143
+ subConditions.push(conditions.pop());
1144
+ });
1145
+ }
1146
+ conditions.push(`(${subConditions.join(' AND ')})`);
1147
+ return;
1148
+ }
1149
+ if (normalizedKey === '$or') {
1150
+ const subConditions = [];
1151
+ if (Array.isArray(value)) {
1152
+ value.forEach((v) => {
1153
+ Object.entries(v).forEach(([k, val]) => {
1154
+ processCondition(k, val, fullKey);
1155
+ subConditions.push(conditions.pop());
1156
+ });
1157
+ });
1158
+ }
1159
+ else {
1160
+ Object.entries(value).forEach(([k, v]) => {
1161
+ processCondition(k, v, fullKey);
1162
+ subConditions.push(conditions.pop());
1163
+ });
1164
+ }
1165
+ conditions.push(`(${subConditions.join(' OR ')})`);
1166
+ return;
1167
+ }
1168
+ if (typeof value === 'object' && value !== null && !Array.isArray(value)) {
1169
+ Object.entries(value).forEach(([op, opValue]) => {
1170
+ const normalizedOp = op.toLowerCase();
1171
+ const opParamName = `${paramName}_${normalizedOp}`;
1172
+ switch (normalizedOp) {
1173
+ case '$gt':
1174
+ conditions.push(`${alias}.${key} > $${opParamName}`);
1175
+ params[opParamName] = opValue;
1176
+ break;
1177
+ case '$gte':
1178
+ conditions.push(`${alias}.${key} >= $${opParamName}`);
1179
+ params[opParamName] = opValue;
1180
+ break;
1181
+ case '$lt':
1182
+ conditions.push(`${alias}.${key} < $${opParamName}`);
1183
+ params[opParamName] = opValue;
1184
+ break;
1185
+ case '$lte':
1186
+ conditions.push(`${alias}.${key} <= $${opParamName}`);
1187
+ params[opParamName] = opValue;
1188
+ break;
1189
+ case '$ne':
1190
+ conditions.push(`${alias}.${key} <> $${opParamName}`);
1191
+ params[opParamName] = opValue;
1192
+ break;
1193
+ case '$in':
1194
+ conditions.push(`${alias}.${key} IN $${opParamName}`);
1195
+ params[opParamName] = opValue;
1196
+ break;
1197
+ case '$nin':
1198
+ case '$not_in':
1199
+ conditions.push(`NOT ${alias}.${key} IN $${opParamName}`);
1200
+ params[opParamName] = opValue;
1201
+ break;
1202
+ case '$contains':
1203
+ conditions.push(`${alias}.${key} CONTAINS $${opParamName}`);
1204
+ params[opParamName] = opValue;
1205
+ break;
1206
+ case '$startswith':
1207
+ case '$starts_with':
1208
+ conditions.push(`${alias}.${key} STARTS WITH $${opParamName}`);
1209
+ params[opParamName] = opValue;
1210
+ break;
1211
+ case '$endswith':
1212
+ case '$ends_with':
1213
+ conditions.push(`${alias}.${key} ENDS WITH $${opParamName}`);
1214
+ params[opParamName] = opValue;
1215
+ break;
1216
+ case '$exists':
1217
+ if (opValue) {
1218
+ conditions.push(`${alias}.${key} IS NOT NULL`);
1219
+ }
1220
+ else {
1221
+ conditions.push(`${alias}.${key} IS NULL`);
1222
+ }
1223
+ break;
1224
+ case '$regex':
1225
+ conditions.push(`${alias}.${key} =~ $${opParamName}`);
1226
+ params[opParamName] = opValue;
1227
+ break;
1228
+ }
1229
+ });
1230
+ }
1231
+ else {
1232
+ conditions.push(`${alias}.${key} = $${paramName}`);
1233
+ params[paramName] = value;
1234
+ }
1235
+ };
1236
+ Object.entries(where).forEach(([key, value]) => {
1237
+ processCondition(key, value);
1238
+ });
1239
+ return {
1240
+ clause: conditions.join(' AND ') || 'true',
1241
+ params,
1242
+ };
1243
+ }
1244
+ parseError(error) {
1245
+ if (error instanceof graph_error_1.GraphError) {
1246
+ return error;
1247
+ }
1248
+ return graph_error_1.GraphError.queryError(String(error));
1249
+ }
1250
+ // ==================== PRIVATE HELPER METHODS ====================
1251
+ mapMemgraphNode(node, nodeId) {
1252
+ const id = nodeId !== undefined ? this.toNumber(nodeId) : this.toNumber(node.identity);
1253
+ return {
1254
+ id: String(id),
1255
+ labels: node.labels || [],
1256
+ properties: this.convertProperties(node.properties || {}),
1257
+ };
1258
+ }
1259
+ mapMemgraphRelationship(rel, relId, startId, endId) {
1260
+ const id = relId !== undefined ? this.toNumber(relId) : this.toNumber(rel.identity);
1261
+ const start = startId !== undefined ? this.toNumber(startId) : this.toNumber(rel.start);
1262
+ const end = endId !== undefined ? this.toNumber(endId) : this.toNumber(rel.end);
1263
+ return {
1264
+ id: String(id),
1265
+ type: rel.type,
1266
+ startNodeId: String(start),
1267
+ endNodeId: String(end),
1268
+ properties: this.convertProperties(rel.properties || {}),
1269
+ };
1270
+ }
1271
+ mapMemgraphPath(path) {
1272
+ const nodes = [];
1273
+ const relationships = [];
1274
+ if (path.segments) {
1275
+ path.segments.forEach((segment, index) => {
1276
+ if (index === 0) {
1277
+ nodes.push(this.mapMemgraphNode(segment.start, segment.start.identity));
1278
+ }
1279
+ nodes.push(this.mapMemgraphNode(segment.end, segment.end.identity));
1280
+ relationships.push(this.mapMemgraphRelationship(segment.relationship, segment.relationship.identity, segment.start.identity, segment.end.identity));
1281
+ });
1282
+ }
1283
+ return {
1284
+ nodes,
1285
+ relationships,
1286
+ length: relationships.length,
1287
+ };
1288
+ }
1289
+ convertProperties(props) {
1290
+ const result = {};
1291
+ for (const [key, value] of Object.entries(props)) {
1292
+ result[key] = this.convertValue(value);
1293
+ }
1294
+ return result;
1295
+ }
1296
+ convertValue(value) {
1297
+ var _a, _b, _c;
1298
+ if (value === null || value === undefined) {
1299
+ return value;
1300
+ }
1301
+ // Handle Integer type (from neo4j-driver)
1302
+ if (typeof value === 'object' && ((_a = value.constructor) === null || _a === void 0 ? void 0 : _a.name) === 'Integer') {
1303
+ return this.toNumber(value);
1304
+ }
1305
+ // Handle Date types
1306
+ if (typeof value === 'object' && (((_b = value.constructor) === null || _b === void 0 ? void 0 : _b.name) === 'Date' || ((_c = value.constructor) === null || _c === void 0 ? void 0 : _c.name) === 'DateTime')) {
1307
+ return new Date(value.toString());
1308
+ }
1309
+ if (Array.isArray(value)) {
1310
+ return value.map(v => this.convertValue(v));
1311
+ }
1312
+ return value;
1313
+ }
1314
+ toNumber(value) {
1315
+ if (value === null || value === undefined) {
1316
+ return 0;
1317
+ }
1318
+ if (typeof value === 'number') {
1319
+ return value;
1320
+ }
1321
+ if (typeof value === 'object' && typeof value.toNumber === 'function') {
1322
+ return value.toNumber();
1323
+ }
1324
+ if (typeof value === 'object' && typeof value.toInt === 'function') {
1325
+ return value.toInt();
1326
+ }
1327
+ return parseInt(String(value), 10) || 0;
1328
+ }
1329
+ getDirectionArrow(direction) {
1330
+ switch (direction) {
1331
+ case enums_1.TraversalDirection.OUTGOING:
1332
+ case 'OUTGOING':
1333
+ return { left: '-', right: '->' };
1334
+ case enums_1.TraversalDirection.INCOMING:
1335
+ case 'INCOMING':
1336
+ return { left: '<-', right: '-' };
1337
+ case enums_1.TraversalDirection.BOTH:
1338
+ case 'BOTH':
1339
+ default:
1340
+ return { left: '-', right: '-' };
1341
+ }
1342
+ }
1343
+ }
1344
+ exports.MemgraphAdapter = MemgraphAdapter;
1345
+ //# sourceMappingURL=memgraph.adapter.js.map