@morojs/moro 1.5.16 → 1.6.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 (373) hide show
  1. package/README.md +70 -269
  2. package/dist/core/auth/morojs-adapter.js +5 -9
  3. package/dist/core/auth/morojs-adapter.js.map +1 -1
  4. package/dist/core/config/config-manager.d.ts +1 -1
  5. package/dist/core/config/config-manager.js +10 -20
  6. package/dist/core/config/config-manager.js.map +1 -1
  7. package/dist/core/config/config-sources.d.ts +2 -2
  8. package/dist/core/config/config-sources.js +17 -20
  9. package/dist/core/config/config-sources.js.map +1 -1
  10. package/dist/core/config/config-validator.d.ts +1 -1
  11. package/dist/core/config/config-validator.js +33 -10
  12. package/dist/core/config/config-validator.js.map +1 -1
  13. package/dist/core/config/file-loader.d.ts +1 -1
  14. package/dist/core/config/file-loader.js +19 -78
  15. package/dist/core/config/file-loader.js.map +1 -1
  16. package/dist/core/config/index.d.ts +8 -8
  17. package/dist/core/config/index.js +25 -51
  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 +11 -13
  21. package/dist/core/config/schema.js.map +1 -1
  22. package/dist/core/config/utils.d.ts +1 -1
  23. package/dist/core/config/utils.js +18 -32
  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 +3 -1
  32. package/dist/core/database/adapters/mongodb.js +23 -8
  33. package/dist/core/database/adapters/mongodb.js.map +1 -1
  34. package/dist/core/database/adapters/mysql.d.ts +3 -1
  35. package/dist/core/database/adapters/mysql.js +18 -9
  36. package/dist/core/database/adapters/mysql.js.map +1 -1
  37. package/dist/core/database/adapters/postgresql.d.ts +3 -1
  38. package/dist/core/database/adapters/postgresql.js +18 -8
  39. package/dist/core/database/adapters/postgresql.js.map +1 -1
  40. package/dist/core/database/adapters/redis.d.ts +3 -1
  41. package/dist/core/database/adapters/redis.js +34 -9
  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 +6 -10
  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 +16 -6
  73. package/dist/core/framework.js +182 -92
  74. package/dist/core/framework.js.map +1 -1
  75. package/dist/core/http/http-server.d.ts +1 -1
  76. package/dist/core/http/http-server.js +26 -209
  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/router.d.ts +1 -1
  82. package/dist/core/http/router.js +3 -7
  83. package/dist/core/http/router.js.map +1 -1
  84. package/dist/core/http/uws-http-server.d.ts +64 -0
  85. package/dist/core/http/uws-http-server.js +688 -0
  86. package/dist/core/http/uws-http-server.js.map +1 -0
  87. package/dist/core/logger/filters.d.ts +1 -1
  88. package/dist/core/logger/filters.js +8 -19
  89. package/dist/core/logger/filters.js.map +1 -1
  90. package/dist/core/logger/index.d.ts +3 -3
  91. package/dist/core/logger/index.js +2 -25
  92. package/dist/core/logger/index.js.map +1 -1
  93. package/dist/core/logger/logger.d.ts +1 -1
  94. package/dist/core/logger/logger.js +21 -23
  95. package/dist/core/logger/logger.js.map +1 -1
  96. package/dist/core/logger/outputs.d.ts +1 -1
  97. package/dist/core/logger/outputs.js +8 -15
  98. package/dist/core/logger/outputs.js.map +1 -1
  99. package/dist/core/middleware/built-in/adapters/cache/file.d.ts +1 -1
  100. package/dist/core/middleware/built-in/adapters/cache/file.js +10 -47
  101. package/dist/core/middleware/built-in/adapters/cache/file.js.map +1 -1
  102. package/dist/core/middleware/built-in/adapters/cache/index.d.ts +4 -4
  103. package/dist/core/middleware/built-in/adapters/cache/index.js +10 -17
  104. package/dist/core/middleware/built-in/adapters/cache/index.js.map +1 -1
  105. package/dist/core/middleware/built-in/adapters/cache/memory.d.ts +1 -1
  106. package/dist/core/middleware/built-in/adapters/cache/memory.js +3 -7
  107. package/dist/core/middleware/built-in/adapters/cache/memory.js.map +1 -1
  108. package/dist/core/middleware/built-in/adapters/cache/redis.d.ts +3 -1
  109. package/dist/core/middleware/built-in/adapters/cache/redis.js +11 -9
  110. package/dist/core/middleware/built-in/adapters/cache/redis.js.map +1 -1
  111. package/dist/core/middleware/built-in/adapters/cdn/azure.d.ts +1 -1
  112. package/dist/core/middleware/built-in/adapters/cdn/azure.js +3 -7
  113. package/dist/core/middleware/built-in/adapters/cdn/azure.js.map +1 -1
  114. package/dist/core/middleware/built-in/adapters/cdn/cloudflare.d.ts +1 -1
  115. package/dist/core/middleware/built-in/adapters/cdn/cloudflare.js +3 -7
  116. package/dist/core/middleware/built-in/adapters/cdn/cloudflare.js.map +1 -1
  117. package/dist/core/middleware/built-in/adapters/cdn/cloudfront.d.ts +3 -1
  118. package/dist/core/middleware/built-in/adapters/cdn/cloudfront.js +12 -10
  119. package/dist/core/middleware/built-in/adapters/cdn/cloudfront.js.map +1 -1
  120. package/dist/core/middleware/built-in/adapters/cdn/index.d.ts +4 -4
  121. package/dist/core/middleware/built-in/adapters/cdn/index.js +10 -17
  122. package/dist/core/middleware/built-in/adapters/cdn/index.js.map +1 -1
  123. package/dist/core/middleware/built-in/adapters/index.d.ts +4 -4
  124. package/dist/core/middleware/built-in/adapters/index.js +4 -23
  125. package/dist/core/middleware/built-in/adapters/index.js.map +1 -1
  126. package/dist/core/middleware/built-in/auth-helpers.js +11 -22
  127. package/dist/core/middleware/built-in/auth-helpers.js.map +1 -1
  128. package/dist/core/middleware/built-in/auth-providers.d.ts +1 -1
  129. package/dist/core/middleware/built-in/auth-providers.js +4 -9
  130. package/dist/core/middleware/built-in/auth-providers.js.map +1 -1
  131. package/dist/core/middleware/built-in/auth.d.ts +2 -2
  132. package/dist/core/middleware/built-in/auth.js +51 -44
  133. package/dist/core/middleware/built-in/auth.js.map +1 -1
  134. package/dist/core/middleware/built-in/cache.d.ts +2 -2
  135. package/dist/core/middleware/built-in/cache.js +8 -11
  136. package/dist/core/middleware/built-in/cache.js.map +1 -1
  137. package/dist/core/middleware/built-in/cdn.d.ts +2 -2
  138. package/dist/core/middleware/built-in/cdn.js +5 -9
  139. package/dist/core/middleware/built-in/cdn.js.map +1 -1
  140. package/dist/core/middleware/built-in/cookie.d.ts +1 -1
  141. package/dist/core/middleware/built-in/cookie.js +3 -7
  142. package/dist/core/middleware/built-in/cookie.js.map +1 -1
  143. package/dist/core/middleware/built-in/cors.d.ts +1 -1
  144. package/dist/core/middleware/built-in/cors.js +3 -7
  145. package/dist/core/middleware/built-in/cors.js.map +1 -1
  146. package/dist/core/middleware/built-in/csp.d.ts +1 -1
  147. package/dist/core/middleware/built-in/csp.js +5 -8
  148. package/dist/core/middleware/built-in/csp.js.map +1 -1
  149. package/dist/core/middleware/built-in/csrf.d.ts +1 -1
  150. package/dist/core/middleware/built-in/csrf.js +5 -8
  151. package/dist/core/middleware/built-in/csrf.js.map +1 -1
  152. package/dist/core/middleware/built-in/error-tracker.js +3 -7
  153. package/dist/core/middleware/built-in/error-tracker.js.map +1 -1
  154. package/dist/core/middleware/built-in/index.d.ts +28 -28
  155. package/dist/core/middleware/built-in/index.js +47 -82
  156. package/dist/core/middleware/built-in/index.js.map +1 -1
  157. package/dist/core/middleware/built-in/jwt-helpers.d.ts +27 -2
  158. package/dist/core/middleware/built-in/jwt-helpers.js +32 -10
  159. package/dist/core/middleware/built-in/jwt-helpers.js.map +1 -1
  160. package/dist/core/middleware/built-in/performance-monitor.js +3 -7
  161. package/dist/core/middleware/built-in/performance-monitor.js.map +1 -1
  162. package/dist/core/middleware/built-in/rate-limit.d.ts +1 -1
  163. package/dist/core/middleware/built-in/rate-limit.js +3 -7
  164. package/dist/core/middleware/built-in/rate-limit.js.map +1 -1
  165. package/dist/core/middleware/built-in/request-logger.js +3 -7
  166. package/dist/core/middleware/built-in/request-logger.js.map +1 -1
  167. package/dist/core/middleware/built-in/session.d.ts +2 -2
  168. package/dist/core/middleware/built-in/session.js +11 -15
  169. package/dist/core/middleware/built-in/session.js.map +1 -1
  170. package/dist/core/middleware/built-in/sse.d.ts +1 -1
  171. package/dist/core/middleware/built-in/sse.js +3 -7
  172. package/dist/core/middleware/built-in/sse.js.map +1 -1
  173. package/dist/core/middleware/built-in/validation.d.ts +1 -1
  174. package/dist/core/middleware/built-in/validation.js +3 -7
  175. package/dist/core/middleware/built-in/validation.js.map +1 -1
  176. package/dist/core/middleware/index.d.ts +4 -4
  177. package/dist/core/middleware/index.js +8 -28
  178. package/dist/core/middleware/index.js.map +1 -1
  179. package/dist/core/modules/auto-discovery.d.ts +3 -3
  180. package/dist/core/modules/auto-discovery.js +43 -81
  181. package/dist/core/modules/auto-discovery.js.map +1 -1
  182. package/dist/core/modules/index.d.ts +2 -2
  183. package/dist/core/modules/index.js +2 -9
  184. package/dist/core/modules/index.js.map +1 -1
  185. package/dist/core/modules/modules.d.ts +3 -3
  186. package/dist/core/modules/modules.js +11 -52
  187. package/dist/core/modules/modules.js.map +1 -1
  188. package/dist/core/networking/adapters/index.d.ts +4 -3
  189. package/dist/core/networking/adapters/index.js +3 -7
  190. package/dist/core/networking/adapters/index.js.map +1 -1
  191. package/dist/core/networking/adapters/socketio-adapter.d.ts +1 -1
  192. package/dist/core/networking/adapters/socketio-adapter.js +5 -40
  193. package/dist/core/networking/adapters/socketio-adapter.js.map +1 -1
  194. package/dist/core/networking/adapters/uws-adapter.d.ts +44 -0
  195. package/dist/core/networking/adapters/uws-adapter.js +513 -0
  196. package/dist/core/networking/adapters/uws-adapter.js.map +1 -0
  197. package/dist/core/networking/adapters/ws-adapter.d.ts +1 -1
  198. package/dist/core/networking/adapters/ws-adapter.js +7 -42
  199. package/dist/core/networking/adapters/ws-adapter.js.map +1 -1
  200. package/dist/core/networking/index.d.ts +3 -2
  201. package/dist/core/networking/index.js +2 -7
  202. package/dist/core/networking/index.js.map +1 -1
  203. package/dist/core/networking/service-discovery.js +3 -7
  204. package/dist/core/networking/service-discovery.js.map +1 -1
  205. package/dist/core/networking/websocket-adapter.js +1 -2
  206. package/dist/core/networking/websocket-adapter.js.map +1 -1
  207. package/dist/core/networking/websocket-manager.d.ts +3 -3
  208. package/dist/core/networking/websocket-manager.js +9 -11
  209. package/dist/core/networking/websocket-manager.js.map +1 -1
  210. package/dist/core/routing/app-integration.d.ts +2 -2
  211. package/dist/core/routing/app-integration.js +7 -12
  212. package/dist/core/routing/app-integration.js.map +1 -1
  213. package/dist/core/routing/index.d.ts +2 -2
  214. package/dist/core/routing/index.js +7 -14
  215. package/dist/core/routing/index.js.map +1 -1
  216. package/dist/core/runtime/aws-lambda-adapter.d.ts +3 -3
  217. package/dist/core/runtime/aws-lambda-adapter.js +2 -6
  218. package/dist/core/runtime/aws-lambda-adapter.js.map +1 -1
  219. package/dist/core/runtime/base-adapter.d.ts +2 -2
  220. package/dist/core/runtime/base-adapter.js +3 -7
  221. package/dist/core/runtime/base-adapter.js.map +1 -1
  222. package/dist/core/runtime/cloudflare-workers-adapter.d.ts +3 -3
  223. package/dist/core/runtime/cloudflare-workers-adapter.js +2 -6
  224. package/dist/core/runtime/cloudflare-workers-adapter.js.map +1 -1
  225. package/dist/core/runtime/index.d.ts +12 -12
  226. package/dist/core/runtime/index.js +22 -35
  227. package/dist/core/runtime/index.js.map +1 -1
  228. package/dist/core/runtime/node-adapter.d.ts +4 -4
  229. package/dist/core/runtime/node-adapter.js +6 -43
  230. package/dist/core/runtime/node-adapter.js.map +1 -1
  231. package/dist/core/runtime/vercel-edge-adapter.d.ts +3 -3
  232. package/dist/core/runtime/vercel-edge-adapter.js +2 -6
  233. package/dist/core/runtime/vercel-edge-adapter.js.map +1 -1
  234. package/dist/core/utilities/circuit-breaker.js +1 -5
  235. package/dist/core/utilities/circuit-breaker.js.map +1 -1
  236. package/dist/core/utilities/container.js +12 -22
  237. package/dist/core/utilities/container.js.map +1 -1
  238. package/dist/core/utilities/hooks.d.ts +2 -2
  239. package/dist/core/utilities/hooks.js +7 -12
  240. package/dist/core/utilities/hooks.js.map +1 -1
  241. package/dist/core/utilities/index.d.ts +5 -4
  242. package/dist/core/utilities/index.js +5 -19
  243. package/dist/core/utilities/index.js.map +1 -1
  244. package/dist/core/utilities/package-utils.d.ts +38 -0
  245. package/dist/core/utilities/package-utils.js +57 -0
  246. package/dist/core/utilities/package-utils.js.map +1 -0
  247. package/dist/core/validation/adapters.d.ts +1 -1
  248. package/dist/core/validation/adapters.js +15 -26
  249. package/dist/core/validation/adapters.js.map +1 -1
  250. package/dist/core/validation/index.d.ts +6 -4
  251. package/dist/core/validation/index.js +57 -28
  252. package/dist/core/validation/index.js.map +1 -1
  253. package/dist/core/validation/schema-interface.js +3 -9
  254. package/dist/core/validation/schema-interface.js.map +1 -1
  255. package/dist/index.d.ts +51 -52
  256. package/dist/index.js +23 -132
  257. package/dist/index.js.map +1 -1
  258. package/dist/moro.d.ts +30 -10
  259. package/dist/moro.js +262 -126
  260. package/dist/moro.js.map +1 -1
  261. package/dist/types/auth.js +3 -9
  262. package/dist/types/auth.js.map +1 -1
  263. package/dist/types/cache.js +1 -2
  264. package/dist/types/cdn.js +1 -2
  265. package/dist/types/config.d.ts +13 -1
  266. package/dist/types/config.js +1 -2
  267. package/dist/types/config.js.map +1 -1
  268. package/dist/types/core.d.ts +3 -3
  269. package/dist/types/core.js +1 -2
  270. package/dist/types/database.js +1 -2
  271. package/dist/types/discovery.js +1 -2
  272. package/dist/types/events.js +1 -2
  273. package/dist/types/hooks.d.ts +1 -1
  274. package/dist/types/hooks.js +1 -2
  275. package/dist/types/http.js +1 -2
  276. package/dist/types/logger.js +1 -2
  277. package/dist/types/module.js +1 -2
  278. package/dist/types/runtime.d.ts +1 -1
  279. package/dist/types/runtime.js +1 -2
  280. package/dist/types/session.js +1 -2
  281. package/jest.config.mjs +41 -0
  282. package/package.json +18 -51
  283. package/src/core/auth/morojs-adapter.ts +1 -1
  284. package/src/core/config/config-manager.ts +2 -2
  285. package/src/core/config/config-sources.ts +6 -6
  286. package/src/core/config/config-validator.ts +38 -3
  287. package/src/core/config/file-loader.ts +13 -40
  288. package/src/core/config/index.ts +15 -11
  289. package/src/core/config/schema.ts +3 -2
  290. package/src/core/config/utils.ts +3 -3
  291. package/src/core/database/adapters/drizzle.ts +18 -6
  292. package/src/core/database/adapters/index.ts +13 -13
  293. package/src/core/database/adapters/mongodb.ts +23 -3
  294. package/src/core/database/adapters/mysql.ts +18 -4
  295. package/src/core/database/adapters/postgresql.ts +18 -3
  296. package/src/core/database/adapters/redis.ts +34 -4
  297. package/src/core/database/adapters/sqlite.ts +19 -3
  298. package/src/core/database/index.ts +2 -2
  299. package/src/core/docs/index.ts +8 -8
  300. package/src/core/docs/openapi-generator.ts +4 -4
  301. package/src/core/docs/schema-to-openapi.ts +3 -6
  302. package/src/core/docs/simple-docs.ts +2 -2
  303. package/src/core/docs/swagger-ui.ts +19 -16
  304. package/src/core/docs/zod-to-openapi.ts +34 -34
  305. package/src/core/events/event-bus.ts +2 -2
  306. package/src/core/events/index.ts +2 -2
  307. package/src/core/framework.ts +190 -49
  308. package/src/core/http/http-server.ts +16 -159
  309. package/src/core/http/index.ts +4 -3
  310. package/src/core/http/router.ts +2 -2
  311. package/src/core/http/uws-http-server.ts +794 -0
  312. package/src/core/logger/filters.ts +1 -1
  313. package/src/core/logger/index.ts +3 -3
  314. package/src/core/logger/logger.ts +9 -1
  315. package/src/core/logger/outputs.ts +1 -1
  316. package/src/core/middleware/built-in/adapters/cache/file.ts +3 -3
  317. package/src/core/middleware/built-in/adapters/cache/index.ts +7 -7
  318. package/src/core/middleware/built-in/adapters/cache/memory.ts +2 -2
  319. package/src/core/middleware/built-in/adapters/cache/redis.ts +18 -4
  320. package/src/core/middleware/built-in/adapters/cdn/azure.ts +2 -2
  321. package/src/core/middleware/built-in/adapters/cdn/cloudflare.ts +2 -2
  322. package/src/core/middleware/built-in/adapters/cdn/cloudfront.ts +16 -5
  323. package/src/core/middleware/built-in/adapters/cdn/index.ts +7 -7
  324. package/src/core/middleware/built-in/adapters/index.ts +4 -4
  325. package/src/core/middleware/built-in/auth-helpers.ts +1 -1
  326. package/src/core/middleware/built-in/auth-providers.ts +1 -1
  327. package/src/core/middleware/built-in/auth.ts +64 -41
  328. package/src/core/middleware/built-in/cache.ts +5 -5
  329. package/src/core/middleware/built-in/cdn.ts +4 -4
  330. package/src/core/middleware/built-in/cookie.ts +2 -2
  331. package/src/core/middleware/built-in/cors.ts +2 -2
  332. package/src/core/middleware/built-in/csp.ts +3 -3
  333. package/src/core/middleware/built-in/csrf.ts +3 -3
  334. package/src/core/middleware/built-in/error-tracker.ts +1 -1
  335. package/src/core/middleware/built-in/index.ts +31 -31
  336. package/src/core/middleware/built-in/jwt-helpers.ts +32 -4
  337. package/src/core/middleware/built-in/performance-monitor.ts +1 -1
  338. package/src/core/middleware/built-in/rate-limit.ts +2 -2
  339. package/src/core/middleware/built-in/request-logger.ts +1 -1
  340. package/src/core/middleware/built-in/session.ts +7 -8
  341. package/src/core/middleware/built-in/sse.ts +2 -2
  342. package/src/core/middleware/built-in/validation.ts +2 -2
  343. package/src/core/middleware/index.ts +6 -6
  344. package/src/core/modules/auto-discovery.ts +4 -4
  345. package/src/core/modules/index.ts +2 -2
  346. package/src/core/modules/modules.ts +4 -4
  347. package/src/core/networking/adapters/index.ts +4 -3
  348. package/src/core/networking/adapters/socketio-adapter.ts +5 -3
  349. package/src/core/networking/adapters/uws-adapter.ts +619 -0
  350. package/src/core/networking/adapters/ws-adapter.ts +6 -4
  351. package/src/core/networking/index.ts +3 -2
  352. package/src/core/networking/service-discovery.ts +1 -1
  353. package/src/core/networking/websocket-manager.ts +7 -7
  354. package/src/core/routing/app-integration.ts +3 -3
  355. package/src/core/routing/index.ts +3 -3
  356. package/src/core/runtime/aws-lambda-adapter.ts +3 -3
  357. package/src/core/runtime/base-adapter.ts +2 -2
  358. package/src/core/runtime/cloudflare-workers-adapter.ts +3 -3
  359. package/src/core/runtime/index.ts +13 -13
  360. package/src/core/runtime/node-adapter.ts +4 -4
  361. package/src/core/runtime/vercel-edge-adapter.ts +3 -3
  362. package/src/core/utilities/hooks.ts +3 -3
  363. package/src/core/utilities/index.ts +5 -4
  364. package/src/core/utilities/package-utils.ts +59 -0
  365. package/src/core/validation/adapters.ts +1 -1
  366. package/src/core/validation/index.ts +68 -16
  367. package/src/index.ts +73 -66
  368. package/src/moro.ts +303 -75
  369. package/src/types/config.ts +13 -1
  370. package/src/types/core.ts +3 -3
  371. package/src/types/hooks.ts +1 -1
  372. package/src/types/runtime.ts +1 -1
  373. package/tsconfig.json +4 -2
@@ -1,9 +1,6 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.cookie = void 0;
4
- const logger_1 = require("../../logger");
5
- const logger = (0, logger_1.createFrameworkLogger)('CookieMiddleware');
6
- const cookie = (options = {}) => ({
1
+ import { createFrameworkLogger } from '../../logger/index.js';
2
+ const logger = createFrameworkLogger('CookieMiddleware');
3
+ export const cookie = (options = {}) => ({
7
4
  name: 'cookie',
8
5
  version: '1.0.0',
9
6
  metadata: {
@@ -52,7 +49,6 @@ const cookie = (options = {}) => ({
52
49
  });
53
50
  },
54
51
  });
55
- exports.cookie = cookie;
56
52
  function parseCookies(cookieHeader) {
57
53
  const cookies = {};
58
54
  if (!cookieHeader)
@@ -1 +1 @@
1
- {"version":3,"file":"cookie.js","sourceRoot":"","sources":["../../../../src/core/middleware/built-in/cookie.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cookie.js","sourceRoot":"","sources":["../../../../src/core/middleware/built-in/cookie.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import { MiddlewareInterface } from '../../../types/hooks';
1
+ import { MiddlewareInterface } from '../../../types/hooks.js';
2
2
  export declare const cors: (options?: any) => MiddlewareInterface;
@@ -1,9 +1,6 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.cors = void 0;
4
- const logger_1 = require("../../logger");
5
- const logger = (0, logger_1.createFrameworkLogger)('CorsMiddleware');
6
- const cors = (options = {}) => ({
1
+ import { createFrameworkLogger } from '../../logger/index.js';
2
+ const logger = createFrameworkLogger('CorsMiddleware');
3
+ export const cors = (options = {}) => ({
7
4
  name: 'cors',
8
5
  version: '1.0.0',
9
6
  metadata: {
@@ -25,5 +22,4 @@ const cors = (options = {}) => ({
25
22
  });
26
23
  },
27
24
  });
28
- exports.cors = cors;
29
25
  //# sourceMappingURL=cors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cors.js","sourceRoot":"","sources":["../../../../src/core/middleware/built-in/cors.ts"],"names":[],"mappings":";;;AAEA,yCAAqD;AAErD,MAAM,MAAM,GAAG,IAAA,8BAAqB,EAAC,gBAAgB,CAAC,CAAC;AAEhD,MAAM,IAAI,GAAG,CAAC,UAAe,EAAE,EAAuB,EAAE,CAAC,CAAC;IAC/D,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,OAAO;IAChB,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,OAAO;QAChB,WAAW,EAAE,0CAA0C;QACvD,MAAM,EAAE,aAAa;KACtB;IAED,OAAO,EAAE,KAAK,EAAE,KAAU,EAAE,UAAe,EAAE,EAAE,EAAE;QAC/C,MAAM,CAAC,KAAK,CAAC,4BAA4B,EAAE,cAAc,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QAExE,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,OAAoB,EAAE,EAAE;YACrD,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAe,CAAC;YAEzC,QAAQ,CAAC,SAAS,CAAC,6BAA6B,EAAE,OAAO,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC;YACzE,QAAQ,CAAC,SAAS,CAChB,8BAA8B,EAC9B,OAAO,CAAC,OAAO,IAAI,6BAA6B,CACjD,CAAC;YACF,QAAQ,CAAC,SAAS,CAChB,8BAA8B,EAC9B,OAAO,CAAC,OAAO,IAAI,4BAA4B,CAChD,CAAC;YAEF,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;gBACxB,QAAQ,CAAC,SAAS,CAAC,kCAAkC,EAAE,MAAM,CAAC,CAAC;YACjE,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAC,CAAC;AA/BU,QAAA,IAAI,QA+Bd"}
1
+ {"version":3,"file":"cors.js","sourceRoot":"","sources":["../../../../src/core/middleware/built-in/cors.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,MAAM,MAAM,GAAG,qBAAqB,CAAC,gBAAgB,CAAC,CAAC;AAEvD,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,UAAe,EAAE,EAAuB,EAAE,CAAC,CAAC;IAC/D,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,OAAO;IAChB,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,OAAO;QAChB,WAAW,EAAE,0CAA0C;QACvD,MAAM,EAAE,aAAa;KACtB;IAED,OAAO,EAAE,KAAK,EAAE,KAAU,EAAE,UAAe,EAAE,EAAE,EAAE;QAC/C,MAAM,CAAC,KAAK,CAAC,4BAA4B,EAAE,cAAc,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QAExE,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,OAAoB,EAAE,EAAE;YACrD,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAe,CAAC;YAEzC,QAAQ,CAAC,SAAS,CAAC,6BAA6B,EAAE,OAAO,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC;YACzE,QAAQ,CAAC,SAAS,CAChB,8BAA8B,EAC9B,OAAO,CAAC,OAAO,IAAI,6BAA6B,CACjD,CAAC;YACF,QAAQ,CAAC,SAAS,CAChB,8BAA8B,EAC9B,OAAO,CAAC,OAAO,IAAI,4BAA4B,CAChD,CAAC;YAEF,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;gBACxB,QAAQ,CAAC,SAAS,CAAC,kCAAkC,EAAE,MAAM,CAAC,CAAC;YACjE,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAC,CAAC"}
@@ -1,4 +1,4 @@
1
- import { MiddlewareInterface } from '../../../types/hooks';
1
+ import { MiddlewareInterface } from '../../../types/hooks.js';
2
2
  export declare const csp: (options?: {
3
3
  directives?: {
4
4
  defaultSrc?: string[];
@@ -1,9 +1,8 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.csp = void 0;
4
- const logger_1 = require("../../logger");
5
- const logger = (0, logger_1.createFrameworkLogger)('CSPMiddleware');
6
- const csp = (options = {}) => ({
1
+ // Content Security Policy Middleware
2
+ import crypto from 'crypto';
3
+ import { createFrameworkLogger } from '../../logger/index.js';
4
+ const logger = createFrameworkLogger('CSPMiddleware');
5
+ export const csp = (options = {}) => ({
7
6
  name: 'csp',
8
7
  version: '1.0.0',
9
8
  metadata: {
@@ -31,7 +30,6 @@ const csp = (options = {}) => ({
31
30
  // Generate nonce if requested
32
31
  let nonce;
33
32
  if (options.nonce) {
34
- const crypto = require('crypto');
35
33
  nonce = crypto.randomBytes(16).toString('base64');
36
34
  req.cspNonce = nonce;
37
35
  }
@@ -67,5 +65,4 @@ const csp = (options = {}) => ({
67
65
  });
68
66
  },
69
67
  });
70
- exports.csp = csp;
71
68
  //# sourceMappingURL=csp.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"csp.js","sourceRoot":"","sources":["../../../../src/core/middleware/built-in/csp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"csp.js","sourceRoot":"","sources":["../../../../src/core/middleware/built-in/csp.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { MiddlewareInterface } from '../../../types/hooks';
1
+ import { MiddlewareInterface } from '../../../types/hooks.js';
2
2
  export declare const csrf: (options?: {
3
3
  secret?: string;
4
4
  tokenLength?: number;
@@ -1,9 +1,8 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.csrf = void 0;
4
- const logger_1 = require("../../logger");
5
- const logger = (0, logger_1.createFrameworkLogger)('CSRFMiddleware');
6
- const csrf = (options = {}) => ({
1
+ // CSRF Protection Middleware
2
+ import crypto from 'crypto';
3
+ import { createFrameworkLogger } from '../../logger/index.js';
4
+ const logger = createFrameworkLogger('CSRFMiddleware');
5
+ export const csrf = (options = {}) => ({
7
6
  name: 'csrf',
8
7
  version: '1.0.0',
9
8
  metadata: {
@@ -20,7 +19,6 @@ const csrf = (options = {}) => ({
20
19
  const headerName = options.headerName || 'x-csrf-token';
21
20
  const ignoreMethods = options.ignoreMethods || ['GET', 'HEAD', 'OPTIONS'];
22
21
  const generateToken = () => {
23
- const crypto = require('crypto');
24
22
  return crypto.randomBytes(tokenLength).toString('hex');
25
23
  };
26
24
  const verifyToken = (token, sessionToken) => {
@@ -59,5 +57,4 @@ const csrf = (options = {}) => ({
59
57
  });
60
58
  },
61
59
  });
62
- exports.csrf = csrf;
63
60
  //# sourceMappingURL=csrf.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"csrf.js","sourceRoot":"","sources":["../../../../src/core/middleware/built-in/csrf.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"csrf.js","sourceRoot":"","sources":["../../../../src/core/middleware/built-in/csrf.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,7 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.errorTracker = void 0;
4
1
  // Error tracking middleware
5
- const logger_1 = require("../../logger");
6
- const logger = (0, logger_1.createFrameworkLogger)('ErrorTracker');
7
- const errorTracker = async (context) => {
2
+ import { createFrameworkLogger } from '../../logger/index.js';
3
+ const logger = createFrameworkLogger('ErrorTracker');
4
+ export const errorTracker = async (context) => {
8
5
  context.onError = (error) => {
9
6
  logger.error('Request error', 'ErrorTracking', {
10
7
  error: error.message,
@@ -15,5 +12,4 @@ const errorTracker = async (context) => {
15
12
  });
16
13
  };
17
14
  };
18
- exports.errorTracker = errorTracker;
19
15
  //# sourceMappingURL=error-tracker.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"error-tracker.js","sourceRoot":"","sources":["../../../../src/core/middleware/built-in/error-tracker.ts"],"names":[],"mappings":";;;AAAA,4BAA4B;AAC5B,yCAAqD;AAErD,MAAM,MAAM,GAAG,IAAA,8BAAqB,EAAC,cAAc,CAAC,CAAC;AAE9C,MAAM,YAAY,GAAG,KAAK,EAAE,OAAY,EAAiB,EAAE;IAChE,OAAO,CAAC,OAAO,GAAG,CAAC,KAAY,EAAE,EAAE;QACjC,MAAM,CAAC,KAAK,CAAC,eAAe,EAAE,eAAe,EAAE;YAC7C,KAAK,EAAE,KAAK,CAAC,OAAO;YACpB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,GAAG;YACzB,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE,MAAM;YAC/B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC,CAAC;AAVW,QAAA,YAAY,gBAUvB"}
1
+ {"version":3,"file":"error-tracker.js","sourceRoot":"","sources":["../../../../src/core/middleware/built-in/error-tracker.ts"],"names":[],"mappings":"AAAA,4BAA4B;AAC5B,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,MAAM,MAAM,GAAG,qBAAqB,CAAC,cAAc,CAAC,CAAC;AAErD,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAAE,OAAY,EAAiB,EAAE;IAChE,OAAO,CAAC,OAAO,GAAG,CAAC,KAAY,EAAE,EAAE;QACjC,MAAM,CAAC,KAAK,CAAC,eAAe,EAAE,eAAe,EAAE;YAC7C,KAAK,EAAE,KAAK,CAAC,OAAO;YACpB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,GAAG;YACzB,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE,MAAM;YAC/B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC,CAAC"}
@@ -1,33 +1,33 @@
1
- export { auth } from './auth';
2
- export { rateLimit } from './rate-limit';
3
- export { cors } from './cors';
4
- export { validation } from './validation';
5
- export { requestLogger } from './request-logger';
6
- export { performanceMonitor } from './performance-monitor';
7
- export { errorTracker } from './error-tracker';
8
- export { cookie } from './cookie';
9
- export { csrf } from './csrf';
10
- export { csp } from './csp';
11
- export { sse } from './sse';
12
- export { session } from './session';
13
- export { cache } from './cache';
14
- export { cdn } from './cdn';
15
- export { requireAuth, requireRole, requirePermission, requireAdmin, guestOnly, optionalAuth, withAuth, protectedRoute, authUtils, authResponses, sessionHelpers, } from './auth-helpers';
16
- export { safeVerifyJWT, extractJWTFromHeader, createAuthErrorResponse, type JWTVerificationResult, } from './jwt-helpers';
17
- export { extendedProviders, enterpriseProviders, createCustomOAuthProvider, createCustomOIDCProvider, } from './auth-providers';
1
+ export { auth } from './auth.js';
2
+ export { rateLimit } from './rate-limit.js';
3
+ export { cors } from './cors.js';
4
+ export { validation } from './validation.js';
5
+ export { requestLogger } from './request-logger.js';
6
+ export { performanceMonitor } from './performance-monitor.js';
7
+ export { errorTracker } from './error-tracker.js';
8
+ export { cookie } from './cookie.js';
9
+ export { csrf } from './csrf.js';
10
+ export { csp } from './csp.js';
11
+ export { sse } from './sse.js';
12
+ export { session } from './session.js';
13
+ export { cache } from './cache.js';
14
+ export { cdn } from './cdn.js';
15
+ export { requireAuth, requireRole, requirePermission, requireAdmin, guestOnly, optionalAuth, withAuth, protectedRoute, authUtils, authResponses, sessionHelpers, } from './auth-helpers.js';
16
+ export { safeVerifyJWT, extractJWTFromHeader, createAuthErrorResponse, type JWTVerificationResult, } from './jwt-helpers.js';
17
+ export { extendedProviders, enterpriseProviders, createCustomOAuthProvider, createCustomOIDCProvider, } from './auth-providers.js';
18
18
  export declare const builtInMiddleware: {
19
- auth: (options: import("../../..").AuthOptions) => import("..").MiddlewareInterface;
19
+ auth: (options: import("../../../index.js").AuthOptions) => import("../index.js").MiddlewareInterface;
20
20
  rateLimit: (options?: {
21
21
  windowMs?: number;
22
22
  max?: number;
23
23
  message?: string;
24
- }) => import("..").MiddlewareInterface;
25
- cors: (options?: any) => import("..").MiddlewareInterface;
26
- validation: () => import("..").MiddlewareInterface;
24
+ }) => import("../index.js").MiddlewareInterface;
25
+ cors: (options?: any) => import("../index.js").MiddlewareInterface;
26
+ validation: () => import("../index.js").MiddlewareInterface;
27
27
  cookie: (options?: {
28
28
  secret?: string;
29
29
  signed?: boolean;
30
- }) => import("..").MiddlewareInterface;
30
+ }) => import("../index.js").MiddlewareInterface;
31
31
  csrf: (options?: {
32
32
  secret?: string;
33
33
  tokenLength?: number;
@@ -35,7 +35,7 @@ export declare const builtInMiddleware: {
35
35
  headerName?: string;
36
36
  ignoreMethods?: string[];
37
37
  sameSite?: boolean;
38
- }) => import("..").MiddlewareInterface;
38
+ }) => import("../index.js").MiddlewareInterface;
39
39
  csp: (options?: {
40
40
  directives?: {
41
41
  defaultSrc?: string[];
@@ -56,15 +56,15 @@ export declare const builtInMiddleware: {
56
56
  reportOnly?: boolean;
57
57
  reportUri?: string;
58
58
  nonce?: boolean;
59
- }) => import("..").MiddlewareInterface;
59
+ }) => import("../index.js").MiddlewareInterface;
60
60
  sse: (options?: {
61
61
  heartbeat?: number;
62
62
  retry?: number;
63
63
  cors?: boolean;
64
- }) => import("..").MiddlewareInterface;
65
- session: (options?: import("./session").SessionOptions) => import("..").MiddlewareInterface;
66
- cache: (options?: import("../../..").CacheOptions) => import("..").MiddlewareInterface;
67
- cdn: (options?: import("../../..").CDNOptions) => import("..").MiddlewareInterface;
64
+ }) => import("../index.js").MiddlewareInterface;
65
+ session: (options?: import("./session.js").SessionOptions) => import("../index.js").MiddlewareInterface;
66
+ cache: (options?: import("../../../index.js").CacheOptions) => import("../index.js").MiddlewareInterface;
67
+ cdn: (options?: import("../../../index.js").CDNOptions) => import("../index.js").MiddlewareInterface;
68
68
  };
69
69
  export declare const simpleMiddleware: {
70
70
  requestLogger: (context: any) => Promise<void>;
@@ -1,93 +1,58 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.simpleMiddleware = exports.builtInMiddleware = exports.createCustomOIDCProvider = exports.createCustomOAuthProvider = exports.enterpriseProviders = exports.extendedProviders = exports.createAuthErrorResponse = exports.extractJWTFromHeader = exports.safeVerifyJWT = exports.sessionHelpers = exports.authResponses = exports.authUtils = exports.protectedRoute = exports.withAuth = exports.optionalAuth = exports.guestOnly = exports.requireAdmin = exports.requirePermission = exports.requireRole = exports.requireAuth = exports.cdn = exports.cache = exports.session = exports.sse = exports.csp = exports.csrf = exports.cookie = exports.errorTracker = exports.performanceMonitor = exports.requestLogger = exports.validation = exports.cors = exports.rateLimit = exports.auth = void 0;
4
1
  // Built-in Middleware Exports
5
- var auth_1 = require("./auth");
6
- Object.defineProperty(exports, "auth", { enumerable: true, get: function () { return auth_1.auth; } });
7
- var rate_limit_1 = require("./rate-limit");
8
- Object.defineProperty(exports, "rateLimit", { enumerable: true, get: function () { return rate_limit_1.rateLimit; } });
9
- var cors_1 = require("./cors");
10
- Object.defineProperty(exports, "cors", { enumerable: true, get: function () { return cors_1.cors; } });
11
- var validation_1 = require("./validation");
12
- Object.defineProperty(exports, "validation", { enumerable: true, get: function () { return validation_1.validation; } });
13
- var request_logger_1 = require("./request-logger");
14
- Object.defineProperty(exports, "requestLogger", { enumerable: true, get: function () { return request_logger_1.requestLogger; } });
15
- var performance_monitor_1 = require("./performance-monitor");
16
- Object.defineProperty(exports, "performanceMonitor", { enumerable: true, get: function () { return performance_monitor_1.performanceMonitor; } });
17
- var error_tracker_1 = require("./error-tracker");
18
- Object.defineProperty(exports, "errorTracker", { enumerable: true, get: function () { return error_tracker_1.errorTracker; } });
2
+ export { auth } from './auth.js';
3
+ export { rateLimit } from './rate-limit.js';
4
+ export { cors } from './cors.js';
5
+ export { validation } from './validation.js';
6
+ export { requestLogger } from './request-logger.js';
7
+ export { performanceMonitor } from './performance-monitor.js';
8
+ export { errorTracker } from './error-tracker.js';
19
9
  // Advanced Security & Performance Middleware
20
- var cookie_1 = require("./cookie");
21
- Object.defineProperty(exports, "cookie", { enumerable: true, get: function () { return cookie_1.cookie; } });
22
- var csrf_1 = require("./csrf");
23
- Object.defineProperty(exports, "csrf", { enumerable: true, get: function () { return csrf_1.csrf; } });
24
- var csp_1 = require("./csp");
25
- Object.defineProperty(exports, "csp", { enumerable: true, get: function () { return csp_1.csp; } });
26
- var sse_1 = require("./sse");
27
- Object.defineProperty(exports, "sse", { enumerable: true, get: function () { return sse_1.sse; } });
28
- var session_1 = require("./session");
29
- Object.defineProperty(exports, "session", { enumerable: true, get: function () { return session_1.session; } });
10
+ export { cookie } from './cookie.js';
11
+ export { csrf } from './csrf.js';
12
+ export { csp } from './csp.js';
13
+ export { sse } from './sse.js';
14
+ export { session } from './session.js';
30
15
  // Clean Architecture Middleware
31
- var cache_1 = require("./cache");
32
- Object.defineProperty(exports, "cache", { enumerable: true, get: function () { return cache_1.cache; } });
33
- var cdn_1 = require("./cdn");
34
- Object.defineProperty(exports, "cdn", { enumerable: true, get: function () { return cdn_1.cdn; } });
16
+ export { cache } from './cache.js';
17
+ export { cdn } from './cdn.js';
35
18
  // Auth Helpers and Extended Providers
36
- var auth_helpers_1 = require("./auth-helpers");
37
- Object.defineProperty(exports, "requireAuth", { enumerable: true, get: function () { return auth_helpers_1.requireAuth; } });
38
- Object.defineProperty(exports, "requireRole", { enumerable: true, get: function () { return auth_helpers_1.requireRole; } });
39
- Object.defineProperty(exports, "requirePermission", { enumerable: true, get: function () { return auth_helpers_1.requirePermission; } });
40
- Object.defineProperty(exports, "requireAdmin", { enumerable: true, get: function () { return auth_helpers_1.requireAdmin; } });
41
- Object.defineProperty(exports, "guestOnly", { enumerable: true, get: function () { return auth_helpers_1.guestOnly; } });
42
- Object.defineProperty(exports, "optionalAuth", { enumerable: true, get: function () { return auth_helpers_1.optionalAuth; } });
43
- Object.defineProperty(exports, "withAuth", { enumerable: true, get: function () { return auth_helpers_1.withAuth; } });
44
- Object.defineProperty(exports, "protectedRoute", { enumerable: true, get: function () { return auth_helpers_1.protectedRoute; } });
45
- Object.defineProperty(exports, "authUtils", { enumerable: true, get: function () { return auth_helpers_1.authUtils; } });
46
- Object.defineProperty(exports, "authResponses", { enumerable: true, get: function () { return auth_helpers_1.authResponses; } });
47
- Object.defineProperty(exports, "sessionHelpers", { enumerable: true, get: function () { return auth_helpers_1.sessionHelpers; } });
19
+ export { requireAuth, requireRole, requirePermission, requireAdmin, guestOnly, optionalAuth, withAuth, protectedRoute, authUtils, authResponses, sessionHelpers, } from './auth-helpers.js';
48
20
  // JWT Utilities for Custom Middleware
49
- var jwt_helpers_1 = require("./jwt-helpers");
50
- Object.defineProperty(exports, "safeVerifyJWT", { enumerable: true, get: function () { return jwt_helpers_1.safeVerifyJWT; } });
51
- Object.defineProperty(exports, "extractJWTFromHeader", { enumerable: true, get: function () { return jwt_helpers_1.extractJWTFromHeader; } });
52
- Object.defineProperty(exports, "createAuthErrorResponse", { enumerable: true, get: function () { return jwt_helpers_1.createAuthErrorResponse; } });
53
- var auth_providers_1 = require("./auth-providers");
54
- Object.defineProperty(exports, "extendedProviders", { enumerable: true, get: function () { return auth_providers_1.extendedProviders; } });
55
- Object.defineProperty(exports, "enterpriseProviders", { enumerable: true, get: function () { return auth_providers_1.enterpriseProviders; } });
56
- Object.defineProperty(exports, "createCustomOAuthProvider", { enumerable: true, get: function () { return auth_providers_1.createCustomOAuthProvider; } });
57
- Object.defineProperty(exports, "createCustomOIDCProvider", { enumerable: true, get: function () { return auth_providers_1.createCustomOIDCProvider; } });
21
+ export { safeVerifyJWT, extractJWTFromHeader, createAuthErrorResponse, } from './jwt-helpers.js';
22
+ export { extendedProviders, enterpriseProviders, createCustomOAuthProvider, createCustomOIDCProvider, } from './auth-providers.js';
58
23
  // Import for collections
59
- const auth_2 = require("./auth");
60
- const rate_limit_2 = require("./rate-limit");
61
- const cors_2 = require("./cors");
62
- const validation_2 = require("./validation");
63
- const request_logger_2 = require("./request-logger");
64
- const performance_monitor_2 = require("./performance-monitor");
65
- const error_tracker_2 = require("./error-tracker");
66
- const cookie_2 = require("./cookie");
67
- const csrf_2 = require("./csrf");
68
- const csp_2 = require("./csp");
69
- const sse_2 = require("./sse");
70
- const session_2 = require("./session");
71
- const cache_2 = require("./cache");
72
- const cdn_2 = require("./cdn");
73
- exports.builtInMiddleware = {
74
- auth: auth_2.auth,
75
- rateLimit: rate_limit_2.rateLimit,
76
- cors: cors_2.cors,
77
- validation: validation_2.validation,
24
+ import { auth } from './auth.js';
25
+ import { rateLimit } from './rate-limit.js';
26
+ import { cors } from './cors.js';
27
+ import { validation } from './validation.js';
28
+ import { requestLogger } from './request-logger.js';
29
+ import { performanceMonitor } from './performance-monitor.js';
30
+ import { errorTracker } from './error-tracker.js';
31
+ import { cookie } from './cookie.js';
32
+ import { csrf } from './csrf.js';
33
+ import { csp } from './csp.js';
34
+ import { sse } from './sse.js';
35
+ import { session } from './session.js';
36
+ import { cache } from './cache.js';
37
+ import { cdn } from './cdn.js';
38
+ export const builtInMiddleware = {
39
+ auth,
40
+ rateLimit,
41
+ cors,
42
+ validation,
78
43
  // Advanced middleware
79
- cookie: cookie_2.cookie,
80
- csrf: csrf_2.csrf,
81
- csp: csp_2.csp,
82
- sse: sse_2.sse,
83
- session: session_2.session,
44
+ cookie,
45
+ csrf,
46
+ csp,
47
+ sse,
48
+ session,
84
49
  // Clean architecture middleware
85
- cache: cache_2.cache,
86
- cdn: cdn_2.cdn,
50
+ cache,
51
+ cdn,
87
52
  };
88
- exports.simpleMiddleware = {
89
- requestLogger: request_logger_2.requestLogger,
90
- performanceMonitor: performance_monitor_2.performanceMonitor,
91
- errorTracker: error_tracker_2.errorTracker,
53
+ export const simpleMiddleware = {
54
+ requestLogger,
55
+ performanceMonitor,
56
+ errorTracker,
92
57
  };
93
58
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/middleware/built-in/index.ts"],"names":[],"mappings":";;;AAAA,8BAA8B;AAC9B,+BAA8B;AAArB,4FAAA,IAAI,OAAA;AACb,2CAAyC;AAAhC,uGAAA,SAAS,OAAA;AAClB,+BAA8B;AAArB,4FAAA,IAAI,OAAA;AACb,2CAA0C;AAAjC,wGAAA,UAAU,OAAA;AACnB,mDAAiD;AAAxC,+GAAA,aAAa,OAAA;AACtB,6DAA2D;AAAlD,yHAAA,kBAAkB,OAAA;AAC3B,iDAA+C;AAAtC,6GAAA,YAAY,OAAA;AAErB,6CAA6C;AAC7C,mCAAkC;AAAzB,gGAAA,MAAM,OAAA;AACf,+BAA8B;AAArB,4FAAA,IAAI,OAAA;AACb,6BAA4B;AAAnB,0FAAA,GAAG,OAAA;AACZ,6BAA4B;AAAnB,0FAAA,GAAG,OAAA;AACZ,qCAAoC;AAA3B,kGAAA,OAAO,OAAA;AAEhB,gCAAgC;AAChC,iCAAgC;AAAvB,8FAAA,KAAK,OAAA;AACd,6BAA4B;AAAnB,0FAAA,GAAG,OAAA;AAEZ,sCAAsC;AACtC,+CAYwB;AAXtB,2GAAA,WAAW,OAAA;AACX,2GAAA,WAAW,OAAA;AACX,iHAAA,iBAAiB,OAAA;AACjB,4GAAA,YAAY,OAAA;AACZ,yGAAA,SAAS,OAAA;AACT,4GAAA,YAAY,OAAA;AACZ,wGAAA,QAAQ,OAAA;AACR,8GAAA,cAAc,OAAA;AACd,yGAAA,SAAS,OAAA;AACT,6GAAA,aAAa,OAAA;AACb,8GAAA,cAAc,OAAA;AAGhB,sCAAsC;AACtC,6CAKuB;AAJrB,4GAAA,aAAa,OAAA;AACb,mHAAA,oBAAoB,OAAA;AACpB,sHAAA,uBAAuB,OAAA;AAIzB,mDAK0B;AAJxB,mHAAA,iBAAiB,OAAA;AACjB,qHAAA,mBAAmB,OAAA;AACnB,2HAAA,yBAAyB,OAAA;AACzB,0HAAA,wBAAwB,OAAA;AAG1B,yBAAyB;AACzB,iCAA8B;AAC9B,6CAAyC;AACzC,iCAA8B;AAC9B,6CAA0C;AAC1C,qDAAiD;AACjD,+DAA2D;AAC3D,mDAA+C;AAC/C,qCAAkC;AAClC,iCAA8B;AAC9B,+BAA4B;AAC5B,+BAA4B;AAC5B,uCAAoC;AACpC,mCAAgC;AAChC,+BAA4B;AAEf,QAAA,iBAAiB,GAAG;IAC/B,IAAI,EAAJ,WAAI;IACJ,SAAS,EAAT,sBAAS;IACT,IAAI,EAAJ,WAAI;IACJ,UAAU,EAAV,uBAAU;IACV,sBAAsB;IACtB,MAAM,EAAN,eAAM;IACN,IAAI,EAAJ,WAAI;IACJ,GAAG,EAAH,SAAG;IACH,GAAG,EAAH,SAAG;IACH,OAAO,EAAP,iBAAO;IACP,gCAAgC;IAChC,KAAK,EAAL,aAAK;IACL,GAAG,EAAH,SAAG;CACJ,CAAC;AAEW,QAAA,gBAAgB,GAAG;IAC9B,aAAa,EAAb,8BAAa;IACb,kBAAkB,EAAlB,wCAAkB;IAClB,YAAY,EAAZ,4BAAY;CACb,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/middleware/built-in/index.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAC9B,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,6CAA6C;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,gCAAgC;AAChC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAE/B,sCAAsC;AACtC,OAAO,EACL,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,QAAQ,EACR,cAAc,EACd,SAAS,EACT,aAAa,EACb,cAAc,GACf,MAAM,mBAAmB,CAAC;AAE3B,sCAAsC;AACtC,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,uBAAuB,GAExB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,yBAAyB,EACzB,wBAAwB,GACzB,MAAM,qBAAqB,CAAC;AAE7B,yBAAyB;AACzB,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAE/B,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,IAAI;IACJ,SAAS;IACT,IAAI;IACJ,UAAU;IACV,sBAAsB;IACtB,MAAM;IACN,IAAI;IACJ,GAAG;IACH,GAAG;IACH,OAAO;IACP,gCAAgC;IAChC,KAAK;IACL,GAAG;CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,aAAa;IACb,kBAAkB;IAClB,YAAY;CACb,CAAC"}
@@ -22,7 +22,7 @@ export interface JWTVerificationResult {
22
22
  * @param options - Additional JWT verification options
23
23
  * @returns JWTVerificationResult with success status and payload or error details
24
24
  */
25
- export declare function safeVerifyJWT(token: string, secret: string, options?: any): JWTVerificationResult;
25
+ export declare function safeVerifyJWT(token: string, secret: string, options?: any): Promise<JWTVerificationResult>;
26
26
  /**
27
27
  * Extract JWT token from Authorization header
28
28
  *
@@ -56,7 +56,7 @@ export declare function createAuthErrorResponse(error: JWTVerificationResult['er
56
56
  expiredAt?: undefined;
57
57
  };
58
58
  /**
59
- * Example usage for custom middleware:
59
+ * Example usage for custom middleware with elegant error handling:
60
60
  *
61
61
  * ```typescript
62
62
  * import { safeVerifyJWT, extractJWTFromHeader, createAuthErrorResponse } from '@morojs/moro';
@@ -75,6 +75,7 @@ export declare function createAuthErrorResponse(error: JWTVerificationResult['er
75
75
  * const result = safeVerifyJWT(token, process.env.JWT_SECRET!);
76
76
  *
77
77
  * if (!result.success) {
78
+ * // This provides elegant, user-friendly error messages instead of stack traces
78
79
  * const errorResponse = createAuthErrorResponse(result.error);
79
80
  * return res.status(401).json(errorResponse);
80
81
  * }
@@ -90,4 +91,28 @@ export declare function createAuthErrorResponse(error: JWTVerificationResult['er
90
91
  * next();
91
92
  * };
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
+ * ```
93
118
  */
@@ -1,14 +1,10 @@
1
- "use strict";
2
1
  /**
3
2
  * JWT Error Handling Utilities for Custom Middleware
4
3
  *
5
4
  * This module provides utilities to help users handle JWT errors gracefully
6
5
  * in their custom authentication middleware.
7
6
  */
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.safeVerifyJWT = safeVerifyJWT;
10
- exports.extractJWTFromHeader = extractJWTFromHeader;
11
- exports.createAuthErrorResponse = createAuthErrorResponse;
7
+ import { resolveUserPackage } from '../../utilities/package-utils.js';
12
8
  /**
13
9
  * Safely verify a JWT token with proper error handling
14
10
  *
@@ -17,11 +13,12 @@ exports.createAuthErrorResponse = createAuthErrorResponse;
17
13
  * @param options - Additional JWT verification options
18
14
  * @returns JWTVerificationResult with success status and payload or error details
19
15
  */
20
- function safeVerifyJWT(token, secret, options = {}) {
16
+ export async function safeVerifyJWT(token, secret, options = {}) {
21
17
  // Check if jsonwebtoken is available
22
18
  let jwt;
23
19
  try {
24
- jwt = require('jsonwebtoken');
20
+ const jwtPath = resolveUserPackage('jsonwebtoken');
21
+ jwt = await import(jwtPath);
25
22
  }
26
23
  catch (error) {
27
24
  return {
@@ -98,7 +95,7 @@ function safeVerifyJWT(token, secret, options = {}) {
98
95
  * @param authHeader - The Authorization header value
99
96
  * @returns The JWT token or null if not found/invalid format
100
97
  */
101
- function extractJWTFromHeader(authHeader) {
98
+ export function extractJWTFromHeader(authHeader) {
102
99
  if (!authHeader) {
103
100
  return null;
104
101
  }
@@ -114,7 +111,7 @@ function extractJWTFromHeader(authHeader) {
114
111
  * @param error - The JWT verification error
115
112
  * @returns Standardized error response object
116
113
  */
117
- function createAuthErrorResponse(error) {
114
+ export function createAuthErrorResponse(error) {
118
115
  if (!error) {
119
116
  return {
120
117
  success: false,
@@ -158,7 +155,7 @@ function createAuthErrorResponse(error) {
158
155
  }
159
156
  }
160
157
  /**
161
- * Example usage for custom middleware:
158
+ * Example usage for custom middleware with elegant error handling:
162
159
  *
163
160
  * ```typescript
164
161
  * import { safeVerifyJWT, extractJWTFromHeader, createAuthErrorResponse } from '@morojs/moro';
@@ -177,6 +174,7 @@ function createAuthErrorResponse(error) {
177
174
  * const result = safeVerifyJWT(token, process.env.JWT_SECRET!);
178
175
  *
179
176
  * if (!result.success) {
177
+ * // This provides elegant, user-friendly error messages instead of stack traces
180
178
  * const errorResponse = createAuthErrorResponse(result.error);
181
179
  * return res.status(401).json(errorResponse);
182
180
  * }
@@ -192,5 +190,29 @@ function createAuthErrorResponse(error) {
192
190
  * next();
193
191
  * };
194
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
+ * ```
195
217
  */
196
218
  //# sourceMappingURL=jwt-helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"jwt-helpers.js","sourceRoot":"","sources":["../../../../src/core/middleware/built-in/jwt-helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jwt-helpers.js","sourceRoot":"","sources":["../../../../src/core/middleware/built-in/jwt-helpers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAatE;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,KAAa,EACb,MAAc,EACd,UAAe,EAAE;IAEjB,qCAAqC;IACrC,IAAI,GAAQ,CAAC;IACb,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,kBAAkB,CAAC,cAAc,CAAC,CAAC;QACnD,GAAG,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE;gBACL,IAAI,EAAE,gBAAgB;gBACtB,OAAO,EACL,wDAAwD;oBACxD,sEAAsE;aACzE;SACF,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE;gBACL,IAAI,EAAE,gBAAgB;gBACtB,OAAO,EACL,sCAAsC;oBACtC,iDAAiD;aACpD;SACF,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QACnD,OAAO;YACL,OAAO,EAAE,IAAI;YACb,OAAO;SACR,CAAC;IACJ,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,wCAAwC;QACxC,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;YACvC,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE;oBACL,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,uBAAuB;oBAChC,SAAS,EAAE,KAAK,CAAC,SAAS;iBAC3B;aACF,CAAC;QACJ,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;YAC9C,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE;oBACL,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,uCAAuC;iBACjD;aACF,CAAC;QACJ,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;YAC3C,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE;oBACL,IAAI,EAAE,WAAW;oBACjB,OAAO,EAAE,6BAA6B;oBACtC,IAAI,EAAE,KAAK,CAAC,IAAI;iBACjB;aACF,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE;oBACL,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,4BAA4B,KAAK,CAAC,OAAO,EAAE;iBACrD;aACF,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,UAA8B;IACjE,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QACtC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,KAAK,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACtC,OAAO,KAAK,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC;AAC9B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CAAC,KAAqC;IAC3E,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,uBAAuB;YAC9B,OAAO,EAAE,8BAA8B;SACxC,CAAC;IACJ,CAAC;IAED,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,SAAS;YACZ,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,eAAe;gBACtB,OAAO,EAAE,iDAAiD;gBAC1D,SAAS,EAAE,KAAK,CAAC,SAAS;aAC3B,CAAC;QAEJ,KAAK,SAAS;YACZ,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,eAAe;gBACtB,OAAO,EAAE,+CAA+C;aACzD,CAAC;QAEJ,KAAK,WAAW;YACd,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,iBAAiB;gBACxB,OAAO,EAAE,4CAA4C;gBACrD,WAAW,EAAE,KAAK,CAAC,IAAI;aACxB,CAAC;QAEJ,KAAK,gBAAgB;YACnB,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,qBAAqB;gBAC5B,OAAO,EAAE,oDAAoD;aAC9D,CAAC;QAEJ;YACE,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,uBAAuB;gBAC9B,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,qCAAqC;aAChE,CAAC;IACN,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4DG"}