equipped 5.2.8 → 5.3.0-alpha.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 (779) 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 +1705 -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 +1709 -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 +1600 -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-2TCFNKRZ.mjs +1824 -0
  110. package/dist/esm/chunk-2TCFNKRZ.mjs.map +1 -0
  111. package/dist/esm/chunk-6DW4GW3R.min.mjs +2 -0
  112. package/dist/esm/chunk-6DW4GW3R.min.mjs.map +1 -0
  113. package/dist/esm/chunk-6SB5M4XH.mjs +795 -0
  114. package/dist/esm/chunk-6SB5M4XH.mjs.map +1 -0
  115. package/dist/esm/chunk-AQY7QVYI.min.mjs +2 -0
  116. package/dist/esm/chunk-AUKXL4EA.min.mjs +2 -0
  117. package/dist/esm/chunk-AUKXL4EA.min.mjs.map +1 -0
  118. package/dist/esm/chunk-BJNIUCPT.min.mjs +2 -0
  119. package/dist/esm/chunk-BJNIUCPT.min.mjs.map +1 -0
  120. package/dist/esm/chunk-DKPZJIIR.mjs +29 -0
  121. package/dist/esm/chunk-DKPZJIIR.mjs.map +1 -0
  122. package/dist/esm/chunk-DSUJ5FUL.min.mjs +2 -0
  123. package/dist/esm/chunk-DSUJ5FUL.min.mjs.map +1 -0
  124. package/dist/esm/chunk-ECBJ3NT3.min.mjs +2 -0
  125. package/dist/esm/chunk-ECBJ3NT3.min.mjs.map +1 -0
  126. package/dist/{types/events/types/kafka.js → esm/chunk-I4BB436E.mjs} +60 -37
  127. package/dist/esm/chunk-I4BB436E.mjs.map +1 -0
  128. package/dist/esm/chunk-IEBC3OWN.mjs +22 -0
  129. package/dist/esm/chunk-IEBC3OWN.mjs.map +1 -0
  130. package/dist/esm/chunk-J5LGTIGS.mjs +10 -0
  131. package/dist/esm/chunk-KW3PBDFD.mjs +53 -0
  132. package/dist/esm/chunk-KW3PBDFD.mjs.map +1 -0
  133. package/dist/esm/chunk-LTDVZJYJ.min.mjs +32 -0
  134. package/dist/esm/chunk-LTDVZJYJ.min.mjs.map +1 -0
  135. package/dist/esm/chunk-MYGAF2AC.min.mjs +2 -0
  136. package/dist/esm/chunk-MYGAF2AC.min.mjs.map +1 -0
  137. package/dist/esm/chunk-OXI6IKAM.min.mjs +2 -0
  138. package/dist/esm/chunk-OXI6IKAM.min.mjs.map +1 -0
  139. package/dist/esm/chunk-RIRBNBTC.mjs +113 -0
  140. package/dist/esm/chunk-RIRBNBTC.mjs.map +1 -0
  141. package/dist/esm/chunk-TWKHVLLT.mjs +1280 -0
  142. package/dist/esm/chunk-TWKHVLLT.mjs.map +1 -0
  143. package/dist/esm/chunk-VCCS7CAI.mjs +8 -0
  144. package/dist/esm/chunk-VCCS7CAI.mjs.map +1 -0
  145. package/dist/esm/chunk-WHIWTP2Z.min.mjs +2 -0
  146. package/dist/esm/chunk-WHIWTP2Z.min.mjs.map +1 -0
  147. package/dist/esm/chunk-YTHRK2PO.mjs +126 -0
  148. package/dist/esm/chunk-YTHRK2PO.mjs.map +1 -0
  149. package/dist/esm/chunk-YTM6ZURZ.min.mjs +2 -0
  150. package/dist/esm/chunk-YTM6ZURZ.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-GP3G26B6.min.mjs +2 -0
  184. package/dist/esm/introspection-GP3G26B6.min.mjs.map +1 -0
  185. package/dist/esm/introspection-Y7EXSYPD.mjs +10 -0
  186. package/dist/esm/introspection-Y7EXSYPD.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 +126 -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/{types/server/impls/fastify.js → esm/server/adapters/fastify/index.mjs} +56 -45
  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-3PpBAx1K.d.ts} +58 -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-32DMHN3G.js +1823 -0
  248. package/dist/types/chunk-4LRJJSGG.js +112 -0
  249. package/dist/types/chunk-A2MRYMCA.js +1279 -0
  250. package/dist/types/chunk-H6JBLKX5.js +794 -0
  251. package/dist/{esm/events/types/kafka.mjs → types/chunk-IAHTILKJ.js} +59 -38
  252. package/dist/types/chunk-JZ2JTENY.js +125 -0
  253. package/dist/types/chunk-KZKFYO4V.js +7 -0
  254. package/dist/types/chunk-LN3A6R4Y.js +28 -0
  255. package/dist/types/chunk-LWUMIHL4.js +21 -0
  256. package/dist/types/chunk-MLKGABMK.js +9 -0
  257. package/dist/types/chunk-XOU2A2Y6.js +52 -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-ZQCAW254.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 +194 -0
  293. package/dist/types/server/adapters/express/index.js +125 -0
  294. package/dist/types/server/adapters/fastify/index.d.ts +219 -0
  295. package/dist/{esm/server/impls/fastify.mjs → types/server/adapters/fastify/index.js} +55 -46
  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 +154 -15
  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.map +0 -1
  644. package/dist/esm/server/middlewares/index.min.mjs +0 -2
  645. package/dist/esm/server/middlewares/index.min.mjs.map +0 -1
  646. package/dist/esm/server/middlewares/index.mjs +0 -2
  647. package/dist/esm/server/middlewares/index.mjs.map +0 -1
  648. package/dist/esm/server/middlewares/requireAuthUser.min.mjs +0 -2
  649. package/dist/esm/server/middlewares/requireAuthUser.min.mjs.map +0 -1
  650. package/dist/esm/server/middlewares/requireAuthUser.mjs +0 -22
  651. package/dist/esm/server/middlewares/requireAuthUser.mjs.map +0 -1
  652. package/dist/esm/server/openapi.min.mjs +0 -30
  653. package/dist/esm/server/openapi.min.mjs.map +0 -1
  654. package/dist/esm/server/openapi.mjs +0 -191
  655. package/dist/esm/server/openapi.mjs.map +0 -1
  656. package/dist/esm/server/pipes.min.mjs +0 -2
  657. package/dist/esm/server/pipes.min.mjs.map +0 -1
  658. package/dist/esm/server/pipes.mjs +0 -67
  659. package/dist/esm/server/pipes.mjs.map +0 -1
  660. package/dist/esm/server/requests-auth-methods/apiKeys.min.mjs +0 -2
  661. package/dist/esm/server/requests-auth-methods/apiKeys.min.mjs.map +0 -1
  662. package/dist/esm/server/requests-auth-methods/apiKeys.mjs +0 -21
  663. package/dist/esm/server/requests-auth-methods/apiKeys.mjs.map +0 -1
  664. package/dist/esm/server/requests-auth-methods/base.min.mjs +0 -2
  665. package/dist/esm/server/requests-auth-methods/base.min.mjs.map +0 -1
  666. package/dist/esm/server/requests-auth-methods/base.mjs +0 -20
  667. package/dist/esm/server/requests-auth-methods/base.mjs.map +0 -1
  668. package/dist/esm/server/requests-auth-methods/index.min.mjs +0 -2
  669. package/dist/esm/server/requests-auth-methods/index.min.mjs.map +0 -1
  670. package/dist/esm/server/requests-auth-methods/index.mjs +0 -4
  671. package/dist/esm/server/requests-auth-methods/index.mjs.map +0 -1
  672. package/dist/esm/server/requests-auth-methods/jwt.min.mjs +0 -2
  673. package/dist/esm/server/requests-auth-methods/jwt.min.mjs.map +0 -1
  674. package/dist/esm/server/requests-auth-methods/jwt.mjs +0 -78
  675. package/dist/esm/server/requests-auth-methods/jwt.mjs.map +0 -1
  676. package/dist/esm/server/requests.min.mjs +0 -2
  677. package/dist/esm/server/requests.min.mjs.map +0 -1
  678. package/dist/esm/server/requests.mjs +0 -80
  679. package/dist/esm/server/requests.mjs.map +0 -1
  680. package/dist/esm/server/routes.min.mjs +0 -2
  681. package/dist/esm/server/routes.min.mjs.map +0 -1
  682. package/dist/esm/server/routes.mjs +0 -74
  683. package/dist/esm/server/routes.mjs.map +0 -1
  684. package/dist/esm/server/sockets.min.mjs +0 -2
  685. package/dist/esm/server/sockets.min.mjs.map +0 -1
  686. package/dist/esm/server/sockets.mjs +0 -126
  687. package/dist/esm/server/sockets.mjs.map +0 -1
  688. package/dist/esm/server/types.min.mjs +0 -2
  689. package/dist/esm/server/types.min.mjs.map +0 -1
  690. package/dist/esm/server/types.mjs +0 -34
  691. package/dist/esm/server/types.mjs.map +0 -1
  692. package/dist/esm/types/overrides.min.mjs +0 -1
  693. package/dist/esm/types/overrides.mjs +0 -1
  694. package/dist/esm/utilities/authProviders.min.mjs +0 -2
  695. package/dist/esm/utilities/authProviders.min.mjs.map +0 -1
  696. package/dist/esm/utilities/authProviders.mjs +0 -53
  697. package/dist/esm/utilities/authProviders.mjs.map +0 -1
  698. package/dist/esm/utilities/hash.min.mjs +0 -2
  699. package/dist/esm/utilities/hash.min.mjs.map +0 -1
  700. package/dist/esm/utilities/hash.mjs +0 -17
  701. package/dist/esm/utilities/hash.mjs.map +0 -1
  702. package/dist/esm/utilities/json.min.mjs +0 -2
  703. package/dist/esm/utilities/json.min.mjs.map +0 -1
  704. package/dist/esm/utilities/json.mjs +0 -16
  705. package/dist/esm/utilities/json.mjs.map +0 -1
  706. package/dist/esm/utilities/media.min.mjs +0 -2
  707. package/dist/esm/utilities/media.min.mjs.map +0 -1
  708. package/dist/esm/utilities/media.mjs +0 -13
  709. package/dist/esm/utilities/media.mjs.map +0 -1
  710. package/dist/esm/utilities/random.min.mjs +0 -2
  711. package/dist/esm/utilities/random.min.mjs.map +0 -1
  712. package/dist/esm/utilities/random.mjs +0 -12
  713. package/dist/esm/utilities/random.mjs.map +0 -1
  714. package/dist/esm/utilities/retry.min.mjs +0 -2
  715. package/dist/esm/utilities/retry.min.mjs.map +0 -1
  716. package/dist/esm/utilities/retry.mjs +0 -14
  717. package/dist/esm/utilities/retry.mjs.map +0 -1
  718. package/dist/esm/validations/valleyed.min.mjs +0 -2
  719. package/dist/esm/validations/valleyed.min.mjs.map +0 -1
  720. package/dist/esm/validations/valleyed.mjs +0 -43
  721. package/dist/esm/validations/valleyed.mjs.map +0 -1
  722. package/dist/types/audit/events.js +0 -100
  723. package/dist/types/audit/index.d.ts +0 -44
  724. package/dist/types/audit/index.js +0 -1
  725. package/dist/types/cache/base.js +0 -5
  726. package/dist/types/cache/pipes.js +0 -15
  727. package/dist/types/cache/types/in-memory.js +0 -46
  728. package/dist/types/cache/types/redis.js +0 -54
  729. package/dist/types/db-C8YY1yTO.d.ts +0 -14
  730. package/dist/types/db-Dj1SGto0.d.ts +0 -24
  731. package/dist/types/dbs/base/changes.js +0 -35
  732. package/dist/types/dbs/base/core.js +0 -0
  733. package/dist/types/dbs/base/db.js +0 -13
  734. package/dist/types/dbs/base/types.js +0 -1
  735. package/dist/types/dbs/mongo/changes.js +0 -80
  736. package/dist/types/dbs/mongo/db.js +0 -224
  737. package/dist/types/dbs/mongo/query.js +0 -65
  738. package/dist/types/dbs/pipes.js +0 -103
  739. package/dist/types/errors/equippedError.js +0 -11
  740. package/dist/types/errors/requestError.js +0 -11
  741. package/dist/types/errors/types/badRequestError.js +0 -11
  742. package/dist/types/errors/types/notAuthenticatedError.js +0 -11
  743. package/dist/types/errors/types/notAuthorizedError.js +0 -11
  744. package/dist/types/errors/types/notFoundError.js +0 -11
  745. package/dist/types/errors/types/tokenExpired.js +0 -11
  746. package/dist/types/errors/types/validationError.js +0 -15
  747. package/dist/types/events/base.js +0 -5
  748. package/dist/types/events/pipes.js +0 -27
  749. package/dist/types/events/types/rabbitmq.js +0 -53
  750. package/dist/types/instance/hooks.js +0 -25
  751. package/dist/types/instance/settings.js +0 -56
  752. package/dist/types/jobs/pipes.js +0 -12
  753. package/dist/types/kafka-Cf-TUJgv.d.ts +0 -54
  754. package/dist/types/server/impls/base.js +0 -210
  755. package/dist/types/server/impls/express.js +0 -110
  756. package/dist/types/server/middlewares/index.js +0 -1
  757. package/dist/types/server/middlewares/requireAuthUser.js +0 -21
  758. package/dist/types/server/openapi.js +0 -190
  759. package/dist/types/server/pipes.js +0 -66
  760. package/dist/types/server/requests-auth-methods/apiKeys.js +0 -20
  761. package/dist/types/server/requests-auth-methods/base.js +0 -19
  762. package/dist/types/server/requests-auth-methods/index.js +0 -3
  763. package/dist/types/server/requests-auth-methods/jwt.js +0 -77
  764. package/dist/types/server/requests.js +0 -79
  765. package/dist/types/server/routes.js +0 -73
  766. package/dist/types/server/sockets.js +0 -125
  767. package/dist/types/server/types.js +0 -33
  768. package/dist/types/types/overrides.js +0 -0
  769. package/dist/types/utilities/authProviders.js +0 -52
  770. package/dist/types/utilities/hash.js +0 -16
  771. package/dist/types/utilities/json.js +0 -15
  772. package/dist/types/utilities/media.js +0 -12
  773. package/dist/types/utilities/random.js +0 -11
  774. package/dist/types/utilities/retry.js +0 -13
  775. package/dist/types/validations/valleyed.js +0 -42
  776. /package/dist/esm/{dbs/base/core.min.mjs.map → cache/adapters/redis/index.min.mjs.map} +0 -0
  777. /package/dist/esm/{dbs/base/core.mjs.map → cache/adapters/redis/index.mjs.map} +0 -0
  778. /package/dist/esm/{types/overrides.min.mjs.map → chunk-AQY7QVYI.min.mjs.map} +0 -0
  779. /package/dist/esm/{types/overrides.mjs.map → chunk-J5LGTIGS.mjs.map} +0 -0
@@ -0,0 +1,1280 @@
1
+ import {
2
+ EquippedError,
3
+ Instance
4
+ } from "./chunk-2TCFNKRZ.mjs";
5
+
6
+ // src/orm/errors/validation.ts
7
+ var OrmValidationError = class extends EquippedError {
8
+ constructor(kind, schema, operation, failures) {
9
+ super(`ORM validation error (${kind}) on ${schema}.${operation}`, {
10
+ kind,
11
+ schema,
12
+ operation,
13
+ failures
14
+ });
15
+ this.kind = kind;
16
+ this.schema = schema;
17
+ this.operation = operation;
18
+ this.failures = failures;
19
+ }
20
+ };
21
+ if (void 0) {
22
+ const { describe, test, expect } = void 0;
23
+ const { EquippedError: EquippedError2 } = await null;
24
+ describe("OrmValidationError", () => {
25
+ test("constructs with aggregate kind", () => {
26
+ const err = new OrmValidationError("aggregate", "orders", "aggregate", []);
27
+ expect(err.kind).toBe("aggregate");
28
+ expect(err.operation).toBe("aggregate");
29
+ expect(err.message).toBe("ORM validation error (aggregate) on orders.aggregate");
30
+ expect(err).toBeInstanceOf(OrmValidationError);
31
+ expect(err).toBeInstanceOf(EquippedError2);
32
+ });
33
+ test("failure carries alias through to context", () => {
34
+ const failures = [
35
+ { alias: "total_price", cause: "alias collision" }
36
+ ];
37
+ const err = new OrmValidationError("aggregate", "orders", "aggregate", failures);
38
+ expect(err.failures[0].alias).toBe("total_price");
39
+ expect(err.context.failures[0].alias).toBe("total_price");
40
+ });
41
+ test("failure without alias still works", () => {
42
+ const failures = [
43
+ { field: "amount", cause: "invalid field" }
44
+ ];
45
+ const err = new OrmValidationError("validation", "orders", "createOne", failures);
46
+ expect(err.failures[0].alias).toBeUndefined();
47
+ expect(err.failures[0].field).toBe("amount");
48
+ });
49
+ test.each([
50
+ "validation",
51
+ "conflicting-ops",
52
+ "empty-group",
53
+ "undeclared-op",
54
+ "upsert-filter-incompatible",
55
+ "query-shape",
56
+ "changes"
57
+ ])("kind %s still works", (kind) => {
58
+ const err = new OrmValidationError(kind, "users", "createOne", []);
59
+ expect(err.kind).toBe(kind);
60
+ });
61
+ });
62
+ }
63
+
64
+ // src/orm/fields.ts
65
+ import "valleyed";
66
+ var Field = class {
67
+ name;
68
+ path;
69
+ constructor(name, path) {
70
+ this.name = name;
71
+ this.path = path ?? [name];
72
+ }
73
+ };
74
+ function toFieldName(field) {
75
+ if (field instanceof Field) return field.path.join(".");
76
+ return field;
77
+ }
78
+ var SchemaField = class extends Field {
79
+ pipe;
80
+ onCreate;
81
+ onUpdate;
82
+ constructor(name, pipe, opts) {
83
+ super(name);
84
+ this.pipe = pipe;
85
+ this.onCreate = opts?.onCreate;
86
+ this.onUpdate = opts?.onUpdate;
87
+ }
88
+ };
89
+ var ComputedField = class {
90
+ constructor(name, pipe, deps, compute) {
91
+ this.name = name;
92
+ this.pipe = pipe;
93
+ this.deps = deps;
94
+ this.compute = compute;
95
+ }
96
+ };
97
+ if (void 0) {
98
+ const { describe, test, expect } = void 0;
99
+ describe("Fields", () => {
100
+ describe("Field", () => {
101
+ test("stores name and defaults path to [name]", () => {
102
+ const f = new Field("email");
103
+ expect(f.name).toBe("email");
104
+ expect(f.path).toEqual(["email"]);
105
+ });
106
+ test("stores provided custom path", () => {
107
+ const f = new Field("profile", ["profile", "displayName"]);
108
+ expect(f.name).toBe("profile");
109
+ expect(f.path).toEqual(["profile", "displayName"]);
110
+ });
111
+ });
112
+ describe("toFieldName()", () => {
113
+ test("returns string input unchanged", () => {
114
+ expect(toFieldName("createdAt")).toBe("createdAt");
115
+ });
116
+ test("converts Field path into dot notation", () => {
117
+ const f = new Field("profile", ["profile", "displayName"]);
118
+ expect(toFieldName(f)).toBe("profile.displayName");
119
+ });
120
+ });
121
+ describe("SchemaField", () => {
122
+ test("extends Field and stores pipe", () => {
123
+ const mockPipe = v.string();
124
+ const f = new SchemaField("email", mockPipe);
125
+ expect(f).toBeInstanceOf(Field);
126
+ expect(f.name).toBe("email");
127
+ expect(f.path).toEqual(["email"]);
128
+ expect(f.pipe).toBe(mockPipe);
129
+ });
130
+ test("stores lifecycle hooks when provided", () => {
131
+ const mockPipe = v.number();
132
+ const f = new SchemaField("updatedAt", mockPipe, {
133
+ onCreate: () => 1e3,
134
+ onUpdate: () => 2e3
135
+ });
136
+ expect(f.onCreate?.()).toBe(1e3);
137
+ expect(f.onUpdate?.()).toBe(2e3);
138
+ });
139
+ test("keeps lifecycle hooks undefined when omitted", () => {
140
+ const mockPipe = v.string();
141
+ const f = new SchemaField("name", mockPipe);
142
+ expect(f.onCreate).toBeUndefined();
143
+ expect(f.onUpdate).toBeUndefined();
144
+ });
145
+ });
146
+ });
147
+ }
148
+
149
+ // src/orm/filter.ts
150
+ var Filter = class {
151
+ constructor(field, op, value) {
152
+ this.op = op;
153
+ this.value = value;
154
+ this.field = toFieldName(field);
155
+ }
156
+ field;
157
+ };
158
+ var FilterGroup = class _FilterGroup {
159
+ constructor(op = "and", children) {
160
+ this.op = op;
161
+ this.children = children ?? [];
162
+ }
163
+ children;
164
+ #withChild(child) {
165
+ return new _FilterGroup(this.op, [...this.children, child]);
166
+ }
167
+ eq(field, value) {
168
+ return this.#withChild(new Filter(field, "eq", value));
169
+ }
170
+ ne(field, value) {
171
+ return this.#withChild(new Filter(field, "ne", value));
172
+ }
173
+ gt(field, value) {
174
+ return this.#withChild(new Filter(field, "gt", value));
175
+ }
176
+ gte(field, value) {
177
+ return this.#withChild(new Filter(field, "gte", value));
178
+ }
179
+ lt(field, value) {
180
+ return this.#withChild(new Filter(field, "lt", value));
181
+ }
182
+ lte(field, value) {
183
+ return this.#withChild(new Filter(field, "lte", value));
184
+ }
185
+ in(field, value) {
186
+ return this.#withChild(new Filter(field, "in", value));
187
+ }
188
+ notIn(field, value) {
189
+ return this.#withChild(new Filter(field, "notIn", value));
190
+ }
191
+ like(field, value) {
192
+ return this.#withChild(new Filter(field, "like", value));
193
+ }
194
+ exists(field) {
195
+ return this.#withChild(new Filter(field, "exists", true));
196
+ }
197
+ notExists(field) {
198
+ return this.#withChild(new Filter(field, "notExists", true));
199
+ }
200
+ contains(field, value) {
201
+ return this.#withChild(new Filter(field, "contains", value));
202
+ }
203
+ notContains(field, value) {
204
+ return this.#withChild(new Filter(field, "notContains", value));
205
+ }
206
+ and(facFns) {
207
+ if (facFns.length === 0) throw new EquippedError("and() requires at least one filter factory", { op: "and" });
208
+ const group = new _FilterGroup("and", facFns.map((fn) => fn(_FilterGroup.create())));
209
+ return this.#withChild(group);
210
+ }
211
+ or(facFns) {
212
+ if (facFns.length === 0) throw new EquippedError("or() requires at least one filter factory", { op: "or" });
213
+ const group = new _FilterGroup("or", facFns.map((fn) => fn(_FilterGroup.create())));
214
+ return this.#withChild(group);
215
+ }
216
+ clone() {
217
+ return new _FilterGroup(
218
+ this.op,
219
+ this.children.map((c) => {
220
+ if (c instanceof Filter) return new Filter(c.field, c.op, structuredClone(c.value));
221
+ return c.clone();
222
+ })
223
+ );
224
+ }
225
+ static create() {
226
+ return new _FilterGroup();
227
+ }
228
+ };
229
+ function assertNormalisedAggregate(schema, adapter, spec) {
230
+ const failures = [];
231
+ if (spec.aggregates.length === 0) {
232
+ failures.push({ cause: "At least one aggregator step is required" });
233
+ }
234
+ const seenAliases = /* @__PURE__ */ new Set();
235
+ for (const agg of spec.aggregates) {
236
+ if (seenAliases.has(agg.alias)) {
237
+ failures.push({ alias: agg.alias, cause: `Duplicate alias "${agg.alias}"` });
238
+ }
239
+ seenAliases.add(agg.alias);
240
+ if (!adapter.aggregateOps.includes(agg.fn)) {
241
+ failures.push({ alias: agg.alias, cause: `Undeclared aggregate op "${agg.fn}"` });
242
+ }
243
+ }
244
+ const allFields = schema.fields;
245
+ const fieldNames = new Set(Object.keys(allFields));
246
+ for (const field of spec.groupBy) {
247
+ if (!fieldNames.has(field)) {
248
+ failures.push({ field, cause: `Unknown groupBy field "${field}" on schema "${schema.name}"` });
249
+ }
250
+ if (seenAliases.has(field)) {
251
+ failures.push({ alias: field, cause: `Alias "${field}" collides with groupBy field name` });
252
+ }
253
+ }
254
+ if (failures.length > 0) {
255
+ throw new OrmValidationError("aggregate", schema.name, "aggregate", failures);
256
+ }
257
+ if (spec.where) {
258
+ assertNormalisedFilter(schema, spec.where);
259
+ }
260
+ if (spec.having) {
261
+ let walkHaving2 = function(node) {
262
+ if (node instanceof Filter) {
263
+ if (!validHavingFields.has(node.field)) {
264
+ havingErrors.push({ field: node.field, cause: `Unknown having field "${node.field}" \u2014 must be an aggregator alias or groupBy field` });
265
+ }
266
+ } else if (node instanceof FilterGroup) {
267
+ for (const child of node.children) walkHaving2(child);
268
+ }
269
+ };
270
+ var walkHaving = walkHaving2;
271
+ const validHavingFields = /* @__PURE__ */ new Set([...seenAliases, ...spec.groupBy]);
272
+ const havingErrors = [];
273
+ for (const child of spec.having.children) walkHaving2(child);
274
+ if (havingErrors.length > 0) {
275
+ throw new OrmValidationError("aggregate", schema.name, "aggregate", havingErrors);
276
+ }
277
+ }
278
+ }
279
+ function assertNormalisedFilter(schema, group) {
280
+ const allFields = schema.fields;
281
+ const fieldNames = new Set(Object.keys(allFields));
282
+ const errors = [];
283
+ function walk(node) {
284
+ if (node instanceof Filter) {
285
+ if (!fieldNames.has(node.field)) {
286
+ errors.push({ field: node.field, cause: `Unknown field "${node.field}" on schema "${schema.name}"` });
287
+ }
288
+ } else if (node instanceof FilterGroup) {
289
+ for (const child of node.children) walk(child);
290
+ }
291
+ }
292
+ for (const child of group.children) walk(child);
293
+ if (errors.length > 0) {
294
+ throw new OrmValidationError(
295
+ "validation",
296
+ schema.name,
297
+ "filter",
298
+ errors.map((e) => ({ field: e.field, cause: e.cause }))
299
+ );
300
+ }
301
+ }
302
+ if (void 0) {
303
+ const { describe, test, expect } = void 0;
304
+ const { v: v2 } = await null;
305
+ const { Schema } = await null;
306
+ const UserSchema = Schema.from("users").pk("id", v2.string(), () => "u1").field("email", v2.string()).field("age", v2.number()).field("name", v2.string()).field("tags", v2.array(v2.string())).build();
307
+ describe("FilterGroup", () => {
308
+ describe("filter-op methods", () => {
309
+ test("eq adds a filter clause with op eq", () => {
310
+ const g = FilterGroup.create().eq(UserSchema.fields.age, 25);
311
+ expect(g.children).toHaveLength(1);
312
+ const f = g.children[0];
313
+ expect(f.field).toBe("age");
314
+ expect(f.op).toBe("eq");
315
+ expect(f.value).toBe(25);
316
+ });
317
+ test("ne adds a filter clause with op ne", () => {
318
+ const g = FilterGroup.create().ne("name", "Bob");
319
+ const f = g.children[0];
320
+ expect(f.op).toBe("ne");
321
+ expect(f.value).toBe("Bob");
322
+ });
323
+ test("gt/gte/lt/lte produce correct ops", () => {
324
+ const g = FilterGroup.create().gt(UserSchema.fields.age, 10).gte(UserSchema.fields.age, 20).lt(UserSchema.fields.age, 30).lte(UserSchema.fields.age, 40);
325
+ expect(g.children.map((c) => c.op)).toEqual(["gt", "gte", "lt", "lte"]);
326
+ });
327
+ test("in adds a filter clause with array value", () => {
328
+ const g = FilterGroup.create().in(UserSchema.fields.age, [1, 2, 3]);
329
+ const f = g.children[0];
330
+ expect(f.op).toBe("in");
331
+ expect(f.value).toEqual([1, 2, 3]);
332
+ });
333
+ test("notIn adds a filter clause with op notIn", () => {
334
+ const g = FilterGroup.create().notIn(UserSchema.fields.age, [4, 5]);
335
+ const f = g.children[0];
336
+ expect(f.op).toBe("notIn");
337
+ expect(f.value).toEqual([4, 5]);
338
+ });
339
+ test("like adds a filter clause with op like", () => {
340
+ const g = FilterGroup.create().like(UserSchema.fields.email, "alice");
341
+ const f = g.children[0];
342
+ expect(f.op).toBe("like");
343
+ expect(f.value).toBe("alice");
344
+ });
345
+ test("exists adds a filter clause with op exists", () => {
346
+ const g = FilterGroup.create().exists(UserSchema.fields.name);
347
+ const f = g.children[0];
348
+ expect(f.op).toBe("exists");
349
+ });
350
+ test("notExists is its own op, not a boolean form of exists", () => {
351
+ const g = FilterGroup.create().notExists(UserSchema.fields.name);
352
+ const f = g.children[0];
353
+ expect(f.op).toBe("notExists");
354
+ expect(f.op).not.toBe("exists");
355
+ });
356
+ test("contains/notContains produce correct ops", () => {
357
+ const g = FilterGroup.create().contains("tags", ["a"]).notContains("tags", ["b"]);
358
+ expect(g.children[0].op).toBe("contains");
359
+ expect(g.children[1].op).toBe("notContains");
360
+ });
361
+ test("all 13 filter ops produce matching Filter.op values (name-parity)", () => {
362
+ const g = FilterGroup.create().eq("f", 1).ne("f", 1).gt("f", 1).gte("f", 1).lt("f", 1).lte("f", 1).in("f", [1]).notIn("f", [1]).like("f", "x").exists("f").notExists("f").contains("f", [1]).notContains("f", [1]);
363
+ const ops = g.children.map((c) => c.op);
364
+ expect(ops).toEqual([
365
+ "eq",
366
+ "ne",
367
+ "gt",
368
+ "gte",
369
+ "lt",
370
+ "lte",
371
+ "in",
372
+ "notIn",
373
+ "like",
374
+ "exists",
375
+ "notExists",
376
+ "contains",
377
+ "notContains"
378
+ ]);
379
+ });
380
+ });
381
+ describe("raw-string field overload", () => {
382
+ test("accepts raw string field name", () => {
383
+ const g = FilterGroup.create().eq("age", 18);
384
+ const f = g.children[0];
385
+ expect(f.field).toBe("age");
386
+ });
387
+ test("accepts typed Field ref and extracts field name", () => {
388
+ const g = FilterGroup.create().eq(UserSchema.fields.age, 18);
389
+ const f = g.children[0];
390
+ expect(f.field).toBe("age");
391
+ });
392
+ });
393
+ describe("structural combinators", () => {
394
+ test("and() creates a nested and-group", () => {
395
+ const g = FilterGroup.create().and([
396
+ (q) => q.eq("age", 10),
397
+ (q) => q.eq("name", "Alice")
398
+ ]);
399
+ expect(g.children).toHaveLength(1);
400
+ const nested = g.children[0];
401
+ expect(nested.op).toBe("and");
402
+ expect(nested.children).toHaveLength(2);
403
+ });
404
+ test("or() creates a nested or-group", () => {
405
+ const g = FilterGroup.create().or([
406
+ (q) => q.eq("name", "Alice"),
407
+ (q) => q.eq("name", "Bob")
408
+ ]);
409
+ const nested = g.children[0];
410
+ expect(nested.op).toBe("or");
411
+ });
412
+ });
413
+ describe("empty-combinator rejection", () => {
414
+ test("and([]) throws at builder time", () => {
415
+ expect(() => FilterGroup.create().and([])).toThrow();
416
+ });
417
+ test("or([]) throws at builder time", () => {
418
+ expect(() => FilterGroup.create().or([])).toThrow();
419
+ });
420
+ test("thrown error has stack pointing at offending call", () => {
421
+ try {
422
+ FilterGroup.create().and([]);
423
+ expect.unreachable();
424
+ } catch (e) {
425
+ expect(e.stack).toContain("filter.ts");
426
+ }
427
+ });
428
+ });
429
+ describe("clone()", () => {
430
+ test("deep-clones the tree", () => {
431
+ const original = FilterGroup.create().eq("name", "Alice").and([(q) => q.gt("age", 20)]);
432
+ const cloned = original.clone();
433
+ expect(cloned.children).toHaveLength(2);
434
+ expect(cloned).not.toBe(original);
435
+ expect(cloned.children[0]).not.toBe(original.children[0]);
436
+ });
437
+ test("structuredClone of values \u2014 mutations on clone do not leak", () => {
438
+ const arr = [1, 2, 3];
439
+ const original = FilterGroup.create().in("ids", arr);
440
+ const cloned = original.clone();
441
+ const clonedValue = cloned.children[0].value;
442
+ clonedValue.push(4);
443
+ expect(original.children[0].value).toEqual([1, 2, 3]);
444
+ expect(clonedValue).toEqual([1, 2, 3, 4]);
445
+ });
446
+ });
447
+ });
448
+ describe("clone-on-step: fan-out independence", () => {
449
+ test(".eq() returns a new FilterGroup, not the same instance", () => {
450
+ const base = FilterGroup.create();
451
+ const a = base.eq("name", "Alice");
452
+ expect(a).not.toBe(base);
453
+ });
454
+ test("fan-out from shared base does not pollute either branch", () => {
455
+ const base = FilterGroup.create().eq("name", "Alice");
456
+ const branchA = base.gt("age", 20);
457
+ const branchB = base.lt("age", 40);
458
+ expect(branchA.children).toHaveLength(2);
459
+ expect(branchB.children).toHaveLength(2);
460
+ expect(base.children).toHaveLength(1);
461
+ expect(branchA.children[1].op).toBe("gt");
462
+ expect(branchB.children[1].op).toBe("lt");
463
+ });
464
+ test(".and() returns a new FilterGroup", () => {
465
+ const base = FilterGroup.create().eq("name", "Alice");
466
+ const withAnd = base.and([(q) => q.gt("age", 20)]);
467
+ expect(withAnd).not.toBe(base);
468
+ expect(base.children).toHaveLength(1);
469
+ expect(withAnd.children).toHaveLength(2);
470
+ });
471
+ test(".or() returns a new FilterGroup", () => {
472
+ const base = FilterGroup.create().eq("name", "Alice");
473
+ const withOr = base.or([(q) => q.gt("age", 20)]);
474
+ expect(withOr).not.toBe(base);
475
+ expect(base.children).toHaveLength(1);
476
+ expect(withOr.children).toHaveLength(2);
477
+ });
478
+ });
479
+ describe("assertNormalisedFilter", () => {
480
+ test("passes for valid filter referencing known fields", () => {
481
+ const g = FilterGroup.create().eq(UserSchema.fields.age, 25);
482
+ expect(() => assertNormalisedFilter(UserSchema, g)).not.toThrow();
483
+ });
484
+ test("passes for raw string field that exists on schema", () => {
485
+ const g = FilterGroup.create().eq("email", "test@test.com");
486
+ expect(() => assertNormalisedFilter(UserSchema, g)).not.toThrow();
487
+ });
488
+ test("rejects unknown field name with OrmValidationError", () => {
489
+ const g = FilterGroup.create().eq("unknownField", 42);
490
+ expect(() => assertNormalisedFilter(UserSchema, g)).toThrow(OrmValidationError);
491
+ });
492
+ test("rejected error has kind validation", () => {
493
+ const g = FilterGroup.create().eq("badField", 42);
494
+ try {
495
+ assertNormalisedFilter(UserSchema, g);
496
+ expect.unreachable();
497
+ } catch (e) {
498
+ expect(e).toBeInstanceOf(OrmValidationError);
499
+ expect(e.kind).toBe("validation");
500
+ expect(e.failures).toHaveLength(1);
501
+ expect(e.failures[0].field).toBe("badField");
502
+ }
503
+ });
504
+ test("preserves logical field names verbatim for Field refs", () => {
505
+ const g = FilterGroup.create().eq(UserSchema.fields.email, "a@b.com");
506
+ const f = g.children[0];
507
+ expect(f.field).toBe("email");
508
+ assertNormalisedFilter(UserSchema, g);
509
+ });
510
+ test("preserves logical field names verbatim for raw-string overloads", () => {
511
+ const g = FilterGroup.create().eq("age", 18);
512
+ const f = g.children[0];
513
+ expect(f.field).toBe("age");
514
+ assertNormalisedFilter(UserSchema, g);
515
+ });
516
+ test("walks nested groups to detect unknown fields", () => {
517
+ const g = FilterGroup.create().and([
518
+ (q) => q.eq("name", "Alice"),
519
+ (q) => q.or([(inner) => inner.eq("nonexistent", "val")])
520
+ ]);
521
+ expect(() => assertNormalisedFilter(UserSchema, g)).toThrow(OrmValidationError);
522
+ });
523
+ });
524
+ describe("assertNormalisedAggregate", () => {
525
+ const adapter = { aggregateOps: ["count"] };
526
+ test("passes for valid count aggregate", () => {
527
+ const spec = { aggregates: [{ fn: "count", alias: "total" }], groupBy: [] };
528
+ expect(() => assertNormalisedAggregate(UserSchema, adapter, spec)).not.toThrow();
529
+ });
530
+ test("rejects empty aggregator list", () => {
531
+ const spec = { aggregates: [], groupBy: [] };
532
+ expect(() => assertNormalisedAggregate(UserSchema, adapter, spec)).toThrow(OrmValidationError);
533
+ try {
534
+ assertNormalisedAggregate(UserSchema, adapter, spec);
535
+ expect.unreachable();
536
+ } catch (e) {
537
+ expect(e.kind).toBe("aggregate");
538
+ }
539
+ });
540
+ test("rejects undeclared aggregate op", () => {
541
+ const spec = { aggregates: [{ fn: "sum", alias: "total", field: "age" }], groupBy: [] };
542
+ expect(() => assertNormalisedAggregate(UserSchema, adapter, spec)).toThrow(OrmValidationError);
543
+ try {
544
+ assertNormalisedAggregate(UserSchema, adapter, spec);
545
+ expect.unreachable();
546
+ } catch (e) {
547
+ const err = e;
548
+ expect(err.kind).toBe("aggregate");
549
+ expect(err.failures[0].alias).toBe("total");
550
+ expect(err.failures[0].cause).toContain("Undeclared");
551
+ }
552
+ });
553
+ test("rejects duplicate aliases", () => {
554
+ const spec = {
555
+ aggregates: [
556
+ { fn: "count", alias: "total" },
557
+ { fn: "count", alias: "total" }
558
+ ],
559
+ groupBy: []
560
+ };
561
+ expect(() => assertNormalisedAggregate(UserSchema, adapter, spec)).toThrow(OrmValidationError);
562
+ try {
563
+ assertNormalisedAggregate(UserSchema, adapter, spec);
564
+ expect.unreachable();
565
+ } catch (e) {
566
+ const err = e;
567
+ expect(err.failures.some((f) => f.alias === "total")).toBe(true);
568
+ }
569
+ });
570
+ test("validates where filter against schema", () => {
571
+ const spec = {
572
+ aggregates: [{ fn: "count", alias: "total" }],
573
+ groupBy: [],
574
+ where: FilterGroup.create().eq("unknownField", 42)
575
+ };
576
+ expect(() => assertNormalisedAggregate(UserSchema, adapter, spec)).toThrow(OrmValidationError);
577
+ });
578
+ test("collects multiple failures", () => {
579
+ const spec = {
580
+ aggregates: [
581
+ { fn: "sum", alias: "x", field: "age" },
582
+ { fn: "avg", alias: "x", field: "age" }
583
+ ],
584
+ groupBy: []
585
+ };
586
+ try {
587
+ assertNormalisedAggregate(UserSchema, adapter, spec);
588
+ expect.unreachable();
589
+ } catch (e) {
590
+ const err = e;
591
+ expect(err.failures.length).toBeGreaterThanOrEqual(2);
592
+ }
593
+ });
594
+ test("rejects unknown groupBy field", () => {
595
+ const allOps = { aggregateOps: ["count", "sum"] };
596
+ const spec = {
597
+ aggregates: [{ fn: "count", alias: "total" }],
598
+ groupBy: ["nonexistent"]
599
+ };
600
+ try {
601
+ assertNormalisedAggregate(UserSchema, allOps, spec);
602
+ expect.unreachable();
603
+ } catch (e) {
604
+ const err = e;
605
+ expect(err.kind).toBe("aggregate");
606
+ expect(err.failures[0].cause).toContain("groupBy");
607
+ expect(err.failures[0].field).toBe("nonexistent");
608
+ }
609
+ });
610
+ test("rejects alias colliding with groupBy field name", () => {
611
+ const allOps = { aggregateOps: ["count"] };
612
+ const spec = {
613
+ aggregates: [{ fn: "count", alias: "name" }],
614
+ groupBy: ["name"]
615
+ };
616
+ try {
617
+ assertNormalisedAggregate(UserSchema, allOps, spec);
618
+ expect.unreachable();
619
+ } catch (e) {
620
+ const err = e;
621
+ expect(err.kind).toBe("aggregate");
622
+ expect(err.failures.some((f) => String(f.cause).includes("collides"))).toBe(true);
623
+ }
624
+ });
625
+ test("rejects unknown having field", () => {
626
+ const allOps = { aggregateOps: ["count"] };
627
+ const spec = {
628
+ aggregates: [{ fn: "count", alias: "total" }],
629
+ groupBy: ["name"],
630
+ having: FilterGroup.create().gt("nonexistent", 0)
631
+ };
632
+ try {
633
+ assertNormalisedAggregate(UserSchema, allOps, spec);
634
+ expect.unreachable();
635
+ } catch (e) {
636
+ const err = e;
637
+ expect(err.kind).toBe("aggregate");
638
+ expect(err.failures[0].cause).toContain("having");
639
+ }
640
+ });
641
+ test("having accepts alias and groupBy field names", () => {
642
+ const allOps = { aggregateOps: ["count"] };
643
+ const spec = {
644
+ aggregates: [{ fn: "count", alias: "total" }],
645
+ groupBy: ["name"],
646
+ having: FilterGroup.create().gt("total", 0).eq("name", "Alice")
647
+ };
648
+ expect(() => assertNormalisedAggregate(UserSchema, allOps, spec)).not.toThrow();
649
+ });
650
+ test("passes valid groupBy with known schema fields", () => {
651
+ const allOps = { aggregateOps: ["count"] };
652
+ const spec = {
653
+ aggregates: [{ fn: "count", alias: "total" }],
654
+ groupBy: ["name", "age"]
655
+ };
656
+ expect(() => assertNormalisedAggregate(UserSchema, allOps, spec)).not.toThrow();
657
+ });
658
+ });
659
+ }
660
+
661
+ // src/orm/orm-adapter.ts
662
+ var OrmAdapter = class {
663
+ queryableOps = [];
664
+ updateOps = [];
665
+ aggregateOps = [];
666
+ supportedFieldTypes = [];
667
+ onFatalError(err) {
668
+ const wrapped = err instanceof EquippedError ? err : new EquippedError("OrmAdapter fatal error", {}, err);
669
+ Instance.crash(wrapped);
670
+ }
671
+ constructor() {
672
+ const self = this;
673
+ if (typeof self.connect === "function") {
674
+ Instance.on("start", () => self.connect(), { class: this.constructor });
675
+ }
676
+ if (typeof self.disconnect === "function") {
677
+ Instance.on("close", () => self.disconnect(), { class: this.constructor });
678
+ }
679
+ }
680
+ use(schema, config) {
681
+ const self = this;
682
+ const emptyIterator = async function* () {
683
+ };
684
+ const use = {
685
+ findMany: (filter, opts) => self.findMany?.(schema, config, filter, opts) ?? Promise.resolve([]),
686
+ iterateMany: (filter, opts) => self.iterateMany?.(schema, config, filter, opts) ?? emptyIterator(),
687
+ findOne: async (filter) => {
688
+ const rows = await use.findMany(filter, { limit: 1 });
689
+ return rows[0] ?? null;
690
+ },
691
+ count: (filter) => self.count?.(schema, config, filter) ?? Promise.reject(new Error("count not implemented")),
692
+ createOne: async (d) => {
693
+ const rows = await use.createMany([d]);
694
+ return rows[0];
695
+ },
696
+ createMany: (d) => self.createMany?.(schema, config, d) ?? Promise.resolve([]),
697
+ updateMany: (filter, d) => self.updateMany?.(schema, config, filter, d) ?? Promise.resolve([]),
698
+ updateOne: async (filter, d) => {
699
+ const match = await use.findOne(filter);
700
+ if (!match) return null;
701
+ const pk = schema.pkField.name;
702
+ const pkFilter = FilterGroup.create().eq(pk, match[pk]);
703
+ const rows = await use.updateMany(pkFilter, d);
704
+ return rows[0] ?? null;
705
+ },
706
+ upsertOne: (filter, create, ops) => self.upsertOne?.(schema, config, filter, create, ops) ?? Promise.reject(new Error("upsertOne not implemented")),
707
+ deleteOne: async (filter) => {
708
+ const row = await use.findOne(filter);
709
+ if (!row) return null;
710
+ const pk = schema.pkField.name;
711
+ if (self.deleteByPk) {
712
+ await self.deleteByPk(schema, config, row[pk]);
713
+ } else if (self.deleteMany) {
714
+ const pkFilter = FilterGroup.create().eq(pk, row[pk]);
715
+ await self.deleteMany(schema, config, pkFilter);
716
+ }
717
+ return row;
718
+ },
719
+ deleteMany: (filter) => self.deleteMany?.(schema, config, filter) ?? Promise.resolve([]),
720
+ raw: (...args) => self.raw?.(schema, config, ...args) ?? Promise.reject(new Error("raw not implemented")),
721
+ aggregate: (spec) => self.aggregate?.(schema, config, spec) ?? Promise.reject(new Error("aggregate not implemented")),
722
+ aggregateOps: self.aggregateOps ?? []
723
+ };
724
+ return use;
725
+ }
726
+ };
727
+ if (void 0) {
728
+ const { describe, test, expect, vi } = void 0;
729
+ const { v: v2 } = await null;
730
+ describe("OrmAdapter", () => {
731
+ test("subclass with connect/disconnect auto-registers Instance hooks", async () => {
732
+ const { Instance: Inst } = await null;
733
+ const onSpy = vi.spyOn(Inst, "on").mockImplementation(() => {
734
+ });
735
+ class TestAdapter extends OrmAdapter {
736
+ schemaConfigPipe = v2.object({ table: v2.string() });
737
+ supportedFieldTypes = ["string"];
738
+ async connect() {
739
+ }
740
+ async disconnect() {
741
+ }
742
+ }
743
+ new TestAdapter();
744
+ expect(onSpy).toHaveBeenCalledWith("start", expect.any(Function), expect.objectContaining({ class: TestAdapter }));
745
+ expect(onSpy).toHaveBeenCalledWith("close", expect.any(Function), expect.objectContaining({ class: TestAdapter }));
746
+ onSpy.mockRestore();
747
+ });
748
+ test("subclass without connect/disconnect does not register hooks", async () => {
749
+ const { Instance: Inst } = await null;
750
+ const onSpy = vi.spyOn(Inst, "on").mockImplementation(() => {
751
+ });
752
+ class MinimalAdapter extends OrmAdapter {
753
+ schemaConfigPipe = v2.object({ table: v2.string() });
754
+ }
755
+ new MinimalAdapter();
756
+ expect(onSpy).not.toHaveBeenCalled();
757
+ onSpy.mockRestore();
758
+ });
759
+ test("capability declarations default to empty arrays", async () => {
760
+ const { Instance: Inst } = await null;
761
+ vi.spyOn(Inst, "on").mockImplementation(() => {
762
+ });
763
+ class DefaultAdapter extends OrmAdapter {
764
+ schemaConfigPipe = v2.object({ table: v2.string() });
765
+ }
766
+ const adapter = new DefaultAdapter();
767
+ expect(adapter.queryableOps).toEqual([]);
768
+ expect(adapter.updateOps).toEqual([]);
769
+ expect(adapter.aggregateOps).toEqual([]);
770
+ expect(adapter.supportedFieldTypes).toEqual([]);
771
+ vi.restoreAllMocks();
772
+ });
773
+ test("onFatalError wraps non-EquippedError and calls Instance.crash", async () => {
774
+ const { Instance: Inst } = await null;
775
+ vi.spyOn(Inst, "on").mockImplementation(() => {
776
+ });
777
+ const crashSpy = vi.spyOn(Inst, "crash").mockImplementation((() => {
778
+ throw new Error("crash");
779
+ }));
780
+ class FatalAdapter extends OrmAdapter {
781
+ schemaConfigPipe = v2.object({ table: v2.string() });
782
+ triggerFatal() {
783
+ this.onFatalError(new Error("something broke"));
784
+ }
785
+ }
786
+ const adapter = new FatalAdapter();
787
+ expect(() => adapter.triggerFatal()).toThrow("crash");
788
+ expect(crashSpy).toHaveBeenCalled();
789
+ vi.restoreAllMocks();
790
+ });
791
+ test("onFatalError passes through EquippedError directly", async () => {
792
+ const { Instance: Inst } = await null;
793
+ vi.spyOn(Inst, "on").mockImplementation(() => {
794
+ });
795
+ let crashedWith;
796
+ vi.spyOn(Inst, "crash").mockImplementation(((err) => {
797
+ crashedWith = err;
798
+ throw err;
799
+ }));
800
+ class FatalAdapter extends OrmAdapter {
801
+ schemaConfigPipe = v2.object({ table: v2.string() });
802
+ triggerFatal() {
803
+ this.onFatalError(new EquippedError("equipped error", { detail: "test" }));
804
+ }
805
+ }
806
+ const adapter = new FatalAdapter();
807
+ expect(() => adapter.triggerFatal()).toThrow();
808
+ expect(crashedWith).toBeInstanceOf(EquippedError);
809
+ expect(crashedWith.message).toBe("equipped error");
810
+ vi.restoreAllMocks();
811
+ });
812
+ test("use() creates OrmUse bridge that delegates to flat methods", async () => {
813
+ const { Instance: Inst } = await null;
814
+ const { Schema } = await null;
815
+ vi.spyOn(Inst, "on").mockImplementation(() => {
816
+ });
817
+ class BridgeAdapter extends OrmAdapter {
818
+ schemaConfigPipe = v2.object({ table: v2.string() });
819
+ supportedFieldTypes = ["string"];
820
+ queryableOps = ["eq"];
821
+ async findMany(_s, _c, _f, _o) {
822
+ return [{ id: "found" }];
823
+ }
824
+ async count(_s, _c, _f) {
825
+ return 1;
826
+ }
827
+ async *iterateMany(_s, _c, _f, _o) {
828
+ yield { id: "iterated" };
829
+ }
830
+ async createMany(_s, _c, data) {
831
+ return data;
832
+ }
833
+ }
834
+ const TestSchema = Schema.from("bridge_test").pk("id", v2.string(), () => "x").build();
835
+ const adapter = new BridgeAdapter();
836
+ const ormUse = adapter.use(TestSchema, { table: "bridge_test" });
837
+ const rows = await ormUse.findMany(FilterGroup.create());
838
+ expect(rows).toEqual([{ id: "found" }]);
839
+ await expect(ormUse.count(FilterGroup.create())).resolves.toBe(1);
840
+ const iterated = [];
841
+ for await (const row of ormUse.iterateMany(FilterGroup.create())) iterated.push(row);
842
+ expect(iterated).toEqual([{ id: "iterated" }]);
843
+ const created = await ormUse.createOne({ id: "new" });
844
+ expect(created).toEqual({ id: "new" });
845
+ vi.restoreAllMocks();
846
+ });
847
+ test("use() bridge delegates updateMany to flat method", async () => {
848
+ const { Instance: Inst } = await null;
849
+ const { Schema } = await null;
850
+ vi.spyOn(Inst, "on").mockImplementation(() => {
851
+ });
852
+ class UpdateAdapter extends OrmAdapter {
853
+ schemaConfigPipe = v2.object({ table: v2.string() });
854
+ supportedFieldTypes = ["string", "number"];
855
+ updateOps = ["set"];
856
+ async findMany(_s, _c, _f) {
857
+ return [{ id: "u1", name: "old" }];
858
+ }
859
+ async updateMany(_s, _c, _f, data) {
860
+ return [{ id: "u1", ...data }];
861
+ }
862
+ }
863
+ const TestSchema = Schema.from("upd_test").pk("id", v2.string(), () => "x").field("name", v2.string()).build();
864
+ const adapter = new UpdateAdapter();
865
+ const ormUse = adapter.use(TestSchema, { table: "upd_test" });
866
+ const updated = await ormUse.updateOne(FilterGroup.create().eq("id", "u1"), { name: "new" });
867
+ expect(updated).not.toBeNull();
868
+ expect(updated.name).toBe("new");
869
+ vi.restoreAllMocks();
870
+ });
871
+ test("use().iterateMany does not fall back to findMany when adapter omits iterateMany", async () => {
872
+ const { Instance: Inst } = await null;
873
+ const { Schema } = await null;
874
+ vi.spyOn(Inst, "on").mockImplementation(() => {
875
+ });
876
+ let findManyCalls = 0;
877
+ class FindOnlyAdapter extends OrmAdapter {
878
+ schemaConfigPipe = v2.object({ table: v2.string() });
879
+ supportedFieldTypes = ["string"];
880
+ async findMany() {
881
+ findManyCalls += 1;
882
+ return [{ id: "found" }];
883
+ }
884
+ }
885
+ const TestSchema = Schema.from("iter_no_fallback").pk("id", v2.string(), () => "x").build();
886
+ const adapter = new FindOnlyAdapter();
887
+ const rows = [];
888
+ for await (const row of adapter.use(TestSchema, { table: "iter_no_fallback" }).iterateMany(FilterGroup.create())) rows.push(row);
889
+ expect(rows).toEqual([]);
890
+ expect(findManyCalls).toBe(0);
891
+ vi.restoreAllMocks();
892
+ });
893
+ test("use() bridge delegates deleteByPk via deleteOne", async () => {
894
+ const { Instance: Inst } = await null;
895
+ const { Schema } = await null;
896
+ vi.spyOn(Inst, "on").mockImplementation(() => {
897
+ });
898
+ let deletedPk = null;
899
+ class DeleteAdapter extends OrmAdapter {
900
+ schemaConfigPipe = v2.object({ table: v2.string() });
901
+ supportedFieldTypes = ["string"];
902
+ async findMany(_s, _c, _f) {
903
+ return [{ id: "d1" }];
904
+ }
905
+ async deleteByPk(_s, _c, pk) {
906
+ deletedPk = pk;
907
+ return { id: String(pk) };
908
+ }
909
+ }
910
+ const TestSchema = Schema.from("del_test").pk("id", v2.string(), () => "x").build();
911
+ const adapter = new DeleteAdapter();
912
+ const ormUse = adapter.use(TestSchema, { table: "del_test" });
913
+ const deleted = await ormUse.deleteOne(FilterGroup.create().eq("id", "d1"));
914
+ expect(deleted).toEqual({ id: "d1" });
915
+ expect(deletedPk).toBe("d1");
916
+ vi.restoreAllMocks();
917
+ });
918
+ test("use() bridge delegates session to flat method", async () => {
919
+ const { Instance: Inst } = await null;
920
+ vi.spyOn(Inst, "on").mockImplementation(() => {
921
+ });
922
+ let sessionRan = false;
923
+ class SessionAdapter extends OrmAdapter {
924
+ schemaConfigPipe = v2.object({ table: v2.string() });
925
+ async session(fn) {
926
+ sessionRan = true;
927
+ return fn();
928
+ }
929
+ }
930
+ const adapter = new SessionAdapter();
931
+ const result = await adapter.session(async () => 42);
932
+ expect(result).toBe(42);
933
+ expect(sessionRan).toBe(true);
934
+ vi.restoreAllMocks();
935
+ });
936
+ test("type-level: subclass method override enforces canonical signature", async () => {
937
+ const { Instance: Inst } = await null;
938
+ vi.spyOn(Inst, "on").mockImplementation(() => {
939
+ });
940
+ class CorrectAdapter extends OrmAdapter {
941
+ schemaConfigPipe = v2.object({ table: v2.string() });
942
+ async findByPk(_s, _c, _pk) {
943
+ return null;
944
+ }
945
+ async createMany(_s, _c, _d) {
946
+ return [];
947
+ }
948
+ async raw(_s, _c, ..._args) {
949
+ return null;
950
+ }
951
+ }
952
+ const adapter = new CorrectAdapter();
953
+ expect(adapter.findByPk).toBeTypeOf("function");
954
+ expect(adapter.createMany).toBeTypeOf("function");
955
+ expect(adapter.raw).toBeTypeOf("function");
956
+ vi.restoreAllMocks();
957
+ });
958
+ });
959
+ }
960
+
961
+ // src/orm/updates.ts
962
+ var SetOp = class {
963
+ constructor(values) {
964
+ this.values = values;
965
+ }
966
+ kind = "set";
967
+ };
968
+ var IncOp = class {
969
+ constructor(field, value) {
970
+ this.field = field;
971
+ this.value = value;
972
+ }
973
+ kind = "inc";
974
+ };
975
+ var MulOp = class {
976
+ constructor(field, value) {
977
+ this.field = field;
978
+ this.value = value;
979
+ }
980
+ kind = "mul";
981
+ };
982
+ var MinOp = class {
983
+ constructor(field, value) {
984
+ this.field = field;
985
+ this.value = value;
986
+ }
987
+ kind = "min";
988
+ };
989
+ var MaxOp = class {
990
+ constructor(field, value) {
991
+ this.field = field;
992
+ this.value = value;
993
+ }
994
+ kind = "max";
995
+ };
996
+ var UnsetOp = class {
997
+ constructor(field) {
998
+ this.field = field;
999
+ }
1000
+ kind = "unset";
1001
+ };
1002
+ var PushOp = class {
1003
+ constructor(field, value) {
1004
+ this.field = field;
1005
+ this.value = value;
1006
+ }
1007
+ kind = "push";
1008
+ };
1009
+ var PullOp = class {
1010
+ constructor(field, value) {
1011
+ this.field = field;
1012
+ this.value = value;
1013
+ }
1014
+ kind = "pull";
1015
+ };
1016
+ var PatchOp = class {
1017
+ constructor(field, value) {
1018
+ this.field = field;
1019
+ this.value = value;
1020
+ }
1021
+ kind = "patch";
1022
+ };
1023
+ function isUpdateOp(v2) {
1024
+ return v2 instanceof SetOp || v2 instanceof IncOp || v2 instanceof MulOp || v2 instanceof MinOp || v2 instanceof MaxOp || v2 instanceof UnsetOp || v2 instanceof PushOp || v2 instanceof PullOp || v2 instanceof PatchOp;
1025
+ }
1026
+ function set(values) {
1027
+ return new SetOp(values);
1028
+ }
1029
+ function inc(field, value) {
1030
+ return new IncOp(toFieldName(field), value);
1031
+ }
1032
+ function mul(field, value) {
1033
+ return new MulOp(toFieldName(field), value);
1034
+ }
1035
+ function min(field, value) {
1036
+ return new MinOp(toFieldName(field), value);
1037
+ }
1038
+ function max(field, value) {
1039
+ return new MaxOp(toFieldName(field), value);
1040
+ }
1041
+ function unset(field) {
1042
+ return new UnsetOp(toFieldName(field));
1043
+ }
1044
+ function push(field, value) {
1045
+ return new PushOp(toFieldName(field), value);
1046
+ }
1047
+ function pull(field, value) {
1048
+ return new PullOp(toFieldName(field), value);
1049
+ }
1050
+ function patch(field, value) {
1051
+ return new PatchOp(toFieldName(field), value);
1052
+ }
1053
+ function opTouchedFields(op) {
1054
+ if (op instanceof SetOp) return Object.keys(op.values);
1055
+ return [op.field];
1056
+ }
1057
+ function flattenOps(ops) {
1058
+ const data = {};
1059
+ for (const op of ops) {
1060
+ if (op instanceof SetOp) Object.assign(data, op.values);
1061
+ else data[op.field] = op;
1062
+ }
1063
+ return data;
1064
+ }
1065
+ if (void 0) {
1066
+ const { describe, test, expect, expectTypeOf } = void 0;
1067
+ const { v: v2 } = await null;
1068
+ const { Schema } = await null;
1069
+ const TestSchema = Schema.from("test").pk("id", v2.string(), () => "x").field("name", v2.string()).field("age", v2.number()).field("score", v2.optional(v2.number())).field("tags", v2.array(v2.string())).field("meta", v2.object({ a: v2.number() })).field("createdAt", v2.number(), { onCreate: () => 1e3 }).field("updatedAt", v2.number(), { onCreate: () => 1e3, onUpdate: () => 2e3 }).build();
1070
+ describe("op classes", () => {
1071
+ test('SetOp has kind "set" and stores values', () => {
1072
+ const op = new SetOp({ name: "Alice" });
1073
+ expect(op.kind).toBe("set");
1074
+ expect(op.values).toEqual({ name: "Alice" });
1075
+ });
1076
+ test('IncOp has kind "inc" and stores field + value', () => {
1077
+ const op = new IncOp("age", 5);
1078
+ expect(op.kind).toBe("inc");
1079
+ expect(op.field).toBe("age");
1080
+ expect(op.value).toBe(5);
1081
+ });
1082
+ test('MulOp has kind "mul" and stores field + value', () => {
1083
+ const op = new MulOp("score", 3);
1084
+ expect(op.kind).toBe("mul");
1085
+ expect(op.field).toBe("score");
1086
+ expect(op.value).toBe(3);
1087
+ });
1088
+ test('MinOp has kind "min"', () => {
1089
+ expect(new MinOp("age", 10).kind).toBe("min");
1090
+ });
1091
+ test('MaxOp has kind "max"', () => {
1092
+ expect(new MaxOp("age", 99).kind).toBe("max");
1093
+ });
1094
+ test('UnsetOp has kind "unset"', () => {
1095
+ expect(new UnsetOp("score").kind).toBe("unset");
1096
+ });
1097
+ test('PushOp has kind "push"', () => {
1098
+ expect(new PushOp("tags", "x").kind).toBe("push");
1099
+ });
1100
+ test('PullOp has kind "pull"', () => {
1101
+ expect(new PullOp("tags", "x").kind).toBe("pull");
1102
+ });
1103
+ test('PatchOp has kind "patch"', () => {
1104
+ expect(new PatchOp("meta", { a: 9 }).kind).toBe("patch");
1105
+ });
1106
+ });
1107
+ describe("isUpdateOp", () => {
1108
+ test("returns true for every op class", () => {
1109
+ expect(isUpdateOp(new SetOp({}))).toBe(true);
1110
+ expect(isUpdateOp(new IncOp("f", 1))).toBe(true);
1111
+ expect(isUpdateOp(new MulOp("f", 2))).toBe(true);
1112
+ expect(isUpdateOp(new MinOp("f", 0))).toBe(true);
1113
+ expect(isUpdateOp(new MaxOp("f", 10))).toBe(true);
1114
+ expect(isUpdateOp(new UnsetOp("f"))).toBe(true);
1115
+ expect(isUpdateOp(new PushOp("f", "v"))).toBe(true);
1116
+ expect(isUpdateOp(new PullOp("f", "v"))).toBe(true);
1117
+ expect(isUpdateOp(new PatchOp("f", {}))).toBe(true);
1118
+ });
1119
+ test("returns false for non-op values", () => {
1120
+ expect(isUpdateOp("string")).toBe(false);
1121
+ expect(isUpdateOp(42)).toBe(false);
1122
+ expect(isUpdateOp(null)).toBe(false);
1123
+ expect(isUpdateOp({})).toBe(false);
1124
+ });
1125
+ });
1126
+ describe("op helper functions", () => {
1127
+ test("set() creates SetOp with values", () => {
1128
+ const op = set({ name: "Alice", age: 30 });
1129
+ expect(op).toBeInstanceOf(SetOp);
1130
+ expect(op.kind).toBe("set");
1131
+ expect(op.values).toEqual({ name: "Alice", age: 30 });
1132
+ });
1133
+ test("inc() creates IncOp from field ref", () => {
1134
+ const op = inc(TestSchema.fields.age, 5);
1135
+ expect(op).toBeInstanceOf(IncOp);
1136
+ expect(op.field).toBe("age");
1137
+ expect(op.value).toBe(5);
1138
+ });
1139
+ test("mul() creates MulOp from field ref", () => {
1140
+ const op = mul(TestSchema.fields.age, 3);
1141
+ expect(op).toBeInstanceOf(MulOp);
1142
+ expect(op.field).toBe("age");
1143
+ expect(op.value).toBe(3);
1144
+ });
1145
+ test("min() creates MinOp from field ref", () => {
1146
+ const op = min(TestSchema.fields.age, 10);
1147
+ expect(op).toBeInstanceOf(MinOp);
1148
+ expect(op.field).toBe("age");
1149
+ });
1150
+ test("max() creates MaxOp from field ref", () => {
1151
+ const op = max(TestSchema.fields.age, 99);
1152
+ expect(op).toBeInstanceOf(MaxOp);
1153
+ expect(op.field).toBe("age");
1154
+ });
1155
+ test("unset() creates UnsetOp from field ref", () => {
1156
+ const op = unset(TestSchema.fields.score);
1157
+ expect(op).toBeInstanceOf(UnsetOp);
1158
+ expect(op.field).toBe("score");
1159
+ });
1160
+ test("push() creates PushOp from field ref", () => {
1161
+ const op = push(TestSchema.fields.tags, "new-tag");
1162
+ expect(op).toBeInstanceOf(PushOp);
1163
+ expect(op.field).toBe("tags");
1164
+ expect(op.value).toBe("new-tag");
1165
+ });
1166
+ test("pull() creates PullOp from field ref", () => {
1167
+ const op = pull(TestSchema.fields.tags, "old-tag");
1168
+ expect(op).toBeInstanceOf(PullOp);
1169
+ expect(op.field).toBe("tags");
1170
+ });
1171
+ test("patch() creates PatchOp from field ref", () => {
1172
+ const op = patch(TestSchema.fields.meta, { a: 9 });
1173
+ expect(op).toBeInstanceOf(PatchOp);
1174
+ expect(op.field).toBe("meta");
1175
+ expect(op.value).toEqual({ a: 9 });
1176
+ });
1177
+ });
1178
+ describe("opTouchedFields", () => {
1179
+ test("SetOp returns all keys from values", () => {
1180
+ expect(opTouchedFields(new SetOp({ name: "A", age: 1 }))).toEqual(["name", "age"]);
1181
+ });
1182
+ test("IncOp returns the field", () => {
1183
+ expect(opTouchedFields(new IncOp("age", 1))).toEqual(["age"]);
1184
+ });
1185
+ test("UnsetOp returns the field", () => {
1186
+ expect(opTouchedFields(new UnsetOp("score"))).toEqual(["score"]);
1187
+ });
1188
+ });
1189
+ describe("type-level: field-category helpers", () => {
1190
+ test("NumericFieldOf only matches numeric fields (excludes optional numeric)", () => {
1191
+ expectTypeOf().toEqualTypeOf();
1192
+ });
1193
+ test("ComparableFieldOf matches numeric and string fields (excludes optional)", () => {
1194
+ expectTypeOf().toEqualTypeOf();
1195
+ });
1196
+ test("OptionalFieldOf only matches optional fields", () => {
1197
+ expectTypeOf().toEqualTypeOf();
1198
+ });
1199
+ test("ArrayFieldOf only matches array fields", () => {
1200
+ expectTypeOf().toEqualTypeOf();
1201
+ });
1202
+ test("ObjectFieldOf only matches object fields (not arrays)", () => {
1203
+ expectTypeOf().toEqualTypeOf();
1204
+ });
1205
+ });
1206
+ describe("type-level: inc on a string field is a TS error", () => {
1207
+ test("inc rejects non-numeric fields", () => {
1208
+ inc(TestSchema.fields.name, 1);
1209
+ });
1210
+ });
1211
+ describe("type-level: push on a non-array field is a TS error", () => {
1212
+ test("push rejects non-array fields", () => {
1213
+ push(TestSchema.fields.name, "val");
1214
+ });
1215
+ });
1216
+ describe("type-level: per-op gating via UpdateOp<S, A>", () => {
1217
+ test("undeclared ops resolve to never", async () => {
1218
+ const { OrmAdapter: OrmAdapter2 } = await null;
1219
+ class LimitedAdapter extends OrmAdapter2 {
1220
+ schemaConfigPipe = v2.object({});
1221
+ supportedFieldTypes = ["string", "number"];
1222
+ updateOps = ["set", "inc"];
1223
+ }
1224
+ expectTypeOf().toEqualTypeOf();
1225
+ });
1226
+ test("adapter with no updateOps resolves all variants to never", async () => {
1227
+ const { OrmAdapter: OrmAdapter2 } = await null;
1228
+ class NoOpsAdapter extends OrmAdapter2 {
1229
+ schemaConfigPipe = v2.object({});
1230
+ supportedFieldTypes = ["string"];
1231
+ updateOps = [];
1232
+ }
1233
+ expectTypeOf().toBeNever();
1234
+ });
1235
+ test("adapter with all updateOps includes all variants", async () => {
1236
+ const { OrmAdapter: OrmAdapter2 } = await null;
1237
+ class FullAdapter extends OrmAdapter2 {
1238
+ schemaConfigPipe = v2.object({});
1239
+ supportedFieldTypes = ["string", "number"];
1240
+ updateOps = ["set", "inc", "mul", "min", "max", "unset", "push", "pull", "patch"];
1241
+ }
1242
+ expectTypeOf().toEqualTypeOf();
1243
+ });
1244
+ });
1245
+ }
1246
+
1247
+ export {
1248
+ OrmValidationError,
1249
+ Field,
1250
+ toFieldName,
1251
+ SchemaField,
1252
+ ComputedField,
1253
+ Filter,
1254
+ FilterGroup,
1255
+ assertNormalisedAggregate,
1256
+ assertNormalisedFilter,
1257
+ OrmAdapter,
1258
+ SetOp,
1259
+ IncOp,
1260
+ MulOp,
1261
+ MinOp,
1262
+ MaxOp,
1263
+ UnsetOp,
1264
+ PushOp,
1265
+ PullOp,
1266
+ PatchOp,
1267
+ isUpdateOp,
1268
+ set,
1269
+ inc,
1270
+ mul,
1271
+ min,
1272
+ max,
1273
+ unset,
1274
+ push,
1275
+ pull,
1276
+ patch,
1277
+ opTouchedFields,
1278
+ flattenOps
1279
+ };
1280
+ //# sourceMappingURL=chunk-TWKHVLLT.mjs.map