@ductape/sdk 0.0.4-v12 → 0.0.4-v120

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