@ductape/sdk 0.0.4-v51 → 0.0.4-v52

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 (868) hide show
  1. package/README.md +1 -1
  2. package/dist/agents/agent-context.d.ts +98 -0
  3. package/dist/agents/agent-context.js +588 -0
  4. package/dist/agents/agent-context.js.map +1 -0
  5. package/dist/agents/agent-executor.d.ts +180 -0
  6. package/dist/agents/agent-executor.js +715 -0
  7. package/dist/agents/agent-executor.js.map +1 -0
  8. package/dist/agents/agents.service.d.ts +304 -0
  9. package/dist/agents/agents.service.js +1244 -0
  10. package/dist/agents/agents.service.js.map +1 -0
  11. package/dist/agents/index.d.ts +55 -0
  12. package/dist/agents/index.js +110 -0
  13. package/dist/agents/index.js.map +1 -0
  14. package/dist/agents/memory-manager.d.ts +182 -0
  15. package/dist/agents/memory-manager.js +383 -0
  16. package/dist/agents/memory-manager.js.map +1 -0
  17. package/dist/agents/tool-registry.d.ts +141 -0
  18. package/dist/agents/tool-registry.js +355 -0
  19. package/dist/agents/tool-registry.js.map +1 -0
  20. package/dist/agents/types/agents.types.d.ts +1225 -0
  21. package/dist/agents/types/agents.types.js +12 -0
  22. package/dist/agents/types/agents.types.js.map +1 -0
  23. package/dist/agents/types/index.d.ts +6 -0
  24. package/dist/agents/types/index.js +23 -0
  25. package/dist/agents/types/index.js.map +1 -0
  26. package/dist/agents/vector-store-adapter.d.ts +108 -0
  27. package/dist/agents/vector-store-adapter.js +213 -0
  28. package/dist/agents/vector-store-adapter.js.map +1 -0
  29. package/dist/api/services/appApi.service.js +4 -5
  30. package/dist/api/services/appApi.service.js.map +1 -1
  31. package/dist/api/services/processorApi.service.d.ts +322 -0
  32. package/dist/api/services/processorApi.service.js +252 -0
  33. package/dist/api/services/processorApi.service.js.map +1 -1
  34. package/dist/api/services/productsApi.service.d.ts +69 -1
  35. package/dist/api/services/productsApi.service.js +67 -31
  36. package/dist/api/services/productsApi.service.js.map +1 -1
  37. package/dist/api/services/resilienceApi.service.d.ts +106 -0
  38. package/dist/api/services/resilienceApi.service.js +224 -0
  39. package/dist/api/services/resilienceApi.service.js.map +1 -0
  40. package/dist/api/services/secretsApi.service.d.ts +38 -0
  41. package/dist/api/services/secretsApi.service.js +96 -0
  42. package/dist/api/services/secretsApi.service.js.map +1 -0
  43. package/dist/api/services/userApi.service.js +0 -1
  44. package/dist/api/services/userApi.service.js.map +1 -1
  45. package/dist/api/services/workflowApi.service.d.ts +199 -0
  46. package/dist/api/services/workflowApi.service.js +183 -0
  47. package/dist/api/services/workflowApi.service.js.map +1 -0
  48. package/dist/api/services/workspaceApi.service.js +0 -1
  49. package/dist/api/services/workspaceApi.service.js.map +1 -1
  50. package/dist/api/urls.d.ts +57 -0
  51. package/dist/api/urls.js +68 -1
  52. package/dist/api/urls.js.map +1 -1
  53. package/dist/api/utils/cache.utils.js +4 -10
  54. package/dist/api/utils/cache.utils.js.map +1 -1
  55. package/dist/apps/services/app.service.d.ts +0 -10
  56. package/dist/apps/services/app.service.js +74 -30
  57. package/dist/apps/services/app.service.js.map +1 -1
  58. package/dist/apps/utils/auth-context-manager.d.ts +137 -0
  59. package/dist/apps/utils/auth-context-manager.js +248 -0
  60. package/dist/apps/utils/auth-context-manager.js.map +1 -0
  61. package/dist/apps/utils/credential-manager.d.ts +128 -0
  62. package/dist/apps/utils/credential-manager.js +199 -0
  63. package/dist/apps/utils/credential-manager.js.map +1 -0
  64. package/dist/apps/utils/index.d.ts +10 -0
  65. package/dist/apps/utils/index.js +54 -0
  66. package/dist/apps/utils/index.js.map +1 -0
  67. package/dist/apps/utils/input-helpers.d.ts +67 -0
  68. package/dist/apps/utils/input-helpers.js +185 -0
  69. package/dist/apps/utils/input-helpers.js.map +1 -0
  70. package/dist/apps/utils/input-resolver.d.ts +165 -0
  71. package/dist/apps/utils/input-resolver.js +477 -0
  72. package/dist/apps/utils/input-resolver.js.map +1 -0
  73. package/dist/apps/utils/oauth-manager.d.ts +196 -0
  74. package/dist/apps/utils/oauth-manager.js +405 -0
  75. package/dist/apps/utils/oauth-manager.js.map +1 -0
  76. package/dist/apps/validators/joi-validators/create.appWebhook.validator.d.ts +2 -1
  77. package/dist/apps/validators/joi-validators/create.appWebhook.validator.js +15 -2
  78. package/dist/apps/validators/joi-validators/create.appWebhook.validator.js.map +1 -1
  79. package/dist/apps/validators/joi-validators/update.appWebhook.validator.d.ts +2 -1
  80. package/dist/apps/validators/joi-validators/update.appWebhook.validator.js +14 -2
  81. package/dist/apps/validators/joi-validators/update.appWebhook.validator.js.map +1 -1
  82. package/dist/bin.d.ts +26 -0
  83. package/dist/bin.js +28 -0
  84. package/dist/bin.js.map +1 -0
  85. package/dist/brokers/brokers.service.d.ts +257 -0
  86. package/dist/brokers/brokers.service.js +604 -0
  87. package/dist/brokers/brokers.service.js.map +1 -0
  88. package/dist/brokers/index.d.ts +46 -0
  89. package/dist/brokers/index.js +83 -0
  90. package/dist/brokers/index.js.map +1 -0
  91. package/dist/brokers/types/index.d.ts +288 -0
  92. package/dist/brokers/types/index.js +8 -0
  93. package/dist/brokers/types/index.js.map +1 -0
  94. package/dist/brokers/utils/broker.util.d.ts +33 -0
  95. package/dist/brokers/utils/broker.util.js +125 -0
  96. package/dist/brokers/utils/broker.util.js.map +1 -0
  97. package/dist/brokers/utils/providers/aws-sqs.service.d.ts +16 -0
  98. package/dist/brokers/utils/providers/aws-sqs.service.js +71 -0
  99. package/dist/brokers/utils/providers/aws-sqs.service.js.map +1 -0
  100. package/dist/brokers/utils/providers/google-pubsub.service.d.ts +16 -0
  101. package/dist/brokers/utils/providers/google-pubsub.service.js +43 -0
  102. package/dist/brokers/utils/providers/google-pubsub.service.js.map +1 -0
  103. package/dist/brokers/utils/providers/index.d.ts +6 -0
  104. package/dist/brokers/utils/providers/index.js +16 -0
  105. package/dist/brokers/utils/providers/index.js.map +1 -0
  106. package/dist/brokers/utils/providers/kafka.service.d.ts +16 -0
  107. package/dist/brokers/utils/providers/kafka.service.js +52 -0
  108. package/dist/brokers/utils/providers/kafka.service.js.map +1 -0
  109. package/dist/brokers/utils/providers/nats.service.d.ts +18 -0
  110. package/dist/brokers/utils/providers/nats.service.js +63 -0
  111. package/dist/brokers/utils/providers/nats.service.js.map +1 -0
  112. package/dist/brokers/utils/providers/rabbitmq.service.d.ts +14 -0
  113. package/dist/brokers/utils/providers/rabbitmq.service.js +67 -0
  114. package/dist/brokers/utils/providers/rabbitmq.service.js.map +1 -0
  115. package/dist/brokers/utils/providers/redis.service.d.ts +18 -0
  116. package/dist/brokers/utils/providers/redis.service.js +93 -0
  117. package/dist/brokers/utils/providers/redis.service.js.map +1 -0
  118. package/dist/cache/cache.manager.d.ts +159 -0
  119. package/dist/cache/cache.manager.js +265 -0
  120. package/dist/cache/cache.manager.js.map +1 -0
  121. package/dist/cache/cache.service.d.ts +186 -0
  122. package/dist/cache/cache.service.js +437 -0
  123. package/dist/cache/cache.service.js.map +1 -0
  124. package/dist/cache/index.d.ts +52 -0
  125. package/dist/cache/index.js +79 -0
  126. package/dist/cache/index.js.map +1 -0
  127. package/dist/cache/types/index.d.ts +106 -0
  128. package/dist/cache/types/index.js +6 -0
  129. package/dist/cache/types/index.js.map +1 -0
  130. package/dist/database/actions/action-manager.d.ts +170 -0
  131. package/dist/database/actions/action-manager.js +465 -0
  132. package/dist/database/actions/action-manager.js.map +1 -0
  133. package/dist/database/actions/index.d.ts +6 -0
  134. package/dist/database/actions/index.js +13 -0
  135. package/dist/database/actions/index.js.map +1 -0
  136. package/dist/database/adapters/adapter.factory.d.ts +62 -0
  137. package/dist/database/adapters/adapter.factory.js +97 -0
  138. package/dist/database/adapters/adapter.factory.js.map +1 -0
  139. package/dist/database/adapters/base.adapter.d.ts +307 -90
  140. package/dist/database/adapters/base.adapter.js +139 -20
  141. package/dist/database/adapters/base.adapter.js.map +1 -1
  142. package/dist/database/adapters/cassandra.adapter.d.ts +90 -0
  143. package/dist/database/adapters/cassandra.adapter.js +1019 -0
  144. package/dist/database/adapters/cassandra.adapter.js.map +1 -0
  145. package/dist/database/adapters/dynamodb.adapter.d.ts +94 -77
  146. package/dist/database/adapters/dynamodb.adapter.js +1162 -1305
  147. package/dist/database/adapters/dynamodb.adapter.js.map +1 -1
  148. package/dist/database/adapters/index.d.ts +11 -0
  149. package/dist/database/adapters/index.js +27 -0
  150. package/dist/database/adapters/index.js.map +1 -0
  151. package/dist/database/adapters/mariadb.adapter.d.ts +100 -0
  152. package/dist/database/adapters/mariadb.adapter.js +247 -0
  153. package/dist/database/adapters/mariadb.adapter.js.map +1 -0
  154. package/dist/database/adapters/mongodb.adapter.d.ts +105 -57
  155. package/dist/database/adapters/mongodb.adapter.js +941 -838
  156. package/dist/database/adapters/mongodb.adapter.js.map +1 -1
  157. package/dist/database/adapters/mysql.adapter.d.ts +76 -138
  158. package/dist/database/adapters/mysql.adapter.js +990 -1246
  159. package/dist/database/adapters/mysql.adapter.js.map +1 -1
  160. package/dist/database/adapters/postgresql.adapter.d.ts +75 -139
  161. package/dist/database/adapters/postgresql.adapter.js +1076 -1346
  162. package/dist/database/adapters/postgresql.adapter.js.map +1 -1
  163. package/dist/database/databases.service.d.ts +1374 -0
  164. package/dist/database/databases.service.js +2680 -0
  165. package/dist/database/databases.service.js.map +1 -0
  166. package/dist/database/index.d.ts +41 -13
  167. package/dist/database/index.js +97 -86
  168. package/dist/database/index.js.map +1 -1
  169. package/dist/database/migrations/index.d.ts +6 -0
  170. package/dist/database/migrations/index.js +12 -0
  171. package/dist/database/migrations/index.js.map +1 -0
  172. package/dist/database/migrations/migration-engine.d.ts +132 -0
  173. package/dist/database/migrations/migration-engine.js +1356 -0
  174. package/dist/database/migrations/migration-engine.js.map +1 -0
  175. package/dist/database/operators/aggregation-builder.d.ts +64 -0
  176. package/dist/database/operators/aggregation-builder.js +746 -0
  177. package/dist/database/operators/aggregation-builder.js.map +1 -0
  178. package/dist/database/operators/index.d.ts +7 -0
  179. package/dist/database/operators/index.js +15 -0
  180. package/dist/database/operators/index.js.map +1 -0
  181. package/dist/database/operators/query-builder.d.ts +55 -0
  182. package/dist/database/operators/query-builder.js +365 -0
  183. package/dist/database/operators/query-builder.js.map +1 -0
  184. package/dist/database/presave/decrypt.d.ts +25 -0
  185. package/dist/database/presave/decrypt.js +146 -0
  186. package/dist/database/presave/decrypt.js.map +1 -0
  187. package/dist/database/presave/index.d.ts +9 -0
  188. package/dist/database/presave/index.js +18 -0
  189. package/dist/database/presave/index.js.map +1 -0
  190. package/dist/database/presave/presave-processor.d.ts +148 -0
  191. package/dist/database/presave/presave-processor.js +702 -0
  192. package/dist/database/presave/presave-processor.js.map +1 -0
  193. package/dist/database/schema/index.d.ts +7 -0
  194. package/dist/database/schema/index.js +13 -0
  195. package/dist/database/schema/index.js.map +1 -0
  196. package/dist/database/schema/schema-manager.d.ts +258 -0
  197. package/dist/database/schema/schema-manager.js +637 -0
  198. package/dist/database/schema/schema-manager.js.map +1 -0
  199. package/dist/database/transactions/index.d.ts +6 -0
  200. package/dist/database/transactions/index.js +13 -0
  201. package/dist/database/transactions/index.js.map +1 -0
  202. package/dist/database/transactions/transaction-manager.d.ts +113 -0
  203. package/dist/database/transactions/transaction-manager.js +344 -0
  204. package/dist/database/transactions/transaction-manager.js.map +1 -0
  205. package/dist/database/triggers/index.d.ts +7 -0
  206. package/dist/database/triggers/index.js +14 -0
  207. package/dist/database/triggers/index.js.map +1 -0
  208. package/dist/database/triggers/trigger-processor.d.ts +239 -0
  209. package/dist/database/triggers/trigger-processor.js +1034 -0
  210. package/dist/database/triggers/trigger-processor.js.map +1 -0
  211. package/dist/database/types/action.interface.d.ts +148 -0
  212. package/dist/database/types/action.interface.js +6 -0
  213. package/dist/database/types/action.interface.js.map +1 -0
  214. package/dist/database/types/aggregation.interface.d.ts +179 -0
  215. package/dist/database/types/aggregation.interface.js +6 -0
  216. package/dist/database/types/aggregation.interface.js.map +1 -0
  217. package/dist/database/types/connection.interface.d.ts +137 -0
  218. package/dist/database/types/connection.interface.js +6 -0
  219. package/dist/database/types/connection.interface.js.map +1 -0
  220. package/dist/database/types/enums.d.ts +195 -0
  221. package/dist/database/types/enums.js +244 -0
  222. package/dist/database/types/enums.js.map +1 -0
  223. package/dist/database/types/index.d.ts +12 -10
  224. package/dist/database/types/index.js +26 -32
  225. package/dist/database/types/index.js.map +1 -1
  226. package/dist/database/types/migration.interface.d.ts +686 -0
  227. package/dist/database/types/migration.interface.js +9 -0
  228. package/dist/database/types/migration.interface.js.map +1 -0
  229. package/dist/database/types/presave.interface.d.ts +292 -0
  230. package/dist/database/types/presave.interface.js +60 -0
  231. package/dist/database/types/presave.interface.js.map +1 -0
  232. package/dist/database/types/query.interface.d.ts +199 -0
  233. package/dist/database/types/query.interface.js +6 -0
  234. package/dist/database/types/query.interface.js.map +1 -0
  235. package/dist/database/types/schema.interface.d.ts +398 -0
  236. package/dist/database/types/schema.interface.js +6 -0
  237. package/dist/database/types/schema.interface.js.map +1 -0
  238. package/dist/database/types/transaction.interface.d.ts +84 -0
  239. package/dist/database/types/transaction.interface.js +6 -0
  240. package/dist/database/types/transaction.interface.js.map +1 -0
  241. package/dist/database/types/trigger.interface.d.ts +612 -0
  242. package/dist/database/types/trigger.interface.js +121 -0
  243. package/dist/database/types/trigger.interface.js.map +1 -0
  244. package/dist/database/types/write.interface.d.ts +208 -0
  245. package/dist/database/types/write.interface.js +6 -0
  246. package/dist/database/types/write.interface.js.map +1 -0
  247. package/dist/database/utils/database-error.d.ts +96 -0
  248. package/dist/database/utils/database-error.js +221 -0
  249. package/dist/database/utils/database-error.js.map +1 -0
  250. package/dist/database/utils/index.d.ts +6 -0
  251. package/dist/database/utils/index.js +11 -0
  252. package/dist/database/utils/index.js.map +1 -0
  253. package/dist/graph/adapters/adapter.factory.d.ts +47 -0
  254. package/dist/graph/adapters/adapter.factory.js +77 -0
  255. package/dist/graph/adapters/adapter.factory.js.map +1 -0
  256. package/dist/graph/adapters/arangodb.adapter.d.ts +78 -72
  257. package/dist/graph/adapters/arangodb.adapter.js +1310 -1220
  258. package/dist/graph/adapters/arangodb.adapter.js.map +1 -1
  259. package/dist/graph/adapters/base.adapter.d.ts +135 -118
  260. package/dist/graph/adapters/base.adapter.js +46 -20
  261. package/dist/graph/adapters/base.adapter.js.map +1 -1
  262. package/dist/graph/adapters/index.d.ts +5 -4
  263. package/dist/graph/adapters/index.js +6 -8
  264. package/dist/graph/adapters/index.js.map +1 -1
  265. package/dist/graph/adapters/memgraph.adapter.d.ts +98 -73
  266. package/dist/graph/adapters/memgraph.adapter.js +1050 -1202
  267. package/dist/graph/adapters/memgraph.adapter.js.map +1 -1
  268. package/dist/graph/adapters/neo4j.adapter.d.ts +71 -78
  269. package/dist/graph/adapters/neo4j.adapter.js +912 -1605
  270. package/dist/graph/adapters/neo4j.adapter.js.map +1 -1
  271. package/dist/graph/adapters/neptune.adapter.d.ts +76 -81
  272. package/dist/graph/adapters/neptune.adapter.js +1095 -1228
  273. package/dist/graph/adapters/neptune.adapter.js.map +1 -1
  274. package/dist/graph/graphs.service.d.ts +524 -0
  275. package/dist/graph/graphs.service.js +1683 -0
  276. package/dist/graph/graphs.service.js.map +1 -0
  277. package/dist/graph/index.d.ts +54 -8
  278. package/dist/graph/index.js +67 -32
  279. package/dist/graph/index.js.map +1 -1
  280. package/dist/graph/transactions/index.d.ts +4 -0
  281. package/dist/graph/transactions/index.js +9 -0
  282. package/dist/graph/transactions/index.js.map +1 -0
  283. package/dist/graph/transactions/transaction-manager.d.ts +61 -0
  284. package/dist/graph/transactions/transaction-manager.js +126 -0
  285. package/dist/graph/transactions/transaction-manager.js.map +1 -0
  286. package/dist/graph/types/connection.interface.d.ts +141 -0
  287. package/dist/graph/types/connection.interface.js +9 -0
  288. package/dist/graph/types/connection.interface.js.map +1 -0
  289. package/dist/graph/types/enums.d.ts +101 -0
  290. package/dist/graph/types/enums.js +114 -0
  291. package/dist/graph/types/enums.js.map +1 -0
  292. package/dist/graph/types/index.d.ts +11 -9
  293. package/dist/graph/types/index.js +15 -30
  294. package/dist/graph/types/index.js.map +1 -1
  295. package/dist/graph/types/node.interface.d.ts +248 -0
  296. package/dist/graph/types/node.interface.js +9 -0
  297. package/dist/graph/types/node.interface.js.map +1 -0
  298. package/dist/graph/types/query.interface.d.ts +168 -0
  299. package/dist/graph/types/query.interface.js +9 -0
  300. package/dist/graph/types/query.interface.js.map +1 -0
  301. package/dist/graph/types/relationship.interface.d.ts +207 -0
  302. package/dist/graph/types/relationship.interface.js +9 -0
  303. package/dist/graph/types/relationship.interface.js.map +1 -0
  304. package/dist/graph/types/schema.interface.d.ts +295 -0
  305. package/dist/graph/types/schema.interface.js +9 -0
  306. package/dist/graph/types/schema.interface.js.map +1 -0
  307. package/dist/graph/types/transaction.interface.d.ts +55 -0
  308. package/dist/graph/types/transaction.interface.js +9 -0
  309. package/dist/graph/types/transaction.interface.js.map +1 -0
  310. package/dist/graph/types/traversal.interface.d.ts +181 -0
  311. package/dist/graph/types/traversal.interface.js +9 -0
  312. package/dist/graph/types/traversal.interface.js.map +1 -0
  313. package/dist/graph/utils/graph-error.d.ts +71 -0
  314. package/dist/graph/utils/graph-error.js +142 -0
  315. package/dist/graph/utils/graph-error.js.map +1 -0
  316. package/dist/graph/utils/index.d.ts +4 -0
  317. package/dist/graph/utils/index.js +9 -0
  318. package/dist/graph/utils/index.js.map +1 -0
  319. package/dist/index.d.ts +1905 -875
  320. package/dist/index.js +3063 -1282
  321. package/dist/index.js.map +1 -1
  322. package/dist/init.interface.d.ts +407 -0
  323. package/dist/init.interface.js +3 -0
  324. package/dist/init.interface.js.map +1 -0
  325. package/dist/jobs/index.d.ts +38 -0
  326. package/dist/jobs/index.js +50 -0
  327. package/dist/jobs/index.js.map +1 -0
  328. package/dist/jobs/jobs.service.d.ts +154 -0
  329. package/dist/jobs/jobs.service.js +491 -0
  330. package/dist/jobs/jobs.service.js.map +1 -0
  331. package/dist/jobs/jobs.state.d.ts +113 -0
  332. package/dist/jobs/jobs.state.js +447 -0
  333. package/dist/jobs/jobs.state.js.map +1 -0
  334. package/dist/jobs/types.d.ts +449 -0
  335. package/dist/jobs/types.js +74 -0
  336. package/dist/jobs/types.js.map +1 -0
  337. package/dist/logs/logs.types.d.ts +12 -2
  338. package/dist/logs/logs.types.js +5 -1
  339. package/dist/logs/logs.types.js.map +1 -1
  340. package/dist/models/index.d.ts +6 -0
  341. package/dist/models/index.js +11 -0
  342. package/dist/models/index.js.map +1 -0
  343. package/dist/models/models.service.d.ts +137 -0
  344. package/dist/models/models.service.js +195 -0
  345. package/dist/models/models.service.js.map +1 -0
  346. package/dist/notifications/index.d.ts +13 -0
  347. package/dist/notifications/index.js +26 -0
  348. package/dist/notifications/index.js.map +1 -0
  349. package/dist/notifications/notifications.service.d.ts +252 -0
  350. package/dist/notifications/notifications.service.js +654 -0
  351. package/dist/notifications/notifications.service.js.map +1 -0
  352. package/dist/notifications/types/index.d.ts +4 -0
  353. package/dist/notifications/types/index.js +21 -0
  354. package/dist/notifications/types/index.js.map +1 -0
  355. package/dist/notifications/types/notifications.types.d.ts +400 -0
  356. package/dist/notifications/types/notifications.types.js +49 -0
  357. package/dist/notifications/types/notifications.types.js.map +1 -0
  358. package/dist/processor/services/messagebrokers/kafka.service.js +2 -0
  359. package/dist/processor/services/messagebrokers/kafka.service.js.map +1 -1
  360. package/dist/processor/services/messagebrokers/rabbitmq.service.d.ts +1 -9
  361. package/dist/processor/services/messagebrokers/rabbitmq.service.js +11 -40
  362. package/dist/processor/services/messagebrokers/rabbitmq.service.js.map +1 -1
  363. package/dist/processor/services/processor.service.d.ts +86 -70
  364. package/dist/processor/services/processor.service.js +1353 -1259
  365. package/dist/processor/services/processor.service.js.map +1 -1
  366. package/dist/processor/utils/processor.utils.js +5 -1
  367. package/dist/processor/utils/processor.utils.js.map +1 -1
  368. package/dist/products/services/products.service.d.ts +167 -25
  369. package/dist/products/services/products.service.js +1248 -412
  370. package/dist/products/services/products.service.js.map +1 -1
  371. package/dist/products/validators/index.d.ts +6 -3
  372. package/dist/products/validators/index.js +14 -5
  373. package/dist/products/validators/index.js.map +1 -1
  374. package/dist/products/validators/joi-validators/create.productAgent.validator.d.ts +3 -0
  375. package/dist/products/validators/joi-validators/create.productAgent.validator.js +218 -0
  376. package/dist/products/validators/joi-validators/create.productAgent.validator.js.map +1 -0
  377. package/dist/products/validators/joi-validators/create.productDatabase.validator.js +5 -0
  378. package/dist/products/validators/joi-validators/create.productDatabase.validator.js.map +1 -1
  379. package/dist/products/validators/joi-validators/create.productDatabaseAction.validator.d.ts +4 -15
  380. package/dist/products/validators/joi-validators/create.productDatabaseAction.validator.js +109 -501
  381. package/dist/products/validators/joi-validators/create.productDatabaseAction.validator.js.map +1 -1
  382. package/dist/products/validators/joi-validators/create.productGraph.validator.js +14 -9
  383. package/dist/products/validators/joi-validators/create.productGraph.validator.js.map +1 -1
  384. package/dist/products/validators/joi-validators/create.productMessageBrokerTopic.validator.js +0 -1
  385. package/dist/products/validators/joi-validators/create.productMessageBrokerTopic.validator.js.map +1 -1
  386. package/dist/products/validators/joi-validators/create.productMessageBrokers.validator.js +87 -30
  387. package/dist/products/validators/joi-validators/create.productMessageBrokers.validator.js.map +1 -1
  388. package/dist/products/validators/joi-validators/create.productModel.validator.d.ts +3 -0
  389. package/dist/products/validators/joi-validators/create.productModel.validator.js +132 -0
  390. package/dist/products/validators/joi-validators/create.productModel.validator.js.map +1 -0
  391. package/dist/products/validators/joi-validators/create.productNotification.validator.js +135 -50
  392. package/dist/products/validators/joi-validators/create.productNotification.validator.js.map +1 -1
  393. package/dist/products/validators/joi-validators/create.productStorage.validator.js +77 -18
  394. package/dist/products/validators/joi-validators/create.productStorage.validator.js.map +1 -1
  395. package/dist/products/validators/joi-validators/create.productVector.validator.d.ts +3 -0
  396. package/dist/products/validators/joi-validators/create.productVector.validator.js +135 -0
  397. package/dist/products/validators/joi-validators/create.productVector.validator.js.map +1 -0
  398. package/dist/products/validators/joi-validators/update.productDatabase.validator.js +5 -0
  399. package/dist/products/validators/joi-validators/update.productDatabase.validator.js.map +1 -1
  400. package/dist/products/validators/joi-validators/update.productDatabaseAction.validator.d.ts +0 -6
  401. package/dist/products/validators/joi-validators/update.productDatabaseAction.validator.js +26 -28
  402. package/dist/products/validators/joi-validators/update.productDatabaseAction.validator.js.map +1 -1
  403. package/dist/products/validators/joi-validators/update.productGraph.validator.js +11 -12
  404. package/dist/products/validators/joi-validators/update.productGraph.validator.js.map +1 -1
  405. package/dist/products/validators/joi-validators/update.productMessageBrokerTopic.validator.js +0 -1
  406. package/dist/products/validators/joi-validators/update.productMessageBrokerTopic.validator.js.map +1 -1
  407. package/dist/resilience/fallback.service.d.ts +88 -0
  408. package/dist/resilience/fallback.service.js +511 -0
  409. package/dist/resilience/fallback.service.js.map +1 -0
  410. package/dist/resilience/healthcheck.service.d.ts +106 -0
  411. package/dist/resilience/healthcheck.service.js +379 -0
  412. package/dist/resilience/healthcheck.service.js.map +1 -0
  413. package/dist/resilience/index.d.ts +104 -0
  414. package/dist/resilience/index.js +140 -0
  415. package/dist/resilience/index.js.map +1 -0
  416. package/dist/resilience/quota.service.d.ts +90 -0
  417. package/dist/resilience/quota.service.js +519 -0
  418. package/dist/resilience/quota.service.js.map +1 -0
  419. package/dist/resilience/resilience.service.d.ts +95 -0
  420. package/dist/resilience/resilience.service.js +525 -0
  421. package/dist/resilience/resilience.service.js.map +1 -0
  422. package/dist/resilience/types/index.d.ts +479 -0
  423. package/dist/resilience/types/index.js +26 -0
  424. package/dist/resilience/types/index.js.map +1 -0
  425. package/dist/secrets/index.d.ts +10 -0
  426. package/dist/secrets/index.js +33 -0
  427. package/dist/secrets/index.js.map +1 -0
  428. package/dist/secrets/secrets.resolver.d.ts +52 -0
  429. package/dist/secrets/secrets.resolver.js +233 -0
  430. package/dist/secrets/secrets.resolver.js.map +1 -0
  431. package/dist/secrets/secrets.service.d.ts +83 -0
  432. package/dist/secrets/secrets.service.js +159 -0
  433. package/dist/secrets/secrets.service.js.map +1 -0
  434. package/dist/secrets/secrets.types.d.ts +188 -0
  435. package/dist/secrets/secrets.types.js +87 -0
  436. package/dist/secrets/secrets.types.js.map +1 -0
  437. package/dist/sessions/index.d.ts +50 -0
  438. package/dist/sessions/index.js +93 -0
  439. package/dist/sessions/index.js.map +1 -0
  440. package/dist/sessions/sessions.helper.d.ts +68 -0
  441. package/dist/sessions/sessions.helper.js +116 -0
  442. package/dist/sessions/sessions.helper.js.map +1 -0
  443. package/dist/sessions/sessions.resolver.d.ts +150 -0
  444. package/dist/sessions/sessions.resolver.js +356 -0
  445. package/dist/sessions/sessions.resolver.js.map +1 -0
  446. package/dist/sessions/sessions.service.d.ts +170 -0
  447. package/dist/sessions/sessions.service.js +736 -0
  448. package/dist/sessions/sessions.service.js.map +1 -0
  449. package/dist/sessions/types/index.d.ts +290 -0
  450. package/dist/sessions/types/index.js +6 -0
  451. package/dist/sessions/types/index.js.map +1 -0
  452. package/dist/storage/index.d.ts +66 -0
  453. package/dist/storage/index.js +98 -0
  454. package/dist/storage/index.js.map +1 -0
  455. package/dist/storage/storage.service.d.ts +123 -0
  456. package/dist/storage/storage.service.js +478 -0
  457. package/dist/storage/storage.service.js.map +1 -0
  458. package/dist/storage/types/index.d.ts +207 -0
  459. package/dist/storage/types/index.js +6 -0
  460. package/dist/storage/types/index.js.map +1 -0
  461. package/dist/storage/utils/storage.util.d.ts +51 -0
  462. package/dist/storage/utils/storage.util.js +402 -0
  463. package/dist/storage/utils/storage.util.js.map +1 -0
  464. package/dist/test/index.d.ts +3 -0
  465. package/dist/test/index.js +13 -0
  466. package/dist/test/index.js.map +1 -0
  467. package/dist/test/test.appBuilder.d.ts +0 -1
  468. package/dist/test/test.appBuilder.js +0 -15
  469. package/dist/test/test.appBuilder.js.map +1 -1
  470. package/dist/test/test.database.js +140 -0
  471. package/dist/test/test.database.js.map +1 -0
  472. package/dist/test/test.health.d.ts +0 -1
  473. package/dist/test/test.health.js +0 -48
  474. package/dist/test/test.health.js.map +1 -1
  475. package/dist/test/test.import.d.ts +0 -1
  476. package/dist/test/test.import.js +0 -1506
  477. package/dist/test/test.import.js.map +1 -1
  478. package/dist/test/test.import.openapi.d.ts +0 -1
  479. package/dist/test/test.import.openapi.js +0 -75
  480. package/dist/test/test.import.openapi.js.map +1 -1
  481. package/dist/test/test.imports.d.ts +0 -1
  482. package/dist/test/test.imports.js +0 -76
  483. package/dist/test/test.imports.js.map +1 -1
  484. package/dist/test/test.logs.d.ts +0 -1
  485. package/dist/test/test.logs.js +0 -17
  486. package/dist/test/test.logs.js.map +1 -1
  487. package/dist/test/test.notifiers.d.ts +0 -1
  488. package/dist/test/test.notifiers.js +0 -84
  489. package/dist/test/test.notifiers.js.map +1 -1
  490. package/dist/test/test.processor.d.ts +0 -1
  491. package/dist/test/test.processor.js +0 -37
  492. package/dist/test/test.processor.js.map +1 -1
  493. package/dist/test/test.productBuilder.d.ts +0 -1
  494. package/dist/test/test.productBuilder.js +0 -660
  495. package/dist/test/test.productBuilder.js.map +1 -1
  496. package/dist/test/test.products.d.ts +0 -1
  497. package/dist/test/test.products.js +0 -48
  498. package/dist/test/test.products.js.map +1 -1
  499. package/dist/test/test.storage.js +332 -0
  500. package/dist/test/test.storage.js.map +1 -0
  501. package/dist/test/test.triggers.js +314 -0
  502. package/dist/test/test.triggers.js.map +1 -0
  503. package/dist/types/appBuilder.types.d.ts +1 -1
  504. package/dist/types/enums.d.ts +6 -1
  505. package/dist/types/enums.js +5 -0
  506. package/dist/types/enums.js.map +1 -1
  507. package/dist/types/processor.types.d.ts +197 -35
  508. package/dist/types/processor.types.js +9 -1
  509. package/dist/types/processor.types.js.map +1 -1
  510. package/dist/types/productsBuilder.types.d.ts +837 -75
  511. package/dist/types/productsBuilder.types.js +168 -62
  512. package/dist/types/productsBuilder.types.js.map +1 -1
  513. package/dist/utils/index.d.ts +0 -2
  514. package/dist/utils/index.js +2 -49
  515. package/dist/utils/index.js.map +1 -1
  516. package/dist/vector/adapters/base.adapter.d.ts +152 -0
  517. package/dist/vector/adapters/base.adapter.js +137 -0
  518. package/dist/vector/adapters/base.adapter.js.map +1 -0
  519. package/dist/vector/adapters/index.d.ts +10 -0
  520. package/dist/vector/adapters/index.js +19 -0
  521. package/dist/vector/adapters/index.js.map +1 -0
  522. package/dist/vector/adapters/memory.adapter.d.ts +85 -0
  523. package/dist/vector/adapters/memory.adapter.js +505 -0
  524. package/dist/vector/adapters/memory.adapter.js.map +1 -0
  525. package/dist/vector/adapters/pinecone.adapter.d.ts +52 -0
  526. package/dist/vector/adapters/pinecone.adapter.js +400 -0
  527. package/dist/vector/adapters/pinecone.adapter.js.map +1 -0
  528. package/dist/vector/adapters/qdrant.adapter.d.ts +56 -0
  529. package/dist/vector/adapters/qdrant.adapter.js +392 -0
  530. package/dist/vector/adapters/qdrant.adapter.js.map +1 -0
  531. package/dist/vector/adapters/weaviate.adapter.d.ts +64 -0
  532. package/dist/vector/adapters/weaviate.adapter.js +478 -0
  533. package/dist/vector/adapters/weaviate.adapter.js.map +1 -0
  534. package/dist/vector/index.d.ts +47 -0
  535. package/dist/vector/index.js +72 -0
  536. package/dist/vector/index.js.map +1 -0
  537. package/dist/vector/types/connection.interface.d.ts +151 -0
  538. package/dist/vector/types/connection.interface.js +8 -0
  539. package/dist/vector/types/connection.interface.js.map +1 -0
  540. package/dist/vector/types/embedding.interface.d.ts +144 -0
  541. package/dist/vector/types/embedding.interface.js +8 -0
  542. package/dist/vector/types/embedding.interface.js.map +1 -0
  543. package/dist/vector/types/enums.d.ts +104 -0
  544. package/dist/vector/types/enums.js +113 -0
  545. package/dist/vector/types/enums.js.map +1 -0
  546. package/dist/vector/types/index.d.ts +9 -0
  547. package/dist/vector/types/index.js +16 -0
  548. package/dist/vector/types/index.js.map +1 -0
  549. package/dist/vector/types/vector.interface.d.ts +315 -0
  550. package/dist/vector/types/vector.interface.js +8 -0
  551. package/dist/vector/types/vector.interface.js.map +1 -0
  552. package/dist/vector/utils/index.d.ts +6 -0
  553. package/dist/vector/utils/index.js +11 -0
  554. package/dist/vector/utils/index.js.map +1 -0
  555. package/dist/vector/utils/vector-error.d.ts +69 -0
  556. package/dist/vector/utils/vector-error.js +117 -0
  557. package/dist/vector/utils/vector-error.js.map +1 -0
  558. package/dist/vector/vector-database.service.d.ts +405 -0
  559. package/dist/vector/vector-database.service.js +544 -0
  560. package/dist/vector/vector-database.service.js.map +1 -0
  561. package/dist/vector/vector.service.d.ts +245 -0
  562. package/dist/vector/vector.service.js +381 -0
  563. package/dist/vector/vector.service.js.map +1 -0
  564. package/dist/workflows/index.d.ts +30 -0
  565. package/dist/workflows/index.js +64 -0
  566. package/dist/workflows/index.js.map +1 -0
  567. package/dist/workflows/types/index.d.ts +6 -0
  568. package/dist/workflows/types/index.js +23 -0
  569. package/dist/workflows/types/index.js.map +1 -0
  570. package/dist/workflows/types/workflows.types.d.ts +1035 -0
  571. package/dist/workflows/types/workflows.types.js +13 -0
  572. package/dist/workflows/types/workflows.types.js.map +1 -0
  573. package/dist/workflows/workflow-builder.d.ts +70 -0
  574. package/dist/workflows/workflow-builder.js +338 -0
  575. package/dist/workflows/workflow-builder.js.map +1 -0
  576. package/dist/workflows/workflow-executor.d.ts +205 -0
  577. package/dist/workflows/workflow-executor.js +1186 -0
  578. package/dist/workflows/workflow-executor.js.map +1 -0
  579. package/dist/workflows/workflows.service.d.ts +398 -0
  580. package/dist/workflows/workflows.service.js +1595 -0
  581. package/dist/workflows/workflows.service.js.map +1 -0
  582. package/package.json +16 -13
  583. package/dist/actions/actions.repo.d.ts +0 -0
  584. package/dist/actions/actions.repo.js +0 -13
  585. package/dist/actions/actions.repo.js.map +0 -1
  586. package/dist/actions/actions.service.d.ts +0 -0
  587. package/dist/actions/actions.service.js +0 -24
  588. package/dist/actions/actions.service.js.map +0 -1
  589. package/dist/actions/utils/actions.util.read.d.ts +0 -0
  590. package/dist/actions/utils/actions.util.read.js +0 -427
  591. package/dist/actions/utils/actions.util.read.js.map +0 -1
  592. package/dist/api/services/integrationsApi.service.d.ts +0 -18
  593. package/dist/api/services/integrationsApi.service.js +0 -80
  594. package/dist/api/services/integrationsApi.service.js.map +0 -1
  595. package/dist/api/services/workspaceSecretsApi.service.d.ts +0 -75
  596. package/dist/api/services/workspaceSecretsApi.service.js +0 -62
  597. package/dist/api/services/workspaceSecretsApi.service.js.map +0 -1
  598. package/dist/appBuilder/services/app.service.d.ts +0 -111
  599. package/dist/appBuilder/services/app.service.js +0 -737
  600. package/dist/appBuilder/services/app.service.js.map +0 -1
  601. package/dist/appBuilder/services/appBuilder.service.d.ts +0 -111
  602. package/dist/appBuilder/services/appBuilder.service.js +0 -662
  603. package/dist/appBuilder/services/appBuilder.service.js.map +0 -1
  604. package/dist/appBuilder/utils/objects.utils.d.ts +0 -3
  605. package/dist/appBuilder/utils/objects.utils.js +0 -9
  606. package/dist/appBuilder/utils/objects.utils.js.map +0 -1
  607. package/dist/appBuilder/utils/string.utils.d.ts +0 -2
  608. package/dist/appBuilder/utils/string.utils.js +0 -57
  609. package/dist/appBuilder/utils/string.utils.js.map +0 -1
  610. package/dist/appBuilder/validators/index.d.ts +0 -19
  611. package/dist/appBuilder/validators/index.js +0 -40
  612. package/dist/appBuilder/validators/index.js.map +0 -1
  613. package/dist/appBuilder/validators/joi-validators/create.app.validator.d.ts +0 -3
  614. package/dist/appBuilder/validators/joi-validators/create.app.validator.js +0 -10
  615. package/dist/appBuilder/validators/joi-validators/create.app.validator.js.map +0 -1
  616. package/dist/appBuilder/validators/joi-validators/create.appAction.validator.d.ts +0 -4
  617. package/dist/appBuilder/validators/joi-validators/create.appAction.validator.js +0 -20
  618. package/dist/appBuilder/validators/joi-validators/create.appAction.validator.js.map +0 -1
  619. package/dist/appBuilder/validators/joi-validators/create.appActionResponse.validator.d.ts +0 -7
  620. package/dist/appBuilder/validators/joi-validators/create.appActionResponse.validator.js +0 -44
  621. package/dist/appBuilder/validators/joi-validators/create.appActionResponse.validator.js.map +0 -1
  622. package/dist/appBuilder/validators/joi-validators/create.appAuth.validator.d.ts +0 -3
  623. package/dist/appBuilder/validators/joi-validators/create.appAuth.validator.js +0 -31
  624. package/dist/appBuilder/validators/joi-validators/create.appAuth.validator.js.map +0 -1
  625. package/dist/appBuilder/validators/joi-validators/create.appBody.validators.d.ts +0 -4
  626. package/dist/appBuilder/validators/joi-validators/create.appBody.validators.js +0 -11
  627. package/dist/appBuilder/validators/joi-validators/create.appBody.validators.js.map +0 -1
  628. package/dist/appBuilder/validators/joi-validators/create.appConstants.validator.d.ts +0 -4
  629. package/dist/appBuilder/validators/joi-validators/create.appConstants.validator.js +0 -12
  630. package/dist/appBuilder/validators/joi-validators/create.appConstants.validator.js.map +0 -1
  631. package/dist/appBuilder/validators/joi-validators/create.appEnv.validator.d.ts +0 -4
  632. package/dist/appBuilder/validators/joi-validators/create.appEnv.validator.js +0 -17
  633. package/dist/appBuilder/validators/joi-validators/create.appEnv.validator.js.map +0 -1
  634. package/dist/appBuilder/validators/joi-validators/create.appEvent.validator.d.ts +0 -5
  635. package/dist/appBuilder/validators/joi-validators/create.appEvent.validator.js +0 -30
  636. package/dist/appBuilder/validators/joi-validators/create.appEvent.validator.js.map +0 -1
  637. package/dist/appBuilder/validators/joi-validators/create.appVariable.validator.d.ts +0 -4
  638. package/dist/appBuilder/validators/joi-validators/create.appVariable.validator.js +0 -14
  639. package/dist/appBuilder/validators/joi-validators/create.appVariable.validator.js.map +0 -1
  640. package/dist/appBuilder/validators/joi-validators/sample.validator.d.ts +0 -5
  641. package/dist/appBuilder/validators/joi-validators/sample.validator.js +0 -26
  642. package/dist/appBuilder/validators/joi-validators/sample.validator.js.map +0 -1
  643. package/dist/appBuilder/validators/joi-validators/update.app.validator.d.ts +0 -4
  644. package/dist/appBuilder/validators/joi-validators/update.app.validator.js +0 -34
  645. package/dist/appBuilder/validators/joi-validators/update.app.validator.js.map +0 -1
  646. package/dist/appBuilder/validators/joi-validators/update.appAction.validator.d.ts +0 -4
  647. package/dist/appBuilder/validators/joi-validators/update.appAction.validator.js +0 -23
  648. package/dist/appBuilder/validators/joi-validators/update.appAction.validator.js.map +0 -1
  649. package/dist/appBuilder/validators/joi-validators/update.appActionResponse.validator.d.ts +0 -3
  650. package/dist/appBuilder/validators/joi-validators/update.appActionResponse.validator.js +0 -21
  651. package/dist/appBuilder/validators/joi-validators/update.appActionResponse.validator.js.map +0 -1
  652. package/dist/appBuilder/validators/joi-validators/update.appAuth.validator.d.ts +0 -4
  653. package/dist/appBuilder/validators/joi-validators/update.appAuth.validator.js +0 -19
  654. package/dist/appBuilder/validators/joi-validators/update.appAuth.validator.js.map +0 -1
  655. package/dist/appBuilder/validators/joi-validators/update.appConstants.validator.d.ts +0 -4
  656. package/dist/appBuilder/validators/joi-validators/update.appConstants.validator.js +0 -12
  657. package/dist/appBuilder/validators/joi-validators/update.appConstants.validator.js.map +0 -1
  658. package/dist/appBuilder/validators/joi-validators/update.appEnv.validator.d.ts +0 -4
  659. package/dist/appBuilder/validators/joi-validators/update.appEnv.validator.js +0 -17
  660. package/dist/appBuilder/validators/joi-validators/update.appEnv.validator.js.map +0 -1
  661. package/dist/appBuilder/validators/joi-validators/update.appEvent.validator.d.ts +0 -4
  662. package/dist/appBuilder/validators/joi-validators/update.appEvent.validator.js +0 -16
  663. package/dist/appBuilder/validators/joi-validators/update.appEvent.validator.js.map +0 -1
  664. package/dist/appBuilder/validators/joi-validators/update.appVariables.validator.d.ts +0 -4
  665. package/dist/appBuilder/validators/joi-validators/update.appVariables.validator.js +0 -14
  666. package/dist/appBuilder/validators/joi-validators/update.appVariables.validator.js.map +0 -1
  667. package/dist/appBuilder/validators/joi-validators/update.validation.entityData.validator.d.ts +0 -3
  668. package/dist/appBuilder/validators/joi-validators/update.validation.entityData.validator.js +0 -27
  669. package/dist/appBuilder/validators/joi-validators/update.validation.entityData.validator.js.map +0 -1
  670. package/dist/apps/validators/joi-validators/create.appEvent.validator.d.ts +0 -5
  671. package/dist/apps/validators/joi-validators/create.appEvent.validator.js +0 -30
  672. package/dist/apps/validators/joi-validators/create.appEvent.validator.js.map +0 -1
  673. package/dist/apps/validators/joi-validators/update.appEvent.validator.d.ts +0 -4
  674. package/dist/apps/validators/joi-validators/update.appEvent.validator.js +0 -16
  675. package/dist/apps/validators/joi-validators/update.appEvent.validator.js.map +0 -1
  676. package/dist/clients/integrations.client.d.ts +0 -2
  677. package/dist/clients/integrations.client.js +0 -26
  678. package/dist/clients/integrations.client.js.map +0 -1
  679. package/dist/database/database.service.d.ts +0 -232
  680. package/dist/database/database.service.js +0 -802
  681. package/dist/database/database.service.js.map +0 -1
  682. package/dist/database/types/aggregation.types.d.ts +0 -261
  683. package/dist/database/types/aggregation.types.js +0 -21
  684. package/dist/database/types/aggregation.types.js.map +0 -1
  685. package/dist/database/types/connection.types.d.ts +0 -132
  686. package/dist/database/types/connection.types.js +0 -6
  687. package/dist/database/types/connection.types.js.map +0 -1
  688. package/dist/database/types/database.types.d.ts +0 -175
  689. package/dist/database/types/database.types.js +0 -75
  690. package/dist/database/types/database.types.js.map +0 -1
  691. package/dist/database/types/index.types.d.ts +0 -220
  692. package/dist/database/types/index.types.js +0 -27
  693. package/dist/database/types/index.types.js.map +0 -1
  694. package/dist/database/types/migration.types.d.ts +0 -205
  695. package/dist/database/types/migration.types.js +0 -44
  696. package/dist/database/types/migration.types.js.map +0 -1
  697. package/dist/database/types/query.types.d.ts +0 -305
  698. package/dist/database/types/query.types.js +0 -57
  699. package/dist/database/types/query.types.js.map +0 -1
  700. package/dist/database/types/result.types.d.ts +0 -220
  701. package/dist/database/types/result.types.js +0 -6
  702. package/dist/database/types/result.types.js.map +0 -1
  703. package/dist/database/types/schema.types.d.ts +0 -190
  704. package/dist/database/types/schema.types.js +0 -69
  705. package/dist/database/types/schema.types.js.map +0 -1
  706. package/dist/database/utils/helpers.d.ts +0 -66
  707. package/dist/database/utils/helpers.js +0 -501
  708. package/dist/database/utils/helpers.js.map +0 -1
  709. package/dist/database/utils/migration.utils.d.ts +0 -151
  710. package/dist/database/utils/migration.utils.js +0 -476
  711. package/dist/database/utils/migration.utils.js.map +0 -1
  712. package/dist/database/utils/transaction.d.ts +0 -64
  713. package/dist/database/utils/transaction.js +0 -130
  714. package/dist/database/utils/transaction.js.map +0 -1
  715. package/dist/database/validators/connection.validator.d.ts +0 -20
  716. package/dist/database/validators/connection.validator.js +0 -267
  717. package/dist/database/validators/connection.validator.js.map +0 -1
  718. package/dist/database/validators/query.validator.d.ts +0 -31
  719. package/dist/database/validators/query.validator.js +0 -305
  720. package/dist/database/validators/query.validator.js.map +0 -1
  721. package/dist/database/validators/schema.validator.d.ts +0 -31
  722. package/dist/database/validators/schema.validator.js +0 -334
  723. package/dist/database/validators/schema.validator.js.map +0 -1
  724. package/dist/graph/graph.service.d.ts +0 -278
  725. package/dist/graph/graph.service.js +0 -687
  726. package/dist/graph/graph.service.js.map +0 -1
  727. package/dist/graph/types/connection.types.d.ts +0 -158
  728. package/dist/graph/types/connection.types.js +0 -43
  729. package/dist/graph/types/connection.types.js.map +0 -1
  730. package/dist/graph/types/graph.types.d.ts +0 -144
  731. package/dist/graph/types/graph.types.js +0 -84
  732. package/dist/graph/types/graph.types.js.map +0 -1
  733. package/dist/graph/types/node.types.d.ts +0 -193
  734. package/dist/graph/types/node.types.js +0 -49
  735. package/dist/graph/types/node.types.js.map +0 -1
  736. package/dist/graph/types/path.types.d.ts +0 -224
  737. package/dist/graph/types/path.types.js +0 -38
  738. package/dist/graph/types/path.types.js.map +0 -1
  739. package/dist/graph/types/query.types.d.ts +0 -247
  740. package/dist/graph/types/query.types.js +0 -23
  741. package/dist/graph/types/query.types.js.map +0 -1
  742. package/dist/graph/types/relationship.types.d.ts +0 -224
  743. package/dist/graph/types/relationship.types.js +0 -35
  744. package/dist/graph/types/relationship.types.js.map +0 -1
  745. package/dist/graph/types/result.types.d.ts +0 -237
  746. package/dist/graph/types/result.types.js +0 -7
  747. package/dist/graph/types/result.types.js.map +0 -1
  748. package/dist/graph/validators/index.d.ts +0 -81
  749. package/dist/graph/validators/index.js +0 -243
  750. package/dist/graph/validators/index.js.map +0 -1
  751. package/dist/integrationsBuilder/services/integration.service.d.ts +0 -138
  752. package/dist/integrationsBuilder/services/integration.service.js +0 -1148
  753. package/dist/integrationsBuilder/services/integration.service.js.map +0 -1
  754. package/dist/integrationsBuilder/services/integrationBuilder.service.d.ts +0 -130
  755. package/dist/integrationsBuilder/services/integrationBuilder.service.js +0 -1017
  756. package/dist/integrationsBuilder/services/integrationBuilder.service.js.map +0 -1
  757. package/dist/integrationsBuilder/utils/objects.utils.d.ts +0 -2
  758. package/dist/integrationsBuilder/utils/objects.utils.js +0 -48
  759. package/dist/integrationsBuilder/utils/objects.utils.js.map +0 -1
  760. package/dist/integrationsBuilder/utils/string.utils.d.ts +0 -1
  761. package/dist/integrationsBuilder/utils/string.utils.js +0 -9
  762. package/dist/integrationsBuilder/utils/string.utils.js.map +0 -1
  763. package/dist/integrationsBuilder/validators/index.d.ts +0 -18
  764. package/dist/integrationsBuilder/validators/index.js +0 -38
  765. package/dist/integrationsBuilder/validators/index.js.map +0 -1
  766. package/dist/integrationsBuilder/validators/joi-validators/create.integration.validator.d.ts +0 -3
  767. package/dist/integrationsBuilder/validators/joi-validators/create.integration.validator.js +0 -10
  768. package/dist/integrationsBuilder/validators/joi-validators/create.integration.validator.js.map +0 -1
  769. package/dist/integrationsBuilder/validators/joi-validators/create.integrationApp.validator.d.ts +0 -4
  770. package/dist/integrationsBuilder/validators/joi-validators/create.integrationApp.validator.js +0 -26
  771. package/dist/integrationsBuilder/validators/joi-validators/create.integrationApp.validator.js.map +0 -1
  772. package/dist/integrationsBuilder/validators/joi-validators/create.integrationCache.validator.d.ts +0 -3
  773. package/dist/integrationsBuilder/validators/joi-validators/create.integrationCache.validator.js +0 -8
  774. package/dist/integrationsBuilder/validators/joi-validators/create.integrationCache.validator.js.map +0 -1
  775. package/dist/integrationsBuilder/validators/joi-validators/create.integrationDatabase.validator.d.ts +0 -3
  776. package/dist/integrationsBuilder/validators/joi-validators/create.integrationDatabase.validator.js +0 -8
  777. package/dist/integrationsBuilder/validators/joi-validators/create.integrationDatabase.validator.js.map +0 -1
  778. package/dist/integrationsBuilder/validators/joi-validators/create.integrationEnv.validator.d.ts +0 -3
  779. package/dist/integrationsBuilder/validators/joi-validators/create.integrationEnv.validator.js +0 -10
  780. package/dist/integrationsBuilder/validators/joi-validators/create.integrationEnv.validator.js.map +0 -1
  781. package/dist/integrationsBuilder/validators/joi-validators/create.integrationFeature.validator.d.ts +0 -3
  782. package/dist/integrationsBuilder/validators/joi-validators/create.integrationFeature.validator.js +0 -60
  783. package/dist/integrationsBuilder/validators/joi-validators/create.integrationFeature.validator.js.map +0 -1
  784. package/dist/integrationsBuilder/validators/joi-validators/create.integrationFunction.validator.d.ts +0 -3
  785. package/dist/integrationsBuilder/validators/joi-validators/create.integrationFunction.validator.js +0 -8
  786. package/dist/integrationsBuilder/validators/joi-validators/create.integrationFunction.validator.js.map +0 -1
  787. package/dist/integrationsBuilder/validators/joi-validators/create.integrationJob.validator.d.ts +0 -3
  788. package/dist/integrationsBuilder/validators/joi-validators/create.integrationJob.validator.js +0 -8
  789. package/dist/integrationsBuilder/validators/joi-validators/create.integrationJob.validator.js.map +0 -1
  790. package/dist/integrationsBuilder/validators/joi-validators/create.integrationNotification.validator.d.ts +0 -3
  791. package/dist/integrationsBuilder/validators/joi-validators/create.integrationNotification.validator.js +0 -8
  792. package/dist/integrationsBuilder/validators/joi-validators/create.integrationNotification.validator.js.map +0 -1
  793. package/dist/integrationsBuilder/validators/joi-validators/update.integrationApp.validator.d.ts +0 -3
  794. package/dist/integrationsBuilder/validators/joi-validators/update.integrationApp.validator.js +0 -9
  795. package/dist/integrationsBuilder/validators/joi-validators/update.integrationApp.validator.js.map +0 -1
  796. package/dist/integrationsBuilder/validators/joi-validators/update.integrationCache.validator.d.ts +0 -3
  797. package/dist/integrationsBuilder/validators/joi-validators/update.integrationCache.validator.js +0 -8
  798. package/dist/integrationsBuilder/validators/joi-validators/update.integrationCache.validator.js.map +0 -1
  799. package/dist/integrationsBuilder/validators/joi-validators/update.integrationDatabase.validator.d.ts +0 -3
  800. package/dist/integrationsBuilder/validators/joi-validators/update.integrationDatabase.validator.js +0 -8
  801. package/dist/integrationsBuilder/validators/joi-validators/update.integrationDatabase.validator.js.map +0 -1
  802. package/dist/integrationsBuilder/validators/joi-validators/update.integrationEnv.validator.d.ts +0 -3
  803. package/dist/integrationsBuilder/validators/joi-validators/update.integrationEnv.validator.js +0 -8
  804. package/dist/integrationsBuilder/validators/joi-validators/update.integrationEnv.validator.js.map +0 -1
  805. package/dist/integrationsBuilder/validators/joi-validators/update.integrationFeature.validator.d.ts +0 -3
  806. package/dist/integrationsBuilder/validators/joi-validators/update.integrationFeature.validator.js +0 -8
  807. package/dist/integrationsBuilder/validators/joi-validators/update.integrationFeature.validator.js.map +0 -1
  808. package/dist/integrationsBuilder/validators/joi-validators/update.integrationFunction.validator copy.d.ts +0 -3
  809. package/dist/integrationsBuilder/validators/joi-validators/update.integrationFunction.validator copy.js +0 -8
  810. package/dist/integrationsBuilder/validators/joi-validators/update.integrationFunction.validator copy.js.map +0 -1
  811. package/dist/integrationsBuilder/validators/joi-validators/update.integrationJob.validator.d.ts +0 -3
  812. package/dist/integrationsBuilder/validators/joi-validators/update.integrationJob.validator.js +0 -8
  813. package/dist/integrationsBuilder/validators/joi-validators/update.integrationJob.validator.js.map +0 -1
  814. package/dist/integrationsBuilder/validators/joi-validators/update.integrationNotification.validator.d.ts +0 -3
  815. package/dist/integrationsBuilder/validators/joi-validators/update.integrationNotification.validator.js +0 -8
  816. package/dist/integrationsBuilder/validators/joi-validators/update.integrationNotification.validator.js.map +0 -1
  817. package/dist/postman.d.ts +0 -1
  818. package/dist/postman.js +0 -21674
  819. package/dist/postman.js.map +0 -1
  820. package/dist/processor/utils/mongo.util.d.ts +0 -0
  821. package/dist/processor/utils/mongo.util.js +0 -152
  822. package/dist/processor/utils/mongo.util.js.map +0 -1
  823. package/dist/processor/utils/postgres.util.d.ts +0 -14
  824. package/dist/processor/utils/postgres.util.js +0 -83
  825. package/dist/processor/utils/postgres.util.js.map +0 -1
  826. package/dist/products/services/utils/crypt.utils.d.ts +0 -1
  827. package/dist/products/services/utils/crypt.utils.js +0 -17
  828. package/dist/products/services/utils/crypt.utils.js.map +0 -1
  829. package/dist/products/services/utils/functions.utils.d.ts +0 -13
  830. package/dist/products/services/utils/functions.utils.js +0 -289
  831. package/dist/products/services/utils/functions.utils.js.map +0 -1
  832. package/dist/products/services/utils/objects.utils.d.ts +0 -13
  833. package/dist/products/services/utils/objects.utils.js +0 -89
  834. package/dist/products/services/utils/objects.utils.js.map +0 -1
  835. package/dist/products/services/utils/string.utils.d.ts +0 -12
  836. package/dist/products/services/utils/string.utils.js +0 -168
  837. package/dist/products/services/utils/string.utils.js.map +0 -1
  838. package/dist/products/validators/joi-validators/create.product.validator.d.ts +0 -3
  839. package/dist/products/validators/joi-validators/create.product.validator.js +0 -10
  840. package/dist/products/validators/joi-validators/create.product.validator.js.map +0 -1
  841. package/dist/products/validators/joi-validators/create.productGraphAction.validator.d.ts +0 -14
  842. package/dist/products/validators/joi-validators/create.productGraphAction.validator.js +0 -696
  843. package/dist/products/validators/joi-validators/create.productGraphAction.validator.js.map +0 -1
  844. package/dist/products/validators/joi-validators/update.productGraphAction.validator.d.ts +0 -7
  845. package/dist/products/validators/joi-validators/update.productGraphAction.validator.js +0 -72
  846. package/dist/products/validators/joi-validators/update.productGraphAction.validator.js.map +0 -1
  847. package/dist/test.appBuilder.js +0 -14
  848. package/dist/test.appBuilder.js.map +0 -1
  849. package/dist/test.import.d.ts +0 -0
  850. package/dist/test.import.js +0 -24
  851. package/dist/test.import.js.map +0 -1
  852. package/dist/test.imports.js +0 -28
  853. package/dist/test.imports.js.map +0 -1
  854. package/dist/test.integrationBuilder.js +0 -276
  855. package/dist/test.integrationBuilder.js.map +0 -1
  856. package/dist/test.processor.d.ts +0 -1
  857. package/dist/test.processor.js +0 -23
  858. package/dist/test.processor.js.map +0 -1
  859. package/dist/test.utils.d.ts +0 -1
  860. package/dist/test.utils.js +0 -25
  861. package/dist/test.utils.js.map +0 -1
  862. package/dist/tsconfig.tsbuildinfo +0 -1
  863. package/dist/types/integrationsBuilder.types.d.ts +0 -276
  864. package/dist/types/integrationsBuilder.types.js +0 -51
  865. package/dist/types/integrationsBuilder.types.js.map +0 -1
  866. /package/dist/{test.appBuilder.d.ts → test/test.database.d.ts} +0 -0
  867. /package/dist/{test.imports.d.ts → test/test.storage.d.ts} +0 -0
  868. /package/dist/{test.integrationBuilder.d.ts → test/test.triggers.d.ts} +0 -0
@@ -1,1017 +0,0 @@
1
- "use strict";
2
- var __rest = (this && this.__rest) || function (s, e) {
3
- var t = {};
4
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
5
- t[p] = s[p];
6
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
7
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
8
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
9
- t[p[i]] = s[p[i]];
10
- }
11
- return t;
12
- };
13
- Object.defineProperty(exports, "__esModule", { value: true });
14
- const appApi_service_1 = require("../../api/services/appApi.service");
15
- const integrationsApi_service_1 = require("../../api/services/integrationsApi.service");
16
- const userApi_service_1 = require("../../api/services/userApi.service");
17
- const inputs_service_1 = require("../../inputs/inputs.service");
18
- const inputs_utils_create_1 = require("../../inputs/utils/inputs.utils.create");
19
- const enums_1 = require("../../types/enums");
20
- const integrationsBuilder_types_1 = require("../../types/integrationsBuilder.types");
21
- const validators_1 = require("../validators");
22
- const objects_utils_1 = require("../utils/objects.utils");
23
- const inputs_types_1 = require("../../types/inputs.types");
24
- const string_utils_1 = require("../utils/string.utils");
25
- const workspaceApi_service_1 = require("../../api/services/workspaceApi.service");
26
- const string_utils_2 = require("../../appBuilder/utils/string.utils");
27
- class IntegrationsBuilderService {
28
- constructor({ workspace_id, public_key, user_id, token }) {
29
- this.workspace_id = workspace_id;
30
- this.public_key = public_key;
31
- this.user_id = user_id;
32
- this.token = token;
33
- this.userApi = new userApi_service_1.UserApiService();
34
- this.integrationApi = new integrationsApi_service_1.IntegrationsApiService();
35
- this.workspaceApi = new workspaceApi_service_1.WorkspaceApiService();
36
- this.appApi = new appApi_service_1.AppApiService();
37
- this.inputsService = new inputs_service_1.default();
38
- this.thirdPartyApps = [];
39
- }
40
- async createIntegration(data) {
41
- try {
42
- await validators_1.CreateIntegrationBuilderSchema.validateAsync(data);
43
- const exists = await this.checkIfIntegrationExists(data.name);
44
- if (exists && (exists === null || exists === void 0 ? void 0 : exists._id)) {
45
- await this.initializeIntegration(exists === null || exists === void 0 ? void 0 : exists._id);
46
- }
47
- else {
48
- const integration = await this.createNewIntegration(data);
49
- await this.initializeIntegration(integration._id);
50
- }
51
- }
52
- catch (e) {
53
- throw e;
54
- }
55
- }
56
- async initializeWorkspace() {
57
- if (!this.workspace) {
58
- this.workspace = await this.workspaceApi.fetchWorkspaceById(this.getUserAccess());
59
- }
60
- }
61
- async initializeIntegration(integration_id) {
62
- try {
63
- this.integration = await this.integrationApi.fetchIntegration(integration_id, this.getUserAccess());
64
- this.integration_id = integration_id;
65
- }
66
- catch (e) {
67
- throw e;
68
- }
69
- }
70
- async updateIntegration(data) {
71
- try {
72
- if (!this.app_id)
73
- throw new Error("Integration not initialized");
74
- await validators_1.CreateIntegrationBuilderSchema.validateAsync(data);
75
- await this.integrationApi.updateIntegration(this.integration_id, Object.assign({}, data), this.getUserAccess());
76
- await this.initializeIntegration(this.integration_id);
77
- }
78
- catch (e) {
79
- throw e;
80
- }
81
- }
82
- async createNewIntegration(data) {
83
- return this.integrationApi.createIntegration(Object.assign({}, data), this.getUserAccess());
84
- }
85
- async checkIfIntegrationExists(name) {
86
- try {
87
- return await this.integrationApi.checkIntegrationNameExists(name, this.getUserAccess());
88
- }
89
- catch (e) {
90
- return false;
91
- }
92
- }
93
- fetchIntegration() {
94
- if (!this.integration) {
95
- throw new Error('Integration not yet initiated');
96
- }
97
- return this.integration;
98
- }
99
- async createEnv(data, throwErrorIfExists = false) {
100
- try {
101
- // TODO: figure out a way to check if this has run before, halt if it has
102
- if (!this.fetchEnv(data.slug)) {
103
- await validators_1.CreateIntegrationEnvSchema.validateAsync(data);
104
- await this.integrationApi.updateIntegration(this.integration_id, Object.assign(Object.assign({}, data), { component: enums_1.IntegrationComponents.ENV, action: enums_1.RequestAction.CREATE }), this.getUserAccess());
105
- await this.initializeIntegration(this.integration_id);
106
- }
107
- else {
108
- if (throwErrorIfExists)
109
- throw new Error(`Environment ${data.slug} already exists`);
110
- }
111
- }
112
- catch (e) {
113
- throw e;
114
- }
115
- }
116
- async updateEnv(slug, data) {
117
- try {
118
- const { _id } = this.fetchEnv(slug, true);
119
- await validators_1.UpdateIntegrationEnvSchema.validateAsync(data); // Change to update;
120
- if (data.slug && this.fetchEnv(data.slug)) {
121
- throw new Error(`slug ${slug} is in use`); // TODO: also check on the backend
122
- }
123
- await this.integrationApi.updateIntegration(this.integration_id, Object.assign(Object.assign({ _id }, data), { component: enums_1.IntegrationComponents.ENV, action: enums_1.RequestAction.UPDATE }), this.getUserAccess());
124
- await this.initializeIntegration(this.integration_id);
125
- }
126
- catch (e) {
127
- throw e;
128
- }
129
- }
130
- fetchEnvs() {
131
- return this.integration.envs;
132
- }
133
- fetchEnv(slug, throwErrorIfExists = false) {
134
- const env = this.integration.envs.find((data) => data.slug === slug);
135
- if (!env && throwErrorIfExists)
136
- throw new Error(`Env ${slug} not found`);
137
- return env;
138
- }
139
- async validateAppData(appData, app) {
140
- // TODO:
141
- const { envs } = app;
142
- // const { envs: appEnvs, auths: appAuths } = appData
143
- await this.validateAppEnvs(envs, appData);
144
- // await this.validateAppAuth(auth, appData);
145
- }
146
- validateVariablesSchema(variables, appVariables) {
147
- if (variables && variables.length) {
148
- variables.map((data) => {
149
- const appVar = appVariables.find((value) => value.key === data.key);
150
- if (!appVar) {
151
- throw new Error(`variable key: ${data.key} not found`);
152
- }
153
- // if()
154
- });
155
- }
156
- }
157
- validateVariablesValues(variables, appVariables) {
158
- if (appVariables && appVariables.length) {
159
- appVariables.map((data) => {
160
- const find = variables.find((value) => value.key === data.key);
161
- if (data.required) {
162
- if (!find) {
163
- throw new Error(`variable key: ${data.key} is required`);
164
- }
165
- }
166
- if (find && data.type === enums_1.DataTypes.STRING) {
167
- this.inputsService.validateLength(data, find);
168
- }
169
- if (find && data.type === enums_1.DataTypes.BOOLEAN) {
170
- this.inputsService.validateBoolean(find);
171
- }
172
- if (find && data.type === enums_1.DataTypes.NUMBER_STRING) {
173
- this.inputsService.validateNumberString(data, find);
174
- }
175
- if (find && data.type === enums_1.DataTypes.UUID) {
176
- this.inputsService.validateUUID(find);
177
- }
178
- });
179
- }
180
- }
181
- async validateAppEnvs(envs, app) {
182
- const { envs: appEnvs } = app;
183
- envs.map(async (env) => {
184
- const { auth } = env;
185
- this.fetchEnv(env.integration_env_slug, true);
186
- const appEnv = appEnvs.find((appEnv) => appEnv.slug === env.app_env_slug);
187
- if (!appEnv) {
188
- throw new Error(`app_env_slug ${env.app_env_slug} not found`);
189
- }
190
- await this.validateAppAuth(auth, app);
191
- this.validateVariablesSchema(env.variables, app.variables);
192
- this.validateVariablesValues(env.variables, app.variables);
193
- });
194
- }
195
- async validateAppAuth(auth, app) {
196
- const { auths: appAuth, actions } = app;
197
- const exists = appAuth.find((appAuth) => appAuth.tag === auth.auth_tag);
198
- if (!exists) {
199
- throw new Error(`app_auth ${auth.auth_tag} not found`);
200
- }
201
- const { data } = auth;
202
- let bodySchema;
203
- let headerSchema;
204
- let paramsSchema;
205
- let querySchema;
206
- if (exists.action_tag) {
207
- const action = actions.find((action) => action.tag === exists.action_tag);
208
- if (!action)
209
- throw new Error(`Auth action tag ${exists.action_tag} not found`);
210
- bodySchema = action.body;
211
- headerSchema = action.headers;
212
- paramsSchema = action.params;
213
- querySchema = action.query;
214
- const { body, headers, params, query } = data;
215
- if (!body)
216
- throw new Error(`Auth body not allowed to be undefined. If empty set as {}`);
217
- if (!headers)
218
- throw new Error(`Auth headers not allowed to be undefined. If empty set as {}`);
219
- if (!params)
220
- throw new Error(`Auth params not allowed to be undefined. If empty set as {}`);
221
- if (!query)
222
- throw new Error(`Auth query not allowed to be undefined. If empty set as {}`);
223
- if (bodySchema && bodySchema.data) {
224
- const bodyValues = await this.inputsService.parseData({ data: body, category: enums_1.Categories.SETUP, expected: inputs_types_1.ExpectedValues.PARSEINPUT, type: enums_1.InputsTypes.JSON });
225
- (0, inputs_utils_create_1.validateInputSchema)(bodyValues, bodySchema);
226
- }
227
- if (headerSchema && headerSchema.data) {
228
- const headerValues = await this.inputsService.parseData({ data: headers, category: enums_1.Categories.SETUP, expected: inputs_types_1.ExpectedValues.PARSEINPUT, type: enums_1.InputsTypes.JSON });
229
- (0, inputs_utils_create_1.validateInputSchema)(headerValues, headerSchema);
230
- }
231
- if (paramsSchema && paramsSchema.data) {
232
- const paramsValues = await this.inputsService.parseData({ data: params, category: enums_1.Categories.SETUP, expected: inputs_types_1.ExpectedValues.PARSEINPUT, type: enums_1.InputsTypes.JSON });
233
- (0, inputs_utils_create_1.validateInputSchema)(paramsValues, paramsSchema);
234
- }
235
- if (querySchema && querySchema.data) {
236
- const queryValues = await this.inputsService.parseData({ data: query, category: enums_1.Categories.SETUP, expected: inputs_types_1.ExpectedValues.PARSEINPUT, type: enums_1.InputsTypes.JSON });
237
- (0, inputs_utils_create_1.validateInputSchema)(queryValues, querySchema);
238
- }
239
- }
240
- }
241
- async createAppAccessTag(app_tag) {
242
- await this.initializeWorkspace();
243
- const { name: workspace_name } = this.workspace;
244
- const app = await this.appApi.fetchAppByTag(app_tag, this.getUserAccess());
245
- if (!app) {
246
- throw new Error(`App ${app_tag} not found`);
247
- }
248
- const { _id: app_id } = app;
249
- const access_tag = `${app_tag}:${(0, string_utils_2.tagify)(workspace_name)}`;
250
- const { access } = await this.appApi.createAppAccess(app_id, this.integration_id, access_tag, this.getUserAccess());
251
- return {
252
- access_tag,
253
- access
254
- };
255
- }
256
- async addApp(app, throwErrorIfExists = false) {
257
- try {
258
- await validators_1.CreateIntegrationAppSchema.validateAsync(app);
259
- // TODO: figure out a way to check if this has run before, halt if it has
260
- if (!this.fetchApp(app.access_tag, throwErrorIfExists)) {
261
- // console.log("ZOOMER =====>", app);
262
- const access = await this.appApi.fetchAccessByTag(app.access_tag, this.getUserAccess());
263
- if (!access) {
264
- throw new Error(`Access to app ${app.access_tag} not found`);
265
- }
266
- const appData = await this.appApi.fetchApp(access.app_id, this.getUserAccess());
267
- if (!appData) {
268
- throw new Error(`App ${app.access_tag} not found`);
269
- }
270
- await this.validateAppData(appData, app);
271
- // console.log("UPDATE INTEGRATION HERE ====>>>>>", app);
272
- await this.integrationApi.updateIntegration(this.integration_id, Object.assign(Object.assign({}, app), { component: enums_1.IntegrationComponents.APP, action: enums_1.RequestAction.CREATE }), this.getUserAccess());
273
- await this.initializeIntegration(this.integration_id);
274
- }
275
- else {
276
- if (throwErrorIfExists)
277
- throw new Error(`App ${app.access_tag} already exists`);
278
- }
279
- }
280
- catch (e) {
281
- throw e;
282
- }
283
- }
284
- async updateApp(access_tag, data) {
285
- try {
286
- const { _id } = this.fetchApp(access_tag);
287
- //await UpdateIntegrationAppSchema.validateAsync(data); // Change to update;
288
- if (data.access_tag && data.access_tag !== access_tag) {
289
- throw new Error(`access_tag mismatch between ${access_tag} and ${data.access_tag}`);
290
- }
291
- if (!this.fetchApp(access_tag)) {
292
- throw new Error(`access_tag ${access_tag} not found`); // TODO: also check on the backend
293
- }
294
- /*if (data.access_tag && this.fetchApp(data.access_tag)) {
295
- throw new Error(`access_tag ${access_tag} is in use`); // TODO: also check on the backend
296
- }*/
297
- await this.integrationApi.updateIntegration(this.integration_id, Object.assign(Object.assign({ _id }, data), { access_tag, component: enums_1.IntegrationComponents.APP, action: enums_1.RequestAction.UPDATE }), this.getUserAccess());
298
- await this.initializeIntegration(this.integration_id);
299
- }
300
- catch (e) {
301
- throw e;
302
- }
303
- }
304
- fetchApps() {
305
- return this.integration.apps;
306
- }
307
- fetchApp(tag, throwErrorIfExists = false) {
308
- const app = this.integration.apps.find((data) => data.access_tag === tag);
309
- if (!app && throwErrorIfExists)
310
- throw new Error(`App ${tag} not found`);
311
- return app;
312
- }
313
- async createFunction(data, throwErrorIfExists = false) {
314
- try {
315
- // TODO: figure out a way to check if this has run before, halt if it has
316
- if (!this.fetchFunction(data.tag)) {
317
- await validators_1.CreateIntegrationFunctionSchema.validateAsync(data);
318
- await this.integrationApi.updateIntegration(this.integration_id, Object.assign(Object.assign({}, data), { component: enums_1.IntegrationComponents.FUNCTION }), this.getUserAccess());
319
- await this.initializeIntegration(this.integration_id);
320
- }
321
- else {
322
- if (throwErrorIfExists)
323
- throw new Error(`Function ${data.tag} already exists`);
324
- }
325
- }
326
- catch (e) {
327
- throw e;
328
- }
329
- }
330
- async updateFunction(tag, data) {
331
- try {
332
- const { _id } = this.fetchFunction(tag);
333
- await validators_1.UpdateIntegrationFunctionSchema.validateAsync(data); // Change to update;
334
- if (data.tag && this.fetchFunction(data.tag)) {
335
- throw new Error(`tag ${tag} is in use`); // TODO: also check on the backend
336
- }
337
- await this.integrationApi.updateIntegration(this.integration_id, Object.assign(Object.assign({ _id }, data), { component: enums_1.IntegrationComponents.FUNCTION }), this.getUserAccess());
338
- await this.initializeIntegration(this.integration_id);
339
- }
340
- catch (e) {
341
- throw e;
342
- }
343
- }
344
- fetchFunctions() {
345
- return this.integration.functions;
346
- }
347
- fetchFunction(tag) {
348
- const func = this.integration.functions.find((data) => data.tag === tag);
349
- if (!func)
350
- throw new Error(`Function ${tag} not found`);
351
- return func;
352
- }
353
- async createCache(data, throwErrorIfExists = false) {
354
- try {
355
- // TODO: figure out a way to check if this has run before, halt if it has
356
- if (!this.fetchCache(data.tag)) {
357
- await validators_1.CreateIntegrationCacheSchema.validateAsync(data);
358
- await this.integrationApi.updateIntegration(this.integration_id, Object.assign(Object.assign({}, data), { component: enums_1.IntegrationComponents.CACHE }), this.getUserAccess());
359
- await this.initializeIntegration(this.integration_id);
360
- }
361
- else {
362
- if (throwErrorIfExists)
363
- throw new Error(`Cache ${data.tag} already exists`);
364
- }
365
- }
366
- catch (e) {
367
- throw e;
368
- }
369
- }
370
- async updateCache(tag, data) {
371
- try {
372
- const { _id } = this.fetchCache(tag);
373
- await validators_1.UpdateIntegrationCacheSchema.validateAsync(data); // Change to update;
374
- if (data.tag && this.fetchCache(data.tag)) {
375
- throw new Error(`tag ${tag} is in use`); // TODO: also check on the backend
376
- }
377
- await this.integrationApi.updateIntegration(this.integration_id, Object.assign(Object.assign({ _id }, data), { component: enums_1.IntegrationComponents.CACHE }), this.getUserAccess());
378
- await this.initializeIntegration(this.integration_id);
379
- }
380
- catch (e) {
381
- throw e;
382
- }
383
- }
384
- fetchCache(tag) {
385
- const cache = this.integration.caches.find((data) => data.tag === tag);
386
- if (!cache)
387
- throw new Error(`Function ${tag} not found`);
388
- return cache;
389
- }
390
- fetchCaches() {
391
- return this.integration.caches;
392
- }
393
- async createNotification(data, throwErrorIfExists = false) {
394
- try {
395
- // TODO: figure out a way to check if this has run before, halt if it has
396
- if (!this.fetchNotification(data.tag)) {
397
- await validators_1.CreateIntegrationNotificationSchema.validateAsync(data);
398
- await this.integrationApi.updateIntegration(this.integration_id, Object.assign(Object.assign({}, data), { component: enums_1.IntegrationComponents.NOTIFICATION }), this.getUserAccess());
399
- await this.initializeIntegration(this.integration_id);
400
- }
401
- else {
402
- if (throwErrorIfExists)
403
- throw new Error(`Notification ${data.tag} already exists`);
404
- }
405
- }
406
- catch (e) {
407
- throw e;
408
- }
409
- }
410
- async updateNotification(tag, data) {
411
- try {
412
- const { _id } = this.fetchNotification(tag);
413
- await validators_1.UpdateIntegrationNotificationSchema.validateAsync(data); // Change to update;
414
- if (data.tag && this.fetchNotification(data.tag)) {
415
- throw new Error(`tag ${tag} is in use`); // TODO: also check on the backend
416
- }
417
- await this.integrationApi.updateIntegration(this.integration_id, Object.assign(Object.assign({ _id }, data), { component: enums_1.IntegrationComponents.NOTIFICATION }), this.getUserAccess());
418
- await this.initializeIntegration(this.integration_id);
419
- }
420
- catch (e) {
421
- throw e;
422
- }
423
- }
424
- fetchNotification(tag) {
425
- const notification = this.integration.notifications.find((data) => data.tag === tag);
426
- if (!notification)
427
- throw new Error(`Function ${tag} not found`);
428
- return notification;
429
- }
430
- fetchNotifications() {
431
- return this.integration.notifications;
432
- }
433
- validateFeatureSequence(array) {
434
- // Validate uniqueness of sequence_tag
435
- const uniqueTags = new Set();
436
- for (const item of array) {
437
- if (uniqueTags.has(item.sequence_tag)) {
438
- throw new Error(`Duplicate sequence_tag found: ${item.sequence_tag}`);
439
- }
440
- uniqueTags.add(item.sequence_tag);
441
- }
442
- // Validate levels are in order starting from 0
443
- /*let expectedLevel = 0;
444
- for (const item of array) {
445
- if (item.level !== expectedLevel) {
446
- throw new Error(`Invalid level found: expected ${expectedLevel}, found ${item.level}`);
447
- }
448
- expectedLevel++;
449
- }*/
450
- }
451
- validateUniqueEventTags(data) {
452
- const eventTagsSet = new Set(); // TODO: this might have to be moved to line 658
453
- data.sequence.forEach(sequence => {
454
- sequence.events.forEach(data => {
455
- const { event } = data;
456
- if (eventTagsSet.has(event)) {
457
- throw new Error(`Duplicate event_tag found: ${event}`);
458
- }
459
- eventTagsSet.add(event);
460
- });
461
- });
462
- }
463
- ;
464
- async validateFeatureData(data) {
465
- const { sequence } = data;
466
- this.validateUniqueEventTags(data); // TODO: this might be unnecessary
467
- this.validateFeatureSequence(sequence);
468
- const promises = sequence.map((obj, sequence_index) => {
469
- const { events, parents } = obj;
470
- if (parents && parents.length) {
471
- this.validateSequenceParents(parents, sequence_index, sequence);
472
- }
473
- events.map((event, event_index) => {
474
- return this.validateEvent(data, sequence_index, event, event_index);
475
- });
476
- });
477
- Promise.all(promises);
478
- }
479
- validateSequenceParents(parents, sequence_index, sequence) {
480
- const map = new Map();
481
- for (let i = 0; i < sequence_index; i++) {
482
- map.set(sequence[i].sequence_tag, i);
483
- }
484
- for (let i = 0; i < parents.length; i++) {
485
- if (map.get(parents[i]) === undefined) {
486
- throw new Error(`Invalid parent ${parents[i]} in sequence ${sequence[sequence_index].sequence_tag}, parents have to be declared before their children`);
487
- }
488
- }
489
- }
490
- validateSequenceInputParents(parent, sequence_index, sequence) {
491
- let found = false;
492
- const parents = sequence[sequence_index].parents;
493
- if (!parents || parents.length === 0)
494
- throw new Error(`Parents array cannot be empty or null when there is a $Sequence value in sequence ${sequence[sequence_index].sequence_tag}`);
495
- for (let i = 0; i < sequence_index; i++) {
496
- if (sequence[i].sequence_tag === parent)
497
- found = true;
498
- }
499
- if (!found)
500
- throw new Error(`Parents array needs to contain parent sequence ${parent} in ${sequence[sequence_index].sequence_tag}`);
501
- }
502
- async validateEvent(data, sequence_index, event, event_index) {
503
- const app = this.fetchApp(event.app, true);
504
- const { access_tag } = app;
505
- // validate action_tag
506
- const { actions } = await this.fetchThirdPartyAppByAccessTag(access_tag);
507
- if (event.type === integrationsBuilder_types_1.FeatureEventTypes.ACTION) {
508
- const action = this.fetchThirdPartyAppActionByTag(actions, event.event);
509
- await this.validateActionDataInput(data, action, event.input, event_index, sequence_index);
510
- // validate input
511
- }
512
- }
513
- async validateActionDataInput(data, action, event_input, event_index, sequence_index) {
514
- const { params, query, headers, body } = event_input;
515
- const { params: actionParams, query: actionQuery, headers: actionHeaders, body: actionBody } = action;
516
- const indexes = {
517
- parent_key: '',
518
- level: 0,
519
- key: '',
520
- index: 0
521
- };
522
- await this.validateActionInputData({ obj: params, sample: actionParams, event_index, sequence_index, feature: data, type: enums_1.Categories.PARAMS, indexes });
523
- await this.validateActionInputData({ obj: query, sample: actionQuery, event_index, sequence_index, feature: data, type: enums_1.Categories.QUERY, indexes });
524
- await this.validateActionInputData({ obj: headers, sample: actionHeaders, event_index, sequence_index, feature: data, type: enums_1.Categories.HEADER, indexes });
525
- await this.validateActionInputData({ obj: body, sample: actionBody, event_index, sequence_index, feature: data, type: enums_1.Categories.BODY, indexes });
526
- }
527
- async validateActionInputData(data) {
528
- const { obj } = data, base_data = __rest(data, ["obj"]);
529
- const sequence = data.feature.sequence[data.sequence_index];
530
- if (obj === undefined || obj === null) {
531
- throw new Error(`sequence ${sequence.sequence_tag} event ${sequence.events[data.event_index].event} ${data.type} should not be ${obj}`);
532
- }
533
- if (Object.values(obj).length > 0 && data.sample.data.length === 0) {
534
- throw new Error(`sequence ${sequence.sequence_tag} event ${sequence.events[data.event_index].event} ${data.type} should be an empty object`);
535
- }
536
- if (Object.values(obj).length === 0 && data.sample.data.length === 0) {
537
- return;
538
- }
539
- if (Object.values(obj).length === 0 && data.sample.data.length > 0) {
540
- throw new Error(`sequence ${sequence.sequence_tag} event ${sequence.events[data.event_index].event} ${data.type} should not be an empty object`);
541
- }
542
- let index = 0;
543
- for (const key in obj) {
544
- if (typeof obj[key] === 'object') {
545
- // Check if the object has keys "function" and "values"
546
- if ('function' in obj[key] && 'values' in obj[key]) {
547
- // Special handling for objects with keys "function" and "values"
548
- await this.parseActionEventInput(Object.assign({ key, value: obj[key] }, base_data));
549
- }
550
- else {
551
- // Normal recursive call for nested objects
552
- await this.validateActionInputData(Object.assign(Object.assign({}, base_data), { obj: obj[key], indexes: { key, index, parent_key: data.indexes.key, level: data.indexes.level++ } }));
553
- }
554
- }
555
- else if (Array.isArray(obj[key])) {
556
- // If it's an array, iterate through each element
557
- Object.keys(obj[key]).forEach(async (elementKey) => {
558
- const element = obj[key][elementKey];
559
- if (typeof element === 'object') {
560
- // Check if the object within array has keys "function" and "values"
561
- if ('function' in element && 'values' in element) {
562
- // Special handling for objects within array with keys "function" and "values"
563
- await this.parseActionEventInput(Object.assign({ key: elementKey, value: element }, base_data));
564
- }
565
- else {
566
- // Normal recursive call for nested objects within arrays
567
- await this.validateActionInputData(Object.assign(Object.assign({}, base_data), { obj: element, indexes: { key: elementKey, index, parent_key: data.indexes.key, level: data.indexes.level++ } }));
568
- }
569
- }
570
- else {
571
- await this.parseActionEventInput(Object.assign({ key: elementKey, value: element }, base_data));
572
- }
573
- });
574
- }
575
- else {
576
- await this.parseActionEventInput(Object.assign({ key, value: obj[key] }, base_data));
577
- }
578
- index++;
579
- }
580
- }
581
- async parseActionEventInput(data) {
582
- const datapoint = this.validateActionKeyPlacement(data);
583
- let stages, input;
584
- if (typeof data.value === "object") {
585
- // TOPICAL PARSER
586
- const { function: func, values } = data.value;
587
- this.fetchFunction(func);
588
- for (let i = 0; i < values.length; i++) {
589
- stages = this.extractStages(values[i]);
590
- input = data.feature.input;
591
- this.parseInputString({ datapoint, value: values[i], input, stages }, { feature: data.feature, sequence_index: data.sequence_index, event_index: data.event_index, type: data.type });
592
- }
593
- }
594
- else if (typeof data.value === "string") {
595
- stages = this.extractStages(data.value);
596
- input = data.feature.input;
597
- this.parseInputString({ datapoint, value: data.value, input, stages }, { feature: data.feature, sequence_index: data.sequence_index, event_index: data.event_index, type: data.type });
598
- }
599
- }
600
- async parseInputString(payload, meta) {
601
- const { datapoint, value, input, stages } = payload;
602
- const sequence = meta.feature.sequence[meta.sequence_index];
603
- if (value.startsWith('$Input{')) {
604
- let current_input = input;
605
- for (let i = 0; i < stages.length; i++) {
606
- let stage = stages[i];
607
- const matches = stage.match(/^\[(\d+)\]$/);
608
- if (matches && matches.length === 2) {
609
- const number = parseInt(matches[1], 10);
610
- if (!isNaN(number)) {
611
- stage = number;
612
- }
613
- else {
614
- throw new Error(`Invalid array value ${matches[1]}, should be an integer value`);
615
- }
616
- }
617
- if (!current_input[stage])
618
- throw new Error(`Input key ${stage} in ${value} does not exist`);
619
- current_input = current_input[stage];
620
- }
621
- if ((0, objects_utils_1.deepEqual)(current_input, input)) {
622
- throw new Error(`Error 490101: something unexpected happened`);
623
- }
624
- this.compareInputWithExpectedInput(datapoint, current_input, value);
625
- }
626
- else if (value.startsWith('$Auth{')) {
627
- // TODO: make sure that all auths have the same responses
628
- // TODO: make sure apps have only one auth, for now
629
- const { app: access_tag } = meta.feature.sequence[meta.sequence_index].events[meta.event_index];
630
- const { actions, auths } = await this.fetchThirdPartyAppByAccessTag(access_tag);
631
- const auth_tag = stages[0];
632
- let auth;
633
- for (let i = 0; i < auths.length; i++) {
634
- if (auths[i].tag === auth_tag) {
635
- auth = auths[i];
636
- }
637
- }
638
- if (!auth) {
639
- throw new Error(`Auth in ${value} not found in app ${access_tag}`);
640
- }
641
- /*const { envs } = this.fetchApp(access_tag, false);
642
-
643
- for(let i=0; i< envs.length; i++) {
644
- if (envs[i].auth.auth_tag ) {
645
- throw new Error(`Auth ${auth_tag} not in use in integration environment ${envs[i].integration_env_slug}, please be uniform in environment auth definition`)
646
- }
647
- }*/
648
- const action = actions.find((item) => {
649
- return item.tag === auth.action_tag;
650
- });
651
- if (!action) {
652
- throw new Error(`Could not find auth action ${auth.action_tag}`);
653
- }
654
- const response = action.responses.find((item) => item.success === true);
655
- if (response) {
656
- let parent_index = 0;
657
- let increment = false;
658
- let level = 0;
659
- let parent_key = "";
660
- let i = 1;
661
- while (i < stages.length) {
662
- let stage = stages[i];
663
- const matches = stage.match(/^\[(\d+)\]$/);
664
- if (matches && matches.length === 2) {
665
- const number = parseInt(matches[1], 10);
666
- if (!isNaN(number)) {
667
- stage = number;
668
- parent_index = number; // TODO: check whether this handles the array issue
669
- i++; // move to next stage instantly
670
- increment = true;
671
- }
672
- else {
673
- throw new Error(`Invalid array value ${matches[1]}, should be an integer value`);
674
- }
675
- }
676
- const found = response.body.data.find((item) => {
677
- if (!increment) {
678
- return item.parent_key === parent_key && item.key === stage && level === item.level;
679
- }
680
- else {
681
- return item.parent_key === parent_key && parent_index === stage && stages[i] === item.key && level === item.level;
682
- }
683
- });
684
- if (!found) {
685
- throw new Error(`Cannot find key: ${stage} in ${value}`);
686
- }
687
- level++;
688
- parent_key = String(stages[i]);
689
- if (i === stages.length - 1) {
690
- this.compareInputWithExpectedInput(datapoint, found, value);
691
- }
692
- i++;
693
- }
694
- }
695
- else {
696
- throw new Error(`There is no successful response sample for Action ${auth.action_tag} in app ${access_tag}`);
697
- }
698
- }
699
- else if (value.startsWith('$Sequence{')) {
700
- //let current_input = input as unknown as Record<string, unknown>;
701
- //const { feature, sequence_index, event_index} = meta;
702
- let parent_key = "";
703
- let level = 0;
704
- let i = 0;
705
- while (i < stages.length) {
706
- let stage = stages[i];
707
- let sequence;
708
- let event;
709
- let response;
710
- // let current_data;
711
- if (i === 0) {
712
- // find sequence by tag, see if it exists and its before current sequence
713
- this.validateSequenceInputParents(stage, meta.sequence_index, meta.feature.sequence);
714
- sequence = this.fetchPriorSequence(meta, stage);
715
- }
716
- if (i === 1 && sequence) {
717
- event = this.fetchSequenceEvent(sequence, stage);
718
- if (!event) {
719
- throw new Error(`event ${stage} not found in sequence ${sequence.sequence_tag}`);
720
- }
721
- let { type, app: access_tag, event: event_tag } = event;
722
- if (type === integrationsBuilder_types_1.FeatureEventTypes.ACTION) {
723
- const { actions } = await this.fetchThirdPartyAppByAccessTag(access_tag);
724
- const { responses } = this.fetchThirdPartyAppActionByTag(actions, event_tag);
725
- response = responses.find((item) => item.success === true);
726
- // fetch success result
727
- if (!response) {
728
- throw new Error(`event ${stage} does not have a success response`);
729
- }
730
- }
731
- //TODO: handle other types
732
- }
733
- if (i > 1 && response) {
734
- let parent_index = 0;
735
- let increment = false;
736
- const matches = stage.match(/^\[(\d+)\]$/);
737
- if (matches && matches.length === 2) {
738
- const number = parseInt(matches[1], 10);
739
- if (!isNaN(number)) {
740
- stage = number;
741
- parent_index = number; // TODO: check whether this handles the array issue
742
- i++; // move to next stage instantly
743
- increment = true;
744
- }
745
- else {
746
- throw new Error(`Invalid array value ${matches[1]}, should be an integer value`);
747
- }
748
- }
749
- const found = response.body.data.find((item) => {
750
- if (!increment) {
751
- return item.parent_key === parent_key && item.key === stage && level === item.level;
752
- }
753
- else {
754
- return item.parent_key === parent_key && parent_index === stage && stages[i] === item.key && level === item.level;
755
- }
756
- });
757
- if (!found) {
758
- throw new Error(`Cannot find key: ${stage} in ${value}`);
759
- }
760
- level++;
761
- parent_key = String(stages[i]);
762
- if (i === stages.length - 1) {
763
- this.compareInputWithExpectedInput(datapoint, found, value);
764
- }
765
- }
766
- i++;
767
- }
768
- }
769
- else if (value === '$Default') {
770
- if (!datapoint.defaultValue) {
771
- throw new Error(`sequence ${sequence.sequence_tag} event ${sequence.events[meta.event_index].event} ${meta.type}, the key {${datapoint.key}: ${value}} does not have a default`);
772
- }
773
- }
774
- else if (value.startsWith('$Variable{')) { // $Variable{APP_NAME}$
775
- const stages = this.extractStages(value);
776
- if (stages.length < 2) {
777
- throw new Error(`sequence ${sequence.sequence_tag} event ${sequence.events[meta.event_index].event} ${meta.type}, has invalid varibale definition ${value}, you have to define what variable is to be used`);
778
- }
779
- if (stages.length > 2) {
780
- throw new Error(`sequence ${sequence.sequence_tag} event ${sequence.events[meta.event_index].event} ${meta.type}, has invalid varibale definition ${value}, only two keys is required`);
781
- }
782
- const app = this.fetchApp(stages[0]);
783
- if (!app) {
784
- throw new Error(`App ${stages[0]} not found in sequence ${sequence.sequence_tag} event ${sequence.events[meta.event_index].event} ${meta.type}, has invalid varibale definition ${value}. `);
785
- }
786
- if (!app.envs[0]) {
787
- throw new Error(`App ${stages[0]} has not environments defined`);
788
- }
789
- const { variables } = app.envs[0];
790
- if (!variables.find((item) => item.key === stages[1])) {
791
- throw new Error(`Variable ${stages[1]} does not exist in app ${stages[0]} in value ${value} in sequence ${sequence.sequence_tag} event ${sequence.events[meta.event_index].event} ${meta.type}`);
792
- }
793
- }
794
- else if (value.startsWith('$Constant{')) {
795
- const stages = this.extractStages(value);
796
- if (stages.length !== 2) {
797
- throw new Error(`When using constants you need to specify the constant in the format $Constant{app_tag}{key} instead of ${value}`);
798
- }
799
- const app_tag = stages[0];
800
- const key = stages[1];
801
- const app = await this.fetchThirdPartyAppByAccessTag(app_tag);
802
- if (!app) {
803
- throw new Error(`App ${app_tag} not found in constant ${value}`);
804
- }
805
- const { constants } = app;
806
- const exists = constants.find((item) => item.key === key);
807
- if (!exists) {
808
- throw new Error(`Constant with key ${key} in ${value}, does not exist on app ${app}`);
809
- }
810
- }
811
- else {
812
- throw new Error(`sequence ${sequence.sequence_tag} event ${sequence.events[meta.event_index].event} ${meta.type} has invalid : {${datapoint.key}: ${value}}`);
813
- }
814
- }
815
- compareInputWithExpectedInput(datapoint, found_input, value) {
816
- if (datapoint.maxLength != 0 && (!found_input.maxLength || found_input.maxLength > datapoint.maxLength)) {
817
- throw new Error(`maxlength of ${value} cannot be greater than ${datapoint.maxLength}`);
818
- }
819
- if (datapoint.minLength != 0 && (!found_input.minLength || found_input.minLength < datapoint.minLength)) {
820
- throw new Error(`minlength of ${value} cannot be less than ${datapoint.minLength}`);
821
- }
822
- if (datapoint.type !== found_input.type) {
823
- throw new Error(`${value} is required to be ${datapoint.type} not ${found_input.type}`);
824
- }
825
- }
826
- extractStages(input) {
827
- return (0, string_utils_1.extractStages)(input);
828
- }
829
- fetchSequenceEvent(sequence, event) {
830
- return sequence.events.find((item) => item.event === event);
831
- }
832
- fetchPriorSequence(meta, stage) {
833
- let found;
834
- for (let i = 0; i < meta.sequence_index; i++) {
835
- if (meta.feature.sequence[i].sequence_tag === stage) {
836
- found = meta.feature.sequence[i];
837
- }
838
- }
839
- if (!found) {
840
- const sequence = meta.feature.sequence[meta.sequence_index].sequence_tag;
841
- throw `sequence ${stage} not found before ${sequence}, values can only inherit from sequences before them in the feature chain`;
842
- }
843
- return found;
844
- }
845
- validateActionKeyPlacement(data) {
846
- const actionData = data.sample.data;
847
- const { indexes } = data;
848
- const sequence = data.feature.sequence[data.sequence_index];
849
- const datapoint = actionData.find((item) => {
850
- return item.parent_key === indexes.parent_key && item.key === data.key && item.level === indexes.level && indexes.index === item.index;
851
- });
852
- if (!datapoint) {
853
- console.log(indexes.parent_key + " " + data.key + " " + indexes.level + " " + indexes.index);
854
- throw new Error(`Key ${data.key} not found for ${data.type} for sequence ${sequence.sequence_tag} event ${sequence.events[data.event_index].event}`);
855
- }
856
- return datapoint;
857
- }
858
- async fetchThirdPartyAppByAccessTag(access_tag) {
859
- try {
860
- const app = this.thirdPartyApps.find((item) => access_tag === item.access_tag);
861
- if (app) {
862
- return app.app;
863
- }
864
- const access = await this.appApi.fetchAccessByTag(access_tag, this.getUserAccess());
865
- if (!access) {
866
- throw new Error(`Access to app ${access_tag} not found`);
867
- }
868
- const appData = await this.appApi.fetchApp(access.app_id, this.getUserAccess());
869
- this.thirdPartyApps.push({ access_tag, app: appData });
870
- return appData;
871
- }
872
- catch (e) {
873
- throw e;
874
- }
875
- }
876
- fetchThirdPartyAppActionByTag(actions, action_tag) {
877
- const action = actions.find((action) => action.tag === action_tag);
878
- if (!action) {
879
- throw new Error(`Action ${action_tag} not found`);
880
- }
881
- return action;
882
- }
883
- async createFeature(data, throwErrorIfExists = false) {
884
- try {
885
- // TODO: figure out a way to check if this has run before, halt if it has
886
- if (!this.fetchFeature(data.tag, false)) {
887
- await validators_1.CreateIntegrationFeatureSchema.validateAsync(data);
888
- await this.validateFeatureData(data);
889
- await this.integrationApi.updateIntegration(this.integration_id, Object.assign(Object.assign({}, data), { component: enums_1.IntegrationComponents.FEATURE }), this.getUserAccess());
890
- await this.initializeIntegration(this.integration_id);
891
- }
892
- else {
893
- if (throwErrorIfExists)
894
- throw new Error(`Feature ${data.tag} already exists`);
895
- }
896
- }
897
- catch (e) {
898
- throw e;
899
- }
900
- }
901
- async updateFeature(tag, data) {
902
- try {
903
- const { _id } = this.fetchFeature(tag);
904
- await validators_1.UpdateIntegrationFeatureSchema.validateAsync(data); // Change to update;
905
- if (data.tag && this.fetchFeature(data.tag)) {
906
- throw new Error(`tag ${tag} is in use`); // TODO: also check on the backend
907
- }
908
- await this.integrationApi.updateIntegration(this.integration_id, Object.assign(Object.assign({ _id }, data), { component: enums_1.IntegrationComponents.FEATURE }), this.getUserAccess());
909
- await this.initializeIntegration(this.integration_id);
910
- }
911
- catch (e) {
912
- throw e;
913
- }
914
- }
915
- fetchFeature(tag, throwErrorIfExists = true) {
916
- const feature = this.integration.features.find((data) => data.tag === tag);
917
- if (!feature && throwErrorIfExists)
918
- throw new Error(`Feature ${tag} not found`);
919
- return feature;
920
- }
921
- fetchFeatures() {
922
- return this.integration.features;
923
- }
924
- async createDatabase(data, throwErrorIfExists = false) {
925
- try {
926
- // TODO: figure out a way to check if this has run before, halt if it has
927
- if (!this.fetchDatabase(data.tag)) {
928
- await validators_1.CreateIntegrationDatabaseSchema.validateAsync(data);
929
- await this.integrationApi.updateIntegration(this.integration_id, Object.assign(Object.assign({}, data), { component: enums_1.IntegrationComponents.DATABASE }), this.getUserAccess());
930
- await this.initializeIntegration(this.integration_id);
931
- }
932
- else {
933
- if (throwErrorIfExists)
934
- throw new Error(`Database ${data.tag} already exists`);
935
- }
936
- }
937
- catch (e) {
938
- throw e;
939
- }
940
- }
941
- async updateDatabase(tag, data) {
942
- try {
943
- const { _id } = this.fetchDatabase(tag);
944
- await validators_1.UpdateIntegrationDatabaseSchema.validateAsync(data); // Change to update;
945
- if (data.tag && this.fetchDatabase(data.tag)) {
946
- throw new Error(`tag ${tag} is in use`); // TODO: also check on the backend
947
- }
948
- await this.integrationApi.updateIntegration(this.integration_id, Object.assign(Object.assign({ _id }, data), { component: enums_1.IntegrationComponents.DATABASE }), this.getUserAccess());
949
- await this.initializeIntegration(this.integration_id);
950
- }
951
- catch (e) {
952
- throw e;
953
- }
954
- }
955
- fetchDatabase(tag) {
956
- const database = this.integration.databases.find((data) => data.tag === tag);
957
- if (!database)
958
- throw new Error(`Function ${tag} not found`);
959
- return database;
960
- }
961
- fetchDatabases() {
962
- return this.integration.databases;
963
- }
964
- async createJob(data, throwErrorIfExists = false) {
965
- try {
966
- // TODO: figure out a way to check if this has run before, halt if it has
967
- if (!this.fetchJob(data.tag)) {
968
- await validators_1.CreateIntegrationJobSchema.validateAsync(data);
969
- await this.integrationApi.updateIntegration(this.integration_id, Object.assign(Object.assign({}, data), { component: enums_1.IntegrationComponents.JOB }), this.getUserAccess());
970
- await this.initializeIntegration(this.integration_id);
971
- }
972
- else {
973
- if (throwErrorIfExists)
974
- throw new Error(`Job ${data.tag} already exists`);
975
- }
976
- }
977
- catch (e) {
978
- throw e;
979
- }
980
- }
981
- async updateJob(tag, data) {
982
- try {
983
- const { _id } = this.fetchJob(tag);
984
- await validators_1.UpdateIntegrationJobSchema.validateAsync(data); // Change to update;
985
- if (data.tag && this.fetchJob(data.tag)) {
986
- throw new Error(`tag ${tag} is in use`); // TODO: also check on the backend
987
- }
988
- await this.integrationApi.updateIntegration(this.integration_id, Object.assign(Object.assign({ _id }, data), { component: enums_1.IntegrationComponents.JOB }), this.getUserAccess());
989
- await this.initializeIntegration(this.integration_id);
990
- }
991
- catch (e) {
992
- throw e;
993
- }
994
- }
995
- fetchJob(tag) {
996
- const job = this.integration.jobs.find((data) => data.tag === tag);
997
- if (!job)
998
- throw new Error(`Job ${tag} not found`);
999
- return job;
1000
- }
1001
- fetchJobs() {
1002
- return this.integration.jobs;
1003
- }
1004
- runJobs() {
1005
- throw new Error("Method not implemented.");
1006
- }
1007
- getUserAccess() {
1008
- return {
1009
- user_id: this.user_id,
1010
- workspace_id: this.workspace_id,
1011
- token: this.token,
1012
- public_key: this.public_key,
1013
- };
1014
- }
1015
- }
1016
- exports.default = IntegrationsBuilderService;
1017
- //# sourceMappingURL=integrationBuilder.service.js.map