@ductape/sdk 0.0.4-v51 → 0.0.4-v53

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (868) hide show
  1. package/README.md +1 -1
  2. package/dist/agents/agent-context.d.ts +98 -0
  3. package/dist/agents/agent-context.js +588 -0
  4. package/dist/agents/agent-context.js.map +1 -0
  5. package/dist/agents/agent-executor.d.ts +180 -0
  6. package/dist/agents/agent-executor.js +715 -0
  7. package/dist/agents/agent-executor.js.map +1 -0
  8. package/dist/agents/agents.service.d.ts +304 -0
  9. package/dist/agents/agents.service.js +1244 -0
  10. package/dist/agents/agents.service.js.map +1 -0
  11. package/dist/agents/index.d.ts +55 -0
  12. package/dist/agents/index.js +110 -0
  13. package/dist/agents/index.js.map +1 -0
  14. package/dist/agents/memory-manager.d.ts +182 -0
  15. package/dist/agents/memory-manager.js +383 -0
  16. package/dist/agents/memory-manager.js.map +1 -0
  17. package/dist/agents/tool-registry.d.ts +141 -0
  18. package/dist/agents/tool-registry.js +355 -0
  19. package/dist/agents/tool-registry.js.map +1 -0
  20. package/dist/agents/types/agents.types.d.ts +1225 -0
  21. package/dist/agents/types/agents.types.js +12 -0
  22. package/dist/agents/types/agents.types.js.map +1 -0
  23. package/dist/agents/types/index.d.ts +6 -0
  24. package/dist/agents/types/index.js +23 -0
  25. package/dist/agents/types/index.js.map +1 -0
  26. package/dist/agents/vector-store-adapter.d.ts +108 -0
  27. package/dist/agents/vector-store-adapter.js +213 -0
  28. package/dist/agents/vector-store-adapter.js.map +1 -0
  29. package/dist/api/services/appApi.service.js +4 -5
  30. package/dist/api/services/appApi.service.js.map +1 -1
  31. package/dist/api/services/processorApi.service.d.ts +322 -0
  32. package/dist/api/services/processorApi.service.js +252 -0
  33. package/dist/api/services/processorApi.service.js.map +1 -1
  34. package/dist/api/services/productsApi.service.d.ts +69 -1
  35. package/dist/api/services/productsApi.service.js +67 -31
  36. package/dist/api/services/productsApi.service.js.map +1 -1
  37. package/dist/api/services/resilienceApi.service.d.ts +106 -0
  38. package/dist/api/services/resilienceApi.service.js +224 -0
  39. package/dist/api/services/resilienceApi.service.js.map +1 -0
  40. package/dist/api/services/secretsApi.service.d.ts +38 -0
  41. package/dist/api/services/secretsApi.service.js +96 -0
  42. package/dist/api/services/secretsApi.service.js.map +1 -0
  43. package/dist/api/services/userApi.service.js +0 -1
  44. package/dist/api/services/userApi.service.js.map +1 -1
  45. package/dist/api/services/workflowApi.service.d.ts +199 -0
  46. package/dist/api/services/workflowApi.service.js +183 -0
  47. package/dist/api/services/workflowApi.service.js.map +1 -0
  48. package/dist/api/services/workspaceApi.service.js +0 -1
  49. package/dist/api/services/workspaceApi.service.js.map +1 -1
  50. package/dist/api/urls.d.ts +57 -0
  51. package/dist/api/urls.js +68 -1
  52. package/dist/api/urls.js.map +1 -1
  53. package/dist/api/utils/cache.utils.js +4 -10
  54. package/dist/api/utils/cache.utils.js.map +1 -1
  55. package/dist/apps/services/app.service.d.ts +0 -10
  56. package/dist/apps/services/app.service.js +74 -30
  57. package/dist/apps/services/app.service.js.map +1 -1
  58. package/dist/apps/utils/auth-context-manager.d.ts +137 -0
  59. package/dist/apps/utils/auth-context-manager.js +248 -0
  60. package/dist/apps/utils/auth-context-manager.js.map +1 -0
  61. package/dist/apps/utils/credential-manager.d.ts +128 -0
  62. package/dist/apps/utils/credential-manager.js +199 -0
  63. package/dist/apps/utils/credential-manager.js.map +1 -0
  64. package/dist/apps/utils/index.d.ts +10 -0
  65. package/dist/apps/utils/index.js +54 -0
  66. package/dist/apps/utils/index.js.map +1 -0
  67. package/dist/apps/utils/input-helpers.d.ts +67 -0
  68. package/dist/apps/utils/input-helpers.js +185 -0
  69. package/dist/apps/utils/input-helpers.js.map +1 -0
  70. package/dist/apps/utils/input-resolver.d.ts +165 -0
  71. package/dist/apps/utils/input-resolver.js +477 -0
  72. package/dist/apps/utils/input-resolver.js.map +1 -0
  73. package/dist/apps/utils/oauth-manager.d.ts +196 -0
  74. package/dist/apps/utils/oauth-manager.js +405 -0
  75. package/dist/apps/utils/oauth-manager.js.map +1 -0
  76. package/dist/apps/validators/joi-validators/create.appWebhook.validator.d.ts +2 -1
  77. package/dist/apps/validators/joi-validators/create.appWebhook.validator.js +15 -2
  78. package/dist/apps/validators/joi-validators/create.appWebhook.validator.js.map +1 -1
  79. package/dist/apps/validators/joi-validators/update.appWebhook.validator.d.ts +2 -1
  80. package/dist/apps/validators/joi-validators/update.appWebhook.validator.js +14 -2
  81. package/dist/apps/validators/joi-validators/update.appWebhook.validator.js.map +1 -1
  82. package/dist/bin.d.ts +26 -0
  83. package/dist/bin.js +28 -0
  84. package/dist/bin.js.map +1 -0
  85. package/dist/brokers/brokers.service.d.ts +257 -0
  86. package/dist/brokers/brokers.service.js +604 -0
  87. package/dist/brokers/brokers.service.js.map +1 -0
  88. package/dist/brokers/index.d.ts +46 -0
  89. package/dist/brokers/index.js +83 -0
  90. package/dist/brokers/index.js.map +1 -0
  91. package/dist/brokers/types/index.d.ts +288 -0
  92. package/dist/brokers/types/index.js +8 -0
  93. package/dist/brokers/types/index.js.map +1 -0
  94. package/dist/brokers/utils/broker.util.d.ts +33 -0
  95. package/dist/brokers/utils/broker.util.js +125 -0
  96. package/dist/brokers/utils/broker.util.js.map +1 -0
  97. package/dist/brokers/utils/providers/aws-sqs.service.d.ts +16 -0
  98. package/dist/brokers/utils/providers/aws-sqs.service.js +71 -0
  99. package/dist/brokers/utils/providers/aws-sqs.service.js.map +1 -0
  100. package/dist/brokers/utils/providers/google-pubsub.service.d.ts +16 -0
  101. package/dist/brokers/utils/providers/google-pubsub.service.js +43 -0
  102. package/dist/brokers/utils/providers/google-pubsub.service.js.map +1 -0
  103. package/dist/brokers/utils/providers/index.d.ts +6 -0
  104. package/dist/brokers/utils/providers/index.js +16 -0
  105. package/dist/brokers/utils/providers/index.js.map +1 -0
  106. package/dist/brokers/utils/providers/kafka.service.d.ts +16 -0
  107. package/dist/brokers/utils/providers/kafka.service.js +52 -0
  108. package/dist/brokers/utils/providers/kafka.service.js.map +1 -0
  109. package/dist/brokers/utils/providers/nats.service.d.ts +18 -0
  110. package/dist/brokers/utils/providers/nats.service.js +63 -0
  111. package/dist/brokers/utils/providers/nats.service.js.map +1 -0
  112. package/dist/brokers/utils/providers/rabbitmq.service.d.ts +14 -0
  113. package/dist/brokers/utils/providers/rabbitmq.service.js +67 -0
  114. package/dist/brokers/utils/providers/rabbitmq.service.js.map +1 -0
  115. package/dist/brokers/utils/providers/redis.service.d.ts +18 -0
  116. package/dist/brokers/utils/providers/redis.service.js +93 -0
  117. package/dist/brokers/utils/providers/redis.service.js.map +1 -0
  118. package/dist/cache/cache.manager.d.ts +159 -0
  119. package/dist/cache/cache.manager.js +265 -0
  120. package/dist/cache/cache.manager.js.map +1 -0
  121. package/dist/cache/cache.service.d.ts +186 -0
  122. package/dist/cache/cache.service.js +437 -0
  123. package/dist/cache/cache.service.js.map +1 -0
  124. package/dist/cache/index.d.ts +52 -0
  125. package/dist/cache/index.js +79 -0
  126. package/dist/cache/index.js.map +1 -0
  127. package/dist/cache/types/index.d.ts +106 -0
  128. package/dist/cache/types/index.js +6 -0
  129. package/dist/cache/types/index.js.map +1 -0
  130. package/dist/database/actions/action-manager.d.ts +170 -0
  131. package/dist/database/actions/action-manager.js +465 -0
  132. package/dist/database/actions/action-manager.js.map +1 -0
  133. package/dist/database/actions/index.d.ts +6 -0
  134. package/dist/database/actions/index.js +13 -0
  135. package/dist/database/actions/index.js.map +1 -0
  136. package/dist/database/adapters/adapter.factory.d.ts +62 -0
  137. package/dist/database/adapters/adapter.factory.js +97 -0
  138. package/dist/database/adapters/adapter.factory.js.map +1 -0
  139. package/dist/database/adapters/base.adapter.d.ts +307 -90
  140. package/dist/database/adapters/base.adapter.js +139 -20
  141. package/dist/database/adapters/base.adapter.js.map +1 -1
  142. package/dist/database/adapters/cassandra.adapter.d.ts +90 -0
  143. package/dist/database/adapters/cassandra.adapter.js +1019 -0
  144. package/dist/database/adapters/cassandra.adapter.js.map +1 -0
  145. package/dist/database/adapters/dynamodb.adapter.d.ts +94 -77
  146. package/dist/database/adapters/dynamodb.adapter.js +1162 -1305
  147. package/dist/database/adapters/dynamodb.adapter.js.map +1 -1
  148. package/dist/database/adapters/index.d.ts +11 -0
  149. package/dist/database/adapters/index.js +27 -0
  150. package/dist/database/adapters/index.js.map +1 -0
  151. package/dist/database/adapters/mariadb.adapter.d.ts +100 -0
  152. package/dist/database/adapters/mariadb.adapter.js +247 -0
  153. package/dist/database/adapters/mariadb.adapter.js.map +1 -0
  154. package/dist/database/adapters/mongodb.adapter.d.ts +105 -57
  155. package/dist/database/adapters/mongodb.adapter.js +941 -838
  156. package/dist/database/adapters/mongodb.adapter.js.map +1 -1
  157. package/dist/database/adapters/mysql.adapter.d.ts +76 -138
  158. package/dist/database/adapters/mysql.adapter.js +990 -1246
  159. package/dist/database/adapters/mysql.adapter.js.map +1 -1
  160. package/dist/database/adapters/postgresql.adapter.d.ts +75 -139
  161. package/dist/database/adapters/postgresql.adapter.js +1076 -1346
  162. package/dist/database/adapters/postgresql.adapter.js.map +1 -1
  163. package/dist/database/databases.service.d.ts +1374 -0
  164. package/dist/database/databases.service.js +2680 -0
  165. package/dist/database/databases.service.js.map +1 -0
  166. package/dist/database/index.d.ts +41 -13
  167. package/dist/database/index.js +97 -86
  168. package/dist/database/index.js.map +1 -1
  169. package/dist/database/migrations/index.d.ts +6 -0
  170. package/dist/database/migrations/index.js +12 -0
  171. package/dist/database/migrations/index.js.map +1 -0
  172. package/dist/database/migrations/migration-engine.d.ts +132 -0
  173. package/dist/database/migrations/migration-engine.js +1356 -0
  174. package/dist/database/migrations/migration-engine.js.map +1 -0
  175. package/dist/database/operators/aggregation-builder.d.ts +64 -0
  176. package/dist/database/operators/aggregation-builder.js +746 -0
  177. package/dist/database/operators/aggregation-builder.js.map +1 -0
  178. package/dist/database/operators/index.d.ts +7 -0
  179. package/dist/database/operators/index.js +15 -0
  180. package/dist/database/operators/index.js.map +1 -0
  181. package/dist/database/operators/query-builder.d.ts +55 -0
  182. package/dist/database/operators/query-builder.js +365 -0
  183. package/dist/database/operators/query-builder.js.map +1 -0
  184. package/dist/database/presave/decrypt.d.ts +25 -0
  185. package/dist/database/presave/decrypt.js +146 -0
  186. package/dist/database/presave/decrypt.js.map +1 -0
  187. package/dist/database/presave/index.d.ts +9 -0
  188. package/dist/database/presave/index.js +18 -0
  189. package/dist/database/presave/index.js.map +1 -0
  190. package/dist/database/presave/presave-processor.d.ts +148 -0
  191. package/dist/database/presave/presave-processor.js +702 -0
  192. package/dist/database/presave/presave-processor.js.map +1 -0
  193. package/dist/database/schema/index.d.ts +7 -0
  194. package/dist/database/schema/index.js +13 -0
  195. package/dist/database/schema/index.js.map +1 -0
  196. package/dist/database/schema/schema-manager.d.ts +258 -0
  197. package/dist/database/schema/schema-manager.js +637 -0
  198. package/dist/database/schema/schema-manager.js.map +1 -0
  199. package/dist/database/transactions/index.d.ts +6 -0
  200. package/dist/database/transactions/index.js +13 -0
  201. package/dist/database/transactions/index.js.map +1 -0
  202. package/dist/database/transactions/transaction-manager.d.ts +113 -0
  203. package/dist/database/transactions/transaction-manager.js +344 -0
  204. package/dist/database/transactions/transaction-manager.js.map +1 -0
  205. package/dist/database/triggers/index.d.ts +7 -0
  206. package/dist/database/triggers/index.js +14 -0
  207. package/dist/database/triggers/index.js.map +1 -0
  208. package/dist/database/triggers/trigger-processor.d.ts +239 -0
  209. package/dist/database/triggers/trigger-processor.js +1034 -0
  210. package/dist/database/triggers/trigger-processor.js.map +1 -0
  211. package/dist/database/types/action.interface.d.ts +148 -0
  212. package/dist/database/types/action.interface.js +6 -0
  213. package/dist/database/types/action.interface.js.map +1 -0
  214. package/dist/database/types/aggregation.interface.d.ts +179 -0
  215. package/dist/database/types/aggregation.interface.js +6 -0
  216. package/dist/database/types/aggregation.interface.js.map +1 -0
  217. package/dist/database/types/connection.interface.d.ts +137 -0
  218. package/dist/database/types/connection.interface.js +6 -0
  219. package/dist/database/types/connection.interface.js.map +1 -0
  220. package/dist/database/types/enums.d.ts +195 -0
  221. package/dist/database/types/enums.js +244 -0
  222. package/dist/database/types/enums.js.map +1 -0
  223. package/dist/database/types/index.d.ts +12 -10
  224. package/dist/database/types/index.js +26 -32
  225. package/dist/database/types/index.js.map +1 -1
  226. package/dist/database/types/migration.interface.d.ts +686 -0
  227. package/dist/database/types/migration.interface.js +9 -0
  228. package/dist/database/types/migration.interface.js.map +1 -0
  229. package/dist/database/types/presave.interface.d.ts +292 -0
  230. package/dist/database/types/presave.interface.js +60 -0
  231. package/dist/database/types/presave.interface.js.map +1 -0
  232. package/dist/database/types/query.interface.d.ts +199 -0
  233. package/dist/database/types/query.interface.js +6 -0
  234. package/dist/database/types/query.interface.js.map +1 -0
  235. package/dist/database/types/schema.interface.d.ts +398 -0
  236. package/dist/database/types/schema.interface.js +6 -0
  237. package/dist/database/types/schema.interface.js.map +1 -0
  238. package/dist/database/types/transaction.interface.d.ts +84 -0
  239. package/dist/database/types/transaction.interface.js +6 -0
  240. package/dist/database/types/transaction.interface.js.map +1 -0
  241. package/dist/database/types/trigger.interface.d.ts +612 -0
  242. package/dist/database/types/trigger.interface.js +121 -0
  243. package/dist/database/types/trigger.interface.js.map +1 -0
  244. package/dist/database/types/write.interface.d.ts +208 -0
  245. package/dist/database/types/write.interface.js +6 -0
  246. package/dist/database/types/write.interface.js.map +1 -0
  247. package/dist/database/utils/database-error.d.ts +96 -0
  248. package/dist/database/utils/database-error.js +221 -0
  249. package/dist/database/utils/database-error.js.map +1 -0
  250. package/dist/database/utils/index.d.ts +6 -0
  251. package/dist/database/utils/index.js +11 -0
  252. package/dist/database/utils/index.js.map +1 -0
  253. package/dist/graph/adapters/adapter.factory.d.ts +47 -0
  254. package/dist/graph/adapters/adapter.factory.js +77 -0
  255. package/dist/graph/adapters/adapter.factory.js.map +1 -0
  256. package/dist/graph/adapters/arangodb.adapter.d.ts +78 -72
  257. package/dist/graph/adapters/arangodb.adapter.js +1310 -1220
  258. package/dist/graph/adapters/arangodb.adapter.js.map +1 -1
  259. package/dist/graph/adapters/base.adapter.d.ts +135 -118
  260. package/dist/graph/adapters/base.adapter.js +46 -20
  261. package/dist/graph/adapters/base.adapter.js.map +1 -1
  262. package/dist/graph/adapters/index.d.ts +5 -4
  263. package/dist/graph/adapters/index.js +6 -8
  264. package/dist/graph/adapters/index.js.map +1 -1
  265. package/dist/graph/adapters/memgraph.adapter.d.ts +98 -73
  266. package/dist/graph/adapters/memgraph.adapter.js +1050 -1202
  267. package/dist/graph/adapters/memgraph.adapter.js.map +1 -1
  268. package/dist/graph/adapters/neo4j.adapter.d.ts +71 -78
  269. package/dist/graph/adapters/neo4j.adapter.js +912 -1605
  270. package/dist/graph/adapters/neo4j.adapter.js.map +1 -1
  271. package/dist/graph/adapters/neptune.adapter.d.ts +76 -81
  272. package/dist/graph/adapters/neptune.adapter.js +1095 -1228
  273. package/dist/graph/adapters/neptune.adapter.js.map +1 -1
  274. package/dist/graph/graphs.service.d.ts +524 -0
  275. package/dist/graph/graphs.service.js +1683 -0
  276. package/dist/graph/graphs.service.js.map +1 -0
  277. package/dist/graph/index.d.ts +54 -8
  278. package/dist/graph/index.js +67 -32
  279. package/dist/graph/index.js.map +1 -1
  280. package/dist/graph/transactions/index.d.ts +4 -0
  281. package/dist/graph/transactions/index.js +9 -0
  282. package/dist/graph/transactions/index.js.map +1 -0
  283. package/dist/graph/transactions/transaction-manager.d.ts +61 -0
  284. package/dist/graph/transactions/transaction-manager.js +126 -0
  285. package/dist/graph/transactions/transaction-manager.js.map +1 -0
  286. package/dist/graph/types/connection.interface.d.ts +141 -0
  287. package/dist/graph/types/connection.interface.js +9 -0
  288. package/dist/graph/types/connection.interface.js.map +1 -0
  289. package/dist/graph/types/enums.d.ts +101 -0
  290. package/dist/graph/types/enums.js +114 -0
  291. package/dist/graph/types/enums.js.map +1 -0
  292. package/dist/graph/types/index.d.ts +11 -9
  293. package/dist/graph/types/index.js +15 -30
  294. package/dist/graph/types/index.js.map +1 -1
  295. package/dist/graph/types/node.interface.d.ts +248 -0
  296. package/dist/graph/types/node.interface.js +9 -0
  297. package/dist/graph/types/node.interface.js.map +1 -0
  298. package/dist/graph/types/query.interface.d.ts +168 -0
  299. package/dist/graph/types/query.interface.js +9 -0
  300. package/dist/graph/types/query.interface.js.map +1 -0
  301. package/dist/graph/types/relationship.interface.d.ts +207 -0
  302. package/dist/graph/types/relationship.interface.js +9 -0
  303. package/dist/graph/types/relationship.interface.js.map +1 -0
  304. package/dist/graph/types/schema.interface.d.ts +295 -0
  305. package/dist/graph/types/schema.interface.js +9 -0
  306. package/dist/graph/types/schema.interface.js.map +1 -0
  307. package/dist/graph/types/transaction.interface.d.ts +55 -0
  308. package/dist/graph/types/transaction.interface.js +9 -0
  309. package/dist/graph/types/transaction.interface.js.map +1 -0
  310. package/dist/graph/types/traversal.interface.d.ts +181 -0
  311. package/dist/graph/types/traversal.interface.js +9 -0
  312. package/dist/graph/types/traversal.interface.js.map +1 -0
  313. package/dist/graph/utils/graph-error.d.ts +71 -0
  314. package/dist/graph/utils/graph-error.js +142 -0
  315. package/dist/graph/utils/graph-error.js.map +1 -0
  316. package/dist/graph/utils/index.d.ts +4 -0
  317. package/dist/graph/utils/index.js +9 -0
  318. package/dist/graph/utils/index.js.map +1 -0
  319. package/dist/index.d.ts +1905 -875
  320. package/dist/index.js +3063 -1282
  321. package/dist/index.js.map +1 -1
  322. package/dist/init.interface.d.ts +407 -0
  323. package/dist/init.interface.js +3 -0
  324. package/dist/init.interface.js.map +1 -0
  325. package/dist/jobs/index.d.ts +38 -0
  326. package/dist/jobs/index.js +50 -0
  327. package/dist/jobs/index.js.map +1 -0
  328. package/dist/jobs/jobs.service.d.ts +154 -0
  329. package/dist/jobs/jobs.service.js +491 -0
  330. package/dist/jobs/jobs.service.js.map +1 -0
  331. package/dist/jobs/jobs.state.d.ts +113 -0
  332. package/dist/jobs/jobs.state.js +447 -0
  333. package/dist/jobs/jobs.state.js.map +1 -0
  334. package/dist/jobs/types.d.ts +449 -0
  335. package/dist/jobs/types.js +74 -0
  336. package/dist/jobs/types.js.map +1 -0
  337. package/dist/logs/logs.types.d.ts +12 -2
  338. package/dist/logs/logs.types.js +5 -1
  339. package/dist/logs/logs.types.js.map +1 -1
  340. package/dist/models/index.d.ts +6 -0
  341. package/dist/models/index.js +11 -0
  342. package/dist/models/index.js.map +1 -0
  343. package/dist/models/models.service.d.ts +137 -0
  344. package/dist/models/models.service.js +195 -0
  345. package/dist/models/models.service.js.map +1 -0
  346. package/dist/notifications/index.d.ts +13 -0
  347. package/dist/notifications/index.js +26 -0
  348. package/dist/notifications/index.js.map +1 -0
  349. package/dist/notifications/notifications.service.d.ts +252 -0
  350. package/dist/notifications/notifications.service.js +654 -0
  351. package/dist/notifications/notifications.service.js.map +1 -0
  352. package/dist/notifications/types/index.d.ts +4 -0
  353. package/dist/notifications/types/index.js +21 -0
  354. package/dist/notifications/types/index.js.map +1 -0
  355. package/dist/notifications/types/notifications.types.d.ts +400 -0
  356. package/dist/notifications/types/notifications.types.js +49 -0
  357. package/dist/notifications/types/notifications.types.js.map +1 -0
  358. package/dist/processor/services/messagebrokers/kafka.service.js +2 -0
  359. package/dist/processor/services/messagebrokers/kafka.service.js.map +1 -1
  360. package/dist/processor/services/messagebrokers/rabbitmq.service.d.ts +1 -9
  361. package/dist/processor/services/messagebrokers/rabbitmq.service.js +11 -40
  362. package/dist/processor/services/messagebrokers/rabbitmq.service.js.map +1 -1
  363. package/dist/processor/services/processor.service.d.ts +86 -70
  364. package/dist/processor/services/processor.service.js +1353 -1259
  365. package/dist/processor/services/processor.service.js.map +1 -1
  366. package/dist/processor/utils/processor.utils.js +5 -1
  367. package/dist/processor/utils/processor.utils.js.map +1 -1
  368. package/dist/products/services/products.service.d.ts +167 -25
  369. package/dist/products/services/products.service.js +1248 -412
  370. package/dist/products/services/products.service.js.map +1 -1
  371. package/dist/products/validators/index.d.ts +6 -3
  372. package/dist/products/validators/index.js +14 -5
  373. package/dist/products/validators/index.js.map +1 -1
  374. package/dist/products/validators/joi-validators/create.productAgent.validator.d.ts +3 -0
  375. package/dist/products/validators/joi-validators/create.productAgent.validator.js +218 -0
  376. package/dist/products/validators/joi-validators/create.productAgent.validator.js.map +1 -0
  377. package/dist/products/validators/joi-validators/create.productDatabase.validator.js +5 -0
  378. package/dist/products/validators/joi-validators/create.productDatabase.validator.js.map +1 -1
  379. package/dist/products/validators/joi-validators/create.productDatabaseAction.validator.d.ts +4 -15
  380. package/dist/products/validators/joi-validators/create.productDatabaseAction.validator.js +109 -501
  381. package/dist/products/validators/joi-validators/create.productDatabaseAction.validator.js.map +1 -1
  382. package/dist/products/validators/joi-validators/create.productGraph.validator.js +14 -9
  383. package/dist/products/validators/joi-validators/create.productGraph.validator.js.map +1 -1
  384. package/dist/products/validators/joi-validators/create.productMessageBrokerTopic.validator.js +0 -1
  385. package/dist/products/validators/joi-validators/create.productMessageBrokerTopic.validator.js.map +1 -1
  386. package/dist/products/validators/joi-validators/create.productMessageBrokers.validator.js +87 -30
  387. package/dist/products/validators/joi-validators/create.productMessageBrokers.validator.js.map +1 -1
  388. package/dist/products/validators/joi-validators/create.productModel.validator.d.ts +3 -0
  389. package/dist/products/validators/joi-validators/create.productModel.validator.js +132 -0
  390. package/dist/products/validators/joi-validators/create.productModel.validator.js.map +1 -0
  391. package/dist/products/validators/joi-validators/create.productNotification.validator.js +135 -50
  392. package/dist/products/validators/joi-validators/create.productNotification.validator.js.map +1 -1
  393. package/dist/products/validators/joi-validators/create.productStorage.validator.js +77 -18
  394. package/dist/products/validators/joi-validators/create.productStorage.validator.js.map +1 -1
  395. package/dist/products/validators/joi-validators/create.productVector.validator.d.ts +3 -0
  396. package/dist/products/validators/joi-validators/create.productVector.validator.js +135 -0
  397. package/dist/products/validators/joi-validators/create.productVector.validator.js.map +1 -0
  398. package/dist/products/validators/joi-validators/update.productDatabase.validator.js +5 -0
  399. package/dist/products/validators/joi-validators/update.productDatabase.validator.js.map +1 -1
  400. package/dist/products/validators/joi-validators/update.productDatabaseAction.validator.d.ts +0 -6
  401. package/dist/products/validators/joi-validators/update.productDatabaseAction.validator.js +26 -28
  402. package/dist/products/validators/joi-validators/update.productDatabaseAction.validator.js.map +1 -1
  403. package/dist/products/validators/joi-validators/update.productGraph.validator.js +11 -12
  404. package/dist/products/validators/joi-validators/update.productGraph.validator.js.map +1 -1
  405. package/dist/products/validators/joi-validators/update.productMessageBrokerTopic.validator.js +0 -1
  406. package/dist/products/validators/joi-validators/update.productMessageBrokerTopic.validator.js.map +1 -1
  407. package/dist/resilience/fallback.service.d.ts +88 -0
  408. package/dist/resilience/fallback.service.js +511 -0
  409. package/dist/resilience/fallback.service.js.map +1 -0
  410. package/dist/resilience/healthcheck.service.d.ts +106 -0
  411. package/dist/resilience/healthcheck.service.js +379 -0
  412. package/dist/resilience/healthcheck.service.js.map +1 -0
  413. package/dist/resilience/index.d.ts +104 -0
  414. package/dist/resilience/index.js +140 -0
  415. package/dist/resilience/index.js.map +1 -0
  416. package/dist/resilience/quota.service.d.ts +90 -0
  417. package/dist/resilience/quota.service.js +519 -0
  418. package/dist/resilience/quota.service.js.map +1 -0
  419. package/dist/resilience/resilience.service.d.ts +95 -0
  420. package/dist/resilience/resilience.service.js +525 -0
  421. package/dist/resilience/resilience.service.js.map +1 -0
  422. package/dist/resilience/types/index.d.ts +479 -0
  423. package/dist/resilience/types/index.js +26 -0
  424. package/dist/resilience/types/index.js.map +1 -0
  425. package/dist/secrets/index.d.ts +10 -0
  426. package/dist/secrets/index.js +33 -0
  427. package/dist/secrets/index.js.map +1 -0
  428. package/dist/secrets/secrets.resolver.d.ts +52 -0
  429. package/dist/secrets/secrets.resolver.js +233 -0
  430. package/dist/secrets/secrets.resolver.js.map +1 -0
  431. package/dist/secrets/secrets.service.d.ts +83 -0
  432. package/dist/secrets/secrets.service.js +159 -0
  433. package/dist/secrets/secrets.service.js.map +1 -0
  434. package/dist/secrets/secrets.types.d.ts +188 -0
  435. package/dist/secrets/secrets.types.js +87 -0
  436. package/dist/secrets/secrets.types.js.map +1 -0
  437. package/dist/sessions/index.d.ts +50 -0
  438. package/dist/sessions/index.js +93 -0
  439. package/dist/sessions/index.js.map +1 -0
  440. package/dist/sessions/sessions.helper.d.ts +68 -0
  441. package/dist/sessions/sessions.helper.js +116 -0
  442. package/dist/sessions/sessions.helper.js.map +1 -0
  443. package/dist/sessions/sessions.resolver.d.ts +150 -0
  444. package/dist/sessions/sessions.resolver.js +356 -0
  445. package/dist/sessions/sessions.resolver.js.map +1 -0
  446. package/dist/sessions/sessions.service.d.ts +170 -0
  447. package/dist/sessions/sessions.service.js +736 -0
  448. package/dist/sessions/sessions.service.js.map +1 -0
  449. package/dist/sessions/types/index.d.ts +290 -0
  450. package/dist/sessions/types/index.js +6 -0
  451. package/dist/sessions/types/index.js.map +1 -0
  452. package/dist/storage/index.d.ts +66 -0
  453. package/dist/storage/index.js +98 -0
  454. package/dist/storage/index.js.map +1 -0
  455. package/dist/storage/storage.service.d.ts +123 -0
  456. package/dist/storage/storage.service.js +478 -0
  457. package/dist/storage/storage.service.js.map +1 -0
  458. package/dist/storage/types/index.d.ts +207 -0
  459. package/dist/storage/types/index.js +6 -0
  460. package/dist/storage/types/index.js.map +1 -0
  461. package/dist/storage/utils/storage.util.d.ts +51 -0
  462. package/dist/storage/utils/storage.util.js +402 -0
  463. package/dist/storage/utils/storage.util.js.map +1 -0
  464. package/dist/test/index.d.ts +3 -0
  465. package/dist/test/index.js +13 -0
  466. package/dist/test/index.js.map +1 -0
  467. package/dist/test/test.appBuilder.d.ts +0 -1
  468. package/dist/test/test.appBuilder.js +0 -15
  469. package/dist/test/test.appBuilder.js.map +1 -1
  470. package/dist/test/test.database.js +140 -0
  471. package/dist/test/test.database.js.map +1 -0
  472. package/dist/test/test.health.d.ts +0 -1
  473. package/dist/test/test.health.js +0 -48
  474. package/dist/test/test.health.js.map +1 -1
  475. package/dist/test/test.import.d.ts +0 -1
  476. package/dist/test/test.import.js +0 -1506
  477. package/dist/test/test.import.js.map +1 -1
  478. package/dist/test/test.import.openapi.d.ts +0 -1
  479. package/dist/test/test.import.openapi.js +0 -75
  480. package/dist/test/test.import.openapi.js.map +1 -1
  481. package/dist/test/test.imports.d.ts +0 -1
  482. package/dist/test/test.imports.js +0 -76
  483. package/dist/test/test.imports.js.map +1 -1
  484. package/dist/test/test.logs.d.ts +0 -1
  485. package/dist/test/test.logs.js +0 -17
  486. package/dist/test/test.logs.js.map +1 -1
  487. package/dist/test/test.notifiers.d.ts +0 -1
  488. package/dist/test/test.notifiers.js +0 -84
  489. package/dist/test/test.notifiers.js.map +1 -1
  490. package/dist/test/test.processor.d.ts +0 -1
  491. package/dist/test/test.processor.js +0 -37
  492. package/dist/test/test.processor.js.map +1 -1
  493. package/dist/test/test.productBuilder.d.ts +0 -1
  494. package/dist/test/test.productBuilder.js +0 -660
  495. package/dist/test/test.productBuilder.js.map +1 -1
  496. package/dist/test/test.products.d.ts +0 -1
  497. package/dist/test/test.products.js +0 -48
  498. package/dist/test/test.products.js.map +1 -1
  499. package/dist/test/test.storage.js +332 -0
  500. package/dist/test/test.storage.js.map +1 -0
  501. package/dist/test/test.triggers.js +314 -0
  502. package/dist/test/test.triggers.js.map +1 -0
  503. package/dist/types/appBuilder.types.d.ts +1 -1
  504. package/dist/types/enums.d.ts +6 -1
  505. package/dist/types/enums.js +5 -0
  506. package/dist/types/enums.js.map +1 -1
  507. package/dist/types/processor.types.d.ts +197 -35
  508. package/dist/types/processor.types.js +9 -1
  509. package/dist/types/processor.types.js.map +1 -1
  510. package/dist/types/productsBuilder.types.d.ts +837 -75
  511. package/dist/types/productsBuilder.types.js +168 -62
  512. package/dist/types/productsBuilder.types.js.map +1 -1
  513. package/dist/utils/index.d.ts +0 -2
  514. package/dist/utils/index.js +2 -49
  515. package/dist/utils/index.js.map +1 -1
  516. package/dist/vector/adapters/base.adapter.d.ts +152 -0
  517. package/dist/vector/adapters/base.adapter.js +137 -0
  518. package/dist/vector/adapters/base.adapter.js.map +1 -0
  519. package/dist/vector/adapters/index.d.ts +10 -0
  520. package/dist/vector/adapters/index.js +19 -0
  521. package/dist/vector/adapters/index.js.map +1 -0
  522. package/dist/vector/adapters/memory.adapter.d.ts +85 -0
  523. package/dist/vector/adapters/memory.adapter.js +505 -0
  524. package/dist/vector/adapters/memory.adapter.js.map +1 -0
  525. package/dist/vector/adapters/pinecone.adapter.d.ts +52 -0
  526. package/dist/vector/adapters/pinecone.adapter.js +400 -0
  527. package/dist/vector/adapters/pinecone.adapter.js.map +1 -0
  528. package/dist/vector/adapters/qdrant.adapter.d.ts +56 -0
  529. package/dist/vector/adapters/qdrant.adapter.js +392 -0
  530. package/dist/vector/adapters/qdrant.adapter.js.map +1 -0
  531. package/dist/vector/adapters/weaviate.adapter.d.ts +64 -0
  532. package/dist/vector/adapters/weaviate.adapter.js +478 -0
  533. package/dist/vector/adapters/weaviate.adapter.js.map +1 -0
  534. package/dist/vector/index.d.ts +47 -0
  535. package/dist/vector/index.js +72 -0
  536. package/dist/vector/index.js.map +1 -0
  537. package/dist/vector/types/connection.interface.d.ts +151 -0
  538. package/dist/vector/types/connection.interface.js +8 -0
  539. package/dist/vector/types/connection.interface.js.map +1 -0
  540. package/dist/vector/types/embedding.interface.d.ts +144 -0
  541. package/dist/vector/types/embedding.interface.js +8 -0
  542. package/dist/vector/types/embedding.interface.js.map +1 -0
  543. package/dist/vector/types/enums.d.ts +104 -0
  544. package/dist/vector/types/enums.js +113 -0
  545. package/dist/vector/types/enums.js.map +1 -0
  546. package/dist/vector/types/index.d.ts +9 -0
  547. package/dist/vector/types/index.js +16 -0
  548. package/dist/vector/types/index.js.map +1 -0
  549. package/dist/vector/types/vector.interface.d.ts +315 -0
  550. package/dist/vector/types/vector.interface.js +8 -0
  551. package/dist/vector/types/vector.interface.js.map +1 -0
  552. package/dist/vector/utils/index.d.ts +6 -0
  553. package/dist/vector/utils/index.js +11 -0
  554. package/dist/vector/utils/index.js.map +1 -0
  555. package/dist/vector/utils/vector-error.d.ts +69 -0
  556. package/dist/vector/utils/vector-error.js +117 -0
  557. package/dist/vector/utils/vector-error.js.map +1 -0
  558. package/dist/vector/vector-database.service.d.ts +405 -0
  559. package/dist/vector/vector-database.service.js +544 -0
  560. package/dist/vector/vector-database.service.js.map +1 -0
  561. package/dist/vector/vector.service.d.ts +245 -0
  562. package/dist/vector/vector.service.js +381 -0
  563. package/dist/vector/vector.service.js.map +1 -0
  564. package/dist/workflows/index.d.ts +30 -0
  565. package/dist/workflows/index.js +64 -0
  566. package/dist/workflows/index.js.map +1 -0
  567. package/dist/workflows/types/index.d.ts +6 -0
  568. package/dist/workflows/types/index.js +23 -0
  569. package/dist/workflows/types/index.js.map +1 -0
  570. package/dist/workflows/types/workflows.types.d.ts +1035 -0
  571. package/dist/workflows/types/workflows.types.js +13 -0
  572. package/dist/workflows/types/workflows.types.js.map +1 -0
  573. package/dist/workflows/workflow-builder.d.ts +70 -0
  574. package/dist/workflows/workflow-builder.js +338 -0
  575. package/dist/workflows/workflow-builder.js.map +1 -0
  576. package/dist/workflows/workflow-executor.d.ts +205 -0
  577. package/dist/workflows/workflow-executor.js +1186 -0
  578. package/dist/workflows/workflow-executor.js.map +1 -0
  579. package/dist/workflows/workflows.service.d.ts +398 -0
  580. package/dist/workflows/workflows.service.js +1595 -0
  581. package/dist/workflows/workflows.service.js.map +1 -0
  582. package/package.json +16 -13
  583. package/dist/actions/actions.repo.d.ts +0 -0
  584. package/dist/actions/actions.repo.js +0 -13
  585. package/dist/actions/actions.repo.js.map +0 -1
  586. package/dist/actions/actions.service.d.ts +0 -0
  587. package/dist/actions/actions.service.js +0 -24
  588. package/dist/actions/actions.service.js.map +0 -1
  589. package/dist/actions/utils/actions.util.read.d.ts +0 -0
  590. package/dist/actions/utils/actions.util.read.js +0 -427
  591. package/dist/actions/utils/actions.util.read.js.map +0 -1
  592. package/dist/api/services/integrationsApi.service.d.ts +0 -18
  593. package/dist/api/services/integrationsApi.service.js +0 -80
  594. package/dist/api/services/integrationsApi.service.js.map +0 -1
  595. package/dist/api/services/workspaceSecretsApi.service.d.ts +0 -75
  596. package/dist/api/services/workspaceSecretsApi.service.js +0 -62
  597. package/dist/api/services/workspaceSecretsApi.service.js.map +0 -1
  598. package/dist/appBuilder/services/app.service.d.ts +0 -111
  599. package/dist/appBuilder/services/app.service.js +0 -737
  600. package/dist/appBuilder/services/app.service.js.map +0 -1
  601. package/dist/appBuilder/services/appBuilder.service.d.ts +0 -111
  602. package/dist/appBuilder/services/appBuilder.service.js +0 -662
  603. package/dist/appBuilder/services/appBuilder.service.js.map +0 -1
  604. package/dist/appBuilder/utils/objects.utils.d.ts +0 -3
  605. package/dist/appBuilder/utils/objects.utils.js +0 -9
  606. package/dist/appBuilder/utils/objects.utils.js.map +0 -1
  607. package/dist/appBuilder/utils/string.utils.d.ts +0 -2
  608. package/dist/appBuilder/utils/string.utils.js +0 -57
  609. package/dist/appBuilder/utils/string.utils.js.map +0 -1
  610. package/dist/appBuilder/validators/index.d.ts +0 -19
  611. package/dist/appBuilder/validators/index.js +0 -40
  612. package/dist/appBuilder/validators/index.js.map +0 -1
  613. package/dist/appBuilder/validators/joi-validators/create.app.validator.d.ts +0 -3
  614. package/dist/appBuilder/validators/joi-validators/create.app.validator.js +0 -10
  615. package/dist/appBuilder/validators/joi-validators/create.app.validator.js.map +0 -1
  616. package/dist/appBuilder/validators/joi-validators/create.appAction.validator.d.ts +0 -4
  617. package/dist/appBuilder/validators/joi-validators/create.appAction.validator.js +0 -20
  618. package/dist/appBuilder/validators/joi-validators/create.appAction.validator.js.map +0 -1
  619. package/dist/appBuilder/validators/joi-validators/create.appActionResponse.validator.d.ts +0 -7
  620. package/dist/appBuilder/validators/joi-validators/create.appActionResponse.validator.js +0 -44
  621. package/dist/appBuilder/validators/joi-validators/create.appActionResponse.validator.js.map +0 -1
  622. package/dist/appBuilder/validators/joi-validators/create.appAuth.validator.d.ts +0 -3
  623. package/dist/appBuilder/validators/joi-validators/create.appAuth.validator.js +0 -31
  624. package/dist/appBuilder/validators/joi-validators/create.appAuth.validator.js.map +0 -1
  625. package/dist/appBuilder/validators/joi-validators/create.appBody.validators.d.ts +0 -4
  626. package/dist/appBuilder/validators/joi-validators/create.appBody.validators.js +0 -11
  627. package/dist/appBuilder/validators/joi-validators/create.appBody.validators.js.map +0 -1
  628. package/dist/appBuilder/validators/joi-validators/create.appConstants.validator.d.ts +0 -4
  629. package/dist/appBuilder/validators/joi-validators/create.appConstants.validator.js +0 -12
  630. package/dist/appBuilder/validators/joi-validators/create.appConstants.validator.js.map +0 -1
  631. package/dist/appBuilder/validators/joi-validators/create.appEnv.validator.d.ts +0 -4
  632. package/dist/appBuilder/validators/joi-validators/create.appEnv.validator.js +0 -17
  633. package/dist/appBuilder/validators/joi-validators/create.appEnv.validator.js.map +0 -1
  634. package/dist/appBuilder/validators/joi-validators/create.appEvent.validator.d.ts +0 -5
  635. package/dist/appBuilder/validators/joi-validators/create.appEvent.validator.js +0 -30
  636. package/dist/appBuilder/validators/joi-validators/create.appEvent.validator.js.map +0 -1
  637. package/dist/appBuilder/validators/joi-validators/create.appVariable.validator.d.ts +0 -4
  638. package/dist/appBuilder/validators/joi-validators/create.appVariable.validator.js +0 -14
  639. package/dist/appBuilder/validators/joi-validators/create.appVariable.validator.js.map +0 -1
  640. package/dist/appBuilder/validators/joi-validators/sample.validator.d.ts +0 -5
  641. package/dist/appBuilder/validators/joi-validators/sample.validator.js +0 -26
  642. package/dist/appBuilder/validators/joi-validators/sample.validator.js.map +0 -1
  643. package/dist/appBuilder/validators/joi-validators/update.app.validator.d.ts +0 -4
  644. package/dist/appBuilder/validators/joi-validators/update.app.validator.js +0 -34
  645. package/dist/appBuilder/validators/joi-validators/update.app.validator.js.map +0 -1
  646. package/dist/appBuilder/validators/joi-validators/update.appAction.validator.d.ts +0 -4
  647. package/dist/appBuilder/validators/joi-validators/update.appAction.validator.js +0 -23
  648. package/dist/appBuilder/validators/joi-validators/update.appAction.validator.js.map +0 -1
  649. package/dist/appBuilder/validators/joi-validators/update.appActionResponse.validator.d.ts +0 -3
  650. package/dist/appBuilder/validators/joi-validators/update.appActionResponse.validator.js +0 -21
  651. package/dist/appBuilder/validators/joi-validators/update.appActionResponse.validator.js.map +0 -1
  652. package/dist/appBuilder/validators/joi-validators/update.appAuth.validator.d.ts +0 -4
  653. package/dist/appBuilder/validators/joi-validators/update.appAuth.validator.js +0 -19
  654. package/dist/appBuilder/validators/joi-validators/update.appAuth.validator.js.map +0 -1
  655. package/dist/appBuilder/validators/joi-validators/update.appConstants.validator.d.ts +0 -4
  656. package/dist/appBuilder/validators/joi-validators/update.appConstants.validator.js +0 -12
  657. package/dist/appBuilder/validators/joi-validators/update.appConstants.validator.js.map +0 -1
  658. package/dist/appBuilder/validators/joi-validators/update.appEnv.validator.d.ts +0 -4
  659. package/dist/appBuilder/validators/joi-validators/update.appEnv.validator.js +0 -17
  660. package/dist/appBuilder/validators/joi-validators/update.appEnv.validator.js.map +0 -1
  661. package/dist/appBuilder/validators/joi-validators/update.appEvent.validator.d.ts +0 -4
  662. package/dist/appBuilder/validators/joi-validators/update.appEvent.validator.js +0 -16
  663. package/dist/appBuilder/validators/joi-validators/update.appEvent.validator.js.map +0 -1
  664. package/dist/appBuilder/validators/joi-validators/update.appVariables.validator.d.ts +0 -4
  665. package/dist/appBuilder/validators/joi-validators/update.appVariables.validator.js +0 -14
  666. package/dist/appBuilder/validators/joi-validators/update.appVariables.validator.js.map +0 -1
  667. package/dist/appBuilder/validators/joi-validators/update.validation.entityData.validator.d.ts +0 -3
  668. package/dist/appBuilder/validators/joi-validators/update.validation.entityData.validator.js +0 -27
  669. package/dist/appBuilder/validators/joi-validators/update.validation.entityData.validator.js.map +0 -1
  670. package/dist/apps/validators/joi-validators/create.appEvent.validator.d.ts +0 -5
  671. package/dist/apps/validators/joi-validators/create.appEvent.validator.js +0 -30
  672. package/dist/apps/validators/joi-validators/create.appEvent.validator.js.map +0 -1
  673. package/dist/apps/validators/joi-validators/update.appEvent.validator.d.ts +0 -4
  674. package/dist/apps/validators/joi-validators/update.appEvent.validator.js +0 -16
  675. package/dist/apps/validators/joi-validators/update.appEvent.validator.js.map +0 -1
  676. package/dist/clients/integrations.client.d.ts +0 -2
  677. package/dist/clients/integrations.client.js +0 -26
  678. package/dist/clients/integrations.client.js.map +0 -1
  679. package/dist/database/database.service.d.ts +0 -232
  680. package/dist/database/database.service.js +0 -802
  681. package/dist/database/database.service.js.map +0 -1
  682. package/dist/database/types/aggregation.types.d.ts +0 -261
  683. package/dist/database/types/aggregation.types.js +0 -21
  684. package/dist/database/types/aggregation.types.js.map +0 -1
  685. package/dist/database/types/connection.types.d.ts +0 -132
  686. package/dist/database/types/connection.types.js +0 -6
  687. package/dist/database/types/connection.types.js.map +0 -1
  688. package/dist/database/types/database.types.d.ts +0 -175
  689. package/dist/database/types/database.types.js +0 -75
  690. package/dist/database/types/database.types.js.map +0 -1
  691. package/dist/database/types/index.types.d.ts +0 -220
  692. package/dist/database/types/index.types.js +0 -27
  693. package/dist/database/types/index.types.js.map +0 -1
  694. package/dist/database/types/migration.types.d.ts +0 -205
  695. package/dist/database/types/migration.types.js +0 -44
  696. package/dist/database/types/migration.types.js.map +0 -1
  697. package/dist/database/types/query.types.d.ts +0 -305
  698. package/dist/database/types/query.types.js +0 -57
  699. package/dist/database/types/query.types.js.map +0 -1
  700. package/dist/database/types/result.types.d.ts +0 -220
  701. package/dist/database/types/result.types.js +0 -6
  702. package/dist/database/types/result.types.js.map +0 -1
  703. package/dist/database/types/schema.types.d.ts +0 -190
  704. package/dist/database/types/schema.types.js +0 -69
  705. package/dist/database/types/schema.types.js.map +0 -1
  706. package/dist/database/utils/helpers.d.ts +0 -66
  707. package/dist/database/utils/helpers.js +0 -501
  708. package/dist/database/utils/helpers.js.map +0 -1
  709. package/dist/database/utils/migration.utils.d.ts +0 -151
  710. package/dist/database/utils/migration.utils.js +0 -476
  711. package/dist/database/utils/migration.utils.js.map +0 -1
  712. package/dist/database/utils/transaction.d.ts +0 -64
  713. package/dist/database/utils/transaction.js +0 -130
  714. package/dist/database/utils/transaction.js.map +0 -1
  715. package/dist/database/validators/connection.validator.d.ts +0 -20
  716. package/dist/database/validators/connection.validator.js +0 -267
  717. package/dist/database/validators/connection.validator.js.map +0 -1
  718. package/dist/database/validators/query.validator.d.ts +0 -31
  719. package/dist/database/validators/query.validator.js +0 -305
  720. package/dist/database/validators/query.validator.js.map +0 -1
  721. package/dist/database/validators/schema.validator.d.ts +0 -31
  722. package/dist/database/validators/schema.validator.js +0 -334
  723. package/dist/database/validators/schema.validator.js.map +0 -1
  724. package/dist/graph/graph.service.d.ts +0 -278
  725. package/dist/graph/graph.service.js +0 -687
  726. package/dist/graph/graph.service.js.map +0 -1
  727. package/dist/graph/types/connection.types.d.ts +0 -158
  728. package/dist/graph/types/connection.types.js +0 -43
  729. package/dist/graph/types/connection.types.js.map +0 -1
  730. package/dist/graph/types/graph.types.d.ts +0 -144
  731. package/dist/graph/types/graph.types.js +0 -84
  732. package/dist/graph/types/graph.types.js.map +0 -1
  733. package/dist/graph/types/node.types.d.ts +0 -193
  734. package/dist/graph/types/node.types.js +0 -49
  735. package/dist/graph/types/node.types.js.map +0 -1
  736. package/dist/graph/types/path.types.d.ts +0 -224
  737. package/dist/graph/types/path.types.js +0 -38
  738. package/dist/graph/types/path.types.js.map +0 -1
  739. package/dist/graph/types/query.types.d.ts +0 -247
  740. package/dist/graph/types/query.types.js +0 -23
  741. package/dist/graph/types/query.types.js.map +0 -1
  742. package/dist/graph/types/relationship.types.d.ts +0 -224
  743. package/dist/graph/types/relationship.types.js +0 -35
  744. package/dist/graph/types/relationship.types.js.map +0 -1
  745. package/dist/graph/types/result.types.d.ts +0 -237
  746. package/dist/graph/types/result.types.js +0 -7
  747. package/dist/graph/types/result.types.js.map +0 -1
  748. package/dist/graph/validators/index.d.ts +0 -81
  749. package/dist/graph/validators/index.js +0 -243
  750. package/dist/graph/validators/index.js.map +0 -1
  751. package/dist/integrationsBuilder/services/integration.service.d.ts +0 -138
  752. package/dist/integrationsBuilder/services/integration.service.js +0 -1148
  753. package/dist/integrationsBuilder/services/integration.service.js.map +0 -1
  754. package/dist/integrationsBuilder/services/integrationBuilder.service.d.ts +0 -130
  755. package/dist/integrationsBuilder/services/integrationBuilder.service.js +0 -1017
  756. package/dist/integrationsBuilder/services/integrationBuilder.service.js.map +0 -1
  757. package/dist/integrationsBuilder/utils/objects.utils.d.ts +0 -2
  758. package/dist/integrationsBuilder/utils/objects.utils.js +0 -48
  759. package/dist/integrationsBuilder/utils/objects.utils.js.map +0 -1
  760. package/dist/integrationsBuilder/utils/string.utils.d.ts +0 -1
  761. package/dist/integrationsBuilder/utils/string.utils.js +0 -9
  762. package/dist/integrationsBuilder/utils/string.utils.js.map +0 -1
  763. package/dist/integrationsBuilder/validators/index.d.ts +0 -18
  764. package/dist/integrationsBuilder/validators/index.js +0 -38
  765. package/dist/integrationsBuilder/validators/index.js.map +0 -1
  766. package/dist/integrationsBuilder/validators/joi-validators/create.integration.validator.d.ts +0 -3
  767. package/dist/integrationsBuilder/validators/joi-validators/create.integration.validator.js +0 -10
  768. package/dist/integrationsBuilder/validators/joi-validators/create.integration.validator.js.map +0 -1
  769. package/dist/integrationsBuilder/validators/joi-validators/create.integrationApp.validator.d.ts +0 -4
  770. package/dist/integrationsBuilder/validators/joi-validators/create.integrationApp.validator.js +0 -26
  771. package/dist/integrationsBuilder/validators/joi-validators/create.integrationApp.validator.js.map +0 -1
  772. package/dist/integrationsBuilder/validators/joi-validators/create.integrationCache.validator.d.ts +0 -3
  773. package/dist/integrationsBuilder/validators/joi-validators/create.integrationCache.validator.js +0 -8
  774. package/dist/integrationsBuilder/validators/joi-validators/create.integrationCache.validator.js.map +0 -1
  775. package/dist/integrationsBuilder/validators/joi-validators/create.integrationDatabase.validator.d.ts +0 -3
  776. package/dist/integrationsBuilder/validators/joi-validators/create.integrationDatabase.validator.js +0 -8
  777. package/dist/integrationsBuilder/validators/joi-validators/create.integrationDatabase.validator.js.map +0 -1
  778. package/dist/integrationsBuilder/validators/joi-validators/create.integrationEnv.validator.d.ts +0 -3
  779. package/dist/integrationsBuilder/validators/joi-validators/create.integrationEnv.validator.js +0 -10
  780. package/dist/integrationsBuilder/validators/joi-validators/create.integrationEnv.validator.js.map +0 -1
  781. package/dist/integrationsBuilder/validators/joi-validators/create.integrationFeature.validator.d.ts +0 -3
  782. package/dist/integrationsBuilder/validators/joi-validators/create.integrationFeature.validator.js +0 -60
  783. package/dist/integrationsBuilder/validators/joi-validators/create.integrationFeature.validator.js.map +0 -1
  784. package/dist/integrationsBuilder/validators/joi-validators/create.integrationFunction.validator.d.ts +0 -3
  785. package/dist/integrationsBuilder/validators/joi-validators/create.integrationFunction.validator.js +0 -8
  786. package/dist/integrationsBuilder/validators/joi-validators/create.integrationFunction.validator.js.map +0 -1
  787. package/dist/integrationsBuilder/validators/joi-validators/create.integrationJob.validator.d.ts +0 -3
  788. package/dist/integrationsBuilder/validators/joi-validators/create.integrationJob.validator.js +0 -8
  789. package/dist/integrationsBuilder/validators/joi-validators/create.integrationJob.validator.js.map +0 -1
  790. package/dist/integrationsBuilder/validators/joi-validators/create.integrationNotification.validator.d.ts +0 -3
  791. package/dist/integrationsBuilder/validators/joi-validators/create.integrationNotification.validator.js +0 -8
  792. package/dist/integrationsBuilder/validators/joi-validators/create.integrationNotification.validator.js.map +0 -1
  793. package/dist/integrationsBuilder/validators/joi-validators/update.integrationApp.validator.d.ts +0 -3
  794. package/dist/integrationsBuilder/validators/joi-validators/update.integrationApp.validator.js +0 -9
  795. package/dist/integrationsBuilder/validators/joi-validators/update.integrationApp.validator.js.map +0 -1
  796. package/dist/integrationsBuilder/validators/joi-validators/update.integrationCache.validator.d.ts +0 -3
  797. package/dist/integrationsBuilder/validators/joi-validators/update.integrationCache.validator.js +0 -8
  798. package/dist/integrationsBuilder/validators/joi-validators/update.integrationCache.validator.js.map +0 -1
  799. package/dist/integrationsBuilder/validators/joi-validators/update.integrationDatabase.validator.d.ts +0 -3
  800. package/dist/integrationsBuilder/validators/joi-validators/update.integrationDatabase.validator.js +0 -8
  801. package/dist/integrationsBuilder/validators/joi-validators/update.integrationDatabase.validator.js.map +0 -1
  802. package/dist/integrationsBuilder/validators/joi-validators/update.integrationEnv.validator.d.ts +0 -3
  803. package/dist/integrationsBuilder/validators/joi-validators/update.integrationEnv.validator.js +0 -8
  804. package/dist/integrationsBuilder/validators/joi-validators/update.integrationEnv.validator.js.map +0 -1
  805. package/dist/integrationsBuilder/validators/joi-validators/update.integrationFeature.validator.d.ts +0 -3
  806. package/dist/integrationsBuilder/validators/joi-validators/update.integrationFeature.validator.js +0 -8
  807. package/dist/integrationsBuilder/validators/joi-validators/update.integrationFeature.validator.js.map +0 -1
  808. package/dist/integrationsBuilder/validators/joi-validators/update.integrationFunction.validator copy.d.ts +0 -3
  809. package/dist/integrationsBuilder/validators/joi-validators/update.integrationFunction.validator copy.js +0 -8
  810. package/dist/integrationsBuilder/validators/joi-validators/update.integrationFunction.validator copy.js.map +0 -1
  811. package/dist/integrationsBuilder/validators/joi-validators/update.integrationJob.validator.d.ts +0 -3
  812. package/dist/integrationsBuilder/validators/joi-validators/update.integrationJob.validator.js +0 -8
  813. package/dist/integrationsBuilder/validators/joi-validators/update.integrationJob.validator.js.map +0 -1
  814. package/dist/integrationsBuilder/validators/joi-validators/update.integrationNotification.validator.d.ts +0 -3
  815. package/dist/integrationsBuilder/validators/joi-validators/update.integrationNotification.validator.js +0 -8
  816. package/dist/integrationsBuilder/validators/joi-validators/update.integrationNotification.validator.js.map +0 -1
  817. package/dist/postman.d.ts +0 -1
  818. package/dist/postman.js +0 -21674
  819. package/dist/postman.js.map +0 -1
  820. package/dist/processor/utils/mongo.util.d.ts +0 -0
  821. package/dist/processor/utils/mongo.util.js +0 -152
  822. package/dist/processor/utils/mongo.util.js.map +0 -1
  823. package/dist/processor/utils/postgres.util.d.ts +0 -14
  824. package/dist/processor/utils/postgres.util.js +0 -83
  825. package/dist/processor/utils/postgres.util.js.map +0 -1
  826. package/dist/products/services/utils/crypt.utils.d.ts +0 -1
  827. package/dist/products/services/utils/crypt.utils.js +0 -17
  828. package/dist/products/services/utils/crypt.utils.js.map +0 -1
  829. package/dist/products/services/utils/functions.utils.d.ts +0 -13
  830. package/dist/products/services/utils/functions.utils.js +0 -289
  831. package/dist/products/services/utils/functions.utils.js.map +0 -1
  832. package/dist/products/services/utils/objects.utils.d.ts +0 -13
  833. package/dist/products/services/utils/objects.utils.js +0 -89
  834. package/dist/products/services/utils/objects.utils.js.map +0 -1
  835. package/dist/products/services/utils/string.utils.d.ts +0 -12
  836. package/dist/products/services/utils/string.utils.js +0 -168
  837. package/dist/products/services/utils/string.utils.js.map +0 -1
  838. package/dist/products/validators/joi-validators/create.product.validator.d.ts +0 -3
  839. package/dist/products/validators/joi-validators/create.product.validator.js +0 -10
  840. package/dist/products/validators/joi-validators/create.product.validator.js.map +0 -1
  841. package/dist/products/validators/joi-validators/create.productGraphAction.validator.d.ts +0 -14
  842. package/dist/products/validators/joi-validators/create.productGraphAction.validator.js +0 -696
  843. package/dist/products/validators/joi-validators/create.productGraphAction.validator.js.map +0 -1
  844. package/dist/products/validators/joi-validators/update.productGraphAction.validator.d.ts +0 -7
  845. package/dist/products/validators/joi-validators/update.productGraphAction.validator.js +0 -72
  846. package/dist/products/validators/joi-validators/update.productGraphAction.validator.js.map +0 -1
  847. package/dist/test.appBuilder.js +0 -14
  848. package/dist/test.appBuilder.js.map +0 -1
  849. package/dist/test.import.d.ts +0 -0
  850. package/dist/test.import.js +0 -24
  851. package/dist/test.import.js.map +0 -1
  852. package/dist/test.imports.js +0 -28
  853. package/dist/test.imports.js.map +0 -1
  854. package/dist/test.integrationBuilder.js +0 -276
  855. package/dist/test.integrationBuilder.js.map +0 -1
  856. package/dist/test.processor.d.ts +0 -1
  857. package/dist/test.processor.js +0 -23
  858. package/dist/test.processor.js.map +0 -1
  859. package/dist/test.utils.d.ts +0 -1
  860. package/dist/test.utils.js +0 -25
  861. package/dist/test.utils.js.map +0 -1
  862. package/dist/tsconfig.tsbuildinfo +0 -1
  863. package/dist/types/integrationsBuilder.types.d.ts +0 -276
  864. package/dist/types/integrationsBuilder.types.js +0 -51
  865. package/dist/types/integrationsBuilder.types.js.map +0 -1
  866. /package/dist/{test.appBuilder.d.ts → test/test.database.d.ts} +0 -0
  867. /package/dist/{test.imports.d.ts → test/test.storage.d.ts} +0 -0
  868. /package/dist/{test.integrationBuilder.d.ts → test/test.triggers.d.ts} +0 -0
@@ -0,0 +1,1374 @@
1
+ /**
2
+ * DatabaseService - Main ORM Service Class
3
+ *
4
+ * This is the primary entry point for all database operations in the Ductape SDK.
5
+ * It provides a unified interface for querying, writing, transactions, schema management,
6
+ * migrations, and database actions across multiple database types.
7
+ *
8
+ * Supported databases: PostgreSQL, MySQL, MongoDB, DynamoDB, MariaDB, Cassandra
9
+ */
10
+ import { IConnectionConfig, IConnectionResult, IConnectionContext, IDatabaseConfig } from './types/connection.interface';
11
+ import { IQueryOptions, IQueryResult, IRawQueryOptions, IRawQueryResult } from './types/query.interface';
12
+ import { IInsertOptions, IInsertResult, IUpdateOptions, IUpdateResult, IDeleteOptions, IDeleteResult, IUpsertOptions, IUpsertResult } from './types/write.interface';
13
+ import { ITransactionOptions, ITransaction, ITransactionCallback } from './types/transaction.interface';
14
+ import { IAggregateOptions, IAggregateResult, ICountOptions, ISumOptions, IAvgOptions, IMinMaxOptions, IGroupByOptions, IGroupByResult } from './types/aggregation.interface';
15
+ import { ICreateTableOptions, ITableDefinition, IAlterTableOperation, ITableSchema, ICreateIndexOptions, IDropIndexOptions, IListIndexesOptions, IIndexInfo, IIndexStatistics, SimpleFieldType, ISimpleFieldDefinition, ISimpleSchemaDefinition, ISimpleCreateOptions, ISimpleDropOptions, ISimpleIndexOptions } from './types/schema.interface';
16
+ import { IIndexFieldDefinition, IConstraintDefinition as IMigrationConstraintDefinition, IMigration, IMigrationHistory, IMigrationStatusResult, IMigrationResult } from './types/migration.interface';
17
+ import { ISchemaOperationResult } from './schema/schema-manager';
18
+ import { IActionDefinition, IActionCreateOptions, IActionUpdateOptions, IActionExecuteOptions } from './types/action.interface';
19
+ import { BaseAdapter } from './adapters/base.adapter';
20
+ import { TriggerProcessor } from './triggers/trigger-processor';
21
+ import { TriggerEvent, TriggerTiming, TriggerActionType, ITriggerDefinition, ITriggerContext, ITriggerResult } from './types/trigger.interface';
22
+ import { IProductDatabase, IProductDatabaseTrigger } from '../types';
23
+ import { RedisClientType } from 'redis';
24
+ import { IDBActionDispatchInput, IDBOperationDispatchInput, IDispatchResult } from '../types/processor.types';
25
+ /**
26
+ * Configuration options for DatabaseService initialization
27
+ */
28
+ export interface IDatabaseServiceConfig {
29
+ /** Workspace ID */
30
+ workspace_id: string;
31
+ /** Public key for authentication */
32
+ public_key: string;
33
+ /** User ID */
34
+ user_id: string;
35
+ /** Authentication token */
36
+ token: string;
37
+ /** Environment type (staging, production, local) */
38
+ env_type: string;
39
+ /** Optional Redis client for caching */
40
+ redis_client?: RedisClientType;
41
+ }
42
+ /**
43
+ * Main Database Service class
44
+ * Provides unified ORM interface for all supported databases
45
+ */
46
+ export declare class DatabaseService {
47
+ private adapters;
48
+ private connectionContexts;
49
+ private currentContext;
50
+ private adapterFactory;
51
+ private transactionManager;
52
+ private schemaManagers;
53
+ private migrationEngines;
54
+ private actionManager;
55
+ /** Service configuration */
56
+ private config;
57
+ /** ProductBuilder instances cache (keyed by product tag) */
58
+ private productBuilders;
59
+ /** LogService instance for logging operations */
60
+ private logService;
61
+ /** Current product ID for logging */
62
+ private productId;
63
+ /** CacheManager for two-tier caching (Redis + remote) */
64
+ private cacheManager;
65
+ /** Private keys cache for products (keyed by product tag) */
66
+ private privateKeys;
67
+ /**
68
+ * Create a new DatabaseService instance
69
+ * @param config - Optional configuration for authentication and workspace context
70
+ */
71
+ constructor(config?: IDatabaseServiceConfig);
72
+ /**
73
+ * Get or create a SchemaManager for the given adapter key or current context
74
+ */
75
+ private getSchemaManager;
76
+ /**
77
+ * Get or create a MigrationEngine for the given adapter key or current context
78
+ */
79
+ private getMigrationEngine;
80
+ /**
81
+ * Create a new ProductBuilder instance
82
+ */
83
+ private createNewProductBuilder;
84
+ /**
85
+ * Get or create a ProductBuilder instance for the given product tag
86
+ */
87
+ private getProductBuilder;
88
+ /**
89
+ * Initialize logging service
90
+ */
91
+ private initializeLogService;
92
+ /**
93
+ * Create a new ProcessorService instance for job scheduling
94
+ */
95
+ private createNewProcessor;
96
+ /**
97
+ * Register a new database configuration for a product
98
+ * @param productTag - The product tag
99
+ * @param data - The database configuration data
100
+ */
101
+ registerDatabase(productTag: string, data: IProductDatabase): Promise<void>;
102
+ /**
103
+ * Fetch all databases for a product
104
+ * @param productTag - The product tag
105
+ * @returns Array of database configurations
106
+ */
107
+ fetchAllDatabases(productTag: string): Promise<IProductDatabase[]>;
108
+ /**
109
+ * Fetch a specific database by tag
110
+ * @param productTag - The product tag
111
+ * @param databaseTag - The database tag
112
+ * @returns The database configuration or null if not found
113
+ */
114
+ fetchDatabase(productTag: string, databaseTag: string): Promise<IProductDatabase | null>;
115
+ /**
116
+ * Update a database configuration
117
+ * @param productTag - The product tag
118
+ * @param databaseTag - The database tag
119
+ * @param data - The data to update
120
+ */
121
+ updateDatabase(productTag: string, databaseTag: string, data: Partial<IProductDatabase>): Promise<void>;
122
+ /**
123
+ * Create a database trigger
124
+ * @param productTag - The product tag
125
+ * @param data - The trigger configuration
126
+ */
127
+ createTrigger(productTag: string, data: Partial<IProductDatabaseTrigger>): Promise<void>;
128
+ /**
129
+ * Update a database trigger
130
+ * @param productTag - The product tag
131
+ * @param data - The trigger configuration
132
+ */
133
+ updateTrigger(productTag: string, data: Partial<IProductDatabaseTrigger>): Promise<void>;
134
+ /**
135
+ * Fetch a database trigger
136
+ * @param productTag - The product tag
137
+ * @param tag - The trigger tag (format: database_tag:trigger_tag)
138
+ */
139
+ fetchTrigger(productTag: string, tag: string): Promise<IProductDatabaseTrigger | null>;
140
+ /**
141
+ * Fetch all triggers for a database
142
+ * @param productTag - The product tag
143
+ * @param databaseTag - The database tag
144
+ */
145
+ fetchTriggers(productTag: string, databaseTag: string): Promise<IProductDatabaseTrigger[]>;
146
+ /**
147
+ * Delete a database trigger
148
+ * @param productTag - The product tag
149
+ * @param tag - The trigger tag (format: database_tag:trigger_tag)
150
+ */
151
+ deleteTrigger(productTag: string, tag: string): Promise<void>;
152
+ /**
153
+ * Get the current service configuration
154
+ */
155
+ getConfig(): IDatabaseServiceConfig | null;
156
+ /**
157
+ * Update the service configuration (used after auth is complete)
158
+ */
159
+ updateConfig(config: Partial<IDatabaseServiceConfig>): void;
160
+ /**
161
+ * Get workspace ID from config
162
+ */
163
+ getWorkspaceId(): string | null;
164
+ /**
165
+ * Get user ID from config
166
+ */
167
+ getUserId(): string | null;
168
+ /**
169
+ * Get authentication token from config
170
+ */
171
+ getToken(): string | null;
172
+ /**
173
+ * Get environment type from config
174
+ */
175
+ getEnvType(): string | null;
176
+ /**
177
+ * Create/register a new database configuration
178
+ *
179
+ * @example
180
+ * // Persist to product
181
+ * await ductape.database.create({
182
+ * product: 'my-product',
183
+ * name: 'User Database',
184
+ * tag: 'users-db',
185
+ * type: 'postgresql',
186
+ * description: 'Stores user accounts and profiles',
187
+ * envs: [
188
+ * { slug: 'dev', connection_url: 'postgresql://localhost:5432/myapp_dev' },
189
+ * { slug: 'prd', connection_url: 'postgresql://prod-host:5432/myapp_prod' },
190
+ * ],
191
+ * });
192
+ *
193
+ * // Local only (not persisted)
194
+ * await ductape.database.create({
195
+ * name: 'Temp Database',
196
+ * tag: 'temp-db',
197
+ * type: 'postgresql',
198
+ * envs: [{ slug: 'dev', connection_url: 'postgresql://localhost:5432/temp' }],
199
+ * });
200
+ */
201
+ create(config: IDatabaseConfig): Promise<void>;
202
+ /**
203
+ * Connect to a database
204
+ *
205
+ * @example
206
+ * const result = await ductape.database.connect({
207
+ * env: 'dev',
208
+ * product: 'my-app',
209
+ * database: 'users-db',
210
+ * });
211
+ * console.log('Connected:', result.connected);
212
+ * console.log('Database Version:', result.version);
213
+ * console.log('Latency:', result.latency, 'ms');
214
+ *
215
+ * // With the returned connection object, you can use scoped operations:
216
+ * const db = await ductape.databases.connect({ env: 'dev', product: 'my-app', database: 'users-db' });
217
+ * await db.triggers.create({ tag: 'my-trigger', ... });
218
+ */
219
+ connect(config: IConnectionConfig): Promise<DatabaseConnection>;
220
+ /**
221
+ * Test database connection without establishing persistent connection
222
+ *
223
+ * @example
224
+ * const result = await ductape.database.testConnection({
225
+ * env: 'dev',
226
+ * product: 'my-app',
227
+ * database: 'users-db',
228
+ * });
229
+ * if (result.connected) {
230
+ * console.log('Connection successful!');
231
+ * } else {
232
+ * console.error('Connection failed:', result.error);
233
+ * }
234
+ */
235
+ testConnection(config: IConnectionConfig): Promise<IConnectionResult>;
236
+ /**
237
+ * Disconnect from the current database
238
+ */
239
+ disconnect(): Promise<void>;
240
+ /**
241
+ * Close all database connections
242
+ *
243
+ * @example
244
+ * await ductape.database.closeAll();
245
+ */
246
+ closeAll(): Promise<void>;
247
+ /**
248
+ * Fetch all registered databases
249
+ *
250
+ * @example
251
+ * const databases = await ductape.database.fetchAll();
252
+ * databases.forEach((db) => {
253
+ * console.log(`${db.name} (${db.tag}): ${db.type}`);
254
+ * });
255
+ */
256
+ fetchAll(product: string): Promise<IDatabaseConfig[]>;
257
+ /**
258
+ * Fetch a specific database configuration
259
+ *
260
+ * @example
261
+ * const usersDb = await ductape.database.fetch('users-db');
262
+ * console.log('Database:', usersDb.name);
263
+ * console.log('Type:', usersDb.type);
264
+ * console.log('Environments:', usersDb.envs);
265
+ */
266
+ fetch(product: string, database: string): Promise<IDatabaseConfig | null>;
267
+ /**
268
+ * Update a local database configuration
269
+ *
270
+ * @example
271
+ * await ductape.database.updateLocalConfig('users-db', {
272
+ * name: 'User Database v2',
273
+ * description: 'Updated user storage',
274
+ * envs: [
275
+ * { slug: 'dev', connection_url: 'postgresql://new-dev-host:5432/myapp' },
276
+ * ],
277
+ * });
278
+ */
279
+ updateLocalConfig(tag: string, updates: Partial<IDatabaseConfig>): Promise<void>;
280
+ /**
281
+ * Query records from a table
282
+ *
283
+ * @example
284
+ * // With established connection
285
+ * const result = await ductape.database.query({
286
+ * table: 'users',
287
+ * where: { status: 'active' },
288
+ * orderBy: { column: 'created_at', order: 'DESC' },
289
+ * limit: 10,
290
+ * });
291
+ *
292
+ * // With explicit connection params
293
+ * const result = await ductape.database.query({
294
+ * env: 'prd',
295
+ * product: 'my-app',
296
+ * database: 'main-db',
297
+ * table: 'users',
298
+ * });
299
+ */
300
+ query<T = any>(options: IQueryOptions): Promise<IQueryResult<T>>;
301
+ /**
302
+ * Execute a raw query
303
+ *
304
+ * @example
305
+ * // PostgreSQL
306
+ * const result = await ductape.database.raw({
307
+ * query: 'SELECT * FROM users WHERE created_at > $1 AND status = $2',
308
+ * params: [new Date('2024-01-01'), 'active'],
309
+ * });
310
+ *
311
+ * // MySQL
312
+ * const result = await ductape.database.raw({
313
+ * query: 'SELECT * FROM users WHERE created_at > ? AND status = ?',
314
+ * params: [new Date('2024-01-01'), 'active'],
315
+ * });
316
+ *
317
+ * // MongoDB
318
+ * const result = await ductape.database.raw({
319
+ * query: { status: 'active', created_at: { $gte: new Date('2024-01-01') } },
320
+ * collection: 'users',
321
+ * });
322
+ */
323
+ raw<T = any>(options: IRawQueryOptions): Promise<IRawQueryResult<T>>;
324
+ /**
325
+ * Insert one or more records
326
+ *
327
+ * @example
328
+ * // Single record
329
+ * const result = await ductape.database.insert({
330
+ * table: 'users',
331
+ * data: {
332
+ * name: 'Jane Doe',
333
+ * email: 'jane@example.com',
334
+ * status: 'active',
335
+ * },
336
+ * returning: true,
337
+ * });
338
+ *
339
+ * // Multiple records
340
+ * const result = await ductape.database.insert({
341
+ * table: 'users',
342
+ * data: [
343
+ * { name: 'User 1', email: 'user1@example.com' },
344
+ * { name: 'User 2', email: 'user2@example.com' },
345
+ * ],
346
+ * });
347
+ *
348
+ * // With conflict handling (upsert)
349
+ * const result = await ductape.database.insert({
350
+ * table: 'users',
351
+ * data: { email: 'john@example.com', name: 'John' },
352
+ * onConflict: {
353
+ * columns: ['email'],
354
+ * action: 'update',
355
+ * update: ['name'],
356
+ * },
357
+ * });
358
+ */
359
+ insert<T = any>(options: IInsertOptions): Promise<IInsertResult<T>>;
360
+ /**
361
+ * Update records matching conditions
362
+ *
363
+ * @example
364
+ * // Simple update
365
+ * const result = await ductape.database.update({
366
+ * table: 'users',
367
+ * data: { status: 'inactive' },
368
+ * where: { last_login: { $LT: new Date('2023-01-01') } },
369
+ * });
370
+ *
371
+ * // With increment/decrement
372
+ * await ductape.database.update({
373
+ * table: 'products',
374
+ * data: { stock: { $inc: 10 } },
375
+ * where: { id: productId },
376
+ * });
377
+ */
378
+ update<T = any>(options: IUpdateOptions): Promise<IUpdateResult<T>>;
379
+ /**
380
+ * Delete records matching conditions
381
+ *
382
+ * @example
383
+ * const result = await ductape.database.delete({
384
+ * table: 'users',
385
+ * where: { status: 'deleted' },
386
+ * });
387
+ * console.log('Deleted count:', result.count);
388
+ */
389
+ delete(options: IDeleteOptions): Promise<IDeleteResult>;
390
+ /**
391
+ * Insert or update a record based on conflict keys
392
+ *
393
+ * @example
394
+ * const result = await ductape.database.upsert({
395
+ * table: 'user_preferences',
396
+ * data: {
397
+ * user_id: 123,
398
+ * theme: 'dark',
399
+ * language: 'en',
400
+ * },
401
+ * conflictKeys: ['user_id'],
402
+ * });
403
+ * console.log('Operation:', result.operation); // 'inserted' or 'updated'
404
+ */
405
+ upsert<T = any>(options: IUpsertOptions): Promise<IUpsertResult<T>>;
406
+ /**
407
+ * Count records
408
+ *
409
+ * @example
410
+ * const count = await ductape.database.count({
411
+ * table: 'users',
412
+ * where: { status: 'active' },
413
+ * });
414
+ */
415
+ count(options: ICountOptions): Promise<number>;
416
+ /**
417
+ * Sum values of a column
418
+ *
419
+ * @example
420
+ * const totalRevenue = await ductape.database.sum({
421
+ * table: 'orders',
422
+ * column: 'total',
423
+ * where: { status: 'completed' },
424
+ * });
425
+ */
426
+ sum(options: ISumOptions): Promise<number>;
427
+ /**
428
+ * Calculate average of a column
429
+ *
430
+ * @example
431
+ * const avgOrderValue = await ductape.database.avg({
432
+ * table: 'orders',
433
+ * column: 'total',
434
+ * });
435
+ */
436
+ avg(options: IAvgOptions): Promise<number>;
437
+ /**
438
+ * Get minimum value of a column
439
+ *
440
+ * @example
441
+ * const minPrice = await ductape.database.min({
442
+ * table: 'products',
443
+ * column: 'price',
444
+ * });
445
+ */
446
+ min(options: IMinMaxOptions): Promise<any>;
447
+ /**
448
+ * Get maximum value of a column
449
+ *
450
+ * @example
451
+ * const maxPrice = await ductape.database.max({
452
+ * table: 'products',
453
+ * column: 'price',
454
+ * });
455
+ */
456
+ max(options: IMinMaxOptions): Promise<any>;
457
+ /**
458
+ * Perform multiple aggregations in one query
459
+ *
460
+ * @example
461
+ * const stats = await ductape.database.aggregate({
462
+ * table: 'orders',
463
+ * operations: {
464
+ * total_revenue: { $SUM: 'total' },
465
+ * order_count: { $COUNT: '*' },
466
+ * avg_order_value: { $AVG: 'total' },
467
+ * },
468
+ * where: { status: 'completed' },
469
+ * });
470
+ */
471
+ aggregate(options: IAggregateOptions): Promise<IAggregateResult>;
472
+ /**
473
+ * Group records and perform aggregations
474
+ *
475
+ * @example
476
+ * const salesByCategory = await ductape.database.groupBy({
477
+ * table: 'products',
478
+ * groupBy: ['category'],
479
+ * operations: {
480
+ * total_sales: { $SUM: 'sales_count' },
481
+ * avg_price: { $AVG: 'price' },
482
+ * },
483
+ * having: {
484
+ * total_sales: { $GT: 100 },
485
+ * },
486
+ * });
487
+ */
488
+ groupBy<T = any>(options: IGroupByOptions): Promise<IGroupByResult<T>[]>;
489
+ /**
490
+ * Execute operations within a transaction (callback API - recommended)
491
+ *
492
+ * @example
493
+ * const order = await ductape.database.transaction({
494
+ * env: 'prd',
495
+ * product: 'my-app',
496
+ * database: 'main-db',
497
+ * }, async (transaction) => {
498
+ * const order = await ductape.database.insert({
499
+ * table: 'orders',
500
+ * data: { customer_id: 123, total: 99.99 },
501
+ * transaction,
502
+ * });
503
+ *
504
+ * await ductape.database.insert({
505
+ * table: 'order_items',
506
+ * data: items.map(item => ({ order_id: order.insertedIds[0], ...item })),
507
+ * transaction,
508
+ * });
509
+ *
510
+ * return order;
511
+ * });
512
+ */
513
+ transaction<T>(options: ITransactionOptions, callback: ITransactionCallback<T>): Promise<T>;
514
+ /**
515
+ * Begin a transaction manually
516
+ *
517
+ * @example
518
+ * const transaction = await ductape.database.beginTransaction({
519
+ * env: 'prd',
520
+ * product: 'my-app',
521
+ * database: 'main-db',
522
+ * isolationLevel: 'REPEATABLE_READ',
523
+ * });
524
+ *
525
+ * try {
526
+ * await ductape.database.insert({ table: 'accounts', data: {...}, transaction });
527
+ * await transaction.commit();
528
+ * } catch (error) {
529
+ * await transaction.rollback();
530
+ * throw error;
531
+ * }
532
+ */
533
+ beginTransaction(options: ITransactionOptions): Promise<ITransaction>;
534
+ /**
535
+ * Create a new table
536
+ *
537
+ * @example
538
+ * import { SchemaHelpers } from '@ductape/sdk';
539
+ *
540
+ * await ductape.database.createTable(
541
+ * { env: 'dev', product: 'my-app', database: 'main-db' },
542
+ * {
543
+ * name: 'products',
544
+ * columns: [
545
+ * SchemaHelpers.id(),
546
+ * SchemaHelpers.string('name', 255, false),
547
+ * SchemaHelpers.decimal('price', 10, 2),
548
+ * ...SchemaHelpers.timestamps(),
549
+ * ],
550
+ * },
551
+ * { ifNotExists: true }
552
+ * );
553
+ */
554
+ createTable(connectionConfigOrDefinition: IConnectionConfig | ITableDefinition, tableDefinitionOrOptions?: ITableDefinition | ICreateTableOptions, options?: ICreateTableOptions): Promise<void>;
555
+ /**
556
+ * Alter an existing table
557
+ *
558
+ * @example
559
+ * import { ColumnAlterationType, ColumnType } from '@ductape/sdk';
560
+ *
561
+ * // Add column
562
+ * await ductape.database.alterTable(
563
+ * { env: 'dev', product: 'my-app', database: 'main-db' },
564
+ * 'products',
565
+ * [{ type: ColumnAlterationType.ADD, column: { name: 'sku', type: ColumnType.STRING, length: 50 } }]
566
+ * );
567
+ *
568
+ * // Drop column
569
+ * await ductape.database.alterTable(
570
+ * { env: 'dev', product: 'my-app', database: 'main-db' },
571
+ * 'products',
572
+ * [{ type: ColumnAlterationType.DROP, columnName: 'old_field' }]
573
+ * );
574
+ *
575
+ * // Rename column
576
+ * await ductape.database.alterTable(
577
+ * { env: 'dev', product: 'my-app', database: 'main-db' },
578
+ * 'products',
579
+ * [{ type: ColumnAlterationType.RENAME, oldName: 'old_name', newName: 'new_name' }]
580
+ * );
581
+ */
582
+ alterTable(connectionConfigOrTableName: IConnectionConfig | string, tableNameOrAlterations: string | IAlterTableOperation[], alterations?: IAlterTableOperation[]): Promise<void>;
583
+ /**
584
+ * Drop a table
585
+ *
586
+ * @example
587
+ * await ductape.database.dropTable(
588
+ * { env: 'dev', product: 'my-app', database: 'main-db' },
589
+ * 'old_table'
590
+ * );
591
+ */
592
+ dropTable(connectionConfigOrTableName: IConnectionConfig | string, tableName?: string): Promise<void>;
593
+ /**
594
+ * List all tables in the database
595
+ *
596
+ * @example
597
+ * const tables = await ductape.database.listTables({
598
+ * env: 'dev',
599
+ * product: 'my-app',
600
+ * database: 'main-db',
601
+ * });
602
+ */
603
+ listTables(connectionConfig?: IConnectionConfig): Promise<string[]>;
604
+ /**
605
+ * Check if a table exists
606
+ *
607
+ * @example
608
+ * const exists = await ductape.database.tableExists(
609
+ * { env: 'dev', product: 'my-app', database: 'main-db' },
610
+ * 'users'
611
+ * );
612
+ */
613
+ tableExists(connectionConfigOrTableName: IConnectionConfig | string, tableName?: string): Promise<boolean>;
614
+ /**
615
+ * Get the schema of a table
616
+ *
617
+ * @example
618
+ * const schema = await ductape.database.getTableSchema(
619
+ * { env: 'dev', product: 'my-app', database: 'main-db' },
620
+ * 'users'
621
+ * );
622
+ * console.log('Table:', schema.name);
623
+ * console.log('Columns:', schema.columns);
624
+ * console.log('Indexes:', schema.indexes);
625
+ */
626
+ getTableSchema(connectionConfigOrTableName: IConnectionConfig | string, tableName?: string): Promise<ITableSchema>;
627
+ /**
628
+ * Create an index
629
+ *
630
+ * @example
631
+ * await ductape.database.createIndex({
632
+ * env: 'dev',
633
+ * product: 'my-app',
634
+ * database: 'main-db',
635
+ * table: 'users',
636
+ * index: {
637
+ * name: 'idx_users_email',
638
+ * table: 'users',
639
+ * columns: [{ name: 'email' }],
640
+ * unique: true,
641
+ * },
642
+ * ifNotExists: true,
643
+ * concurrent: true, // PostgreSQL: create without locking
644
+ * });
645
+ */
646
+ createIndex(options: ICreateIndexOptions): Promise<void>;
647
+ /**
648
+ * Drop an index
649
+ *
650
+ * @example
651
+ * await ductape.database.dropIndex({
652
+ * env: 'dev',
653
+ * product: 'my-app',
654
+ * database: 'main-db',
655
+ * table: 'users',
656
+ * indexName: 'idx_users_old',
657
+ * ifExists: true,
658
+ * concurrent: true,
659
+ * });
660
+ */
661
+ dropIndex(options: IDropIndexOptions): Promise<void>;
662
+ /**
663
+ * List all indexes on a table
664
+ *
665
+ * @example
666
+ * const indexes = await ductape.database.listIndexes({
667
+ * env: 'dev',
668
+ * product: 'my-app',
669
+ * database: 'main-db',
670
+ * table: 'users',
671
+ * includeSystem: false,
672
+ * });
673
+ */
674
+ listIndexes(options: IListIndexesOptions): Promise<IIndexInfo[]>;
675
+ /**
676
+ * Get index statistics
677
+ *
678
+ * @example
679
+ * // All indexes on a table
680
+ * const stats = await ductape.database.getIndexStatistics(
681
+ * { env: 'prd', product: 'my-app', database: 'main-db' },
682
+ * 'users'
683
+ * );
684
+ *
685
+ * // Specific index
686
+ * const emailStats = await ductape.database.getIndexStatistics(
687
+ * { env: 'prd', product: 'my-app', database: 'main-db' },
688
+ * 'users',
689
+ * 'idx_users_email'
690
+ * );
691
+ */
692
+ getIndexStatistics(connectionConfig: IConnectionConfig, tableName: string, indexName?: string): Promise<IIndexStatistics[]>;
693
+ /**
694
+ * Run a migration
695
+ *
696
+ * @example
697
+ * const result = await ductape.database.runMigration([migration]);
698
+ * console.log('Migrated:', result.size);
699
+ */
700
+ runMigration(migrations: IMigration[], options?: {
701
+ dryRun?: boolean;
702
+ appliedBy?: string;
703
+ }): Promise<Map<string, IMigrationResult>>;
704
+ /**
705
+ * Rollback migrations
706
+ *
707
+ * @example
708
+ * const result = await ductape.database.rollbackMigration([migration], 1);
709
+ * console.log('Rolled back:', result.size);
710
+ */
711
+ rollbackMigration(migrations: IMigration[], count?: number): Promise<Map<string, IMigrationResult>>;
712
+ /**
713
+ * Get migration history (applied migrations)
714
+ *
715
+ * @example
716
+ * const history = await ductape.database.getMigrationHistory();
717
+ * history.forEach((entry) => {
718
+ * console.log('Tag:', entry.tag);
719
+ * console.log('Applied at:', entry.appliedAt);
720
+ * });
721
+ */
722
+ getMigrationHistory(): Promise<IMigrationHistory[]>;
723
+ /**
724
+ * Get status of all migrations
725
+ *
726
+ * @example
727
+ * const status = await ductape.database.getMigrationStatus(allMigrations);
728
+ * console.log('Pending:', status.pending);
729
+ */
730
+ getMigrationStatus(migrations: IMigration[]): Promise<IMigrationStatusResult>;
731
+ /**
732
+ * Migration management sub-object
733
+ * Provides CRUD operations for database migrations via ProductBuilder
734
+ */
735
+ get migration(): {
736
+ /**
737
+ * Create a new database migration
738
+ *
739
+ * @example
740
+ * await ductape.database.migration.create({
741
+ * product: 'my-product',
742
+ * database: 'main-db',
743
+ * data: {
744
+ * name: 'Add users table',
745
+ * tag: 'main-db:add-users-table',
746
+ * value: {
747
+ * up: ['CREATE TABLE users (id SERIAL PRIMARY KEY, email VARCHAR(255))'],
748
+ * down: ['DROP TABLE users'],
749
+ * },
750
+ * },
751
+ * });
752
+ */
753
+ create: (options: {
754
+ product: string;
755
+ database: string;
756
+ data: {
757
+ name: string;
758
+ tag: string;
759
+ description?: string;
760
+ value: {
761
+ up: string[];
762
+ down: string[];
763
+ };
764
+ };
765
+ }) => Promise<void>;
766
+ /**
767
+ * Update an existing database migration
768
+ *
769
+ * @example
770
+ * await ductape.database.migration.update({
771
+ * product: 'my-product',
772
+ * tag: 'main-db:add-users-table',
773
+ * data: {
774
+ * description: 'Updated description',
775
+ * },
776
+ * });
777
+ */
778
+ update: (options: {
779
+ product: string;
780
+ tag: string;
781
+ data: {
782
+ name?: string;
783
+ description?: string;
784
+ value?: {
785
+ up: string[];
786
+ down: string[];
787
+ };
788
+ };
789
+ }) => Promise<void>;
790
+ /**
791
+ * Fetch a specific database migration
792
+ *
793
+ * @example
794
+ * const migration = await ductape.database.migration.fetch({
795
+ * product: 'my-product',
796
+ * tag: 'main-db:add-users-table',
797
+ * });
798
+ */
799
+ fetch: (options: {
800
+ product: string;
801
+ tag: string;
802
+ }) => Promise<any>;
803
+ /**
804
+ * Fetch all database migrations for a database
805
+ *
806
+ * @example
807
+ * const migrations = await ductape.database.migration.fetchAll({
808
+ * product: 'my-product',
809
+ * database: 'main-db',
810
+ * });
811
+ */
812
+ fetchAll: (options: {
813
+ product: string;
814
+ database: string;
815
+ }) => Promise<any[]>;
816
+ /**
817
+ * Delete a database migration
818
+ *
819
+ * @example
820
+ * await ductape.database.migration.delete({
821
+ * product: 'my-product',
822
+ * tag: 'main-db:add-users-table',
823
+ * });
824
+ */
825
+ delete: (options: {
826
+ product: string;
827
+ tag: string;
828
+ }) => Promise<void>;
829
+ /**
830
+ * Run a database migration (up)
831
+ * @deprecated Migration execution has been deprecated
832
+ */
833
+ run: (_options: {
834
+ product: string;
835
+ migration: string;
836
+ env: string;
837
+ }) => Promise<any>;
838
+ /**
839
+ * Rollback a database migration (down)
840
+ * @deprecated Migration execution has been deprecated
841
+ */
842
+ rollback: (_options: {
843
+ product: string;
844
+ migration: string;
845
+ env: string;
846
+ }) => Promise<any>;
847
+ };
848
+ /**
849
+ * Action management sub-object
850
+ */
851
+ get action(): {
852
+ /**
853
+ * Create a new database action
854
+ *
855
+ * @example
856
+ * await ductape.database.action.create({
857
+ * name: 'Get Users Paginated',
858
+ * tag: 'postgresdb:get-users-paginated',
859
+ * tableName: 'users',
860
+ * operation: DatabaseActionTypes.QUERY,
861
+ * template: {
862
+ * where: { is_active: true },
863
+ * limit: '{{limit}}',
864
+ * offset: '{{offset}}',
865
+ * },
866
+ * });
867
+ */
868
+ create: (options: IActionCreateOptions) => Promise<void>;
869
+ /**
870
+ * Update an existing action
871
+ *
872
+ * @example
873
+ * await ductape.database.action.update({
874
+ * tag: 'postgresdb:get-users',
875
+ * template: { where: { status: '{{status}}' } },
876
+ * });
877
+ */
878
+ update: (options: IActionUpdateOptions) => Promise<void>;
879
+ /**
880
+ * Fetch a specific action
881
+ *
882
+ * @example
883
+ * const action = await ductape.database.action.fetch('postgresdb:get-users');
884
+ */
885
+ fetch: (tag: string) => Promise<IActionDefinition | null>;
886
+ /**
887
+ * Fetch all actions for a database
888
+ *
889
+ * @example
890
+ * const actions = await ductape.database.action.fetchAll('postgresdb');
891
+ */
892
+ fetchAll: (databaseTag: string) => Promise<IActionDefinition[]>;
893
+ /**
894
+ * Delete a database action
895
+ *
896
+ * @example
897
+ * await ductape.database.action.delete('postgresdb:get-users');
898
+ */
899
+ delete: (tag: string) => Promise<void>;
900
+ /**
901
+ * Dispatches a database action to run as a scheduled job.
902
+ * @param {IDBActionDispatchInput} data - The database action dispatch input.
903
+ * @returns {Promise<IDispatchResult>} The dispatch result with job ID and status.
904
+ * @example
905
+ * // Schedule a database action to run in 1 hour
906
+ * await ductape.databases.action.dispatch({
907
+ * product: 'my-product',
908
+ * env: 'production',
909
+ * database: 'users-db',
910
+ * event: 'cleanup-inactive',
911
+ * input: { query: { inactive: true } },
912
+ * schedule: { start_at: Date.now() + 3600000 }
913
+ * });
914
+ *
915
+ * // Run on a cron schedule
916
+ * await ductape.databases.action.dispatch({
917
+ * product: 'my-product',
918
+ * env: 'production',
919
+ * database: 'analytics-db',
920
+ * event: 'aggregate-daily',
921
+ * input: { query: {} },
922
+ * schedule: { cron: '0 0 * * *' } // Daily at midnight
923
+ * });
924
+ */
925
+ dispatch: (data: IDBActionDispatchInput) => Promise<IDispatchResult>;
926
+ };
927
+ /**
928
+ * Execute a database action
929
+ *
930
+ * @example
931
+ * const users = await ductape.database.execute({
932
+ * product: 'my-product',
933
+ * env: 'prd',
934
+ * database: 'postgresdb',
935
+ * action: 'get-users-paginated',
936
+ * input: {
937
+ * limit: 25,
938
+ * offset: 0,
939
+ * },
940
+ * });
941
+ */
942
+ execute<T = any>(options: IActionExecuteOptions): Promise<T>;
943
+ /**
944
+ * Dispatches a database operation to run as a scheduled job.
945
+ * Use this for direct database operations (query, insert, update, delete, etc.).
946
+ * @param {IDBOperationDispatchInput} data - The database operation dispatch input.
947
+ * @returns {Promise<IDispatchResult>} The dispatch result with job ID and status.
948
+ * @example
949
+ * // Schedule a database operation to run in 1 hour
950
+ * await ductape.databases.dispatch({
951
+ * product: 'my-product',
952
+ * env: 'production',
953
+ * database: 'users-db',
954
+ * operation: 'deleteMany',
955
+ * input: { filter: { inactive: true, lastLogin: { $lt: '2024-01-01' } } },
956
+ * schedule: { start_at: Date.now() + 3600000 }
957
+ * });
958
+ *
959
+ * // Run daily database cleanup
960
+ * await ductape.databases.dispatch({
961
+ * product: 'my-product',
962
+ * env: 'production',
963
+ * database: 'logs-db',
964
+ * operation: 'deleteMany',
965
+ * input: { filter: { createdAt: { $lt: '$DateAdd($Now(), -30, "days")' } } },
966
+ * schedule: { cron: '0 3 * * *' } // Daily at 3 AM
967
+ * });
968
+ */
969
+ dispatch(data: IDBOperationDispatchInput): Promise<IDispatchResult>;
970
+ /**
971
+ * Get the appropriate adapter for the operation
972
+ */
973
+ getAdapter(options?: {
974
+ env?: string;
975
+ database?: string;
976
+ }): BaseAdapter;
977
+ /**
978
+ * Get the current connection context
979
+ */
980
+ getCurrentContext(): IConnectionContext | null;
981
+ /**
982
+ * Get a connection-scoped interface for a specific database/environment.
983
+ * This ensures schema operations are isolated to a specific connection.
984
+ *
985
+ * @example
986
+ * const usersDb = db.connection('users-db', 'dev');
987
+ * await usersDb.schema.create('users', { ... });
988
+ *
989
+ * const ordersDb = db.connection('orders-db', 'dev');
990
+ * await ordersDb.schema.create('orders', { ... }); // Different connection
991
+ */
992
+ connection(database: string, env: string, product?: string): DatabaseConnection;
993
+ /**
994
+ * Build a context key from database and environment
995
+ */
996
+ private buildContextKey;
997
+ /**
998
+ * Convert DatabaseTypes (from product API) to DatabaseType (ORM internal)
999
+ */
1000
+ private convertDatabaseType;
1001
+ /**
1002
+ * Simplified schema operations API (Mongoose-style)
1003
+ *
1004
+ * @example
1005
+ * await db.connect({ env: 'dev', product: 'my-app', database: 'users-db' });
1006
+ *
1007
+ * // Create a table with Mongoose-style schema
1008
+ * await db.schema.create('users', {
1009
+ * id: { type: 'uuid', primaryKey: true },
1010
+ * email: { type: 'string', length: 255, required: true, unique: true },
1011
+ * name: { type: 'string', length: 100 },
1012
+ * age: 'integer', // Shorthand
1013
+ * status: { type: 'enum', enum: ['active', 'inactive'], default: 'active' },
1014
+ * }, { timestamps: true });
1015
+ */
1016
+ get schema(): {
1017
+ /**
1018
+ * Create a collection/table with Mongoose-style schema definition
1019
+ */
1020
+ create: (name: string, definition: ISimpleSchemaDefinition, options?: ISimpleCreateOptions) => Promise<ISchemaOperationResult>;
1021
+ /**
1022
+ * Drop a collection/table
1023
+ */
1024
+ drop: (name: string, options?: ISimpleDropOptions) => Promise<ISchemaOperationResult>;
1025
+ /**
1026
+ * Add a field to a collection
1027
+ */
1028
+ addField: (collection: string, fieldName: string, definition: SimpleFieldType | ISimpleFieldDefinition) => Promise<ISchemaOperationResult>;
1029
+ /**
1030
+ * Drop a field from a collection
1031
+ */
1032
+ dropField: (collection: string, fieldName: string) => Promise<ISchemaOperationResult>;
1033
+ /**
1034
+ * Rename a field in a collection
1035
+ */
1036
+ renameField: (collection: string, oldName: string, newName: string) => Promise<ISchemaOperationResult>;
1037
+ /**
1038
+ * Modify a field's definition
1039
+ */
1040
+ modifyField: (collection: string, fieldName: string, changes: Partial<ISimpleFieldDefinition>) => Promise<ISchemaOperationResult>;
1041
+ /**
1042
+ * Create an index on a collection
1043
+ */
1044
+ createIndex: (collection: string, fields: string[] | IIndexFieldDefinition[], options?: ISimpleIndexOptions) => Promise<ISchemaOperationResult>;
1045
+ /**
1046
+ * Drop an index from a collection
1047
+ */
1048
+ dropIndex: (collection: string, indexName: string) => Promise<ISchemaOperationResult>;
1049
+ /**
1050
+ * Add a constraint (SQL databases only)
1051
+ */
1052
+ addConstraint: (collection: string, constraint: IMigrationConstraintDefinition) => Promise<ISchemaOperationResult>;
1053
+ /**
1054
+ * Drop a constraint (SQL databases only)
1055
+ */
1056
+ dropConstraint: (collection: string, constraintName: string) => Promise<ISchemaOperationResult>;
1057
+ /**
1058
+ * Rename a collection/table
1059
+ */
1060
+ rename: (oldName: string, newName: string) => Promise<ISchemaOperationResult>;
1061
+ /**
1062
+ * Check if a collection/table exists
1063
+ */
1064
+ exists: (name: string) => Promise<boolean>;
1065
+ /**
1066
+ * List all collections/tables
1067
+ */
1068
+ list: (schemaName?: string) => Promise<string[]>;
1069
+ /**
1070
+ * Get detailed schema information for a collection
1071
+ */
1072
+ describe: (name: string) => Promise<ITableSchema>;
1073
+ /**
1074
+ * List indexes on a collection
1075
+ */
1076
+ indexes: (collection: string) => Promise<IIndexInfo[]>;
1077
+ };
1078
+ /**
1079
+ * Create a collection with Mongoose-style definition
1080
+ */
1081
+ private schemaCreate;
1082
+ /**
1083
+ * Drop a collection
1084
+ */
1085
+ private schemaDrop;
1086
+ /**
1087
+ * Add a field to a collection
1088
+ */
1089
+ private schemaAddField;
1090
+ /**
1091
+ * Drop a field from a collection
1092
+ */
1093
+ private schemaDropField;
1094
+ /**
1095
+ * Rename a field
1096
+ */
1097
+ private schemaRenameField;
1098
+ /**
1099
+ * Modify a field's definition
1100
+ */
1101
+ private schemaModifyField;
1102
+ /**
1103
+ * Create an index
1104
+ */
1105
+ private schemaCreateIndex;
1106
+ /**
1107
+ * Drop an index
1108
+ */
1109
+ private schemaDropIndex;
1110
+ /**
1111
+ * Add a constraint (SQL only)
1112
+ */
1113
+ private schemaAddConstraint;
1114
+ /**
1115
+ * Drop a constraint (SQL only)
1116
+ */
1117
+ private schemaDropConstraint;
1118
+ /**
1119
+ * Rename a collection
1120
+ */
1121
+ private schemaRename;
1122
+ /**
1123
+ * Check if collection exists
1124
+ */
1125
+ private schemaExists;
1126
+ /**
1127
+ * List all collections
1128
+ */
1129
+ private schemaList;
1130
+ /**
1131
+ * Describe a collection's schema
1132
+ */
1133
+ private schemaDescribe;
1134
+ /**
1135
+ * List indexes on a collection
1136
+ */
1137
+ private schemaListIndexes;
1138
+ /**
1139
+ * Convert Mongoose-style schema definition to IFieldDefinition array
1140
+ */
1141
+ private convertToFieldDefinitions;
1142
+ /**
1143
+ * Convert a single field definition
1144
+ */
1145
+ private convertFieldDefinition;
1146
+ /**
1147
+ * Normalize Mongoose-style type names to FieldType
1148
+ */
1149
+ private normalizeFieldType;
1150
+ /**
1151
+ * Normalize index fields to IIndexFieldDefinition array
1152
+ */
1153
+ private normalizeIndexFields;
1154
+ /**
1155
+ * Get adapter by context key (used by DatabaseConnection)
1156
+ * @internal
1157
+ */
1158
+ getAdapterByContextKey(contextKey: string): BaseAdapter;
1159
+ }
1160
+ /**
1161
+ * Connection-scoped database interface.
1162
+ * Provides isolated schema, query, and aggregation operations for a specific database/environment.
1163
+ */
1164
+ export declare class DatabaseConnection {
1165
+ private service;
1166
+ private _database;
1167
+ private _env;
1168
+ private _product;
1169
+ private contextKey;
1170
+ private triggerProcessor;
1171
+ constructor(service: DatabaseService, database: string, env: string, product: string);
1172
+ /** Database tag */
1173
+ get database(): string;
1174
+ /** Environment slug */
1175
+ get env(): string;
1176
+ /** Product tag */
1177
+ get product(): string;
1178
+ /** Get the adapter for this connection */
1179
+ getAdapter(): BaseAdapter;
1180
+ /**
1181
+ * Schema operations scoped to this connection
1182
+ */
1183
+ get schema(): {
1184
+ create: (name: string, definition: ISimpleSchemaDefinition, options?: ISimpleCreateOptions) => Promise<ISchemaOperationResult>;
1185
+ drop: (name: string, options?: ISimpleDropOptions) => Promise<ISchemaOperationResult>;
1186
+ addField: (collection: string, fieldName: string, definition: SimpleFieldType | ISimpleFieldDefinition) => Promise<ISchemaOperationResult>;
1187
+ dropField: (collection: string, fieldName: string) => Promise<ISchemaOperationResult>;
1188
+ renameField: (collection: string, oldName: string, newName: string) => Promise<ISchemaOperationResult>;
1189
+ modifyField: (collection: string, fieldName: string, changes: Partial<ISimpleFieldDefinition>) => Promise<ISchemaOperationResult>;
1190
+ createIndex: (collection: string, fields: string[] | IIndexFieldDefinition[], options?: ISimpleIndexOptions) => Promise<ISchemaOperationResult>;
1191
+ dropIndex: (collection: string, indexName: string) => Promise<ISchemaOperationResult>;
1192
+ addConstraint: (collection: string, constraint: IMigrationConstraintDefinition) => Promise<ISchemaOperationResult>;
1193
+ dropConstraint: (collection: string, constraintName: string) => Promise<ISchemaOperationResult>;
1194
+ rename: (oldName: string, newName: string) => Promise<ISchemaOperationResult>;
1195
+ exists: (name: string) => Promise<boolean>;
1196
+ list: (schemaName?: string) => Promise<string[]>;
1197
+ describe: (name: string) => Promise<ITableSchema>;
1198
+ indexes: (collection: string) => Promise<IIndexInfo[]>;
1199
+ };
1200
+ query<T = any>(options: Omit<IQueryOptions, 'database' | 'env'>): Promise<IQueryResult<T>>;
1201
+ insert<T = any>(options: Omit<IInsertOptions, 'database' | 'env'>): Promise<IInsertResult<T>>;
1202
+ update<T = any>(options: Omit<IUpdateOptions, 'database' | 'env'>): Promise<IUpdateResult<T>>;
1203
+ delete(options: Omit<IDeleteOptions, 'database' | 'env'>): Promise<IDeleteResult>;
1204
+ upsert<T = any>(options: Omit<IUpsertOptions, 'database' | 'env'>): Promise<IUpsertResult<T>>;
1205
+ raw<T = any>(options: Omit<IRawQueryOptions, 'database' | 'env'>): Promise<IRawQueryResult<T>>;
1206
+ count(options: Omit<ICountOptions, 'database' | 'env'>): Promise<number>;
1207
+ sum(options: Omit<ISumOptions, 'database' | 'env'>): Promise<number>;
1208
+ avg(options: Omit<IAvgOptions, 'database' | 'env'>): Promise<number>;
1209
+ min(options: Omit<IMinMaxOptions, 'database' | 'env'>): Promise<any>;
1210
+ max(options: Omit<IMinMaxOptions, 'database' | 'env'>): Promise<any>;
1211
+ aggregate(options: Omit<IAggregateOptions, 'database' | 'env'>): Promise<IAggregateResult>;
1212
+ groupBy<T = any>(options: Omit<IGroupByOptions, 'database' | 'env'>): Promise<IGroupByResult<T>[]>;
1213
+ /**
1214
+ * Trigger operations scoped to this connection
1215
+ */
1216
+ get triggers(): {
1217
+ /**
1218
+ * Create a trigger and store it on the backend
1219
+ * @param data - Trigger configuration (tag should be just the trigger name, database tag is added automatically)
1220
+ */
1221
+ create: (data: Partial<IProductDatabaseTrigger>) => Promise<void>;
1222
+ /**
1223
+ * Update an existing trigger on the backend
1224
+ * @param data - Trigger configuration
1225
+ */
1226
+ update: (data: Partial<IProductDatabaseTrigger>) => Promise<void>;
1227
+ /**
1228
+ * Fetch a specific trigger from the backend
1229
+ * @param triggerTag - The trigger tag (without database prefix)
1230
+ */
1231
+ fetch: (triggerTag: string) => Promise<IProductDatabaseTrigger | null>;
1232
+ /**
1233
+ * Fetch all triggers for this database from the backend
1234
+ * @deprecated Use list() instead
1235
+ */
1236
+ fetchAll: () => Promise<IProductDatabaseTrigger[]>;
1237
+ /**
1238
+ * List all triggers for this database from the backend
1239
+ * @param options - Optional filters (table, event, enabled)
1240
+ */
1241
+ list: (options?: {
1242
+ table?: string;
1243
+ event?: string;
1244
+ enabled?: boolean;
1245
+ }) => Promise<IProductDatabaseTrigger[]>;
1246
+ /**
1247
+ * Delete a trigger from the backend
1248
+ * @param triggerTag - The trigger tag (without database prefix)
1249
+ */
1250
+ delete: (triggerTag: string) => Promise<boolean>;
1251
+ /**
1252
+ * Register a trigger in memory for the current session (does not persist to backend)
1253
+ * @deprecated Use create() for persistent triggers
1254
+ */
1255
+ register: (table: string, trigger: ITriggerDefinition) => void;
1256
+ /**
1257
+ * Register multiple triggers in memory (does not persist to backend)
1258
+ * @deprecated Use create() for persistent triggers
1259
+ */
1260
+ registerAll: (triggers: Array<{
1261
+ table: string;
1262
+ trigger: ITriggerDefinition;
1263
+ }>) => void;
1264
+ /**
1265
+ * Unregister a trigger from memory
1266
+ */
1267
+ unregister: (table: string, triggerName: string) => boolean;
1268
+ /**
1269
+ * Get all triggers for a table and event
1270
+ */
1271
+ getTriggersForEvent: (table: string, event: TriggerEvent) => ITriggerDefinition[];
1272
+ /**
1273
+ * Execute all triggers for an event
1274
+ */
1275
+ execute: (event: TriggerEvent, context: Omit<ITriggerContext, "database" | "env">) => Promise<ITriggerResult[]>;
1276
+ /**
1277
+ * Load triggers from the backend and register them in memory
1278
+ */
1279
+ load: () => Promise<void>;
1280
+ /**
1281
+ * Set the Ductape instance for trigger actions
1282
+ */
1283
+ setDuctapeInstance: (instance: any) => void;
1284
+ /**
1285
+ * Get the trigger processor instance
1286
+ */
1287
+ getProcessor: () => TriggerProcessor;
1288
+ /**
1289
+ * Trigger action builders
1290
+ */
1291
+ Trigger: {
1292
+ database: {
1293
+ insert: (table: string, data: Record<string, any> | string) => import("./types/trigger.interface").ITriggerDatabaseAction;
1294
+ update: (table: string, data: Record<string, any> | string, where: Record<string, any> | string) => import("./types/trigger.interface").ITriggerDatabaseAction;
1295
+ delete: (table: string, where: Record<string, any> | string) => import("./types/trigger.interface").ITriggerDatabaseAction;
1296
+ query: (table: string, where: Record<string, any> | string) => import("./types/trigger.interface").ITriggerDatabaseAction;
1297
+ };
1298
+ storage: {
1299
+ upload: (storage: string, path: string, options?: Partial<import("./types/trigger.interface").ITriggerStorageAction>) => import("./types/trigger.interface").ITriggerStorageAction;
1300
+ delete: (storage: string, path: string) => import("./types/trigger.interface").ITriggerStorageAction;
1301
+ copy: (storage: string, sourcePath: string, destinationPath: string) => import("./types/trigger.interface").ITriggerStorageAction;
1302
+ };
1303
+ notification: {
1304
+ email: (notification: string, recipients: string | string[], options?: Partial<import("./types/trigger.interface").ITriggerNotificationAction>) => import("./types/trigger.interface").ITriggerNotificationAction;
1305
+ sms: (notification: string, recipients: string | string[], options?: Partial<import("./types/trigger.interface").ITriggerNotificationAction>) => import("./types/trigger.interface").ITriggerNotificationAction;
1306
+ push: (notification: string, recipients: string | string[], options?: Partial<import("./types/trigger.interface").ITriggerNotificationAction>) => import("./types/trigger.interface").ITriggerNotificationAction;
1307
+ callback: (notification: string, options?: Partial<import("./types/trigger.interface").ITriggerNotificationAction>) => import("./types/trigger.interface").ITriggerNotificationAction;
1308
+ };
1309
+ broker: {
1310
+ publish: (event: string, message: Record<string, any> | string, options?: Partial<import("./types/trigger.interface").ITriggerBrokerAction>) => import("./types/trigger.interface").ITriggerBrokerAction;
1311
+ };
1312
+ cache: {
1313
+ set: (cache: string, key: string, value: any, ttl?: number) => import("./types/trigger.interface").ITriggerCacheAction;
1314
+ invalidate: (cache: string, pattern: string) => import("./types/trigger.interface").ITriggerCacheAction;
1315
+ delete: (cache: string, key: string) => import("./types/trigger.interface").ITriggerCacheAction;
1316
+ };
1317
+ workflow: {
1318
+ execute: (workflow: string, input?: Record<string, any> | string) => import("./types/trigger.interface").ITriggerWorkflowAction;
1319
+ dispatch: (workflow: string, input?: Record<string, any> | string) => import("./types/trigger.interface").ITriggerWorkflowAction;
1320
+ };
1321
+ action: {
1322
+ execute: (app: string, action: string, input?: Record<string, any> | string) => import("./types/trigger.interface").ITriggerActionExecuteAction;
1323
+ };
1324
+ agent: {
1325
+ run: (agent: string, prompt?: string, input?: Record<string, any> | string) => import("./types/trigger.interface").ITriggerAgentAction;
1326
+ };
1327
+ log: {
1328
+ debug: (message: string, data?: Record<string, any> | string) => import("./types/trigger.interface").ITriggerLogAction;
1329
+ info: (message: string, data?: Record<string, any> | string) => import("./types/trigger.interface").ITriggerLogAction;
1330
+ warn: (message: string, data?: Record<string, any> | string) => import("./types/trigger.interface").ITriggerLogAction;
1331
+ error: (message: string, data?: Record<string, any> | string) => import("./types/trigger.interface").ITriggerLogAction;
1332
+ };
1333
+ http: {
1334
+ get: (url: string, options?: Partial<import("./types/trigger.interface").ITriggerHttpAction>) => import("./types/trigger.interface").ITriggerHttpAction;
1335
+ post: (url: string, body?: Record<string, any> | string, options?: Partial<import("./types/trigger.interface").ITriggerHttpAction>) => import("./types/trigger.interface").ITriggerHttpAction;
1336
+ put: (url: string, body?: Record<string, any> | string, options?: Partial<import("./types/trigger.interface").ITriggerHttpAction>) => import("./types/trigger.interface").ITriggerHttpAction;
1337
+ patch: (url: string, body?: Record<string, any> | string, options?: Partial<import("./types/trigger.interface").ITriggerHttpAction>) => import("./types/trigger.interface").ITriggerHttpAction;
1338
+ delete: (url: string, options?: Partial<import("./types/trigger.interface").ITriggerHttpAction>) => import("./types/trigger.interface").ITriggerHttpAction;
1339
+ };
1340
+ custom: (handler: (context: ITriggerContext) => Promise<any>) => import("./types/trigger.interface").ITriggerCustomAction;
1341
+ when: {
1342
+ field: (field: string) => {
1343
+ equals: (value: any) => import("./types/trigger.interface").IConditionClause;
1344
+ notEquals: (value: any) => import("./types/trigger.interface").IConditionClause;
1345
+ greaterThan: (value: any) => import("./types/trigger.interface").IConditionClause;
1346
+ lessThan: (value: any) => import("./types/trigger.interface").IConditionClause;
1347
+ in: (values: any[]) => import("./types/trigger.interface").IConditionClause;
1348
+ contains: (value: string) => import("./types/trigger.interface").IConditionClause;
1349
+ isNull: () => import("./types/trigger.interface").IConditionClause;
1350
+ isNotNull: () => import("./types/trigger.interface").IConditionClause;
1351
+ changed: () => import("./types/trigger.interface").IConditionClause;
1352
+ changedTo: (value: any) => import("./types/trigger.interface").IConditionClause;
1353
+ changedFrom: (value: any) => import("./types/trigger.interface").IConditionClause;
1354
+ };
1355
+ and: (...conditions: (import("./types/trigger.interface").IConditionClause | import("./types/trigger.interface").ITriggerCondition)[]) => import("./types/trigger.interface").ITriggerCondition;
1356
+ or: (...conditions: (import("./types/trigger.interface").IConditionClause | import("./types/trigger.interface").ITriggerCondition)[]) => import("./types/trigger.interface").ITriggerCondition;
1357
+ not: (condition: import("./types/trigger.interface").IConditionClause | import("./types/trigger.interface").ITriggerCondition) => import("./types/trigger.interface").ITriggerCondition;
1358
+ };
1359
+ };
1360
+ /**
1361
+ * Trigger events enum
1362
+ */
1363
+ TriggerEvent: typeof TriggerEvent;
1364
+ /**
1365
+ * Trigger timing enum
1366
+ */
1367
+ TriggerTiming: typeof TriggerTiming;
1368
+ /**
1369
+ * Trigger action types enum
1370
+ */
1371
+ TriggerActionType: typeof TriggerActionType;
1372
+ };
1373
+ }
1374
+ export declare const databaseService: DatabaseService;