equipped 5.2.9 → 5.3.0

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 (781) hide show
  1. package/CHANGELOG.md +95 -0
  2. package/README.md +362 -34
  3. package/dist/cjs/cache/adapters/in-memory/index.cjs +824 -0
  4. package/dist/cjs/cache/adapters/in-memory/index.cjs.map +1 -0
  5. package/dist/cjs/cache/adapters/in-memory/index.min.cjs +4 -0
  6. package/dist/cjs/cache/adapters/in-memory/index.min.cjs.map +1 -0
  7. package/dist/cjs/cache/adapters/redis/index.cjs +844 -0
  8. package/dist/cjs/cache/adapters/redis/index.cjs.map +1 -0
  9. package/dist/cjs/cache/adapters/redis/index.min.cjs +4 -0
  10. package/dist/cjs/cache/adapters/redis/index.min.cjs.map +1 -0
  11. package/dist/cjs/cache/index.cjs +602 -4
  12. package/dist/cjs/cache/index.cjs.map +1 -1
  13. package/dist/cjs/cache/index.min.cjs +3 -1
  14. package/dist/cjs/cache/index.min.cjs.map +1 -1
  15. package/dist/cjs/dbs/adapters/mongodb/index.cjs +1314 -0
  16. package/dist/cjs/dbs/adapters/mongodb/index.cjs.map +1 -0
  17. package/dist/cjs/dbs/adapters/mongodb/index.min.cjs +4 -0
  18. package/dist/cjs/dbs/adapters/mongodb/index.min.cjs.map +1 -0
  19. package/dist/cjs/dbs/index.cjs +965 -6
  20. package/dist/cjs/dbs/index.cjs.map +1 -1
  21. package/dist/cjs/dbs/index.min.cjs +3 -1
  22. package/dist/cjs/dbs/index.min.cjs.map +1 -1
  23. package/dist/cjs/errors/index.cjs +127 -8
  24. package/dist/cjs/errors/index.cjs.map +1 -1
  25. package/dist/cjs/errors/index.min.cjs +1 -1
  26. package/dist/cjs/errors/index.min.cjs.map +1 -1
  27. package/dist/cjs/events/adapters/kafka/index.cjs +845 -0
  28. package/dist/cjs/events/adapters/kafka/index.cjs.map +1 -0
  29. package/dist/cjs/events/adapters/kafka/index.min.cjs +4 -0
  30. package/dist/cjs/events/adapters/kafka/index.min.cjs.map +1 -0
  31. package/dist/cjs/events/adapters/rabbitmq/index.cjs +836 -0
  32. package/dist/cjs/events/adapters/rabbitmq/index.cjs.map +1 -0
  33. package/dist/cjs/events/adapters/rabbitmq/index.min.cjs +4 -0
  34. package/dist/cjs/events/adapters/rabbitmq/index.min.cjs.map +1 -0
  35. package/dist/cjs/events/index.cjs +33 -4
  36. package/dist/cjs/events/index.cjs.map +1 -1
  37. package/dist/cjs/events/index.min.cjs +1 -1
  38. package/dist/cjs/events/index.min.cjs.map +1 -1
  39. package/dist/cjs/index.cjs +588 -1
  40. package/dist/cjs/index.cjs.map +1 -1
  41. package/dist/cjs/index.min.cjs +3 -1
  42. package/dist/cjs/index.min.cjs.map +1 -1
  43. package/dist/cjs/instance/index.cjs +514 -64
  44. package/dist/cjs/instance/index.cjs.map +1 -1
  45. package/dist/cjs/instance/index.min.cjs +3 -3
  46. package/dist/cjs/instance/index.min.cjs.map +1 -1
  47. package/dist/cjs/jobs/adapters/redis/index.cjs +979 -0
  48. package/dist/cjs/jobs/adapters/redis/index.cjs.map +1 -0
  49. package/dist/cjs/jobs/adapters/redis/index.min.cjs +4 -0
  50. package/dist/cjs/jobs/adapters/redis/index.min.cjs.map +1 -0
  51. package/dist/cjs/jobs/index.cjs +55 -2
  52. package/dist/cjs/jobs/index.cjs.map +1 -1
  53. package/dist/cjs/jobs/index.min.cjs +1 -1
  54. package/dist/cjs/jobs/index.min.cjs.map +1 -1
  55. package/dist/cjs/orm/adapters/in-memory/index.cjs +2551 -0
  56. package/dist/cjs/orm/adapters/in-memory/index.cjs.map +1 -0
  57. package/dist/cjs/orm/adapters/in-memory/index.min.cjs +4 -0
  58. package/dist/cjs/orm/adapters/in-memory/index.min.cjs.map +1 -0
  59. package/dist/cjs/orm/adapters/json/index.cjs +3518 -0
  60. package/dist/cjs/orm/adapters/json/index.cjs.map +1 -0
  61. package/dist/cjs/orm/adapters/json/index.min.cjs +4 -0
  62. package/dist/cjs/orm/adapters/json/index.min.cjs.map +1 -0
  63. package/dist/cjs/orm/adapters/mongodb/index.cjs +3299 -0
  64. package/dist/cjs/orm/adapters/mongodb/index.cjs.map +1 -0
  65. package/dist/cjs/orm/adapters/mongodb/index.min.cjs +4 -0
  66. package/dist/cjs/orm/adapters/mongodb/index.min.cjs.map +1 -0
  67. package/dist/cjs/orm/adapters/postgresql/index.cjs +4114 -0
  68. package/dist/cjs/orm/adapters/postgresql/index.cjs.map +1 -0
  69. package/dist/cjs/orm/adapters/postgresql/index.min.cjs +49 -0
  70. package/dist/cjs/orm/adapters/postgresql/index.min.cjs.map +1 -0
  71. package/dist/cjs/orm/index.cjs +9216 -0
  72. package/dist/cjs/orm/index.cjs.map +1 -0
  73. package/dist/cjs/orm/index.min.cjs +4 -0
  74. package/dist/cjs/orm/index.min.cjs.map +1 -0
  75. package/dist/cjs/server/adapters/express/index.cjs +1967 -0
  76. package/dist/cjs/server/adapters/express/index.cjs.map +1 -0
  77. package/dist/cjs/server/adapters/express/index.min.cjs +32 -0
  78. package/dist/cjs/server/adapters/express/index.min.cjs.map +1 -0
  79. package/dist/cjs/server/adapters/fastify/index.cjs +1974 -0
  80. package/dist/cjs/server/adapters/fastify/index.cjs.map +1 -0
  81. package/dist/cjs/server/adapters/fastify/index.min.cjs +32 -0
  82. package/dist/cjs/server/adapters/fastify/index.min.cjs.map +1 -0
  83. package/dist/cjs/server/index.cjs +1811 -9
  84. package/dist/cjs/server/index.cjs.map +1 -1
  85. package/dist/cjs/server/index.min.cjs +31 -1
  86. package/dist/cjs/server/index.min.cjs.map +1 -1
  87. package/dist/cjs/types/index.cjs +18 -1
  88. package/dist/cjs/types/index.cjs.map +1 -1
  89. package/dist/cjs/types/index.min.cjs +1 -1
  90. package/dist/cjs/types/index.min.cjs.map +1 -1
  91. package/dist/cjs/utilities/index.cjs +862 -7
  92. package/dist/cjs/utilities/index.cjs.map +1 -1
  93. package/dist/cjs/utilities/index.min.cjs +3 -1
  94. package/dist/cjs/utilities/index.min.cjs.map +1 -1
  95. package/dist/cjs/validations/index.cjs +679 -10
  96. package/dist/cjs/validations/index.cjs.map +1 -1
  97. package/dist/cjs/validations/index.min.cjs +3 -1
  98. package/dist/cjs/validations/index.min.cjs.map +1 -1
  99. package/dist/esm/cache/adapters/in-memory/index.min.mjs +2 -0
  100. package/dist/esm/cache/adapters/in-memory/index.min.mjs.map +1 -0
  101. package/dist/esm/cache/adapters/in-memory/index.mjs +93 -0
  102. package/dist/esm/cache/adapters/in-memory/index.mjs.map +1 -0
  103. package/dist/esm/cache/adapters/redis/index.min.mjs +2 -0
  104. package/dist/esm/cache/adapters/redis/index.mjs +13 -0
  105. package/dist/esm/cache/index.min.mjs +1 -1
  106. package/dist/esm/cache/index.min.mjs.map +1 -1
  107. package/dist/esm/cache/index.mjs +9 -4
  108. package/dist/esm/cache/index.mjs.map +1 -1
  109. package/dist/esm/chunk-4JLDXF7T.min.mjs +2 -0
  110. package/dist/esm/chunk-4JLDXF7T.min.mjs.map +1 -0
  111. package/dist/{types/events/types/kafka.js → esm/chunk-4MXYZS5R.mjs} +60 -37
  112. package/dist/esm/chunk-4MXYZS5R.mjs.map +1 -0
  113. package/dist/esm/chunk-5VW3JAFR.min.mjs +2 -0
  114. package/dist/esm/chunk-5VW3JAFR.min.mjs.map +1 -0
  115. package/dist/esm/chunk-AKQBDYUO.mjs +126 -0
  116. package/dist/esm/chunk-AKQBDYUO.mjs.map +1 -0
  117. package/dist/esm/chunk-AQY7QVYI.min.mjs +2 -0
  118. package/dist/esm/chunk-B5QQ32YY.min.mjs +2 -0
  119. package/dist/esm/chunk-B5QQ32YY.min.mjs.map +1 -0
  120. package/dist/esm/chunk-BJNIUCPT.min.mjs +2 -0
  121. package/dist/esm/chunk-BJNIUCPT.min.mjs.map +1 -0
  122. package/dist/esm/chunk-DKPZJIIR.mjs +29 -0
  123. package/dist/esm/chunk-DKPZJIIR.mjs.map +1 -0
  124. package/dist/esm/chunk-DSUJ5FUL.min.mjs +2 -0
  125. package/dist/esm/chunk-DSUJ5FUL.min.mjs.map +1 -0
  126. package/dist/esm/chunk-FLAPYQUT.min.mjs +32 -0
  127. package/dist/esm/chunk-FLAPYQUT.min.mjs.map +1 -0
  128. package/dist/esm/chunk-J5LGTIGS.mjs +10 -0
  129. package/dist/esm/chunk-JH6EBXY4.mjs +53 -0
  130. package/dist/esm/chunk-JH6EBXY4.mjs.map +1 -0
  131. package/dist/esm/chunk-MDQKODYQ.mjs +2035 -0
  132. package/dist/esm/chunk-MDQKODYQ.mjs.map +1 -0
  133. package/dist/esm/chunk-PCAUXBAG.min.mjs +2 -0
  134. package/dist/esm/chunk-PCAUXBAG.min.mjs.map +1 -0
  135. package/dist/esm/chunk-PNZNNUMN.mjs +113 -0
  136. package/dist/esm/chunk-PNZNNUMN.mjs.map +1 -0
  137. package/dist/esm/chunk-PQCBVQL6.mjs +1280 -0
  138. package/dist/esm/chunk-PQCBVQL6.mjs.map +1 -0
  139. package/dist/esm/chunk-QHLKB47N.min.mjs +2 -0
  140. package/dist/esm/chunk-QHLKB47N.min.mjs.map +1 -0
  141. package/dist/esm/chunk-SGZNOYC3.min.mjs +2 -0
  142. package/dist/esm/chunk-SGZNOYC3.min.mjs.map +1 -0
  143. package/dist/esm/chunk-TVTYDU2D.mjs +795 -0
  144. package/dist/esm/chunk-TVTYDU2D.mjs.map +1 -0
  145. package/dist/esm/chunk-VCCS7CAI.mjs +8 -0
  146. package/dist/esm/chunk-VCCS7CAI.mjs.map +1 -0
  147. package/dist/esm/chunk-Z2TZ3KR7.mjs +22 -0
  148. package/dist/esm/chunk-Z2TZ3KR7.mjs.map +1 -0
  149. package/dist/esm/chunk-ZGMFFK6Y.min.mjs +2 -0
  150. package/dist/esm/chunk-ZGMFFK6Y.min.mjs.map +1 -0
  151. package/dist/esm/dbs/adapters/mongodb/index.min.mjs +2 -0
  152. package/dist/esm/dbs/adapters/mongodb/index.min.mjs.map +1 -0
  153. package/dist/esm/dbs/adapters/mongodb/index.mjs +419 -0
  154. package/dist/esm/dbs/adapters/mongodb/index.mjs.map +1 -0
  155. package/dist/esm/dbs/index.min.mjs +1 -1
  156. package/dist/esm/dbs/index.min.mjs.map +1 -1
  157. package/dist/esm/dbs/index.mjs +22 -6
  158. package/dist/esm/dbs/index.mjs.map +1 -1
  159. package/dist/esm/errors/index.min.mjs +1 -1
  160. package/dist/esm/errors/index.min.mjs.map +1 -1
  161. package/dist/esm/errors/index.mjs +22 -8
  162. package/dist/esm/errors/index.mjs.map +1 -1
  163. package/dist/esm/events/adapters/kafka/index.min.mjs +2 -0
  164. package/dist/esm/events/adapters/kafka/index.min.mjs.map +1 -0
  165. package/dist/esm/events/adapters/kafka/index.mjs +12 -0
  166. package/dist/esm/events/adapters/kafka/index.mjs.map +1 -0
  167. package/dist/esm/events/adapters/rabbitmq/index.min.mjs +2 -0
  168. package/dist/esm/events/adapters/rabbitmq/index.min.mjs.map +1 -0
  169. package/dist/esm/events/adapters/rabbitmq/index.mjs +92 -0
  170. package/dist/esm/events/adapters/rabbitmq/index.mjs.map +1 -0
  171. package/dist/esm/events/index.min.mjs +1 -1
  172. package/dist/esm/events/index.min.mjs.map +1 -1
  173. package/dist/esm/events/index.mjs +7 -4
  174. package/dist/esm/events/index.mjs.map +1 -1
  175. package/dist/esm/index.min.mjs +1 -1
  176. package/dist/esm/index.min.mjs.map +1 -1
  177. package/dist/esm/index.mjs +8 -1
  178. package/dist/esm/index.mjs.map +1 -1
  179. package/dist/esm/instance/index.min.mjs +1 -3
  180. package/dist/esm/instance/index.min.mjs.map +1 -1
  181. package/dist/esm/instance/index.mjs +4 -132
  182. package/dist/esm/instance/index.mjs.map +1 -1
  183. package/dist/esm/introspection-32BRYKYY.mjs +10 -0
  184. package/dist/esm/introspection-32BRYKYY.mjs.map +1 -0
  185. package/dist/esm/introspection-A72WMWE3.min.mjs +2 -0
  186. package/dist/esm/introspection-A72WMWE3.min.mjs.map +1 -0
  187. package/dist/esm/jobs/adapters/redis/index.min.mjs +2 -0
  188. package/dist/esm/jobs/adapters/redis/index.min.mjs.map +1 -0
  189. package/dist/esm/jobs/{types/redis.mjs → adapters/redis/index.mjs} +71 -56
  190. package/dist/esm/jobs/adapters/redis/index.mjs.map +1 -0
  191. package/dist/esm/jobs/index.min.mjs +1 -1
  192. package/dist/esm/jobs/index.min.mjs.map +1 -1
  193. package/dist/esm/jobs/index.mjs +9 -2
  194. package/dist/esm/jobs/index.mjs.map +1 -1
  195. package/dist/esm/orm/adapters/in-memory/index.min.mjs +2 -0
  196. package/dist/esm/orm/adapters/in-memory/index.min.mjs.map +1 -0
  197. package/dist/esm/orm/adapters/in-memory/index.mjs +11 -0
  198. package/dist/esm/orm/adapters/in-memory/index.mjs.map +1 -0
  199. package/dist/esm/orm/adapters/json/index.min.mjs +2 -0
  200. package/dist/esm/orm/adapters/json/index.min.mjs.map +1 -0
  201. package/dist/esm/orm/adapters/json/index.mjs +980 -0
  202. package/dist/esm/orm/adapters/json/index.mjs.map +1 -0
  203. package/dist/esm/orm/adapters/mongodb/index.min.mjs +2 -0
  204. package/dist/esm/orm/adapters/mongodb/index.min.mjs.map +1 -0
  205. package/dist/esm/orm/adapters/mongodb/index.mjs +1539 -0
  206. package/dist/esm/orm/adapters/mongodb/index.mjs.map +1 -0
  207. package/dist/esm/orm/adapters/postgresql/index.min.mjs +47 -0
  208. package/dist/esm/orm/adapters/postgresql/index.min.mjs.map +1 -0
  209. package/dist/esm/orm/adapters/postgresql/index.mjs +2070 -0
  210. package/dist/esm/orm/adapters/postgresql/index.mjs.map +1 -0
  211. package/dist/esm/orm/index.min.mjs +2 -0
  212. package/dist/esm/orm/index.min.mjs.map +1 -0
  213. package/dist/esm/orm/index.mjs +7326 -0
  214. package/dist/esm/orm/index.mjs.map +1 -0
  215. package/dist/esm/server/adapters/express/index.min.mjs +2 -0
  216. package/dist/esm/server/adapters/express/index.min.mjs.map +1 -0
  217. package/dist/esm/server/adapters/express/index.mjs +177 -0
  218. package/dist/esm/server/adapters/express/index.mjs.map +1 -0
  219. package/dist/esm/server/adapters/fastify/index.min.mjs +2 -0
  220. package/dist/esm/server/adapters/fastify/index.min.mjs.map +1 -0
  221. package/dist/esm/server/adapters/fastify/index.mjs +185 -0
  222. package/dist/esm/server/adapters/fastify/index.mjs.map +1 -0
  223. package/dist/esm/server/index.min.mjs +1 -1
  224. package/dist/esm/server/index.min.mjs.map +1 -1
  225. package/dist/esm/server/index.mjs +38 -9
  226. package/dist/esm/server/index.mjs.map +1 -1
  227. package/dist/esm/types/index.min.mjs +0 -1
  228. package/dist/esm/types/index.min.mjs.map +1 -1
  229. package/dist/esm/types/index.mjs +0 -1
  230. package/dist/esm/types/index.mjs.map +1 -1
  231. package/dist/esm/utilities/index.min.mjs +1 -1
  232. package/dist/esm/utilities/index.min.mjs.map +1 -1
  233. package/dist/esm/utilities/index.mjs +22 -9
  234. package/dist/esm/utilities/index.mjs.map +1 -1
  235. package/dist/esm/validations/index.min.mjs +1 -1
  236. package/dist/esm/validations/index.min.mjs.map +1 -1
  237. package/dist/esm/validations/index.mjs +8 -18
  238. package/dist/esm/validations/index.mjs.map +1 -1
  239. package/dist/types/adapter-Coap9ISX.d.ts +1435 -0
  240. package/dist/types/{fastify-DLPUK3vD.d.ts → base-DVr0fHil.d.ts} +76 -143
  241. package/dist/types/cache/adapters/in-memory/index.d.ts +21 -0
  242. package/dist/types/cache/adapters/in-memory/index.js +92 -0
  243. package/dist/types/cache/adapters/redis/index.d.ts +73 -0
  244. package/dist/types/cache/adapters/redis/index.js +12 -0
  245. package/dist/types/cache/index.d.ts +2 -42
  246. package/dist/types/cache/index.js +9 -4
  247. package/dist/types/chunk-3M4PBZAQ.js +125 -0
  248. package/dist/types/chunk-3TKJGSCZ.js +21 -0
  249. package/dist/types/chunk-65EHKCDZ.js +112 -0
  250. package/dist/types/chunk-JQ2FWX4W.js +1279 -0
  251. package/dist/types/chunk-KZKFYO4V.js +7 -0
  252. package/dist/types/chunk-LN3A6R4Y.js +28 -0
  253. package/dist/types/chunk-MLKGABMK.js +9 -0
  254. package/dist/types/chunk-NJ2FHI3U.js +794 -0
  255. package/dist/types/chunk-OHFTQGQG.js +52 -0
  256. package/dist/{esm/events/types/kafka.mjs → types/chunk-XGGGAEET.js} +59 -38
  257. package/dist/types/chunk-YTY3EFNB.js +2034 -0
  258. package/dist/types/{core-BrkNSwvc.d.ts → core-tNlIMH9Y.d.ts} +48 -38
  259. package/dist/types/dbs/adapters/mongodb/index.d.ts +43 -0
  260. package/dist/types/dbs/adapters/mongodb/index.js +418 -0
  261. package/dist/types/dbs/index.d.ts +14 -12
  262. package/dist/types/dbs/index.js +22 -6
  263. package/dist/types/equippedError-Cmo60Kn-.d.ts +8 -0
  264. package/dist/types/errors/index.d.ts +3 -3
  265. package/dist/types/errors/index.js +22 -8
  266. package/dist/types/events/adapters/kafka/index.d.ts +83 -0
  267. package/dist/types/events/adapters/kafka/index.js +11 -0
  268. package/dist/types/events/adapters/rabbitmq/index.d.ts +41 -0
  269. package/dist/types/events/adapters/rabbitmq/index.js +91 -0
  270. package/dist/types/events/index.d.ts +11 -11
  271. package/dist/types/events/index.js +7 -4
  272. package/dist/types/index.d.ts +2 -25
  273. package/dist/types/index.js +8 -1
  274. package/dist/types/instance/index.d.ts +12 -179
  275. package/dist/types/instance/index.js +4 -132
  276. package/dist/types/introspection-VOIU3XE6.js +9 -0
  277. package/dist/types/jobs/adapters/redis/index.d.ts +93 -0
  278. package/dist/types/jobs/{types/redis.js → adapters/redis/index.js} +70 -55
  279. package/dist/types/jobs/index.d.ts +19 -35
  280. package/dist/types/jobs/index.js +9 -2
  281. package/dist/types/orm/adapters/in-memory/index.d.ts +92 -0
  282. package/dist/types/orm/adapters/in-memory/index.js +10 -0
  283. package/dist/types/orm/adapters/json/index.d.ts +72 -0
  284. package/dist/types/orm/adapters/json/index.js +979 -0
  285. package/dist/types/orm/adapters/mongodb/index.d.ts +74 -0
  286. package/dist/types/orm/adapters/mongodb/index.js +1538 -0
  287. package/dist/types/orm/adapters/postgresql/index.d.ts +112 -0
  288. package/dist/types/orm/adapters/postgresql/index.js +2069 -0
  289. package/dist/types/orm/index.d.ts +160 -0
  290. package/dist/types/orm/index.js +7325 -0
  291. package/dist/types/{requestError-C2PNWUrt.d.ts → requestError-DdaL8hc3.d.ts} +2 -8
  292. package/dist/types/server/adapters/express/index.d.ts +196 -0
  293. package/dist/types/server/adapters/express/index.js +176 -0
  294. package/dist/types/server/adapters/fastify/index.d.ts +221 -0
  295. package/dist/types/server/adapters/fastify/index.js +184 -0
  296. package/dist/types/server/index.d.ts +10 -11
  297. package/dist/types/server/index.js +38 -9
  298. package/dist/types/types/index.js +0 -1
  299. package/dist/types/utilities/index.d.ts +22 -9
  300. package/dist/types/utilities/index.js +22 -9
  301. package/dist/types/{validationError-Bw8OYv5s.d.ts → validationError-oigtHqBi.d.ts} +1 -1
  302. package/dist/types/validations/index.d.ts +3 -2
  303. package/dist/types/validations/index.js +8 -18
  304. package/package.json +155 -18
  305. package/dist/cjs/audit/events.cjs +0 -101
  306. package/dist/cjs/audit/events.cjs.map +0 -1
  307. package/dist/cjs/audit/events.min.cjs +0 -2
  308. package/dist/cjs/audit/events.min.cjs.map +0 -1
  309. package/dist/cjs/audit/index.cjs +0 -2
  310. package/dist/cjs/audit/index.cjs.map +0 -1
  311. package/dist/cjs/audit/index.min.cjs +0 -2
  312. package/dist/cjs/audit/index.min.cjs.map +0 -1
  313. package/dist/cjs/cache/base.cjs +0 -6
  314. package/dist/cjs/cache/base.cjs.map +0 -1
  315. package/dist/cjs/cache/base.min.cjs +0 -2
  316. package/dist/cjs/cache/base.min.cjs.map +0 -1
  317. package/dist/cjs/cache/pipes.cjs +0 -16
  318. package/dist/cjs/cache/pipes.cjs.map +0 -1
  319. package/dist/cjs/cache/pipes.min.cjs +0 -2
  320. package/dist/cjs/cache/pipes.min.cjs.map +0 -1
  321. package/dist/cjs/cache/types/in-memory.cjs +0 -47
  322. package/dist/cjs/cache/types/in-memory.cjs.map +0 -1
  323. package/dist/cjs/cache/types/in-memory.min.cjs +0 -2
  324. package/dist/cjs/cache/types/in-memory.min.cjs.map +0 -1
  325. package/dist/cjs/cache/types/redis.cjs +0 -55
  326. package/dist/cjs/cache/types/redis.cjs.map +0 -1
  327. package/dist/cjs/cache/types/redis.min.cjs +0 -2
  328. package/dist/cjs/cache/types/redis.min.cjs.map +0 -1
  329. package/dist/cjs/dbs/base/changes.cjs +0 -36
  330. package/dist/cjs/dbs/base/changes.cjs.map +0 -1
  331. package/dist/cjs/dbs/base/changes.min.cjs +0 -2
  332. package/dist/cjs/dbs/base/changes.min.cjs.map +0 -1
  333. package/dist/cjs/dbs/base/core.cjs +0 -1
  334. package/dist/cjs/dbs/base/core.cjs.map +0 -1
  335. package/dist/cjs/dbs/base/core.min.cjs +0 -1
  336. package/dist/cjs/dbs/base/core.min.cjs.map +0 -1
  337. package/dist/cjs/dbs/base/db.cjs +0 -14
  338. package/dist/cjs/dbs/base/db.cjs.map +0 -1
  339. package/dist/cjs/dbs/base/db.min.cjs +0 -2
  340. package/dist/cjs/dbs/base/db.min.cjs.map +0 -1
  341. package/dist/cjs/dbs/base/types.cjs +0 -2
  342. package/dist/cjs/dbs/base/types.cjs.map +0 -1
  343. package/dist/cjs/dbs/base/types.min.cjs +0 -2
  344. package/dist/cjs/dbs/base/types.min.cjs.map +0 -1
  345. package/dist/cjs/dbs/mongo/changes.cjs +0 -81
  346. package/dist/cjs/dbs/mongo/changes.cjs.map +0 -1
  347. package/dist/cjs/dbs/mongo/changes.min.cjs +0 -2
  348. package/dist/cjs/dbs/mongo/changes.min.cjs.map +0 -1
  349. package/dist/cjs/dbs/mongo/db.cjs +0 -225
  350. package/dist/cjs/dbs/mongo/db.cjs.map +0 -1
  351. package/dist/cjs/dbs/mongo/db.min.cjs +0 -2
  352. package/dist/cjs/dbs/mongo/db.min.cjs.map +0 -1
  353. package/dist/cjs/dbs/mongo/query.cjs +0 -66
  354. package/dist/cjs/dbs/mongo/query.cjs.map +0 -1
  355. package/dist/cjs/dbs/mongo/query.min.cjs +0 -2
  356. package/dist/cjs/dbs/mongo/query.min.cjs.map +0 -1
  357. package/dist/cjs/dbs/pipes.cjs +0 -104
  358. package/dist/cjs/dbs/pipes.cjs.map +0 -1
  359. package/dist/cjs/dbs/pipes.min.cjs +0 -2
  360. package/dist/cjs/dbs/pipes.min.cjs.map +0 -1
  361. package/dist/cjs/errors/equippedError.cjs +0 -12
  362. package/dist/cjs/errors/equippedError.cjs.map +0 -1
  363. package/dist/cjs/errors/equippedError.min.cjs +0 -2
  364. package/dist/cjs/errors/equippedError.min.cjs.map +0 -1
  365. package/dist/cjs/errors/requestError.cjs +0 -12
  366. package/dist/cjs/errors/requestError.cjs.map +0 -1
  367. package/dist/cjs/errors/requestError.min.cjs +0 -2
  368. package/dist/cjs/errors/requestError.min.cjs.map +0 -1
  369. package/dist/cjs/errors/types/badRequestError.cjs +0 -12
  370. package/dist/cjs/errors/types/badRequestError.cjs.map +0 -1
  371. package/dist/cjs/errors/types/badRequestError.min.cjs +0 -2
  372. package/dist/cjs/errors/types/badRequestError.min.cjs.map +0 -1
  373. package/dist/cjs/errors/types/notAuthenticatedError.cjs +0 -12
  374. package/dist/cjs/errors/types/notAuthenticatedError.cjs.map +0 -1
  375. package/dist/cjs/errors/types/notAuthenticatedError.min.cjs +0 -2
  376. package/dist/cjs/errors/types/notAuthenticatedError.min.cjs.map +0 -1
  377. package/dist/cjs/errors/types/notAuthorizedError.cjs +0 -12
  378. package/dist/cjs/errors/types/notAuthorizedError.cjs.map +0 -1
  379. package/dist/cjs/errors/types/notAuthorizedError.min.cjs +0 -2
  380. package/dist/cjs/errors/types/notAuthorizedError.min.cjs.map +0 -1
  381. package/dist/cjs/errors/types/notFoundError.cjs +0 -12
  382. package/dist/cjs/errors/types/notFoundError.cjs.map +0 -1
  383. package/dist/cjs/errors/types/notFoundError.min.cjs +0 -2
  384. package/dist/cjs/errors/types/notFoundError.min.cjs.map +0 -1
  385. package/dist/cjs/errors/types/tokenExpired.cjs +0 -12
  386. package/dist/cjs/errors/types/tokenExpired.cjs.map +0 -1
  387. package/dist/cjs/errors/types/tokenExpired.min.cjs +0 -2
  388. package/dist/cjs/errors/types/tokenExpired.min.cjs.map +0 -1
  389. package/dist/cjs/errors/types/validationError.cjs +0 -16
  390. package/dist/cjs/errors/types/validationError.cjs.map +0 -1
  391. package/dist/cjs/errors/types/validationError.min.cjs +0 -2
  392. package/dist/cjs/errors/types/validationError.min.cjs.map +0 -1
  393. package/dist/cjs/events/base.cjs +0 -6
  394. package/dist/cjs/events/base.cjs.map +0 -1
  395. package/dist/cjs/events/base.min.cjs +0 -2
  396. package/dist/cjs/events/base.min.cjs.map +0 -1
  397. package/dist/cjs/events/pipes.cjs +0 -28
  398. package/dist/cjs/events/pipes.cjs.map +0 -1
  399. package/dist/cjs/events/pipes.min.cjs +0 -2
  400. package/dist/cjs/events/pipes.min.cjs.map +0 -1
  401. package/dist/cjs/events/types/kafka.cjs +0 -80
  402. package/dist/cjs/events/types/kafka.cjs.map +0 -1
  403. package/dist/cjs/events/types/kafka.min.cjs +0 -2
  404. package/dist/cjs/events/types/kafka.min.cjs.map +0 -1
  405. package/dist/cjs/events/types/rabbitmq.cjs +0 -54
  406. package/dist/cjs/events/types/rabbitmq.cjs.map +0 -1
  407. package/dist/cjs/events/types/rabbitmq.min.cjs +0 -2
  408. package/dist/cjs/events/types/rabbitmq.min.cjs.map +0 -1
  409. package/dist/cjs/instance/hooks.cjs +0 -26
  410. package/dist/cjs/instance/hooks.cjs.map +0 -1
  411. package/dist/cjs/instance/hooks.min.cjs +0 -2
  412. package/dist/cjs/instance/hooks.min.cjs.map +0 -1
  413. package/dist/cjs/instance/settings.cjs +0 -57
  414. package/dist/cjs/instance/settings.cjs.map +0 -1
  415. package/dist/cjs/instance/settings.min.cjs +0 -2
  416. package/dist/cjs/instance/settings.min.cjs.map +0 -1
  417. package/dist/cjs/jobs/pipes.cjs +0 -13
  418. package/dist/cjs/jobs/pipes.cjs.map +0 -1
  419. package/dist/cjs/jobs/pipes.min.cjs +0 -2
  420. package/dist/cjs/jobs/pipes.min.cjs.map +0 -1
  421. package/dist/cjs/jobs/types/redis.cjs +0 -106
  422. package/dist/cjs/jobs/types/redis.cjs.map +0 -1
  423. package/dist/cjs/jobs/types/redis.min.cjs +0 -2
  424. package/dist/cjs/jobs/types/redis.min.cjs.map +0 -1
  425. package/dist/cjs/server/impls/base.cjs +0 -211
  426. package/dist/cjs/server/impls/base.cjs.map +0 -1
  427. package/dist/cjs/server/impls/base.min.cjs +0 -2
  428. package/dist/cjs/server/impls/base.min.cjs.map +0 -1
  429. package/dist/cjs/server/impls/express.cjs +0 -111
  430. package/dist/cjs/server/impls/express.cjs.map +0 -1
  431. package/dist/cjs/server/impls/express.min.cjs +0 -2
  432. package/dist/cjs/server/impls/express.min.cjs.map +0 -1
  433. package/dist/cjs/server/impls/fastify.cjs +0 -121
  434. package/dist/cjs/server/impls/fastify.cjs.map +0 -1
  435. package/dist/cjs/server/impls/fastify.min.cjs +0 -2
  436. package/dist/cjs/server/impls/fastify.min.cjs.map +0 -1
  437. package/dist/cjs/server/middlewares/index.cjs +0 -2
  438. package/dist/cjs/server/middlewares/index.cjs.map +0 -1
  439. package/dist/cjs/server/middlewares/index.min.cjs +0 -2
  440. package/dist/cjs/server/middlewares/index.min.cjs.map +0 -1
  441. package/dist/cjs/server/middlewares/requireAuthUser.cjs +0 -22
  442. package/dist/cjs/server/middlewares/requireAuthUser.cjs.map +0 -1
  443. package/dist/cjs/server/middlewares/requireAuthUser.min.cjs +0 -2
  444. package/dist/cjs/server/middlewares/requireAuthUser.min.cjs.map +0 -1
  445. package/dist/cjs/server/openapi.cjs +0 -191
  446. package/dist/cjs/server/openapi.cjs.map +0 -1
  447. package/dist/cjs/server/openapi.min.cjs +0 -30
  448. package/dist/cjs/server/openapi.min.cjs.map +0 -1
  449. package/dist/cjs/server/pipes.cjs +0 -67
  450. package/dist/cjs/server/pipes.cjs.map +0 -1
  451. package/dist/cjs/server/pipes.min.cjs +0 -2
  452. package/dist/cjs/server/pipes.min.cjs.map +0 -1
  453. package/dist/cjs/server/requests-auth-methods/apiKeys.cjs +0 -21
  454. package/dist/cjs/server/requests-auth-methods/apiKeys.cjs.map +0 -1
  455. package/dist/cjs/server/requests-auth-methods/apiKeys.min.cjs +0 -2
  456. package/dist/cjs/server/requests-auth-methods/apiKeys.min.cjs.map +0 -1
  457. package/dist/cjs/server/requests-auth-methods/base.cjs +0 -20
  458. package/dist/cjs/server/requests-auth-methods/base.cjs.map +0 -1
  459. package/dist/cjs/server/requests-auth-methods/base.min.cjs +0 -2
  460. package/dist/cjs/server/requests-auth-methods/base.min.cjs.map +0 -1
  461. package/dist/cjs/server/requests-auth-methods/index.cjs +0 -4
  462. package/dist/cjs/server/requests-auth-methods/index.cjs.map +0 -1
  463. package/dist/cjs/server/requests-auth-methods/index.min.cjs +0 -2
  464. package/dist/cjs/server/requests-auth-methods/index.min.cjs.map +0 -1
  465. package/dist/cjs/server/requests-auth-methods/jwt.cjs +0 -78
  466. package/dist/cjs/server/requests-auth-methods/jwt.cjs.map +0 -1
  467. package/dist/cjs/server/requests-auth-methods/jwt.min.cjs +0 -2
  468. package/dist/cjs/server/requests-auth-methods/jwt.min.cjs.map +0 -1
  469. package/dist/cjs/server/requests.cjs +0 -80
  470. package/dist/cjs/server/requests.cjs.map +0 -1
  471. package/dist/cjs/server/requests.min.cjs +0 -2
  472. package/dist/cjs/server/requests.min.cjs.map +0 -1
  473. package/dist/cjs/server/routes.cjs +0 -74
  474. package/dist/cjs/server/routes.cjs.map +0 -1
  475. package/dist/cjs/server/routes.min.cjs +0 -2
  476. package/dist/cjs/server/routes.min.cjs.map +0 -1
  477. package/dist/cjs/server/sockets.cjs +0 -126
  478. package/dist/cjs/server/sockets.cjs.map +0 -1
  479. package/dist/cjs/server/sockets.min.cjs +0 -2
  480. package/dist/cjs/server/sockets.min.cjs.map +0 -1
  481. package/dist/cjs/server/types.cjs +0 -34
  482. package/dist/cjs/server/types.cjs.map +0 -1
  483. package/dist/cjs/server/types.min.cjs +0 -2
  484. package/dist/cjs/server/types.min.cjs.map +0 -1
  485. package/dist/cjs/types/overrides.cjs +0 -1
  486. package/dist/cjs/types/overrides.cjs.map +0 -1
  487. package/dist/cjs/types/overrides.min.cjs +0 -1
  488. package/dist/cjs/types/overrides.min.cjs.map +0 -1
  489. package/dist/cjs/utilities/authProviders.cjs +0 -53
  490. package/dist/cjs/utilities/authProviders.cjs.map +0 -1
  491. package/dist/cjs/utilities/authProviders.min.cjs +0 -2
  492. package/dist/cjs/utilities/authProviders.min.cjs.map +0 -1
  493. package/dist/cjs/utilities/hash.cjs +0 -17
  494. package/dist/cjs/utilities/hash.cjs.map +0 -1
  495. package/dist/cjs/utilities/hash.min.cjs +0 -2
  496. package/dist/cjs/utilities/hash.min.cjs.map +0 -1
  497. package/dist/cjs/utilities/json.cjs +0 -16
  498. package/dist/cjs/utilities/json.cjs.map +0 -1
  499. package/dist/cjs/utilities/json.min.cjs +0 -2
  500. package/dist/cjs/utilities/json.min.cjs.map +0 -1
  501. package/dist/cjs/utilities/media.cjs +0 -13
  502. package/dist/cjs/utilities/media.cjs.map +0 -1
  503. package/dist/cjs/utilities/media.min.cjs +0 -2
  504. package/dist/cjs/utilities/media.min.cjs.map +0 -1
  505. package/dist/cjs/utilities/random.cjs +0 -12
  506. package/dist/cjs/utilities/random.cjs.map +0 -1
  507. package/dist/cjs/utilities/random.min.cjs +0 -2
  508. package/dist/cjs/utilities/random.min.cjs.map +0 -1
  509. package/dist/cjs/utilities/retry.cjs +0 -14
  510. package/dist/cjs/utilities/retry.cjs.map +0 -1
  511. package/dist/cjs/utilities/retry.min.cjs +0 -2
  512. package/dist/cjs/utilities/retry.min.cjs.map +0 -1
  513. package/dist/cjs/validations/valleyed.cjs +0 -43
  514. package/dist/cjs/validations/valleyed.cjs.map +0 -1
  515. package/dist/cjs/validations/valleyed.min.cjs +0 -2
  516. package/dist/cjs/validations/valleyed.min.cjs.map +0 -1
  517. package/dist/esm/audit/events.min.mjs +0 -2
  518. package/dist/esm/audit/events.min.mjs.map +0 -1
  519. package/dist/esm/audit/events.mjs +0 -101
  520. package/dist/esm/audit/events.mjs.map +0 -1
  521. package/dist/esm/audit/index.min.mjs +0 -2
  522. package/dist/esm/audit/index.min.mjs.map +0 -1
  523. package/dist/esm/audit/index.mjs +0 -2
  524. package/dist/esm/audit/index.mjs.map +0 -1
  525. package/dist/esm/cache/base.min.mjs +0 -2
  526. package/dist/esm/cache/base.min.mjs.map +0 -1
  527. package/dist/esm/cache/base.mjs +0 -6
  528. package/dist/esm/cache/base.mjs.map +0 -1
  529. package/dist/esm/cache/pipes.min.mjs +0 -2
  530. package/dist/esm/cache/pipes.min.mjs.map +0 -1
  531. package/dist/esm/cache/pipes.mjs +0 -16
  532. package/dist/esm/cache/pipes.mjs.map +0 -1
  533. package/dist/esm/cache/types/in-memory.min.mjs +0 -2
  534. package/dist/esm/cache/types/in-memory.min.mjs.map +0 -1
  535. package/dist/esm/cache/types/in-memory.mjs +0 -47
  536. package/dist/esm/cache/types/in-memory.mjs.map +0 -1
  537. package/dist/esm/cache/types/redis.min.mjs +0 -2
  538. package/dist/esm/cache/types/redis.min.mjs.map +0 -1
  539. package/dist/esm/cache/types/redis.mjs +0 -55
  540. package/dist/esm/cache/types/redis.mjs.map +0 -1
  541. package/dist/esm/dbs/base/changes.min.mjs +0 -2
  542. package/dist/esm/dbs/base/changes.min.mjs.map +0 -1
  543. package/dist/esm/dbs/base/changes.mjs +0 -36
  544. package/dist/esm/dbs/base/changes.mjs.map +0 -1
  545. package/dist/esm/dbs/base/core.min.mjs +0 -1
  546. package/dist/esm/dbs/base/core.mjs +0 -1
  547. package/dist/esm/dbs/base/db.min.mjs +0 -2
  548. package/dist/esm/dbs/base/db.min.mjs.map +0 -1
  549. package/dist/esm/dbs/base/db.mjs +0 -14
  550. package/dist/esm/dbs/base/db.mjs.map +0 -1
  551. package/dist/esm/dbs/base/types.min.mjs +0 -2
  552. package/dist/esm/dbs/base/types.min.mjs.map +0 -1
  553. package/dist/esm/dbs/base/types.mjs +0 -2
  554. package/dist/esm/dbs/base/types.mjs.map +0 -1
  555. package/dist/esm/dbs/mongo/changes.min.mjs +0 -2
  556. package/dist/esm/dbs/mongo/changes.min.mjs.map +0 -1
  557. package/dist/esm/dbs/mongo/changes.mjs +0 -81
  558. package/dist/esm/dbs/mongo/changes.mjs.map +0 -1
  559. package/dist/esm/dbs/mongo/db.min.mjs +0 -2
  560. package/dist/esm/dbs/mongo/db.min.mjs.map +0 -1
  561. package/dist/esm/dbs/mongo/db.mjs +0 -225
  562. package/dist/esm/dbs/mongo/db.mjs.map +0 -1
  563. package/dist/esm/dbs/mongo/query.min.mjs +0 -2
  564. package/dist/esm/dbs/mongo/query.min.mjs.map +0 -1
  565. package/dist/esm/dbs/mongo/query.mjs +0 -66
  566. package/dist/esm/dbs/mongo/query.mjs.map +0 -1
  567. package/dist/esm/dbs/pipes.min.mjs +0 -2
  568. package/dist/esm/dbs/pipes.min.mjs.map +0 -1
  569. package/dist/esm/dbs/pipes.mjs +0 -104
  570. package/dist/esm/dbs/pipes.mjs.map +0 -1
  571. package/dist/esm/errors/equippedError.min.mjs +0 -2
  572. package/dist/esm/errors/equippedError.min.mjs.map +0 -1
  573. package/dist/esm/errors/equippedError.mjs +0 -12
  574. package/dist/esm/errors/equippedError.mjs.map +0 -1
  575. package/dist/esm/errors/requestError.min.mjs +0 -2
  576. package/dist/esm/errors/requestError.min.mjs.map +0 -1
  577. package/dist/esm/errors/requestError.mjs +0 -12
  578. package/dist/esm/errors/requestError.mjs.map +0 -1
  579. package/dist/esm/errors/types/badRequestError.min.mjs +0 -2
  580. package/dist/esm/errors/types/badRequestError.min.mjs.map +0 -1
  581. package/dist/esm/errors/types/badRequestError.mjs +0 -12
  582. package/dist/esm/errors/types/badRequestError.mjs.map +0 -1
  583. package/dist/esm/errors/types/notAuthenticatedError.min.mjs +0 -2
  584. package/dist/esm/errors/types/notAuthenticatedError.min.mjs.map +0 -1
  585. package/dist/esm/errors/types/notAuthenticatedError.mjs +0 -12
  586. package/dist/esm/errors/types/notAuthenticatedError.mjs.map +0 -1
  587. package/dist/esm/errors/types/notAuthorizedError.min.mjs +0 -2
  588. package/dist/esm/errors/types/notAuthorizedError.min.mjs.map +0 -1
  589. package/dist/esm/errors/types/notAuthorizedError.mjs +0 -12
  590. package/dist/esm/errors/types/notAuthorizedError.mjs.map +0 -1
  591. package/dist/esm/errors/types/notFoundError.min.mjs +0 -2
  592. package/dist/esm/errors/types/notFoundError.min.mjs.map +0 -1
  593. package/dist/esm/errors/types/notFoundError.mjs +0 -12
  594. package/dist/esm/errors/types/notFoundError.mjs.map +0 -1
  595. package/dist/esm/errors/types/tokenExpired.min.mjs +0 -2
  596. package/dist/esm/errors/types/tokenExpired.min.mjs.map +0 -1
  597. package/dist/esm/errors/types/tokenExpired.mjs +0 -12
  598. package/dist/esm/errors/types/tokenExpired.mjs.map +0 -1
  599. package/dist/esm/errors/types/validationError.min.mjs +0 -2
  600. package/dist/esm/errors/types/validationError.min.mjs.map +0 -1
  601. package/dist/esm/errors/types/validationError.mjs +0 -16
  602. package/dist/esm/errors/types/validationError.mjs.map +0 -1
  603. package/dist/esm/events/base.min.mjs +0 -2
  604. package/dist/esm/events/base.min.mjs.map +0 -1
  605. package/dist/esm/events/base.mjs +0 -6
  606. package/dist/esm/events/base.mjs.map +0 -1
  607. package/dist/esm/events/pipes.min.mjs +0 -2
  608. package/dist/esm/events/pipes.min.mjs.map +0 -1
  609. package/dist/esm/events/pipes.mjs +0 -28
  610. package/dist/esm/events/pipes.mjs.map +0 -1
  611. package/dist/esm/events/types/kafka.min.mjs +0 -2
  612. package/dist/esm/events/types/kafka.min.mjs.map +0 -1
  613. package/dist/esm/events/types/kafka.mjs.map +0 -1
  614. package/dist/esm/events/types/rabbitmq.min.mjs +0 -2
  615. package/dist/esm/events/types/rabbitmq.min.mjs.map +0 -1
  616. package/dist/esm/events/types/rabbitmq.mjs +0 -54
  617. package/dist/esm/events/types/rabbitmq.mjs.map +0 -1
  618. package/dist/esm/instance/hooks.min.mjs +0 -2
  619. package/dist/esm/instance/hooks.min.mjs.map +0 -1
  620. package/dist/esm/instance/hooks.mjs +0 -26
  621. package/dist/esm/instance/hooks.mjs.map +0 -1
  622. package/dist/esm/instance/settings.min.mjs +0 -2
  623. package/dist/esm/instance/settings.min.mjs.map +0 -1
  624. package/dist/esm/instance/settings.mjs +0 -57
  625. package/dist/esm/instance/settings.mjs.map +0 -1
  626. package/dist/esm/jobs/pipes.min.mjs +0 -2
  627. package/dist/esm/jobs/pipes.min.mjs.map +0 -1
  628. package/dist/esm/jobs/pipes.mjs +0 -13
  629. package/dist/esm/jobs/pipes.mjs.map +0 -1
  630. package/dist/esm/jobs/types/redis.min.mjs +0 -2
  631. package/dist/esm/jobs/types/redis.min.mjs.map +0 -1
  632. package/dist/esm/jobs/types/redis.mjs.map +0 -1
  633. package/dist/esm/server/impls/base.min.mjs +0 -2
  634. package/dist/esm/server/impls/base.min.mjs.map +0 -1
  635. package/dist/esm/server/impls/base.mjs +0 -211
  636. package/dist/esm/server/impls/base.mjs.map +0 -1
  637. package/dist/esm/server/impls/express.min.mjs +0 -2
  638. package/dist/esm/server/impls/express.min.mjs.map +0 -1
  639. package/dist/esm/server/impls/express.mjs +0 -111
  640. package/dist/esm/server/impls/express.mjs.map +0 -1
  641. package/dist/esm/server/impls/fastify.min.mjs +0 -2
  642. package/dist/esm/server/impls/fastify.min.mjs.map +0 -1
  643. package/dist/esm/server/impls/fastify.mjs +0 -121
  644. package/dist/esm/server/impls/fastify.mjs.map +0 -1
  645. package/dist/esm/server/middlewares/index.min.mjs +0 -2
  646. package/dist/esm/server/middlewares/index.min.mjs.map +0 -1
  647. package/dist/esm/server/middlewares/index.mjs +0 -2
  648. package/dist/esm/server/middlewares/index.mjs.map +0 -1
  649. package/dist/esm/server/middlewares/requireAuthUser.min.mjs +0 -2
  650. package/dist/esm/server/middlewares/requireAuthUser.min.mjs.map +0 -1
  651. package/dist/esm/server/middlewares/requireAuthUser.mjs +0 -22
  652. package/dist/esm/server/middlewares/requireAuthUser.mjs.map +0 -1
  653. package/dist/esm/server/openapi.min.mjs +0 -30
  654. package/dist/esm/server/openapi.min.mjs.map +0 -1
  655. package/dist/esm/server/openapi.mjs +0 -191
  656. package/dist/esm/server/openapi.mjs.map +0 -1
  657. package/dist/esm/server/pipes.min.mjs +0 -2
  658. package/dist/esm/server/pipes.min.mjs.map +0 -1
  659. package/dist/esm/server/pipes.mjs +0 -67
  660. package/dist/esm/server/pipes.mjs.map +0 -1
  661. package/dist/esm/server/requests-auth-methods/apiKeys.min.mjs +0 -2
  662. package/dist/esm/server/requests-auth-methods/apiKeys.min.mjs.map +0 -1
  663. package/dist/esm/server/requests-auth-methods/apiKeys.mjs +0 -21
  664. package/dist/esm/server/requests-auth-methods/apiKeys.mjs.map +0 -1
  665. package/dist/esm/server/requests-auth-methods/base.min.mjs +0 -2
  666. package/dist/esm/server/requests-auth-methods/base.min.mjs.map +0 -1
  667. package/dist/esm/server/requests-auth-methods/base.mjs +0 -20
  668. package/dist/esm/server/requests-auth-methods/base.mjs.map +0 -1
  669. package/dist/esm/server/requests-auth-methods/index.min.mjs +0 -2
  670. package/dist/esm/server/requests-auth-methods/index.min.mjs.map +0 -1
  671. package/dist/esm/server/requests-auth-methods/index.mjs +0 -4
  672. package/dist/esm/server/requests-auth-methods/index.mjs.map +0 -1
  673. package/dist/esm/server/requests-auth-methods/jwt.min.mjs +0 -2
  674. package/dist/esm/server/requests-auth-methods/jwt.min.mjs.map +0 -1
  675. package/dist/esm/server/requests-auth-methods/jwt.mjs +0 -78
  676. package/dist/esm/server/requests-auth-methods/jwt.mjs.map +0 -1
  677. package/dist/esm/server/requests.min.mjs +0 -2
  678. package/dist/esm/server/requests.min.mjs.map +0 -1
  679. package/dist/esm/server/requests.mjs +0 -80
  680. package/dist/esm/server/requests.mjs.map +0 -1
  681. package/dist/esm/server/routes.min.mjs +0 -2
  682. package/dist/esm/server/routes.min.mjs.map +0 -1
  683. package/dist/esm/server/routes.mjs +0 -74
  684. package/dist/esm/server/routes.mjs.map +0 -1
  685. package/dist/esm/server/sockets.min.mjs +0 -2
  686. package/dist/esm/server/sockets.min.mjs.map +0 -1
  687. package/dist/esm/server/sockets.mjs +0 -126
  688. package/dist/esm/server/sockets.mjs.map +0 -1
  689. package/dist/esm/server/types.min.mjs +0 -2
  690. package/dist/esm/server/types.min.mjs.map +0 -1
  691. package/dist/esm/server/types.mjs +0 -34
  692. package/dist/esm/server/types.mjs.map +0 -1
  693. package/dist/esm/types/overrides.min.mjs +0 -1
  694. package/dist/esm/types/overrides.mjs +0 -1
  695. package/dist/esm/utilities/authProviders.min.mjs +0 -2
  696. package/dist/esm/utilities/authProviders.min.mjs.map +0 -1
  697. package/dist/esm/utilities/authProviders.mjs +0 -53
  698. package/dist/esm/utilities/authProviders.mjs.map +0 -1
  699. package/dist/esm/utilities/hash.min.mjs +0 -2
  700. package/dist/esm/utilities/hash.min.mjs.map +0 -1
  701. package/dist/esm/utilities/hash.mjs +0 -17
  702. package/dist/esm/utilities/hash.mjs.map +0 -1
  703. package/dist/esm/utilities/json.min.mjs +0 -2
  704. package/dist/esm/utilities/json.min.mjs.map +0 -1
  705. package/dist/esm/utilities/json.mjs +0 -16
  706. package/dist/esm/utilities/json.mjs.map +0 -1
  707. package/dist/esm/utilities/media.min.mjs +0 -2
  708. package/dist/esm/utilities/media.min.mjs.map +0 -1
  709. package/dist/esm/utilities/media.mjs +0 -13
  710. package/dist/esm/utilities/media.mjs.map +0 -1
  711. package/dist/esm/utilities/random.min.mjs +0 -2
  712. package/dist/esm/utilities/random.min.mjs.map +0 -1
  713. package/dist/esm/utilities/random.mjs +0 -12
  714. package/dist/esm/utilities/random.mjs.map +0 -1
  715. package/dist/esm/utilities/retry.min.mjs +0 -2
  716. package/dist/esm/utilities/retry.min.mjs.map +0 -1
  717. package/dist/esm/utilities/retry.mjs +0 -14
  718. package/dist/esm/utilities/retry.mjs.map +0 -1
  719. package/dist/esm/validations/valleyed.min.mjs +0 -2
  720. package/dist/esm/validations/valleyed.min.mjs.map +0 -1
  721. package/dist/esm/validations/valleyed.mjs +0 -43
  722. package/dist/esm/validations/valleyed.mjs.map +0 -1
  723. package/dist/types/audit/events.js +0 -100
  724. package/dist/types/audit/index.d.ts +0 -44
  725. package/dist/types/audit/index.js +0 -1
  726. package/dist/types/cache/base.js +0 -5
  727. package/dist/types/cache/pipes.js +0 -15
  728. package/dist/types/cache/types/in-memory.js +0 -46
  729. package/dist/types/cache/types/redis.js +0 -54
  730. package/dist/types/db-C8YY1yTO.d.ts +0 -14
  731. package/dist/types/db-Dj1SGto0.d.ts +0 -24
  732. package/dist/types/dbs/base/changes.js +0 -35
  733. package/dist/types/dbs/base/core.js +0 -0
  734. package/dist/types/dbs/base/db.js +0 -13
  735. package/dist/types/dbs/base/types.js +0 -1
  736. package/dist/types/dbs/mongo/changes.js +0 -80
  737. package/dist/types/dbs/mongo/db.js +0 -224
  738. package/dist/types/dbs/mongo/query.js +0 -65
  739. package/dist/types/dbs/pipes.js +0 -103
  740. package/dist/types/errors/equippedError.js +0 -11
  741. package/dist/types/errors/requestError.js +0 -11
  742. package/dist/types/errors/types/badRequestError.js +0 -11
  743. package/dist/types/errors/types/notAuthenticatedError.js +0 -11
  744. package/dist/types/errors/types/notAuthorizedError.js +0 -11
  745. package/dist/types/errors/types/notFoundError.js +0 -11
  746. package/dist/types/errors/types/tokenExpired.js +0 -11
  747. package/dist/types/errors/types/validationError.js +0 -15
  748. package/dist/types/events/base.js +0 -5
  749. package/dist/types/events/pipes.js +0 -27
  750. package/dist/types/events/types/rabbitmq.js +0 -53
  751. package/dist/types/instance/hooks.js +0 -25
  752. package/dist/types/instance/settings.js +0 -56
  753. package/dist/types/jobs/pipes.js +0 -12
  754. package/dist/types/kafka-Cf-TUJgv.d.ts +0 -54
  755. package/dist/types/server/impls/base.js +0 -210
  756. package/dist/types/server/impls/express.js +0 -110
  757. package/dist/types/server/impls/fastify.js +0 -120
  758. package/dist/types/server/middlewares/index.js +0 -1
  759. package/dist/types/server/middlewares/requireAuthUser.js +0 -21
  760. package/dist/types/server/openapi.js +0 -190
  761. package/dist/types/server/pipes.js +0 -66
  762. package/dist/types/server/requests-auth-methods/apiKeys.js +0 -20
  763. package/dist/types/server/requests-auth-methods/base.js +0 -19
  764. package/dist/types/server/requests-auth-methods/index.js +0 -3
  765. package/dist/types/server/requests-auth-methods/jwt.js +0 -77
  766. package/dist/types/server/requests.js +0 -79
  767. package/dist/types/server/routes.js +0 -73
  768. package/dist/types/server/sockets.js +0 -125
  769. package/dist/types/server/types.js +0 -33
  770. package/dist/types/types/overrides.js +0 -0
  771. package/dist/types/utilities/authProviders.js +0 -52
  772. package/dist/types/utilities/hash.js +0 -16
  773. package/dist/types/utilities/json.js +0 -15
  774. package/dist/types/utilities/media.js +0 -12
  775. package/dist/types/utilities/random.js +0 -11
  776. package/dist/types/utilities/retry.js +0 -13
  777. package/dist/types/validations/valleyed.js +0 -42
  778. /package/dist/esm/{dbs/base/core.min.mjs.map → cache/adapters/redis/index.min.mjs.map} +0 -0
  779. /package/dist/esm/{dbs/base/core.mjs.map → cache/adapters/redis/index.mjs.map} +0 -0
  780. /package/dist/esm/{types/overrides.min.mjs.map → chunk-AQY7QVYI.min.mjs.map} +0 -0
  781. /package/dist/esm/{types/overrides.mjs.map → chunk-J5LGTIGS.mjs.map} +0 -0
@@ -0,0 +1,1314 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+
30
+ // src/dbs/adapters/mongodb/index.ts
31
+ var mongodb_exports = {};
32
+ __export(mongodb_exports, {
33
+ MongoDb: () => MongoDb,
34
+ MongoDbChange: () => MongoDbChange,
35
+ mongoDbConfigPipe: () => mongoDbConfigPipe
36
+ });
37
+ module.exports = __toCommonJS(mongodb_exports);
38
+
39
+ // src/dbs/adapters/mongodb/changes.ts
40
+ var import_mongodb = require("mongodb");
41
+ var import_valleyed7 = require("valleyed");
42
+
43
+ // src/errors/equippedError.ts
44
+ var EquippedError = class extends Error {
45
+ constructor(message, context, cause) {
46
+ super(message, { cause });
47
+ this.message = message;
48
+ this.context = context;
49
+ this.cause = cause;
50
+ }
51
+ };
52
+
53
+ // src/events/adapters/base.ts
54
+ var EventBus = class {
55
+ };
56
+
57
+ // src/instance/index.ts
58
+ var import_pino = __toESM(require("pino"), 1);
59
+ var import_ulid = require("ulid");
60
+ var import_valleyed2 = require("valleyed");
61
+
62
+ // src/instance/hooks.ts
63
+ function registerHook(hooks, record) {
64
+ for (const dep of record.after) {
65
+ if (!hooks.some((h) => h.class === dep)) {
66
+ const depName = dep.name || "unknown";
67
+ const ownerName = record.class?.name || "anonymous";
68
+ throw new Error(`Missing dependency: ${ownerName} declares after: [${depName}], but ${depName} is not registered`);
69
+ }
70
+ }
71
+ if (record.class) {
72
+ const tentative = [...hooks, record];
73
+ detectCycle(tentative);
74
+ }
75
+ hooks.push(record);
76
+ }
77
+ function detectCycle(hooks) {
78
+ const classToAfter = /* @__PURE__ */ new Map();
79
+ for (const h of hooks) {
80
+ if (!h.class) continue;
81
+ const existing = classToAfter.get(h.class);
82
+ if (existing) {
83
+ for (const dep of h.after) {
84
+ if (!existing.includes(dep)) existing.push(dep);
85
+ }
86
+ } else {
87
+ classToAfter.set(h.class, [...h.after]);
88
+ }
89
+ }
90
+ const visited = /* @__PURE__ */ new Set();
91
+ const stack = /* @__PURE__ */ new Set();
92
+ function visit(cls, path) {
93
+ if (stack.has(cls)) {
94
+ const cycleStart = path.indexOf(cls);
95
+ const cycle = [...path.slice(cycleStart), cls];
96
+ const names = cycle.map((c) => c.name || "unknown");
97
+ throw new Error(`Cycle detected: ${names.join(" \u2192 ")}`);
98
+ }
99
+ if (visited.has(cls)) return;
100
+ stack.add(cls);
101
+ path.push(cls);
102
+ for (const dep of classToAfter.get(cls) ?? []) {
103
+ visit(dep, path);
104
+ }
105
+ path.pop();
106
+ stack.delete(cls);
107
+ visited.add(cls);
108
+ }
109
+ for (const cls of classToAfter.keys()) {
110
+ visit(cls, []);
111
+ }
112
+ }
113
+ function resolveHookDAG(hooks, invert = false) {
114
+ if (hooks.length === 0) return [];
115
+ const classToHooks = /* @__PURE__ */ new Map();
116
+ const anonymous = [];
117
+ for (const h of hooks) {
118
+ if (h.class) {
119
+ const list = classToHooks.get(h.class);
120
+ if (list) list.push(h);
121
+ else classToHooks.set(h.class, [h]);
122
+ } else {
123
+ anonymous.push(h);
124
+ }
125
+ }
126
+ const classes = [...classToHooks.keys()];
127
+ const inDegree = /* @__PURE__ */ new Map();
128
+ const graph = /* @__PURE__ */ new Map();
129
+ for (const cls of classes) {
130
+ inDegree.set(cls, 0);
131
+ graph.set(cls, []);
132
+ }
133
+ for (const h of hooks) {
134
+ if (!h.class) continue;
135
+ for (const dep of h.after) {
136
+ const [from, to] = invert ? [h.class, dep] : [dep, h.class];
137
+ const edges = graph.get(from);
138
+ if (!edges.includes(to)) {
139
+ edges.push(to);
140
+ inDegree.set(to, inDegree.get(to) + 1);
141
+ }
142
+ }
143
+ }
144
+ const layers = [];
145
+ let queue = classes.filter((c) => inDegree.get(c) === 0);
146
+ while (queue.length > 0) {
147
+ const layer = [];
148
+ const next = [];
149
+ for (const cls of queue) {
150
+ layer.push(...classToHooks.get(cls) ?? []);
151
+ }
152
+ layers.push(layer);
153
+ for (const cls of queue) {
154
+ for (const neighbor of graph.get(cls) ?? []) {
155
+ const d = inDegree.get(neighbor) - 1;
156
+ inDegree.set(neighbor, d);
157
+ if (d === 0) next.push(neighbor);
158
+ }
159
+ }
160
+ queue = next;
161
+ }
162
+ if (anonymous.length > 0) {
163
+ const anonWithDeps = anonymous.filter((h) => h.after.length > 0);
164
+ const anonWithoutDeps = anonymous.filter((h) => h.after.length === 0);
165
+ if (anonWithDeps.length > 0) {
166
+ let maxLayer = -1;
167
+ for (const h of anonWithDeps) {
168
+ for (const dep of h.after) {
169
+ const depLayer = layers.findIndex((l) => l.some((r) => r.class === dep));
170
+ if (depLayer > maxLayer) maxLayer = depLayer;
171
+ }
172
+ }
173
+ const insertAt = maxLayer + 1;
174
+ if (insertAt < layers.length) {
175
+ layers[insertAt].push(...anonWithDeps);
176
+ } else {
177
+ layers.push(anonWithDeps);
178
+ }
179
+ }
180
+ if (anonWithoutDeps.length > 0) {
181
+ if (layers.length > 0) {
182
+ layers[layers.length - 1].push(...anonWithoutDeps);
183
+ } else {
184
+ layers.push(anonWithoutDeps);
185
+ }
186
+ }
187
+ }
188
+ return layers;
189
+ }
190
+ async function runHooks(hooks, onError = (error) => {
191
+ throw error;
192
+ }, invert = false) {
193
+ const layers = resolveHookDAG(hooks, invert);
194
+ for (const layer of layers)
195
+ await Promise.all(
196
+ layer.map(async (h) => {
197
+ try {
198
+ if (typeof h.cb === "function") return await h.cb();
199
+ return await h.cb;
200
+ } catch (error) {
201
+ return onError(error instanceof Error ? error : new Error(`${error}`));
202
+ }
203
+ })
204
+ );
205
+ }
206
+ if (void 0) {
207
+ const { describe, test, expect } = void 0;
208
+ class A {
209
+ }
210
+ class B {
211
+ }
212
+ class C {
213
+ }
214
+ class D {
215
+ }
216
+ const noop = () => {
217
+ };
218
+ describe("registerHook", () => {
219
+ test("registers a hook with no dependencies", () => {
220
+ const hooks = [];
221
+ registerHook(hooks, { cb: noop, class: A, after: [] });
222
+ expect(hooks).toHaveLength(1);
223
+ });
224
+ test("throws on missing dependency", () => {
225
+ const hooks = [];
226
+ expect(() => registerHook(hooks, { cb: noop, class: B, after: [A] })).toThrow(/Missing dependency.*B.*A/);
227
+ });
228
+ test("throws on cycle: A\u2192B\u2192A", () => {
229
+ const hooks = [];
230
+ registerHook(hooks, { cb: noop, class: A, after: [] });
231
+ registerHook(hooks, { cb: noop, class: B, after: [A] });
232
+ expect(() => registerHook(hooks, { cb: noop, class: A, after: [B] })).toThrow(/Cycle detected/);
233
+ });
234
+ test("throws on transitive cycle: A\u2192B\u2192C\u2192A", () => {
235
+ const hooks = [];
236
+ registerHook(hooks, { cb: noop, class: A, after: [] });
237
+ registerHook(hooks, { cb: noop, class: B, after: [A] });
238
+ registerHook(hooks, { cb: noop, class: C, after: [B] });
239
+ expect(() => registerHook(hooks, { cb: noop, class: A, after: [C] })).toThrow(/Cycle detected/);
240
+ });
241
+ test("allows anonymous hooks with dependencies", () => {
242
+ const hooks = [];
243
+ registerHook(hooks, { cb: noop, class: A, after: [] });
244
+ registerHook(hooks, { cb: noop, after: [A] });
245
+ expect(hooks).toHaveLength(2);
246
+ });
247
+ test("anonymous hook throws on missing dependency", () => {
248
+ const hooks = [];
249
+ expect(() => registerHook(hooks, { cb: noop, after: [A] })).toThrow(/Missing dependency.*anonymous.*A/);
250
+ });
251
+ });
252
+ describe("resolveHookDAG", () => {
253
+ test("linear chain: A \u2192 B \u2192 C", () => {
254
+ const hooks = [
255
+ { cb: noop, class: A, after: [] },
256
+ { cb: noop, class: B, after: [A] },
257
+ { cb: noop, class: C, after: [B] }
258
+ ];
259
+ const layers = resolveHookDAG(hooks);
260
+ expect(layers).toHaveLength(3);
261
+ expect(layers[0].every((h) => h.class === A)).toBe(true);
262
+ expect(layers[1].every((h) => h.class === B)).toBe(true);
263
+ expect(layers[2].every((h) => h.class === C)).toBe(true);
264
+ });
265
+ test("fan-out: A \u2192 B, A \u2192 C (B and C are parallel)", () => {
266
+ const hooks = [
267
+ { cb: noop, class: A, after: [] },
268
+ { cb: noop, class: B, after: [A] },
269
+ { cb: noop, class: C, after: [A] }
270
+ ];
271
+ const layers = resolveHookDAG(hooks);
272
+ expect(layers).toHaveLength(2);
273
+ expect(layers[0].every((h) => h.class === A)).toBe(true);
274
+ const secondClasses = layers[1].map((h) => h.class);
275
+ expect(secondClasses).toContain(B);
276
+ expect(secondClasses).toContain(C);
277
+ });
278
+ test("fan-in: B \u2192 D, C \u2192 D", () => {
279
+ const hooks = [
280
+ { cb: noop, class: B, after: [] },
281
+ { cb: noop, class: C, after: [] },
282
+ { cb: noop, class: D, after: [B, C] }
283
+ ];
284
+ const layers = resolveHookDAG(hooks);
285
+ expect(layers).toHaveLength(2);
286
+ const firstClasses = layers[0].map((h) => h.class);
287
+ expect(firstClasses).toContain(B);
288
+ expect(firstClasses).toContain(C);
289
+ expect(layers[1].every((h) => h.class === D)).toBe(true);
290
+ });
291
+ test("diamond: A \u2192 B, A \u2192 C, B \u2192 D, C \u2192 D", () => {
292
+ const hooks = [
293
+ { cb: noop, class: A, after: [] },
294
+ { cb: noop, class: B, after: [A] },
295
+ { cb: noop, class: C, after: [A] },
296
+ { cb: noop, class: D, after: [B, C] }
297
+ ];
298
+ const layers = resolveHookDAG(hooks);
299
+ expect(layers).toHaveLength(3);
300
+ expect(layers[0][0].class).toBe(A);
301
+ const midClasses = layers[1].map((h) => h.class);
302
+ expect(midClasses).toContain(B);
303
+ expect(midClasses).toContain(C);
304
+ expect(layers[2][0].class).toBe(D);
305
+ });
306
+ test("close-event inversion reverses the graph", () => {
307
+ const hooks = [
308
+ { cb: noop, class: A, after: [] },
309
+ { cb: noop, class: B, after: [A] },
310
+ { cb: noop, class: C, after: [B] }
311
+ ];
312
+ const layers = resolveHookDAG(hooks, true);
313
+ expect(layers).toHaveLength(3);
314
+ expect(layers[0].every((h) => h.class === C)).toBe(true);
315
+ expect(layers[1].every((h) => h.class === B)).toBe(true);
316
+ expect(layers[2].every((h) => h.class === A)).toBe(true);
317
+ });
318
+ test("close inversion: fan-out becomes fan-in", () => {
319
+ const hooks = [
320
+ { cb: noop, class: A, after: [] },
321
+ { cb: noop, class: B, after: [A] },
322
+ { cb: noop, class: C, after: [A] }
323
+ ];
324
+ const layers = resolveHookDAG(hooks, true);
325
+ expect(layers).toHaveLength(2);
326
+ const firstClasses = layers[0].map((h) => h.class);
327
+ expect(firstClasses).toContain(B);
328
+ expect(firstClasses).toContain(C);
329
+ expect(layers[1].every((h) => h.class === A)).toBe(true);
330
+ });
331
+ test("multiple hooks per class are all in the same layer", () => {
332
+ const cb1 = () => {
333
+ };
334
+ const cb2 = () => {
335
+ };
336
+ const hooks = [
337
+ { cb: cb1, class: A, after: [] },
338
+ { cb: cb2, class: A, after: [] },
339
+ { cb: noop, class: B, after: [A] }
340
+ ];
341
+ const layers = resolveHookDAG(hooks);
342
+ expect(layers).toHaveLength(2);
343
+ expect(layers[0]).toHaveLength(2);
344
+ expect(layers[0].every((h) => h.class === A)).toBe(true);
345
+ });
346
+ test("anonymous hooks without deps run at deepest level", () => {
347
+ const hooks = [
348
+ { cb: noop, class: A, after: [] },
349
+ { cb: noop, class: B, after: [A] },
350
+ { cb: noop, after: [] }
351
+ ];
352
+ const layers = resolveHookDAG(hooks);
353
+ expect(layers).toHaveLength(2);
354
+ const lastLayer = layers[layers.length - 1];
355
+ expect(lastLayer.some((h) => h.class === void 0)).toBe(true);
356
+ });
357
+ test("anonymous hooks with deps run after their dependencies", () => {
358
+ const hooks = [
359
+ { cb: noop, class: A, after: [] },
360
+ { cb: noop, class: B, after: [A] },
361
+ { cb: noop, class: C, after: [B] },
362
+ { cb: noop, after: [A] }
363
+ ];
364
+ const layers = resolveHookDAG(hooks);
365
+ const anonLayer = layers.findIndex((l) => l.some((h) => h.class === void 0));
366
+ const aLayer = layers.findIndex((l) => l.some((h) => h.class === A));
367
+ expect(anonLayer).toBeGreaterThan(aLayer);
368
+ });
369
+ test("empty hooks returns empty layers", () => {
370
+ expect(resolveHookDAG([])).toEqual([]);
371
+ });
372
+ });
373
+ describe("runHooks", () => {
374
+ test("same-depth siblings observably overlap", async () => {
375
+ const log = [];
376
+ const hooks = [
377
+ {
378
+ cb: async () => {
379
+ log.push("B-start");
380
+ await new Promise((r) => setTimeout(r, 20));
381
+ log.push("B-end");
382
+ },
383
+ class: B,
384
+ after: []
385
+ },
386
+ {
387
+ cb: async () => {
388
+ log.push("C-start");
389
+ await new Promise((r) => setTimeout(r, 20));
390
+ log.push("C-end");
391
+ },
392
+ class: C,
393
+ after: []
394
+ }
395
+ ];
396
+ await runHooks(hooks);
397
+ expect(log[0]).toBe("B-start");
398
+ expect(log[1]).toBe("C-start");
399
+ });
400
+ test("different depths run sequentially", async () => {
401
+ const log = [];
402
+ const hooks = [
403
+ {
404
+ cb: async () => {
405
+ log.push("A");
406
+ },
407
+ class: A,
408
+ after: []
409
+ },
410
+ {
411
+ cb: async () => {
412
+ log.push("B");
413
+ },
414
+ class: B,
415
+ after: [A]
416
+ }
417
+ ];
418
+ await runHooks(hooks);
419
+ expect(log).toEqual(["A", "B"]);
420
+ });
421
+ test("close inversion runs hooks in reverse dependency order", async () => {
422
+ const log = [];
423
+ const hooks = [
424
+ { cb: async () => log.push("A"), class: A, after: [] },
425
+ { cb: async () => log.push("B"), class: B, after: [A] },
426
+ { cb: async () => log.push("C"), class: C, after: [B] }
427
+ ];
428
+ await runHooks(hooks, void 0, true);
429
+ expect(log).toEqual(["C", "B", "A"]);
430
+ });
431
+ test("errors are routed to onError handler", async () => {
432
+ const errors = [];
433
+ const hooks = [
434
+ {
435
+ cb: () => {
436
+ throw new Error("boom");
437
+ },
438
+ class: A,
439
+ after: []
440
+ }
441
+ ];
442
+ await runHooks(hooks, (e) => {
443
+ errors.push(e);
444
+ });
445
+ expect(errors).toHaveLength(1);
446
+ expect(errors[0].message).toBe("boom");
447
+ });
448
+ test("raw promise callbacks are awaited", async () => {
449
+ const log = [];
450
+ const hooks = [
451
+ {
452
+ cb: Promise.resolve().then(() => log.push("resolved")),
453
+ class: A,
454
+ after: []
455
+ }
456
+ ];
457
+ await runHooks(hooks);
458
+ expect(log).toContain("resolved");
459
+ });
460
+ });
461
+ }
462
+
463
+ // src/instance/settings.ts
464
+ var import_valleyed = require("valleyed");
465
+ var instanceSettingsPipe = () => import_valleyed.v.object({
466
+ app: import_valleyed.v.object({
467
+ name: import_valleyed.v.string()
468
+ }),
469
+ log: import_valleyed.v.defaults(
470
+ import_valleyed.v.object({
471
+ level: import_valleyed.v.defaults(import_valleyed.v.in(["fatal", "error", "warn", "info", "debug", "trace", "silent"]), "info")
472
+ }),
473
+ {}
474
+ ),
475
+ utils: import_valleyed.v.defaults(
476
+ import_valleyed.v.object({
477
+ hashSaltRounds: import_valleyed.v.defaults(import_valleyed.v.number(), 10),
478
+ paginationDefaultLimit: import_valleyed.v.defaults(import_valleyed.v.number(), 100),
479
+ maxFileUploadSizeInMb: import_valleyed.v.defaults(import_valleyed.v.number(), 500)
480
+ }),
481
+ {}
482
+ )
483
+ });
484
+
485
+ // src/instance/index.ts
486
+ var Instance = class _Instance {
487
+ static #id;
488
+ static #instance;
489
+ static #hooks = {};
490
+ settings;
491
+ log;
492
+ constructor(settings) {
493
+ _Instance.#instance = this;
494
+ this.settings = Object.freeze(settings);
495
+ this.log = (0, import_pino.default)({
496
+ level: this.settings.log.level,
497
+ serializers: {
498
+ err: import_pino.default.stdSerializers.err,
499
+ error: import_pino.default.stdSerializers.err,
500
+ req: import_pino.default.stdSerializers.req,
501
+ res: import_pino.default.stdSerializers.res
502
+ },
503
+ mixin: () => ({
504
+ instanceId: _Instance.#id
505
+ })
506
+ });
507
+ _Instance.#registerOnExitHandler();
508
+ }
509
+ alias(id) {
510
+ if (_Instance.#id !== void 0) return _Instance.crash(new EquippedError("Instance already has an alias", {}));
511
+ _Instance.#id = id;
512
+ }
513
+ get id() {
514
+ if (_Instance.#id === void 0) return _Instance.crash(new EquippedError("Instance doesnt have an alias yet", {}));
515
+ return _Instance.#id;
516
+ }
517
+ getScopedName(name, key = ".") {
518
+ return [this.settings.app.name, name].join(key);
519
+ }
520
+ async start() {
521
+ try {
522
+ await runHooks(_Instance.#hooks["setup"] ?? []);
523
+ await runHooks(_Instance.#hooks["start"] ?? []);
524
+ } catch (error) {
525
+ _Instance.crash(new EquippedError(`Error starting instance`, {}, error));
526
+ }
527
+ }
528
+ static envs(envsPipe) {
529
+ const envValidity = import_valleyed2.v.validate(envsPipe, process.env);
530
+ if (!envValidity.valid) {
531
+ _Instance.crash(
532
+ new EquippedError(`Environment variables are not valid
533
+ ${envValidity.error.toString()}`, {
534
+ messages: envValidity.error.messages
535
+ })
536
+ );
537
+ }
538
+ return envValidity.value;
539
+ }
540
+ static create(settings) {
541
+ if (_Instance.#instance) return _Instance.crash(new EquippedError("Instance has been initialized already", {}));
542
+ const settingsValidity = import_valleyed2.v.validate(instanceSettingsPipe(), settings);
543
+ if (!settingsValidity.valid) {
544
+ _Instance.crash(
545
+ new EquippedError(`Settings are not valid
546
+ ${settingsValidity.error.toString()}`, {
547
+ messages: settingsValidity.error.messages
548
+ })
549
+ );
550
+ }
551
+ return new _Instance(settingsValidity.value);
552
+ }
553
+ static get() {
554
+ if (!_Instance.#instance)
555
+ return _Instance.crash(
556
+ new EquippedError("Has not been initialized. Make sure an instance has been created before you get an instance", {})
557
+ );
558
+ return _Instance.#instance;
559
+ }
560
+ static maybeGet() {
561
+ return _Instance.#instance;
562
+ }
563
+ static on(event, cb, options) {
564
+ _Instance.#hooks[event] ??= [];
565
+ const record = { cb, class: options?.class, after: options?.after ?? [] };
566
+ registerHook(_Instance.#hooks[event], record);
567
+ }
568
+ static #registerOnExitHandler() {
569
+ const signals = {
570
+ SIGHUP: 1,
571
+ SIGINT: 2,
572
+ SIGTERM: 15
573
+ };
574
+ Object.entries(signals).forEach(([signal, code]) => {
575
+ process.on(signal, async () => {
576
+ await runHooks(_Instance.#hooks["close"] ?? [], () => {
577
+ }, true);
578
+ process.exit(128 + code);
579
+ });
580
+ });
581
+ }
582
+ static resolveBeforeCrash(cb) {
583
+ const value = cb();
584
+ _Instance.on("close", async () => await value);
585
+ return value;
586
+ }
587
+ static crash(error) {
588
+ console.error(error);
589
+ process.exit(1);
590
+ }
591
+ static createId(opts) {
592
+ return `${opts?.prefix ?? ""}${(0, import_ulid.ulid)(opts?.time?.getTime())}`;
593
+ }
594
+ };
595
+
596
+ // src/utilities/configurable.ts
597
+ var import_valleyed3 = require("valleyed");
598
+ function configurable(pipeFn, base) {
599
+ const pipe = pipeFn();
600
+ import_valleyed3.v.compile(pipe);
601
+ class Configurable extends base {
602
+ constructor(config, ...baseArgs) {
603
+ super(...baseArgs);
604
+ this.config = config;
605
+ }
606
+ static create(input, ...args) {
607
+ const r = import_valleyed3.v.validate(pipe, input);
608
+ if (!r.valid) throw r.error;
609
+ return new this(r.value, ...args);
610
+ }
611
+ }
612
+ return Configurable;
613
+ }
614
+ if (void 0) {
615
+ const { describe, test, expect, expectTypeOf } = void 0;
616
+ const { v: v10 } = null;
617
+ const testPipe = () => v10.object({
618
+ host: v10.string(),
619
+ port: v10.number()
620
+ });
621
+ class TestBase {
622
+ baseValue;
623
+ constructor() {
624
+ this.baseValue = "base";
625
+ }
626
+ }
627
+ class TestBaseWithArgs {
628
+ label;
629
+ constructor(label) {
630
+ this.label = label;
631
+ }
632
+ }
633
+ describe("configurable", () => {
634
+ test("validation runs in static create before constructor body executes", () => {
635
+ let constructorRan = false;
636
+ const Wrapped = configurable(testPipe, TestBase);
637
+ class MyClass extends Wrapped {
638
+ constructor(config) {
639
+ super(config);
640
+ constructorRan = true;
641
+ }
642
+ }
643
+ expect(() => MyClass.create({ host: 123, port: "bad" })).toThrow();
644
+ expect(constructorRan).toBe(false);
645
+ MyClass.create({ host: "localhost", port: 3e3 });
646
+ expect(constructorRan).toBe(true);
647
+ });
648
+ test("constructor receives validated value", () => {
649
+ const Wrapped = configurable(testPipe, TestBase);
650
+ let receivedConfig;
651
+ class MyClass extends Wrapped {
652
+ constructor(config) {
653
+ super(config);
654
+ receivedConfig = this.config;
655
+ }
656
+ }
657
+ MyClass.create({ host: "localhost", port: 3e3 });
658
+ expect(receivedConfig).toEqual({ host: "localhost", port: 3e3 });
659
+ });
660
+ test("external new is a compile error", () => {
661
+ const Wrapped = configurable(testPipe, TestBase);
662
+ class MyClass extends Wrapped {
663
+ constructor(config) {
664
+ super(config);
665
+ }
666
+ }
667
+ void (() => new MyClass({ host: "localhost", port: 3e3 }));
668
+ });
669
+ test("static Config resolves to PipeOutput<P> at the type level", () => {
670
+ const Wrapped = configurable(testPipe, TestBase);
671
+ class MyClass extends Wrapped {
672
+ constructor(config) {
673
+ super(config);
674
+ }
675
+ }
676
+ expectTypeOf().toEqualTypeOf();
677
+ expect(MyClass.create).toBeTypeOf("function");
678
+ });
679
+ test("ConstructorParameters<This>-based extras inference works for non-zero-arg leaf signatures", () => {
680
+ const Wrapped = configurable(testPipe, TestBase);
681
+ class MyClass extends Wrapped {
682
+ extra;
683
+ constructor(config, extra) {
684
+ super(config);
685
+ this.extra = extra;
686
+ }
687
+ }
688
+ const instance = MyClass.create({ host: "localhost", port: 3e3 }, 42);
689
+ expect(instance.extra).toBe(42);
690
+ expectTypeOf(instance).toHaveProperty("extra");
691
+ expectTypeOf(instance.extra).toEqualTypeOf();
692
+ void (() => MyClass.create({ host: "localhost", port: 3e3 }, "not-a-number"));
693
+ });
694
+ test("base-args forwarding works for non-zero-arg bases", () => {
695
+ const Wrapped = configurable(testPipe, TestBaseWithArgs);
696
+ class MyClass extends Wrapped {
697
+ constructor(config, label) {
698
+ super(config, label);
699
+ }
700
+ }
701
+ const instance = MyClass.create({ host: "localhost", port: 3e3 }, "test-label");
702
+ expect(instance.label).toBe("test-label");
703
+ });
704
+ test("config is accessible as protected readonly on instances", () => {
705
+ const Wrapped = configurable(testPipe, TestBase);
706
+ class MyClass extends Wrapped {
707
+ constructor(config) {
708
+ super(config);
709
+ }
710
+ getHost() {
711
+ return this.config.host;
712
+ }
713
+ }
714
+ const instance = MyClass.create({ host: "localhost", port: 3e3 });
715
+ expect(instance.getHost()).toBe("localhost");
716
+ });
717
+ test("accepts an abstract base class", () => {
718
+ class AbstractBase {
719
+ }
720
+ const Wrapped = configurable(testPipe, AbstractBase);
721
+ class Concrete extends Wrapped {
722
+ constructor(config) {
723
+ super(config);
724
+ }
725
+ greet() {
726
+ return `hello from ${this.config.host}`;
727
+ }
728
+ }
729
+ const instance = Concrete.create({ host: "localhost", port: 3e3 });
730
+ expect(instance.greet()).toBe("hello from localhost");
731
+ expectTypeOf(instance).toHaveProperty("config");
732
+ });
733
+ });
734
+ }
735
+
736
+ // src/utilities/json.ts
737
+ var parseJSONValue = (data) => {
738
+ try {
739
+ if (data?.constructor?.name !== "String") return data;
740
+ return JSON.parse(data);
741
+ } catch {
742
+ return data;
743
+ }
744
+ };
745
+
746
+ // src/utilities/random.ts
747
+ var random_exports = {};
748
+ __export(random_exports, {
749
+ number: () => number,
750
+ string: () => string
751
+ });
752
+ var import_crypto = __toESM(require("crypto"), 1);
753
+ function string(length = 20) {
754
+ return import_crypto.default.randomBytes(length).toString("hex").slice(0, length);
755
+ }
756
+ function number(min = 0, max = 2 ** 48 - 1) {
757
+ return import_crypto.default.randomInt(min, max);
758
+ }
759
+
760
+ // src/utilities/retry.ts
761
+ var sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
762
+ var retry = async (cb, tries, waitTimeInMs) => {
763
+ if (tries <= 0) throw new EquippedError("out of tries", { tries, waitTimeInMs });
764
+ const result = await cb();
765
+ if (result.done === true) return result.value;
766
+ await sleep(waitTimeInMs);
767
+ return await retry(cb, tries - 1, waitTimeInMs);
768
+ };
769
+
770
+ // src/dbs/adapters/base/changes.ts
771
+ var import_axios = __toESM(require("axios"), 1);
772
+ var import_valleyed6 = require("valleyed");
773
+
774
+ // src/dbs/adapters/base/types.ts
775
+ var import_valleyed5 = require("valleyed");
776
+
777
+ // src/events/adapters/kafka/index.ts
778
+ var import_kafka_javascript = require("@confluentinc/kafka-javascript");
779
+ var import_valleyed4 = require("valleyed");
780
+ var kafkaConfigPipe = () => import_valleyed4.v.meta(
781
+ import_valleyed4.v.object({
782
+ brokers: import_valleyed4.v.array(import_valleyed4.v.string()),
783
+ ssl: import_valleyed4.v.optional(import_valleyed4.v.boolean()),
784
+ sasl: import_valleyed4.v.optional(
785
+ import_valleyed4.v.object({
786
+ mechanism: import_valleyed4.v.is("plain"),
787
+ username: import_valleyed4.v.string(),
788
+ password: import_valleyed4.v.string()
789
+ })
790
+ ),
791
+ clientId: import_valleyed4.v.optional(import_valleyed4.v.string())
792
+ }),
793
+ { title: "Kafka Config", $refId: "KafkaConfig" }
794
+ );
795
+ var KafkaEventBus = class _KafkaEventBus extends configurable(kafkaConfigPipe, EventBus) {
796
+ #client;
797
+ #admin = null;
798
+ constructor(config) {
799
+ super(config);
800
+ this.#client = new import_kafka_javascript.KafkaJS.Kafka({
801
+ kafkaJS: { ...config, logLevel: import_kafka_javascript.KafkaJS.logLevel.NOTHING }
802
+ });
803
+ }
804
+ async #getAdmin() {
805
+ if (!this.#admin)
806
+ this.#admin = (async () => {
807
+ const admin = this.#client.admin();
808
+ await admin.connect();
809
+ return admin;
810
+ })();
811
+ return this.#admin;
812
+ }
813
+ async #createTopic(topic) {
814
+ const admin = await this.#getAdmin();
815
+ await admin.createTopics({ topics: [{ topic }], timeout: 5e3 });
816
+ }
817
+ async #deleteGroup(groupId) {
818
+ const admin = await this.#getAdmin();
819
+ await admin.deleteGroups([groupId]).catch(() => {
820
+ });
821
+ }
822
+ stream(topicName, options = {}) {
823
+ const topic = options.skipScope ? topicName : Instance.get().getScopedName(topicName);
824
+ return {
825
+ publish: async (data) => {
826
+ const producer = this.#client.producer();
827
+ await producer.connect();
828
+ await producer.send({
829
+ topic,
830
+ messages: [{ value: JSON.stringify(data) }]
831
+ });
832
+ return true;
833
+ },
834
+ subscribe: (onMessage) => {
835
+ const subscribe = async () => {
836
+ await this.#createTopic(topic);
837
+ const groupId = options.fanout ? Instance.get().getScopedName(`${Instance.get().id}-fanout-${random_exports.string(10)}`) : topic;
838
+ const consumer = this.#client.consumer({ kafkaJS: { groupId } });
839
+ await consumer.connect();
840
+ await consumer.subscribe({ topic });
841
+ await consumer.run({
842
+ eachMessage: async ({ message }) => {
843
+ await Instance.resolveBeforeCrash(async () => {
844
+ if (!message.value) return;
845
+ await onMessage(parseJSONValue(message.value.toString()));
846
+ }).catch(
847
+ (error) => Instance.crash(new EquippedError("Error processing kafka event", { topic, groupId, options }, error))
848
+ );
849
+ }
850
+ });
851
+ if (options.fanout)
852
+ Instance.on("close", async () => {
853
+ await consumer.disconnect();
854
+ await this.#deleteGroup(groupId);
855
+ }, { class: _KafkaEventBus });
856
+ };
857
+ Instance.on("start", subscribe, { class: _KafkaEventBus });
858
+ }
859
+ };
860
+ }
861
+ };
862
+
863
+ // src/dbs/adapters/base/types.ts
864
+ var dbChangeConfigPipe = () => import_valleyed5.v.object({
865
+ debeziumUrl: import_valleyed5.v.string(),
866
+ eventBus: import_valleyed5.v.instanceOf(KafkaEventBus)
867
+ });
868
+
869
+ // src/dbs/adapters/base/changes.ts
870
+ var TopicPrefix = "db-changes";
871
+ var DbChange = class {
872
+ constructor(config, callbacks, mapper) {
873
+ this.config = config;
874
+ this.callbacks = callbacks;
875
+ this.mapper = mapper;
876
+ this.config = import_valleyed6.v.assert(dbChangeConfigPipe(), config);
877
+ }
878
+ async configureConnector(key, data) {
879
+ const instance = import_axios.default.create({ baseURL: this.config.debeziumUrl });
880
+ return await instance.put(`/connectors/${key}/config`, {
881
+ "topic.prefix": TopicPrefix,
882
+ "topic.creation.enable": "false",
883
+ "topic.creation.default.replication.factor": `-1`,
884
+ "topic.creation.default.partitions": "-1",
885
+ "key.converter": "org.apache.kafka.connect.json.JsonConverter",
886
+ "key.converter.schemas.enable": "false",
887
+ "value.converter": "org.apache.kafka.connect.json.JsonConverter",
888
+ "value.converter.schemas.enable": "false",
889
+ ...data
890
+ }).then(async () => {
891
+ const topics = await instance.get(`/connectors/${key}/topics`);
892
+ return topics.data[key]?.topics?.includes?.(key) ?? false;
893
+ }).catch((err) => {
894
+ throw new EquippedError(`Failed to configure watcher`, { key }, err);
895
+ });
896
+ }
897
+ };
898
+
899
+ // src/dbs/adapters/mongodb/changes.ts
900
+ var MongoDbChange = class extends DbChange {
901
+ #started = false;
902
+ constructor(config, change, collection, callbacks, mapper) {
903
+ super(change, callbacks, mapper);
904
+ const hydrate = (data) => data._id ? {
905
+ ...data,
906
+ _id: data._id["$oid"] ?? data._id
907
+ } : void 0;
908
+ const dbName = collection.dbName;
909
+ const colName = collection.collectionName;
910
+ const dbColName = `${dbName}.${colName}`;
911
+ const topic = `${TopicPrefix}.${dbColName}`;
912
+ const TestId = "5f5f65717569707065645f5f";
913
+ const condition = { _id: TestId };
914
+ change.eventBus.stream(topic, { skipScope: true }).subscribe(async (data) => {
915
+ const op = data.op;
916
+ let before = JSON.parse(data.before ?? "null");
917
+ let after = JSON.parse(data.after ?? "null");
918
+ if (before) before = hydrate(before);
919
+ if (after) after = hydrate(after);
920
+ if (before?._id === TestId || after?._id === TestId) return;
921
+ if (op === "c" && this.callbacks.created && after)
922
+ await this.callbacks.created({
923
+ before: null,
924
+ after: this.mapper(after)
925
+ });
926
+ else if (op === "u" && this.callbacks.updated && before && after)
927
+ await this.callbacks.updated({
928
+ before: this.mapper(before),
929
+ after: this.mapper(after),
930
+ changes: import_valleyed7.differ.from(import_valleyed7.differ.diff(before, after))
931
+ });
932
+ else if (op === "d" && this.callbacks.deleted && before)
933
+ await this.callbacks.deleted({
934
+ before: this.mapper(before),
935
+ after: null
936
+ });
937
+ });
938
+ Instance.on("start", async () => {
939
+ if (this.#started) return;
940
+ this.#started = true;
941
+ await retry(
942
+ async () => {
943
+ const started = await this.configureConnector(topic, {
944
+ "connector.class": "io.debezium.connector.mongodb.MongoDbConnector",
945
+ "capture.mode": "change_streams_update_full_with_pre_image",
946
+ "mongodb.connection.string": config.uri,
947
+ "collection.include.list": dbColName,
948
+ "snapshot.mode": "when_needed",
949
+ "capture.scope": "collection",
950
+ "capture.target": dbColName,
951
+ "heartbeat.interval.ms": "60000",
952
+ "errors.max.retries": "3"
953
+ });
954
+ if (started) return { done: true, value: true };
955
+ await collection.findOneAndUpdate(condition, { $set: { colName } }, { upsert: true });
956
+ await collection.findOneAndDelete(condition);
957
+ Instance.get().log.warn(`Waiting for db changes for ${dbColName} to start...`);
958
+ return { done: false };
959
+ },
960
+ 6,
961
+ 3e4
962
+ ).catch((err) => Instance.crash(new EquippedError(`Failed to start db changes`, { dbColName }, err)));
963
+ });
964
+ }
965
+ };
966
+
967
+ // src/dbs/adapters/mongodb/db.ts
968
+ var import_node_async_hooks = require("async_hooks");
969
+ var import_mongodb3 = require("mongodb");
970
+ var import_valleyed10 = require("valleyed");
971
+
972
+ // src/dbs/adapters/mongodb/pipes.ts
973
+ var import_valleyed8 = require("valleyed");
974
+ var mongoDbConfigPipe = () => import_valleyed8.v.meta(
975
+ import_valleyed8.v.object({
976
+ uri: import_valleyed8.v.string()
977
+ }),
978
+ { title: "Mongodb Config", $refId: "MongodbConfig" }
979
+ );
980
+
981
+ // src/dbs/adapters/mongodb/query.ts
982
+ var import_mongodb2 = require("mongodb");
983
+
984
+ // src/dbs/pipes.ts
985
+ var import_valleyed9 = require("valleyed");
986
+ var QueryKeys = /* @__PURE__ */ ((QueryKeys2) => {
987
+ QueryKeys2["and"] = "and";
988
+ QueryKeys2["or"] = "or";
989
+ return QueryKeys2;
990
+ })(QueryKeys || {});
991
+ var Conditions = /* @__PURE__ */ ((Conditions2) => {
992
+ Conditions2["lt"] = "lt";
993
+ Conditions2["lte"] = "lte";
994
+ Conditions2["gt"] = "gt";
995
+ Conditions2["gte"] = "gte";
996
+ Conditions2["eq"] = "eq";
997
+ Conditions2["ne"] = "ne";
998
+ Conditions2["in"] = "in";
999
+ Conditions2["nin"] = "nin";
1000
+ return Conditions2;
1001
+ })(Conditions || {});
1002
+ var queryKeys = import_valleyed9.v.catch(import_valleyed9.v.defaults(import_valleyed9.v.in(["and" /* and */, "or" /* or */]), "and" /* and */), "and" /* and */);
1003
+ var queryWhere = import_valleyed9.v.object({
1004
+ field: import_valleyed9.v.string(),
1005
+ value: import_valleyed9.v.any(),
1006
+ // eslint-disable-next-line promise/valid-params -- valleyed v.catch(schema, fallback) is not Promise.prototype.catch
1007
+ condition: import_valleyed9.v.catch(import_valleyed9.v.defaults(import_valleyed9.v.in(Object.values(Conditions)), "eq" /* eq */), "eq" /* eq */)
1008
+ });
1009
+ var queryWhereBlock = import_valleyed9.v.recursive(
1010
+ () => import_valleyed9.v.discriminate((d) => Object.values(QueryKeys).includes(d.condition) ? "block" : "regular", {
1011
+ block: import_valleyed9.v.object({
1012
+ condition: queryKeys,
1013
+ value: import_valleyed9.v.array(queryWhereBlock)
1014
+ }),
1015
+ regular: queryWhere
1016
+ }),
1017
+ "QueryWhereBlock"
1018
+ );
1019
+ var queryWhereClause = import_valleyed9.v.defaults(import_valleyed9.v.array(queryWhereBlock), []);
1020
+
1021
+ // src/dbs/adapters/mongodb/query.ts
1022
+ var parseMongodbQueryParams = async (collection, params) => {
1023
+ const query = [];
1024
+ const where = buildWhereQuery(params.where, params.whereType);
1025
+ if (where) query.push(where);
1026
+ const auth = buildWhereQuery(params.auth, params.authType);
1027
+ if (auth) query.push(auth);
1028
+ if (params.search && params.search.fields.length > 0) {
1029
+ const search = params.search.fields.map((field) => ({
1030
+ [field]: {
1031
+ $regex: new RegExp(params.search.value, "i")
1032
+ }
1033
+ }));
1034
+ query.push({ $or: search });
1035
+ }
1036
+ const totalClause = {};
1037
+ if (query.length > 0) totalClause["$and"] = query;
1038
+ const sort = params.sort.map((p) => [p.field, p.desc ? "desc" : "asc"]);
1039
+ const all = params.all ?? false;
1040
+ const limit = params.limit;
1041
+ const page = params.page;
1042
+ const total = await collection.countDocuments(totalClause);
1043
+ const projection = params.select?.length ? Object.fromEntries(params.select.map((k) => [k, 1])) : void 0;
1044
+ let builtQuery = collection.find(totalClause, { projection });
1045
+ if (sort.length) builtQuery = builtQuery.sort(Object.fromEntries(sort));
1046
+ if (!all && limit) {
1047
+ builtQuery = builtQuery.limit(limit);
1048
+ if (page) builtQuery = builtQuery.skip((page - 1) * limit);
1049
+ }
1050
+ const results = await builtQuery.toArray();
1051
+ const start = 1;
1052
+ const last = Math.ceil(total / limit) || 1;
1053
+ const next = page >= last ? null : page + 1;
1054
+ const previous = page <= start ? null : page - 1;
1055
+ return {
1056
+ pages: { start, last, next, previous, current: page },
1057
+ docs: { limit, total, count: results.length },
1058
+ results
1059
+ };
1060
+ };
1061
+ function isWhereBlock(param) {
1062
+ return Object.values(QueryKeys).includes(param.condition);
1063
+ }
1064
+ var buildWhereQuery = (params, key = "and" /* and */) => {
1065
+ const where = (Array.isArray(params) ? params : []).map((param) => {
1066
+ if (isWhereBlock(param)) return buildWhereQuery(param.value, param.condition);
1067
+ const { field } = param;
1068
+ const checkedField = field === "id" ? "_id" : field ?? "";
1069
+ const checkedValue = param.value === void 0 ? "" : param.value;
1070
+ return {
1071
+ field: checkedField,
1072
+ value: checkedValue,
1073
+ condition: param.condition,
1074
+ isWhere: true
1075
+ };
1076
+ }).filter((c) => !!c).map((c) => {
1077
+ if (c.isWhere) return { [`${c.field}`]: { [`$${c.condition}`]: c.value } };
1078
+ else return c;
1079
+ });
1080
+ return where.length > 0 ? { [`$${key}`]: where } : null;
1081
+ };
1082
+
1083
+ // src/dbs/adapters/base/db.ts
1084
+ var Db = class {
1085
+ constructor(config) {
1086
+ this.config = config;
1087
+ }
1088
+ getScopedDb(db) {
1089
+ return Instance.get().getScopedName(db).replaceAll(".", "-");
1090
+ }
1091
+ };
1092
+
1093
+ // src/dbs/adapters/mongodb/db.ts
1094
+ var idKey = "_id";
1095
+ var sessionStore = new import_node_async_hooks.AsyncLocalStorage(void 0);
1096
+ var MongoDb = class extends Db {
1097
+ constructor(mongoConfig, dbConfig) {
1098
+ super(dbConfig);
1099
+ this.mongoConfig = mongoConfig;
1100
+ this.mongoConfig = import_valleyed10.v.assert(mongoDbConfigPipe(), mongoConfig);
1101
+ this.client = new import_mongodb3.MongoClient(mongoConfig.uri, { ignoreUndefined: true });
1102
+ Instance.on("start", async () => {
1103
+ await this.client.connect();
1104
+ const grouped = this.#cols.reduce((acc, cur) => {
1105
+ if (!acc[cur.db]) acc[cur.db] = [];
1106
+ acc[cur.db].push(cur.col);
1107
+ return acc;
1108
+ }, {});
1109
+ const options = {
1110
+ changeStreamPreAndPostImages: { enabled: true }
1111
+ };
1112
+ await Promise.all(
1113
+ Object.entries(grouped).map(async ([dbName, colNames]) => {
1114
+ const db = this.client.db(dbName);
1115
+ const collections = await db.listCollections().toArray();
1116
+ return colNames.map(async (colName) => {
1117
+ const existing = collections.find((collection) => collection.name === colName);
1118
+ if (existing) {
1119
+ if (existing.options?.changeStreamPreAndPostImages?.enabled !== options.changeStreamPreAndPostImages.enabled)
1120
+ await db.command({ collMod: colName, ...options });
1121
+ } else await db.createCollection(colName, options);
1122
+ });
1123
+ })
1124
+ );
1125
+ });
1126
+ Instance.on("close", async () => this.client.close());
1127
+ }
1128
+ client;
1129
+ #cols = [];
1130
+ async session(callback) {
1131
+ if (sessionStore.getStore()) return callback();
1132
+ const session = await this.client.startSession();
1133
+ return session.withTransaction(async () => sessionStore.run(session, callback));
1134
+ }
1135
+ id() {
1136
+ return new import_mongodb3.ObjectId();
1137
+ }
1138
+ use(config) {
1139
+ const db = this.getScopedDb(config.db);
1140
+ this.#cols.push({ db, col: config.col });
1141
+ return this.#getTable(config, this.client.db(db).collection(config.col));
1142
+ }
1143
+ #getTable(config, collection) {
1144
+ function transform(doc, select) {
1145
+ const docs = Array.isArray(doc) ? doc : [doc];
1146
+ const mapped = docs.map((d) => config.mapper(d, select));
1147
+ return Array.isArray(doc) ? mapped : mapped[0];
1148
+ }
1149
+ function prepInsertValue(value, id, now, skipUpdate) {
1150
+ const base = {
1151
+ [idKey]: id,
1152
+ ...config.options?.skipAudit ? {} : {
1153
+ createdAt: now.getTime(),
1154
+ ...skipUpdate ? {} : { updatedAt: now.getTime() }
1155
+ }
1156
+ };
1157
+ return {
1158
+ ...value,
1159
+ ...base
1160
+ };
1161
+ }
1162
+ function prepUpdateValue(value, now, upsert = false) {
1163
+ return {
1164
+ ...value,
1165
+ $set: {
1166
+ ...value.$set,
1167
+ ...upsert || Object.keys(value).length > 0 && !config.options?.skipAudit ? { updatedAt: now.getTime() } : {}
1168
+ }
1169
+ };
1170
+ }
1171
+ const dbThis = this;
1172
+ const table = {
1173
+ config,
1174
+ extras: { collection },
1175
+ query: async (params) => {
1176
+ const results = await parseMongodbQueryParams(collection, params);
1177
+ return {
1178
+ ...results,
1179
+ results: transform(results.results, params.select)
1180
+ };
1181
+ },
1182
+ findMany: async (filter, options = {}) => {
1183
+ const { select, ...rest } = options;
1184
+ const projection = select?.length ? Object.fromEntries(select.map((k) => [k, 1])) : void 0;
1185
+ const sortArray = Array.isArray(rest.sort) ? rest.sort : rest.sort ? [rest.sort] : [];
1186
+ const sort = sortArray.map((p) => [p.field, p.desc ? "desc" : "asc"]);
1187
+ const docs = await collection.find(filter, {
1188
+ session: sessionStore.getStore(),
1189
+ limit: rest.limit,
1190
+ sort,
1191
+ projection
1192
+ }).toArray();
1193
+ return transform(docs, select);
1194
+ },
1195
+ findOne: async (filter, options = {}) => {
1196
+ const result = await table.findMany(filter, { ...options, limit: 1 });
1197
+ return result.at(0) ?? null;
1198
+ },
1199
+ findById: async (id, options = {}) => {
1200
+ const result = await table.findOne({ [idKey]: id }, options);
1201
+ return result;
1202
+ },
1203
+ insertMany: async (values, options = {}) => {
1204
+ const now = options.getTime?.() ?? /* @__PURE__ */ new Date();
1205
+ const payload = values.map((value, i) => prepInsertValue(value, options.makeId?.(i) ?? new import_mongodb3.ObjectId().toString(), now));
1206
+ await collection.insertMany(payload, { session: sessionStore.getStore() });
1207
+ const insertedData = await Promise.all(payload.map(async (data) => await table.findById(data[idKey])));
1208
+ return insertedData.filter((value) => !!value);
1209
+ },
1210
+ insertOne: async (values, options = {}) => {
1211
+ const result = await table.insertMany([values], options);
1212
+ return result[0];
1213
+ },
1214
+ updateMany: async (filter, values, options = {}) => {
1215
+ const now = options.getTime?.() ?? /* @__PURE__ */ new Date();
1216
+ const session = sessionStore.getStore();
1217
+ const data = await collection.find(filter, { session, projection: { [idKey]: 1 } }).toArray();
1218
+ const ids = data.map((doc) => doc[idKey]);
1219
+ const filterUpd = { [idKey]: { $in: ids } };
1220
+ await collection.updateMany(filterUpd, prepUpdateValue(values, now), { session });
1221
+ return table.findMany(filterUpd);
1222
+ },
1223
+ updateOne: async (filter, values, options = {}) => {
1224
+ const now = options.getTime?.() ?? /* @__PURE__ */ new Date();
1225
+ const doc = await collection.findOneAndUpdate(filter, prepUpdateValue(values, now), {
1226
+ returnDocument: "after",
1227
+ session: sessionStore.getStore()
1228
+ });
1229
+ return doc ? transform(doc, void 0) : null;
1230
+ },
1231
+ updateById: async (id, values, options = {}) => {
1232
+ const result = await table.updateOne({ [idKey]: id }, values, options);
1233
+ return result;
1234
+ },
1235
+ upsertOne: async (filter, values, options = {}) => {
1236
+ const now = options.getTime?.() ?? /* @__PURE__ */ new Date();
1237
+ const doc = await collection.findOneAndUpdate(
1238
+ filter,
1239
+ {
1240
+ ...prepUpdateValue("update" in values ? values.update : {}, now, true),
1241
+ // @ts-expect-error fighting ts
1242
+ $setOnInsert: prepInsertValue(values.insert, options.makeId?.() ?? new import_mongodb3.ObjectId().toString(), now, true)
1243
+ },
1244
+ { returnDocument: "after", session: sessionStore.getStore(), upsert: true }
1245
+ );
1246
+ return transform(doc, void 0);
1247
+ },
1248
+ deleteMany: async (filter, options = {}) => {
1249
+ const docs = await table.findMany(filter, options);
1250
+ await collection.deleteMany(filter, { session: sessionStore.getStore() });
1251
+ return docs;
1252
+ },
1253
+ deleteOne: async (filter) => {
1254
+ const doc = await collection.findOneAndDelete(filter, { session: sessionStore.getStore() });
1255
+ return doc ? transform(doc, void 0) : null;
1256
+ },
1257
+ deleteById: async (id) => {
1258
+ const result = await table.deleteOne({ [idKey]: id });
1259
+ return result;
1260
+ },
1261
+ bulkWrite: async (operations, options = {}) => {
1262
+ if (!operations.length) return;
1263
+ const bulk = collection.initializeUnorderedBulkOp({ session: sessionStore.getStore() });
1264
+ const now = options.getTime?.() ?? /* @__PURE__ */ new Date();
1265
+ operations.forEach((operation, i) => {
1266
+ switch (operation.op) {
1267
+ case "insert":
1268
+ bulk.insert(prepInsertValue(operation.value, operation.makeId?.(i) ?? new import_mongodb3.ObjectId().toString(), now));
1269
+ break;
1270
+ case "delete":
1271
+ bulk.find(operation.filter).delete();
1272
+ break;
1273
+ case "update":
1274
+ bulk.find(operation.filter).update(prepUpdateValue(operation.value, now));
1275
+ break;
1276
+ case "upsert":
1277
+ bulk.find(operation.filter).upsert().update({
1278
+ ...prepUpdateValue("update" in operation ? operation.update : {}, now, true),
1279
+ $setOnInsert: prepInsertValue(
1280
+ operation.insert,
1281
+ operation.makeId?.(i) ?? new import_mongodb3.ObjectId().toString(),
1282
+ now,
1283
+ true
1284
+ )
1285
+ });
1286
+ break;
1287
+ default:
1288
+ throw new EquippedError(`Unknown bulkWrite operation`, { operation });
1289
+ }
1290
+ });
1291
+ await bulk.execute({ session: sessionStore.getStore() });
1292
+ },
1293
+ watch(callbacks) {
1294
+ if (!dbThis.config.changes)
1295
+ Instance.crash(new EquippedError("Db changes are not enabled in the configuration.", { config }));
1296
+ return new MongoDbChange(
1297
+ dbThis.mongoConfig,
1298
+ dbThis.config.changes,
1299
+ collection,
1300
+ callbacks,
1301
+ (m) => config.mapper(m)
1302
+ );
1303
+ }
1304
+ };
1305
+ return table;
1306
+ }
1307
+ };
1308
+ // Annotate the CommonJS export names for ESM import in node:
1309
+ 0 && (module.exports = {
1310
+ MongoDb,
1311
+ MongoDbChange,
1312
+ mongoDbConfigPipe
1313
+ });
1314
+ //# sourceMappingURL=index.cjs.map