@ductape/sdk 0.0.4-v6 → 0.0.4-v60

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 +3239 -285
  343. package/dist/index.js +4705 -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,1313 @@
1
+ "use strict";
2
+ /**
3
+ * Amazon Neptune Graph Database Adapter
4
+ *
5
+ * Implements the BaseGraphAdapter for Amazon Neptune using Gremlin.
6
+ * Neptune is a fully managed graph database service that supports
7
+ * both property graph (Gremlin) and RDF (SPARQL) query languages.
8
+ *
9
+ * Key features:
10
+ * - Apache TinkerPop Gremlin support
11
+ * - WebSocket connection support
12
+ * - IAM authentication support
13
+ * - High availability and replication
14
+ */
15
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
16
+ if (k2 === undefined) k2 = k;
17
+ var desc = Object.getOwnPropertyDescriptor(m, k);
18
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
19
+ desc = { enumerable: true, get: function() { return m[k]; } };
20
+ }
21
+ Object.defineProperty(o, k2, desc);
22
+ }) : (function(o, m, k, k2) {
23
+ if (k2 === undefined) k2 = k;
24
+ o[k2] = m[k];
25
+ }));
26
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
27
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
28
+ }) : function(o, v) {
29
+ o["default"] = v;
30
+ });
31
+ var __importStar = (this && this.__importStar) || (function () {
32
+ var ownKeys = function(o) {
33
+ ownKeys = Object.getOwnPropertyNames || function (o) {
34
+ var ar = [];
35
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
36
+ return ar;
37
+ };
38
+ return ownKeys(o);
39
+ };
40
+ return function (mod) {
41
+ if (mod && mod.__esModule) return mod;
42
+ var result = {};
43
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
44
+ __setModuleDefault(result, mod);
45
+ return result;
46
+ };
47
+ })();
48
+ Object.defineProperty(exports, "__esModule", { value: true });
49
+ exports.NeptuneAdapter = void 0;
50
+ const base_adapter_1 = require("./base.adapter");
51
+ const enums_1 = require("../types/enums");
52
+ const graph_error_1 = require("../utils/graph-error");
53
+ /**
54
+ * Neptune adapter using Gremlin
55
+ * Uses the gremlin package for TinkerPop connectivity
56
+ */
57
+ class NeptuneAdapter extends base_adapter_1.BaseGraphAdapter {
58
+ constructor() {
59
+ super(...arguments);
60
+ this.graphType = enums_1.GraphType.NEPTUNE;
61
+ this.supportedFeatures = new Set([
62
+ enums_1.GraphFeature.SCHEMA_INDEXES,
63
+ enums_1.GraphFeature.GRAPH_ALGORITHMS,
64
+ ]);
65
+ this.connection = null;
66
+ this.g = null; // Gremlin graph traversal source
67
+ this.gremlin = null;
68
+ }
69
+ // ==================== CONNECTION MANAGEMENT ====================
70
+ async connect(options) {
71
+ try {
72
+ // Dynamic import of gremlin package
73
+ this.gremlin = await Promise.resolve().then(() => __importStar(require('gremlin')));
74
+ const { DriverRemoteConnection } = this.gremlin.driver;
75
+ // Neptune WebSocket connection URL
76
+ const wsUrl = options.connectionUrl.replace(/^https?:\/\//, 'wss://').replace(/\/?$/, '/gremlin');
77
+ // Connection options for Neptune
78
+ const connectionOptions = {
79
+ mimeType: 'application/vnd.gremlin-v2.0+json',
80
+ pingEnabled: true,
81
+ pingInterval: 30000,
82
+ };
83
+ // Add authentication if provided
84
+ if (options.auth) {
85
+ // For IAM auth, you'd typically use AWS4 signing
86
+ // This is a simplified version - production would need proper IAM signing
87
+ connectionOptions.headers = {
88
+ Authorization: `Basic ${Buffer.from(`${options.auth.username}:${options.auth.password}`).toString('base64')}`,
89
+ };
90
+ }
91
+ this.connection = new DriverRemoteConnection(wsUrl, connectionOptions);
92
+ // Create graph traversal source
93
+ const { Graph } = this.gremlin.structure;
94
+ const graph = new Graph();
95
+ this.g = graph.traversal().withRemote(this.connection);
96
+ // Test the connection
97
+ await this.g.V().limit(1).toList();
98
+ this.connected = true;
99
+ this.connectionUrl = options.connectionUrl;
100
+ return {
101
+ connected: true,
102
+ type: enums_1.GraphType.NEPTUNE,
103
+ latency: 0,
104
+ };
105
+ }
106
+ catch (error) {
107
+ this.connected = false;
108
+ throw graph_error_1.GraphError.connectionError(`Failed to connect to Neptune: ${error.message}`, error);
109
+ }
110
+ }
111
+ async testConnection(options) {
112
+ try {
113
+ const gremlin = await Promise.resolve().then(() => __importStar(require('gremlin')));
114
+ const { DriverRemoteConnection } = gremlin.driver;
115
+ const startTime = Date.now();
116
+ const wsUrl = options.connectionUrl.replace(/^https?:\/\//, 'wss://').replace(/\/?$/, '/gremlin');
117
+ const testConnection = new DriverRemoteConnection(wsUrl, {
118
+ mimeType: 'application/vnd.gremlin-v2.0+json',
119
+ });
120
+ const { Graph } = gremlin.structure;
121
+ const graph = new Graph();
122
+ const testG = graph.traversal().withRemote(testConnection);
123
+ // Test query
124
+ await testG.V().limit(1).toList();
125
+ await testConnection.close();
126
+ return {
127
+ connected: true,
128
+ type: enums_1.GraphType.NEPTUNE,
129
+ version: 'Neptune',
130
+ latency: Date.now() - startTime,
131
+ };
132
+ }
133
+ catch (error) {
134
+ return {
135
+ connected: false,
136
+ type: enums_1.GraphType.NEPTUNE,
137
+ error: error.message,
138
+ };
139
+ }
140
+ }
141
+ async disconnect() {
142
+ if (this.connection) {
143
+ await this.connection.close();
144
+ this.connection = null;
145
+ this.g = null;
146
+ }
147
+ this.connected = false;
148
+ }
149
+ ensureTraversal() {
150
+ this.ensureConnected();
151
+ if (!this.g) {
152
+ throw new Error('Graph traversal source not initialized');
153
+ }
154
+ return this.g;
155
+ }
156
+ // ==================== NODE OPERATIONS ====================
157
+ async createNode(options, _transaction) {
158
+ const g = this.ensureTraversal();
159
+ const { t } = this.gremlin.process;
160
+ // Start with addV for the first label
161
+ let traversal = g.addV(options.labels[0]);
162
+ // Add additional labels
163
+ for (let i = 1; i < options.labels.length; i++) {
164
+ traversal = traversal.property(t.label, options.labels[i]);
165
+ }
166
+ // Add properties
167
+ if (options.properties) {
168
+ for (const [key, value] of Object.entries(options.properties)) {
169
+ if (value !== undefined && value !== null) {
170
+ traversal = traversal.property(key, value);
171
+ }
172
+ }
173
+ }
174
+ const result = await traversal.next();
175
+ const vertex = result.value;
176
+ // Fetch the complete vertex with properties
177
+ const fullVertex = await g.V(vertex.id).valueMap(true).next();
178
+ return {
179
+ node: this.mapGremlinVertex(vertex.id, fullVertex.value),
180
+ created: true,
181
+ };
182
+ }
183
+ async findNodes(options, _transaction) {
184
+ var _a, _b;
185
+ const g = this.ensureTraversal();
186
+ let traversal = g.V();
187
+ // Filter by labels
188
+ if ((_a = options.labels) === null || _a === void 0 ? void 0 : _a.length) {
189
+ traversal = traversal.hasLabel(...options.labels);
190
+ }
191
+ // Apply where conditions
192
+ if (options.where) {
193
+ traversal = this.applyWhereConditions(traversal, options.where);
194
+ }
195
+ // Apply ordering
196
+ if ((_b = options.orderBy) === null || _b === void 0 ? void 0 : _b.length) {
197
+ const { order } = this.gremlin.process;
198
+ for (const orderSpec of options.orderBy) {
199
+ const orderDir = orderSpec.direction.toUpperCase() === 'DESC' ? order.desc : order.asc;
200
+ traversal = traversal.order().by(orderSpec.property, orderDir);
201
+ }
202
+ }
203
+ // Apply pagination
204
+ if (options.skip) {
205
+ traversal = traversal.skip(options.skip);
206
+ }
207
+ if (options.limit) {
208
+ traversal = traversal.limit(options.limit);
209
+ }
210
+ // Get vertices with properties
211
+ const results = await traversal.valueMap(true).toList();
212
+ const nodes = results.map((v) => this.mapGremlinVertexFromValueMap(v));
213
+ return {
214
+ nodes,
215
+ count: nodes.length,
216
+ };
217
+ }
218
+ async findNodeById(id, _transaction) {
219
+ const g = this.ensureTraversal();
220
+ const results = await g.V(id).valueMap(true).toList();
221
+ if (results.length === 0) {
222
+ return null;
223
+ }
224
+ return this.mapGremlinVertexFromValueMap(results[0]);
225
+ }
226
+ async updateNode(options, _transaction) {
227
+ var _a;
228
+ const g = this.ensureTraversal();
229
+ let traversal;
230
+ if (options.id) {
231
+ traversal = g.V(options.id);
232
+ }
233
+ else {
234
+ traversal = g.V();
235
+ if ((_a = options.labels) === null || _a === void 0 ? void 0 : _a.length) {
236
+ traversal = traversal.hasLabel(...options.labels);
237
+ }
238
+ if (options.where) {
239
+ traversal = this.applyWhereConditions(traversal, options.where);
240
+ }
241
+ }
242
+ // Update properties
243
+ if (options.properties) {
244
+ for (const [key, value] of Object.entries(options.properties)) {
245
+ if (value !== undefined && value !== null) {
246
+ traversal = traversal.property(this.gremlin.process.cardinality.single, key, value);
247
+ }
248
+ }
249
+ }
250
+ const results = await traversal.valueMap(true).toList();
251
+ const nodes = results.map((v) => this.mapGremlinVertexFromValueMap(v));
252
+ return {
253
+ node: nodes.length === 1 ? nodes[0] : undefined,
254
+ nodes: nodes.length > 1 ? nodes : undefined,
255
+ updatedCount: nodes.length,
256
+ updated: nodes.length > 0,
257
+ };
258
+ }
259
+ async deleteNode(options, _transaction) {
260
+ var _a, _b;
261
+ const g = this.ensureTraversal();
262
+ let traversal;
263
+ if (options.id) {
264
+ traversal = g.V(options.id);
265
+ }
266
+ else {
267
+ traversal = g.V();
268
+ if ((_a = options.labels) === null || _a === void 0 ? void 0 : _a.length) {
269
+ traversal = traversal.hasLabel(...options.labels);
270
+ }
271
+ if (options.where) {
272
+ traversal = this.applyWhereConditions(traversal, options.where);
273
+ }
274
+ }
275
+ // Count before delete
276
+ const countResult = await traversal.count().next();
277
+ const count = countResult.value;
278
+ // In Gremlin, drop() removes the vertex and all connected edges
279
+ if (options.id) {
280
+ await g.V(options.id).drop().iterate();
281
+ }
282
+ else {
283
+ let dropTraversal = g.V();
284
+ if ((_b = options.labels) === null || _b === void 0 ? void 0 : _b.length) {
285
+ dropTraversal = dropTraversal.hasLabel(...options.labels);
286
+ }
287
+ if (options.where) {
288
+ dropTraversal = this.applyWhereConditions(dropTraversal, options.where);
289
+ }
290
+ await dropTraversal.drop().iterate();
291
+ }
292
+ return {
293
+ deleted: count > 0,
294
+ deletedCount: count,
295
+ };
296
+ }
297
+ async mergeNode(options, _transaction) {
298
+ const g = this.ensureTraversal();
299
+ // Check if node exists
300
+ let matchTraversal = g.V().hasLabel(options.labels[0]);
301
+ for (const [key, value] of Object.entries(options.matchProperties)) {
302
+ matchTraversal = matchTraversal.has(key, value);
303
+ }
304
+ const existing = await matchTraversal.toList();
305
+ if (existing.length > 0) {
306
+ // Update existing node
307
+ let updateTraversal = g.V(existing[0].id);
308
+ if (options.onMatch) {
309
+ for (const [key, value] of Object.entries(options.onMatch)) {
310
+ if (value !== undefined && value !== null) {
311
+ updateTraversal = updateTraversal.property(this.gremlin.process.cardinality.single, key, value);
312
+ }
313
+ }
314
+ }
315
+ const updated = await updateTraversal.valueMap(true).next();
316
+ return {
317
+ node: this.mapGremlinVertexFromValueMap(updated.value),
318
+ created: false,
319
+ merged: true,
320
+ };
321
+ }
322
+ else {
323
+ // Create new node
324
+ let createTraversal = g.addV(options.labels[0]);
325
+ // Add match properties
326
+ for (const [key, value] of Object.entries(options.matchProperties)) {
327
+ if (value !== undefined && value !== null) {
328
+ createTraversal = createTraversal.property(key, value);
329
+ }
330
+ }
331
+ // Add onCreate properties
332
+ if (options.onCreate) {
333
+ for (const [key, value] of Object.entries(options.onCreate)) {
334
+ if (value !== undefined && value !== null) {
335
+ createTraversal = createTraversal.property(key, value);
336
+ }
337
+ }
338
+ }
339
+ const created = await createTraversal.next();
340
+ const fullVertex = await g.V(created.value.id).valueMap(true).next();
341
+ return {
342
+ node: this.mapGremlinVertexFromValueMap(fullVertex.value),
343
+ created: true,
344
+ merged: true,
345
+ };
346
+ }
347
+ }
348
+ // ==================== LABEL MANAGEMENT ====================
349
+ async addLabels(options, _transaction) {
350
+ const g = this.ensureTraversal();
351
+ // In Gremlin/Neptune, vertices have a single label
352
+ // We can add additional labels by adding them as properties or using multi-labels if supported
353
+ // Neptune supports multi-labels via the ::label property pattern
354
+ // For now, we'll treat it as a limitation - Neptune vertices typically have a single label
355
+ // Get the vertex first
356
+ const vertex = await g.V(options.id).next();
357
+ if (!vertex.value) {
358
+ throw graph_error_1.GraphError.notFoundError(`Node with ID ${options.id} not found`);
359
+ }
360
+ // Neptune doesn't natively support adding labels to existing vertices
361
+ // This is a limitation of the Gremlin model
362
+ // We store additional labels as a property
363
+ const existingLabelsResult = await g.V(options.id).values('_additionalLabels').toList();
364
+ const existingLabels = existingLabelsResult.length > 0
365
+ ? JSON.parse(existingLabelsResult[0])
366
+ : [];
367
+ const newLabels = [...new Set([...existingLabels, ...options.labels])];
368
+ await g.V(options.id)
369
+ .property('_additionalLabels', JSON.stringify(newLabels))
370
+ .next();
371
+ const fullVertex = await g.V(options.id).valueMap(true).next();
372
+ const node = this.mapGremlinVertexFromValueMap(fullVertex.value);
373
+ // Add the additional labels to the node's labels array
374
+ node.labels = [...new Set([...node.labels, ...options.labels])];
375
+ return {
376
+ node,
377
+ addedLabels: options.labels,
378
+ };
379
+ }
380
+ async removeLabels(options, _transaction) {
381
+ const g = this.ensureTraversal();
382
+ // Get the vertex first
383
+ const vertex = await g.V(options.id).next();
384
+ if (!vertex.value) {
385
+ throw graph_error_1.GraphError.notFoundError(`Node with ID ${options.id} not found`);
386
+ }
387
+ // Get existing additional labels
388
+ const existingLabelsResult = await g.V(options.id).values('_additionalLabels').toList();
389
+ const existingLabels = existingLabelsResult.length > 0
390
+ ? JSON.parse(existingLabelsResult[0])
391
+ : [];
392
+ // Remove the specified labels
393
+ const newLabels = existingLabels.filter(l => !options.labels.includes(l));
394
+ await g.V(options.id)
395
+ .property('_additionalLabels', JSON.stringify(newLabels))
396
+ .next();
397
+ const fullVertex = await g.V(options.id).valueMap(true).next();
398
+ const node = this.mapGremlinVertexFromValueMap(fullVertex.value);
399
+ return {
400
+ node,
401
+ removedLabels: options.labels,
402
+ };
403
+ }
404
+ async setLabels(options, _transaction) {
405
+ const g = this.ensureTraversal();
406
+ // Get the vertex first
407
+ const vertex = await g.V(options.id).next();
408
+ if (!vertex.value) {
409
+ throw graph_error_1.GraphError.notFoundError(`Node with ID ${options.id} not found`);
410
+ }
411
+ // Get current labels (primary label + additional)
412
+ const primaryLabel = await g.V(options.id).label().next();
413
+ const existingLabelsResult = await g.V(options.id).values('_additionalLabels').toList();
414
+ const additionalLabels = existingLabelsResult.length > 0
415
+ ? JSON.parse(existingLabelsResult[0])
416
+ : [];
417
+ const previousLabels = [primaryLabel.value, ...additionalLabels];
418
+ // In Neptune, we can't change the primary label, so we store all labels as additional
419
+ // Filter out the primary label from the new labels
420
+ const newAdditionalLabels = options.labels.filter(l => l !== primaryLabel.value);
421
+ await g.V(options.id)
422
+ .property('_additionalLabels', JSON.stringify(newAdditionalLabels))
423
+ .next();
424
+ const fullVertex = await g.V(options.id).valueMap(true).next();
425
+ const node = this.mapGremlinVertexFromValueMap(fullVertex.value);
426
+ node.labels = [primaryLabel.value, ...newAdditionalLabels];
427
+ return {
428
+ node,
429
+ previousLabels,
430
+ newLabels: options.labels,
431
+ };
432
+ }
433
+ // ==================== RELATIONSHIP OPERATIONS ====================
434
+ async createRelationship(options, _transaction) {
435
+ const g = this.ensureTraversal();
436
+ const { __ } = this.gremlin.process;
437
+ let traversal = g.V(options.startNodeId)
438
+ .addE(options.type)
439
+ .to(__.V(options.endNodeId));
440
+ // Add properties
441
+ if (options.properties) {
442
+ for (const [key, value] of Object.entries(options.properties)) {
443
+ if (value !== undefined && value !== null) {
444
+ traversal = traversal.property(key, value);
445
+ }
446
+ }
447
+ }
448
+ const result = await traversal.next();
449
+ const edge = result.value;
450
+ // Fetch full edge with properties
451
+ const fullEdge = await g.E(edge.id).valueMap(true).next();
452
+ return {
453
+ relationship: this.mapGremlinEdge(edge, fullEdge.value, options.startNodeId, options.endNodeId),
454
+ created: true,
455
+ };
456
+ }
457
+ async findRelationships(options, _transaction) {
458
+ const g = this.ensureTraversal();
459
+ const { __ } = this.gremlin.process;
460
+ let traversal;
461
+ if (options.startNodeId) {
462
+ traversal = g.V(options.startNodeId).outE();
463
+ }
464
+ else if (options.endNodeId) {
465
+ traversal = g.V(options.endNodeId).inE();
466
+ }
467
+ else {
468
+ traversal = g.E();
469
+ }
470
+ // Filter by type
471
+ const types = options.type
472
+ ? (Array.isArray(options.type) ? options.type : [options.type])
473
+ : (options.types || []);
474
+ if (types.length > 0) {
475
+ traversal = traversal.hasLabel(...types);
476
+ }
477
+ // Apply where conditions
478
+ if (options.where) {
479
+ traversal = this.applyWhereConditions(traversal, options.where);
480
+ }
481
+ // Apply endpoint filtering if both are specified
482
+ if (options.startNodeId && options.endNodeId) {
483
+ traversal = traversal.where(__.inV().hasId(options.endNodeId));
484
+ }
485
+ // Apply pagination
486
+ if (options.skip) {
487
+ traversal = traversal.skip(options.skip);
488
+ }
489
+ if (options.limit) {
490
+ traversal = traversal.limit(options.limit);
491
+ }
492
+ // Get edges with in/out vertices
493
+ const results = await traversal.project('edge', 'outV', 'inV')
494
+ .by(__.valueMap(true))
495
+ .by(__.outV().id())
496
+ .by(__.inV().id())
497
+ .toList();
498
+ const relationships = results.map((r) => this.mapGremlinEdgeFromProject(r));
499
+ return {
500
+ relationships,
501
+ count: relationships.length,
502
+ };
503
+ }
504
+ async findRelationshipById(id, _transaction) {
505
+ const g = this.ensureTraversal();
506
+ const { __ } = this.gremlin.process;
507
+ const results = await g.E(id)
508
+ .project('edge', 'outV', 'inV')
509
+ .by(__.valueMap(true))
510
+ .by(__.outV().id())
511
+ .by(__.inV().id())
512
+ .toList();
513
+ if (results.length === 0) {
514
+ return null;
515
+ }
516
+ return this.mapGremlinEdgeFromProject(results[0]);
517
+ }
518
+ async updateRelationship(options, _transaction) {
519
+ const g = this.ensureTraversal();
520
+ const { __ } = this.gremlin.process;
521
+ let traversal;
522
+ if (options.id) {
523
+ traversal = g.E(options.id);
524
+ }
525
+ else {
526
+ traversal = g.E();
527
+ if (options.type) {
528
+ traversal = traversal.hasLabel(options.type);
529
+ }
530
+ if (options.where) {
531
+ traversal = this.applyWhereConditions(traversal, options.where);
532
+ }
533
+ }
534
+ // Update properties
535
+ if (options.properties) {
536
+ for (const [key, value] of Object.entries(options.properties)) {
537
+ if (value !== undefined && value !== null) {
538
+ traversal = traversal.property(key, value);
539
+ }
540
+ }
541
+ }
542
+ // Get updated edges
543
+ const results = await traversal.project('edge', 'outV', 'inV')
544
+ .by(__.valueMap(true))
545
+ .by(__.outV().id())
546
+ .by(__.inV().id())
547
+ .toList();
548
+ const relationships = results.map((r) => this.mapGremlinEdgeFromProject(r));
549
+ return {
550
+ relationship: relationships.length === 1 ? relationships[0] : undefined,
551
+ relationships: relationships.length > 1 ? relationships : undefined,
552
+ updatedCount: relationships.length,
553
+ updated: relationships.length > 0,
554
+ };
555
+ }
556
+ async deleteRelationship(options, _transaction) {
557
+ const g = this.ensureTraversal();
558
+ let traversal;
559
+ if (options.id) {
560
+ traversal = g.E(options.id);
561
+ }
562
+ else {
563
+ if (options.startNodeId && options.endNodeId && options.type) {
564
+ traversal = g.V(options.startNodeId).outE(options.type).where(this.gremlin.process.__.inV().hasId(options.endNodeId));
565
+ }
566
+ else {
567
+ traversal = g.E();
568
+ if (options.type) {
569
+ traversal = traversal.hasLabel(options.type);
570
+ }
571
+ if (options.where) {
572
+ traversal = this.applyWhereConditions(traversal, options.where);
573
+ }
574
+ }
575
+ }
576
+ // Count before delete
577
+ let countTraversal;
578
+ if (options.id) {
579
+ countTraversal = g.E(options.id);
580
+ }
581
+ else if (options.startNodeId && options.endNodeId && options.type) {
582
+ countTraversal = g.V(options.startNodeId).outE(options.type).where(this.gremlin.process.__.inV().hasId(options.endNodeId));
583
+ }
584
+ else {
585
+ countTraversal = g.E();
586
+ if (options.type) {
587
+ countTraversal = countTraversal.hasLabel(options.type);
588
+ }
589
+ }
590
+ const countResult = await countTraversal.count().next();
591
+ const count = countResult.value;
592
+ // Delete
593
+ await traversal.drop().iterate();
594
+ return {
595
+ deleted: count > 0,
596
+ deletedCount: count,
597
+ };
598
+ }
599
+ async mergeRelationship(options, _transaction) {
600
+ const g = this.ensureTraversal();
601
+ const { __ } = this.gremlin.process;
602
+ // Check if relationship exists
603
+ let matchTraversal = g.V(options.startNodeId).outE(options.type).where(__.inV().hasId(options.endNodeId));
604
+ if (options.matchProperties) {
605
+ for (const [key, value] of Object.entries(options.matchProperties)) {
606
+ matchTraversal = matchTraversal.has(key, value);
607
+ }
608
+ }
609
+ const existing = await matchTraversal.toList();
610
+ if (existing.length > 0) {
611
+ // Update existing relationship
612
+ let updateTraversal = g.E(existing[0].id);
613
+ if (options.onMatch) {
614
+ for (const [key, value] of Object.entries(options.onMatch)) {
615
+ if (value !== undefined && value !== null) {
616
+ updateTraversal = updateTraversal.property(key, value);
617
+ }
618
+ }
619
+ }
620
+ const updated = await updateTraversal.project('edge', 'outV', 'inV')
621
+ .by(__.valueMap(true))
622
+ .by(__.outV().id())
623
+ .by(__.inV().id())
624
+ .next();
625
+ return {
626
+ relationship: this.mapGremlinEdgeFromProject(updated.value),
627
+ created: false,
628
+ merged: true,
629
+ };
630
+ }
631
+ else {
632
+ // Create new relationship
633
+ let createTraversal = g.V(options.startNodeId)
634
+ .addE(options.type)
635
+ .to(__.V(options.endNodeId));
636
+ // Add match properties
637
+ if (options.matchProperties) {
638
+ for (const [key, value] of Object.entries(options.matchProperties)) {
639
+ if (value !== undefined && value !== null) {
640
+ createTraversal = createTraversal.property(key, value);
641
+ }
642
+ }
643
+ }
644
+ // Add onCreate properties
645
+ if (options.onCreate) {
646
+ for (const [key, value] of Object.entries(options.onCreate)) {
647
+ if (value !== undefined && value !== null) {
648
+ createTraversal = createTraversal.property(key, value);
649
+ }
650
+ }
651
+ }
652
+ const created = await createTraversal.next();
653
+ const fullEdge = await g.E(created.value.id).project('edge', 'outV', 'inV')
654
+ .by(__.valueMap(true))
655
+ .by(__.outV().id())
656
+ .by(__.inV().id())
657
+ .next();
658
+ return {
659
+ relationship: this.mapGremlinEdgeFromProject(fullEdge.value),
660
+ created: true,
661
+ merged: true,
662
+ };
663
+ }
664
+ }
665
+ // ==================== TRAVERSAL OPERATIONS ====================
666
+ async traverse(options, _transaction) {
667
+ var _a;
668
+ const g = this.ensureTraversal();
669
+ const { __ } = this.gremlin.process;
670
+ const maxDepth = options.maxDepth || 3;
671
+ // Build direction
672
+ let edgeDirection;
673
+ switch (options.direction) {
674
+ case enums_1.TraversalDirection.INCOMING:
675
+ case 'INCOMING':
676
+ edgeDirection = 'in';
677
+ break;
678
+ case enums_1.TraversalDirection.OUTGOING:
679
+ case 'OUTGOING':
680
+ edgeDirection = 'out';
681
+ break;
682
+ default:
683
+ edgeDirection = 'both';
684
+ }
685
+ // Build traversal
686
+ let traversal = g.V(options.startNodeId);
687
+ // Use repeat for variable-length traversal
688
+ const repeatStep = edgeDirection === 'out' ? __.out() :
689
+ edgeDirection === 'in' ? __.in_() :
690
+ __.both();
691
+ if ((_a = options.relationshipTypes) === null || _a === void 0 ? void 0 : _a.length) {
692
+ traversal = traversal.repeat(edgeDirection === 'out' ? __.out(...options.relationshipTypes) :
693
+ edgeDirection === 'in' ? __.in_(...options.relationshipTypes) :
694
+ __.both(...options.relationshipTypes)).times(maxDepth).emit();
695
+ }
696
+ else {
697
+ traversal = traversal.repeat(repeatStep).times(maxDepth).emit();
698
+ }
699
+ if (options.limit) {
700
+ traversal = traversal.limit(options.limit);
701
+ }
702
+ // Get paths
703
+ const results = await traversal.path().by(__.valueMap(true)).toList();
704
+ const paths = [];
705
+ const nodesMap = new Map();
706
+ const relsMap = new Map();
707
+ for (const pathResult of results) {
708
+ const pathNodes = [];
709
+ const pathRels = [];
710
+ if (pathResult.objects) {
711
+ for (const obj of pathResult.objects) {
712
+ if (obj.id) {
713
+ const node = this.mapGremlinVertexFromValueMap(obj);
714
+ pathNodes.push(node);
715
+ nodesMap.set(String(node.id), node);
716
+ }
717
+ }
718
+ }
719
+ if (pathNodes.length > 0) {
720
+ paths.push({
721
+ nodes: pathNodes,
722
+ relationships: pathRels,
723
+ length: pathNodes.length - 1,
724
+ });
725
+ }
726
+ }
727
+ return {
728
+ paths,
729
+ nodes: Array.from(nodesMap.values()),
730
+ relationships: Array.from(relsMap.values()),
731
+ count: paths.length,
732
+ };
733
+ }
734
+ async shortestPath(options, _transaction) {
735
+ var _a;
736
+ const g = this.ensureTraversal();
737
+ const { __ } = this.gremlin.process;
738
+ // Build shortest path query
739
+ let traversal = g.V(options.startNodeId);
740
+ if ((_a = options.relationshipTypes) === null || _a === void 0 ? void 0 : _a.length) {
741
+ traversal = traversal.repeat(__.both(...options.relationshipTypes).simplePath())
742
+ .until(__.hasId(options.endNodeId))
743
+ .limit(1)
744
+ .path();
745
+ }
746
+ else {
747
+ traversal = traversal.repeat(__.both().simplePath())
748
+ .until(__.hasId(options.endNodeId))
749
+ .limit(1)
750
+ .path();
751
+ }
752
+ const results = await traversal.by(__.valueMap(true)).toList();
753
+ if (results.length === 0) {
754
+ return { path: null, found: false };
755
+ }
756
+ const pathResult = results[0];
757
+ const pathNodes = [];
758
+ if (pathResult.objects) {
759
+ for (const obj of pathResult.objects) {
760
+ if (obj.id) {
761
+ pathNodes.push(this.mapGremlinVertexFromValueMap(obj));
762
+ }
763
+ }
764
+ }
765
+ const path = {
766
+ nodes: pathNodes,
767
+ relationships: [],
768
+ length: pathNodes.length - 1,
769
+ };
770
+ return {
771
+ path,
772
+ length: path.length,
773
+ found: true,
774
+ };
775
+ }
776
+ async allPaths(options, _transaction) {
777
+ var _a;
778
+ const g = this.ensureTraversal();
779
+ const { __ } = this.gremlin.process;
780
+ const minDepth = options.minDepth || 1;
781
+ const maxDepth = options.maxDepth || 5;
782
+ const limit = options.limit || options.maxPaths || 100;
783
+ // Build all paths query
784
+ let traversal = g.V(options.startNodeId);
785
+ if ((_a = options.relationshipTypes) === null || _a === void 0 ? void 0 : _a.length) {
786
+ traversal = traversal.repeat(__.both(...options.relationshipTypes).simplePath())
787
+ .until(__.hasId(options.endNodeId).or().loops().is(maxDepth))
788
+ .hasId(options.endNodeId)
789
+ .limit(limit)
790
+ .path();
791
+ }
792
+ else {
793
+ traversal = traversal.repeat(__.both().simplePath())
794
+ .until(__.hasId(options.endNodeId).or().loops().is(maxDepth))
795
+ .hasId(options.endNodeId)
796
+ .limit(limit)
797
+ .path();
798
+ }
799
+ const results = await traversal.by(__.valueMap(true)).toList();
800
+ const paths = [];
801
+ for (const pathResult of results) {
802
+ const pathNodes = [];
803
+ if (pathResult.objects) {
804
+ for (const obj of pathResult.objects) {
805
+ if (obj.id) {
806
+ pathNodes.push(this.mapGremlinVertexFromValueMap(obj));
807
+ }
808
+ }
809
+ }
810
+ if (pathNodes.length >= minDepth + 1) {
811
+ paths.push({
812
+ nodes: pathNodes,
813
+ relationships: [],
814
+ length: pathNodes.length - 1,
815
+ });
816
+ }
817
+ }
818
+ return {
819
+ paths,
820
+ count: paths.length,
821
+ total: paths.length,
822
+ };
823
+ }
824
+ async getNeighborhood(options, _transaction) {
825
+ var _a, _b, _c;
826
+ const g = this.ensureTraversal();
827
+ const { __ } = this.gremlin.process;
828
+ const depth = options.depth || 1;
829
+ // Build direction
830
+ let traversalStep;
831
+ switch (options.direction) {
832
+ case enums_1.TraversalDirection.INCOMING:
833
+ case 'INCOMING':
834
+ traversalStep = ((_a = options.relationshipTypes) === null || _a === void 0 ? void 0 : _a.length)
835
+ ? __.in_(...options.relationshipTypes)
836
+ : __.in_();
837
+ break;
838
+ case enums_1.TraversalDirection.OUTGOING:
839
+ case 'OUTGOING':
840
+ traversalStep = ((_b = options.relationshipTypes) === null || _b === void 0 ? void 0 : _b.length)
841
+ ? __.out(...options.relationshipTypes)
842
+ : __.out();
843
+ break;
844
+ default:
845
+ traversalStep = ((_c = options.relationshipTypes) === null || _c === void 0 ? void 0 : _c.length)
846
+ ? __.both(...options.relationshipTypes)
847
+ : __.both();
848
+ }
849
+ // Get neighbors
850
+ let traversal = g.V(options.nodeId)
851
+ .repeat(traversalStep)
852
+ .times(depth)
853
+ .emit()
854
+ .dedup();
855
+ if (options.limit) {
856
+ traversal = traversal.limit(options.limit);
857
+ }
858
+ const nodeResults = await traversal.valueMap(true).toList();
859
+ const nodes = nodeResults.map((v) => this.mapGremlinVertexFromValueMap(v));
860
+ // Get relationships (simplified - just outgoing edges from source)
861
+ const edgeResults = await g.V(options.nodeId)
862
+ .bothE(...(options.relationshipTypes || []))
863
+ .project('edge', 'outV', 'inV')
864
+ .by(__.valueMap(true))
865
+ .by(__.outV().id())
866
+ .by(__.inV().id())
867
+ .toList();
868
+ const relationships = edgeResults.map((r) => this.mapGremlinEdgeFromProject(r));
869
+ return {
870
+ nodes,
871
+ relationships,
872
+ depth,
873
+ };
874
+ }
875
+ async findConnectedComponents(options, _transaction) {
876
+ var _a;
877
+ const g = this.ensureTraversal();
878
+ const { __ } = this.gremlin.process;
879
+ // Neptune doesn't have built-in connected components algorithm
880
+ // We'll implement a basic version using Gremlin
881
+ let startTraversal = g.V();
882
+ if ((_a = options.labels) === null || _a === void 0 ? void 0 : _a.length) {
883
+ startTraversal = startTraversal.hasLabel(...options.labels);
884
+ }
885
+ // Get all vertices
886
+ const allVertices = await startTraversal.id().toList();
887
+ const visited = new Set();
888
+ const components = [];
889
+ for (const vertexId of allVertices) {
890
+ if (visited.has(String(vertexId)))
891
+ continue;
892
+ // BFS to find all connected vertices
893
+ const componentVertices = await g.V(vertexId)
894
+ .repeat(__.both(...(options.relationshipTypes || [])))
895
+ .until(__.not(__.both(...(options.relationshipTypes || []))))
896
+ .emit()
897
+ .dedup()
898
+ .valueMap(true)
899
+ .toList();
900
+ // Include the starting vertex
901
+ const startVertex = await g.V(vertexId).valueMap(true).next();
902
+ const allInComponent = [startVertex.value, ...componentVertices];
903
+ const nodes = allInComponent.map((v) => {
904
+ const node = this.mapGremlinVertexFromValueMap(v);
905
+ visited.add(String(node.id));
906
+ return node;
907
+ });
908
+ components.push({
909
+ nodes,
910
+ size: nodes.length,
911
+ });
912
+ }
913
+ return {
914
+ components,
915
+ count: components.length,
916
+ };
917
+ }
918
+ // ==================== AGGREGATION OPERATIONS ====================
919
+ async countNodes(labels, where, _transaction) {
920
+ const g = this.ensureTraversal();
921
+ let traversal = g.V();
922
+ if (labels === null || labels === void 0 ? void 0 : labels.length) {
923
+ traversal = traversal.hasLabel(...labels);
924
+ }
925
+ if (where) {
926
+ traversal = this.applyWhereConditions(traversal, where);
927
+ }
928
+ const result = await traversal.count().next();
929
+ return {
930
+ count: result.value,
931
+ };
932
+ }
933
+ async countRelationships(types, where, _transaction) {
934
+ const g = this.ensureTraversal();
935
+ let traversal = g.E();
936
+ if (types === null || types === void 0 ? void 0 : types.length) {
937
+ traversal = traversal.hasLabel(...types);
938
+ }
939
+ if (where) {
940
+ traversal = this.applyWhereConditions(traversal, where);
941
+ }
942
+ const result = await traversal.count().next();
943
+ return {
944
+ count: result.value,
945
+ };
946
+ }
947
+ async getStatistics(_transaction) {
948
+ const g = this.ensureTraversal();
949
+ const nodeCount = await g.V().count().next();
950
+ const relCount = await g.E().count().next();
951
+ return {
952
+ nodeCount: nodeCount.value,
953
+ relationshipCount: relCount.value,
954
+ };
955
+ }
956
+ // ==================== SEARCH OPERATIONS ====================
957
+ async fullTextSearch(options, _transaction) {
958
+ const g = this.ensureTraversal();
959
+ // Neptune supports text predicates via Neptune-specific features
960
+ // Basic implementation using contains predicate
961
+ const textPredicate = this.gremlin.process.P.containing(options.query);
962
+ let traversal = g.V().or(this.gremlin.process.__.has('name', textPredicate), this.gremlin.process.__.has('title', textPredicate), this.gremlin.process.__.has('description', textPredicate));
963
+ if (options.limit) {
964
+ traversal = traversal.limit(options.limit);
965
+ }
966
+ const results = await traversal.valueMap(true).toList();
967
+ const nodes = results.map((v) => this.mapGremlinVertexFromValueMap(v));
968
+ return {
969
+ nodes,
970
+ scores: nodes.map(() => 1.0),
971
+ };
972
+ }
973
+ async vectorSearch(_options, _transaction) {
974
+ throw graph_error_1.GraphError.unsupportedOperationError('Vector search is not natively supported in Neptune. Consider using Amazon OpenSearch with Neptune.', this.graphType);
975
+ }
976
+ // ==================== RAW QUERY ====================
977
+ async query(options, _transaction) {
978
+ // For Gremlin, the query is a Gremlin script string
979
+ // Neptune supports script execution via the submit method
980
+ if (!this.connection) {
981
+ throw new Error('Not connected to Neptune');
982
+ }
983
+ const result = await this.connection.submit(options.query, options.params || {});
984
+ const records = await result.toArray();
985
+ return {
986
+ records: records,
987
+ summary: {},
988
+ };
989
+ }
990
+ // ==================== SCHEMA OPERATIONS ====================
991
+ async createNodeIndex(options) {
992
+ // Neptune doesn't support user-created indexes in the same way as Neo4j
993
+ // Indexes are managed automatically by Neptune
994
+ // Return success as Neptune will handle optimization automatically
995
+ return { created: true, name: options.name };
996
+ }
997
+ async createNodeConstraint(_options) {
998
+ // Neptune doesn't support constraints like Neo4j
999
+ throw graph_error_1.GraphError.unsupportedOperationError('Neptune does not support user-defined constraints. Data validation should be handled at the application level.', this.graphType);
1000
+ }
1001
+ async createRelationshipIndex(options) {
1002
+ // Neptune handles indexes automatically
1003
+ return { created: true, name: options.name };
1004
+ }
1005
+ async listIndexes() {
1006
+ // Neptune indexes are managed internally
1007
+ return { indexes: [] };
1008
+ }
1009
+ async listConstraints() {
1010
+ // Neptune doesn't have user-defined constraints
1011
+ return { constraints: [] };
1012
+ }
1013
+ async dropIndex(_name) {
1014
+ // Neptune indexes are managed internally
1015
+ return { dropped: false };
1016
+ }
1017
+ async dropConstraint(_name) {
1018
+ // Neptune doesn't have user-defined constraints
1019
+ return { dropped: false };
1020
+ }
1021
+ // ==================== SCHEMA INTROSPECTION ====================
1022
+ async listLabels() {
1023
+ this.ensureConnected();
1024
+ try {
1025
+ // Get all distinct vertex labels
1026
+ const labelsTraversal = this.g.V().label().dedup();
1027
+ const labelNames = await labelsTraversal.toList();
1028
+ const labels = [];
1029
+ for (const labelName of labelNames) {
1030
+ // Get count for each label
1031
+ const countTraversal = this.g.V().hasLabel(labelName).count();
1032
+ const countResult = await countTraversal.next();
1033
+ const count = countResult.value || 0;
1034
+ // Get properties from a sample of vertices with this label
1035
+ const propsTraversal = this.g.V().hasLabel(labelName).limit(100).properties().key().dedup();
1036
+ const propertyNames = await propsTraversal.toList();
1037
+ const properties = propertyNames.map((name) => ({
1038
+ name,
1039
+ type: 'unknown',
1040
+ }));
1041
+ labels.push({
1042
+ name: String(labelName),
1043
+ count: Number(count),
1044
+ properties,
1045
+ });
1046
+ }
1047
+ return { labels };
1048
+ }
1049
+ catch (error) {
1050
+ throw graph_error_1.GraphError.queryError(`Failed to list labels: ${error.message}`);
1051
+ }
1052
+ }
1053
+ async listRelationshipTypes() {
1054
+ this.ensureConnected();
1055
+ try {
1056
+ // Get all distinct edge labels
1057
+ const typesTraversal = this.g.E().label().dedup();
1058
+ const typeNames = await typesTraversal.toList();
1059
+ const types = [];
1060
+ for (const typeName of typeNames) {
1061
+ // Get count for each edge label
1062
+ const countTraversal = this.g.E().hasLabel(typeName).count();
1063
+ const countResult = await countTraversal.next();
1064
+ const count = countResult.value || 0;
1065
+ // Get source and target vertex labels
1066
+ const endpointsTraversal = this.g.E().hasLabel(typeName).limit(100)
1067
+ .project('fromLabel', 'toLabel')
1068
+ .by(this.gremlin.process.statics.outV().label())
1069
+ .by(this.gremlin.process.statics.inV().label());
1070
+ const endpoints = await endpointsTraversal.toList();
1071
+ const fromLabelsSet = new Set();
1072
+ const toLabelsSet = new Set();
1073
+ for (const ep of endpoints) {
1074
+ if (ep.fromLabel)
1075
+ fromLabelsSet.add(String(ep.fromLabel));
1076
+ if (ep.toLabel)
1077
+ toLabelsSet.add(String(ep.toLabel));
1078
+ }
1079
+ // Get properties from a sample of edges
1080
+ const propsTraversal = this.g.E().hasLabel(typeName).limit(100).properties().key().dedup();
1081
+ const propertyNames = await propsTraversal.toList();
1082
+ const properties = propertyNames.map((name) => ({
1083
+ name,
1084
+ type: 'unknown',
1085
+ }));
1086
+ types.push({
1087
+ type: String(typeName),
1088
+ count: Number(count),
1089
+ fromLabels: Array.from(fromLabelsSet),
1090
+ toLabels: Array.from(toLabelsSet),
1091
+ properties: properties.length > 0 ? properties : undefined,
1092
+ });
1093
+ }
1094
+ return { types };
1095
+ }
1096
+ catch (error) {
1097
+ throw graph_error_1.GraphError.queryError(`Failed to list relationship types: ${error.message}`);
1098
+ }
1099
+ }
1100
+ // ==================== TRANSACTION OPERATIONS ====================
1101
+ async beginTransaction(_options) {
1102
+ // Neptune has limited transaction support via sessions
1103
+ // For now, we create a session-based pseudo-transaction
1104
+ this.ensureConnected();
1105
+ return {
1106
+ id: `tx_${Date.now()}`,
1107
+ status: enums_1.GraphTransactionStatus.ACTIVE,
1108
+ client: this.g,
1109
+ nativeTransaction: null,
1110
+ startTime: new Date(),
1111
+ commit: async () => {
1112
+ // Neptune auto-commits each query
1113
+ },
1114
+ rollback: async () => {
1115
+ // Neptune doesn't support rollback for individual queries
1116
+ },
1117
+ };
1118
+ }
1119
+ async commitTransaction(_transaction) {
1120
+ // Neptune auto-commits each query
1121
+ }
1122
+ async rollbackTransaction(_transaction) {
1123
+ // Neptune doesn't support rollback for individual queries
1124
+ }
1125
+ // ==================== UTILITY METHODS ====================
1126
+ buildWhereClause(where) {
1127
+ // For Gremlin, we return the where clause object as-is
1128
+ // The actual predicate building is done in applyWhereConditions
1129
+ return where;
1130
+ }
1131
+ applyWhereConditions(traversal, where) {
1132
+ const { P } = this.gremlin.process;
1133
+ for (const [key, value] of Object.entries(where)) {
1134
+ // Normalize key to lowercase for comparison
1135
+ const normalizedKey = key.toLowerCase();
1136
+ if (normalizedKey === '$and') {
1137
+ // Apply AND conditions
1138
+ if (Array.isArray(value)) {
1139
+ traversal = traversal.and(...value.flatMap((v) => Object.entries(v).map(([k, val]) => this.gremlin.process.__.has(k, val))));
1140
+ }
1141
+ else {
1142
+ traversal = traversal.and(...Object.entries(value).map(([k, v]) => this.gremlin.process.__.has(k, v)));
1143
+ }
1144
+ }
1145
+ else if (normalizedKey === '$or') {
1146
+ // Apply OR conditions
1147
+ if (Array.isArray(value)) {
1148
+ traversal = traversal.or(...value.flatMap((v) => Object.entries(v).map(([k, val]) => this.gremlin.process.__.has(k, val))));
1149
+ }
1150
+ else {
1151
+ traversal = traversal.or(...Object.entries(value).map(([k, v]) => this.gremlin.process.__.has(k, v)));
1152
+ }
1153
+ }
1154
+ else if (typeof value === 'object' && value !== null && !Array.isArray(value)) {
1155
+ // Apply operator conditions
1156
+ for (const [op, opValue] of Object.entries(value)) {
1157
+ const normalizedOp = op.toLowerCase();
1158
+ switch (normalizedOp) {
1159
+ case '$gt':
1160
+ traversal = traversal.has(key, P.gt(opValue));
1161
+ break;
1162
+ case '$gte':
1163
+ traversal = traversal.has(key, P.gte(opValue));
1164
+ break;
1165
+ case '$lt':
1166
+ traversal = traversal.has(key, P.lt(opValue));
1167
+ break;
1168
+ case '$lte':
1169
+ traversal = traversal.has(key, P.lte(opValue));
1170
+ break;
1171
+ case '$ne':
1172
+ traversal = traversal.has(key, P.neq(opValue));
1173
+ break;
1174
+ case '$in':
1175
+ traversal = traversal.has(key, P.within(...opValue));
1176
+ break;
1177
+ case '$nin':
1178
+ case '$not_in':
1179
+ traversal = traversal.has(key, P.without(...opValue));
1180
+ break;
1181
+ case '$contains':
1182
+ traversal = traversal.has(key, P.containing(opValue));
1183
+ break;
1184
+ case '$startswith':
1185
+ case '$starts_with':
1186
+ traversal = traversal.has(key, P.startingWith(opValue));
1187
+ break;
1188
+ case '$endswith':
1189
+ case '$ends_with':
1190
+ traversal = traversal.has(key, P.endingWith(opValue));
1191
+ break;
1192
+ case '$exists':
1193
+ if (opValue) {
1194
+ traversal = traversal.has(key);
1195
+ }
1196
+ else {
1197
+ traversal = traversal.hasNot(key);
1198
+ }
1199
+ break;
1200
+ }
1201
+ }
1202
+ }
1203
+ else {
1204
+ // Simple equality
1205
+ traversal = traversal.has(key, value);
1206
+ }
1207
+ }
1208
+ return traversal;
1209
+ }
1210
+ parseError(error) {
1211
+ if (error instanceof graph_error_1.GraphError) {
1212
+ return error;
1213
+ }
1214
+ return graph_error_1.GraphError.queryError(String(error));
1215
+ }
1216
+ // ==================== PRIVATE HELPER METHODS ====================
1217
+ mapGremlinVertex(id, properties) {
1218
+ const props = {};
1219
+ const labels = [];
1220
+ if (properties) {
1221
+ for (const [key, value] of properties) {
1222
+ if (key === 'label' || key === this.gremlin.process.t.label) {
1223
+ labels.push(Array.isArray(value) ? value[0] : value);
1224
+ }
1225
+ else if (key === 'id' || key === this.gremlin.process.t.id) {
1226
+ // Skip id as we have it separately
1227
+ }
1228
+ else {
1229
+ props[key] = Array.isArray(value) ? value[0] : value;
1230
+ }
1231
+ }
1232
+ }
1233
+ return {
1234
+ id: String(id),
1235
+ labels,
1236
+ properties: props,
1237
+ };
1238
+ }
1239
+ mapGremlinVertexFromValueMap(valueMap) {
1240
+ const props = {};
1241
+ const labels = [];
1242
+ let id = '';
1243
+ if (valueMap) {
1244
+ for (const [key, value] of Object.entries(valueMap)) {
1245
+ if (key === 'label' || String(key).includes('label')) {
1246
+ const labelValue = Array.isArray(value) ? value[0] : value;
1247
+ labels.push(String(labelValue));
1248
+ }
1249
+ else if (key === 'id' || String(key).includes('id')) {
1250
+ id = String(Array.isArray(value) ? value[0] : value);
1251
+ }
1252
+ else {
1253
+ props[key] = Array.isArray(value) ? value[0] : value;
1254
+ }
1255
+ }
1256
+ }
1257
+ return {
1258
+ id,
1259
+ labels,
1260
+ properties: props,
1261
+ };
1262
+ }
1263
+ mapGremlinEdge(edge, properties, startId, endId) {
1264
+ const props = {};
1265
+ let type = '';
1266
+ if (properties) {
1267
+ for (const [key, value] of Object.entries(properties)) {
1268
+ if (key === 'label' || String(key).includes('label')) {
1269
+ type = String(Array.isArray(value) ? value[0] : value);
1270
+ }
1271
+ else if (key === 'id' || String(key).includes('id')) {
1272
+ // Skip id
1273
+ }
1274
+ else {
1275
+ props[key] = Array.isArray(value) ? value[0] : value;
1276
+ }
1277
+ }
1278
+ }
1279
+ return {
1280
+ id: String(edge.id),
1281
+ type: type || edge.label,
1282
+ startNodeId: String(startId),
1283
+ endNodeId: String(endId),
1284
+ properties: props,
1285
+ };
1286
+ }
1287
+ mapGremlinEdgeFromProject(result) {
1288
+ const edge = result.edge || {};
1289
+ const props = {};
1290
+ let type = '';
1291
+ let id = '';
1292
+ for (const [key, value] of Object.entries(edge)) {
1293
+ if (key === 'label' || String(key).includes('label')) {
1294
+ type = String(Array.isArray(value) ? value[0] : value);
1295
+ }
1296
+ else if (key === 'id' || String(key).includes('id')) {
1297
+ id = String(Array.isArray(value) ? value[0] : value);
1298
+ }
1299
+ else {
1300
+ props[key] = Array.isArray(value) ? value[0] : value;
1301
+ }
1302
+ }
1303
+ return {
1304
+ id,
1305
+ type,
1306
+ startNodeId: String(result.outV),
1307
+ endNodeId: String(result.inV),
1308
+ properties: props,
1309
+ };
1310
+ }
1311
+ }
1312
+ exports.NeptuneAdapter = NeptuneAdapter;
1313
+ //# sourceMappingURL=neptune.adapter.js.map