@ductape/sdk 0.0.4 → 0.0.6

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 (952) hide show
  1. package/README.md +87 -53
  2. package/dist/agents/agent-context.d.ts +100 -0
  3. package/dist/agents/agent-context.js +604 -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 +310 -0
  9. package/dist/agents/agents.service.js +1253 -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 +1240 -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.d.ts +51 -5
  30. package/dist/api/services/appApi.service.js +116 -9
  31. package/dist/api/services/appApi.service.js.map +1 -1
  32. package/dist/api/services/logsApi.service.d.ts +51 -0
  33. package/dist/api/services/logsApi.service.js +19 -2
  34. package/dist/api/services/logsApi.service.js.map +1 -1
  35. package/dist/api/services/pricingApi.service.d.ts +10 -0
  36. package/dist/api/services/pricingApi.service.js +34 -0
  37. package/dist/api/services/pricingApi.service.js.map +1 -0
  38. package/dist/api/services/processorApi.service.d.ts +900 -2
  39. package/dist/api/services/processorApi.service.js +665 -12
  40. package/dist/api/services/processorApi.service.js.map +1 -1
  41. package/dist/api/services/productsApi.service.d.ts +130 -1
  42. package/dist/api/services/productsApi.service.js +198 -11
  43. package/dist/api/services/productsApi.service.js.map +1 -1
  44. package/dist/api/services/resilienceApi.service.d.ts +106 -0
  45. package/dist/api/services/resilienceApi.service.js +224 -0
  46. package/dist/api/services/resilienceApi.service.js.map +1 -0
  47. package/dist/api/services/secretsApi.service.d.ts +50 -0
  48. package/dist/api/services/secretsApi.service.js +113 -0
  49. package/dist/api/services/secretsApi.service.js.map +1 -0
  50. package/dist/api/services/webhooksApi.service.js +13 -6
  51. package/dist/api/services/webhooksApi.service.js.map +1 -1
  52. package/dist/api/services/workflowApi.service.d.ts +199 -0
  53. package/dist/api/services/workflowApi.service.js +201 -0
  54. package/dist/api/services/workflowApi.service.js.map +1 -0
  55. package/dist/api/services/workspaceApi.service.d.ts +8 -0
  56. package/dist/api/services/workspaceApi.service.js +20 -0
  57. package/dist/api/services/workspaceApi.service.js.map +1 -1
  58. package/dist/api/urls.d.ts +92 -1
  59. package/dist/api/urls.js +118 -18
  60. package/dist/api/urls.js.map +1 -1
  61. package/dist/api/utils/auth.utils.d.ts +1 -3
  62. package/dist/api/utils/auth.utils.js.map +1 -1
  63. package/dist/api/utils/cache.utils.d.ts +1 -1
  64. package/dist/api/utils/cache.utils.js +2 -2
  65. package/dist/api/utils/cache.utils.js.map +1 -1
  66. package/dist/api/utils/strings.utils.d.ts +2 -0
  67. package/dist/api/utils/strings.utils.js +14 -0
  68. package/dist/api/utils/strings.utils.js.map +1 -1
  69. package/dist/apps/services/app.service.d.ts +42 -33
  70. package/dist/apps/services/app.service.js +574 -223
  71. package/dist/apps/services/app.service.js.map +1 -1
  72. package/dist/apps/utils/auth-context-manager.d.ts +137 -0
  73. package/dist/apps/utils/auth-context-manager.js +248 -0
  74. package/dist/apps/utils/auth-context-manager.js.map +1 -0
  75. package/dist/apps/utils/credential-manager.d.ts +128 -0
  76. package/dist/apps/utils/credential-manager.js +199 -0
  77. package/dist/apps/utils/credential-manager.js.map +1 -0
  78. package/dist/apps/utils/index.d.ts +10 -0
  79. package/dist/apps/utils/index.js +54 -0
  80. package/dist/apps/utils/index.js.map +1 -0
  81. package/dist/apps/utils/input-helpers.d.ts +67 -0
  82. package/dist/apps/utils/input-helpers.js +185 -0
  83. package/dist/apps/utils/input-helpers.js.map +1 -0
  84. package/dist/apps/utils/input-resolver.d.ts +165 -0
  85. package/dist/apps/utils/input-resolver.js +477 -0
  86. package/dist/apps/utils/input-resolver.js.map +1 -0
  87. package/dist/apps/utils/oauth-manager.d.ts +196 -0
  88. package/dist/apps/utils/oauth-manager.js +429 -0
  89. package/dist/apps/utils/oauth-manager.js.map +1 -0
  90. package/dist/apps/validators/joi-validators/create.appAction.validator.d.ts +1 -2
  91. package/dist/apps/validators/joi-validators/create.appAction.validator.js +22 -2
  92. package/dist/apps/validators/joi-validators/create.appAction.validator.js.map +1 -1
  93. package/dist/apps/validators/joi-validators/update.app.validator.js +2 -0
  94. package/dist/apps/validators/joi-validators/update.app.validator.js.map +1 -1
  95. package/dist/apps/validators/joi-validators/update.appAction.validator.js +23 -2
  96. package/dist/apps/validators/joi-validators/update.appAction.validator.js.map +1 -1
  97. package/dist/apps/validators/joi-validators/update.appActionResponse.validator.d.ts +1 -1
  98. package/dist/apps/validators/joi-validators/update.appActionResponse.validator.js +34 -1
  99. package/dist/apps/validators/joi-validators/update.appActionResponse.validator.js.map +1 -1
  100. package/dist/bin.d.ts +26 -0
  101. package/dist/bin.js +28 -0
  102. package/dist/bin.js.map +1 -0
  103. package/dist/brokers/brokers.service.d.ts +435 -0
  104. package/dist/brokers/brokers.service.js +1205 -0
  105. package/dist/brokers/brokers.service.js.map +1 -0
  106. package/dist/brokers/index.d.ts +46 -0
  107. package/dist/brokers/index.js +83 -0
  108. package/dist/brokers/index.js.map +1 -0
  109. package/dist/brokers/types/index.d.ts +567 -0
  110. package/dist/brokers/types/index.js +8 -0
  111. package/dist/brokers/types/index.js.map +1 -0
  112. package/dist/brokers/utils/broker.util.d.ts +33 -0
  113. package/dist/brokers/utils/broker.util.js +125 -0
  114. package/dist/brokers/utils/broker.util.js.map +1 -0
  115. package/dist/{processor/services/messagebrokers → brokers/utils/providers}/aws-sqs.service.d.ts +3 -2
  116. package/dist/brokers/utils/providers/aws-sqs.service.js +71 -0
  117. package/dist/brokers/utils/providers/aws-sqs.service.js.map +1 -0
  118. package/dist/{processor/services/messagebrokers → brokers/utils/providers}/google-pubsub.service.d.ts +2 -2
  119. package/dist/{processor/services/messagebrokers → brokers/utils/providers}/google-pubsub.service.js +16 -7
  120. package/dist/brokers/utils/providers/google-pubsub.service.js.map +1 -0
  121. package/dist/brokers/utils/providers/index.d.ts +6 -0
  122. package/dist/brokers/utils/providers/index.js +16 -0
  123. package/dist/brokers/utils/providers/index.js.map +1 -0
  124. package/dist/brokers/utils/providers/kafka.service.d.ts +23 -0
  125. package/dist/brokers/utils/providers/kafka.service.js +131 -0
  126. package/dist/brokers/utils/providers/kafka.service.js.map +1 -0
  127. package/dist/brokers/utils/providers/nats.service.d.ts +18 -0
  128. package/dist/brokers/utils/providers/nats.service.js +63 -0
  129. package/dist/brokers/utils/providers/nats.service.js.map +1 -0
  130. package/dist/brokers/utils/providers/rabbitmq.service.d.ts +25 -0
  131. package/dist/brokers/utils/providers/rabbitmq.service.js +138 -0
  132. package/dist/brokers/utils/providers/rabbitmq.service.js.map +1 -0
  133. package/dist/{processor/services/messagebrokers → brokers/utils/providers}/redis.service.d.ts +3 -3
  134. package/dist/{processor/services/messagebrokers → brokers/utils/providers}/redis.service.js +25 -14
  135. package/dist/brokers/utils/providers/redis.service.js.map +1 -0
  136. package/dist/cache/cache.manager.d.ts +308 -0
  137. package/dist/cache/cache.manager.js +900 -0
  138. package/dist/cache/cache.manager.js.map +1 -0
  139. package/dist/cache/cache.service.d.ts +191 -0
  140. package/dist/cache/cache.service.js +594 -0
  141. package/dist/cache/cache.service.js.map +1 -0
  142. package/dist/cache/index.d.ts +52 -0
  143. package/dist/cache/index.js +81 -0
  144. package/dist/cache/index.js.map +1 -0
  145. package/dist/cache/types/index.d.ts +110 -0
  146. package/dist/cache/types/index.js +6 -0
  147. package/dist/cache/types/index.js.map +1 -0
  148. package/dist/clients/apps.client.js +1 -1
  149. package/dist/clients/apps.client.js.map +1 -1
  150. package/dist/clients/pricing.client.d.ts +3 -0
  151. package/dist/clients/pricing.client.js +33 -0
  152. package/dist/clients/pricing.client.js.map +1 -0
  153. package/dist/database/actions/action-manager.d.ts +170 -0
  154. package/dist/database/actions/action-manager.js +465 -0
  155. package/dist/database/actions/action-manager.js.map +1 -0
  156. package/dist/database/actions/index.d.ts +6 -0
  157. package/dist/database/actions/index.js +13 -0
  158. package/dist/database/actions/index.js.map +1 -0
  159. package/dist/database/adapters/adapter.factory.d.ts +62 -0
  160. package/dist/database/adapters/adapter.factory.js +97 -0
  161. package/dist/database/adapters/adapter.factory.js.map +1 -0
  162. package/dist/database/adapters/base.adapter.d.ts +423 -0
  163. package/dist/database/adapters/base.adapter.js +260 -0
  164. package/dist/database/adapters/base.adapter.js.map +1 -0
  165. package/dist/database/adapters/cassandra.adapter.d.ts +92 -0
  166. package/dist/database/adapters/cassandra.adapter.js +1091 -0
  167. package/dist/database/adapters/cassandra.adapter.js.map +1 -0
  168. package/dist/database/adapters/dynamodb.adapter.d.ts +110 -0
  169. package/dist/database/adapters/dynamodb.adapter.js +1564 -0
  170. package/dist/database/adapters/dynamodb.adapter.js.map +1 -0
  171. package/dist/database/adapters/index.d.ts +11 -0
  172. package/dist/database/adapters/index.js +27 -0
  173. package/dist/database/adapters/index.js.map +1 -0
  174. package/dist/database/adapters/mariadb.adapter.d.ts +100 -0
  175. package/dist/database/adapters/mariadb.adapter.js +247 -0
  176. package/dist/database/adapters/mariadb.adapter.js.map +1 -0
  177. package/dist/database/adapters/mongodb.adapter.d.ts +121 -0
  178. package/dist/database/adapters/mongodb.adapter.js +1284 -0
  179. package/dist/database/adapters/mongodb.adapter.js.map +1 -0
  180. package/dist/database/adapters/mysql.adapter.d.ts +86 -0
  181. package/dist/database/adapters/mysql.adapter.js +1371 -0
  182. package/dist/database/adapters/mysql.adapter.js.map +1 -0
  183. package/dist/database/adapters/postgresql.adapter.d.ts +90 -0
  184. package/dist/database/adapters/postgresql.adapter.js +1487 -0
  185. package/dist/database/adapters/postgresql.adapter.js.map +1 -0
  186. package/dist/database/databases.service.d.ts +1476 -0
  187. package/dist/database/databases.service.js +3068 -0
  188. package/dist/database/databases.service.js.map +1 -0
  189. package/dist/database/index.d.ts +46 -0
  190. package/dist/database/index.js +109 -0
  191. package/dist/database/index.js.map +1 -0
  192. package/dist/database/migrations/index.d.ts +6 -0
  193. package/dist/database/migrations/index.js +12 -0
  194. package/dist/database/migrations/index.js.map +1 -0
  195. package/dist/database/migrations/migration-engine.d.ts +136 -0
  196. package/dist/database/migrations/migration-engine.js +1421 -0
  197. package/dist/database/migrations/migration-engine.js.map +1 -0
  198. package/dist/database/operators/aggregation-builder.d.ts +67 -0
  199. package/dist/database/operators/aggregation-builder.js +841 -0
  200. package/dist/database/operators/aggregation-builder.js.map +1 -0
  201. package/dist/database/operators/index.d.ts +7 -0
  202. package/dist/database/operators/index.js +15 -0
  203. package/dist/database/operators/index.js.map +1 -0
  204. package/dist/database/operators/query-builder.d.ts +69 -0
  205. package/dist/database/operators/query-builder.js +447 -0
  206. package/dist/database/operators/query-builder.js.map +1 -0
  207. package/dist/database/presave/decrypt.d.ts +25 -0
  208. package/dist/database/presave/decrypt.js +146 -0
  209. package/dist/database/presave/decrypt.js.map +1 -0
  210. package/dist/database/presave/index.d.ts +9 -0
  211. package/dist/database/presave/index.js +18 -0
  212. package/dist/database/presave/index.js.map +1 -0
  213. package/dist/database/presave/presave-processor.d.ts +148 -0
  214. package/dist/database/presave/presave-processor.js +702 -0
  215. package/dist/database/presave/presave-processor.js.map +1 -0
  216. package/dist/database/schema/index.d.ts +7 -0
  217. package/dist/database/schema/index.js +13 -0
  218. package/dist/database/schema/index.js.map +1 -0
  219. package/dist/database/schema/schema-manager.d.ts +258 -0
  220. package/dist/database/schema/schema-manager.js +638 -0
  221. package/dist/database/schema/schema-manager.js.map +1 -0
  222. package/dist/database/transactions/index.d.ts +6 -0
  223. package/dist/database/transactions/index.js +13 -0
  224. package/dist/database/transactions/index.js.map +1 -0
  225. package/dist/database/transactions/transaction-manager.d.ts +113 -0
  226. package/dist/database/transactions/transaction-manager.js +344 -0
  227. package/dist/database/transactions/transaction-manager.js.map +1 -0
  228. package/dist/database/triggers/index.d.ts +7 -0
  229. package/dist/database/triggers/index.js +14 -0
  230. package/dist/database/triggers/index.js.map +1 -0
  231. package/dist/database/triggers/trigger-processor.d.ts +239 -0
  232. package/dist/database/triggers/trigger-processor.js +1034 -0
  233. package/dist/database/triggers/trigger-processor.js.map +1 -0
  234. package/dist/database/types/action.interface.d.ts +148 -0
  235. package/dist/database/types/action.interface.js +6 -0
  236. package/dist/database/types/action.interface.js.map +1 -0
  237. package/dist/database/types/aggregation.interface.d.ts +185 -0
  238. package/dist/database/types/aggregation.interface.js +6 -0
  239. package/dist/database/types/aggregation.interface.js.map +1 -0
  240. package/dist/database/types/connection.interface.d.ts +137 -0
  241. package/dist/database/types/connection.interface.js +6 -0
  242. package/dist/database/types/connection.interface.js.map +1 -0
  243. package/dist/database/types/dashboard.interface.d.ts +74 -0
  244. package/dist/database/types/dashboard.interface.js +7 -0
  245. package/dist/database/types/dashboard.interface.js.map +1 -0
  246. package/dist/database/types/enums.d.ts +195 -0
  247. package/dist/database/types/enums.js +244 -0
  248. package/dist/database/types/enums.js.map +1 -0
  249. package/dist/database/types/index.d.ts +15 -0
  250. package/dist/database/types/index.js +31 -0
  251. package/dist/database/types/index.js.map +1 -0
  252. package/dist/database/types/migration.interface.d.ts +686 -0
  253. package/dist/database/types/migration.interface.js +9 -0
  254. package/dist/database/types/migration.interface.js.map +1 -0
  255. package/dist/database/types/presave.interface.d.ts +292 -0
  256. package/dist/database/types/presave.interface.js +60 -0
  257. package/dist/database/types/presave.interface.js.map +1 -0
  258. package/dist/database/types/query.interface.d.ts +205 -0
  259. package/dist/database/types/query.interface.js +6 -0
  260. package/dist/database/types/query.interface.js.map +1 -0
  261. package/dist/database/types/schema.interface.d.ts +412 -0
  262. package/dist/database/types/schema.interface.js +6 -0
  263. package/dist/database/types/schema.interface.js.map +1 -0
  264. package/dist/database/types/transaction.interface.d.ts +84 -0
  265. package/dist/database/types/transaction.interface.js +6 -0
  266. package/dist/database/types/transaction.interface.js.map +1 -0
  267. package/dist/database/types/trigger.interface.d.ts +612 -0
  268. package/dist/database/types/trigger.interface.js +121 -0
  269. package/dist/database/types/trigger.interface.js.map +1 -0
  270. package/dist/database/types/write.interface.d.ts +216 -0
  271. package/dist/database/types/write.interface.js +6 -0
  272. package/dist/database/types/write.interface.js.map +1 -0
  273. package/dist/database/utils/database-error.d.ts +96 -0
  274. package/dist/database/utils/database-error.js +221 -0
  275. package/dist/database/utils/database-error.js.map +1 -0
  276. package/dist/database/utils/index.d.ts +6 -0
  277. package/dist/database/utils/index.js +11 -0
  278. package/dist/database/utils/index.js.map +1 -0
  279. package/dist/graph/adapters/adapter.factory.d.ts +47 -0
  280. package/dist/graph/adapters/adapter.factory.js +77 -0
  281. package/dist/graph/adapters/adapter.factory.js.map +1 -0
  282. package/dist/graph/adapters/arangodb.adapter.d.ts +86 -0
  283. package/dist/graph/adapters/arangodb.adapter.js +1588 -0
  284. package/dist/graph/adapters/arangodb.adapter.js.map +1 -0
  285. package/dist/graph/adapters/base.adapter.d.ts +264 -0
  286. package/dist/graph/adapters/base.adapter.js +156 -0
  287. package/dist/graph/adapters/base.adapter.js.map +1 -0
  288. package/dist/graph/adapters/index.d.ts +11 -0
  289. package/dist/graph/adapters/index.js +21 -0
  290. package/dist/graph/adapters/index.js.map +1 -0
  291. package/dist/graph/adapters/memgraph.adapter.d.ts +110 -0
  292. package/dist/graph/adapters/memgraph.adapter.js +1452 -0
  293. package/dist/graph/adapters/memgraph.adapter.js.map +1 -0
  294. package/dist/graph/adapters/neo4j.adapter.d.ts +81 -0
  295. package/dist/graph/adapters/neo4j.adapter.js +1317 -0
  296. package/dist/graph/adapters/neo4j.adapter.js.map +1 -0
  297. package/dist/graph/adapters/neptune.adapter.d.ts +82 -0
  298. package/dist/graph/adapters/neptune.adapter.js +1369 -0
  299. package/dist/graph/adapters/neptune.adapter.js.map +1 -0
  300. package/dist/graph/graphs.service.d.ts +606 -0
  301. package/dist/graph/graphs.service.js +2434 -0
  302. package/dist/graph/graphs.service.js.map +1 -0
  303. package/dist/graph/index.d.ts +57 -0
  304. package/dist/graph/index.js +77 -0
  305. package/dist/graph/index.js.map +1 -0
  306. package/dist/graph/transactions/index.d.ts +4 -0
  307. package/dist/graph/transactions/index.js +9 -0
  308. package/dist/graph/transactions/index.js.map +1 -0
  309. package/dist/graph/transactions/transaction-manager.d.ts +61 -0
  310. package/dist/graph/transactions/transaction-manager.js +126 -0
  311. package/dist/graph/transactions/transaction-manager.js.map +1 -0
  312. package/dist/graph/types/connection.interface.d.ts +149 -0
  313. package/dist/graph/types/connection.interface.js +9 -0
  314. package/dist/graph/types/connection.interface.js.map +1 -0
  315. package/dist/graph/types/enums.d.ts +101 -0
  316. package/dist/graph/types/enums.js +114 -0
  317. package/dist/graph/types/enums.js.map +1 -0
  318. package/dist/graph/types/index.d.ts +13 -0
  319. package/dist/graph/types/index.js +20 -0
  320. package/dist/graph/types/index.js.map +1 -0
  321. package/dist/graph/types/node.interface.d.ts +248 -0
  322. package/dist/graph/types/node.interface.js +9 -0
  323. package/dist/graph/types/node.interface.js.map +1 -0
  324. package/dist/graph/types/query.interface.d.ts +175 -0
  325. package/dist/graph/types/query.interface.js +9 -0
  326. package/dist/graph/types/query.interface.js.map +1 -0
  327. package/dist/graph/types/relationship.interface.d.ts +207 -0
  328. package/dist/graph/types/relationship.interface.js +9 -0
  329. package/dist/graph/types/relationship.interface.js.map +1 -0
  330. package/dist/graph/types/schema.interface.d.ts +295 -0
  331. package/dist/graph/types/schema.interface.js +9 -0
  332. package/dist/graph/types/schema.interface.js.map +1 -0
  333. package/dist/graph/types/transaction.interface.d.ts +55 -0
  334. package/dist/graph/types/transaction.interface.js +9 -0
  335. package/dist/graph/types/transaction.interface.js.map +1 -0
  336. package/dist/graph/types/traversal.interface.d.ts +181 -0
  337. package/dist/graph/types/traversal.interface.js +9 -0
  338. package/dist/graph/types/traversal.interface.js.map +1 -0
  339. package/dist/graph/utils/graph-error.d.ts +71 -0
  340. package/dist/graph/utils/graph-error.js +142 -0
  341. package/dist/graph/utils/graph-error.js.map +1 -0
  342. package/dist/graph/utils/index.d.ts +4 -0
  343. package/dist/graph/utils/index.js +9 -0
  344. package/dist/graph/utils/index.js.map +1 -0
  345. package/dist/imports/imports.service.d.ts +3 -3
  346. package/dist/imports/imports.service.js +8 -7
  347. package/dist/imports/imports.service.js.map +1 -1
  348. package/dist/imports/imports.types.d.ts +8 -0
  349. package/dist/imports/repos/openApi.repo.d.ts +1 -2
  350. package/dist/imports/repos/openApi.repo.js +409 -70
  351. package/dist/imports/repos/openApi.repo.js.map +1 -1
  352. package/dist/imports/repos/postmanV21.repo.d.ts +1 -1
  353. package/dist/imports/repos/postmanV21.repo.js +126 -83
  354. package/dist/imports/repos/postmanV21.repo.js.map +1 -1
  355. package/dist/index.d.ts +3926 -269
  356. package/dist/index.js +5475 -682
  357. package/dist/index.js.map +1 -1
  358. package/dist/init.interface.d.ts +407 -0
  359. package/dist/{processor/services/messagebrokers/messagebrokers.type.js → init.interface.js} +1 -1
  360. package/dist/init.interface.js.map +1 -0
  361. package/dist/inputs/inputs.service.d.ts +1 -1
  362. package/dist/inputs/inputs.service.js +2 -2
  363. package/dist/inputs/inputs.service.js.map +1 -1
  364. package/dist/inputs/utils/inputs.utils.create.js +1 -1
  365. package/dist/inputs/utils/inputs.utils.create.js.map +1 -1
  366. package/dist/jobs/index.d.ts +38 -0
  367. package/dist/jobs/index.js +50 -0
  368. package/dist/jobs/index.js.map +1 -0
  369. package/dist/jobs/jobs.service.d.ts +154 -0
  370. package/dist/jobs/jobs.service.js +491 -0
  371. package/dist/jobs/jobs.service.js.map +1 -0
  372. package/dist/jobs/jobs.state.d.ts +113 -0
  373. package/dist/jobs/jobs.state.js +447 -0
  374. package/dist/jobs/jobs.state.js.map +1 -0
  375. package/dist/jobs/types.d.ts +449 -0
  376. package/dist/jobs/types.js +74 -0
  377. package/dist/jobs/types.js.map +1 -0
  378. package/dist/logs/logs.service.js +6 -1
  379. package/dist/logs/logs.service.js.map +1 -1
  380. package/dist/logs/logs.types.d.ts +33 -1
  381. package/dist/logs/logs.types.js +17 -0
  382. package/dist/logs/logs.types.js.map +1 -1
  383. package/dist/models/index.d.ts +6 -0
  384. package/dist/models/index.js +11 -0
  385. package/dist/models/index.js.map +1 -0
  386. package/dist/models/models.service.d.ts +137 -0
  387. package/dist/models/models.service.js +195 -0
  388. package/dist/models/models.service.js.map +1 -0
  389. package/dist/notifications/index.d.ts +13 -0
  390. package/dist/notifications/index.js +26 -0
  391. package/dist/notifications/index.js.map +1 -0
  392. package/dist/notifications/notifications.service.d.ts +268 -0
  393. package/dist/notifications/notifications.service.js +905 -0
  394. package/dist/notifications/notifications.service.js.map +1 -0
  395. package/dist/notifications/types/index.d.ts +4 -0
  396. package/dist/notifications/types/index.js +21 -0
  397. package/dist/notifications/types/index.js.map +1 -0
  398. package/dist/notifications/types/notifications.types.d.ts +452 -0
  399. package/dist/notifications/types/notifications.types.js +49 -0
  400. package/dist/notifications/types/notifications.types.js.map +1 -0
  401. package/dist/parsers/index.d.ts +3 -0
  402. package/dist/parsers/index.js +27 -0
  403. package/dist/parsers/index.js.map +1 -0
  404. package/dist/parsers/pipelines/postman.pipelines.d.ts +15 -0
  405. package/dist/parsers/pipelines/postman.pipelines.js +103 -0
  406. package/dist/parsers/pipelines/postman.pipelines.js.map +1 -0
  407. package/dist/parsers/types/postman.types.d.ts +200 -0
  408. package/dist/parsers/types/postman.types.js +3 -0
  409. package/dist/parsers/types/postman.types.js.map +1 -0
  410. package/dist/parsers/utils/postman.utils.d.ts +12 -0
  411. package/dist/parsers/utils/postman.utils.js +116 -0
  412. package/dist/parsers/utils/postman.utils.js.map +1 -0
  413. package/dist/parsers/validators/postman-auth.validators.d.ts +10 -0
  414. package/dist/parsers/validators/postman-auth.validators.js +127 -0
  415. package/dist/parsers/validators/postman-auth.validators.js.map +1 -0
  416. package/dist/parsers/validators/postman-request.validators.d.ts +13 -0
  417. package/dist/parsers/validators/postman-request.validators.js +139 -0
  418. package/dist/parsers/validators/postman-request.validators.js.map +1 -0
  419. package/dist/parsers/validators/postman-response.validators.d.ts +13 -0
  420. package/dist/parsers/validators/postman-response.validators.js +150 -0
  421. package/dist/parsers/validators/postman-response.validators.js.map +1 -0
  422. package/dist/parsers/validators/postman-variable.validators.d.ts +14 -0
  423. package/dist/parsers/validators/postman-variable.validators.js +163 -0
  424. package/dist/parsers/validators/postman-variable.validators.js.map +1 -0
  425. package/dist/pricing/pricing.repo.js +1 -0
  426. package/dist/pricing/pricing.repo.js.map +1 -0
  427. package/dist/pricing/pricing.service.d.ts +24 -0
  428. package/dist/pricing/pricing.service.js +51 -0
  429. package/dist/pricing/pricing.service.js.map +1 -0
  430. package/dist/pricing/pricing.types.d.ts +76 -0
  431. package/dist/pricing/pricing.types.js +21 -0
  432. package/dist/pricing/pricing.types.js.map +1 -0
  433. package/dist/pricing/utils/string.utils.d.ts +1 -0
  434. package/dist/pricing/utils/string.utils.js +9 -0
  435. package/dist/pricing/utils/string.utils.js.map +1 -0
  436. package/dist/processor/repos/sms.repo.d.ts +4 -4
  437. package/dist/processor/repos/sms.repo.js +23 -10
  438. package/dist/processor/repos/sms.repo.js.map +1 -1
  439. package/dist/processor/services/processor.service.d.ts +251 -78
  440. package/dist/processor/services/processor.service.js +2803 -1495
  441. package/dist/processor/services/processor.service.js.map +1 -1
  442. package/dist/processor/services/request.service.d.ts +36 -0
  443. package/dist/processor/services/request.service.js +304 -0
  444. package/dist/processor/services/request.service.js.map +1 -0
  445. package/dist/processor/types/request.types.d.ts +14 -0
  446. package/dist/processor/types/request.types.js +3 -0
  447. package/dist/processor/types/request.types.js.map +1 -0
  448. package/dist/processor/utils/processor.utils.d.ts +8 -0
  449. package/dist/processor/utils/processor.utils.js +152 -12
  450. package/dist/processor/utils/processor.utils.js.map +1 -1
  451. package/dist/processor/utils/request.utils.d.ts +20 -0
  452. package/dist/processor/utils/request.utils.js +113 -0
  453. package/dist/processor/utils/request.utils.js.map +1 -0
  454. package/dist/processor/utils/storage.util.js +63 -40
  455. package/dist/processor/utils/storage.util.js.map +1 -1
  456. package/dist/products/services/products.service.d.ts +386 -76
  457. package/dist/products/services/products.service.js +3221 -419
  458. package/dist/products/services/products.service.js.map +1 -1
  459. package/dist/products/utils/string.utils.d.ts +1 -1
  460. package/dist/products/utils/string.utils.js +14 -2
  461. package/dist/products/utils/string.utils.js.map +1 -1
  462. package/dist/products/validators/index.d.ts +7 -1
  463. package/dist/products/validators/index.js +16 -1
  464. package/dist/products/validators/index.js.map +1 -1
  465. package/dist/products/validators/joi-validators/create.productAgent.validator.d.ts +3 -0
  466. package/dist/products/validators/joi-validators/create.productAgent.validator.js +266 -0
  467. package/dist/products/validators/joi-validators/create.productAgent.validator.js.map +1 -0
  468. package/dist/products/validators/joi-validators/create.productApp.validator.js +2 -2
  469. package/dist/products/validators/joi-validators/create.productApp.validator.js.map +1 -1
  470. package/dist/products/validators/joi-validators/create.productDatabase.validator.js +5 -0
  471. package/dist/products/validators/joi-validators/create.productDatabase.validator.js.map +1 -1
  472. package/dist/products/validators/joi-validators/create.productEnv.validator.js +1 -0
  473. package/dist/products/validators/joi-validators/create.productEnv.validator.js.map +1 -1
  474. package/dist/products/validators/joi-validators/create.productFeature.validator.js +1 -1
  475. package/dist/products/validators/joi-validators/create.productGraph.validator.js +89 -0
  476. package/dist/products/validators/joi-validators/create.productGraph.validator.js.map +1 -0
  477. package/dist/products/validators/joi-validators/create.productHealthcheck.validator.d.ts +4 -0
  478. package/dist/{processor/services/messagebrokers/rabbitmq.service.js → products/validators/joi-validators/create.productHealthcheck.validator.js} +23 -32
  479. package/dist/products/validators/joi-validators/create.productHealthcheck.validator.js.map +1 -0
  480. package/dist/products/validators/joi-validators/create.productJob.validator.js +2 -2
  481. package/dist/products/validators/joi-validators/create.productJob.validator.js.map +1 -1
  482. package/dist/products/validators/joi-validators/create.productMessageBrokerTopic.validator.js +1 -0
  483. package/dist/products/validators/joi-validators/create.productMessageBrokerTopic.validator.js.map +1 -1
  484. package/dist/products/validators/joi-validators/create.productMessageBrokers.validator.js +81 -25
  485. package/dist/products/validators/joi-validators/create.productMessageBrokers.validator.js.map +1 -1
  486. package/dist/products/validators/joi-validators/create.productModel.validator.d.ts +3 -0
  487. package/dist/products/validators/joi-validators/create.productModel.validator.js +132 -0
  488. package/dist/products/validators/joi-validators/create.productModel.validator.js.map +1 -0
  489. package/dist/products/validators/joi-validators/create.productNotification.validator.js +150 -51
  490. package/dist/products/validators/joi-validators/create.productNotification.validator.js.map +1 -1
  491. package/dist/products/validators/joi-validators/create.productStorage.validator.js +77 -18
  492. package/dist/products/validators/joi-validators/create.productStorage.validator.js.map +1 -1
  493. package/dist/products/validators/joi-validators/create.productVector.validator.d.ts +3 -0
  494. package/dist/products/validators/joi-validators/create.productVector.validator.js +136 -0
  495. package/dist/products/validators/joi-validators/create.productVector.validator.js.map +1 -0
  496. package/dist/products/validators/joi-validators/create.userAuth.validator.js +1 -0
  497. package/dist/products/validators/joi-validators/create.userAuth.validator.js.map +1 -1
  498. package/dist/products/validators/joi-validators/update.dataValue.validator.js +1 -0
  499. package/dist/products/validators/joi-validators/update.dataValue.validator.js.map +1 -1
  500. package/dist/products/validators/joi-validators/update.productDatabase.validator.js +5 -0
  501. package/dist/products/validators/joi-validators/update.productDatabase.validator.js.map +1 -1
  502. package/dist/products/validators/joi-validators/update.productEnv.validator.js +3 -0
  503. package/dist/products/validators/joi-validators/update.productEnv.validator.js.map +1 -1
  504. package/dist/products/validators/joi-validators/update.productGraph.validator.js +88 -0
  505. package/dist/products/validators/joi-validators/update.productGraph.validator.js.map +1 -0
  506. package/dist/products/validators/joi-validators/update.userAuth.validator.js +1 -0
  507. package/dist/products/validators/joi-validators/update.userAuth.validator.js.map +1 -1
  508. package/dist/resilience/fallback.service.d.ts +141 -0
  509. package/dist/resilience/fallback.service.js +766 -0
  510. package/dist/resilience/fallback.service.js.map +1 -0
  511. package/dist/resilience/healthcheck.service.d.ts +159 -0
  512. package/dist/resilience/healthcheck.service.js +943 -0
  513. package/dist/resilience/healthcheck.service.js.map +1 -0
  514. package/dist/resilience/index.d.ts +104 -0
  515. package/dist/resilience/index.js +140 -0
  516. package/dist/resilience/index.js.map +1 -0
  517. package/dist/resilience/quota.service.d.ts +83 -0
  518. package/dist/resilience/quota.service.js +518 -0
  519. package/dist/resilience/quota.service.js.map +1 -0
  520. package/dist/resilience/resilience.service.d.ts +98 -0
  521. package/dist/resilience/resilience.service.js +560 -0
  522. package/dist/resilience/resilience.service.js.map +1 -0
  523. package/dist/resilience/types/index.d.ts +513 -0
  524. package/dist/resilience/types/index.js +29 -0
  525. package/dist/resilience/types/index.js.map +1 -0
  526. package/dist/secrets/index.d.ts +10 -0
  527. package/dist/secrets/index.js +33 -0
  528. package/dist/secrets/index.js.map +1 -0
  529. package/dist/secrets/secrets.resolver.d.ts +52 -0
  530. package/dist/secrets/secrets.resolver.js +236 -0
  531. package/dist/secrets/secrets.resolver.js.map +1 -0
  532. package/dist/secrets/secrets.service.d.ts +93 -0
  533. package/dist/secrets/secrets.service.js +246 -0
  534. package/dist/secrets/secrets.service.js.map +1 -0
  535. package/dist/secrets/secrets.types.d.ts +188 -0
  536. package/dist/secrets/secrets.types.js +87 -0
  537. package/dist/secrets/secrets.types.js.map +1 -0
  538. package/dist/sessions/index.d.ts +50 -0
  539. package/dist/sessions/index.js +96 -0
  540. package/dist/sessions/index.js.map +1 -0
  541. package/dist/sessions/sessions.helper.d.ts +88 -0
  542. package/dist/sessions/sessions.helper.js +133 -0
  543. package/dist/sessions/sessions.helper.js.map +1 -0
  544. package/dist/sessions/sessions.resolver.d.ts +188 -0
  545. package/dist/sessions/sessions.resolver.js +603 -0
  546. package/dist/sessions/sessions.resolver.js.map +1 -0
  547. package/dist/sessions/sessions.service.d.ts +194 -0
  548. package/dist/sessions/sessions.service.js +987 -0
  549. package/dist/sessions/sessions.service.js.map +1 -0
  550. package/dist/sessions/types/index.d.ts +342 -0
  551. package/dist/sessions/types/index.js +6 -0
  552. package/dist/sessions/types/index.js.map +1 -0
  553. package/dist/storage/index.d.ts +66 -0
  554. package/dist/storage/index.js +99 -0
  555. package/dist/storage/index.js.map +1 -0
  556. package/dist/storage/storage.service.d.ts +177 -0
  557. package/dist/storage/storage.service.js +897 -0
  558. package/dist/storage/storage.service.js.map +1 -0
  559. package/dist/storage/types/index.d.ts +267 -0
  560. package/dist/storage/types/index.js +6 -0
  561. package/dist/storage/types/index.js.map +1 -0
  562. package/dist/storage/utils/storage.util.d.ts +62 -0
  563. package/dist/storage/utils/storage.util.js +593 -0
  564. package/dist/storage/utils/storage.util.js.map +1 -0
  565. package/dist/types/appBuilder.types.d.ts +13 -14
  566. package/dist/types/enums.d.ts +11 -1
  567. package/dist/types/enums.js +10 -0
  568. package/dist/types/enums.js.map +1 -1
  569. package/dist/types/index.types.d.ts +9 -4
  570. package/dist/types/index.types.js +0 -1
  571. package/dist/types/index.types.js.map +1 -1
  572. package/dist/types/inputs.types.d.ts +1 -0
  573. package/dist/types/inputs.types.js +4 -3
  574. package/dist/types/inputs.types.js.map +1 -1
  575. package/dist/types/pricing.types.d.ts +4 -0
  576. package/dist/types/pricing.types.js +3 -0
  577. package/dist/types/pricing.types.js.map +1 -0
  578. package/dist/types/processor.types.d.ts +324 -18
  579. package/dist/types/processor.types.js +9 -1
  580. package/dist/types/processor.types.js.map +1 -1
  581. package/dist/types/productsBuilder.types.d.ts +1007 -23
  582. package/dist/types/productsBuilder.types.js +216 -2
  583. package/dist/types/productsBuilder.types.js.map +1 -1
  584. package/dist/types/request-tracker.interface.js +1 -0
  585. package/dist/types/request-tracker.interface.js.map +1 -0
  586. package/dist/types/requests.types.d.ts +2 -0
  587. package/dist/utils/constants.d.ts +1 -0
  588. package/dist/utils/constants.js +5 -0
  589. package/dist/utils/constants.js.map +1 -0
  590. package/dist/utils/index.d.ts +0 -2
  591. package/dist/utils/index.js +24 -52
  592. package/dist/utils/index.js.map +1 -1
  593. package/dist/vector/actions/action-manager.d.ts +140 -0
  594. package/dist/vector/actions/action-manager.js +356 -0
  595. package/dist/vector/actions/action-manager.js.map +1 -0
  596. package/dist/vector/adapters/base.adapter.d.ts +169 -0
  597. package/dist/vector/adapters/base.adapter.js +218 -0
  598. package/dist/vector/adapters/base.adapter.js.map +1 -0
  599. package/dist/vector/adapters/index.d.ts +10 -0
  600. package/dist/vector/adapters/index.js +19 -0
  601. package/dist/vector/adapters/index.js.map +1 -0
  602. package/dist/vector/adapters/memory.adapter.d.ts +85 -0
  603. package/dist/vector/adapters/memory.adapter.js +505 -0
  604. package/dist/vector/adapters/memory.adapter.js.map +1 -0
  605. package/dist/vector/adapters/pinecone.adapter.d.ts +52 -0
  606. package/dist/vector/adapters/pinecone.adapter.js +433 -0
  607. package/dist/vector/adapters/pinecone.adapter.js.map +1 -0
  608. package/dist/vector/adapters/qdrant.adapter.d.ts +56 -0
  609. package/dist/vector/adapters/qdrant.adapter.js +442 -0
  610. package/dist/vector/adapters/qdrant.adapter.js.map +1 -0
  611. package/dist/vector/adapters/weaviate.adapter.d.ts +68 -0
  612. package/dist/vector/adapters/weaviate.adapter.js +661 -0
  613. package/dist/vector/adapters/weaviate.adapter.js.map +1 -0
  614. package/dist/vector/index.d.ts +36 -0
  615. package/dist/vector/index.js +70 -0
  616. package/dist/vector/index.js.map +1 -0
  617. package/dist/vector/types/action.interface.d.ts +195 -0
  618. package/dist/vector/types/action.interface.js +100 -0
  619. package/dist/vector/types/action.interface.js.map +1 -0
  620. package/dist/vector/types/connection.interface.d.ts +151 -0
  621. package/dist/vector/types/connection.interface.js +8 -0
  622. package/dist/vector/types/connection.interface.js.map +1 -0
  623. package/dist/vector/types/embedding.interface.d.ts +144 -0
  624. package/dist/vector/types/embedding.interface.js +8 -0
  625. package/dist/vector/types/embedding.interface.js.map +1 -0
  626. package/dist/vector/types/enums.d.ts +104 -0
  627. package/dist/vector/types/enums.js +113 -0
  628. package/dist/vector/types/enums.js.map +1 -0
  629. package/dist/vector/types/index.d.ts +11 -0
  630. package/dist/vector/types/index.js +23 -0
  631. package/dist/vector/types/index.js.map +1 -0
  632. package/dist/vector/types/vector.interface.d.ts +315 -0
  633. package/dist/vector/types/vector.interface.js +8 -0
  634. package/dist/vector/types/vector.interface.js.map +1 -0
  635. package/dist/vector/utils/index.d.ts +6 -0
  636. package/dist/vector/utils/index.js +11 -0
  637. package/dist/vector/utils/index.js.map +1 -0
  638. package/dist/vector/utils/vector-error.d.ts +69 -0
  639. package/dist/vector/utils/vector-error.js +116 -0
  640. package/dist/vector/utils/vector-error.js.map +1 -0
  641. package/dist/vector/vector-database.service.d.ts +476 -0
  642. package/dist/vector/vector-database.service.js +892 -0
  643. package/dist/vector/vector-database.service.js.map +1 -0
  644. package/dist/vector/vector.service.d.ts +283 -0
  645. package/dist/vector/vector.service.js +544 -0
  646. package/dist/vector/vector.service.js.map +1 -0
  647. package/dist/warehouse/executor/index.d.ts +5 -0
  648. package/dist/warehouse/executor/index.js +12 -0
  649. package/dist/warehouse/executor/index.js.map +1 -0
  650. package/dist/warehouse/executor/joins/index.d.ts +5 -0
  651. package/dist/warehouse/executor/joins/index.js +11 -0
  652. package/dist/warehouse/executor/joins/index.js.map +1 -0
  653. package/dist/warehouse/executor/joins/join-executor.d.ts +101 -0
  654. package/dist/warehouse/executor/joins/join-executor.js +493 -0
  655. package/dist/warehouse/executor/joins/join-executor.js.map +1 -0
  656. package/dist/warehouse/executor/joins/semantic-join.d.ts +64 -0
  657. package/dist/warehouse/executor/joins/semantic-join.js +241 -0
  658. package/dist/warehouse/executor/joins/semantic-join.js.map +1 -0
  659. package/dist/warehouse/executor/single-source-executor.d.ts +155 -0
  660. package/dist/warehouse/executor/single-source-executor.js +573 -0
  661. package/dist/warehouse/executor/single-source-executor.js.map +1 -0
  662. package/dist/warehouse/index.d.ts +79 -0
  663. package/dist/warehouse/index.js +111 -0
  664. package/dist/warehouse/index.js.map +1 -0
  665. package/dist/warehouse/parser/index.d.ts +4 -0
  666. package/dist/warehouse/parser/index.js +10 -0
  667. package/dist/warehouse/parser/index.js.map +1 -0
  668. package/dist/warehouse/parser/query-parser.d.ts +181 -0
  669. package/dist/warehouse/parser/query-parser.js +415 -0
  670. package/dist/warehouse/parser/query-parser.js.map +1 -0
  671. package/dist/warehouse/registry/data-source-registry.d.ts +207 -0
  672. package/dist/warehouse/registry/data-source-registry.js +396 -0
  673. package/dist/warehouse/registry/data-source-registry.js.map +1 -0
  674. package/dist/warehouse/registry/index.d.ts +4 -0
  675. package/dist/warehouse/registry/index.js +9 -0
  676. package/dist/warehouse/registry/index.js.map +1 -0
  677. package/dist/warehouse/transactions/index.d.ts +4 -0
  678. package/dist/warehouse/transactions/index.js +9 -0
  679. package/dist/warehouse/transactions/index.js.map +1 -0
  680. package/dist/warehouse/transactions/saga-orchestrator.d.ts +92 -0
  681. package/dist/warehouse/transactions/saga-orchestrator.js +383 -0
  682. package/dist/warehouse/transactions/saga-orchestrator.js.map +1 -0
  683. package/dist/warehouse/types/index.d.ts +9 -0
  684. package/dist/warehouse/types/index.js +33 -0
  685. package/dist/warehouse/types/index.js.map +1 -0
  686. package/dist/warehouse/types/join.interface.d.ts +225 -0
  687. package/dist/warehouse/types/join.interface.js +87 -0
  688. package/dist/warehouse/types/join.interface.js.map +1 -0
  689. package/dist/warehouse/types/query.interface.d.ts +232 -0
  690. package/dist/warehouse/types/query.interface.js +9 -0
  691. package/dist/warehouse/types/query.interface.js.map +1 -0
  692. package/dist/warehouse/types/transaction.interface.d.ts +236 -0
  693. package/dist/warehouse/types/transaction.interface.js +74 -0
  694. package/dist/warehouse/types/transaction.interface.js.map +1 -0
  695. package/dist/warehouse/types/where.interface.d.ts +208 -0
  696. package/dist/warehouse/types/where.interface.js +89 -0
  697. package/dist/warehouse/types/where.interface.js.map +1 -0
  698. package/dist/warehouse/warehouse.service.d.ts +200 -0
  699. package/dist/warehouse/warehouse.service.js +470 -0
  700. package/dist/warehouse/warehouse.service.js.map +1 -0
  701. package/dist/workflows/index.d.ts +30 -0
  702. package/dist/workflows/index.js +64 -0
  703. package/dist/workflows/index.js.map +1 -0
  704. package/dist/workflows/types/index.d.ts +6 -0
  705. package/dist/workflows/types/index.js +23 -0
  706. package/dist/workflows/types/index.js.map +1 -0
  707. package/dist/workflows/types/workflows.types.d.ts +1095 -0
  708. package/dist/workflows/types/workflows.types.js +13 -0
  709. package/dist/workflows/types/workflows.types.js.map +1 -0
  710. package/dist/workflows/workflow-builder.d.ts +70 -0
  711. package/dist/workflows/workflow-builder.js +353 -0
  712. package/dist/workflows/workflow-builder.js.map +1 -0
  713. package/dist/workflows/workflow-executor.d.ts +287 -0
  714. package/dist/workflows/workflow-executor.js +2399 -0
  715. package/dist/workflows/workflow-executor.js.map +1 -0
  716. package/dist/workflows/workflows.service.d.ts +412 -0
  717. package/dist/workflows/workflows.service.js +2188 -0
  718. package/dist/workflows/workflows.service.js.map +1 -0
  719. package/package.json +83 -11
  720. package/dist/actions/actions.repo.js +0 -13
  721. package/dist/actions/actions.repo.js.map +0 -1
  722. package/dist/actions/actions.service.js +0 -24
  723. package/dist/actions/actions.service.js.map +0 -1
  724. package/dist/actions/utils/actions.util.read.d.ts +0 -0
  725. package/dist/actions/utils/actions.util.read.js +0 -427
  726. package/dist/actions/utils/actions.util.read.js.map +0 -1
  727. package/dist/api/services/integrationsApi.service.d.ts +0 -18
  728. package/dist/api/services/integrationsApi.service.js +0 -80
  729. package/dist/api/services/integrationsApi.service.js.map +0 -1
  730. package/dist/appBuilder/services/app.service.d.ts +0 -111
  731. package/dist/appBuilder/services/app.service.js +0 -737
  732. package/dist/appBuilder/services/app.service.js.map +0 -1
  733. package/dist/appBuilder/services/appBuilder.service.d.ts +0 -111
  734. package/dist/appBuilder/services/appBuilder.service.js +0 -662
  735. package/dist/appBuilder/services/appBuilder.service.js.map +0 -1
  736. package/dist/appBuilder/utils/objects.utils.d.ts +0 -3
  737. package/dist/appBuilder/utils/objects.utils.js +0 -9
  738. package/dist/appBuilder/utils/objects.utils.js.map +0 -1
  739. package/dist/appBuilder/utils/string.utils.d.ts +0 -2
  740. package/dist/appBuilder/utils/string.utils.js +0 -57
  741. package/dist/appBuilder/utils/string.utils.js.map +0 -1
  742. package/dist/appBuilder/validators/index.d.ts +0 -19
  743. package/dist/appBuilder/validators/index.js +0 -40
  744. package/dist/appBuilder/validators/index.js.map +0 -1
  745. package/dist/appBuilder/validators/joi-validators/create.app.validator.js +0 -10
  746. package/dist/appBuilder/validators/joi-validators/create.app.validator.js.map +0 -1
  747. package/dist/appBuilder/validators/joi-validators/create.appAction.validator.d.ts +0 -4
  748. package/dist/appBuilder/validators/joi-validators/create.appAction.validator.js +0 -20
  749. package/dist/appBuilder/validators/joi-validators/create.appAction.validator.js.map +0 -1
  750. package/dist/appBuilder/validators/joi-validators/create.appActionResponse.validator.d.ts +0 -7
  751. package/dist/appBuilder/validators/joi-validators/create.appActionResponse.validator.js +0 -44
  752. package/dist/appBuilder/validators/joi-validators/create.appActionResponse.validator.js.map +0 -1
  753. package/dist/appBuilder/validators/joi-validators/create.appAuth.validator.d.ts +0 -3
  754. package/dist/appBuilder/validators/joi-validators/create.appAuth.validator.js +0 -31
  755. package/dist/appBuilder/validators/joi-validators/create.appAuth.validator.js.map +0 -1
  756. package/dist/appBuilder/validators/joi-validators/create.appBody.validators.d.ts +0 -4
  757. package/dist/appBuilder/validators/joi-validators/create.appBody.validators.js +0 -11
  758. package/dist/appBuilder/validators/joi-validators/create.appBody.validators.js.map +0 -1
  759. package/dist/appBuilder/validators/joi-validators/create.appConstants.validator.d.ts +0 -4
  760. package/dist/appBuilder/validators/joi-validators/create.appConstants.validator.js +0 -12
  761. package/dist/appBuilder/validators/joi-validators/create.appConstants.validator.js.map +0 -1
  762. package/dist/appBuilder/validators/joi-validators/create.appEnv.validator.d.ts +0 -4
  763. package/dist/appBuilder/validators/joi-validators/create.appEnv.validator.js +0 -17
  764. package/dist/appBuilder/validators/joi-validators/create.appEnv.validator.js.map +0 -1
  765. package/dist/appBuilder/validators/joi-validators/create.appEvent.validator.d.ts +0 -5
  766. package/dist/appBuilder/validators/joi-validators/create.appEvent.validator.js +0 -30
  767. package/dist/appBuilder/validators/joi-validators/create.appEvent.validator.js.map +0 -1
  768. package/dist/appBuilder/validators/joi-validators/create.appVariable.validator.d.ts +0 -4
  769. package/dist/appBuilder/validators/joi-validators/create.appVariable.validator.js +0 -14
  770. package/dist/appBuilder/validators/joi-validators/create.appVariable.validator.js.map +0 -1
  771. package/dist/appBuilder/validators/joi-validators/sample.validator.d.ts +0 -5
  772. package/dist/appBuilder/validators/joi-validators/sample.validator.js +0 -26
  773. package/dist/appBuilder/validators/joi-validators/sample.validator.js.map +0 -1
  774. package/dist/appBuilder/validators/joi-validators/update.app.validator.d.ts +0 -4
  775. package/dist/appBuilder/validators/joi-validators/update.app.validator.js +0 -34
  776. package/dist/appBuilder/validators/joi-validators/update.app.validator.js.map +0 -1
  777. package/dist/appBuilder/validators/joi-validators/update.appAction.validator.d.ts +0 -4
  778. package/dist/appBuilder/validators/joi-validators/update.appAction.validator.js +0 -23
  779. package/dist/appBuilder/validators/joi-validators/update.appAction.validator.js.map +0 -1
  780. package/dist/appBuilder/validators/joi-validators/update.appActionResponse.validator.d.ts +0 -3
  781. package/dist/appBuilder/validators/joi-validators/update.appActionResponse.validator.js +0 -21
  782. package/dist/appBuilder/validators/joi-validators/update.appActionResponse.validator.js.map +0 -1
  783. package/dist/appBuilder/validators/joi-validators/update.appAuth.validator.d.ts +0 -4
  784. package/dist/appBuilder/validators/joi-validators/update.appAuth.validator.js +0 -19
  785. package/dist/appBuilder/validators/joi-validators/update.appAuth.validator.js.map +0 -1
  786. package/dist/appBuilder/validators/joi-validators/update.appConstants.validator.d.ts +0 -4
  787. package/dist/appBuilder/validators/joi-validators/update.appConstants.validator.js +0 -12
  788. package/dist/appBuilder/validators/joi-validators/update.appConstants.validator.js.map +0 -1
  789. package/dist/appBuilder/validators/joi-validators/update.appEnv.validator.d.ts +0 -4
  790. package/dist/appBuilder/validators/joi-validators/update.appEnv.validator.js +0 -17
  791. package/dist/appBuilder/validators/joi-validators/update.appEnv.validator.js.map +0 -1
  792. package/dist/appBuilder/validators/joi-validators/update.appEvent.validator.d.ts +0 -4
  793. package/dist/appBuilder/validators/joi-validators/update.appEvent.validator.js +0 -16
  794. package/dist/appBuilder/validators/joi-validators/update.appEvent.validator.js.map +0 -1
  795. package/dist/appBuilder/validators/joi-validators/update.appVariables.validator.d.ts +0 -4
  796. package/dist/appBuilder/validators/joi-validators/update.appVariables.validator.js +0 -14
  797. package/dist/appBuilder/validators/joi-validators/update.appVariables.validator.js.map +0 -1
  798. package/dist/appBuilder/validators/joi-validators/update.validation.entityData.validator.js +0 -27
  799. package/dist/appBuilder/validators/joi-validators/update.validation.entityData.validator.js.map +0 -1
  800. package/dist/apps/validators/joi-validators/create.appEvent.validator.d.ts +0 -5
  801. package/dist/apps/validators/joi-validators/create.appEvent.validator.js +0 -30
  802. package/dist/apps/validators/joi-validators/create.appEvent.validator.js.map +0 -1
  803. package/dist/apps/validators/joi-validators/update.appEvent.validator.d.ts +0 -4
  804. package/dist/apps/validators/joi-validators/update.appEvent.validator.js +0 -16
  805. package/dist/apps/validators/joi-validators/update.appEvent.validator.js.map +0 -1
  806. package/dist/clients/integrations.client.d.ts +0 -2
  807. package/dist/clients/integrations.client.js +0 -26
  808. package/dist/clients/integrations.client.js.map +0 -1
  809. package/dist/integrationsBuilder/services/integration.service.d.ts +0 -138
  810. package/dist/integrationsBuilder/services/integration.service.js +0 -1148
  811. package/dist/integrationsBuilder/services/integration.service.js.map +0 -1
  812. package/dist/integrationsBuilder/services/integrationBuilder.service.d.ts +0 -130
  813. package/dist/integrationsBuilder/services/integrationBuilder.service.js +0 -1017
  814. package/dist/integrationsBuilder/services/integrationBuilder.service.js.map +0 -1
  815. package/dist/integrationsBuilder/utils/objects.utils.d.ts +0 -2
  816. package/dist/integrationsBuilder/utils/objects.utils.js +0 -48
  817. package/dist/integrationsBuilder/utils/objects.utils.js.map +0 -1
  818. package/dist/integrationsBuilder/utils/string.utils.d.ts +0 -1
  819. package/dist/integrationsBuilder/utils/string.utils.js +0 -9
  820. package/dist/integrationsBuilder/utils/string.utils.js.map +0 -1
  821. package/dist/integrationsBuilder/validators/index.d.ts +0 -18
  822. package/dist/integrationsBuilder/validators/index.js +0 -38
  823. package/dist/integrationsBuilder/validators/index.js.map +0 -1
  824. package/dist/integrationsBuilder/validators/joi-validators/create.integration.validator.d.ts +0 -3
  825. package/dist/integrationsBuilder/validators/joi-validators/create.integration.validator.js +0 -10
  826. package/dist/integrationsBuilder/validators/joi-validators/create.integration.validator.js.map +0 -1
  827. package/dist/integrationsBuilder/validators/joi-validators/create.integrationApp.validator.d.ts +0 -4
  828. package/dist/integrationsBuilder/validators/joi-validators/create.integrationApp.validator.js +0 -26
  829. package/dist/integrationsBuilder/validators/joi-validators/create.integrationApp.validator.js.map +0 -1
  830. package/dist/integrationsBuilder/validators/joi-validators/create.integrationCache.validator.d.ts +0 -3
  831. package/dist/integrationsBuilder/validators/joi-validators/create.integrationCache.validator.js +0 -8
  832. package/dist/integrationsBuilder/validators/joi-validators/create.integrationCache.validator.js.map +0 -1
  833. package/dist/integrationsBuilder/validators/joi-validators/create.integrationDatabase.validator.d.ts +0 -3
  834. package/dist/integrationsBuilder/validators/joi-validators/create.integrationDatabase.validator.js +0 -8
  835. package/dist/integrationsBuilder/validators/joi-validators/create.integrationDatabase.validator.js.map +0 -1
  836. package/dist/integrationsBuilder/validators/joi-validators/create.integrationEnv.validator.d.ts +0 -3
  837. package/dist/integrationsBuilder/validators/joi-validators/create.integrationEnv.validator.js +0 -10
  838. package/dist/integrationsBuilder/validators/joi-validators/create.integrationEnv.validator.js.map +0 -1
  839. package/dist/integrationsBuilder/validators/joi-validators/create.integrationFeature.validator.d.ts +0 -3
  840. package/dist/integrationsBuilder/validators/joi-validators/create.integrationFeature.validator.js +0 -60
  841. package/dist/integrationsBuilder/validators/joi-validators/create.integrationFeature.validator.js.map +0 -1
  842. package/dist/integrationsBuilder/validators/joi-validators/create.integrationFunction.validator.d.ts +0 -3
  843. package/dist/integrationsBuilder/validators/joi-validators/create.integrationFunction.validator.js +0 -8
  844. package/dist/integrationsBuilder/validators/joi-validators/create.integrationFunction.validator.js.map +0 -1
  845. package/dist/integrationsBuilder/validators/joi-validators/create.integrationJob.validator.d.ts +0 -3
  846. package/dist/integrationsBuilder/validators/joi-validators/create.integrationJob.validator.js +0 -8
  847. package/dist/integrationsBuilder/validators/joi-validators/create.integrationJob.validator.js.map +0 -1
  848. package/dist/integrationsBuilder/validators/joi-validators/create.integrationNotification.validator.d.ts +0 -3
  849. package/dist/integrationsBuilder/validators/joi-validators/create.integrationNotification.validator.js +0 -8
  850. package/dist/integrationsBuilder/validators/joi-validators/create.integrationNotification.validator.js.map +0 -1
  851. package/dist/integrationsBuilder/validators/joi-validators/update.integrationApp.validator.d.ts +0 -3
  852. package/dist/integrationsBuilder/validators/joi-validators/update.integrationApp.validator.js +0 -9
  853. package/dist/integrationsBuilder/validators/joi-validators/update.integrationApp.validator.js.map +0 -1
  854. package/dist/integrationsBuilder/validators/joi-validators/update.integrationCache.validator.d.ts +0 -3
  855. package/dist/integrationsBuilder/validators/joi-validators/update.integrationCache.validator.js +0 -8
  856. package/dist/integrationsBuilder/validators/joi-validators/update.integrationCache.validator.js.map +0 -1
  857. package/dist/integrationsBuilder/validators/joi-validators/update.integrationDatabase.validator.d.ts +0 -3
  858. package/dist/integrationsBuilder/validators/joi-validators/update.integrationDatabase.validator.js +0 -8
  859. package/dist/integrationsBuilder/validators/joi-validators/update.integrationDatabase.validator.js.map +0 -1
  860. package/dist/integrationsBuilder/validators/joi-validators/update.integrationEnv.validator.d.ts +0 -3
  861. package/dist/integrationsBuilder/validators/joi-validators/update.integrationEnv.validator.js +0 -8
  862. package/dist/integrationsBuilder/validators/joi-validators/update.integrationEnv.validator.js.map +0 -1
  863. package/dist/integrationsBuilder/validators/joi-validators/update.integrationFeature.validator.d.ts +0 -3
  864. package/dist/integrationsBuilder/validators/joi-validators/update.integrationFeature.validator.js +0 -8
  865. package/dist/integrationsBuilder/validators/joi-validators/update.integrationFeature.validator.js.map +0 -1
  866. package/dist/integrationsBuilder/validators/joi-validators/update.integrationFunction.validator copy.d.ts +0 -3
  867. package/dist/integrationsBuilder/validators/joi-validators/update.integrationFunction.validator copy.js +0 -8
  868. package/dist/integrationsBuilder/validators/joi-validators/update.integrationFunction.validator copy.js.map +0 -1
  869. package/dist/integrationsBuilder/validators/joi-validators/update.integrationJob.validator.d.ts +0 -3
  870. package/dist/integrationsBuilder/validators/joi-validators/update.integrationJob.validator.js +0 -8
  871. package/dist/integrationsBuilder/validators/joi-validators/update.integrationJob.validator.js.map +0 -1
  872. package/dist/integrationsBuilder/validators/joi-validators/update.integrationNotification.validator.d.ts +0 -3
  873. package/dist/integrationsBuilder/validators/joi-validators/update.integrationNotification.validator.js +0 -8
  874. package/dist/integrationsBuilder/validators/joi-validators/update.integrationNotification.validator.js.map +0 -1
  875. package/dist/postman.d.ts +0 -1
  876. package/dist/postman.js +0 -21674
  877. package/dist/postman.js.map +0 -1
  878. package/dist/processor/services/fallback.service.d.ts +0 -5
  879. package/dist/processor/services/fallback.service.js +0 -43
  880. package/dist/processor/services/fallback.service.js.map +0 -1
  881. package/dist/processor/services/messagebrokers/aws-sqs.service.js +0 -77
  882. package/dist/processor/services/messagebrokers/aws-sqs.service.js.map +0 -1
  883. package/dist/processor/services/messagebrokers/google-pubsub.service.js.map +0 -1
  884. package/dist/processor/services/messagebrokers/index.d.ts +0 -3
  885. package/dist/processor/services/messagebrokers/index.js +0 -26
  886. package/dist/processor/services/messagebrokers/index.js.map +0 -1
  887. package/dist/processor/services/messagebrokers/kafka.service.d.ts +0 -14
  888. package/dist/processor/services/messagebrokers/kafka.service.js +0 -45
  889. package/dist/processor/services/messagebrokers/kafka.service.js.map +0 -1
  890. package/dist/processor/services/messagebrokers/messagebrokers.type.d.ts +0 -6
  891. package/dist/processor/services/messagebrokers/messagebrokers.type.js.map +0 -1
  892. package/dist/processor/services/messagebrokers/rabbitmq.service.d.ts +0 -14
  893. package/dist/processor/services/messagebrokers/rabbitmq.service.js.map +0 -1
  894. package/dist/processor/services/messagebrokers/redis.service.js.map +0 -1
  895. package/dist/processor/services/quota.service.d.ts +0 -15
  896. package/dist/processor/services/quota.service.js +0 -63
  897. package/dist/processor/services/quota.service.js.map +0 -1
  898. package/dist/processor/utils/mongo.util.d.ts +0 -0
  899. package/dist/processor/utils/mongo.util.js +0 -152
  900. package/dist/processor/utils/mongo.util.js.map +0 -1
  901. package/dist/processor/utils/postgres.util.d.ts +0 -14
  902. package/dist/processor/utils/postgres.util.js +0 -83
  903. package/dist/processor/utils/postgres.util.js.map +0 -1
  904. package/dist/products/validators/joi-validators/create.product.validator.d.ts +0 -3
  905. package/dist/products/validators/joi-validators/create.product.validator.js +0 -10
  906. package/dist/products/validators/joi-validators/create.product.validator.js.map +0 -1
  907. package/dist/test/test.appBuilder.d.ts +0 -1
  908. package/dist/test/test.appBuilder.js +0 -16
  909. package/dist/test/test.appBuilder.js.map +0 -1
  910. package/dist/test/test.import.d.ts +0 -1
  911. package/dist/test/test.import.js +0 -1460
  912. package/dist/test/test.import.js.map +0 -1
  913. package/dist/test/test.import.openapi.d.ts +0 -1
  914. package/dist/test/test.import.openapi.js +0 -76
  915. package/dist/test/test.import.openapi.js.map +0 -1
  916. package/dist/test/test.imports.d.ts +0 -1
  917. package/dist/test/test.imports.js +0 -62
  918. package/dist/test/test.imports.js.map +0 -1
  919. package/dist/test/test.logs.d.ts +0 -1
  920. package/dist/test/test.logs.js +0 -18
  921. package/dist/test/test.logs.js.map +0 -1
  922. package/dist/test/test.processor.d.ts +0 -1
  923. package/dist/test/test.processor.js +0 -123
  924. package/dist/test/test.processor.js.map +0 -1
  925. package/dist/test/test.productBuilder.d.ts +0 -1
  926. package/dist/test/test.productBuilder.js +0 -661
  927. package/dist/test/test.productBuilder.js.map +0 -1
  928. package/dist/test.appBuilder.d.ts +0 -1
  929. package/dist/test.appBuilder.js +0 -14
  930. package/dist/test.appBuilder.js.map +0 -1
  931. package/dist/test.import.d.ts +0 -0
  932. package/dist/test.import.js +0 -24
  933. package/dist/test.import.js.map +0 -1
  934. package/dist/test.imports.d.ts +0 -1
  935. package/dist/test.imports.js +0 -28
  936. package/dist/test.imports.js.map +0 -1
  937. package/dist/test.integrationBuilder.d.ts +0 -1
  938. package/dist/test.integrationBuilder.js +0 -276
  939. package/dist/test.integrationBuilder.js.map +0 -1
  940. package/dist/test.processor.d.ts +0 -1
  941. package/dist/test.processor.js +0 -23
  942. package/dist/test.processor.js.map +0 -1
  943. package/dist/test.utils.d.ts +0 -1
  944. package/dist/test.utils.js +0 -25
  945. package/dist/test.utils.js.map +0 -1
  946. package/dist/types/integrationsBuilder.types.d.ts +0 -276
  947. package/dist/types/integrationsBuilder.types.js +0 -51
  948. package/dist/types/integrationsBuilder.types.js.map +0 -1
  949. /package/dist/{actions/actions.repo.d.ts → pricing/pricing.repo.d.ts} +0 -0
  950. /package/dist/{appBuilder/validators/joi-validators/create.app.validator.d.ts → products/validators/joi-validators/create.productGraph.validator.d.ts} +0 -0
  951. /package/dist/{appBuilder/validators/joi-validators/update.validation.entityData.validator.d.ts → products/validators/joi-validators/update.productGraph.validator.d.ts} +0 -0
  952. /package/dist/{actions/actions.service.d.ts → types/request-tracker.interface.d.ts} +0 -0
@@ -0,0 +1,1205 @@
1
+ "use strict";
2
+ /**
3
+ * BrokersService - Main Message Broker Service Class
4
+ *
5
+ * Provides a unified interface for message broker operations including
6
+ * publish and subscribe functionality.
7
+ *
8
+ * Supported providers: RabbitMQ, Kafka, AWS SQS, Redis, Google Pub/Sub
9
+ */
10
+ var __importDefault = (this && this.__importDefault) || function (mod) {
11
+ return (mod && mod.__esModule) ? mod : { "default": mod };
12
+ };
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.BrokersService = exports.BrokerError = void 0;
15
+ const broker_util_1 = require("./utils/broker.util");
16
+ const products_service_1 = __importDefault(require("../products/services/products.service"));
17
+ const types_1 = require("../types");
18
+ const logs_service_1 = __importDefault(require("../logs/logs.service"));
19
+ const types_2 = require("../types");
20
+ const processor_utils_1 = require("../processor/utils/processor.utils");
21
+ const processorApi_service_1 = require("../api/services/processorApi.service");
22
+ const secrets_1 = require("../secrets");
23
+ const cache_manager_1 = require("../cache/cache.manager");
24
+ const sessions_1 = require("../sessions");
25
+ /** Log prefix for broker operations */
26
+ const LOG_PREFIX = '[BrokersService]';
27
+ /**
28
+ * Error class for broker operations
29
+ */
30
+ class BrokerError extends Error {
31
+ constructor(message, code, details) {
32
+ super(message);
33
+ this.code = code;
34
+ this.details = details;
35
+ this.name = 'BrokerError';
36
+ }
37
+ }
38
+ exports.BrokerError = BrokerError;
39
+ /**
40
+ * BrokersService
41
+ *
42
+ * Unified API for all message broker operations.
43
+ *
44
+ * @example
45
+ * ```ts
46
+ * import { BrokersService } from '@ductape/sdk';
47
+ *
48
+ * const brokers = new BrokersService({
49
+ * workspace_id: 'your-workspace-id',
50
+ * public_key: 'your-public-key',
51
+ * user_id: 'your-user-id',
52
+ * token: 'your-token',
53
+ * env_type: 'prd',
54
+ * });
55
+ *
56
+ * // Publish a message
57
+ * await brokers.publish({
58
+ * product: 'my-product',
59
+ * env: 'production',
60
+ * event: 'orders-broker:new-order',
61
+ * message: { orderId: '123', amount: 99.99 },
62
+ * });
63
+ *
64
+ * // Subscribe to messages
65
+ * await brokers.subscribe({
66
+ * product: 'my-product',
67
+ * env: 'production',
68
+ * event: 'orders-broker:new-order',
69
+ * callback: async (message) => {
70
+ * console.log('Received:', message);
71
+ * },
72
+ * });
73
+ * ```
74
+ */
75
+ class BrokersService {
76
+ constructor(config) {
77
+ var _a;
78
+ this.logService = null;
79
+ this.productId = '';
80
+ this.productTag = '';
81
+ this.privateKey = '';
82
+ /** Cache manager for 3-tier caching */
83
+ this.cacheManager = null;
84
+ /** Private keys per product for cache encryption */
85
+ this.privateKeys = new Map();
86
+ /** Connection pool for broker services - keyed by broker type + config hash */
87
+ this.brokerServicePool = new Map();
88
+ /** Cache for initialized broker configs - keyed by "productTag:brokerTag:envSlug" */
89
+ this.initializedBrokerCache = new Map();
90
+ /** Cache for initialized products - keyed by productTag */
91
+ this.initializedProducts = new Set();
92
+ /** Cache for registered broker consumers - keyed by consumerTag to track which consumers have been registered */
93
+ this.registeredConsumers = new Set();
94
+ /** Local cache for cache configurations to avoid repeated API calls */
95
+ this.cacheConfigCache = new Map();
96
+ /** Dedupe "Publish to broker - success" when same event is published twice in quick succession (e.g. workflow step run twice) */
97
+ this.lastPublishSuccessLogKey = null;
98
+ this.lastPublishSuccessLogTime = 0;
99
+ // ============================================================================
100
+ // BROKER MESSAGE QUERY METHODS (for workbench with decryption)
101
+ // ============================================================================
102
+ /**
103
+ * Messages namespace for workbench broker message queries
104
+ * All methods decrypt message content before returning
105
+ */
106
+ this.messages = {
107
+ /**
108
+ * Query broker messages with filtering and pagination
109
+ * Decrypts message content before returning
110
+ */
111
+ query: async (options) => {
112
+ try {
113
+ await this.initializeProductForEvents(options.product);
114
+ const result = await this.processorApiService.queryBrokerMessages({
115
+ product_tag: options.product,
116
+ env: options.env,
117
+ broker_tag: options.brokerTag,
118
+ topic_tag: options.topicTag,
119
+ producer_tag: options.producerTag,
120
+ consumer_tag: options.consumerTag,
121
+ status: options.status,
122
+ start_date: options.startDate,
123
+ end_date: options.endDate,
124
+ page: options.page,
125
+ limit: options.limit,
126
+ }, this.getUserAccess());
127
+ // Decrypt message content for each message
128
+ const messages = result.messages.map((msg) => (Object.assign(Object.assign({}, msg), { message_decrypted: msg.message_encrypted
129
+ ? this.decryptPayload(msg.message_encrypted)
130
+ : undefined })));
131
+ return {
132
+ messages,
133
+ total: result.total,
134
+ page: result.page,
135
+ limit: result.limit,
136
+ hasMore: result.hasMore,
137
+ };
138
+ }
139
+ catch (error) {
140
+ if (error instanceof BrokerError)
141
+ throw error;
142
+ throw new BrokerError(`Failed to query broker messages: ${error}`, 'QUERY_MESSAGES_FAILED', error);
143
+ }
144
+ },
145
+ /**
146
+ * Get broker producers with pagination
147
+ */
148
+ getProducers: async (options) => {
149
+ try {
150
+ await this.initializeProductForEvents(options.product);
151
+ return await this.processorApiService.getBrokerProducers({
152
+ product_tag: options.product,
153
+ env: options.env,
154
+ broker_tag: options.brokerTag,
155
+ topic_tag: options.topicTag,
156
+ page: options.page,
157
+ limit: options.limit,
158
+ }, this.getUserAccess());
159
+ }
160
+ catch (error) {
161
+ if (error instanceof BrokerError)
162
+ throw error;
163
+ throw new BrokerError(`Failed to get broker producers: ${error}`, 'GET_PRODUCERS_FAILED', error);
164
+ }
165
+ },
166
+ /**
167
+ * Get broker consumers with pagination
168
+ */
169
+ getConsumers: async (options) => {
170
+ try {
171
+ await this.initializeProductForEvents(options.product);
172
+ return await this.processorApiService.getBrokerConsumers({
173
+ product_tag: options.product,
174
+ env: options.env,
175
+ broker_tag: options.brokerTag,
176
+ topic_tag: options.topicTag,
177
+ page: options.page,
178
+ limit: options.limit,
179
+ }, this.getUserAccess());
180
+ }
181
+ catch (error) {
182
+ if (error instanceof BrokerError)
183
+ throw error;
184
+ throw new BrokerError(`Failed to get broker consumers: ${error}`, 'GET_CONSUMERS_FAILED', error);
185
+ }
186
+ },
187
+ /**
188
+ * Get broker dead letters with pagination
189
+ * Decrypts message content before returning
190
+ */
191
+ getDeadLetters: async (options) => {
192
+ try {
193
+ await this.initializeProductForEvents(options.product);
194
+ const result = await this.processorApiService.getBrokerDeadLetters({
195
+ product_tag: options.product,
196
+ env: options.env,
197
+ broker_tag: options.brokerTag,
198
+ topic_tag: options.topicTag,
199
+ consumer_tag: options.consumerTag,
200
+ start_date: options.startDate,
201
+ end_date: options.endDate,
202
+ page: options.page,
203
+ limit: options.limit,
204
+ }, this.getUserAccess());
205
+ // Decrypt message content for dead letters
206
+ const deadLetters = result.deadLetters.map((dl) => (Object.assign(Object.assign({}, dl), { original_message: dl.original_message ? Object.assign(Object.assign({}, dl.original_message), { message_decrypted: dl.original_message.message_encrypted
207
+ ? this.decryptPayload(dl.original_message.message_encrypted)
208
+ : undefined }) : dl.original_message })));
209
+ return {
210
+ deadLetters,
211
+ total: result.total,
212
+ page: result.page,
213
+ limit: result.limit,
214
+ hasMore: result.hasMore,
215
+ };
216
+ }
217
+ catch (error) {
218
+ if (error instanceof BrokerError)
219
+ throw error;
220
+ throw new BrokerError(`Failed to get broker dead letters: ${error}`, 'GET_DEAD_LETTERS_FAILED', error);
221
+ }
222
+ },
223
+ /**
224
+ * Get comprehensive broker message statistics
225
+ */
226
+ getStats: async (options) => {
227
+ try {
228
+ await this.initializeProductForEvents(options.product);
229
+ return await this.processorApiService.getBrokerComprehensiveStats({
230
+ product_tag: options.product,
231
+ env: options.env,
232
+ broker_tag: options.brokerTag,
233
+ }, this.getUserAccess());
234
+ }
235
+ catch (error) {
236
+ if (error instanceof BrokerError)
237
+ throw error;
238
+ throw new BrokerError(`Failed to get broker stats: ${error}`, 'GET_STATS_FAILED', error);
239
+ }
240
+ },
241
+ /**
242
+ * Get broker dashboard overview data
243
+ * Decrypts message content for recent messages
244
+ */
245
+ getDashboard: async (options) => {
246
+ try {
247
+ await this.initializeProductForEvents(options.product);
248
+ const result = await this.processorApiService.getBrokerDashboard({
249
+ product_tag: options.product,
250
+ env: options.env,
251
+ broker_tag: options.brokerTag,
252
+ }, this.getUserAccess());
253
+ // Decrypt recent messages
254
+ const recentMessages = (result.recent_messages || []).map((msg) => (Object.assign(Object.assign({}, msg), { message_decrypted: msg.message_encrypted
255
+ ? this.decryptPayload(msg.message_encrypted)
256
+ : undefined })));
257
+ return Object.assign(Object.assign({}, result), { recent_messages: recentMessages });
258
+ }
259
+ catch (error) {
260
+ if (error instanceof BrokerError)
261
+ throw error;
262
+ throw new BrokerError(`Failed to get broker dashboard: ${error}`, 'GET_DASHBOARD_FAILED', error);
263
+ }
264
+ },
265
+ };
266
+ this.config = config;
267
+ this.productBuilderService = (_a = config.preInitializedProductBuilder) !== null && _a !== void 0 ? _a : new products_service_1.default({
268
+ workspace_id: config.workspace_id,
269
+ public_key: config.public_key,
270
+ user_id: config.user_id,
271
+ token: config.token,
272
+ env_type: config.env_type,
273
+ redis_client: config.redis_client,
274
+ access_key: config.access_key,
275
+ });
276
+ this.processorApiService = new processorApi_service_1.ProcessorApiService(config.env_type);
277
+ // Initialize CacheManager if Redis client is provided
278
+ if (config.redis_client) {
279
+ this.cacheManager = new cache_manager_1.CacheManager({
280
+ workspace_id: config.workspace_id,
281
+ public_key: config.public_key,
282
+ user_id: config.user_id,
283
+ token: config.token,
284
+ env_type: config.env_type || '',
285
+ redis_client: config.redis_client,
286
+ });
287
+ }
288
+ }
289
+ /**
290
+ * Get user access credentials
291
+ */
292
+ getUserAccess() {
293
+ return {
294
+ user_id: this.config.user_id,
295
+ token: this.config.token,
296
+ workspace_id: this.config.workspace_id,
297
+ public_key: this.config.public_key,
298
+ access_key: this.config.access_key,
299
+ };
300
+ }
301
+ /**
302
+ * Initialize product and get broker configuration (with caching)
303
+ */
304
+ async initializeBroker(productTag, envSlug, event, message) {
305
+ var _a, _b;
306
+ // Parse event to get broker and topic tags
307
+ const { brokerTag, topicTag } = (0, broker_util_1.parseEventString)(event);
308
+ // Check cache first (keyed by product:broker:env)
309
+ const cacheKey = `${productTag}:${brokerTag}:${envSlug}`;
310
+ const cached = this.initializedBrokerCache.get(cacheKey);
311
+ if (cached) {
312
+ // For cached brokers, just check if topic exists (might be new topic)
313
+ let topic = (_a = cached.broker.topics) === null || _a === void 0 ? void 0 : _a.find(t => t.tag === topicTag);
314
+ if (!topic) {
315
+ if (message) {
316
+ this.ensureTopicRegistered(brokerTag, topicTag, message);
317
+ }
318
+ topic = { tag: topicTag, name: topicTag, sample: message || {} };
319
+ }
320
+ // Determine topic URL
321
+ let topicUrl = topic.name;
322
+ if (cached.brokerEnv.type === types_1.MessageBrokerTypes.AWS_SQS) {
323
+ topicUrl = (0, broker_util_1.getSqsQueueUrl)(topic, envSlug);
324
+ }
325
+ return Object.assign(Object.assign({}, cached), { topic, topicUrl });
326
+ }
327
+ // Initialize product only if not already done
328
+ if (!this.initializedProducts.has(productTag)) {
329
+ await this.productBuilderService.initializeProductByTag(productTag);
330
+ this.initializedProducts.add(productTag);
331
+ }
332
+ this.productTag = productTag;
333
+ this.productId = this.productBuilderService.fetchProductId() || '';
334
+ this.privateKey = this.productBuilderService.fetchPrivateKey();
335
+ // Fetch broker configuration
336
+ const broker = await this.productBuilderService.fetchMessageBroker(brokerTag);
337
+ if (!broker) {
338
+ throw new BrokerError(`Message Broker ${brokerTag} not found`, 'BROKER_NOT_FOUND');
339
+ }
340
+ if (!broker.envs || !Array.isArray(broker.envs)) {
341
+ throw new BrokerError(`Message Broker ${brokerTag} has no environments configured`, 'BROKER_NO_ENVS');
342
+ }
343
+ // Get environment-specific broker config
344
+ const brokerEnv = broker.envs.find((el) => el.slug === envSlug);
345
+ if (!brokerEnv) {
346
+ throw new BrokerError(`Broker environment for ${envSlug} not found`, 'BROKER_ENV_NOT_FOUND');
347
+ }
348
+ // Check if topic exists in broker's topics array
349
+ let topic = (_b = broker.topics) === null || _b === void 0 ? void 0 : _b.find(t => t.tag === topicTag);
350
+ if (!topic) {
351
+ if (message) {
352
+ this.ensureTopicRegistered(brokerTag, topicTag, message);
353
+ }
354
+ topic = { tag: topicTag, name: topicTag, sample: message || {} };
355
+ }
356
+ // Resolve any secret references in broker config
357
+ let resolvedConfig = brokerEnv.config;
358
+ if (resolvedConfig && (0, secrets_1.mightContainSecrets)(resolvedConfig)) {
359
+ const secretsService = (0, secrets_1.getSecretsService)();
360
+ if (secretsService) {
361
+ const resolved = await secretsService.resolve(resolvedConfig, { env: envSlug });
362
+ resolvedConfig = resolved.value;
363
+ }
364
+ else {
365
+ throw new BrokerError(`Broker configuration contains secret references but secrets service is not initialized.`, 'SECRETS_NOT_INITIALIZED');
366
+ }
367
+ }
368
+ // Create resolved broker env
369
+ const resolvedBrokerEnv = Object.assign(Object.assign({}, brokerEnv), { config: resolvedConfig });
370
+ // Determine the topic URL/name
371
+ let topicUrl = topic.name;
372
+ if (brokerEnv.type === types_1.MessageBrokerTypes.AWS_SQS) {
373
+ topicUrl = (0, broker_util_1.getSqsQueueUrl)(topic, envSlug);
374
+ }
375
+ // Cache the result (without topic, as topics may vary per call)
376
+ this.initializedBrokerCache.set(cacheKey, {
377
+ broker,
378
+ topic, // Store last topic, but will be re-evaluated on cache hit
379
+ brokerEnv: resolvedBrokerEnv,
380
+ topicUrl,
381
+ });
382
+ return { broker, topic, brokerEnv: resolvedBrokerEnv, topicUrl };
383
+ }
384
+ /**
385
+ * Initialize logging service
386
+ */
387
+ initializeLogService() {
388
+ if (!this.logService) {
389
+ this.logService = new logs_service_1.default({
390
+ product_id: this.productId,
391
+ workspace_id: this.config.workspace_id,
392
+ public_key: this.config.public_key,
393
+ user_id: this.config.user_id,
394
+ token: this.config.token,
395
+ env_type: this.config.env_type,
396
+ });
397
+ }
398
+ }
399
+ /**
400
+ * Validate cache tag exists in product and return cache configuration
401
+ * Uses local in-memory cache to avoid repeated API calls (5 minute TTL)
402
+ */
403
+ async validateCache(cacheTag) {
404
+ const cacheKey = `${this.productTag}:${cacheTag}`;
405
+ const cached = this.cacheConfigCache.get(cacheKey);
406
+ const now = Date.now();
407
+ const CACHE_TTL = 5 * 60 * 1000; // 5 minutes
408
+ // Return cached config if still valid
409
+ if (cached && (now - cached.fetchedAt) < CACHE_TTL) {
410
+ return { expiry: cached.expiry };
411
+ }
412
+ // Fetch from API and cache the result
413
+ const cache = await this.productBuilderService.fetchCache(cacheTag);
414
+ if (!cache) {
415
+ throw new BrokerError(`Cache configuration '${cacheTag}' does not exist`, 'CACHE_NOT_FOUND');
416
+ }
417
+ this.cacheConfigCache.set(cacheKey, { expiry: cache.expiry, fetchedAt: now });
418
+ return { expiry: cache.expiry };
419
+ }
420
+ /**
421
+ * Generate a cache key for the broker service pool
422
+ */
423
+ getBrokerPoolKey(type, config) {
424
+ var _a;
425
+ // Use type + url/host as the key (url for RabbitMQ, host for others)
426
+ const configKey = (config === null || config === void 0 ? void 0 : config.url) || (config === null || config === void 0 ? void 0 : config.host) || ((_a = config === null || config === void 0 ? void 0 : config.brokers) === null || _a === void 0 ? void 0 : _a[0]) || JSON.stringify(config);
427
+ return `${type}:${configKey}`;
428
+ }
429
+ /**
430
+ * Get or create broker service instance (with connection pooling)
431
+ */
432
+ async getBrokerService(type, config) {
433
+ if ((0, broker_util_1.isBrowser)()) {
434
+ throw new BrokerError('Broker operations are not supported in browser environment', 'BROWSER_NOT_SUPPORTED');
435
+ }
436
+ // Check if we have a cached connection
437
+ const poolKey = this.getBrokerPoolKey(type, config);
438
+ const existingService = this.brokerServicePool.get(poolKey);
439
+ if (existingService) {
440
+ return existingService;
441
+ }
442
+ const createBrokerService = await (0, broker_util_1.loadBrokerService)();
443
+ if (!createBrokerService) {
444
+ throw new BrokerError('Failed to load broker service', 'BROKER_SERVICE_LOAD_FAILED');
445
+ }
446
+ const service = createBrokerService(type, config);
447
+ // Store in pool for reuse
448
+ this.brokerServicePool.set(poolKey, service);
449
+ return service;
450
+ }
451
+ /**
452
+ * Disconnect all pooled broker connections (e.g. at end of workflow run). Safe if pool is empty.
453
+ */
454
+ async disconnectAll() {
455
+ for (const service of this.brokerServicePool.values()) {
456
+ try {
457
+ if (typeof service.disconnect === 'function') {
458
+ await service.disconnect();
459
+ }
460
+ }
461
+ catch (_a) {
462
+ // Non-fatal
463
+ }
464
+ }
465
+ this.brokerServicePool.clear();
466
+ }
467
+ /**
468
+ * Pre-warm broker connections for the given product/env and broker tags.
469
+ * Call before step execution so the first produce step reuses connections. Same auth and secrets as publish.
470
+ */
471
+ async warmBrokerConnections(options) {
472
+ const { product, env, brokerTags } = options;
473
+ if (brokerTags.length === 0)
474
+ return;
475
+ for (const brokerTag of brokerTags) {
476
+ try {
477
+ const { brokerEnv } = await this.initializeBroker(product, env, `${brokerTag}:_warm`, {});
478
+ const service = await this.getBrokerService(brokerEnv.type, brokerEnv.config);
479
+ if (typeof service.connect === 'function')
480
+ await service.connect();
481
+ }
482
+ catch (_a) {
483
+ // Non-fatal: step will connect on first use
484
+ }
485
+ }
486
+ }
487
+ /**
488
+ * Auto-register a topic in the background (fire-and-forget)
489
+ * This is intentionally lightweight - no pre-check, no post-fetch
490
+ */
491
+ ensureTopicRegistered(brokerTag, topicTag, message) {
492
+ const fullTag = `${brokerTag}:${topicTag}`;
493
+ // Fire-and-forget: don't await, let it run in background
494
+ this.productBuilderService.createMessageBrokerTopic({
495
+ tag: fullTag,
496
+ name: topicTag,
497
+ description: `Auto-registered topic for ${fullTag}`,
498
+ sample: JSON.stringify(message || {}),
499
+ idempotent: false,
500
+ }).catch(() => {
501
+ // Silently ignore - topic might already exist or registration failed
502
+ // Either way, the publish should proceed
503
+ });
504
+ }
505
+ /**
506
+ * Auto-register a producer if it doesn't exist
507
+ */
508
+ async ensureProducerRegistered(brokerTag, topicTag, options) {
509
+ const tag = (options === null || options === void 0 ? void 0 : options.tag) || `producer-${brokerTag}-${topicTag}`;
510
+ const topic = `${brokerTag}:${topicTag}`;
511
+ try {
512
+ const existingProducer = await this.productBuilderService.fetchMessageBrokerProducer(brokerTag, tag);
513
+ if (!existingProducer) {
514
+ await this.productBuilderService.createMessageBrokerProducer({
515
+ tag,
516
+ topic,
517
+ description: (options === null || options === void 0 ? void 0 : options.description) || `Auto-registered producer for ${topic}`,
518
+ });
519
+ }
520
+ }
521
+ catch (_a) {
522
+ // Silently ignore registration errors - the main operation should still proceed
523
+ }
524
+ }
525
+ /**
526
+ * Auto-register a consumer if it doesn't exist
527
+ */
528
+ async ensureConsumerRegistered(brokerTag, topicTag, options) {
529
+ const tag = (options === null || options === void 0 ? void 0 : options.tag) || `consumer-${brokerTag}-${topicTag}`;
530
+ const topic = `${brokerTag}:${topicTag}`;
531
+ try {
532
+ const existingConsumer = await this.productBuilderService.fetchMessageBrokerConsumer(brokerTag, tag);
533
+ if (!existingConsumer) {
534
+ await this.productBuilderService.createMessageBrokerConsumer({
535
+ tag,
536
+ topic,
537
+ description: (options === null || options === void 0 ? void 0 : options.description) || `Auto-registered consumer for ${topic}`,
538
+ });
539
+ }
540
+ }
541
+ catch (_a) {
542
+ // Silently ignore registration errors - the main operation should still proceed
543
+ }
544
+ }
545
+ /**
546
+ * Publish a message to a broker topic
547
+ */
548
+ async publish(options) {
549
+ var _a, _b, _c, _d;
550
+ const process_id = (0, processor_utils_1.generateObjectId)();
551
+ const start = Date.now();
552
+ const { cache } = options;
553
+ let sessionLogFields = {};
554
+ let resolvedMessage = options.message;
555
+ // Parse event string early to have broker/topic tags available for error logging
556
+ const { brokerTag, topicTag } = (0, broker_util_1.parseEventString)(options.event);
557
+ try {
558
+ const { broker, topic, brokerEnv, topicUrl } = await this.initializeBroker(options.product, options.env, options.event, options.message);
559
+ // Store private key for cache operations
560
+ if (this.privateKey) {
561
+ this.privateKeys.set(options.product, this.privateKey);
562
+ }
563
+ // Process session if provided - verify and resolve $Session{} references
564
+ if (options.session && this.privateKey) {
565
+ // Convert session object { tag, token } to string format "tag:token"
566
+ const sessionToken = `${options.session.tag}:${options.session.token}`;
567
+ const sessionResult = await (0, sessions_1.processSessionForExecution)(sessionToken, this.privateKey, { message: options.message }, options.env, {
568
+ fetchSessionSelector: async (sessionTag) => {
569
+ const sessionConfig = await this.productBuilderService.fetchSession(sessionTag);
570
+ return sessionConfig === null || sessionConfig === void 0 ? void 0 : sessionConfig.selector;
571
+ },
572
+ });
573
+ if (sessionResult.error) {
574
+ throw new BrokerError(`Session validation failed: ${sessionResult.error}`, 'SESSION_INVALID');
575
+ }
576
+ sessionLogFields = sessionResult.logFields;
577
+ resolvedMessage = sessionResult.input.message;
578
+ }
579
+ // Auto-register producer if not exists
580
+ await this.ensureProducerRegistered(brokerTag, topicTag, options.producer);
581
+ this.initializeLogService();
582
+ const baseLogs = Object.assign({ product_tag: options.product, product_id: this.productId, workspace_id: this.config.workspace_id, env: options.env, process_id, type: types_2.LogEventTypes.PRODUCER, parent_tag: brokerTag, child_tag: topicTag, data: { event: options.event } }, sessionLogFields);
583
+ this.logService.add(Object.assign(Object.assign({}, baseLogs), { start, message: 'Publish to broker - initiated', status: types_2.LogEventStatus.PROCESSING }));
584
+ // Check cache for idempotency (prevent duplicate publishes with same data)
585
+ if (cache && this.cacheManager && this.privateKey) {
586
+ const cacheConfig = await this.validateCache(cache);
587
+ const cacheOptions = {
588
+ cache_tag: cache,
589
+ product_tag: options.product,
590
+ component_tag: `${brokerTag}:${topicTag}`,
591
+ component_type: 'broker',
592
+ operation: 'publish',
593
+ input: { event: options.event, message: options.message },
594
+ privateKey: this.privateKey,
595
+ expiry: cacheConfig.expiry,
596
+ };
597
+ const cached = await this.cacheManager.fetch(cacheOptions);
598
+ if (cached.hit && cached.data) {
599
+ const end = Date.now();
600
+ this.logService.add(Object.assign(Object.assign({}, baseLogs), { start,
601
+ end, message: `Publish to broker - cache hit (${cached.source})`, successful_execution: true, status: types_2.LogEventStatus.SUCCESS, data: { event: options.event, cache_source: cached.source }, cache_tag: cache, cache_key: cached.key, cache_status: true }));
602
+ this.logService.publish();
603
+ return cached.data;
604
+ }
605
+ }
606
+ // Generate message_id client-side and track asynchronously (fire-and-forget)
607
+ const producerTag = ((_a = options.producer) === null || _a === void 0 ? void 0 : _a.tag) || `producer-${brokerTag}-${topicTag}`;
608
+ const messageId = (0, processor_utils_1.generateObjectId)();
609
+ // Encrypt message on SDK side - NEVER send private_key over HTTP
610
+ const messageEncrypted = (0, processor_utils_1.encrypt)(JSON.stringify(resolvedMessage), this.privateKey);
611
+ // Track the message in the database (fire-and-forget - no await)
612
+ this.processorApiService.trackBrokerMessage({
613
+ workspace_id: this.config.workspace_id,
614
+ product_id: this.productId,
615
+ product_tag: options.product,
616
+ env: options.env,
617
+ broker_tag: brokerTag,
618
+ topic_tag: topicTag,
619
+ event: options.event,
620
+ producer_tag: producerTag,
621
+ message_encrypted: messageEncrypted,
622
+ process_id,
623
+ session_tag: (_b = options.session) === null || _b === void 0 ? void 0 : _b.tag,
624
+ metadata: { cache: options.cache },
625
+ message_id: messageId,
626
+ }, this.getUserAccess()).catch(() => {
627
+ // Silently ignore tracking errors - non-blocking
628
+ });
629
+ // Add the message_id to the message so consumers can track it
630
+ const messageWithTracking = Object.assign(Object.assign({}, resolvedMessage), { __ductape_message_id: messageId });
631
+ // Get broker service and publish
632
+ const brokerService = await this.getBrokerService(brokerEnv.type, brokerEnv.config);
633
+ await brokerService.publish(topicUrl, messageWithTracking);
634
+ const result = {
635
+ success: true,
636
+ process_id,
637
+ };
638
+ // Store in cache for idempotency (fire-and-forget)
639
+ if (cache && this.cacheManager && this.privateKey) {
640
+ const cacheConfig = await this.validateCache(cache);
641
+ this.cacheManager.store({
642
+ cache_tag: cache,
643
+ product_tag: options.product,
644
+ component_tag: `${brokerTag}:${topicTag}`,
645
+ component_type: 'broker',
646
+ operation: 'publish',
647
+ input: { event: options.event, message: options.message },
648
+ privateKey: this.privateKey,
649
+ expiry: cacheConfig.expiry,
650
+ }, result);
651
+ }
652
+ const end = Date.now();
653
+ const successLogKey = `${options.product}:${options.env}:${options.event}`;
654
+ const now = Date.now();
655
+ const isDuplicateSuccessLog = this.lastPublishSuccessLogKey === successLogKey &&
656
+ now - this.lastPublishSuccessLogTime < BrokersService.PUBLISH_SUCCESS_LOG_DEDUPE_MS;
657
+ if (!isDuplicateSuccessLog) {
658
+ this.logService.add(Object.assign(Object.assign({}, baseLogs), { start,
659
+ end, message: 'Publish to broker - success', successful_execution: true, status: types_2.LogEventStatus.SUCCESS }));
660
+ this.lastPublishSuccessLogKey = successLogKey;
661
+ this.lastPublishSuccessLogTime = now;
662
+ }
663
+ this.logService.publish();
664
+ return result;
665
+ }
666
+ catch (error) {
667
+ const end = Date.now();
668
+ this.initializeLogService();
669
+ (_c = this.logService) === null || _c === void 0 ? void 0 : _c.add(Object.assign({ product_tag: options.product, workspace_id: this.config.workspace_id, env: options.env, process_id,
670
+ start,
671
+ end, type: types_2.LogEventTypes.PRODUCER, parent_tag: brokerTag, child_tag: topicTag, message: 'Publish to broker - failed', failed_execution: true, data: { event: options.event, error: String(error) }, status: types_2.LogEventStatus.FAIL }, sessionLogFields));
672
+ await ((_d = this.logService) === null || _d === void 0 ? void 0 : _d.publish());
673
+ if (error instanceof BrokerError) {
674
+ throw error;
675
+ }
676
+ throw new BrokerError(`Failed to publish message: ${error}`, 'PUBLISH_FAILED', error);
677
+ }
678
+ }
679
+ /**
680
+ * Subscribe to a broker topic
681
+ */
682
+ async subscribe(options) {
683
+ var _a, _b, _c;
684
+ const process_id = (0, processor_utils_1.generateObjectId)();
685
+ const start = Date.now();
686
+ try {
687
+ // For subscribe, we don't auto-register topics - they should already exist
688
+ const { broker, topic, brokerEnv, topicUrl } = await this.initializeBroker(options.product, options.env, options.event, undefined);
689
+ const { brokerTag, topicTag } = (0, broker_util_1.parseEventString)(options.event);
690
+ // Auto-register consumer if not exists
691
+ await this.ensureConsumerRegistered(brokerTag, topicTag, options.consumer);
692
+ this.initializeLogService();
693
+ const baseLogs = {
694
+ product_tag: options.product,
695
+ product_id: this.productId,
696
+ workspace_id: this.config.workspace_id,
697
+ env: options.env,
698
+ process_id,
699
+ type: types_2.LogEventTypes.CONSUMER,
700
+ parent_tag: brokerTag,
701
+ child_tag: topicTag,
702
+ data: { event: options.event },
703
+ };
704
+ this.logService.add(Object.assign(Object.assign({}, baseLogs), { start, message: 'Subscribe to broker - initiated', status: types_2.LogEventStatus.PROCESSING }));
705
+ // Get broker service and subscribe with message tracking wrapper
706
+ const brokerService = await this.getBrokerService(brokerEnv.type, brokerEnv.config);
707
+ const consumerTag = ((_a = options.consumer) === null || _a === void 0 ? void 0 : _a.tag) || `consumer-${brokerTag}-${topicTag}`;
708
+ // Pre-cache user access for callback use (avoid repeated calls)
709
+ const userAccess = this.getUserAccess();
710
+ // Wrap the callback to track message consumption (optimized for low latency)
711
+ const wrappedCallback = async (message) => {
712
+ const messageReceiveTime = Date.now();
713
+ const consumeProcessId = (0, processor_utils_1.generateObjectId)();
714
+ // Extract message_id from the message
715
+ const msgWithId = message;
716
+ const messageId = msgWithId.__ductape_message_id;
717
+ // Execute user callback FIRST - this is the critical path
718
+ let callbackSuccess = true;
719
+ let callbackError;
720
+ try {
721
+ await options.callback(message);
722
+ }
723
+ catch (err) {
724
+ callbackSuccess = false;
725
+ callbackError = err;
726
+ }
727
+ const callbackEnd = Date.now();
728
+ // Fire-and-forget: All tracking/logging happens async after callback completes
729
+ // This ensures user callback latency is not affected by our tracking overhead
730
+ setImmediate(() => {
731
+ var _a, _b;
732
+ const consumeBaseLogs = {
733
+ product_tag: options.product,
734
+ product_id: this.productId,
735
+ workspace_id: this.config.workspace_id,
736
+ env: options.env,
737
+ process_id: consumeProcessId,
738
+ type: types_2.LogEventTypes.CONSUMER,
739
+ parent_tag: brokerTag,
740
+ child_tag: topicTag,
741
+ data: { event: options.event, message_id: messageId, consumer_tag: consumerTag },
742
+ };
743
+ if (messageId) {
744
+ // Calculate actual callback processing time
745
+ const processingTime = callbackEnd - messageReceiveTime;
746
+ // Register consumer first, then update status (sequential to avoid race condition)
747
+ this.processorApiService.registerBrokerConsumer({
748
+ message_id: messageId,
749
+ consumer_tag: consumerTag,
750
+ }, userAccess).then(() => {
751
+ // Now update the status with processing time
752
+ return this.processorApiService.updateBrokerConsumerStatus({
753
+ message_id: messageId,
754
+ consumer_tag: consumerTag,
755
+ status: callbackSuccess ? 'success' : 'failed',
756
+ error: callbackError ? String(callbackError) : undefined,
757
+ processing_time: processingTime,
758
+ }, userAccess);
759
+ }).catch(() => { }); // Silently ignore tracking errors
760
+ }
761
+ // Log consumption (fire-and-forget)
762
+ (_a = this.logService) === null || _a === void 0 ? void 0 : _a.add(Object.assign(Object.assign(Object.assign({}, consumeBaseLogs), { start: messageReceiveTime, end: callbackEnd, message: messageId
763
+ ? (callbackSuccess ? 'Message consumed - success' : 'Message consumed - failed')
764
+ : 'Message consumed - untracked (no message_id)', successful_execution: callbackSuccess, failed_execution: !callbackSuccess, status: callbackSuccess ? types_2.LogEventStatus.SUCCESS : types_2.LogEventStatus.FAIL }), (callbackError && { data: Object.assign(Object.assign({}, consumeBaseLogs.data), { error: String(callbackError) }) })));
765
+ (_b = this.logService) === null || _b === void 0 ? void 0 : _b.publish();
766
+ });
767
+ // Re-throw callback error if any (so RabbitMQ can handle retry/nack)
768
+ if (callbackError) {
769
+ throw callbackError;
770
+ }
771
+ };
772
+ await brokerService.subscribe(topicUrl, wrappedCallback);
773
+ const end = Date.now();
774
+ this.logService.add(Object.assign(Object.assign({}, baseLogs), { start,
775
+ end, message: 'Subscribe to broker - success', successful_execution: true, status: types_2.LogEventStatus.SUCCESS }));
776
+ this.logService.publish();
777
+ return {
778
+ success: true,
779
+ process_id,
780
+ };
781
+ }
782
+ catch (error) {
783
+ const end = Date.now();
784
+ this.initializeLogService();
785
+ (_b = this.logService) === null || _b === void 0 ? void 0 : _b.add({
786
+ product_tag: options.product,
787
+ workspace_id: this.config.workspace_id,
788
+ env: options.env,
789
+ process_id,
790
+ start,
791
+ end,
792
+ type: types_2.LogEventTypes.CONSUMER,
793
+ message: 'Subscribe to broker - failed',
794
+ failed_execution: true,
795
+ data: { event: options.event, error: String(error) },
796
+ status: types_2.LogEventStatus.FAIL,
797
+ });
798
+ await ((_c = this.logService) === null || _c === void 0 ? void 0 : _c.publish());
799
+ if (error instanceof BrokerError) {
800
+ throw error;
801
+ }
802
+ throw new BrokerError(`Failed to subscribe: ${error}`, 'SUBSCRIBE_FAILED', error);
803
+ }
804
+ }
805
+ /**
806
+ * Get all message brokers for a product
807
+ */
808
+ async getBrokers(productTag) {
809
+ await this.productBuilderService.initializeProductByTag(productTag);
810
+ return this.productBuilderService.fetchMessageBrokers();
811
+ }
812
+ /**
813
+ * Get a specific message broker by tag
814
+ */
815
+ async getBroker(productTag, brokerTag) {
816
+ await this.productBuilderService.initializeProductByTag(productTag);
817
+ return this.productBuilderService.fetchMessageBroker(brokerTag);
818
+ }
819
+ /**
820
+ * Get all topics for a message broker
821
+ */
822
+ async getTopics(productTag, brokerTag) {
823
+ await this.productBuilderService.initializeProductByTag(productTag);
824
+ return this.productBuilderService.fetchMessageBrokerTopics(brokerTag);
825
+ }
826
+ /**
827
+ * Get a specific topic by event string (broker_tag:topic_tag)
828
+ */
829
+ async getTopic(productTag, event) {
830
+ await this.productBuilderService.initializeProductByTag(productTag);
831
+ return this.productBuilderService.fetchMessageBrokerTopic(event);
832
+ }
833
+ /**
834
+ * Test connection to a message broker
835
+ *
836
+ * Validates broker configuration and attempts to establish a connection.
837
+ *
838
+ * @example
839
+ * ```ts
840
+ * const result = await brokers.testConnection({
841
+ * product: 'my-product',
842
+ * env: 'prd',
843
+ * broker: 'orders-broker',
844
+ * });
845
+ * console.log(result.connected); // true or false
846
+ * ```
847
+ */
848
+ async testConnection(options) {
849
+ const startTime = Date.now();
850
+ try {
851
+ // Initialize product and fetch broker configuration
852
+ await this.productBuilderService.initializeProductByTag(options.product);
853
+ const broker = await this.productBuilderService.fetchMessageBroker(options.broker);
854
+ if (!broker) {
855
+ return {
856
+ connected: false,
857
+ latency: Date.now() - startTime,
858
+ error: `Message Broker '${options.broker}' not found`,
859
+ };
860
+ }
861
+ // Get environment-specific broker config
862
+ const brokerEnv = broker.envs.find((el) => el.slug === options.env);
863
+ if (!brokerEnv) {
864
+ return {
865
+ connected: false,
866
+ latency: Date.now() - startTime,
867
+ error: `Broker environment '${options.env}' not found`,
868
+ };
869
+ }
870
+ // Resolve any secret references in broker config
871
+ let resolvedConfig = brokerEnv.config;
872
+ if (resolvedConfig && (0, secrets_1.mightContainSecrets)(resolvedConfig)) {
873
+ const secretsService = (0, secrets_1.getSecretsService)();
874
+ if (secretsService) {
875
+ const resolved = await secretsService.resolve(resolvedConfig, { env: options.env });
876
+ resolvedConfig = resolved.value;
877
+ }
878
+ else {
879
+ return {
880
+ connected: false,
881
+ latency: Date.now() - startTime,
882
+ error: 'Broker configuration contains secret references but secrets service is not initialized',
883
+ };
884
+ }
885
+ }
886
+ // Try to create and connect the broker service
887
+ const brokerService = await this.getBrokerService(brokerEnv.type, resolvedConfig);
888
+ // Attempt to connect
889
+ await brokerService.connect();
890
+ // Disconnect after successful test
891
+ await brokerService.disconnect();
892
+ return {
893
+ connected: true,
894
+ latency: Date.now() - startTime,
895
+ };
896
+ }
897
+ catch (error) {
898
+ return {
899
+ connected: false,
900
+ latency: Date.now() - startTime,
901
+ error: error.message,
902
+ };
903
+ }
904
+ }
905
+ // ============================================================================
906
+ // EVENT TRACKING METHODS
907
+ // ============================================================================
908
+ /**
909
+ * Initialize product for event operations (without broker/topic lookup)
910
+ */
911
+ async initializeProductForEvents(productTag) {
912
+ await this.productBuilderService.initializeProductByTag(productTag);
913
+ this.productTag = productTag;
914
+ this.productId = this.productBuilderService.fetchProductId() || '';
915
+ this.privateKey = this.productBuilderService.fetchPrivateKey();
916
+ }
917
+ /**
918
+ * Encrypt payload data using the product's private key
919
+ */
920
+ encryptPayload(data) {
921
+ return (0, processor_utils_1.encrypt)(JSON.stringify(data), this.privateKey);
922
+ }
923
+ /**
924
+ * Decrypt payload data using the product's private key
925
+ */
926
+ decryptPayload(encryptedData) {
927
+ try {
928
+ return JSON.parse((0, processor_utils_1.decrypt)(encryptedData, this.privateKey));
929
+ }
930
+ catch (_a) {
931
+ return {};
932
+ }
933
+ }
934
+ /**
935
+ * Get broker events with filtering and pagination
936
+ *
937
+ * @example
938
+ * ```ts
939
+ * const result = await brokers.getEvents({
940
+ * product: 'my-product',
941
+ * env: 'production',
942
+ * brokerTag: 'order-events',
943
+ * status: 'failed',
944
+ * page: 1,
945
+ * limit: 20,
946
+ * });
947
+ *
948
+ * for (const event of result.events) {
949
+ * console.log('Event:', event.id, event.status);
950
+ * }
951
+ * ```
952
+ */
953
+ async getEvents(options) {
954
+ var _a, _b;
955
+ try {
956
+ await this.initializeProductForEvents(options.product);
957
+ const result = await this.processorApiService.getBrokerEvents({
958
+ product: options.product,
959
+ env: options.env,
960
+ brokerTag: options.brokerTag,
961
+ topic: options.topic,
962
+ category: options.category,
963
+ status: options.status,
964
+ idempotent: options.idempotent,
965
+ startDate: (_a = options.startDate) === null || _a === void 0 ? void 0 : _a.toISOString(),
966
+ endDate: (_b = options.endDate) === null || _b === void 0 ? void 0 : _b.toISOString(),
967
+ page: options.page,
968
+ limit: options.limit,
969
+ }, this.getUserAccess());
970
+ // Decrypt request/response data for each event
971
+ const events = result.events.map((event) => (Object.assign(Object.assign({}, event), { timestamp: new Date(event.timestamp), request_data: event.request_data_encrypted
972
+ ? this.decryptPayload(event.request_data_encrypted)
973
+ : event.request_data, response_data: event.response_data_encrypted
974
+ ? this.decryptPayload(event.response_data_encrypted)
975
+ : event.response_data })));
976
+ return {
977
+ events,
978
+ total: result.total,
979
+ page: result.page,
980
+ limit: result.limit,
981
+ hasMore: result.hasMore,
982
+ };
983
+ }
984
+ catch (error) {
985
+ if (error instanceof BrokerError)
986
+ throw error;
987
+ throw new BrokerError(`Failed to get broker events: ${error}`, 'GET_EVENTS_FAILED', error);
988
+ }
989
+ }
990
+ /**
991
+ * Get a single broker event by ID
992
+ *
993
+ * @example
994
+ * ```ts
995
+ * const event = await brokers.getEvent({
996
+ * product: 'my-product',
997
+ * eventId: 'event-123',
998
+ * });
999
+ *
1000
+ * if (event) {
1001
+ * console.log('Event status:', event.status);
1002
+ * console.log('Request data:', event.request_data);
1003
+ * }
1004
+ * ```
1005
+ */
1006
+ async getEvent(options) {
1007
+ try {
1008
+ await this.initializeProductForEvents(options.product);
1009
+ const event = await this.processorApiService.getBrokerEvent({ product: options.product, eventId: options.eventId }, this.getUserAccess());
1010
+ if (!event)
1011
+ return null;
1012
+ // Decrypt request/response data
1013
+ return Object.assign(Object.assign({}, event), { timestamp: new Date(event.timestamp), request_data: event.request_data_encrypted
1014
+ ? this.decryptPayload(event.request_data_encrypted)
1015
+ : event.request_data, response_data: event.response_data_encrypted
1016
+ ? this.decryptPayload(event.response_data_encrypted)
1017
+ : event.response_data });
1018
+ }
1019
+ catch (error) {
1020
+ if (error instanceof BrokerError)
1021
+ throw error;
1022
+ throw new BrokerError(`Failed to get broker event: ${error}`, 'GET_EVENT_FAILED', error);
1023
+ }
1024
+ }
1025
+ /**
1026
+ * Replay a broker event (reprocess a failed or successful event)
1027
+ *
1028
+ * @example
1029
+ * ```ts
1030
+ * const result = await brokers.replayEvent({
1031
+ * product: 'my-product',
1032
+ * env: 'production',
1033
+ * eventId: 'event-123',
1034
+ * force: true, // Replay even if already successful
1035
+ * });
1036
+ *
1037
+ * if (result.success) {
1038
+ * console.log('New event ID:', result.new_event_id);
1039
+ * }
1040
+ * ```
1041
+ */
1042
+ async replayEvent(options) {
1043
+ try {
1044
+ await this.initializeProductForEvents(options.product);
1045
+ return await this.processorApiService.replayBrokerEvent({
1046
+ product: options.product,
1047
+ env: options.env,
1048
+ eventId: options.eventId,
1049
+ force: options.force,
1050
+ }, this.getUserAccess());
1051
+ }
1052
+ catch (error) {
1053
+ if (error instanceof BrokerError)
1054
+ throw error;
1055
+ throw new BrokerError(`Failed to replay broker event: ${error}`, 'REPLAY_EVENT_FAILED', error);
1056
+ }
1057
+ }
1058
+ /**
1059
+ * Get broker event statistics
1060
+ *
1061
+ * @example
1062
+ * ```ts
1063
+ * const stats = await brokers.getEventStats({
1064
+ * product: 'my-product',
1065
+ * env: 'production',
1066
+ * brokerTag: 'order-events',
1067
+ * });
1068
+ *
1069
+ * console.log('Total events:', stats.total_events);
1070
+ * console.log('Failed:', stats.failed_count);
1071
+ * console.log('Success:', stats.success_count);
1072
+ * ```
1073
+ */
1074
+ async getEventStats(options) {
1075
+ try {
1076
+ await this.initializeProductForEvents(options.product);
1077
+ return await this.processorApiService.getBrokerEventStats({
1078
+ product: options.product,
1079
+ env: options.env,
1080
+ brokerTag: options.brokerTag,
1081
+ }, this.getUserAccess());
1082
+ }
1083
+ catch (error) {
1084
+ if (error instanceof BrokerError)
1085
+ throw error;
1086
+ throw new BrokerError(`Failed to get broker event stats: ${error}`, 'GET_EVENT_STATS_FAILED', error);
1087
+ }
1088
+ }
1089
+ /**
1090
+ * Reprocess messages from the Dead Letter Queue
1091
+ *
1092
+ * @example
1093
+ * ```ts
1094
+ * const result = await brokers.reprocessDLQ({
1095
+ * product: 'my-product',
1096
+ * env: 'production',
1097
+ * brokerTag: 'order-events',
1098
+ * limit: 100,
1099
+ * });
1100
+ *
1101
+ * console.log('Reprocessed:', result.reprocessed_count);
1102
+ * console.log('Failed:', result.failed_count);
1103
+ * ```
1104
+ */
1105
+ async reprocessDLQ(options) {
1106
+ try {
1107
+ await this.initializeProductForEvents(options.product);
1108
+ return await this.processorApiService.reprocessDLQ({
1109
+ product: options.product,
1110
+ env: options.env,
1111
+ brokerTag: options.brokerTag,
1112
+ topicTag: options.topicTag,
1113
+ messageIds: options.messageIds,
1114
+ limit: options.limit,
1115
+ }, this.getUserAccess());
1116
+ }
1117
+ catch (error) {
1118
+ if (error instanceof BrokerError)
1119
+ throw error;
1120
+ throw new BrokerError(`Failed to reprocess DLQ: ${error}`, 'REPROCESS_DLQ_FAILED', error);
1121
+ }
1122
+ }
1123
+ /**
1124
+ * Check if an idempotency key has already been processed
1125
+ *
1126
+ * @example
1127
+ * ```ts
1128
+ * const result = await brokers.checkIdempotency({
1129
+ * product: 'my-product',
1130
+ * env: 'production',
1131
+ * idempotencyKey: 'order-123-payment',
1132
+ * });
1133
+ *
1134
+ * if (result.exists) {
1135
+ * console.log('Already processed, event ID:', result.event_id);
1136
+ * }
1137
+ * ```
1138
+ */
1139
+ async checkIdempotency(options) {
1140
+ try {
1141
+ await this.initializeProductForEvents(options.product);
1142
+ return await this.processorApiService.checkIdempotency({
1143
+ product: options.product,
1144
+ env: options.env,
1145
+ idempotencyKey: options.idempotencyKey,
1146
+ }, this.getUserAccess());
1147
+ }
1148
+ catch (error) {
1149
+ if (error instanceof BrokerError)
1150
+ throw error;
1151
+ throw new BrokerError(`Failed to check idempotency: ${error}`, 'CHECK_IDEMPOTENCY_FAILED', error);
1152
+ }
1153
+ }
1154
+ /**
1155
+ * Publish a message with idempotency guarantee
1156
+ *
1157
+ * This ensures the message is only processed once, even if published multiple times
1158
+ * with the same idempotency key.
1159
+ *
1160
+ * @example
1161
+ * ```ts
1162
+ * const result = await brokers.publishIdempotent({
1163
+ * product: 'my-product',
1164
+ * env: 'production',
1165
+ * event: 'order-events:new-orders',
1166
+ * message: { orderId: '123', amount: 99.99 },
1167
+ * idempotencyKey: 'order-123-created',
1168
+ * idempotencyTtl: 86400, // 24 hours
1169
+ * });
1170
+ *
1171
+ * if (result.success) {
1172
+ * console.log('Published with process ID:', result.process_id);
1173
+ * }
1174
+ * ```
1175
+ */
1176
+ async publishIdempotent(options) {
1177
+ try {
1178
+ // Check if already processed
1179
+ const existing = await this.checkIdempotency({
1180
+ product: options.product,
1181
+ env: options.env,
1182
+ idempotencyKey: options.idempotencyKey,
1183
+ });
1184
+ if (existing.exists) {
1185
+ return {
1186
+ success: true,
1187
+ process_id: existing.event_id,
1188
+ error: 'Already processed (idempotent)',
1189
+ };
1190
+ }
1191
+ // Proceed with publish - the message includes idempotency metadata
1192
+ const result = await this.publish(Object.assign(Object.assign({}, options), { message: Object.assign(Object.assign({}, options.message), { __idempotency_key: options.idempotencyKey, __idempotency_ttl: options.idempotencyTtl || 86400 }) }));
1193
+ return result;
1194
+ }
1195
+ catch (error) {
1196
+ if (error instanceof BrokerError)
1197
+ throw error;
1198
+ throw new BrokerError(`Failed to publish with idempotency: ${error}`, 'PUBLISH_IDEMPOTENT_FAILED', error);
1199
+ }
1200
+ }
1201
+ }
1202
+ exports.BrokersService = BrokersService;
1203
+ BrokersService.PUBLISH_SUCCESS_LOG_DEDUPE_MS = 2000;
1204
+ exports.default = BrokersService;
1205
+ //# sourceMappingURL=brokers.service.js.map