@morojs/moro 1.6.1 → 1.6.3

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 (575) hide show
  1. package/README.md +74 -256
  2. package/dist/core/auth/morojs-adapter.js +20 -20
  3. package/dist/core/auth/morojs-adapter.js.map +1 -1
  4. package/dist/core/config/config-manager.d.ts +44 -0
  5. package/dist/core/config/config-manager.js +104 -0
  6. package/dist/core/config/config-manager.js.map +1 -0
  7. package/dist/core/config/config-sources.d.ts +21 -0
  8. package/dist/core/config/config-sources.js +503 -0
  9. package/dist/core/config/config-sources.js.map +1 -0
  10. package/dist/core/config/config-validator.d.ts +21 -0
  11. package/dist/core/config/config-validator.js +791 -0
  12. package/dist/core/config/config-validator.js.map +1 -0
  13. package/dist/core/config/file-loader.d.ts +1 -6
  14. package/dist/core/config/file-loader.js +21 -249
  15. package/dist/core/config/file-loader.js.map +1 -1
  16. package/dist/core/config/index.d.ts +41 -12
  17. package/dist/core/config/index.js +65 -54
  18. package/dist/core/config/index.js.map +1 -1
  19. package/dist/core/config/schema.d.ts +2 -2
  20. package/dist/core/config/schema.js +55 -44
  21. package/dist/core/config/schema.js.map +1 -1
  22. package/dist/core/config/utils.d.ts +10 -3
  23. package/dist/core/config/utils.js +31 -58
  24. package/dist/core/config/utils.js.map +1 -1
  25. package/dist/core/database/adapters/drizzle.d.ts +1 -1
  26. package/dist/core/database/adapters/drizzle.js +18 -11
  27. package/dist/core/database/adapters/drizzle.js.map +1 -1
  28. package/dist/core/database/adapters/index.d.ts +7 -7
  29. package/dist/core/database/adapters/index.js +19 -29
  30. package/dist/core/database/adapters/index.js.map +1 -1
  31. package/dist/core/database/adapters/mongodb.d.ts +13 -1
  32. package/dist/core/database/adapters/mongodb.js +46 -10
  33. package/dist/core/database/adapters/mongodb.js.map +1 -1
  34. package/dist/core/database/adapters/mysql.d.ts +14 -1
  35. package/dist/core/database/adapters/mysql.js +19 -9
  36. package/dist/core/database/adapters/mysql.js.map +1 -1
  37. package/dist/core/database/adapters/postgresql.d.ts +12 -2
  38. package/dist/core/database/adapters/postgresql.js +19 -9
  39. package/dist/core/database/adapters/postgresql.js.map +1 -1
  40. package/dist/core/database/adapters/redis.d.ts +12 -1
  41. package/dist/core/database/adapters/redis.js +48 -13
  42. package/dist/core/database/adapters/redis.js.map +1 -1
  43. package/dist/core/database/adapters/sqlite.d.ts +3 -1
  44. package/dist/core/database/adapters/sqlite.js +19 -8
  45. package/dist/core/database/adapters/sqlite.js.map +1 -1
  46. package/dist/core/database/index.d.ts +2 -2
  47. package/dist/core/database/index.js +2 -18
  48. package/dist/core/database/index.js.map +1 -1
  49. package/dist/core/docs/index.d.ts +9 -9
  50. package/dist/core/docs/index.js +14 -35
  51. package/dist/core/docs/index.js.map +1 -1
  52. package/dist/core/docs/openapi-generator.d.ts +2 -2
  53. package/dist/core/docs/openapi-generator.js +11 -16
  54. package/dist/core/docs/openapi-generator.js.map +1 -1
  55. package/dist/core/docs/schema-to-openapi.d.ts +2 -2
  56. package/dist/core/docs/schema-to-openapi.js +5 -11
  57. package/dist/core/docs/schema-to-openapi.js.map +1 -1
  58. package/dist/core/docs/simple-docs.d.ts +1 -1
  59. package/dist/core/docs/simple-docs.js +4 -9
  60. package/dist/core/docs/simple-docs.js.map +1 -1
  61. package/dist/core/docs/swagger-ui.d.ts +2 -2
  62. package/dist/core/docs/swagger-ui.js +26 -29
  63. package/dist/core/docs/swagger-ui.js.map +1 -1
  64. package/dist/core/docs/zod-to-openapi.js +31 -28
  65. package/dist/core/docs/zod-to-openapi.js.map +1 -1
  66. package/dist/core/events/event-bus.d.ts +1 -1
  67. package/dist/core/events/event-bus.js +7 -11
  68. package/dist/core/events/event-bus.js.map +1 -1
  69. package/dist/core/events/index.d.ts +2 -2
  70. package/dist/core/events/index.js +1 -5
  71. package/dist/core/events/index.js.map +1 -1
  72. package/dist/core/framework.d.ts +20 -13
  73. package/dist/core/framework.js +285 -102
  74. package/dist/core/framework.js.map +1 -1
  75. package/dist/core/http/http-server.d.ts +59 -7
  76. package/dist/core/http/http-server.js +202 -185
  77. package/dist/core/http/http-server.js.map +1 -1
  78. package/dist/core/http/index.d.ts +4 -3
  79. package/dist/core/http/index.js +3 -8
  80. package/dist/core/http/index.js.map +1 -1
  81. package/dist/core/http/uws-http-server.d.ts +46 -0
  82. package/dist/core/http/uws-http-server.js +523 -0
  83. package/dist/core/http/uws-http-server.js.map +1 -0
  84. package/dist/core/logger/filters.d.ts +1 -1
  85. package/dist/core/logger/filters.js +20 -23
  86. package/dist/core/logger/filters.js.map +1 -1
  87. package/dist/core/logger/index.d.ts +3 -3
  88. package/dist/core/logger/index.js +2 -24
  89. package/dist/core/logger/index.js.map +1 -1
  90. package/dist/core/logger/logger.d.ts +30 -14
  91. package/dist/core/logger/logger.js +398 -223
  92. package/dist/core/logger/logger.js.map +1 -1
  93. package/dist/core/logger/outputs.d.ts +1 -1
  94. package/dist/core/logger/outputs.js +8 -17
  95. package/dist/core/logger/outputs.js.map +1 -1
  96. package/dist/core/middleware/built-in/auth/core.d.ts +78 -0
  97. package/dist/core/middleware/built-in/auth/core.js +358 -0
  98. package/dist/core/middleware/built-in/auth/core.js.map +1 -0
  99. package/dist/core/middleware/built-in/{auth-helpers.js → auth/helpers.js} +12 -23
  100. package/dist/core/middleware/built-in/auth/helpers.js.map +1 -0
  101. package/dist/core/middleware/built-in/auth/hook.d.ts +30 -0
  102. package/dist/core/middleware/built-in/auth/hook.js +99 -0
  103. package/dist/core/middleware/built-in/auth/hook.js.map +1 -0
  104. package/dist/core/middleware/built-in/auth/index.d.ts +7 -0
  105. package/dist/core/middleware/built-in/auth/index.js +15 -0
  106. package/dist/core/middleware/built-in/auth/index.js.map +1 -0
  107. package/dist/core/middleware/built-in/auth/jwt-helpers.d.ts +118 -0
  108. package/dist/core/middleware/built-in/auth/jwt-helpers.js +218 -0
  109. package/dist/core/middleware/built-in/auth/jwt-helpers.js.map +1 -0
  110. package/dist/core/middleware/built-in/auth/middleware.d.ts +23 -0
  111. package/dist/core/middleware/built-in/auth/middleware.js +71 -0
  112. package/dist/core/middleware/built-in/auth/middleware.js.map +1 -0
  113. package/dist/core/middleware/built-in/{auth-providers.d.ts → auth/providers.d.ts} +1 -1
  114. package/dist/core/middleware/built-in/{auth-providers.js → auth/providers.js} +5 -10
  115. package/dist/core/middleware/built-in/auth/providers.js.map +1 -0
  116. package/dist/core/middleware/built-in/{adapters → cache/adapters}/cache/file.d.ts +1 -1
  117. package/dist/core/middleware/built-in/{adapters → cache/adapters}/cache/file.js +10 -47
  118. package/dist/core/middleware/built-in/cache/adapters/cache/file.js.map +1 -0
  119. package/dist/core/middleware/built-in/cache/adapters/cache/index.d.ts +5 -0
  120. package/dist/core/middleware/built-in/cache/adapters/cache/index.js +21 -0
  121. package/dist/core/middleware/built-in/cache/adapters/cache/index.js.map +1 -0
  122. package/dist/core/middleware/built-in/{adapters → cache/adapters}/cache/memory.d.ts +1 -1
  123. package/dist/core/middleware/built-in/{adapters → cache/adapters}/cache/memory.js +3 -7
  124. package/dist/core/middleware/built-in/cache/adapters/cache/memory.js.map +1 -0
  125. package/dist/core/middleware/built-in/{adapters → cache/adapters}/cache/redis.d.ts +3 -1
  126. package/dist/core/middleware/built-in/{adapters → cache/adapters}/cache/redis.js +11 -9
  127. package/dist/core/middleware/built-in/cache/adapters/cache/redis.js.map +1 -0
  128. package/dist/core/middleware/built-in/cache/adapters/index.d.ts +2 -0
  129. package/dist/core/middleware/built-in/cache/adapters/index.js +5 -0
  130. package/dist/core/middleware/built-in/cache/adapters/index.js.map +1 -0
  131. package/dist/core/middleware/built-in/cache/core.d.ts +37 -0
  132. package/dist/core/middleware/built-in/cache/core.js +87 -0
  133. package/dist/core/middleware/built-in/cache/core.js.map +1 -0
  134. package/dist/core/middleware/built-in/cache/hook.d.ts +20 -0
  135. package/dist/core/middleware/built-in/{cache.js → cache/hook.js} +30 -14
  136. package/dist/core/middleware/built-in/cache/hook.js.map +1 -0
  137. package/dist/core/middleware/built-in/cache/index.d.ts +3 -0
  138. package/dist/core/middleware/built-in/cache/index.js +9 -0
  139. package/dist/core/middleware/built-in/cache/index.js.map +1 -0
  140. package/dist/core/middleware/built-in/cache/middleware.d.ts +17 -0
  141. package/dist/core/middleware/built-in/cache/middleware.js +44 -0
  142. package/dist/core/middleware/built-in/cache/middleware.js.map +1 -0
  143. package/dist/core/middleware/built-in/{adapters → cdn/adapters}/cdn/azure.d.ts +1 -1
  144. package/dist/core/middleware/built-in/{adapters → cdn/adapters}/cdn/azure.js +3 -7
  145. package/dist/core/middleware/built-in/cdn/adapters/cdn/azure.js.map +1 -0
  146. package/dist/core/middleware/built-in/{adapters → cdn/adapters}/cdn/cloudflare.d.ts +1 -1
  147. package/dist/core/middleware/built-in/{adapters → cdn/adapters}/cdn/cloudflare.js +3 -7
  148. package/dist/core/middleware/built-in/cdn/adapters/cdn/cloudflare.js.map +1 -0
  149. package/dist/core/middleware/built-in/{adapters → cdn/adapters}/cdn/cloudfront.d.ts +3 -1
  150. package/dist/core/middleware/built-in/{adapters → cdn/adapters}/cdn/cloudfront.js +12 -10
  151. package/dist/core/middleware/built-in/cdn/adapters/cdn/cloudfront.js.map +1 -0
  152. package/dist/core/middleware/built-in/cdn/adapters/cdn/index.d.ts +5 -0
  153. package/dist/core/middleware/built-in/cdn/adapters/cdn/index.js +21 -0
  154. package/dist/core/middleware/built-in/cdn/adapters/cdn/index.js.map +1 -0
  155. package/dist/core/middleware/built-in/cdn/adapters/index.d.ts +2 -0
  156. package/dist/core/middleware/built-in/cdn/adapters/index.js +5 -0
  157. package/dist/core/middleware/built-in/cdn/adapters/index.js.map +1 -0
  158. package/dist/core/middleware/built-in/cdn/core.d.ts +43 -0
  159. package/dist/core/middleware/built-in/cdn/core.js +144 -0
  160. package/dist/core/middleware/built-in/cdn/core.js.map +1 -0
  161. package/dist/core/middleware/built-in/cdn/hook.d.ts +22 -0
  162. package/dist/core/middleware/built-in/cdn/hook.js +70 -0
  163. package/dist/core/middleware/built-in/cdn/hook.js.map +1 -0
  164. package/dist/core/middleware/built-in/cdn/index.d.ts +5 -0
  165. package/dist/core/middleware/built-in/cdn/index.js +11 -0
  166. package/dist/core/middleware/built-in/cdn/index.js.map +1 -0
  167. package/dist/core/middleware/built-in/cdn/middleware.d.ts +21 -0
  168. package/dist/core/middleware/built-in/cdn/middleware.js +52 -0
  169. package/dist/core/middleware/built-in/cdn/middleware.js.map +1 -0
  170. package/dist/core/middleware/built-in/cookie/core.d.ts +37 -0
  171. package/dist/core/middleware/built-in/cookie/core.js +83 -0
  172. package/dist/core/middleware/built-in/cookie/core.js.map +1 -0
  173. package/dist/core/middleware/built-in/cookie/hook.d.ts +20 -0
  174. package/dist/core/middleware/built-in/cookie/hook.js +47 -0
  175. package/dist/core/middleware/built-in/cookie/hook.js.map +1 -0
  176. package/dist/core/middleware/built-in/cookie/index.d.ts +3 -0
  177. package/dist/core/middleware/built-in/cookie/index.js +9 -0
  178. package/dist/core/middleware/built-in/cookie/index.js.map +1 -0
  179. package/dist/core/middleware/built-in/cookie/middleware.d.ts +17 -0
  180. package/dist/core/middleware/built-in/cookie/middleware.js +36 -0
  181. package/dist/core/middleware/built-in/cookie/middleware.js.map +1 -0
  182. package/dist/core/middleware/built-in/cors/core.d.ts +23 -0
  183. package/dist/core/middleware/built-in/cors/core.js +51 -0
  184. package/dist/core/middleware/built-in/cors/core.js.map +1 -0
  185. package/dist/core/middleware/built-in/cors/hook.d.ts +17 -0
  186. package/dist/core/middleware/built-in/cors/hook.js +37 -0
  187. package/dist/core/middleware/built-in/cors/hook.js.map +1 -0
  188. package/dist/core/middleware/built-in/cors/index.d.ts +3 -0
  189. package/dist/core/middleware/built-in/cors/index.js +9 -0
  190. package/dist/core/middleware/built-in/cors/index.js.map +1 -0
  191. package/dist/core/middleware/built-in/cors/middleware.d.ts +16 -0
  192. package/dist/core/middleware/built-in/cors/middleware.js +22 -0
  193. package/dist/core/middleware/built-in/cors/middleware.js.map +1 -0
  194. package/dist/core/middleware/built-in/csp/core.d.ts +45 -0
  195. package/dist/core/middleware/built-in/csp/core.js +88 -0
  196. package/dist/core/middleware/built-in/csp/core.js.map +1 -0
  197. package/dist/core/middleware/built-in/csp/hook.d.ts +22 -0
  198. package/dist/core/middleware/built-in/csp/hook.js +47 -0
  199. package/dist/core/middleware/built-in/csp/hook.js.map +1 -0
  200. package/dist/core/middleware/built-in/csp/index.d.ts +3 -0
  201. package/dist/core/middleware/built-in/csp/index.js +9 -0
  202. package/dist/core/middleware/built-in/csp/index.js.map +1 -0
  203. package/dist/core/middleware/built-in/csp/middleware.d.ts +19 -0
  204. package/dist/core/middleware/built-in/csp/middleware.js +29 -0
  205. package/dist/core/middleware/built-in/csp/middleware.js.map +1 -0
  206. package/dist/core/middleware/built-in/csrf/core.d.ts +28 -0
  207. package/dist/core/middleware/built-in/csrf/core.js +69 -0
  208. package/dist/core/middleware/built-in/csrf/core.js.map +1 -0
  209. package/dist/core/middleware/built-in/csrf/hook.d.ts +17 -0
  210. package/dist/core/middleware/built-in/csrf/hook.js +45 -0
  211. package/dist/core/middleware/built-in/csrf/hook.js.map +1 -0
  212. package/dist/core/middleware/built-in/csrf/index.d.ts +3 -0
  213. package/dist/core/middleware/built-in/csrf/index.js +9 -0
  214. package/dist/core/middleware/built-in/csrf/index.js.map +1 -0
  215. package/dist/core/middleware/built-in/csrf/middleware.d.ts +16 -0
  216. package/dist/core/middleware/built-in/csrf/middleware.js +34 -0
  217. package/dist/core/middleware/built-in/csrf/middleware.js.map +1 -0
  218. package/dist/core/middleware/built-in/error-tracker/index.d.ts +1 -0
  219. package/dist/core/middleware/built-in/error-tracker/index.js +4 -0
  220. package/dist/core/middleware/built-in/error-tracker/index.js.map +1 -0
  221. package/dist/core/middleware/built-in/error-tracker/middleware.d.ts +12 -0
  222. package/dist/core/middleware/built-in/error-tracker/middleware.js +26 -0
  223. package/dist/core/middleware/built-in/error-tracker/middleware.js.map +1 -0
  224. package/dist/core/middleware/built-in/index.d.ts +28 -61
  225. package/dist/core/middleware/built-in/index.js +48 -78
  226. package/dist/core/middleware/built-in/index.js.map +1 -1
  227. package/dist/core/middleware/built-in/performance-monitor/index.d.ts +1 -0
  228. package/dist/core/middleware/built-in/performance-monitor/index.js +4 -0
  229. package/dist/core/middleware/built-in/performance-monitor/index.js.map +1 -0
  230. package/dist/core/middleware/built-in/performance-monitor/middleware.d.ts +12 -0
  231. package/dist/core/middleware/built-in/performance-monitor/middleware.js +29 -0
  232. package/dist/core/middleware/built-in/performance-monitor/middleware.js.map +1 -0
  233. package/dist/core/middleware/built-in/rate-limit/core.d.ts +33 -0
  234. package/dist/core/middleware/built-in/rate-limit/core.js +86 -0
  235. package/dist/core/middleware/built-in/rate-limit/core.js.map +1 -0
  236. package/dist/core/middleware/built-in/rate-limit/hook.d.ts +20 -0
  237. package/dist/core/middleware/built-in/{rate-limit.js → rate-limit/hook.js} +24 -22
  238. package/dist/core/middleware/built-in/rate-limit/hook.js.map +1 -0
  239. package/dist/core/middleware/built-in/rate-limit/index.d.ts +3 -0
  240. package/dist/core/middleware/built-in/rate-limit/index.js +9 -0
  241. package/dist/core/middleware/built-in/rate-limit/index.js.map +1 -0
  242. package/dist/core/middleware/built-in/rate-limit/middleware.d.ts +16 -0
  243. package/dist/core/middleware/built-in/rate-limit/middleware.js +35 -0
  244. package/dist/core/middleware/built-in/rate-limit/middleware.js.map +1 -0
  245. package/dist/core/middleware/built-in/request-logger/index.d.ts +1 -0
  246. package/dist/core/middleware/built-in/request-logger/index.js +4 -0
  247. package/dist/core/middleware/built-in/request-logger/index.js.map +1 -0
  248. package/dist/core/middleware/built-in/request-logger/middleware.d.ts +12 -0
  249. package/dist/core/middleware/built-in/request-logger/middleware.js +24 -0
  250. package/dist/core/middleware/built-in/request-logger/middleware.js.map +1 -0
  251. package/dist/core/middleware/built-in/session/core.d.ts +73 -0
  252. package/dist/core/middleware/built-in/session/core.js +227 -0
  253. package/dist/core/middleware/built-in/session/core.js.map +1 -0
  254. package/dist/core/middleware/built-in/session/hook.d.ts +17 -0
  255. package/dist/core/middleware/built-in/session/hook.js +53 -0
  256. package/dist/core/middleware/built-in/session/hook.js.map +1 -0
  257. package/dist/core/middleware/built-in/session/index.d.ts +3 -0
  258. package/dist/core/middleware/built-in/session/index.js +9 -0
  259. package/dist/core/middleware/built-in/session/index.js.map +1 -0
  260. package/dist/core/middleware/built-in/session/middleware.d.ts +17 -0
  261. package/dist/core/middleware/built-in/session/middleware.js +38 -0
  262. package/dist/core/middleware/built-in/session/middleware.js.map +1 -0
  263. package/dist/core/middleware/built-in/sse/core.d.ts +44 -0
  264. package/dist/core/middleware/built-in/sse/core.js +117 -0
  265. package/dist/core/middleware/built-in/sse/core.js.map +1 -0
  266. package/dist/core/middleware/built-in/sse/hook.d.ts +18 -0
  267. package/dist/core/middleware/built-in/sse/hook.js +60 -0
  268. package/dist/core/middleware/built-in/sse/hook.js.map +1 -0
  269. package/dist/core/middleware/built-in/sse/index.d.ts +3 -0
  270. package/dist/core/middleware/built-in/sse/index.js +9 -0
  271. package/dist/core/middleware/built-in/sse/index.js.map +1 -0
  272. package/dist/core/middleware/built-in/sse/middleware.d.ts +18 -0
  273. package/dist/core/middleware/built-in/sse/middleware.js +43 -0
  274. package/dist/core/middleware/built-in/sse/middleware.js.map +1 -0
  275. package/dist/core/middleware/built-in/validation/core.d.ts +23 -0
  276. package/dist/core/middleware/built-in/validation/core.js +93 -0
  277. package/dist/core/middleware/built-in/validation/core.js.map +1 -0
  278. package/dist/core/middleware/built-in/validation/hook.d.ts +13 -0
  279. package/dist/core/middleware/built-in/{validation.js → validation/hook.js} +16 -9
  280. package/dist/core/middleware/built-in/validation/hook.js.map +1 -0
  281. package/dist/core/middleware/built-in/validation/index.d.ts +3 -0
  282. package/dist/core/middleware/built-in/validation/index.js +9 -0
  283. package/dist/core/middleware/built-in/validation/index.js.map +1 -0
  284. package/dist/core/middleware/built-in/validation/middleware.d.ts +16 -0
  285. package/dist/core/middleware/built-in/validation/middleware.js +27 -0
  286. package/dist/core/middleware/built-in/validation/middleware.js.map +1 -0
  287. package/dist/core/middleware/index.d.ts +4 -4
  288. package/dist/core/middleware/index.js +14 -28
  289. package/dist/core/middleware/index.js.map +1 -1
  290. package/dist/core/modules/auto-discovery.d.ts +19 -2
  291. package/dist/core/modules/auto-discovery.js +391 -74
  292. package/dist/core/modules/auto-discovery.js.map +1 -1
  293. package/dist/core/modules/index.d.ts +2 -2
  294. package/dist/core/modules/index.js +2 -9
  295. package/dist/core/modules/index.js.map +1 -1
  296. package/dist/core/modules/modules.d.ts +3 -3
  297. package/dist/core/modules/modules.js +23 -54
  298. package/dist/core/modules/modules.js.map +1 -1
  299. package/dist/core/networking/adapters/index.d.ts +4 -3
  300. package/dist/core/networking/adapters/index.js +3 -7
  301. package/dist/core/networking/adapters/index.js.map +1 -1
  302. package/dist/core/networking/adapters/socketio-adapter.d.ts +1 -1
  303. package/dist/core/networking/adapters/socketio-adapter.js +5 -40
  304. package/dist/core/networking/adapters/socketio-adapter.js.map +1 -1
  305. package/dist/core/networking/adapters/uws-adapter.d.ts +44 -0
  306. package/dist/core/networking/adapters/uws-adapter.js +513 -0
  307. package/dist/core/networking/adapters/uws-adapter.js.map +1 -0
  308. package/dist/core/networking/adapters/ws-adapter.d.ts +2 -2
  309. package/dist/core/networking/adapters/ws-adapter.js +8 -43
  310. package/dist/core/networking/adapters/ws-adapter.js.map +1 -1
  311. package/dist/core/networking/index.d.ts +3 -2
  312. package/dist/core/networking/index.js +2 -7
  313. package/dist/core/networking/index.js.map +1 -1
  314. package/dist/core/networking/service-discovery.js +8 -12
  315. package/dist/core/networking/service-discovery.js.map +1 -1
  316. package/dist/core/networking/websocket-adapter.js +1 -2
  317. package/dist/core/networking/websocket-adapter.js.map +1 -1
  318. package/dist/core/networking/websocket-manager.d.ts +3 -3
  319. package/dist/core/networking/websocket-manager.js +9 -11
  320. package/dist/core/networking/websocket-manager.js.map +1 -1
  321. package/dist/core/pooling/object-pool-manager.d.ts +140 -0
  322. package/dist/core/pooling/object-pool-manager.js +502 -0
  323. package/dist/core/pooling/object-pool-manager.js.map +1 -0
  324. package/dist/core/routing/app-integration.d.ts +14 -12
  325. package/dist/core/routing/app-integration.js +49 -85
  326. package/dist/core/routing/app-integration.js.map +1 -1
  327. package/dist/core/routing/index.d.ts +17 -11
  328. package/dist/core/routing/index.js +48 -237
  329. package/dist/core/routing/index.js.map +1 -1
  330. package/dist/core/routing/path-matcher.d.ts +67 -0
  331. package/dist/core/routing/path-matcher.js +182 -0
  332. package/dist/core/routing/path-matcher.js.map +1 -0
  333. package/dist/core/routing/router.d.ts +38 -0
  334. package/dist/core/routing/router.js +68 -0
  335. package/dist/core/routing/router.js.map +1 -0
  336. package/dist/core/routing/unified-router.d.ts +132 -0
  337. package/dist/core/routing/unified-router.js +639 -0
  338. package/dist/core/routing/unified-router.js.map +1 -0
  339. package/dist/core/runtime/aws-lambda-adapter.d.ts +3 -3
  340. package/dist/core/runtime/aws-lambda-adapter.js +2 -6
  341. package/dist/core/runtime/aws-lambda-adapter.js.map +1 -1
  342. package/dist/core/runtime/base-adapter.d.ts +2 -2
  343. package/dist/core/runtime/base-adapter.js +3 -7
  344. package/dist/core/runtime/base-adapter.js.map +1 -1
  345. package/dist/core/runtime/cloudflare-workers-adapter.d.ts +3 -3
  346. package/dist/core/runtime/cloudflare-workers-adapter.js +2 -6
  347. package/dist/core/runtime/cloudflare-workers-adapter.js.map +1 -1
  348. package/dist/core/runtime/index.d.ts +12 -12
  349. package/dist/core/runtime/index.js +22 -35
  350. package/dist/core/runtime/index.js.map +1 -1
  351. package/dist/core/runtime/node-adapter.d.ts +4 -4
  352. package/dist/core/runtime/node-adapter.js +18 -49
  353. package/dist/core/runtime/node-adapter.js.map +1 -1
  354. package/dist/core/runtime/vercel-edge-adapter.d.ts +3 -3
  355. package/dist/core/runtime/vercel-edge-adapter.js +2 -6
  356. package/dist/core/runtime/vercel-edge-adapter.js.map +1 -1
  357. package/dist/core/utilities/circuit-breaker.js +1 -5
  358. package/dist/core/utilities/circuit-breaker.js.map +1 -1
  359. package/dist/core/utilities/container.js +12 -22
  360. package/dist/core/utilities/container.js.map +1 -1
  361. package/dist/core/utilities/hooks.d.ts +2 -2
  362. package/dist/core/utilities/hooks.js +7 -12
  363. package/dist/core/utilities/hooks.js.map +1 -1
  364. package/dist/core/utilities/index.d.ts +5 -4
  365. package/dist/core/utilities/index.js +5 -19
  366. package/dist/core/utilities/index.js.map +1 -1
  367. package/dist/core/utilities/package-utils.d.ts +38 -0
  368. package/dist/core/utilities/package-utils.js +57 -0
  369. package/dist/core/utilities/package-utils.js.map +1 -0
  370. package/dist/core/validation/adapters.d.ts +1 -1
  371. package/dist/core/validation/adapters.js +15 -26
  372. package/dist/core/validation/adapters.js.map +1 -1
  373. package/dist/core/validation/index.d.ts +6 -4
  374. package/dist/core/validation/index.js +57 -28
  375. package/dist/core/validation/index.js.map +1 -1
  376. package/dist/core/validation/schema-interface.js +3 -9
  377. package/dist/core/validation/schema-interface.js.map +1 -1
  378. package/dist/index.d.ts +52 -52
  379. package/dist/index.js +24 -132
  380. package/dist/index.js.map +1 -1
  381. package/dist/moro.d.ts +70 -16
  382. package/dist/moro.js +650 -269
  383. package/dist/moro.js.map +1 -1
  384. package/dist/types/auth.js +3 -9
  385. package/dist/types/auth.js.map +1 -1
  386. package/dist/types/cache.js +1 -2
  387. package/dist/types/cdn.js +1 -2
  388. package/dist/types/config.d.ts +73 -2
  389. package/dist/types/config.js +1 -2
  390. package/dist/types/config.js.map +1 -1
  391. package/dist/types/core.d.ts +36 -42
  392. package/dist/types/core.js +1 -2
  393. package/dist/types/database.js +1 -2
  394. package/dist/types/discovery.js +1 -2
  395. package/dist/types/events.js +1 -2
  396. package/dist/types/hooks.d.ts +4 -1
  397. package/dist/types/hooks.js +1 -2
  398. package/dist/types/http.d.ts +16 -1
  399. package/dist/types/http.js +1 -2
  400. package/dist/types/logger.d.ts +7 -0
  401. package/dist/types/logger.js +1 -2
  402. package/dist/types/module.d.ts +11 -0
  403. package/dist/types/module.js +1 -2
  404. package/dist/types/runtime.d.ts +1 -1
  405. package/dist/types/runtime.js +1 -2
  406. package/dist/types/session.js +1 -2
  407. package/package.json +18 -55
  408. package/dist/core/config/loader.d.ts +0 -7
  409. package/dist/core/config/loader.js +0 -269
  410. package/dist/core/config/loader.js.map +0 -1
  411. package/dist/core/config/validation.d.ts +0 -17
  412. package/dist/core/config/validation.js +0 -131
  413. package/dist/core/config/validation.js.map +0 -1
  414. package/dist/core/http/router.d.ts +0 -14
  415. package/dist/core/http/router.js +0 -109
  416. package/dist/core/http/router.js.map +0 -1
  417. package/dist/core/middleware/built-in/adapters/cache/file.js.map +0 -1
  418. package/dist/core/middleware/built-in/adapters/cache/index.d.ts +0 -5
  419. package/dist/core/middleware/built-in/adapters/cache/index.js +0 -28
  420. package/dist/core/middleware/built-in/adapters/cache/index.js.map +0 -1
  421. package/dist/core/middleware/built-in/adapters/cache/memory.js.map +0 -1
  422. package/dist/core/middleware/built-in/adapters/cache/redis.js.map +0 -1
  423. package/dist/core/middleware/built-in/adapters/cdn/azure.js.map +0 -1
  424. package/dist/core/middleware/built-in/adapters/cdn/cloudflare.js.map +0 -1
  425. package/dist/core/middleware/built-in/adapters/cdn/cloudfront.js.map +0 -1
  426. package/dist/core/middleware/built-in/adapters/cdn/index.d.ts +0 -5
  427. package/dist/core/middleware/built-in/adapters/cdn/index.js +0 -28
  428. package/dist/core/middleware/built-in/adapters/cdn/index.js.map +0 -1
  429. package/dist/core/middleware/built-in/adapters/index.d.ts +0 -4
  430. package/dist/core/middleware/built-in/adapters/index.js +0 -26
  431. package/dist/core/middleware/built-in/adapters/index.js.map +0 -1
  432. package/dist/core/middleware/built-in/auth-helpers.js.map +0 -1
  433. package/dist/core/middleware/built-in/auth-providers.js.map +0 -1
  434. package/dist/core/middleware/built-in/auth.d.ts +0 -30
  435. package/dist/core/middleware/built-in/auth.js +0 -281
  436. package/dist/core/middleware/built-in/auth.js.map +0 -1
  437. package/dist/core/middleware/built-in/cache.d.ts +0 -3
  438. package/dist/core/middleware/built-in/cache.js.map +0 -1
  439. package/dist/core/middleware/built-in/cdn.d.ts +0 -3
  440. package/dist/core/middleware/built-in/cdn.js +0 -113
  441. package/dist/core/middleware/built-in/cdn.js.map +0 -1
  442. package/dist/core/middleware/built-in/cookie.d.ts +0 -14
  443. package/dist/core/middleware/built-in/cookie.js +0 -68
  444. package/dist/core/middleware/built-in/cookie.js.map +0 -1
  445. package/dist/core/middleware/built-in/cors.d.ts +0 -2
  446. package/dist/core/middleware/built-in/cors.js +0 -29
  447. package/dist/core/middleware/built-in/cors.js.map +0 -1
  448. package/dist/core/middleware/built-in/csp.d.ts +0 -22
  449. package/dist/core/middleware/built-in/csp.js +0 -71
  450. package/dist/core/middleware/built-in/csp.js.map +0 -1
  451. package/dist/core/middleware/built-in/csrf.d.ts +0 -9
  452. package/dist/core/middleware/built-in/csrf.js +0 -63
  453. package/dist/core/middleware/built-in/csrf.js.map +0 -1
  454. package/dist/core/middleware/built-in/error-tracker.d.ts +0 -1
  455. package/dist/core/middleware/built-in/error-tracker.js +0 -19
  456. package/dist/core/middleware/built-in/error-tracker.js.map +0 -1
  457. package/dist/core/middleware/built-in/performance-monitor.d.ts +0 -1
  458. package/dist/core/middleware/built-in/performance-monitor.js +0 -22
  459. package/dist/core/middleware/built-in/performance-monitor.js.map +0 -1
  460. package/dist/core/middleware/built-in/rate-limit.d.ts +0 -6
  461. package/dist/core/middleware/built-in/rate-limit.js.map +0 -1
  462. package/dist/core/middleware/built-in/request-logger.d.ts +0 -1
  463. package/dist/core/middleware/built-in/request-logger.js +0 -16
  464. package/dist/core/middleware/built-in/request-logger.js.map +0 -1
  465. package/dist/core/middleware/built-in/session.d.ts +0 -41
  466. package/dist/core/middleware/built-in/session.js +0 -209
  467. package/dist/core/middleware/built-in/session.js.map +0 -1
  468. package/dist/core/middleware/built-in/sse.d.ts +0 -6
  469. package/dist/core/middleware/built-in/sse.js +0 -71
  470. package/dist/core/middleware/built-in/sse.js.map +0 -1
  471. package/dist/core/middleware/built-in/validation.d.ts +0 -2
  472. package/dist/core/middleware/built-in/validation.js.map +0 -1
  473. package/src/core/auth/README.md +0 -339
  474. package/src/core/auth/morojs-adapter.ts +0 -410
  475. package/src/core/config/file-loader.ts +0 -407
  476. package/src/core/config/index.ts +0 -60
  477. package/src/core/config/loader.ts +0 -633
  478. package/src/core/config/schema.ts +0 -150
  479. package/src/core/config/utils.ts +0 -251
  480. package/src/core/config/validation.ts +0 -140
  481. package/src/core/database/README.md +0 -228
  482. package/src/core/database/adapters/drizzle.ts +0 -403
  483. package/src/core/database/adapters/index.ts +0 -42
  484. package/src/core/database/adapters/mongodb.ts +0 -269
  485. package/src/core/database/adapters/mysql.ts +0 -207
  486. package/src/core/database/adapters/postgresql.ts +0 -201
  487. package/src/core/database/adapters/redis.ts +0 -326
  488. package/src/core/database/adapters/sqlite.ts +0 -247
  489. package/src/core/database/index.ts +0 -3
  490. package/src/core/docs/index.ts +0 -231
  491. package/src/core/docs/openapi-generator.ts +0 -576
  492. package/src/core/docs/schema-to-openapi.ts +0 -148
  493. package/src/core/docs/simple-docs.ts +0 -295
  494. package/src/core/docs/swagger-ui.ts +0 -351
  495. package/src/core/docs/zod-to-openapi.ts +0 -532
  496. package/src/core/events/event-bus.ts +0 -231
  497. package/src/core/events/index.ts +0 -12
  498. package/src/core/framework.ts +0 -636
  499. package/src/core/http/http-server.ts +0 -1787
  500. package/src/core/http/index.ts +0 -6
  501. package/src/core/http/router.ts +0 -141
  502. package/src/core/logger/filters.ts +0 -145
  503. package/src/core/logger/index.ts +0 -20
  504. package/src/core/logger/logger.ts +0 -814
  505. package/src/core/logger/outputs.ts +0 -134
  506. package/src/core/middleware/built-in/adapters/cache/file.ts +0 -104
  507. package/src/core/middleware/built-in/adapters/cache/index.ts +0 -23
  508. package/src/core/middleware/built-in/adapters/cache/memory.ts +0 -73
  509. package/src/core/middleware/built-in/adapters/cache/redis.ts +0 -100
  510. package/src/core/middleware/built-in/adapters/cdn/azure.ts +0 -60
  511. package/src/core/middleware/built-in/adapters/cdn/cloudflare.ts +0 -83
  512. package/src/core/middleware/built-in/adapters/cdn/cloudfront.ts +0 -83
  513. package/src/core/middleware/built-in/adapters/cdn/index.ts +0 -23
  514. package/src/core/middleware/built-in/adapters/index.ts +0 -7
  515. package/src/core/middleware/built-in/auth-helpers.ts +0 -401
  516. package/src/core/middleware/built-in/auth-providers.ts +0 -480
  517. package/src/core/middleware/built-in/auth.ts +0 -329
  518. package/src/core/middleware/built-in/cache.ts +0 -211
  519. package/src/core/middleware/built-in/cdn.ts +0 -124
  520. package/src/core/middleware/built-in/cookie.ts +0 -85
  521. package/src/core/middleware/built-in/cors.ts +0 -38
  522. package/src/core/middleware/built-in/csp.ts +0 -101
  523. package/src/core/middleware/built-in/csrf.ts +0 -82
  524. package/src/core/middleware/built-in/error-tracker.ts +0 -16
  525. package/src/core/middleware/built-in/index.ts +0 -79
  526. package/src/core/middleware/built-in/performance-monitor.ts +0 -25
  527. package/src/core/middleware/built-in/rate-limit.ts +0 -60
  528. package/src/core/middleware/built-in/request-logger.ts +0 -14
  529. package/src/core/middleware/built-in/session.ts +0 -288
  530. package/src/core/middleware/built-in/sse.ts +0 -86
  531. package/src/core/middleware/built-in/validation.ts +0 -33
  532. package/src/core/middleware/index.ts +0 -177
  533. package/src/core/modules/auto-discovery.ts +0 -263
  534. package/src/core/modules/index.ts +0 -3
  535. package/src/core/modules/modules.ts +0 -124
  536. package/src/core/networking/adapters/index.ts +0 -16
  537. package/src/core/networking/adapters/socketio-adapter.ts +0 -252
  538. package/src/core/networking/adapters/ws-adapter.ts +0 -430
  539. package/src/core/networking/index.ts +0 -3
  540. package/src/core/networking/service-discovery.ts +0 -304
  541. package/src/core/networking/websocket-adapter.ts +0 -217
  542. package/src/core/networking/websocket-manager.ts +0 -308
  543. package/src/core/routing/app-integration.ts +0 -216
  544. package/src/core/routing/index.ts +0 -488
  545. package/src/core/runtime/aws-lambda-adapter.ts +0 -147
  546. package/src/core/runtime/base-adapter.ts +0 -130
  547. package/src/core/runtime/cloudflare-workers-adapter.ts +0 -152
  548. package/src/core/runtime/index.ts +0 -62
  549. package/src/core/runtime/node-adapter.ts +0 -196
  550. package/src/core/runtime/vercel-edge-adapter.ts +0 -114
  551. package/src/core/utilities/circuit-breaker.ts +0 -46
  552. package/src/core/utilities/container.ts +0 -736
  553. package/src/core/utilities/hooks.ts +0 -142
  554. package/src/core/utilities/index.ts +0 -16
  555. package/src/core/validation/adapters.ts +0 -147
  556. package/src/core/validation/index.ts +0 -206
  557. package/src/core/validation/schema-interface.ts +0 -100
  558. package/src/index.ts +0 -226
  559. package/src/moro.ts +0 -1197
  560. package/src/types/auth.ts +0 -440
  561. package/src/types/cache.ts +0 -38
  562. package/src/types/cdn.ts +0 -22
  563. package/src/types/config.ts +0 -157
  564. package/src/types/core.ts +0 -56
  565. package/src/types/database.ts +0 -32
  566. package/src/types/discovery.ts +0 -7
  567. package/src/types/events.ts +0 -82
  568. package/src/types/hooks.ts +0 -47
  569. package/src/types/http.ts +0 -67
  570. package/src/types/logger.ts +0 -93
  571. package/src/types/module.ts +0 -87
  572. package/src/types/runtime.ts +0 -76
  573. package/src/types/session.ts +0 -89
  574. package/tsconfig.json +0 -21
  575. /package/dist/core/middleware/built-in/{auth-helpers.d.ts → auth/helpers.d.ts} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../../../../../src/core/middleware/built-in/auth/core.ts"],"names":[],"mappings":"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"}
@@ -1,18 +1,7 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.sessionHelpers = exports.authResponses = exports.authUtils = void 0;
4
- exports.requireAuth = requireAuth;
5
- exports.requireRole = requireRole;
6
- exports.requirePermission = requirePermission;
7
- exports.requireAdmin = requireAdmin;
8
- exports.guestOnly = guestOnly;
9
- exports.optionalAuth = optionalAuth;
10
- exports.withAuth = withAuth;
11
- exports.protectedRoute = protectedRoute;
12
1
  /**
13
2
  * Auth Guard Middleware - Protects routes with authentication and authorization
14
3
  */
15
- function requireAuth(options = {}) {
4
+ export function requireAuth(options = {}) {
16
5
  return async (req, res, next) => {
17
6
  const auth = req.auth;
18
7
  if (!auth) {
@@ -99,27 +88,27 @@ function requireAuth(options = {}) {
99
88
  /**
100
89
  * Role-based access control middleware
101
90
  */
102
- function requireRole(role, options = {}) {
91
+ export function requireRole(role, options = {}) {
103
92
  const roles = Array.isArray(role) ? role : [role];
104
93
  return requireAuth({ ...options, roles });
105
94
  }
106
95
  /**
107
96
  * Permission-based access control middleware
108
97
  */
109
- function requirePermission(permission, options = {}) {
98
+ export function requirePermission(permission, options = {}) {
110
99
  const permissions = Array.isArray(permission) ? permission : [permission];
111
100
  return requireAuth({ ...options, permissions });
112
101
  }
113
102
  /**
114
103
  * Admin-only access middleware
115
104
  */
116
- function requireAdmin(options = {}) {
105
+ export function requireAdmin(options = {}) {
117
106
  return requireRole('admin', options);
118
107
  }
119
108
  /**
120
109
  * Guest-only middleware (redirect if authenticated)
121
110
  */
122
- function guestOnly(redirectTo = '/dashboard') {
111
+ export function guestOnly(redirectTo = '/dashboard') {
123
112
  return requireAuth({
124
113
  allowUnauthenticated: true,
125
114
  redirectOnAuth: redirectTo,
@@ -128,7 +117,7 @@ function guestOnly(redirectTo = '/dashboard') {
128
117
  /**
129
118
  * Optional auth middleware (allows both authenticated and unauthenticated)
130
119
  */
131
- function optionalAuth() {
120
+ export function optionalAuth() {
132
121
  return requireAuth({
133
122
  allowUnauthenticated: true,
134
123
  });
@@ -136,7 +125,7 @@ function optionalAuth() {
136
125
  /**
137
126
  * Route-level auth decorator
138
127
  */
139
- function withAuth(options = {}) {
128
+ export function withAuth(options = {}) {
140
129
  return function (target, propertyKey, descriptor) {
141
130
  const originalMethod = descriptor.value;
142
131
  descriptor.value = async function (req, res, next) {
@@ -162,7 +151,7 @@ function withAuth(options = {}) {
162
151
  /**
163
152
  * Auth utilities for manual checks in route handlers
164
153
  */
165
- exports.authUtils = {
154
+ export const authUtils = {
166
155
  /**
167
156
  * Check if user is authenticated
168
157
  */
@@ -233,7 +222,7 @@ exports.authUtils = {
233
222
  /**
234
223
  * API Response helpers for auth endpoints
235
224
  */
236
- exports.authResponses = {
225
+ export const authResponses = {
237
226
  unauthorized: (res, message = 'Authentication required') => {
238
227
  return res.status(401).json({
239
228
  error: 'Unauthorized',
@@ -273,7 +262,7 @@ exports.authResponses = {
273
262
  /**
274
263
  * Higher-order function to create protected route handlers
275
264
  */
276
- function protectedRoute(handler, options = {}) {
265
+ export function protectedRoute(handler, options = {}) {
277
266
  return async (req, res, next) => {
278
267
  const authMiddleware = requireAuth(options);
279
268
  return new Promise((resolve, reject) => {
@@ -293,7 +282,7 @@ function protectedRoute(handler, options = {}) {
293
282
  /**
294
283
  * Session management helpers
295
284
  */
296
- exports.sessionHelpers = {
285
+ export const sessionHelpers = {
297
286
  /**
298
287
  * Store data in session
299
288
  */
@@ -335,4 +324,4 @@ exports.sessionHelpers = {
335
324
  }
336
325
  },
337
326
  };
338
- //# sourceMappingURL=auth-helpers.js.map
327
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../../src/core/middleware/built-in/auth/helpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import { MiddlewareInterface } from '../../../../types/hooks.js';
2
+ import { AuthOptions } from '../../../../types/auth.js';
3
+ /**
4
+ * Auth hook for global usage
5
+ * Registers with the hooks system for application-wide Auth.js authentication
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * import { auth, providers } from '@/middleware/built-in/auth';
10
+ *
11
+ * app.use(auth({
12
+ * secret: process.env.AUTH_SECRET,
13
+ * providers: [
14
+ * providers.google({
15
+ * clientId: process.env.GOOGLE_CLIENT_ID,
16
+ * clientSecret: process.env.GOOGLE_CLIENT_SECRET
17
+ * }),
18
+ * providers.github({
19
+ * clientId: process.env.GITHUB_CLIENT_ID,
20
+ * clientSecret: process.env.GITHUB_CLIENT_SECRET
21
+ * })
22
+ * ],
23
+ * session: {
24
+ * strategy: 'jwt',
25
+ * maxAge: 30 * 24 * 60 * 60
26
+ * }
27
+ * }));
28
+ * ```
29
+ */
30
+ export declare const auth: (options: AuthOptions) => MiddlewareInterface;
@@ -0,0 +1,99 @@
1
+ import { createFrameworkLogger } from '../../../logger/index.js';
2
+ import { AuthCore } from './core.js';
3
+ const logger = createFrameworkLogger('AuthMiddleware');
4
+ /**
5
+ * Auth hook for global usage
6
+ * Registers with the hooks system for application-wide Auth.js authentication
7
+ *
8
+ * @example
9
+ * ```ts
10
+ * import { auth, providers } from '@/middleware/built-in/auth';
11
+ *
12
+ * app.use(auth({
13
+ * secret: process.env.AUTH_SECRET,
14
+ * providers: [
15
+ * providers.google({
16
+ * clientId: process.env.GOOGLE_CLIENT_ID,
17
+ * clientSecret: process.env.GOOGLE_CLIENT_SECRET
18
+ * }),
19
+ * providers.github({
20
+ * clientId: process.env.GITHUB_CLIENT_ID,
21
+ * clientSecret: process.env.GITHUB_CLIENT_SECRET
22
+ * })
23
+ * ],
24
+ * session: {
25
+ * strategy: 'jwt',
26
+ * maxAge: 30 * 24 * 60 * 60
27
+ * }
28
+ * }));
29
+ * ```
30
+ */
31
+ export const auth = (options) => ({
32
+ name: 'auth',
33
+ version: '2.0.0',
34
+ metadata: {
35
+ name: 'auth',
36
+ version: '2.0.0',
37
+ description: 'Auth.js authentication middleware with OAuth, JWT, and session support',
38
+ author: 'MoroJS Team',
39
+ dependencies: [],
40
+ tags: ['authentication', 'oauth', 'jwt', 'security'],
41
+ },
42
+ install: async (hooks, middlewareOptions = {}) => {
43
+ logger.debug('Installing Auth.js middleware', 'Installation', { options: middlewareOptions });
44
+ const config = { ...options, ...middlewareOptions };
45
+ const authCore = new AuthCore(config);
46
+ // Initialize Auth.js
47
+ await authCore.initialize();
48
+ // Register hooks for request processing
49
+ hooks.before('request', async (context) => {
50
+ const req = context.request;
51
+ const res = context.response;
52
+ // Handle Auth.js API routes first
53
+ if (authCore.isAuthRoute(req.url)) {
54
+ try {
55
+ const response = await authCore.handleAuthRoute(req, res);
56
+ if (response) {
57
+ return response;
58
+ }
59
+ }
60
+ catch (error) {
61
+ logger.error('Auth.js handler error', 'HandlerError', { error });
62
+ throw error;
63
+ }
64
+ }
65
+ // Extract and verify JWT token
66
+ const { token, session: tokenSession, error, } = await authCore.verifyToken(req.headers?.authorization);
67
+ // Handle JWT errors for API requests
68
+ if (error) {
69
+ const errorResponse = authCore.handleJWTError(error, req, res);
70
+ if (errorResponse) {
71
+ return errorResponse;
72
+ }
73
+ }
74
+ // Get session from cookie if no token session
75
+ let session = tokenSession;
76
+ if (!session) {
77
+ session = await authCore.getSession(req);
78
+ }
79
+ // Create and attach auth request object
80
+ const authRequest = authCore.createAuthRequest(session, token || undefined);
81
+ req.auth = authRequest;
82
+ if (authRequest.isAuthenticated) {
83
+ logger.debug('User authenticated', 'Authentication', {
84
+ userId: authRequest.user?.id,
85
+ provider: authRequest.user?.provider || 'unknown',
86
+ });
87
+ }
88
+ });
89
+ // Response processing hook
90
+ hooks.after('response', async (context) => {
91
+ const req = context.request;
92
+ if (req.auth?.session) {
93
+ await authCore.updateSession(req.auth.session);
94
+ }
95
+ });
96
+ logger.info(`Auth.js middleware installed with ${authCore.getProviderCount()} providers`, 'Installation');
97
+ },
98
+ });
99
+ //# sourceMappingURL=hook.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hook.js","sourceRoot":"","sources":["../../../../../src/core/middleware/built-in/auth/hook.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAGrC,MAAM,MAAM,GAAG,qBAAqB,CAAC,gBAAgB,CAAC,CAAC;AAEvD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,OAAoB,EAAuB,EAAE,CAAC,CAAC;IAClE,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,OAAO;IAChB,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,OAAO;QAChB,WAAW,EAAE,wEAAwE;QACrF,MAAM,EAAE,aAAa;QACrB,YAAY,EAAE,EAAE;QAChB,IAAI,EAAE,CAAC,gBAAgB,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC;KACrD;IAED,OAAO,EAAE,KAAK,EAAE,KAAU,EAAE,oBAA0C,EAAE,EAAE,EAAE;QAC1E,MAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE,cAAc,EAAE,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC,CAAC;QAE9F,MAAM,MAAM,GAAG,EAAE,GAAG,OAAO,EAAE,GAAG,iBAAiB,EAAE,CAAC;QACpD,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC;QAEtC,qBAAqB;QACrB,MAAM,QAAQ,CAAC,UAAU,EAAE,CAAC;QAE5B,wCAAwC;QACxC,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,OAAoB,EAAE,EAAE;YACrD,MAAM,GAAG,GAAG,OAAO,CAAC,OAAc,CAAC;YACnC,MAAM,GAAG,GAAG,OAAO,CAAC,QAAe,CAAC;YAEpC,kCAAkC;YAClC,IAAI,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAClC,IAAI,CAAC;oBACH,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;oBAC1D,IAAI,QAAQ,EAAE,CAAC;wBACb,OAAO,QAAQ,CAAC;oBAClB,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE,cAAc,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;oBACjE,MAAM,KAAK,CAAC;gBACd,CAAC;YACH,CAAC;YAED,+BAA+B;YAC/B,MAAM,EACJ,KAAK,EACL,OAAO,EAAE,YAAY,EACrB,KAAK,GACN,GAAG,MAAM,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;YAE3D,qCAAqC;YACrC,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,aAAa,GAAG,QAAQ,CAAC,cAAc,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;gBAC/D,IAAI,aAAa,EAAE,CAAC;oBAClB,OAAO,aAAa,CAAC;gBACvB,CAAC;YACH,CAAC;YAED,8CAA8C;YAC9C,IAAI,OAAO,GAAG,YAAY,CAAC;YAC3B,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YAC3C,CAAC;YAED,wCAAwC;YACxC,MAAM,WAAW,GAAG,QAAQ,CAAC,iBAAiB,CAAC,OAAO,EAAE,KAAK,IAAI,SAAS,CAAC,CAAC;YAC5E,GAAG,CAAC,IAAI,GAAG,WAAW,CAAC;YAEvB,IAAI,WAAW,CAAC,eAAe,EAAE,CAAC;gBAChC,MAAM,CAAC,KAAK,CAAC,oBAAoB,EAAE,gBAAgB,EAAE;oBACnD,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE,EAAE;oBAC5B,QAAQ,EAAE,WAAW,CAAC,IAAI,EAAE,QAAQ,IAAI,SAAS;iBAClD,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,2BAA2B;QAC3B,KAAK,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,EAAE,OAAoB,EAAE,EAAE;YACrD,MAAM,GAAG,GAAG,OAAO,CAAC,OAAc,CAAC;YAEnC,IAAI,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC;gBACtB,MAAM,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACjD,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CACT,qCAAqC,QAAQ,CAAC,gBAAgB,EAAE,YAAY,EAC5E,cAAc,CACf,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ export { AuthCore, providers } from './core.js';
2
+ export { createAuthMiddleware } from './middleware.js';
3
+ export { auth } from './hook.js';
4
+ export { requireAuth, requireRole, requirePermission, requireAdmin, guestOnly, optionalAuth, withAuth, protectedRoute, authUtils, authResponses, sessionHelpers, type AuthGuardOptions, type AuthRouteOptions, } from './helpers.js';
5
+ export { extendedProviders, enterpriseProviders, createCustomOAuthProvider, createCustomOIDCProvider, } from './providers.js';
6
+ export { safeVerifyJWT, extractJWTFromHeader, createAuthErrorResponse, type JWTVerificationResult, } from './jwt-helpers.js';
7
+ export type { AuthOptions, AuthProvider, AuthUser, AuthSession, AuthRequest, OAuthProvider, CredentialsProvider, EmailProvider, } from '../../../../types/auth.js';
@@ -0,0 +1,15 @@
1
+ // Auth - Main entry point
2
+ // Re-exports all public APIs for the Auth built-in
3
+ // Core (for direct use by router and custom implementations)
4
+ export { AuthCore, providers } from './core.js';
5
+ // Middleware (for middleware chains)
6
+ export { createAuthMiddleware } from './middleware.js';
7
+ // Hook (for global registration)
8
+ export { auth } from './hook.js';
9
+ // Auth Helpers
10
+ export { requireAuth, requireRole, requirePermission, requireAdmin, guestOnly, optionalAuth, withAuth, protectedRoute, authUtils, authResponses, sessionHelpers, } from './helpers.js';
11
+ // Extended Auth Providers
12
+ export { extendedProviders, enterpriseProviders, createCustomOAuthProvider, createCustomOIDCProvider, } from './providers.js';
13
+ // JWT Utilities
14
+ export { safeVerifyJWT, extractJWTFromHeader, createAuthErrorResponse, } from './jwt-helpers.js';
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/core/middleware/built-in/auth/index.ts"],"names":[],"mappings":"AAAA,0BAA0B;AAC1B,mDAAmD;AAEnD,6DAA6D;AAC7D,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEhD,qCAAqC;AACrC,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAEvD,iCAAiC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,eAAe;AACf,OAAO,EACL,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,QAAQ,EACR,cAAc,EACd,SAAS,EACT,aAAa,EACb,cAAc,GAGf,MAAM,cAAc,CAAC;AAEtB,0BAA0B;AAC1B,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,yBAAyB,EACzB,wBAAwB,GACzB,MAAM,gBAAgB,CAAC;AAExB,gBAAgB;AAChB,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,uBAAuB,GAExB,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,118 @@
1
+ /**
2
+ * JWT Error Handling Utilities for Custom Middleware
3
+ *
4
+ * This module provides utilities to help users handle JWT errors gracefully
5
+ * in their custom authentication middleware.
6
+ */
7
+ export interface JWTVerificationResult {
8
+ success: boolean;
9
+ payload?: any;
10
+ error?: {
11
+ type: 'expired' | 'invalid' | 'malformed' | 'missing_secret' | 'unknown';
12
+ message: string;
13
+ expiredAt?: Date;
14
+ date?: Date;
15
+ };
16
+ }
17
+ /**
18
+ * Safely verify a JWT token with proper error handling
19
+ *
20
+ * @param token - The JWT token to verify
21
+ * @param secret - The secret key for verification
22
+ * @param options - Additional JWT verification options
23
+ * @returns JWTVerificationResult with success status and payload or error details
24
+ */
25
+ export declare function safeVerifyJWT(token: string, secret: string, options?: any): Promise<JWTVerificationResult>;
26
+ /**
27
+ * Extract JWT token from Authorization header
28
+ *
29
+ * @param authHeader - The Authorization header value
30
+ * @returns The JWT token or null if not found/invalid format
31
+ */
32
+ export declare function extractJWTFromHeader(authHeader: string | undefined): string | null;
33
+ /**
34
+ * Create a standardized auth middleware error response
35
+ *
36
+ * @param error - The JWT verification error
37
+ * @returns Standardized error response object
38
+ */
39
+ export declare function createAuthErrorResponse(error: JWTVerificationResult['error']): {
40
+ success: boolean;
41
+ error: string;
42
+ message: string;
43
+ expiredAt?: undefined;
44
+ availableAt?: undefined;
45
+ } | {
46
+ success: boolean;
47
+ error: string;
48
+ message: string;
49
+ expiredAt: Date | undefined;
50
+ availableAt?: undefined;
51
+ } | {
52
+ success: boolean;
53
+ error: string;
54
+ message: string;
55
+ availableAt: Date | undefined;
56
+ expiredAt?: undefined;
57
+ };
58
+ /**
59
+ * Example usage for custom middleware with elegant error handling:
60
+ *
61
+ * ```typescript
62
+ * import { safeVerifyJWT, extractJWTFromHeader, createAuthErrorResponse } from '@morojs/moro';
63
+ *
64
+ * const authMiddleware = async (req: any, res: any, next: any) => {
65
+ * const token = extractJWTFromHeader(req.headers.authorization);
66
+ *
67
+ * if (!token) {
68
+ * return res.status(401).json({
69
+ * success: false,
70
+ * error: 'Missing token',
71
+ * message: 'Authorization header with Bearer token is required'
72
+ * });
73
+ * }
74
+ *
75
+ * const result = safeVerifyJWT(token, process.env.JWT_SECRET!);
76
+ *
77
+ * if (!result.success) {
78
+ * // This provides elegant, user-friendly error messages instead of stack traces
79
+ * const errorResponse = createAuthErrorResponse(result.error);
80
+ * return res.status(401).json(errorResponse);
81
+ * }
82
+ *
83
+ * // Token is valid - attach user info to request
84
+ * req.user = result.payload;
85
+ * req.auth = {
86
+ * user: result.payload,
87
+ * isAuthenticated: true,
88
+ * token
89
+ * };
90
+ *
91
+ * next();
92
+ * };
93
+ * ```
94
+ *
95
+ * Benefits of using safeVerifyJWT vs raw jsonwebtoken.verify():
96
+ *
97
+ * ❌ Raw approach (shows ugly error messages to users):
98
+ * ```typescript
99
+ * try {
100
+ * const decoded = jwt.verify(token, secret);
101
+ * req.user = decoded;
102
+ * } catch (error) {
103
+ * // This exposes technical details and stack traces to users:
104
+ * // "Invalid token: TokenExpiredError: jwt expired at /node_modules/jsonwebtoken/verify.js:190:21..."
105
+ * throw error; // BAD - exposes internal details
106
+ * }
107
+ * ```
108
+ *
109
+ * ✅ Safe approach (shows clean, user-friendly messages):
110
+ * ```typescript
111
+ * const result = safeVerifyJWT(token, secret);
112
+ * if (!result.success) {
113
+ * // This returns clean messages like:
114
+ * // { "error": "Token expired", "message": "Your session has expired. Please sign in again." }
115
+ * return res.status(401).json(createAuthErrorResponse(result.error));
116
+ * }
117
+ * ```
118
+ */
@@ -0,0 +1,218 @@
1
+ /**
2
+ * JWT Error Handling Utilities for Custom Middleware
3
+ *
4
+ * This module provides utilities to help users handle JWT errors gracefully
5
+ * in their custom authentication middleware.
6
+ */
7
+ import { resolveUserPackage } from '../../../utilities/package-utils.js';
8
+ /**
9
+ * Safely verify a JWT token with proper error handling
10
+ *
11
+ * @param token - The JWT token to verify
12
+ * @param secret - The secret key for verification
13
+ * @param options - Additional JWT verification options
14
+ * @returns JWTVerificationResult with success status and payload or error details
15
+ */
16
+ export async function safeVerifyJWT(token, secret, options = {}) {
17
+ // Check if jsonwebtoken is available
18
+ let jwt;
19
+ try {
20
+ const jwtPath = resolveUserPackage('jsonwebtoken');
21
+ jwt = await import(jwtPath);
22
+ }
23
+ catch (error) {
24
+ return {
25
+ success: false,
26
+ error: {
27
+ type: 'missing_secret',
28
+ message: 'JWT verification requires the "jsonwebtoken" package. ' +
29
+ 'Please install it with: npm install jsonwebtoken @types/jsonwebtoken',
30
+ },
31
+ };
32
+ }
33
+ if (!secret) {
34
+ return {
35
+ success: false,
36
+ error: {
37
+ type: 'missing_secret',
38
+ message: 'JWT verification requires a secret. ' +
39
+ 'Please provide a secret for token verification.',
40
+ },
41
+ };
42
+ }
43
+ try {
44
+ const payload = jwt.verify(token, secret, options);
45
+ return {
46
+ success: true,
47
+ payload,
48
+ };
49
+ }
50
+ catch (error) {
51
+ // Handle specific JWT errors gracefully
52
+ if (error.name === 'TokenExpiredError') {
53
+ return {
54
+ success: false,
55
+ error: {
56
+ type: 'expired',
57
+ message: 'JWT token has expired',
58
+ expiredAt: error.expiredAt,
59
+ },
60
+ };
61
+ }
62
+ else if (error.name === 'JsonWebTokenError') {
63
+ return {
64
+ success: false,
65
+ error: {
66
+ type: 'invalid',
67
+ message: 'Invalid JWT token format or signature',
68
+ },
69
+ };
70
+ }
71
+ else if (error.name === 'NotBeforeError') {
72
+ return {
73
+ success: false,
74
+ error: {
75
+ type: 'malformed',
76
+ message: 'JWT token is not active yet',
77
+ date: error.date,
78
+ },
79
+ };
80
+ }
81
+ else {
82
+ return {
83
+ success: false,
84
+ error: {
85
+ type: 'unknown',
86
+ message: `JWT verification failed: ${error.message}`,
87
+ },
88
+ };
89
+ }
90
+ }
91
+ }
92
+ /**
93
+ * Extract JWT token from Authorization header
94
+ *
95
+ * @param authHeader - The Authorization header value
96
+ * @returns The JWT token or null if not found/invalid format
97
+ */
98
+ export function extractJWTFromHeader(authHeader) {
99
+ if (!authHeader) {
100
+ return null;
101
+ }
102
+ if (!authHeader.startsWith('Bearer ')) {
103
+ return null;
104
+ }
105
+ const token = authHeader.substring(7);
106
+ return token.trim() || null;
107
+ }
108
+ /**
109
+ * Create a standardized auth middleware error response
110
+ *
111
+ * @param error - The JWT verification error
112
+ * @returns Standardized error response object
113
+ */
114
+ export function createAuthErrorResponse(error) {
115
+ if (!error) {
116
+ return {
117
+ success: false,
118
+ error: 'Authentication failed',
119
+ message: 'Unknown authentication error',
120
+ };
121
+ }
122
+ switch (error.type) {
123
+ case 'expired':
124
+ return {
125
+ success: false,
126
+ error: 'Token expired',
127
+ message: 'Your session has expired. Please sign in again.',
128
+ expiredAt: error.expiredAt,
129
+ };
130
+ case 'invalid':
131
+ return {
132
+ success: false,
133
+ error: 'Invalid token',
134
+ message: 'The provided authentication token is invalid.',
135
+ };
136
+ case 'malformed':
137
+ return {
138
+ success: false,
139
+ error: 'Token not ready',
140
+ message: 'The authentication token is not yet valid.',
141
+ availableAt: error.date,
142
+ };
143
+ case 'missing_secret':
144
+ return {
145
+ success: false,
146
+ error: 'Configuration error',
147
+ message: 'Authentication service is not properly configured.',
148
+ };
149
+ default:
150
+ return {
151
+ success: false,
152
+ error: 'Authentication failed',
153
+ message: error.message || 'Authentication verification failed.',
154
+ };
155
+ }
156
+ }
157
+ /**
158
+ * Example usage for custom middleware with elegant error handling:
159
+ *
160
+ * ```typescript
161
+ * import { safeVerifyJWT, extractJWTFromHeader, createAuthErrorResponse } from '@morojs/moro';
162
+ *
163
+ * const authMiddleware = async (req: any, res: any, next: any) => {
164
+ * const token = extractJWTFromHeader(req.headers.authorization);
165
+ *
166
+ * if (!token) {
167
+ * return res.status(401).json({
168
+ * success: false,
169
+ * error: 'Missing token',
170
+ * message: 'Authorization header with Bearer token is required'
171
+ * });
172
+ * }
173
+ *
174
+ * const result = safeVerifyJWT(token, process.env.JWT_SECRET!);
175
+ *
176
+ * if (!result.success) {
177
+ * // This provides elegant, user-friendly error messages instead of stack traces
178
+ * const errorResponse = createAuthErrorResponse(result.error);
179
+ * return res.status(401).json(errorResponse);
180
+ * }
181
+ *
182
+ * // Token is valid - attach user info to request
183
+ * req.user = result.payload;
184
+ * req.auth = {
185
+ * user: result.payload,
186
+ * isAuthenticated: true,
187
+ * token
188
+ * };
189
+ *
190
+ * next();
191
+ * };
192
+ * ```
193
+ *
194
+ * Benefits of using safeVerifyJWT vs raw jsonwebtoken.verify():
195
+ *
196
+ * ❌ Raw approach (shows ugly error messages to users):
197
+ * ```typescript
198
+ * try {
199
+ * const decoded = jwt.verify(token, secret);
200
+ * req.user = decoded;
201
+ * } catch (error) {
202
+ * // This exposes technical details and stack traces to users:
203
+ * // "Invalid token: TokenExpiredError: jwt expired at /node_modules/jsonwebtoken/verify.js:190:21..."
204
+ * throw error; // BAD - exposes internal details
205
+ * }
206
+ * ```
207
+ *
208
+ * ✅ Safe approach (shows clean, user-friendly messages):
209
+ * ```typescript
210
+ * const result = safeVerifyJWT(token, secret);
211
+ * if (!result.success) {
212
+ * // This returns clean messages like:
213
+ * // { "error": "Token expired", "message": "Your session has expired. Please sign in again." }
214
+ * return res.status(401).json(createAuthErrorResponse(result.error));
215
+ * }
216
+ * ```
217
+ */
218
+ //# sourceMappingURL=jwt-helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jwt-helpers.js","sourceRoot":"","sources":["../../../../../src/core/middleware/built-in/auth/jwt-helpers.ts"],"names":[],"mappings":"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"}