@ductape/sdk 0.1.6 → 0.1.8

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 (973) hide show
  1. package/package.json +5 -9
  2. package/dist/agents/agent-context.d.ts +0 -100
  3. package/dist/agents/agent-context.js +0 -604
  4. package/dist/agents/agent-context.js.map +0 -1
  5. package/dist/agents/agent-executor.d.ts +0 -180
  6. package/dist/agents/agent-executor.js +0 -715
  7. package/dist/agents/agent-executor.js.map +0 -1
  8. package/dist/agents/agents.service.d.ts +0 -310
  9. package/dist/agents/agents.service.js +0 -1255
  10. package/dist/agents/agents.service.js.map +0 -1
  11. package/dist/agents/index.d.ts +0 -55
  12. package/dist/agents/index.js +0 -110
  13. package/dist/agents/index.js.map +0 -1
  14. package/dist/agents/memory-manager.d.ts +0 -182
  15. package/dist/agents/memory-manager.js +0 -383
  16. package/dist/agents/memory-manager.js.map +0 -1
  17. package/dist/agents/tool-registry.d.ts +0 -141
  18. package/dist/agents/tool-registry.js +0 -355
  19. package/dist/agents/tool-registry.js.map +0 -1
  20. package/dist/agents/types/agents.types.d.ts +0 -1240
  21. package/dist/agents/types/agents.types.js +0 -12
  22. package/dist/agents/types/agents.types.js.map +0 -1
  23. package/dist/agents/types/index.d.ts +0 -6
  24. package/dist/agents/types/index.js +0 -23
  25. package/dist/agents/types/index.js.map +0 -1
  26. package/dist/agents/vector-store-adapter.d.ts +0 -108
  27. package/dist/agents/vector-store-adapter.js +0 -213
  28. package/dist/agents/vector-store-adapter.js.map +0 -1
  29. package/dist/api/services/appApi.service.d.ts +0 -78
  30. package/dist/api/services/appApi.service.js +0 -303
  31. package/dist/api/services/appApi.service.js.map +0 -1
  32. package/dist/api/services/logsApi.service.d.ts +0 -62
  33. package/dist/api/services/logsApi.service.js +0 -67
  34. package/dist/api/services/logsApi.service.js.map +0 -1
  35. package/dist/api/services/pricingApi.service.d.ts +0 -10
  36. package/dist/api/services/pricingApi.service.js +0 -34
  37. package/dist/api/services/pricingApi.service.js.map +0 -1
  38. package/dist/api/services/processorApi.service.d.ts +0 -927
  39. package/dist/api/services/processorApi.service.js +0 -787
  40. package/dist/api/services/processorApi.service.js.map +0 -1
  41. package/dist/api/services/productsApi.service.d.ts +0 -150
  42. package/dist/api/services/productsApi.service.js +0 -279
  43. package/dist/api/services/productsApi.service.js.map +0 -1
  44. package/dist/api/services/resilienceApi.service.d.ts +0 -106
  45. package/dist/api/services/resilienceApi.service.js +0 -224
  46. package/dist/api/services/resilienceApi.service.js.map +0 -1
  47. package/dist/api/services/secretsApi.service.d.ts +0 -51
  48. package/dist/api/services/secretsApi.service.js +0 -126
  49. package/dist/api/services/secretsApi.service.js.map +0 -1
  50. package/dist/api/services/userApi.service.d.ts +0 -10
  51. package/dist/api/services/userApi.service.js +0 -20
  52. package/dist/api/services/userApi.service.js.map +0 -1
  53. package/dist/api/services/webhooksApi.service.d.ts +0 -14
  54. package/dist/api/services/webhooksApi.service.js +0 -65
  55. package/dist/api/services/webhooksApi.service.js.map +0 -1
  56. package/dist/api/services/workflowApi.service.d.ts +0 -199
  57. package/dist/api/services/workflowApi.service.js +0 -201
  58. package/dist/api/services/workflowApi.service.js.map +0 -1
  59. package/dist/api/services/workspaceApi.service.d.ts +0 -20
  60. package/dist/api/services/workspaceApi.service.js +0 -54
  61. package/dist/api/services/workspaceApi.service.js.map +0 -1
  62. package/dist/api/urls.d.ts +0 -136
  63. package/dist/api/urls.js +0 -185
  64. package/dist/api/urls.js.map +0 -1
  65. package/dist/api/utils/auth.utils.d.ts +0 -10
  66. package/dist/api/utils/auth.utils.js +0 -24
  67. package/dist/api/utils/auth.utils.js.map +0 -1
  68. package/dist/api/utils/cache.utils.d.ts +0 -3
  69. package/dist/api/utils/cache.utils.js +0 -18
  70. package/dist/api/utils/cache.utils.js.map +0 -1
  71. package/dist/api/utils/strings.utils.d.ts +0 -7
  72. package/dist/api/utils/strings.utils.js +0 -64
  73. package/dist/api/utils/strings.utils.js.map +0 -1
  74. package/dist/apps/services/app.service.d.ts +0 -126
  75. package/dist/apps/services/app.service.js +0 -1436
  76. package/dist/apps/services/app.service.js.map +0 -1
  77. package/dist/apps/utils/auth-context-manager.d.ts +0 -137
  78. package/dist/apps/utils/auth-context-manager.js +0 -248
  79. package/dist/apps/utils/auth-context-manager.js.map +0 -1
  80. package/dist/apps/utils/credential-manager.d.ts +0 -128
  81. package/dist/apps/utils/credential-manager.js +0 -199
  82. package/dist/apps/utils/credential-manager.js.map +0 -1
  83. package/dist/apps/utils/index.d.ts +0 -10
  84. package/dist/apps/utils/index.js +0 -54
  85. package/dist/apps/utils/index.js.map +0 -1
  86. package/dist/apps/utils/input-helpers.d.ts +0 -67
  87. package/dist/apps/utils/input-helpers.js +0 -185
  88. package/dist/apps/utils/input-helpers.js.map +0 -1
  89. package/dist/apps/utils/input-resolver.d.ts +0 -165
  90. package/dist/apps/utils/input-resolver.js +0 -477
  91. package/dist/apps/utils/input-resolver.js.map +0 -1
  92. package/dist/apps/utils/oauth-manager.d.ts +0 -196
  93. package/dist/apps/utils/oauth-manager.js +0 -429
  94. package/dist/apps/utils/oauth-manager.js.map +0 -1
  95. package/dist/apps/utils/objects.utils.d.ts +0 -4
  96. package/dist/apps/utils/objects.utils.js +0 -59
  97. package/dist/apps/utils/objects.utils.js.map +0 -1
  98. package/dist/apps/utils/string.utils.d.ts +0 -9
  99. package/dist/apps/utils/string.utils.js +0 -89
  100. package/dist/apps/utils/string.utils.js.map +0 -1
  101. package/dist/apps/validators/index.d.ts +0 -17
  102. package/dist/apps/validators/index.js +0 -39
  103. package/dist/apps/validators/index.js.map +0 -1
  104. package/dist/apps/validators/joi-validators/create.app.validator.d.ts +0 -3
  105. package/dist/apps/validators/joi-validators/create.app.validator.js +0 -43
  106. package/dist/apps/validators/joi-validators/create.app.validator.js.map +0 -1
  107. package/dist/apps/validators/joi-validators/create.appAction.validator.d.ts +0 -3
  108. package/dist/apps/validators/joi-validators/create.appAction.validator.js +0 -72
  109. package/dist/apps/validators/joi-validators/create.appAction.validator.js.map +0 -1
  110. package/dist/apps/validators/joi-validators/create.appActionResponse.validator.d.ts +0 -7
  111. package/dist/apps/validators/joi-validators/create.appActionResponse.validator.js +0 -81
  112. package/dist/apps/validators/joi-validators/create.appActionResponse.validator.js.map +0 -1
  113. package/dist/apps/validators/joi-validators/create.appAuth.validator.d.ts +0 -3
  114. package/dist/apps/validators/joi-validators/create.appAuth.validator.js +0 -64
  115. package/dist/apps/validators/joi-validators/create.appAuth.validator.js.map +0 -1
  116. package/dist/apps/validators/joi-validators/create.appBody.validators.d.ts +0 -4
  117. package/dist/apps/validators/joi-validators/create.appBody.validators.js +0 -44
  118. package/dist/apps/validators/joi-validators/create.appBody.validators.js.map +0 -1
  119. package/dist/apps/validators/joi-validators/create.appConstants.validator.d.ts +0 -4
  120. package/dist/apps/validators/joi-validators/create.appConstants.validator.js +0 -45
  121. package/dist/apps/validators/joi-validators/create.appConstants.validator.js.map +0 -1
  122. package/dist/apps/validators/joi-validators/create.appEnv.validator.d.ts +0 -4
  123. package/dist/apps/validators/joi-validators/create.appEnv.validator.js +0 -50
  124. package/dist/apps/validators/joi-validators/create.appEnv.validator.js.map +0 -1
  125. package/dist/apps/validators/joi-validators/create.appVariable.validator.d.ts +0 -4
  126. package/dist/apps/validators/joi-validators/create.appVariable.validator.js +0 -47
  127. package/dist/apps/validators/joi-validators/create.appVariable.validator.js.map +0 -1
  128. package/dist/apps/validators/joi-validators/create.appWebhook.validator.d.ts +0 -4
  129. package/dist/apps/validators/joi-validators/create.appWebhook.validator.js +0 -60
  130. package/dist/apps/validators/joi-validators/create.appWebhook.validator.js.map +0 -1
  131. package/dist/apps/validators/joi-validators/create.appWebhookEvent.validator.d.ts +0 -3
  132. package/dist/apps/validators/joi-validators/create.appWebhookEvent.validator.js +0 -48
  133. package/dist/apps/validators/joi-validators/create.appWebhookEvent.validator.js.map +0 -1
  134. package/dist/apps/validators/joi-validators/sample.validator.d.ts +0 -6
  135. package/dist/apps/validators/joi-validators/sample.validator.js +0 -65
  136. package/dist/apps/validators/joi-validators/sample.validator.js.map +0 -1
  137. package/dist/apps/validators/joi-validators/update.app.validator.d.ts +0 -4
  138. package/dist/apps/validators/joi-validators/update.app.validator.js +0 -66
  139. package/dist/apps/validators/joi-validators/update.app.validator.js.map +0 -1
  140. package/dist/apps/validators/joi-validators/update.appAction.validator.d.ts +0 -4
  141. package/dist/apps/validators/joi-validators/update.appAction.validator.js +0 -76
  142. package/dist/apps/validators/joi-validators/update.appAction.validator.js.map +0 -1
  143. package/dist/apps/validators/joi-validators/update.appActionResponse.validator.d.ts +0 -3
  144. package/dist/apps/validators/joi-validators/update.appActionResponse.validator.js +0 -57
  145. package/dist/apps/validators/joi-validators/update.appActionResponse.validator.js.map +0 -1
  146. package/dist/apps/validators/joi-validators/update.appAuth.validator.d.ts +0 -4
  147. package/dist/apps/validators/joi-validators/update.appAuth.validator.js +0 -52
  148. package/dist/apps/validators/joi-validators/update.appAuth.validator.js.map +0 -1
  149. package/dist/apps/validators/joi-validators/update.appConstants.validator.d.ts +0 -4
  150. package/dist/apps/validators/joi-validators/update.appConstants.validator.js +0 -45
  151. package/dist/apps/validators/joi-validators/update.appConstants.validator.js.map +0 -1
  152. package/dist/apps/validators/joi-validators/update.appEnv.validator.d.ts +0 -4
  153. package/dist/apps/validators/joi-validators/update.appEnv.validator.js +0 -50
  154. package/dist/apps/validators/joi-validators/update.appEnv.validator.js.map +0 -1
  155. package/dist/apps/validators/joi-validators/update.appVariables.validator.d.ts +0 -4
  156. package/dist/apps/validators/joi-validators/update.appVariables.validator.js +0 -47
  157. package/dist/apps/validators/joi-validators/update.appVariables.validator.js.map +0 -1
  158. package/dist/apps/validators/joi-validators/update.appWebhook.validator.d.ts +0 -4
  159. package/dist/apps/validators/joi-validators/update.appWebhook.validator.js +0 -59
  160. package/dist/apps/validators/joi-validators/update.appWebhook.validator.js.map +0 -1
  161. package/dist/apps/validators/joi-validators/update.appWebhookEvent.validator.d.ts +0 -3
  162. package/dist/apps/validators/joi-validators/update.appWebhookEvent.validator.js +0 -48
  163. package/dist/apps/validators/joi-validators/update.appWebhookEvent.validator.js.map +0 -1
  164. package/dist/apps/validators/joi-validators/update.validation.entityData.validator.d.ts +0 -3
  165. package/dist/apps/validators/joi-validators/update.validation.entityData.validator.js +0 -60
  166. package/dist/apps/validators/joi-validators/update.validation.entityData.validator.js.map +0 -1
  167. package/dist/bin.d.ts +0 -26
  168. package/dist/bin.js +0 -28
  169. package/dist/bin.js.map +0 -1
  170. package/dist/brokers/brokers.service.d.ts +0 -438
  171. package/dist/brokers/brokers.service.js +0 -1294
  172. package/dist/brokers/brokers.service.js.map +0 -1
  173. package/dist/brokers/index.d.ts +0 -46
  174. package/dist/brokers/index.js +0 -83
  175. package/dist/brokers/index.js.map +0 -1
  176. package/dist/brokers/types/index.d.ts +0 -569
  177. package/dist/brokers/types/index.js +0 -8
  178. package/dist/brokers/types/index.js.map +0 -1
  179. package/dist/brokers/utils/broker.util.d.ts +0 -33
  180. package/dist/brokers/utils/broker.util.js +0 -125
  181. package/dist/brokers/utils/broker.util.js.map +0 -1
  182. package/dist/brokers/utils/providers/aws-sqs.service.d.ts +0 -16
  183. package/dist/brokers/utils/providers/aws-sqs.service.js +0 -71
  184. package/dist/brokers/utils/providers/aws-sqs.service.js.map +0 -1
  185. package/dist/brokers/utils/providers/google-pubsub.service.d.ts +0 -16
  186. package/dist/brokers/utils/providers/google-pubsub.service.js +0 -43
  187. package/dist/brokers/utils/providers/google-pubsub.service.js.map +0 -1
  188. package/dist/brokers/utils/providers/index.d.ts +0 -6
  189. package/dist/brokers/utils/providers/index.js +0 -16
  190. package/dist/brokers/utils/providers/index.js.map +0 -1
  191. package/dist/brokers/utils/providers/kafka.service.d.ts +0 -23
  192. package/dist/brokers/utils/providers/kafka.service.js +0 -131
  193. package/dist/brokers/utils/providers/kafka.service.js.map +0 -1
  194. package/dist/brokers/utils/providers/nats.service.d.ts +0 -18
  195. package/dist/brokers/utils/providers/nats.service.js +0 -63
  196. package/dist/brokers/utils/providers/nats.service.js.map +0 -1
  197. package/dist/brokers/utils/providers/rabbitmq.service.d.ts +0 -25
  198. package/dist/brokers/utils/providers/rabbitmq.service.js +0 -138
  199. package/dist/brokers/utils/providers/rabbitmq.service.js.map +0 -1
  200. package/dist/brokers/utils/providers/redis.service.d.ts +0 -18
  201. package/dist/brokers/utils/providers/redis.service.js +0 -93
  202. package/dist/brokers/utils/providers/redis.service.js.map +0 -1
  203. package/dist/cache/cache.manager.d.ts +0 -308
  204. package/dist/cache/cache.manager.js +0 -900
  205. package/dist/cache/cache.manager.js.map +0 -1
  206. package/dist/cache/cache.service.d.ts +0 -192
  207. package/dist/cache/cache.service.js +0 -596
  208. package/dist/cache/cache.service.js.map +0 -1
  209. package/dist/cache/index.d.ts +0 -52
  210. package/dist/cache/index.js +0 -81
  211. package/dist/cache/index.js.map +0 -1
  212. package/dist/cache/types/index.d.ts +0 -112
  213. package/dist/cache/types/index.js +0 -6
  214. package/dist/cache/types/index.js.map +0 -1
  215. package/dist/clients/apps.client.d.ts +0 -4
  216. package/dist/clients/apps.client.js +0 -31
  217. package/dist/clients/apps.client.js.map +0 -1
  218. package/dist/clients/email.client.d.ts +0 -4
  219. package/dist/clients/email.client.js +0 -29
  220. package/dist/clients/email.client.js.map +0 -1
  221. package/dist/clients/expo.client.d.ts +0 -3
  222. package/dist/clients/expo.client.js +0 -28
  223. package/dist/clients/expo.client.js.map +0 -1
  224. package/dist/clients/function.client.d.ts +0 -3
  225. package/dist/clients/function.client.js +0 -27
  226. package/dist/clients/function.client.js.map +0 -1
  227. package/dist/clients/http.client.d.ts +0 -3
  228. package/dist/clients/http.client.js +0 -27
  229. package/dist/clients/http.client.js.map +0 -1
  230. package/dist/clients/logs.client.d.ts +0 -4
  231. package/dist/clients/logs.client.js +0 -34
  232. package/dist/clients/logs.client.js.map +0 -1
  233. package/dist/clients/pricing.client.d.ts +0 -4
  234. package/dist/clients/pricing.client.js +0 -34
  235. package/dist/clients/pricing.client.js.map +0 -1
  236. package/dist/clients/products.client.d.ts +0 -3
  237. package/dist/clients/products.client.js +0 -32
  238. package/dist/clients/products.client.js.map +0 -1
  239. package/dist/clients/users.client.d.ts +0 -4
  240. package/dist/clients/users.client.js +0 -34
  241. package/dist/clients/users.client.js.map +0 -1
  242. package/dist/clients/webhooks.client.d.ts +0 -4
  243. package/dist/clients/webhooks.client.js +0 -34
  244. package/dist/clients/webhooks.client.js.map +0 -1
  245. package/dist/clients/workspace.client.d.ts +0 -7
  246. package/dist/clients/workspace.client.js +0 -39
  247. package/dist/clients/workspace.client.js.map +0 -1
  248. package/dist/database/actions/action-manager.d.ts +0 -170
  249. package/dist/database/actions/action-manager.js +0 -465
  250. package/dist/database/actions/action-manager.js.map +0 -1
  251. package/dist/database/actions/index.d.ts +0 -6
  252. package/dist/database/actions/index.js +0 -13
  253. package/dist/database/actions/index.js.map +0 -1
  254. package/dist/database/adapters/adapter.factory.d.ts +0 -62
  255. package/dist/database/adapters/adapter.factory.js +0 -97
  256. package/dist/database/adapters/adapter.factory.js.map +0 -1
  257. package/dist/database/adapters/base.adapter.d.ts +0 -423
  258. package/dist/database/adapters/base.adapter.js +0 -260
  259. package/dist/database/adapters/base.adapter.js.map +0 -1
  260. package/dist/database/adapters/cassandra.adapter.d.ts +0 -92
  261. package/dist/database/adapters/cassandra.adapter.js +0 -1091
  262. package/dist/database/adapters/cassandra.adapter.js.map +0 -1
  263. package/dist/database/adapters/dynamodb.adapter.d.ts +0 -110
  264. package/dist/database/adapters/dynamodb.adapter.js +0 -1564
  265. package/dist/database/adapters/dynamodb.adapter.js.map +0 -1
  266. package/dist/database/adapters/index.d.ts +0 -11
  267. package/dist/database/adapters/index.js +0 -27
  268. package/dist/database/adapters/index.js.map +0 -1
  269. package/dist/database/adapters/mariadb.adapter.d.ts +0 -100
  270. package/dist/database/adapters/mariadb.adapter.js +0 -247
  271. package/dist/database/adapters/mariadb.adapter.js.map +0 -1
  272. package/dist/database/adapters/mongodb.adapter.d.ts +0 -121
  273. package/dist/database/adapters/mongodb.adapter.js +0 -1284
  274. package/dist/database/adapters/mongodb.adapter.js.map +0 -1
  275. package/dist/database/adapters/mysql.adapter.d.ts +0 -86
  276. package/dist/database/adapters/mysql.adapter.js +0 -1371
  277. package/dist/database/adapters/mysql.adapter.js.map +0 -1
  278. package/dist/database/adapters/postgresql.adapter.d.ts +0 -90
  279. package/dist/database/adapters/postgresql.adapter.js +0 -1487
  280. package/dist/database/adapters/postgresql.adapter.js.map +0 -1
  281. package/dist/database/databases.service.d.ts +0 -1496
  282. package/dist/database/databases.service.js +0 -3294
  283. package/dist/database/databases.service.js.map +0 -1
  284. package/dist/database/index.d.ts +0 -46
  285. package/dist/database/index.js +0 -109
  286. package/dist/database/index.js.map +0 -1
  287. package/dist/database/migrations/index.d.ts +0 -6
  288. package/dist/database/migrations/index.js +0 -12
  289. package/dist/database/migrations/index.js.map +0 -1
  290. package/dist/database/migrations/migration-engine.d.ts +0 -136
  291. package/dist/database/migrations/migration-engine.js +0 -1421
  292. package/dist/database/migrations/migration-engine.js.map +0 -1
  293. package/dist/database/operators/aggregation-builder.d.ts +0 -67
  294. package/dist/database/operators/aggregation-builder.js +0 -841
  295. package/dist/database/operators/aggregation-builder.js.map +0 -1
  296. package/dist/database/operators/index.d.ts +0 -7
  297. package/dist/database/operators/index.js +0 -15
  298. package/dist/database/operators/index.js.map +0 -1
  299. package/dist/database/operators/query-builder.d.ts +0 -69
  300. package/dist/database/operators/query-builder.js +0 -447
  301. package/dist/database/operators/query-builder.js.map +0 -1
  302. package/dist/database/presave/decrypt.d.ts +0 -25
  303. package/dist/database/presave/decrypt.js +0 -146
  304. package/dist/database/presave/decrypt.js.map +0 -1
  305. package/dist/database/presave/index.d.ts +0 -9
  306. package/dist/database/presave/index.js +0 -18
  307. package/dist/database/presave/index.js.map +0 -1
  308. package/dist/database/presave/presave-processor.d.ts +0 -148
  309. package/dist/database/presave/presave-processor.js +0 -702
  310. package/dist/database/presave/presave-processor.js.map +0 -1
  311. package/dist/database/schema/index.d.ts +0 -7
  312. package/dist/database/schema/index.js +0 -13
  313. package/dist/database/schema/index.js.map +0 -1
  314. package/dist/database/schema/schema-manager.d.ts +0 -258
  315. package/dist/database/schema/schema-manager.js +0 -638
  316. package/dist/database/schema/schema-manager.js.map +0 -1
  317. package/dist/database/transactions/index.d.ts +0 -6
  318. package/dist/database/transactions/index.js +0 -13
  319. package/dist/database/transactions/index.js.map +0 -1
  320. package/dist/database/transactions/transaction-manager.d.ts +0 -113
  321. package/dist/database/transactions/transaction-manager.js +0 -344
  322. package/dist/database/transactions/transaction-manager.js.map +0 -1
  323. package/dist/database/triggers/index.d.ts +0 -7
  324. package/dist/database/triggers/index.js +0 -14
  325. package/dist/database/triggers/index.js.map +0 -1
  326. package/dist/database/triggers/trigger-processor.d.ts +0 -239
  327. package/dist/database/triggers/trigger-processor.js +0 -1034
  328. package/dist/database/triggers/trigger-processor.js.map +0 -1
  329. package/dist/database/types/action.interface.d.ts +0 -148
  330. package/dist/database/types/action.interface.js +0 -6
  331. package/dist/database/types/action.interface.js.map +0 -1
  332. package/dist/database/types/aggregation.interface.d.ts +0 -185
  333. package/dist/database/types/aggregation.interface.js +0 -6
  334. package/dist/database/types/aggregation.interface.js.map +0 -1
  335. package/dist/database/types/connection.interface.d.ts +0 -137
  336. package/dist/database/types/connection.interface.js +0 -6
  337. package/dist/database/types/connection.interface.js.map +0 -1
  338. package/dist/database/types/dashboard.interface.d.ts +0 -74
  339. package/dist/database/types/dashboard.interface.js +0 -7
  340. package/dist/database/types/dashboard.interface.js.map +0 -1
  341. package/dist/database/types/enums.d.ts +0 -195
  342. package/dist/database/types/enums.js +0 -244
  343. package/dist/database/types/enums.js.map +0 -1
  344. package/dist/database/types/index.d.ts +0 -15
  345. package/dist/database/types/index.js +0 -31
  346. package/dist/database/types/index.js.map +0 -1
  347. package/dist/database/types/migration.interface.d.ts +0 -686
  348. package/dist/database/types/migration.interface.js +0 -9
  349. package/dist/database/types/migration.interface.js.map +0 -1
  350. package/dist/database/types/presave.interface.d.ts +0 -292
  351. package/dist/database/types/presave.interface.js +0 -60
  352. package/dist/database/types/presave.interface.js.map +0 -1
  353. package/dist/database/types/query.interface.d.ts +0 -205
  354. package/dist/database/types/query.interface.js +0 -6
  355. package/dist/database/types/query.interface.js.map +0 -1
  356. package/dist/database/types/schema.interface.d.ts +0 -412
  357. package/dist/database/types/schema.interface.js +0 -6
  358. package/dist/database/types/schema.interface.js.map +0 -1
  359. package/dist/database/types/transaction.interface.d.ts +0 -84
  360. package/dist/database/types/transaction.interface.js +0 -6
  361. package/dist/database/types/transaction.interface.js.map +0 -1
  362. package/dist/database/types/trigger.interface.d.ts +0 -612
  363. package/dist/database/types/trigger.interface.js +0 -121
  364. package/dist/database/types/trigger.interface.js.map +0 -1
  365. package/dist/database/types/write.interface.d.ts +0 -216
  366. package/dist/database/types/write.interface.js +0 -6
  367. package/dist/database/types/write.interface.js.map +0 -1
  368. package/dist/database/utils/database-error.d.ts +0 -96
  369. package/dist/database/utils/database-error.js +0 -221
  370. package/dist/database/utils/database-error.js.map +0 -1
  371. package/dist/database/utils/index.d.ts +0 -6
  372. package/dist/database/utils/index.js +0 -11
  373. package/dist/database/utils/index.js.map +0 -1
  374. package/dist/graph/adapters/adapter.factory.d.ts +0 -47
  375. package/dist/graph/adapters/adapter.factory.js +0 -77
  376. package/dist/graph/adapters/adapter.factory.js.map +0 -1
  377. package/dist/graph/adapters/arangodb.adapter.d.ts +0 -86
  378. package/dist/graph/adapters/arangodb.adapter.js +0 -1588
  379. package/dist/graph/adapters/arangodb.adapter.js.map +0 -1
  380. package/dist/graph/adapters/base.adapter.d.ts +0 -264
  381. package/dist/graph/adapters/base.adapter.js +0 -156
  382. package/dist/graph/adapters/base.adapter.js.map +0 -1
  383. package/dist/graph/adapters/index.d.ts +0 -11
  384. package/dist/graph/adapters/index.js +0 -21
  385. package/dist/graph/adapters/index.js.map +0 -1
  386. package/dist/graph/adapters/memgraph.adapter.d.ts +0 -110
  387. package/dist/graph/adapters/memgraph.adapter.js +0 -1452
  388. package/dist/graph/adapters/memgraph.adapter.js.map +0 -1
  389. package/dist/graph/adapters/neo4j.adapter.d.ts +0 -81
  390. package/dist/graph/adapters/neo4j.adapter.js +0 -1317
  391. package/dist/graph/adapters/neo4j.adapter.js.map +0 -1
  392. package/dist/graph/adapters/neptune.adapter.d.ts +0 -82
  393. package/dist/graph/adapters/neptune.adapter.js +0 -1369
  394. package/dist/graph/adapters/neptune.adapter.js.map +0 -1
  395. package/dist/graph/graphs.service.d.ts +0 -617
  396. package/dist/graph/graphs.service.js +0 -2594
  397. package/dist/graph/graphs.service.js.map +0 -1
  398. package/dist/graph/index.d.ts +0 -57
  399. package/dist/graph/index.js +0 -77
  400. package/dist/graph/index.js.map +0 -1
  401. package/dist/graph/transactions/index.d.ts +0 -4
  402. package/dist/graph/transactions/index.js +0 -9
  403. package/dist/graph/transactions/index.js.map +0 -1
  404. package/dist/graph/transactions/transaction-manager.d.ts +0 -61
  405. package/dist/graph/transactions/transaction-manager.js +0 -126
  406. package/dist/graph/transactions/transaction-manager.js.map +0 -1
  407. package/dist/graph/types/connection.interface.d.ts +0 -149
  408. package/dist/graph/types/connection.interface.js +0 -9
  409. package/dist/graph/types/connection.interface.js.map +0 -1
  410. package/dist/graph/types/enums.d.ts +0 -101
  411. package/dist/graph/types/enums.js +0 -114
  412. package/dist/graph/types/enums.js.map +0 -1
  413. package/dist/graph/types/index.d.ts +0 -13
  414. package/dist/graph/types/index.js +0 -20
  415. package/dist/graph/types/index.js.map +0 -1
  416. package/dist/graph/types/node.interface.d.ts +0 -248
  417. package/dist/graph/types/node.interface.js +0 -9
  418. package/dist/graph/types/node.interface.js.map +0 -1
  419. package/dist/graph/types/query.interface.d.ts +0 -175
  420. package/dist/graph/types/query.interface.js +0 -9
  421. package/dist/graph/types/query.interface.js.map +0 -1
  422. package/dist/graph/types/relationship.interface.d.ts +0 -207
  423. package/dist/graph/types/relationship.interface.js +0 -9
  424. package/dist/graph/types/relationship.interface.js.map +0 -1
  425. package/dist/graph/types/schema.interface.d.ts +0 -295
  426. package/dist/graph/types/schema.interface.js +0 -9
  427. package/dist/graph/types/schema.interface.js.map +0 -1
  428. package/dist/graph/types/transaction.interface.d.ts +0 -55
  429. package/dist/graph/types/transaction.interface.js +0 -9
  430. package/dist/graph/types/transaction.interface.js.map +0 -1
  431. package/dist/graph/types/traversal.interface.d.ts +0 -181
  432. package/dist/graph/types/traversal.interface.js +0 -9
  433. package/dist/graph/types/traversal.interface.js.map +0 -1
  434. package/dist/graph/utils/graph-error.d.ts +0 -71
  435. package/dist/graph/utils/graph-error.js +0 -142
  436. package/dist/graph/utils/graph-error.js.map +0 -1
  437. package/dist/graph/utils/index.d.ts +0 -4
  438. package/dist/graph/utils/index.js +0 -9
  439. package/dist/graph/utils/index.js.map +0 -1
  440. package/dist/imports/imports.repo.d.ts +0 -0
  441. package/dist/imports/imports.repo.js +0 -1
  442. package/dist/imports/imports.repo.js.map +0 -1
  443. package/dist/imports/imports.service.d.ts +0 -23
  444. package/dist/imports/imports.service.js +0 -71
  445. package/dist/imports/imports.service.js.map +0 -1
  446. package/dist/imports/imports.types.d.ts +0 -350
  447. package/dist/imports/imports.types.js +0 -33
  448. package/dist/imports/imports.types.js.map +0 -1
  449. package/dist/imports/openAPI3.0.types.d.ts +0 -52
  450. package/dist/imports/openAPI3.0.types.js +0 -3
  451. package/dist/imports/openAPI3.0.types.js.map +0 -1
  452. package/dist/imports/repos/openApi.repo.d.ts +0 -6
  453. package/dist/imports/repos/openApi.repo.js +0 -422
  454. package/dist/imports/repos/openApi.repo.js.map +0 -1
  455. package/dist/imports/repos/postmanV21.repo.d.ts +0 -14
  456. package/dist/imports/repos/postmanV21.repo.js +0 -257
  457. package/dist/imports/repos/postmanV21.repo.js.map +0 -1
  458. package/dist/imports/utils/imports.utils.d.ts +0 -80
  459. package/dist/imports/utils/imports.utils.js +0 -114
  460. package/dist/imports/utils/imports.utils.js.map +0 -1
  461. package/dist/imports/validators/index.d.ts +0 -0
  462. package/dist/imports/validators/index.js +0 -1
  463. package/dist/imports/validators/index.js.map +0 -1
  464. package/dist/imports/validators/joi-validators/postmanV21.validator.d.ts +0 -5
  465. package/dist/imports/validators/joi-validators/postmanV21.validator.js +0 -96
  466. package/dist/imports/validators/joi-validators/postmanV21.validator.js.map +0 -1
  467. package/dist/index.d.ts +0 -4021
  468. package/dist/index.js +0 -5895
  469. package/dist/index.js.map +0 -1
  470. package/dist/init.interface.d.ts +0 -407
  471. package/dist/init.interface.js +0 -3
  472. package/dist/init.interface.js.map +0 -1
  473. package/dist/inputs/inputs.repo.d.ts +0 -7
  474. package/dist/inputs/inputs.repo.js +0 -16
  475. package/dist/inputs/inputs.repo.js.map +0 -1
  476. package/dist/inputs/inputs.service.d.ts +0 -61
  477. package/dist/inputs/inputs.service.js +0 -468
  478. package/dist/inputs/inputs.service.js.map +0 -1
  479. package/dist/inputs/utils/inputs.utils.create.d.ts +0 -11
  480. package/dist/inputs/utils/inputs.utils.create.js +0 -273
  481. package/dist/inputs/utils/inputs.utils.create.js.map +0 -1
  482. package/dist/inputs/validators/inputs.validator.parse.d.ts +0 -4
  483. package/dist/inputs/validators/inputs.validator.parse.js +0 -53
  484. package/dist/inputs/validators/inputs.validator.parse.js.map +0 -1
  485. package/dist/jobs/index.d.ts +0 -38
  486. package/dist/jobs/index.js +0 -50
  487. package/dist/jobs/index.js.map +0 -1
  488. package/dist/jobs/jobs.service.d.ts +0 -154
  489. package/dist/jobs/jobs.service.js +0 -491
  490. package/dist/jobs/jobs.service.js.map +0 -1
  491. package/dist/jobs/jobs.state.d.ts +0 -113
  492. package/dist/jobs/jobs.state.js +0 -447
  493. package/dist/jobs/jobs.state.js.map +0 -1
  494. package/dist/jobs/types.d.ts +0 -449
  495. package/dist/jobs/types.js +0 -74
  496. package/dist/jobs/types.js.map +0 -1
  497. package/dist/logs/logs.repo.d.ts +0 -6
  498. package/dist/logs/logs.repo.js +0 -12
  499. package/dist/logs/logs.repo.js.map +0 -1
  500. package/dist/logs/logs.service.d.ts +0 -30
  501. package/dist/logs/logs.service.js +0 -89
  502. package/dist/logs/logs.service.js.map +0 -1
  503. package/dist/logs/logs.types.d.ts +0 -85
  504. package/dist/logs/logs.types.js +0 -52
  505. package/dist/logs/logs.types.js.map +0 -1
  506. package/dist/logs/utils/logs.utils.create.d.ts +0 -0
  507. package/dist/logs/utils/logs.utils.create.js +0 -1
  508. package/dist/logs/utils/logs.utils.create.js.map +0 -1
  509. package/dist/logs/utils/logs.utils.errors.d.ts +0 -2
  510. package/dist/logs/utils/logs.utils.errors.js +0 -8
  511. package/dist/logs/utils/logs.utils.errors.js.map +0 -1
  512. package/dist/models/index.d.ts +0 -6
  513. package/dist/models/index.js +0 -11
  514. package/dist/models/index.js.map +0 -1
  515. package/dist/models/models.service.d.ts +0 -137
  516. package/dist/models/models.service.js +0 -195
  517. package/dist/models/models.service.js.map +0 -1
  518. package/dist/notifications/index.d.ts +0 -13
  519. package/dist/notifications/index.js +0 -26
  520. package/dist/notifications/index.js.map +0 -1
  521. package/dist/notifications/notifications.service.d.ts +0 -268
  522. package/dist/notifications/notifications.service.js +0 -907
  523. package/dist/notifications/notifications.service.js.map +0 -1
  524. package/dist/notifications/types/index.d.ts +0 -4
  525. package/dist/notifications/types/index.js +0 -21
  526. package/dist/notifications/types/index.js.map +0 -1
  527. package/dist/notifications/types/notifications.types.d.ts +0 -454
  528. package/dist/notifications/types/notifications.types.js +0 -51
  529. package/dist/notifications/types/notifications.types.js.map +0 -1
  530. package/dist/parsers/index.d.ts +0 -3
  531. package/dist/parsers/index.js +0 -27
  532. package/dist/parsers/index.js.map +0 -1
  533. package/dist/parsers/pipelines/postman.pipelines.d.ts +0 -15
  534. package/dist/parsers/pipelines/postman.pipelines.js +0 -103
  535. package/dist/parsers/pipelines/postman.pipelines.js.map +0 -1
  536. package/dist/parsers/types/postman.types.d.ts +0 -200
  537. package/dist/parsers/types/postman.types.js +0 -3
  538. package/dist/parsers/types/postman.types.js.map +0 -1
  539. package/dist/parsers/utils/postman.utils.d.ts +0 -12
  540. package/dist/parsers/utils/postman.utils.js +0 -116
  541. package/dist/parsers/utils/postman.utils.js.map +0 -1
  542. package/dist/parsers/validators/postman-auth.validators.d.ts +0 -10
  543. package/dist/parsers/validators/postman-auth.validators.js +0 -127
  544. package/dist/parsers/validators/postman-auth.validators.js.map +0 -1
  545. package/dist/parsers/validators/postman-request.validators.d.ts +0 -13
  546. package/dist/parsers/validators/postman-request.validators.js +0 -139
  547. package/dist/parsers/validators/postman-request.validators.js.map +0 -1
  548. package/dist/parsers/validators/postman-response.validators.d.ts +0 -13
  549. package/dist/parsers/validators/postman-response.validators.js +0 -150
  550. package/dist/parsers/validators/postman-response.validators.js.map +0 -1
  551. package/dist/parsers/validators/postman-variable.validators.d.ts +0 -14
  552. package/dist/parsers/validators/postman-variable.validators.js +0 -163
  553. package/dist/parsers/validators/postman-variable.validators.js.map +0 -1
  554. package/dist/pricing/pricing.repo.d.ts +0 -0
  555. package/dist/pricing/pricing.repo.js +0 -1
  556. package/dist/pricing/pricing.repo.js.map +0 -1
  557. package/dist/pricing/pricing.service.d.ts +0 -24
  558. package/dist/pricing/pricing.service.js +0 -51
  559. package/dist/pricing/pricing.service.js.map +0 -1
  560. package/dist/pricing/pricing.types.d.ts +0 -76
  561. package/dist/pricing/pricing.types.js +0 -21
  562. package/dist/pricing/pricing.types.js.map +0 -1
  563. package/dist/pricing/utils/string.utils.d.ts +0 -1
  564. package/dist/pricing/utils/string.utils.js +0 -9
  565. package/dist/pricing/utils/string.utils.js.map +0 -1
  566. package/dist/processor/repos/mongo.repo.d.ts +0 -39
  567. package/dist/processor/repos/mongo.repo.js +0 -260
  568. package/dist/processor/repos/mongo.repo.js.map +0 -1
  569. package/dist/processor/repos/postgres.repo.d.ts +0 -31
  570. package/dist/processor/repos/postgres.repo.js +0 -185
  571. package/dist/processor/repos/postgres.repo.js.map +0 -1
  572. package/dist/processor/repos/sms.repo.d.ts +0 -39
  573. package/dist/processor/repos/sms.repo.js +0 -124
  574. package/dist/processor/repos/sms.repo.js.map +0 -1
  575. package/dist/processor/services/processor.service.d.ts +0 -465
  576. package/dist/processor/services/processor.service.js +0 -5343
  577. package/dist/processor/services/processor.service.js.map +0 -1
  578. package/dist/processor/services/request.service.d.ts +0 -36
  579. package/dist/processor/services/request.service.js +0 -304
  580. package/dist/processor/services/request.service.js.map +0 -1
  581. package/dist/processor/types/request.types.d.ts +0 -14
  582. package/dist/processor/types/request.types.js +0 -3
  583. package/dist/processor/types/request.types.js.map +0 -1
  584. package/dist/processor/utils/processor.utils.d.ts +0 -104
  585. package/dist/processor/utils/processor.utils.js +0 -1066
  586. package/dist/processor/utils/processor.utils.js.map +0 -1
  587. package/dist/processor/utils/request.utils.d.ts +0 -20
  588. package/dist/processor/utils/request.utils.js +0 -113
  589. package/dist/processor/utils/request.utils.js.map +0 -1
  590. package/dist/processor/utils/storage.util.d.ts +0 -8
  591. package/dist/processor/utils/storage.util.js +0 -106
  592. package/dist/processor/utils/storage.util.js.map +0 -1
  593. package/dist/products/services/products.service.d.ts +0 -577
  594. package/dist/products/services/products.service.js +0 -5845
  595. package/dist/products/services/products.service.js.map +0 -1
  596. package/dist/products/utils/crypt.utils.d.ts +0 -1
  597. package/dist/products/utils/crypt.utils.js +0 -17
  598. package/dist/products/utils/crypt.utils.js.map +0 -1
  599. package/dist/products/utils/functions.utils.d.ts +0 -13
  600. package/dist/products/utils/functions.utils.js +0 -294
  601. package/dist/products/utils/functions.utils.js.map +0 -1
  602. package/dist/products/utils/objects.utils.d.ts +0 -13
  603. package/dist/products/utils/objects.utils.js +0 -89
  604. package/dist/products/utils/objects.utils.js.map +0 -1
  605. package/dist/products/utils/string.utils.d.ts +0 -12
  606. package/dist/products/utils/string.utils.js +0 -168
  607. package/dist/products/utils/string.utils.js.map +0 -1
  608. package/dist/products/validators/index.d.ts +0 -33
  609. package/dist/products/validators/index.js +0 -75
  610. package/dist/products/validators/index.js.map +0 -1
  611. package/dist/products/validators/joi-validators/create.html.validator.d.ts +0 -2
  612. package/dist/products/validators/joi-validators/create.html.validator.js +0 -55
  613. package/dist/products/validators/joi-validators/create.html.validator.js.map +0 -1
  614. package/dist/products/validators/joi-validators/create.productAgent.validator.d.ts +0 -3
  615. package/dist/products/validators/joi-validators/create.productAgent.validator.js +0 -266
  616. package/dist/products/validators/joi-validators/create.productAgent.validator.js.map +0 -1
  617. package/dist/products/validators/joi-validators/create.productApp.validator.d.ts +0 -4
  618. package/dist/products/validators/joi-validators/create.productApp.validator.js +0 -61
  619. package/dist/products/validators/joi-validators/create.productApp.validator.js.map +0 -1
  620. package/dist/products/validators/joi-validators/create.productCache.validator.d.ts +0 -3
  621. package/dist/products/validators/joi-validators/create.productCache.validator.js +0 -46
  622. package/dist/products/validators/joi-validators/create.productCache.validator.js.map +0 -1
  623. package/dist/products/validators/joi-validators/create.productDatabase.validator.d.ts +0 -3
  624. package/dist/products/validators/joi-validators/create.productDatabase.validator.js +0 -77
  625. package/dist/products/validators/joi-validators/create.productDatabase.validator.js.map +0 -1
  626. package/dist/products/validators/joi-validators/create.productDatabaseAction.validator.d.ts +0 -7
  627. package/dist/products/validators/joi-validators/create.productDatabaseAction.validator.js +0 -194
  628. package/dist/products/validators/joi-validators/create.productDatabaseAction.validator.js.map +0 -1
  629. package/dist/products/validators/joi-validators/create.productDatabaseMigration.validator.d.ts +0 -4
  630. package/dist/products/validators/joi-validators/create.productDatabaseMigration.validator.js +0 -63
  631. package/dist/products/validators/joi-validators/create.productDatabaseMigration.validator.js.map +0 -1
  632. package/dist/products/validators/joi-validators/create.productEnv.validator.d.ts +0 -3
  633. package/dist/products/validators/joi-validators/create.productEnv.validator.js +0 -45
  634. package/dist/products/validators/joi-validators/create.productEnv.validator.js.map +0 -1
  635. package/dist/products/validators/joi-validators/create.productFallback.validator.d.ts +0 -3
  636. package/dist/products/validators/joi-validators/create.productFallback.validator.js +0 -64
  637. package/dist/products/validators/joi-validators/create.productFallback.validator.js.map +0 -1
  638. package/dist/products/validators/joi-validators/create.productFeature.validator.d.ts +0 -14
  639. package/dist/products/validators/joi-validators/create.productFeature.validator.js +0 -140
  640. package/dist/products/validators/joi-validators/create.productFeature.validator.js.map +0 -1
  641. package/dist/products/validators/joi-validators/create.productFunction.validator.d.ts +0 -3
  642. package/dist/products/validators/joi-validators/create.productFunction.validator.js +0 -57
  643. package/dist/products/validators/joi-validators/create.productFunction.validator.js.map +0 -1
  644. package/dist/products/validators/joi-validators/create.productGraph.validator.d.ts +0 -3
  645. package/dist/products/validators/joi-validators/create.productGraph.validator.js +0 -89
  646. package/dist/products/validators/joi-validators/create.productGraph.validator.js.map +0 -1
  647. package/dist/products/validators/joi-validators/create.productHealthcheck.validator.d.ts +0 -4
  648. package/dist/products/validators/joi-validators/create.productHealthcheck.validator.js +0 -58
  649. package/dist/products/validators/joi-validators/create.productHealthcheck.validator.js.map +0 -1
  650. package/dist/products/validators/joi-validators/create.productJob.validator.d.ts +0 -12
  651. package/dist/products/validators/joi-validators/create.productJob.validator.js +0 -60
  652. package/dist/products/validators/joi-validators/create.productJob.validator.js.map +0 -1
  653. package/dist/products/validators/joi-validators/create.productMessageBrokerTopic.validator.d.ts +0 -3
  654. package/dist/products/validators/joi-validators/create.productMessageBrokerTopic.validator.js +0 -52
  655. package/dist/products/validators/joi-validators/create.productMessageBrokerTopic.validator.js.map +0 -1
  656. package/dist/products/validators/joi-validators/create.productMessageBrokers.validator.d.ts +0 -3
  657. package/dist/products/validators/joi-validators/create.productMessageBrokers.validator.js +0 -193
  658. package/dist/products/validators/joi-validators/create.productMessageBrokers.validator.js.map +0 -1
  659. package/dist/products/validators/joi-validators/create.productModel.validator.d.ts +0 -3
  660. package/dist/products/validators/joi-validators/create.productModel.validator.js +0 -132
  661. package/dist/products/validators/joi-validators/create.productModel.validator.js.map +0 -1
  662. package/dist/products/validators/joi-validators/create.productNotification.validator.d.ts +0 -4
  663. package/dist/products/validators/joi-validators/create.productNotification.validator.js +0 -241
  664. package/dist/products/validators/joi-validators/create.productNotification.validator.js.map +0 -1
  665. package/dist/products/validators/joi-validators/create.productNotificationMessage.validator.d.ts +0 -3
  666. package/dist/products/validators/joi-validators/create.productNotificationMessage.validator.js +0 -57
  667. package/dist/products/validators/joi-validators/create.productNotificationMessage.validator.js.map +0 -1
  668. package/dist/products/validators/joi-validators/create.productNotifications.validator.d.ts +0 -0
  669. package/dist/products/validators/joi-validators/create.productNotifications.validator.js +0 -1
  670. package/dist/products/validators/joi-validators/create.productNotifications.validator.js.map +0 -1
  671. package/dist/products/validators/joi-validators/create.productQuota.validator.d.ts +0 -3
  672. package/dist/products/validators/joi-validators/create.productQuota.validator.js +0 -67
  673. package/dist/products/validators/joi-validators/create.productQuota.validator.js.map +0 -1
  674. package/dist/products/validators/joi-validators/create.productStorage.validator.d.ts +0 -3
  675. package/dist/products/validators/joi-validators/create.productStorage.validator.js +0 -158
  676. package/dist/products/validators/joi-validators/create.productStorage.validator.js.map +0 -1
  677. package/dist/products/validators/joi-validators/create.productVector.validator.d.ts +0 -3
  678. package/dist/products/validators/joi-validators/create.productVector.validator.js +0 -136
  679. package/dist/products/validators/joi-validators/create.productVector.validator.js.map +0 -1
  680. package/dist/products/validators/joi-validators/create.products.validator.d.ts +0 -3
  681. package/dist/products/validators/joi-validators/create.products.validator.js +0 -43
  682. package/dist/products/validators/joi-validators/create.products.validator.js.map +0 -1
  683. package/dist/products/validators/joi-validators/create.requestAction.validator.d.ts +0 -2
  684. package/dist/products/validators/joi-validators/create.requestAction.validator.js +0 -45
  685. package/dist/products/validators/joi-validators/create.requestAction.validator.js.map +0 -1
  686. package/dist/products/validators/joi-validators/create.userAuth.validator.d.ts +0 -3
  687. package/dist/products/validators/joi-validators/create.userAuth.validator.js +0 -48
  688. package/dist/products/validators/joi-validators/create.userAuth.validator.js.map +0 -1
  689. package/dist/products/validators/joi-validators/register.productWebhooks.validator.d.ts +0 -3
  690. package/dist/products/validators/joi-validators/register.productWebhooks.validator.js +0 -48
  691. package/dist/products/validators/joi-validators/register.productWebhooks.validator.js.map +0 -1
  692. package/dist/products/validators/joi-validators/update.dataValue.validator.d.ts +0 -3
  693. package/dist/products/validators/joi-validators/update.dataValue.validator.js +0 -103
  694. package/dist/products/validators/joi-validators/update.dataValue.validator.js.map +0 -1
  695. package/dist/products/validators/joi-validators/update.productApp.validator.d.ts +0 -3
  696. package/dist/products/validators/joi-validators/update.productApp.validator.js +0 -42
  697. package/dist/products/validators/joi-validators/update.productApp.validator.js.map +0 -1
  698. package/dist/products/validators/joi-validators/update.productCache.validator.d.ts +0 -3
  699. package/dist/products/validators/joi-validators/update.productCache.validator.js +0 -45
  700. package/dist/products/validators/joi-validators/update.productCache.validator.js.map +0 -1
  701. package/dist/products/validators/joi-validators/update.productDatabase.validator.d.ts +0 -3
  702. package/dist/products/validators/joi-validators/update.productDatabase.validator.js +0 -76
  703. package/dist/products/validators/joi-validators/update.productDatabase.validator.js.map +0 -1
  704. package/dist/products/validators/joi-validators/update.productDatabaseAction.validator.d.ts +0 -3
  705. package/dist/products/validators/joi-validators/update.productDatabaseAction.validator.js +0 -79
  706. package/dist/products/validators/joi-validators/update.productDatabaseAction.validator.js.map +0 -1
  707. package/dist/products/validators/joi-validators/update.productDatabaseMigration.validator.d.ts +0 -4
  708. package/dist/products/validators/joi-validators/update.productDatabaseMigration.validator.js +0 -64
  709. package/dist/products/validators/joi-validators/update.productDatabaseMigration.validator.js.map +0 -1
  710. package/dist/products/validators/joi-validators/update.productEnv.validator.d.ts +0 -3
  711. package/dist/products/validators/joi-validators/update.productEnv.validator.js +0 -46
  712. package/dist/products/validators/joi-validators/update.productEnv.validator.js.map +0 -1
  713. package/dist/products/validators/joi-validators/update.productFallback.validator.d.ts +0 -3
  714. package/dist/products/validators/joi-validators/update.productFallback.validator.js +0 -60
  715. package/dist/products/validators/joi-validators/update.productFallback.validator.js.map +0 -1
  716. package/dist/products/validators/joi-validators/update.productFeature.validator.d.ts +0 -3
  717. package/dist/products/validators/joi-validators/update.productFeature.validator.js +0 -53
  718. package/dist/products/validators/joi-validators/update.productFeature.validator.js.map +0 -1
  719. package/dist/products/validators/joi-validators/update.productFunction.validator.d.ts +0 -3
  720. package/dist/products/validators/joi-validators/update.productFunction.validator.js +0 -41
  721. package/dist/products/validators/joi-validators/update.productFunction.validator.js.map +0 -1
  722. package/dist/products/validators/joi-validators/update.productGraph.validator.d.ts +0 -3
  723. package/dist/products/validators/joi-validators/update.productGraph.validator.js +0 -88
  724. package/dist/products/validators/joi-validators/update.productGraph.validator.js.map +0 -1
  725. package/dist/products/validators/joi-validators/update.productJob.validator.d.ts +0 -3
  726. package/dist/products/validators/joi-validators/update.productJob.validator.js +0 -50
  727. package/dist/products/validators/joi-validators/update.productJob.validator.js.map +0 -1
  728. package/dist/products/validators/joi-validators/update.productMessageBrokerTopic.validator.d.ts +0 -3
  729. package/dist/products/validators/joi-validators/update.productMessageBrokerTopic.validator.js +0 -52
  730. package/dist/products/validators/joi-validators/update.productMessageBrokerTopic.validator.js.map +0 -1
  731. package/dist/products/validators/joi-validators/update.productNotification.validator.d.ts +0 -3
  732. package/dist/products/validators/joi-validators/update.productNotification.validator.js +0 -47
  733. package/dist/products/validators/joi-validators/update.productNotification.validator.js.map +0 -1
  734. package/dist/products/validators/joi-validators/update.productNotificationMessage.validator.d.ts +0 -3
  735. package/dist/products/validators/joi-validators/update.productNotificationMessage.validator.js +0 -58
  736. package/dist/products/validators/joi-validators/update.productNotificationMessage.validator.js.map +0 -1
  737. package/dist/products/validators/joi-validators/update.productQuota.validator.d.ts +0 -3
  738. package/dist/products/validators/joi-validators/update.productQuota.validator.js +0 -64
  739. package/dist/products/validators/joi-validators/update.productQuota.validator.js.map +0 -1
  740. package/dist/products/validators/joi-validators/update.userAuth.validator.d.ts +0 -3
  741. package/dist/products/validators/joi-validators/update.userAuth.validator.js +0 -48
  742. package/dist/products/validators/joi-validators/update.userAuth.validator.js.map +0 -1
  743. package/dist/resilience/fallback.service.d.ts +0 -141
  744. package/dist/resilience/fallback.service.js +0 -766
  745. package/dist/resilience/fallback.service.js.map +0 -1
  746. package/dist/resilience/healthcheck.service.d.ts +0 -163
  747. package/dist/resilience/healthcheck.service.js +0 -1012
  748. package/dist/resilience/healthcheck.service.js.map +0 -1
  749. package/dist/resilience/index.d.ts +0 -104
  750. package/dist/resilience/index.js +0 -140
  751. package/dist/resilience/index.js.map +0 -1
  752. package/dist/resilience/quota.service.d.ts +0 -83
  753. package/dist/resilience/quota.service.js +0 -518
  754. package/dist/resilience/quota.service.js.map +0 -1
  755. package/dist/resilience/resilience.service.d.ts +0 -98
  756. package/dist/resilience/resilience.service.js +0 -560
  757. package/dist/resilience/resilience.service.js.map +0 -1
  758. package/dist/resilience/types/index.d.ts +0 -513
  759. package/dist/resilience/types/index.js +0 -29
  760. package/dist/resilience/types/index.js.map +0 -1
  761. package/dist/secrets/index.d.ts +0 -10
  762. package/dist/secrets/index.js +0 -33
  763. package/dist/secrets/index.js.map +0 -1
  764. package/dist/secrets/secrets.resolver.d.ts +0 -52
  765. package/dist/secrets/secrets.resolver.js +0 -236
  766. package/dist/secrets/secrets.resolver.js.map +0 -1
  767. package/dist/secrets/secrets.service.d.ts +0 -93
  768. package/dist/secrets/secrets.service.js +0 -246
  769. package/dist/secrets/secrets.service.js.map +0 -1
  770. package/dist/secrets/secrets.types.d.ts +0 -188
  771. package/dist/secrets/secrets.types.js +0 -87
  772. package/dist/secrets/secrets.types.js.map +0 -1
  773. package/dist/sessions/index.d.ts +0 -50
  774. package/dist/sessions/index.js +0 -96
  775. package/dist/sessions/index.js.map +0 -1
  776. package/dist/sessions/sessions.helper.d.ts +0 -88
  777. package/dist/sessions/sessions.helper.js +0 -190
  778. package/dist/sessions/sessions.helper.js.map +0 -1
  779. package/dist/sessions/sessions.resolver.d.ts +0 -188
  780. package/dist/sessions/sessions.resolver.js +0 -603
  781. package/dist/sessions/sessions.resolver.js.map +0 -1
  782. package/dist/sessions/sessions.service.d.ts +0 -194
  783. package/dist/sessions/sessions.service.js +0 -988
  784. package/dist/sessions/sessions.service.js.map +0 -1
  785. package/dist/sessions/types/index.d.ts +0 -344
  786. package/dist/sessions/types/index.js +0 -6
  787. package/dist/sessions/types/index.js.map +0 -1
  788. package/dist/storage/index.d.ts +0 -66
  789. package/dist/storage/index.js +0 -99
  790. package/dist/storage/index.js.map +0 -1
  791. package/dist/storage/storage.service.d.ts +0 -177
  792. package/dist/storage/storage.service.js +0 -905
  793. package/dist/storage/storage.service.js.map +0 -1
  794. package/dist/storage/types/index.d.ts +0 -270
  795. package/dist/storage/types/index.js +0 -6
  796. package/dist/storage/types/index.js.map +0 -1
  797. package/dist/storage/utils/storage.util.d.ts +0 -62
  798. package/dist/storage/utils/storage.util.js +0 -593
  799. package/dist/storage/utils/storage.util.js.map +0 -1
  800. package/dist/types/actions.types.d.ts +0 -0
  801. package/dist/types/actions.types.js +0 -1
  802. package/dist/types/actions.types.js.map +0 -1
  803. package/dist/types/appBuilder.types.d.ts +0 -316
  804. package/dist/types/appBuilder.types.js +0 -3
  805. package/dist/types/appBuilder.types.js.map +0 -1
  806. package/dist/types/database.types.d.ts +0 -9
  807. package/dist/types/database.types.js +0 -3
  808. package/dist/types/database.types.js.map +0 -1
  809. package/dist/types/enums.d.ts +0 -231
  810. package/dist/types/enums.js +0 -261
  811. package/dist/types/enums.js.map +0 -1
  812. package/dist/types/index.d.ts +0 -12
  813. package/dist/types/index.js +0 -29
  814. package/dist/types/index.js.map +0 -1
  815. package/dist/types/index.types.d.ts +0 -30
  816. package/dist/types/index.types.js +0 -9
  817. package/dist/types/index.types.js.map +0 -1
  818. package/dist/types/inputs.types.d.ts +0 -114
  819. package/dist/types/inputs.types.js +0 -44
  820. package/dist/types/inputs.types.js.map +0 -1
  821. package/dist/types/logs.types.d.ts +0 -19
  822. package/dist/types/logs.types.js +0 -8
  823. package/dist/types/logs.types.js.map +0 -1
  824. package/dist/types/pricing.types.d.ts +0 -4
  825. package/dist/types/pricing.types.js +0 -3
  826. package/dist/types/pricing.types.js.map +0 -1
  827. package/dist/types/processor.types.d.ts +0 -602
  828. package/dist/types/processor.types.js +0 -19
  829. package/dist/types/processor.types.js.map +0 -1
  830. package/dist/types/productsBuilder.types.d.ts +0 -1566
  831. package/dist/types/productsBuilder.types.js +0 -303
  832. package/dist/types/productsBuilder.types.js.map +0 -1
  833. package/dist/types/request-tracker.interface.d.ts +0 -0
  834. package/dist/types/request-tracker.interface.js +0 -1
  835. package/dist/types/request-tracker.interface.js.map +0 -1
  836. package/dist/types/requests.types.d.ts +0 -8
  837. package/dist/types/requests.types.js +0 -3
  838. package/dist/types/requests.types.js.map +0 -1
  839. package/dist/types/workspaces.types.d.ts +0 -28
  840. package/dist/types/workspaces.types.js +0 -4
  841. package/dist/types/workspaces.types.js.map +0 -1
  842. package/dist/utils/constants.d.ts +0 -1
  843. package/dist/utils/constants.js +0 -5
  844. package/dist/utils/constants.js.map +0 -1
  845. package/dist/utils/index.d.ts +0 -2
  846. package/dist/utils/index.js +0 -109
  847. package/dist/utils/index.js.map +0 -1
  848. package/dist/vector/actions/action-manager.d.ts +0 -140
  849. package/dist/vector/actions/action-manager.js +0 -356
  850. package/dist/vector/actions/action-manager.js.map +0 -1
  851. package/dist/vector/adapters/base.adapter.d.ts +0 -169
  852. package/dist/vector/adapters/base.adapter.js +0 -218
  853. package/dist/vector/adapters/base.adapter.js.map +0 -1
  854. package/dist/vector/adapters/index.d.ts +0 -10
  855. package/dist/vector/adapters/index.js +0 -19
  856. package/dist/vector/adapters/index.js.map +0 -1
  857. package/dist/vector/adapters/memory.adapter.d.ts +0 -85
  858. package/dist/vector/adapters/memory.adapter.js +0 -505
  859. package/dist/vector/adapters/memory.adapter.js.map +0 -1
  860. package/dist/vector/adapters/pinecone.adapter.d.ts +0 -52
  861. package/dist/vector/adapters/pinecone.adapter.js +0 -433
  862. package/dist/vector/adapters/pinecone.adapter.js.map +0 -1
  863. package/dist/vector/adapters/qdrant.adapter.d.ts +0 -56
  864. package/dist/vector/adapters/qdrant.adapter.js +0 -442
  865. package/dist/vector/adapters/qdrant.adapter.js.map +0 -1
  866. package/dist/vector/adapters/weaviate.adapter.d.ts +0 -68
  867. package/dist/vector/adapters/weaviate.adapter.js +0 -661
  868. package/dist/vector/adapters/weaviate.adapter.js.map +0 -1
  869. package/dist/vector/index.d.ts +0 -36
  870. package/dist/vector/index.js +0 -70
  871. package/dist/vector/index.js.map +0 -1
  872. package/dist/vector/types/action.interface.d.ts +0 -195
  873. package/dist/vector/types/action.interface.js +0 -100
  874. package/dist/vector/types/action.interface.js.map +0 -1
  875. package/dist/vector/types/connection.interface.d.ts +0 -151
  876. package/dist/vector/types/connection.interface.js +0 -8
  877. package/dist/vector/types/connection.interface.js.map +0 -1
  878. package/dist/vector/types/embedding.interface.d.ts +0 -144
  879. package/dist/vector/types/embedding.interface.js +0 -8
  880. package/dist/vector/types/embedding.interface.js.map +0 -1
  881. package/dist/vector/types/enums.d.ts +0 -104
  882. package/dist/vector/types/enums.js +0 -113
  883. package/dist/vector/types/enums.js.map +0 -1
  884. package/dist/vector/types/index.d.ts +0 -11
  885. package/dist/vector/types/index.js +0 -23
  886. package/dist/vector/types/index.js.map +0 -1
  887. package/dist/vector/types/vector.interface.d.ts +0 -315
  888. package/dist/vector/types/vector.interface.js +0 -8
  889. package/dist/vector/types/vector.interface.js.map +0 -1
  890. package/dist/vector/utils/index.d.ts +0 -6
  891. package/dist/vector/utils/index.js +0 -11
  892. package/dist/vector/utils/index.js.map +0 -1
  893. package/dist/vector/utils/vector-error.d.ts +0 -69
  894. package/dist/vector/utils/vector-error.js +0 -116
  895. package/dist/vector/utils/vector-error.js.map +0 -1
  896. package/dist/vector/vector-database.service.d.ts +0 -484
  897. package/dist/vector/vector-database.service.js +0 -1002
  898. package/dist/vector/vector-database.service.js.map +0 -1
  899. package/dist/vector/vector.service.d.ts +0 -283
  900. package/dist/vector/vector.service.js +0 -544
  901. package/dist/vector/vector.service.js.map +0 -1
  902. package/dist/warehouse/executor/index.d.ts +0 -5
  903. package/dist/warehouse/executor/index.js +0 -12
  904. package/dist/warehouse/executor/index.js.map +0 -1
  905. package/dist/warehouse/executor/joins/index.d.ts +0 -5
  906. package/dist/warehouse/executor/joins/index.js +0 -11
  907. package/dist/warehouse/executor/joins/index.js.map +0 -1
  908. package/dist/warehouse/executor/joins/join-executor.d.ts +0 -101
  909. package/dist/warehouse/executor/joins/join-executor.js +0 -493
  910. package/dist/warehouse/executor/joins/join-executor.js.map +0 -1
  911. package/dist/warehouse/executor/joins/semantic-join.d.ts +0 -64
  912. package/dist/warehouse/executor/joins/semantic-join.js +0 -241
  913. package/dist/warehouse/executor/joins/semantic-join.js.map +0 -1
  914. package/dist/warehouse/executor/single-source-executor.d.ts +0 -155
  915. package/dist/warehouse/executor/single-source-executor.js +0 -573
  916. package/dist/warehouse/executor/single-source-executor.js.map +0 -1
  917. package/dist/warehouse/index.d.ts +0 -79
  918. package/dist/warehouse/index.js +0 -111
  919. package/dist/warehouse/index.js.map +0 -1
  920. package/dist/warehouse/parser/index.d.ts +0 -4
  921. package/dist/warehouse/parser/index.js +0 -10
  922. package/dist/warehouse/parser/index.js.map +0 -1
  923. package/dist/warehouse/parser/query-parser.d.ts +0 -181
  924. package/dist/warehouse/parser/query-parser.js +0 -415
  925. package/dist/warehouse/parser/query-parser.js.map +0 -1
  926. package/dist/warehouse/registry/data-source-registry.d.ts +0 -207
  927. package/dist/warehouse/registry/data-source-registry.js +0 -396
  928. package/dist/warehouse/registry/data-source-registry.js.map +0 -1
  929. package/dist/warehouse/registry/index.d.ts +0 -4
  930. package/dist/warehouse/registry/index.js +0 -9
  931. package/dist/warehouse/registry/index.js.map +0 -1
  932. package/dist/warehouse/transactions/index.d.ts +0 -4
  933. package/dist/warehouse/transactions/index.js +0 -9
  934. package/dist/warehouse/transactions/index.js.map +0 -1
  935. package/dist/warehouse/transactions/saga-orchestrator.d.ts +0 -92
  936. package/dist/warehouse/transactions/saga-orchestrator.js +0 -383
  937. package/dist/warehouse/transactions/saga-orchestrator.js.map +0 -1
  938. package/dist/warehouse/types/index.d.ts +0 -9
  939. package/dist/warehouse/types/index.js +0 -33
  940. package/dist/warehouse/types/index.js.map +0 -1
  941. package/dist/warehouse/types/join.interface.d.ts +0 -225
  942. package/dist/warehouse/types/join.interface.js +0 -87
  943. package/dist/warehouse/types/join.interface.js.map +0 -1
  944. package/dist/warehouse/types/query.interface.d.ts +0 -232
  945. package/dist/warehouse/types/query.interface.js +0 -9
  946. package/dist/warehouse/types/query.interface.js.map +0 -1
  947. package/dist/warehouse/types/transaction.interface.d.ts +0 -236
  948. package/dist/warehouse/types/transaction.interface.js +0 -74
  949. package/dist/warehouse/types/transaction.interface.js.map +0 -1
  950. package/dist/warehouse/types/where.interface.d.ts +0 -208
  951. package/dist/warehouse/types/where.interface.js +0 -89
  952. package/dist/warehouse/types/where.interface.js.map +0 -1
  953. package/dist/warehouse/warehouse.service.d.ts +0 -200
  954. package/dist/warehouse/warehouse.service.js +0 -470
  955. package/dist/warehouse/warehouse.service.js.map +0 -1
  956. package/dist/workflows/index.d.ts +0 -30
  957. package/dist/workflows/index.js +0 -64
  958. package/dist/workflows/index.js.map +0 -1
  959. package/dist/workflows/types/index.d.ts +0 -6
  960. package/dist/workflows/types/index.js +0 -23
  961. package/dist/workflows/types/index.js.map +0 -1
  962. package/dist/workflows/types/workflows.types.d.ts +0 -1095
  963. package/dist/workflows/types/workflows.types.js +0 -13
  964. package/dist/workflows/types/workflows.types.js.map +0 -1
  965. package/dist/workflows/workflow-builder.d.ts +0 -70
  966. package/dist/workflows/workflow-builder.js +0 -353
  967. package/dist/workflows/workflow-builder.js.map +0 -1
  968. package/dist/workflows/workflow-executor.d.ts +0 -289
  969. package/dist/workflows/workflow-executor.js +0 -2467
  970. package/dist/workflows/workflow-executor.js.map +0 -1
  971. package/dist/workflows/workflows.service.d.ts +0 -412
  972. package/dist/workflows/workflows.service.js +0 -2233
  973. package/dist/workflows/workflows.service.js.map +0 -1
@@ -1,1371 +0,0 @@
1
- "use strict";
2
- /**
3
- * MySQL Adapter
4
- *
5
- * Database adapter for MySQL databases using the 'mysql2' library.
6
- * Implements all methods from BaseAdapter with MySQL-specific optimizations.
7
- */
8
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
9
- if (k2 === undefined) k2 = k;
10
- var desc = Object.getOwnPropertyDescriptor(m, k);
11
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
12
- desc = { enumerable: true, get: function() { return m[k]; } };
13
- }
14
- Object.defineProperty(o, k2, desc);
15
- }) : (function(o, m, k, k2) {
16
- if (k2 === undefined) k2 = k;
17
- o[k2] = m[k];
18
- }));
19
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
20
- Object.defineProperty(o, "default", { enumerable: true, value: v });
21
- }) : function(o, v) {
22
- o["default"] = v;
23
- });
24
- var __importStar = (this && this.__importStar) || (function () {
25
- var ownKeys = function(o) {
26
- ownKeys = Object.getOwnPropertyNames || function (o) {
27
- var ar = [];
28
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
29
- return ar;
30
- };
31
- return ownKeys(o);
32
- };
33
- return function (mod) {
34
- if (mod && mod.__esModule) return mod;
35
- var result = {};
36
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
37
- __setModuleDefault(result, mod);
38
- return result;
39
- };
40
- })();
41
- Object.defineProperty(exports, "__esModule", { value: true });
42
- exports.MySQLAdapter = void 0;
43
- const base_adapter_1 = require("./base.adapter");
44
- const enums_1 = require("../types/enums");
45
- const database_error_1 = require("../utils/database-error");
46
- /**
47
- * MySQL database adapter
48
- * Provides MySQL-specific implementations for all database operations
49
- */
50
- class MySQLAdapter extends base_adapter_1.BaseAdapter {
51
- constructor() {
52
- super(...arguments);
53
- this.databaseType = enums_1.DatabaseType.MYSQL;
54
- this.pool = null;
55
- }
56
- // ==================== CONNECTION METHODS ====================
57
- async connect(options) {
58
- try {
59
- // Dynamic import of mysql2 to avoid bundling issues
60
- const mysql = await Promise.resolve().then(() => __importStar(require('mysql2/promise')));
61
- this.connectionUrl = options.connectionUrl;
62
- this.connectionOptions = options; // Store for auto-reconnection
63
- // Parse connection URL to extract components
64
- const url = new URL(options.connectionUrl);
65
- const poolConfig = {
66
- host: url.hostname,
67
- port: parseInt(url.port) || 3306,
68
- user: url.username,
69
- password: url.password,
70
- database: url.pathname.slice(1),
71
- waitForConnections: true,
72
- connectionLimit: options.poolSize || 10,
73
- queueLimit: 0,
74
- connectTimeout: options.connectionTimeout || 10000,
75
- ssl: options.ssl ? { rejectUnauthorized: false } : undefined,
76
- };
77
- this.pool = mysql.createPool(poolConfig);
78
- // Test the connection
79
- const connection = await this.pool.getConnection();
80
- const [rows] = await connection.query('SELECT VERSION() as version');
81
- connection.release();
82
- this.client = this.pool;
83
- this.connected = true;
84
- return {
85
- connected: true,
86
- version: rows[0].version,
87
- };
88
- }
89
- catch (error) {
90
- throw database_error_1.DatabaseError.connectionError(`Failed to connect to MySQL: ${error.message}`, error);
91
- }
92
- }
93
- async testConnection(options) {
94
- try {
95
- const mysql = await Promise.resolve().then(() => __importStar(require('mysql2/promise')));
96
- const url = new URL(options.connectionUrl);
97
- const connection = await mysql.createConnection({
98
- host: url.hostname,
99
- port: parseInt(url.port) || 3306,
100
- user: url.username,
101
- password: url.password,
102
- database: url.pathname.slice(1),
103
- connectTimeout: options.connectionTimeout || 5000,
104
- });
105
- const [rows] = await connection.query('SELECT VERSION() as version');
106
- await connection.end();
107
- return {
108
- connected: true,
109
- version: rows[0].version,
110
- };
111
- }
112
- catch (error) {
113
- return {
114
- connected: false,
115
- };
116
- }
117
- }
118
- async disconnect() {
119
- if (this.pool) {
120
- await this.pool.end();
121
- this.pool = null;
122
- this.client = null;
123
- this.connected = false;
124
- }
125
- }
126
- // ==================== QUERY METHODS ====================
127
- async query(query) {
128
- var _a, _b;
129
- this.ensureConnected();
130
- try {
131
- const connection = ((_a = query.options.transaction) === null || _a === void 0 ? void 0 : _a.client) || this.pool;
132
- const [rows, fields] = await connection.query(query.sql, query.params);
133
- // Get total count if needed for pagination
134
- let count = rows.length;
135
- if (query.options.limit || query.options.offset) {
136
- const countSql = this.buildCountQuery(query);
137
- // Calculate how many params to remove based on actual pagination options
138
- let paramsToRemove = 0;
139
- if (query.options.limit !== undefined)
140
- paramsToRemove++;
141
- if (query.options.offset !== undefined)
142
- paramsToRemove++;
143
- const countParams = paramsToRemove > 0 ? (_b = query.params) === null || _b === void 0 ? void 0 : _b.slice(0, -paramsToRemove) : query.params;
144
- const [countRows] = await connection.query(countSql, countParams);
145
- count = countRows[0].count;
146
- }
147
- return {
148
- data: rows,
149
- count,
150
- fields: fields === null || fields === void 0 ? void 0 : fields.map((f) => f.name),
151
- };
152
- }
153
- catch (error) {
154
- throw database_error_1.DatabaseError.fromDatabaseError(error, 'mysql');
155
- }
156
- }
157
- async raw(options) {
158
- this.ensureConnected();
159
- return this.executeWithRetry(async () => {
160
- var _a;
161
- try {
162
- const connection = ((_a = options.transaction) === null || _a === void 0 ? void 0 : _a.client) || this.pool;
163
- const [rows, fields] = await connection.query(options.query, options.params);
164
- const isArray = Array.isArray(rows);
165
- return {
166
- data: (isArray ? rows : []),
167
- count: isArray ? rows.length : 0,
168
- fields: fields === null || fields === void 0 ? void 0 : fields.map((f) => f.name),
169
- };
170
- }
171
- catch (error) {
172
- throw database_error_1.DatabaseError.fromDatabaseError(error, 'mysql');
173
- }
174
- });
175
- }
176
- // ==================== WRITE METHODS ====================
177
- async insert(options) {
178
- var _a, _b;
179
- this.ensureConnected();
180
- try {
181
- const connection = ((_a = options.transaction) === null || _a === void 0 ? void 0 : _a.client) || this.pool;
182
- const data = Array.isArray(options.data) ? options.data : [options.data];
183
- if (data.length === 0) {
184
- return { data: [], count: 0, insertedIds: [] };
185
- }
186
- const columns = Object.keys(data[0]);
187
- const values = [];
188
- const valuePlaceholders = [];
189
- data.forEach((record) => {
190
- const rowPlaceholders = [];
191
- columns.forEach((col) => {
192
- let value = record[col];
193
- // Serialize objects and arrays to JSON strings for MySQL JSON columns
194
- if (value !== null && value !== undefined) {
195
- if (Array.isArray(value) || (typeof value === 'object' && !(value instanceof Date))) {
196
- value = JSON.stringify(value);
197
- }
198
- }
199
- values.push(value);
200
- rowPlaceholders.push('?');
201
- });
202
- valuePlaceholders.push(`(${rowPlaceholders.join(', ')})`);
203
- });
204
- let sql = `INSERT INTO ${this.escapeIdentifier(options.table)} (${columns.map(c => this.escapeIdentifier(c)).join(', ')}) VALUES ${valuePlaceholders.join(', ')}`;
205
- // Handle ON DUPLICATE KEY (upsert)
206
- if (options.onConflict) {
207
- if (options.onConflict.action === 'ignore') {
208
- sql = sql.replace('INSERT INTO', 'INSERT IGNORE INTO');
209
- }
210
- else if (options.onConflict.action === 'update' && options.onConflict.update) {
211
- const updates = options.onConflict.update.map(col => `${this.escapeIdentifier(col)} = VALUES(${this.escapeIdentifier(col)})`).join(', ');
212
- sql += ` ON DUPLICATE KEY UPDATE ${updates}`;
213
- }
214
- }
215
- const [result] = await connection.query(sql, values);
216
- // Get inserted IDs
217
- const insertedIds = [];
218
- const insertId = result.insertId;
219
- const affectedRows = result.affectedRows;
220
- // MySQL's insertId only works for AUTO_INCREMENT columns
221
- // If insertId is 0, it means no AUTO_INCREMENT column or value wasn't generated
222
- if (insertId > 0) {
223
- for (let i = 0; i < data.length; i++) {
224
- insertedIds.push(insertId + i);
225
- }
226
- }
227
- // If returning is requested, fetch the inserted records
228
- let returnedData = [];
229
- if (options.returning) {
230
- // If we have insertedIds from AUTO_INCREMENT, try to find primary key column
231
- if (insertedIds.length > 0) {
232
- // Get the primary key column name from the table
233
- const [pkResult] = await connection.query(`SELECT COLUMN_NAME FROM information_schema.KEY_COLUMN_USAGE
234
- WHERE TABLE_SCHEMA = DATABASE()
235
- AND TABLE_NAME = ?
236
- AND CONSTRAINT_NAME = 'PRIMARY'
237
- ORDER BY ORDINAL_POSITION LIMIT 1`, [options.table]);
238
- const pkColumn = ((_b = pkResult[0]) === null || _b === void 0 ? void 0 : _b.COLUMN_NAME) || 'id';
239
- const [rows] = await connection.query(`SELECT * FROM ${this.escapeIdentifier(options.table)} WHERE ${this.escapeIdentifier(pkColumn)} IN (?)`, [insertedIds]);
240
- returnedData = rows;
241
- }
242
- else {
243
- // No AUTO_INCREMENT - fetch by matching the inserted data's values
244
- // Build WHERE clauses to match each inserted record
245
- const whereConditions = [];
246
- const whereValues = [];
247
- for (const record of data) {
248
- const conditions = [];
249
- for (const [col, val] of Object.entries(record)) {
250
- if (val === null) {
251
- conditions.push(`${this.escapeIdentifier(col)} IS NULL`);
252
- }
253
- else if (Array.isArray(val) || (typeof val === 'object' && !(val instanceof Date))) {
254
- // Skip JSON columns in WHERE - they're complex to compare reliably
255
- // The string columns should be enough to identify the record
256
- continue;
257
- }
258
- else if (typeof val === 'boolean') {
259
- // MySQL stores booleans as TINYINT(1), so convert to 1/0
260
- conditions.push(`${this.escapeIdentifier(col)} = ?`);
261
- whereValues.push(val ? 1 : 0);
262
- }
263
- else if (val instanceof Date) {
264
- // For dates, compare as strings to avoid timezone issues
265
- conditions.push(`${this.escapeIdentifier(col)} = ?`);
266
- whereValues.push(val.toISOString().slice(0, 19).replace('T', ' '));
267
- }
268
- else {
269
- conditions.push(`${this.escapeIdentifier(col)} = ?`);
270
- whereValues.push(val);
271
- }
272
- }
273
- if (conditions.length > 0) {
274
- whereConditions.push(`(${conditions.join(' AND ')})`);
275
- }
276
- }
277
- if (whereConditions.length > 0) {
278
- const [rows] = await connection.query(`SELECT * FROM ${this.escapeIdentifier(options.table)} WHERE ${whereConditions.join(' OR ')}`, whereValues);
279
- returnedData = rows;
280
- }
281
- }
282
- }
283
- return {
284
- data: returnedData,
285
- count: affectedRows,
286
- insertedIds,
287
- };
288
- }
289
- catch (error) {
290
- throw database_error_1.DatabaseError.fromDatabaseError(error, 'mysql');
291
- }
292
- }
293
- async update(options) {
294
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
295
- this.ensureConnected();
296
- try {
297
- const connection = ((_a = options.transaction) === null || _a === void 0 ? void 0 : _a.client) || this.pool;
298
- const setClauses = [];
299
- const values = [];
300
- // Track nested JSON updates to merge them (multiple updates to same column)
301
- const jsonSetUpdates = new Map();
302
- // Build SET clause
303
- for (const [key, value] of Object.entries(options.data)) {
304
- // Check if this is a nested JSON path (e.g., 'metadata.preferences.notifications')
305
- if (key.includes('.') && !this.isUpdateOperator(value)) {
306
- const parts = key.split('.');
307
- const column = parts[0];
308
- const jsonPath = '$.' + parts.slice(1).join('.');
309
- // Collect nested updates for the same column
310
- if (!jsonSetUpdates.has(column)) {
311
- jsonSetUpdates.set(column, []);
312
- }
313
- jsonSetUpdates.get(column).push({ path: jsonPath, value });
314
- continue;
315
- }
316
- if (value && typeof value === 'object' && this.isUpdateOperator(value)) {
317
- // Handle update operators - support both lowercase (new) and uppercase (legacy)
318
- if ('$inc' in value || '$INC' in value) {
319
- setClauses.push(`${this.escapeIdentifier(key)} = ${this.escapeIdentifier(key)} + ?`);
320
- values.push((_b = value.$inc) !== null && _b !== void 0 ? _b : value.$INC);
321
- }
322
- else if ('$dec' in value || '$DEC' in value) {
323
- setClauses.push(`${this.escapeIdentifier(key)} = ${this.escapeIdentifier(key)} - ?`);
324
- values.push((_c = value.$dec) !== null && _c !== void 0 ? _c : value.$DEC);
325
- }
326
- else if ('$mul' in value || '$MUL' in value) {
327
- setClauses.push(`${this.escapeIdentifier(key)} = ${this.escapeIdentifier(key)} * ?`);
328
- values.push((_d = value.$mul) !== null && _d !== void 0 ? _d : value.$MUL);
329
- }
330
- else if ('$min' in value || '$MIN' in value) {
331
- // LEAST function for minimum
332
- setClauses.push(`${this.escapeIdentifier(key)} = LEAST(${this.escapeIdentifier(key)}, ?)`);
333
- values.push((_e = value.$min) !== null && _e !== void 0 ? _e : value.$MIN);
334
- }
335
- else if ('$max' in value || '$MAX' in value) {
336
- // GREATEST function for maximum
337
- setClauses.push(`${this.escapeIdentifier(key)} = GREATEST(${this.escapeIdentifier(key)}, ?)`);
338
- values.push((_f = value.$max) !== null && _f !== void 0 ? _f : value.$MAX);
339
- }
340
- else if ('$set' in value || '$SET' in value) {
341
- setClauses.push(`${this.escapeIdentifier(key)} = ?`);
342
- values.push((_g = value.$set) !== null && _g !== void 0 ? _g : value.$SET);
343
- }
344
- else if (('$unset' in value && value.$unset) || ('$UNSET' in value && value.$UNSET)) {
345
- setClauses.push(`${this.escapeIdentifier(key)} = NULL`);
346
- }
347
- else if ('$push' in value || '$PUSH' in value) {
348
- // JSON array append for MySQL (column must be JSON type)
349
- setClauses.push(`${this.escapeIdentifier(key)} = JSON_ARRAY_APPEND(COALESCE(${this.escapeIdentifier(key)}, '[]'), '$', ?)`);
350
- values.push((_h = value.$push) !== null && _h !== void 0 ? _h : value.$PUSH);
351
- }
352
- else if ('$pull' in value || '$PULL' in value) {
353
- // JSON array remove for MySQL - requires JSON_REMOVE with path, complex operation
354
- // For simplicity, use JSON_REMOVE with search
355
- setClauses.push(`${this.escapeIdentifier(key)} = JSON_REMOVE(${this.escapeIdentifier(key)}, JSON_UNQUOTE(JSON_SEARCH(${this.escapeIdentifier(key)}, 'one', ?)))`);
356
- values.push((_j = value.$pull) !== null && _j !== void 0 ? _j : value.$PULL);
357
- }
358
- else if ('$addToSet' in value || '$ADDTOSET' in value) {
359
- // Add unique to JSON array - use IF to check existence
360
- const addValue = (_k = value.$addToSet) !== null && _k !== void 0 ? _k : value.$ADDTOSET;
361
- setClauses.push(`${this.escapeIdentifier(key)} = IF(JSON_CONTAINS(COALESCE(${this.escapeIdentifier(key)}, '[]'), JSON_QUOTE(?)), ${this.escapeIdentifier(key)}, JSON_ARRAY_APPEND(COALESCE(${this.escapeIdentifier(key)}, '[]'), '$', ?))`);
362
- values.push(addValue, addValue);
363
- }
364
- else if ('$currentDate' in value || '$CURRENTDATE' in value) {
365
- setClauses.push(`${this.escapeIdentifier(key)} = NOW()`);
366
- }
367
- }
368
- else {
369
- setClauses.push(`${this.escapeIdentifier(key)} = ?`);
370
- values.push(value);
371
- }
372
- }
373
- // Build JSON_SET clauses for nested JSON updates
374
- for (const [column, updates] of jsonSetUpdates) {
375
- // Build nested JSON_SET calls for multiple updates to the same column
376
- // MySQL's JSON_SET can take multiple path-value pairs
377
- let setExpr = `COALESCE(${this.escapeIdentifier(column)}, '{}')`;
378
- const pathValuePairs = [];
379
- for (const update of updates) {
380
- pathValuePairs.push(`'${update.path}', CAST(? AS JSON)`);
381
- values.push(JSON.stringify(update.value));
382
- }
383
- setExpr = `JSON_SET(${setExpr}, ${pathValuePairs.join(', ')})`;
384
- setClauses.push(`${this.escapeIdentifier(column)} = ${setExpr}`);
385
- }
386
- let sql = `UPDATE ${this.escapeIdentifier(options.table)} SET ${setClauses.join(', ')}`;
387
- // Build WHERE clause - required for UPDATE to prevent accidental mass updates
388
- if (options.where && Object.keys(options.where).length > 0) {
389
- const { whereClause, whereParams } = this.buildWhereClause(options.where);
390
- // Only add WHERE if we have a non-empty clause
391
- if (whereClause && whereClause.trim() !== '') {
392
- sql += ` WHERE ${whereClause}`;
393
- values.push(...whereParams);
394
- }
395
- else {
396
- // Empty where object - throw error to prevent updating all rows
397
- throw new database_error_1.DatabaseError('UPDATE operation requires a valid WHERE clause to prevent accidental mass updates', enums_1.DatabaseErrorType.VALIDATION_ERROR);
398
- }
399
- }
400
- else {
401
- // No where clause provided - this would update all rows, which is dangerous
402
- throw new database_error_1.DatabaseError('UPDATE operation requires a WHERE clause to prevent accidental mass updates. Provide a where clause with at least one condition.', enums_1.DatabaseErrorType.VALIDATION_ERROR);
403
- }
404
- const [result] = await connection.query(sql, values);
405
- const affectedRows = result.affectedRows;
406
- // If returning is requested, fetch updated records
407
- let returnedData = [];
408
- if (options.returning && options.where) {
409
- const { whereClause, whereParams } = this.buildWhereClause(options.where);
410
- const [rows] = await connection.query(`SELECT * FROM ${this.escapeIdentifier(options.table)} WHERE ${whereClause}`, whereParams);
411
- returnedData = rows;
412
- }
413
- return {
414
- data: returnedData,
415
- count: affectedRows,
416
- };
417
- }
418
- catch (error) {
419
- throw database_error_1.DatabaseError.fromDatabaseError(error, 'mysql');
420
- }
421
- }
422
- async delete(options) {
423
- var _a;
424
- this.ensureConnected();
425
- try {
426
- const connection = ((_a = options.transaction) === null || _a === void 0 ? void 0 : _a.client) || this.pool;
427
- let sql = `DELETE FROM ${this.escapeIdentifier(options.table)}`;
428
- const values = [];
429
- // Fetch records before delete if returning is requested
430
- let deletedData;
431
- if (options.returning && options.where) {
432
- const { whereClause, whereParams } = this.buildWhereClause(options.where);
433
- const [rows] = await connection.query(`SELECT * FROM ${this.escapeIdentifier(options.table)} WHERE ${whereClause}`, whereParams);
434
- deletedData = rows;
435
- }
436
- // Build WHERE clause
437
- if (options.where) {
438
- const { whereClause, whereParams } = this.buildWhereClause(options.where);
439
- sql += ` WHERE ${whereClause}`;
440
- values.push(...whereParams);
441
- }
442
- const [result] = await connection.query(sql, values);
443
- return {
444
- count: result.affectedRows,
445
- data: deletedData,
446
- };
447
- }
448
- catch (error) {
449
- throw database_error_1.DatabaseError.fromDatabaseError(error, 'mysql');
450
- }
451
- }
452
- async upsert(options) {
453
- this.ensureConnected();
454
- try {
455
- const insertResult = await this.insert(Object.assign(Object.assign({}, options), { onConflict: {
456
- columns: options.conflictKeys,
457
- action: 'update',
458
- update: options.updateColumns || Object.keys(options.data).filter(k => !options.conflictKeys.includes(k)),
459
- }, returning: true }));
460
- return {
461
- data: insertResult.data,
462
- count: insertResult.count,
463
- operation: insertResult.count > 0 ? 'inserted' : 'updated',
464
- };
465
- }
466
- catch (error) {
467
- throw database_error_1.DatabaseError.fromDatabaseError(error, 'mysql');
468
- }
469
- }
470
- // ==================== AGGREGATION METHODS ====================
471
- async count(options) {
472
- var _a;
473
- this.ensureConnected();
474
- try {
475
- const connection = ((_a = options.transaction) === null || _a === void 0 ? void 0 : _a.client) || this.pool;
476
- const column = options.column ? this.escapeIdentifier(options.column) : '*';
477
- const distinctPrefix = options.distinct ? 'DISTINCT ' : '';
478
- let sql = `SELECT COUNT(${distinctPrefix}${column}) as count FROM ${this.escapeIdentifier(options.table)}`;
479
- const values = [];
480
- if (options.where) {
481
- const { whereClause, whereParams } = this.buildWhereClause(options.where);
482
- sql += ` WHERE ${whereClause}`;
483
- values.push(...whereParams);
484
- }
485
- const [rows] = await connection.query(sql, values);
486
- return rows[0].count;
487
- }
488
- catch (error) {
489
- throw database_error_1.DatabaseError.fromDatabaseError(error, 'mysql');
490
- }
491
- }
492
- async sum(options) {
493
- var _a;
494
- this.ensureConnected();
495
- try {
496
- const connection = ((_a = options.transaction) === null || _a === void 0 ? void 0 : _a.client) || this.pool;
497
- let sql = `SELECT COALESCE(SUM(${this.escapeIdentifier(options.column)}), 0) as sum FROM ${this.escapeIdentifier(options.table)}`;
498
- const values = [];
499
- if (options.where) {
500
- const { whereClause, whereParams } = this.buildWhereClause(options.where);
501
- sql += ` WHERE ${whereClause}`;
502
- values.push(...whereParams);
503
- }
504
- const [rows] = await connection.query(sql, values);
505
- return parseFloat(rows[0].sum);
506
- }
507
- catch (error) {
508
- throw database_error_1.DatabaseError.fromDatabaseError(error, 'mysql');
509
- }
510
- }
511
- async avg(options) {
512
- var _a;
513
- this.ensureConnected();
514
- try {
515
- const connection = ((_a = options.transaction) === null || _a === void 0 ? void 0 : _a.client) || this.pool;
516
- let sql = `SELECT COALESCE(AVG(${this.escapeIdentifier(options.column)}), 0) as avg FROM ${this.escapeIdentifier(options.table)}`;
517
- const values = [];
518
- if (options.where) {
519
- const { whereClause, whereParams } = this.buildWhereClause(options.where);
520
- sql += ` WHERE ${whereClause}`;
521
- values.push(...whereParams);
522
- }
523
- const [rows] = await connection.query(sql, values);
524
- return parseFloat(rows[0].avg);
525
- }
526
- catch (error) {
527
- throw database_error_1.DatabaseError.fromDatabaseError(error, 'mysql');
528
- }
529
- }
530
- async min(options) {
531
- var _a;
532
- this.ensureConnected();
533
- try {
534
- const connection = ((_a = options.transaction) === null || _a === void 0 ? void 0 : _a.client) || this.pool;
535
- let sql = `SELECT MIN(${this.escapeIdentifier(options.column)}) as min FROM ${this.escapeIdentifier(options.table)}`;
536
- const values = [];
537
- if (options.where) {
538
- const { whereClause, whereParams } = this.buildWhereClause(options.where);
539
- sql += ` WHERE ${whereClause}`;
540
- values.push(...whereParams);
541
- }
542
- const [rows] = await connection.query(sql, values);
543
- return rows[0].min;
544
- }
545
- catch (error) {
546
- throw database_error_1.DatabaseError.fromDatabaseError(error, 'mysql');
547
- }
548
- }
549
- async max(options) {
550
- var _a;
551
- this.ensureConnected();
552
- try {
553
- const connection = ((_a = options.transaction) === null || _a === void 0 ? void 0 : _a.client) || this.pool;
554
- let sql = `SELECT MAX(${this.escapeIdentifier(options.column)}) as max FROM ${this.escapeIdentifier(options.table)}`;
555
- const values = [];
556
- if (options.where) {
557
- const { whereClause, whereParams } = this.buildWhereClause(options.where);
558
- sql += ` WHERE ${whereClause}`;
559
- values.push(...whereParams);
560
- }
561
- const [rows] = await connection.query(sql, values);
562
- return rows[0].max;
563
- }
564
- catch (error) {
565
- throw database_error_1.DatabaseError.fromDatabaseError(error, 'mysql');
566
- }
567
- }
568
- async aggregate(builtAggregation) {
569
- var _a;
570
- this.ensureConnected();
571
- try {
572
- const connection = ((_a = builtAggregation.options.transaction) === null || _a === void 0 ? void 0 : _a.client) || this.pool;
573
- const [rows] = await connection.query(builtAggregation.sql, builtAggregation.params);
574
- return rows[0] || {};
575
- }
576
- catch (error) {
577
- throw database_error_1.DatabaseError.fromDatabaseError(error, 'mysql');
578
- }
579
- }
580
- async groupBy(builtGroupBy) {
581
- var _a;
582
- this.ensureConnected();
583
- try {
584
- const connection = ((_a = builtGroupBy.options.transaction) === null || _a === void 0 ? void 0 : _a.client) || this.pool;
585
- const [rows] = await connection.query(builtGroupBy.sql, builtGroupBy.params);
586
- // Transform rows into IGroupByResult format
587
- const options = builtGroupBy.options;
588
- return rows.map((row) => {
589
- var _a;
590
- const group = {};
591
- const aggregates = {};
592
- for (const key of Object.keys(row)) {
593
- if ((_a = options.groupBy) === null || _a === void 0 ? void 0 : _a.includes(key)) {
594
- group[key] = row[key];
595
- }
596
- else {
597
- aggregates[key] = row[key];
598
- }
599
- }
600
- return { group, aggregates: aggregates };
601
- });
602
- }
603
- catch (error) {
604
- throw database_error_1.DatabaseError.fromDatabaseError(error, 'mysql');
605
- }
606
- }
607
- // ==================== TRANSACTION METHODS ====================
608
- async beginTransaction(isolationLevel, readOnly, timeout) {
609
- this.ensureConnected();
610
- try {
611
- const connection = await this.pool.getConnection();
612
- const id = `mysql_txn_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;
613
- // Set isolation level if specified
614
- if (isolationLevel) {
615
- await connection.query(`SET TRANSACTION ISOLATION LEVEL ${this.mapIsolationLevel(isolationLevel)}`);
616
- }
617
- // Set read-only if specified
618
- if (readOnly) {
619
- await connection.query('SET TRANSACTION READ ONLY');
620
- }
621
- // Begin transaction
622
- await connection.query('START TRANSACTION');
623
- // Set timeout if specified
624
- if (timeout) {
625
- await connection.query(`SET SESSION MAX_EXECUTION_TIME = ${timeout}`);
626
- }
627
- return {
628
- id,
629
- databaseType: 'mysql',
630
- isolationLevel: isolationLevel || enums_1.IsolationLevel.READ_COMMITTED,
631
- readOnly: readOnly || false,
632
- timeout,
633
- startedAt: new Date(),
634
- client: connection,
635
- savepoints: new Map(),
636
- status: 'active',
637
- };
638
- }
639
- catch (error) {
640
- throw database_error_1.DatabaseError.transactionError(`Failed to begin transaction: ${error.message}`, error);
641
- }
642
- }
643
- async commitTransaction(context) {
644
- try {
645
- await context.client.query('COMMIT');
646
- context.client.release();
647
- context.status = 'committed';
648
- }
649
- catch (error) {
650
- context.status = 'error';
651
- context.client.release();
652
- throw database_error_1.DatabaseError.transactionError(`Failed to commit transaction: ${error.message}`, error);
653
- }
654
- }
655
- async rollbackTransaction(context) {
656
- try {
657
- await context.client.query('ROLLBACK');
658
- context.client.release();
659
- context.status = 'rolled_back';
660
- }
661
- catch (error) {
662
- context.status = 'error';
663
- context.client.release();
664
- throw database_error_1.DatabaseError.transactionError(`Failed to rollback transaction: ${error.message}`, error);
665
- }
666
- }
667
- async createSavepoint(context, name) {
668
- try {
669
- await context.client.query(`SAVEPOINT ${this.escapeIdentifier(name)}`);
670
- const savepoint = {
671
- name,
672
- release: async () => {
673
- await this.releaseSavepoint(context, savepoint);
674
- },
675
- rollback: async () => {
676
- await this.rollbackToSavepoint(context, savepoint);
677
- },
678
- };
679
- context.savepoints.set(name, savepoint);
680
- return savepoint;
681
- }
682
- catch (error) {
683
- throw database_error_1.DatabaseError.transactionError(`Failed to create savepoint: ${error.message}`, error);
684
- }
685
- }
686
- async releaseSavepoint(context, savepoint) {
687
- try {
688
- await context.client.query(`RELEASE SAVEPOINT ${this.escapeIdentifier(savepoint.name)}`);
689
- context.savepoints.delete(savepoint.name);
690
- }
691
- catch (error) {
692
- throw database_error_1.DatabaseError.transactionError(`Failed to release savepoint: ${error.message}`, error);
693
- }
694
- }
695
- async rollbackToSavepoint(context, savepoint) {
696
- try {
697
- await context.client.query(`ROLLBACK TO SAVEPOINT ${this.escapeIdentifier(savepoint.name)}`);
698
- }
699
- catch (error) {
700
- throw database_error_1.DatabaseError.transactionError(`Failed to rollback to savepoint: ${error.message}`, error);
701
- }
702
- }
703
- supportsSavepoints() {
704
- return true;
705
- }
706
- // ==================== SCHEMA METHODS ====================
707
- async createTable(definition, options) {
708
- this.ensureConnected();
709
- try {
710
- const columnDefs = definition.columns.map(col => this.buildColumnDefinition(col)).join(', ');
711
- let sql = 'CREATE';
712
- if (options === null || options === void 0 ? void 0 : options.temporary)
713
- sql += ' TEMPORARY';
714
- sql += ' TABLE';
715
- if (options === null || options === void 0 ? void 0 : options.ifNotExists)
716
- sql += ' IF NOT EXISTS';
717
- sql += ` ${this.escapeIdentifier(definition.name)} (${columnDefs}`;
718
- // Add table constraints
719
- if (definition.constraints) {
720
- const constraintDefs = definition.constraints.map(c => this.buildConstraintDefinition(c)).join(', ');
721
- sql += `, ${constraintDefs}`;
722
- }
723
- sql += ') ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci';
724
- // Add table comment
725
- if (definition.comment) {
726
- sql += ` COMMENT=${this.escapeValue(definition.comment)}`;
727
- }
728
- await this.pool.query(sql);
729
- // Create indexes
730
- if (definition.indexes) {
731
- for (const index of definition.indexes) {
732
- await this.createIndex(index);
733
- }
734
- }
735
- }
736
- catch (error) {
737
- throw database_error_1.DatabaseError.schemaError(`Failed to create table: ${error.message}`, error);
738
- }
739
- }
740
- async alterTable(tableName, operations) {
741
- this.ensureConnected();
742
- try {
743
- for (const op of operations) {
744
- let sql = `ALTER TABLE ${this.escapeIdentifier(tableName)}`;
745
- switch (op.type) {
746
- case 'ADD':
747
- if (op.column) {
748
- sql += ` ADD COLUMN ${this.buildColumnDefinition(op.column)}`;
749
- }
750
- else if (op.constraint) {
751
- sql += ` ADD ${this.buildConstraintDefinition(op.constraint)}`;
752
- }
753
- break;
754
- case 'DROP':
755
- if (op.columnName) {
756
- sql += ` DROP COLUMN ${this.escapeIdentifier(op.columnName)}`;
757
- }
758
- else if (op.constraintName) {
759
- sql += ` DROP CONSTRAINT ${this.escapeIdentifier(op.constraintName)}`;
760
- }
761
- break;
762
- case 'MODIFY':
763
- if (op.column) {
764
- sql += ` MODIFY COLUMN ${this.buildColumnDefinition(op.column)}`;
765
- }
766
- break;
767
- case 'RENAME':
768
- if (op.oldName && op.newName) {
769
- sql += ` RENAME COLUMN ${this.escapeIdentifier(op.oldName)} TO ${this.escapeIdentifier(op.newName)}`;
770
- }
771
- break;
772
- }
773
- await this.pool.query(sql);
774
- }
775
- }
776
- catch (error) {
777
- throw database_error_1.DatabaseError.schemaError(`Failed to alter table: ${error.message}`, error);
778
- }
779
- }
780
- async dropTable(tableName, ifExists, cascade) {
781
- this.ensureConnected();
782
- try {
783
- let sql = 'DROP TABLE';
784
- if (ifExists)
785
- sql += ' IF EXISTS';
786
- sql += ` ${this.escapeIdentifier(tableName)}`;
787
- // MySQL doesn't support CASCADE in DROP TABLE
788
- await this.pool.query(sql);
789
- }
790
- catch (error) {
791
- throw database_error_1.DatabaseError.schemaError(`Failed to drop table: ${error.message}`, error);
792
- }
793
- }
794
- async listTables() {
795
- this.ensureConnected();
796
- try {
797
- const [rows] = await this.pool.query('SHOW TABLES');
798
- return rows.map((r) => Object.values(r)[0]);
799
- }
800
- catch (error) {
801
- throw database_error_1.DatabaseError.schemaError(`Failed to list tables: ${error.message}`, error);
802
- }
803
- }
804
- async listTablesWithInfo() {
805
- this.ensureConnected();
806
- try {
807
- const [rows] = await this.pool.query(`
808
- SELECT
809
- t.table_name as name,
810
- t.table_schema as \`schema\`,
811
- t.table_rows as estimated_row_count,
812
- t.table_comment as comment
813
- FROM information_schema.tables t
814
- WHERE t.table_schema = DATABASE()
815
- AND t.table_type = 'BASE TABLE'
816
- ORDER BY t.table_name
817
- `);
818
- return rows.map((r) => ({
819
- name: r.name,
820
- schema: r.schema,
821
- estimatedRowCount: r.estimated_row_count != null ? Number(r.estimated_row_count) : undefined,
822
- comment: r.comment || undefined,
823
- }));
824
- }
825
- catch (error) {
826
- throw database_error_1.DatabaseError.schemaError(`Failed to list tables with info: ${error.message}`, error);
827
- }
828
- }
829
- async tableExists(tableName) {
830
- this.ensureConnected();
831
- try {
832
- const [rows] = await this.pool.query(`SELECT COUNT(*) as count FROM information_schema.tables WHERE table_schema = DATABASE() AND table_name = ?`, [tableName]);
833
- return rows[0].count > 0;
834
- }
835
- catch (error) {
836
- throw database_error_1.DatabaseError.schemaError(`Failed to check table existence: ${error.message}`, error);
837
- }
838
- }
839
- async getTableSchema(tableName) {
840
- this.ensureConnected();
841
- try {
842
- // Get columns
843
- const [columns] = await this.pool.query(`SELECT
844
- COLUMN_NAME as name,
845
- DATA_TYPE as type,
846
- IS_NULLABLE = 'YES' as nullable,
847
- COLUMN_DEFAULT as default_value,
848
- CHARACTER_MAXIMUM_LENGTH as max_length,
849
- NUMERIC_PRECISION as \`precision\`,
850
- NUMERIC_SCALE as scale,
851
- COLUMN_KEY = 'PRI' as is_primary_key,
852
- COLUMN_KEY = 'UNI' as is_unique,
853
- EXTRA LIKE '%auto_increment%' as is_auto_increment,
854
- COLUMN_COMMENT as comment
855
- FROM information_schema.columns
856
- WHERE table_schema = DATABASE() AND table_name = ?
857
- ORDER BY ordinal_position`, [tableName]);
858
- // Get primary key
859
- const primaryKey = columns
860
- .filter((c) => c.is_primary_key)
861
- .map((c) => c.name);
862
- // Get indexes
863
- const indexes = await this.listIndexes(tableName);
864
- // Get constraints
865
- const [constraintRows] = await this.pool.query(`SELECT
866
- CONSTRAINT_NAME as name,
867
- CONSTRAINT_TYPE as type
868
- FROM information_schema.table_constraints
869
- WHERE table_schema = DATABASE() AND table_name = ?`, [tableName]);
870
- const columnInfos = columns.map((col) => ({
871
- name: col.name,
872
- type: col.type,
873
- nullable: !!col.nullable,
874
- defaultValue: col.default_value,
875
- isPrimaryKey: !!col.is_primary_key,
876
- isUnique: !!col.is_unique,
877
- isAutoIncrement: !!col.is_auto_increment,
878
- maxLength: col.max_length,
879
- precision: col.precision,
880
- scale: col.scale,
881
- comment: col.comment || undefined,
882
- }));
883
- const constraints = constraintRows.map((c) => ({
884
- name: c.name,
885
- type: c.type,
886
- columns: [], // Would need additional query to get columns
887
- }));
888
- return {
889
- name: tableName,
890
- columns: columnInfos,
891
- indexes,
892
- constraints,
893
- primaryKey: primaryKey.length > 0 ? primaryKey : undefined,
894
- };
895
- }
896
- catch (error) {
897
- throw database_error_1.DatabaseError.schemaError(`Failed to get table schema: ${error.message}`, error);
898
- }
899
- }
900
- async createIndex(index, ifNotExists, concurrent) {
901
- this.ensureConnected();
902
- try {
903
- let sql = 'CREATE';
904
- if (index.unique)
905
- sql += ' UNIQUE';
906
- // Index type for MySQL
907
- if (index.method === 'FULLTEXT') {
908
- sql += ' FULLTEXT';
909
- }
910
- else if (index.method === 'SPATIAL') {
911
- sql += ' SPATIAL';
912
- }
913
- sql += ' INDEX';
914
- sql += ` ${this.escapeIdentifier(index.name)} ON ${this.escapeIdentifier(index.table)}`;
915
- // Add columns
916
- const columnDefs = index.columns.map(col => {
917
- let def = this.escapeIdentifier(col.name);
918
- if (col.order)
919
- def += ` ${col.order}`;
920
- return def;
921
- }).join(', ');
922
- sql += ` (${columnDefs})`;
923
- // Add index type (BTREE, HASH)
924
- if (index.method && !['FULLTEXT', 'SPATIAL'].includes(index.method)) {
925
- sql += ` USING ${index.method}`;
926
- }
927
- // Add comment
928
- if (index.comment) {
929
- sql += ` COMMENT ${this.escapeValue(index.comment)}`;
930
- }
931
- await this.pool.query(sql);
932
- }
933
- catch (error) {
934
- throw database_error_1.DatabaseError.schemaError(`Failed to create index: ${error.message}`, error);
935
- }
936
- }
937
- async dropIndex(tableName, indexName, ifExists, concurrent, cascade) {
938
- this.ensureConnected();
939
- try {
940
- let sql = `DROP INDEX ${this.escapeIdentifier(indexName)} ON ${this.escapeIdentifier(tableName)}`;
941
- await this.pool.query(sql);
942
- }
943
- catch (error) {
944
- throw database_error_1.DatabaseError.schemaError(`Failed to drop index: ${error.message}`, error);
945
- }
946
- }
947
- async listIndexes(tableName, includeSystem) {
948
- this.ensureConnected();
949
- try {
950
- const [rows] = await this.pool.query(`SHOW INDEX FROM ${this.escapeIdentifier(tableName)}`);
951
- // Group by index name
952
- const indexMap = new Map();
953
- for (const row of rows) {
954
- const indexName = row.Key_name;
955
- if (!indexMap.has(indexName)) {
956
- indexMap.set(indexName, {
957
- name: indexName,
958
- table: tableName,
959
- columns: [],
960
- unique: !row.Non_unique,
961
- primaryKey: indexName === 'PRIMARY',
962
- type: row.Index_type,
963
- });
964
- }
965
- indexMap.get(indexName).columns.push(row.Column_name);
966
- }
967
- return Array.from(indexMap.values());
968
- }
969
- catch (error) {
970
- throw database_error_1.DatabaseError.schemaError(`Failed to list indexes: ${error.message}`, error);
971
- }
972
- }
973
- async getIndexStatistics(tableName, indexName) {
974
- this.ensureConnected();
975
- try {
976
- let sql = `
977
- SELECT
978
- index_name,
979
- table_name,
980
- stat_value * @@innodb_page_size as size_bytes
981
- FROM mysql.innodb_index_stats
982
- WHERE database_name = DATABASE() AND table_name = ? AND stat_name = 'size'
983
- `;
984
- const params = [tableName];
985
- if (indexName) {
986
- sql += ` AND index_name = ?`;
987
- params.push(indexName);
988
- }
989
- const [rows] = await this.pool.query(sql, params);
990
- return rows.map((row) => ({
991
- indexName: row.index_name,
992
- tableName: row.table_name,
993
- scans: 0, // MySQL doesn't provide this easily
994
- tuplesRead: 0,
995
- sizeBytes: parseInt(row.size_bytes, 10) || 0,
996
- sizeFormatted: this.formatBytes(parseInt(row.size_bytes, 10) || 0),
997
- }));
998
- }
999
- catch (error) {
1000
- throw database_error_1.DatabaseError.schemaError(`Failed to get index statistics: ${error.message}`, error);
1001
- }
1002
- }
1003
- // ==================== UTILITY METHODS ====================
1004
- escapeIdentifier(identifier) {
1005
- // MySQL uses backticks for identifiers
1006
- return `\`${identifier.replace(/`/g, '``')}\``;
1007
- }
1008
- escapeValue(value) {
1009
- if (value === null || value === undefined) {
1010
- return 'NULL';
1011
- }
1012
- if (typeof value === 'number') {
1013
- return String(value);
1014
- }
1015
- if (typeof value === 'boolean') {
1016
- return value ? '1' : '0';
1017
- }
1018
- if (value instanceof Date) {
1019
- return `'${value.toISOString().slice(0, 19).replace('T', ' ')}'`;
1020
- }
1021
- if (typeof value === 'object') {
1022
- return `'${JSON.stringify(value).replace(/'/g, "''")}'`;
1023
- }
1024
- // String - escape single quotes
1025
- return `'${String(value).replace(/'/g, "''")}'`;
1026
- }
1027
- /**
1028
- * Check if value is an update operator object
1029
- * Supports both lowercase (new) and uppercase (legacy) operators
1030
- */
1031
- isUpdateOperator(value) {
1032
- if (!value || typeof value !== 'object')
1033
- return false;
1034
- // Support both lowercase (Mongoose style) and uppercase (legacy) operators
1035
- const operators = [
1036
- '$inc', '$INC', '$dec', '$DEC', '$mul', '$MUL', '$min', '$MIN', '$max', '$MAX',
1037
- '$set', '$SET', '$unset', '$UNSET', '$push', '$PUSH', '$pull', '$PULL',
1038
- '$addToSet', '$ADDTOSET', '$currentDate', '$CURRENTDATE'
1039
- ];
1040
- return operators.some(op => op in value);
1041
- }
1042
- getParameterPlaceholder(index) {
1043
- // MySQL uses ? for all parameters
1044
- return '?';
1045
- }
1046
- getColumnTypeString(columnType, options) {
1047
- const typeMap = {
1048
- [enums_1.ColumnType.INTEGER]: 'INT',
1049
- [enums_1.ColumnType.BIGINT]: 'BIGINT',
1050
- [enums_1.ColumnType.SMALLINT]: 'SMALLINT',
1051
- [enums_1.ColumnType.FLOAT]: 'FLOAT',
1052
- [enums_1.ColumnType.DOUBLE]: 'DOUBLE',
1053
- [enums_1.ColumnType.DECIMAL]: (options === null || options === void 0 ? void 0 : options.precision)
1054
- ? `DECIMAL(${options.precision}${options.scale ? `, ${options.scale}` : ''})`
1055
- : 'DECIMAL(10,2)',
1056
- [enums_1.ColumnType.STRING]: (options === null || options === void 0 ? void 0 : options.maxLength) ? `VARCHAR(${options.maxLength})` : 'VARCHAR(255)',
1057
- [enums_1.ColumnType.TEXT]: 'TEXT',
1058
- [enums_1.ColumnType.BOOLEAN]: 'TINYINT(1)',
1059
- [enums_1.ColumnType.DATE]: 'DATE',
1060
- [enums_1.ColumnType.DATETIME]: 'DATETIME',
1061
- [enums_1.ColumnType.TIMESTAMP]: 'TIMESTAMP',
1062
- [enums_1.ColumnType.TIME]: 'TIME',
1063
- [enums_1.ColumnType.JSON]: 'JSON',
1064
- [enums_1.ColumnType.JSONB]: 'JSON', // MySQL uses JSON for both
1065
- [enums_1.ColumnType.UUID]: 'CHAR(36)',
1066
- [enums_1.ColumnType.BINARY]: 'BLOB',
1067
- [enums_1.ColumnType.ENUM]: (options === null || options === void 0 ? void 0 : options.enumValues)
1068
- ? `ENUM(${options.enumValues.map(v => `'${v}'`).join(', ')})`
1069
- : 'VARCHAR(255)',
1070
- [enums_1.ColumnType.ARRAY]: 'JSON', // MySQL doesn't have native arrays, use JSON
1071
- };
1072
- return typeMap[columnType] || columnType;
1073
- }
1074
- getSupportedFeatures() {
1075
- return [
1076
- base_adapter_1.DatabaseFeature.TRANSACTIONS,
1077
- base_adapter_1.DatabaseFeature.SAVEPOINTS,
1078
- base_adapter_1.DatabaseFeature.JSON,
1079
- base_adapter_1.DatabaseFeature.FULLTEXT_SEARCH,
1080
- base_adapter_1.DatabaseFeature.HASH_INDEX,
1081
- base_adapter_1.DatabaseFeature.UPSERT,
1082
- base_adapter_1.DatabaseFeature.FOREIGN_KEYS,
1083
- base_adapter_1.DatabaseFeature.CHECK_CONSTRAINTS,
1084
- base_adapter_1.DatabaseFeature.STORED_PROCEDURES,
1085
- base_adapter_1.DatabaseFeature.VIEWS,
1086
- base_adapter_1.DatabaseFeature.TRIGGERS,
1087
- base_adapter_1.DatabaseFeature.LIKE,
1088
- base_adapter_1.DatabaseFeature.BETWEEN,
1089
- base_adapter_1.DatabaseFeature.LIMIT_OFFSET,
1090
- base_adapter_1.DatabaseFeature.WINDOW_FUNCTIONS,
1091
- base_adapter_1.DatabaseFeature.CTE,
1092
- ];
1093
- }
1094
- parseError(error) {
1095
- const code = error.code || error.errno;
1096
- let type = enums_1.DatabaseErrorType.UNKNOWN_ERROR;
1097
- // Map MySQL error codes
1098
- switch (code) {
1099
- case 'ER_DUP_ENTRY':
1100
- case 1062:
1101
- type = enums_1.DatabaseErrorType.UNIQUE_VIOLATION;
1102
- break;
1103
- case 'ER_ROW_IS_REFERENCED':
1104
- case 'ER_NO_REFERENCED_ROW':
1105
- case 1451:
1106
- case 1452:
1107
- type = enums_1.DatabaseErrorType.FOREIGN_KEY_VIOLATION;
1108
- break;
1109
- case 'ER_BAD_NULL_ERROR':
1110
- case 1048:
1111
- type = enums_1.DatabaseErrorType.NOT_NULL_VIOLATION;
1112
- break;
1113
- case 'ER_ACCESS_DENIED_ERROR':
1114
- case 1045:
1115
- type = enums_1.DatabaseErrorType.AUTHENTICATION_ERROR;
1116
- break;
1117
- case 'ER_NO_SUCH_TABLE':
1118
- case 1146:
1119
- type = enums_1.DatabaseErrorType.SCHEMA_ERROR;
1120
- break;
1121
- case 'ECONNREFUSED':
1122
- case 'ETIMEDOUT':
1123
- type = enums_1.DatabaseErrorType.CONNECTION_ERROR;
1124
- break;
1125
- default:
1126
- if (typeof code === 'string' && code.startsWith('ER_')) {
1127
- type = enums_1.DatabaseErrorType.QUERY_ERROR;
1128
- }
1129
- }
1130
- return {
1131
- type,
1132
- message: error.message || 'Unknown database error',
1133
- code: String(code),
1134
- details: {
1135
- sqlState: error.sqlState,
1136
- sqlMessage: error.sqlMessage,
1137
- },
1138
- };
1139
- }
1140
- // ==================== PRIVATE HELPER METHODS ====================
1141
- ensureConnected() {
1142
- if (!this.connected || !this.pool) {
1143
- throw new database_error_1.DatabaseError('Not connected to MySQL database', enums_1.DatabaseErrorType.CONNECTION_ERROR);
1144
- }
1145
- }
1146
- buildWhereClause(where) {
1147
- const clauses = [];
1148
- const params = [];
1149
- for (const [key, value] of Object.entries(where)) {
1150
- // Normalize key to lowercase for logical operators (support both cases for backwards compatibility)
1151
- const normalizedKey = key.toLowerCase();
1152
- if (normalizedKey === '$and') {
1153
- const conditions = Array.isArray(value) ? value : [value];
1154
- const andClauses = [];
1155
- for (const cond of conditions) {
1156
- const andResult = this.buildWhereClause(cond);
1157
- andClauses.push(andResult.whereClause);
1158
- params.push(...andResult.whereParams);
1159
- }
1160
- clauses.push(`(${andClauses.join(' AND ')})`);
1161
- }
1162
- else if (normalizedKey === '$or') {
1163
- const conditions = Array.isArray(value) ? value : Object.entries(value).map(([k, v]) => ({ [k]: v }));
1164
- const orClauses = [];
1165
- for (const cond of conditions) {
1166
- const orResult = this.buildWhereClause(cond);
1167
- orClauses.push(orResult.whereClause);
1168
- params.push(...orResult.whereParams);
1169
- }
1170
- clauses.push(`(${orClauses.join(' OR ')})`);
1171
- }
1172
- else if (normalizedKey === '$not') {
1173
- const notResult = this.buildWhereClause(value);
1174
- clauses.push(`NOT (${notResult.whereClause})`);
1175
- params.push(...notResult.whereParams);
1176
- }
1177
- else if (normalizedKey === '$nor') {
1178
- const conditions = Array.isArray(value) ? value : [value];
1179
- const norClauses = [];
1180
- for (const cond of conditions) {
1181
- const norResult = this.buildWhereClause(cond);
1182
- norClauses.push(norResult.whereClause);
1183
- params.push(...norResult.whereParams);
1184
- }
1185
- clauses.push(`NOT (${norClauses.join(' OR ')})`);
1186
- }
1187
- else if (value !== null && typeof value === 'object' && !Array.isArray(value) && !(value instanceof Date)) {
1188
- // Handle operators
1189
- for (const [op, opValue] of Object.entries(value)) {
1190
- // Normalize operator to lowercase (support both cases for backwards compatibility)
1191
- const normalizedOp = op.toLowerCase();
1192
- switch (normalizedOp) {
1193
- case '$eq':
1194
- clauses.push(`${this.escapeIdentifier(key)} = ?`);
1195
- params.push(opValue);
1196
- break;
1197
- case '$ne':
1198
- clauses.push(`${this.escapeIdentifier(key)} != ?`);
1199
- params.push(opValue);
1200
- break;
1201
- case '$gt':
1202
- clauses.push(`${this.escapeIdentifier(key)} > ?`);
1203
- params.push(opValue);
1204
- break;
1205
- case '$gte':
1206
- clauses.push(`${this.escapeIdentifier(key)} >= ?`);
1207
- params.push(opValue);
1208
- break;
1209
- case '$lt':
1210
- clauses.push(`${this.escapeIdentifier(key)} < ?`);
1211
- params.push(opValue);
1212
- break;
1213
- case '$lte':
1214
- clauses.push(`${this.escapeIdentifier(key)} <= ?`);
1215
- params.push(opValue);
1216
- break;
1217
- case '$in':
1218
- clauses.push(`${this.escapeIdentifier(key)} IN (?)`);
1219
- params.push(opValue);
1220
- break;
1221
- case '$nin':
1222
- case '$not_in':
1223
- clauses.push(`${this.escapeIdentifier(key)} NOT IN (?)`);
1224
- params.push(opValue);
1225
- break;
1226
- case '$like':
1227
- clauses.push(`${this.escapeIdentifier(key)} LIKE ?`);
1228
- params.push(opValue);
1229
- break;
1230
- case '$ilike':
1231
- // MySQL uses LOWER() for case-insensitive comparison
1232
- clauses.push(`LOWER(${this.escapeIdentifier(key)}) LIKE LOWER(?)`);
1233
- params.push(opValue);
1234
- break;
1235
- case '$isnull':
1236
- case '$is_null':
1237
- clauses.push(`${this.escapeIdentifier(key)} IS ${opValue ? 'NULL' : 'NOT NULL'}`);
1238
- break;
1239
- case '$isnotnull':
1240
- case '$is_not_null':
1241
- clauses.push(`${this.escapeIdentifier(key)} IS ${opValue ? 'NOT NULL' : 'NULL'}`);
1242
- break;
1243
- case '$between':
1244
- const [min, max] = opValue;
1245
- clauses.push(`${this.escapeIdentifier(key)} BETWEEN ? AND ?`);
1246
- params.push(min, max);
1247
- break;
1248
- case '$contains':
1249
- // MySQL uses JSON_CONTAINS for JSON columns or FIND_IN_SET for comma-separated values
1250
- clauses.push(`JSON_CONTAINS(${this.escapeIdentifier(key)}, ?)`);
1251
- params.push(JSON.stringify(opValue));
1252
- break;
1253
- case '$overlaps':
1254
- // MySQL 8.0+ supports JSON_OVERLAPS
1255
- clauses.push(`JSON_OVERLAPS(${this.escapeIdentifier(key)}, ?)`);
1256
- params.push(JSON.stringify(opValue));
1257
- break;
1258
- case '$regex':
1259
- clauses.push(`${this.escapeIdentifier(key)} REGEXP ?`);
1260
- params.push(opValue);
1261
- break;
1262
- case '$exists':
1263
- clauses.push(`${this.escapeIdentifier(key)} IS ${opValue ? 'NOT NULL' : 'NULL'}`);
1264
- break;
1265
- }
1266
- }
1267
- }
1268
- else {
1269
- // Simple equality
1270
- clauses.push(`${this.escapeIdentifier(key)} = ?`);
1271
- params.push(value);
1272
- }
1273
- }
1274
- return {
1275
- whereClause: clauses.join(' AND '),
1276
- whereParams: params,
1277
- };
1278
- }
1279
- buildCountQuery(query) {
1280
- // Build a COUNT query from the original query
1281
- const fromIndex = query.sql.toUpperCase().indexOf('FROM');
1282
- const orderByIndex = query.sql.toUpperCase().indexOf('ORDER BY');
1283
- const limitIndex = query.sql.toUpperCase().indexOf('LIMIT');
1284
- let endIndex = query.sql.length;
1285
- if (orderByIndex > 0)
1286
- endIndex = Math.min(endIndex, orderByIndex);
1287
- if (limitIndex > 0)
1288
- endIndex = Math.min(endIndex, limitIndex);
1289
- return `SELECT COUNT(*) as count ${query.sql.substring(fromIndex, endIndex)}`;
1290
- }
1291
- buildColumnDefinition(column) {
1292
- let def = `${this.escapeIdentifier(column.name)} ${this.getColumnTypeString(column.type, column)}`;
1293
- if (column.autoIncrement) {
1294
- def += ' AUTO_INCREMENT';
1295
- }
1296
- if (column.nullable === false) {
1297
- def += ' NOT NULL';
1298
- }
1299
- if (column.unique) {
1300
- def += ' UNIQUE';
1301
- }
1302
- if (column.primaryKey) {
1303
- def += ' PRIMARY KEY';
1304
- }
1305
- if (column.defaultValue !== undefined) {
1306
- def += ` DEFAULT ${this.escapeValue(column.defaultValue)}`;
1307
- }
1308
- if (column.references) {
1309
- def += ` REFERENCES ${this.escapeIdentifier(column.references.table)}(${this.escapeIdentifier(column.references.column)})`;
1310
- if (column.references.onDelete) {
1311
- def += ` ON DELETE ${column.references.onDelete}`;
1312
- }
1313
- if (column.references.onUpdate) {
1314
- def += ` ON UPDATE ${column.references.onUpdate}`;
1315
- }
1316
- }
1317
- if (column.comment) {
1318
- def += ` COMMENT ${this.escapeValue(column.comment)}`;
1319
- }
1320
- return def;
1321
- }
1322
- buildConstraintDefinition(constraint) {
1323
- let def = `CONSTRAINT ${this.escapeIdentifier(constraint.name)}`;
1324
- switch (constraint.type) {
1325
- case 'PRIMARY_KEY':
1326
- def += ` PRIMARY KEY (${constraint.columns.map((c) => this.escapeIdentifier(c)).join(', ')})`;
1327
- break;
1328
- case 'UNIQUE':
1329
- def += ` UNIQUE (${constraint.columns.map((c) => this.escapeIdentifier(c)).join(', ')})`;
1330
- break;
1331
- case 'FOREIGN_KEY':
1332
- def += ` FOREIGN KEY (${constraint.columns.map((c) => this.escapeIdentifier(c)).join(', ')})`;
1333
- def += ` REFERENCES ${this.escapeIdentifier(constraint.references.table)}(${this.escapeIdentifier(constraint.references.column)})`;
1334
- if (constraint.references.onDelete) {
1335
- def += ` ON DELETE ${constraint.references.onDelete}`;
1336
- }
1337
- if (constraint.references.onUpdate) {
1338
- def += ` ON UPDATE ${constraint.references.onUpdate}`;
1339
- }
1340
- break;
1341
- case 'CHECK':
1342
- def += ` CHECK (${constraint.expression})`;
1343
- break;
1344
- }
1345
- return def;
1346
- }
1347
- mapIsolationLevel(level) {
1348
- switch (level) {
1349
- case enums_1.IsolationLevel.READ_UNCOMMITTED:
1350
- return 'READ UNCOMMITTED';
1351
- case enums_1.IsolationLevel.READ_COMMITTED:
1352
- return 'READ COMMITTED';
1353
- case enums_1.IsolationLevel.REPEATABLE_READ:
1354
- return 'REPEATABLE READ';
1355
- case enums_1.IsolationLevel.SERIALIZABLE:
1356
- return 'SERIALIZABLE';
1357
- default:
1358
- return 'REPEATABLE READ'; // MySQL default
1359
- }
1360
- }
1361
- formatBytes(bytes) {
1362
- if (bytes === 0)
1363
- return '0 B';
1364
- const k = 1024;
1365
- const sizes = ['B', 'KB', 'MB', 'GB', 'TB'];
1366
- const i = Math.floor(Math.log(bytes) / Math.log(k));
1367
- return parseFloat((bytes / Math.pow(k, i)).toFixed(2)) + ' ' + sizes[i];
1368
- }
1369
- }
1370
- exports.MySQLAdapter = MySQLAdapter;
1371
- //# sourceMappingURL=mysql.adapter.js.map