stratal 0.0.1

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 (867) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +50 -0
  3. package/dist/application.d.ts +118 -0
  4. package/dist/application.d.ts.map +1 -0
  5. package/dist/application.js +247 -0
  6. package/dist/application.js.map +1 -0
  7. package/dist/cache/cache.module.d.ts +14 -0
  8. package/dist/cache/cache.module.d.ts.map +1 -0
  9. package/dist/cache/cache.module.js +32 -0
  10. package/dist/cache/cache.module.js.map +1 -0
  11. package/dist/cache/cache.tokens.d.ts +5 -0
  12. package/dist/cache/cache.tokens.d.ts.map +1 -0
  13. package/dist/cache/cache.tokens.js +4 -0
  14. package/dist/cache/cache.tokens.js.map +1 -0
  15. package/dist/cache/errors/cache-delete.error.d.ts +11 -0
  16. package/dist/cache/errors/cache-delete.error.d.ts.map +1 -0
  17. package/dist/cache/errors/cache-delete.error.js +14 -0
  18. package/dist/cache/errors/cache-delete.error.js.map +1 -0
  19. package/dist/cache/errors/cache-get.error.d.ts +11 -0
  20. package/dist/cache/errors/cache-get.error.d.ts.map +1 -0
  21. package/dist/cache/errors/cache-get.error.js +14 -0
  22. package/dist/cache/errors/cache-get.error.js.map +1 -0
  23. package/dist/cache/errors/cache-list.error.d.ts +10 -0
  24. package/dist/cache/errors/cache-list.error.d.ts.map +1 -0
  25. package/dist/cache/errors/cache-list.error.js +13 -0
  26. package/dist/cache/errors/cache-list.error.js.map +1 -0
  27. package/dist/cache/errors/cache-put.error.d.ts +11 -0
  28. package/dist/cache/errors/cache-put.error.d.ts.map +1 -0
  29. package/dist/cache/errors/cache-put.error.js +14 -0
  30. package/dist/cache/errors/cache-put.error.js.map +1 -0
  31. package/dist/cache/errors/index.d.ts +5 -0
  32. package/dist/cache/errors/index.d.ts.map +1 -0
  33. package/dist/cache/errors/index.js +5 -0
  34. package/dist/cache/errors/index.js.map +1 -0
  35. package/dist/cache/index.d.ts +5 -0
  36. package/dist/cache/index.d.ts.map +1 -0
  37. package/dist/cache/index.js +5 -0
  38. package/dist/cache/index.js.map +1 -0
  39. package/dist/cache/services/cache.service.d.ts +152 -0
  40. package/dist/cache/services/cache.service.d.ts.map +1 -0
  41. package/dist/cache/services/cache.service.js +223 -0
  42. package/dist/cache/services/cache.service.js.map +1 -0
  43. package/dist/cache/services/index.d.ts +2 -0
  44. package/dist/cache/services/index.d.ts.map +1 -0
  45. package/dist/cache/services/index.js +2 -0
  46. package/dist/cache/services/index.js.map +1 -0
  47. package/dist/config/config.module.d.ts +79 -0
  48. package/dist/config/config.module.d.ts.map +1 -0
  49. package/dist/config/config.module.js +120 -0
  50. package/dist/config/config.module.js.map +1 -0
  51. package/dist/config/config.tokens.d.ts +4 -0
  52. package/dist/config/config.tokens.d.ts.map +1 -0
  53. package/dist/config/config.tokens.js +4 -0
  54. package/dist/config/config.tokens.js.map +1 -0
  55. package/dist/config/config.types.d.ts +68 -0
  56. package/dist/config/config.types.d.ts.map +1 -0
  57. package/dist/config/config.types.js +9 -0
  58. package/dist/config/config.types.js.map +1 -0
  59. package/dist/config/errors/config-not-initialized.error.d.ts +12 -0
  60. package/dist/config/errors/config-not-initialized.error.d.ts.map +1 -0
  61. package/dist/config/errors/config-not-initialized.error.js +15 -0
  62. package/dist/config/errors/config-not-initialized.error.js.map +1 -0
  63. package/dist/config/errors/index.d.ts +2 -0
  64. package/dist/config/errors/index.d.ts.map +1 -0
  65. package/dist/config/errors/index.js +2 -0
  66. package/dist/config/errors/index.js.map +1 -0
  67. package/dist/config/index.d.ts +7 -0
  68. package/dist/config/index.d.ts.map +1 -0
  69. package/dist/config/index.js +9 -0
  70. package/dist/config/index.js.map +1 -0
  71. package/dist/config/register-as.d.ts +62 -0
  72. package/dist/config/register-as.d.ts.map +1 -0
  73. package/dist/config/register-as.js +48 -0
  74. package/dist/config/register-as.js.map +1 -0
  75. package/dist/config/services/config.service.d.ts +58 -0
  76. package/dist/config/services/config.service.d.ts.map +1 -0
  77. package/dist/config/services/config.service.js +123 -0
  78. package/dist/config/services/config.service.js.map +1 -0
  79. package/dist/cron/cron-job.d.ts +55 -0
  80. package/dist/cron/cron-job.d.ts.map +1 -0
  81. package/dist/cron/cron-job.js +2 -0
  82. package/dist/cron/cron-job.js.map +1 -0
  83. package/dist/cron/cron-manager.d.ts +60 -0
  84. package/dist/cron/cron-manager.d.ts.map +1 -0
  85. package/dist/cron/cron-manager.js +120 -0
  86. package/dist/cron/cron-manager.js.map +1 -0
  87. package/dist/cron/errors/cron-execution.error.d.ts +10 -0
  88. package/dist/cron/errors/cron-execution.error.d.ts.map +1 -0
  89. package/dist/cron/errors/cron-execution.error.js +17 -0
  90. package/dist/cron/errors/cron-execution.error.js.map +1 -0
  91. package/dist/cron/index.d.ts +4 -0
  92. package/dist/cron/index.d.ts.map +1 -0
  93. package/dist/cron/index.js +3 -0
  94. package/dist/cron/index.js.map +1 -0
  95. package/dist/di/conditional-binding-builder.d.ts +93 -0
  96. package/dist/di/conditional-binding-builder.d.ts.map +1 -0
  97. package/dist/di/conditional-binding-builder.js +115 -0
  98. package/dist/di/conditional-binding-builder.js.map +1 -0
  99. package/dist/di/container.d.ts +399 -0
  100. package/dist/di/container.d.ts.map +1 -0
  101. package/dist/di/container.js +466 -0
  102. package/dist/di/container.js.map +1 -0
  103. package/dist/di/decorators/inject-param.decorator.d.ts +67 -0
  104. package/dist/di/decorators/inject-param.decorator.d.ts.map +1 -0
  105. package/dist/di/decorators/inject-param.decorator.js +53 -0
  106. package/dist/di/decorators/inject-param.decorator.js.map +1 -0
  107. package/dist/di/decorators.d.ts +57 -0
  108. package/dist/di/decorators.d.ts.map +1 -0
  109. package/dist/di/decorators.js +74 -0
  110. package/dist/di/decorators.js.map +1 -0
  111. package/dist/di/errors/conditional-binding-fallback.error.d.ts +16 -0
  112. package/dist/di/errors/conditional-binding-fallback.error.d.ts.map +1 -0
  113. package/dist/di/errors/conditional-binding-fallback.error.js +19 -0
  114. package/dist/di/errors/conditional-binding-fallback.error.js.map +1 -0
  115. package/dist/di/errors/index.d.ts +3 -0
  116. package/dist/di/errors/index.d.ts.map +1 -0
  117. package/dist/di/errors/index.js +3 -0
  118. package/dist/di/errors/index.js.map +1 -0
  119. package/dist/di/errors/request-scope-operation-not-allowed.error.d.ts +12 -0
  120. package/dist/di/errors/request-scope-operation-not-allowed.error.d.ts.map +1 -0
  121. package/dist/di/errors/request-scope-operation-not-allowed.error.js +15 -0
  122. package/dist/di/errors/request-scope-operation-not-allowed.error.js.map +1 -0
  123. package/dist/di/index.d.ts +13 -0
  124. package/dist/di/index.d.ts.map +1 -0
  125. package/dist/di/index.js +11 -0
  126. package/dist/di/index.js.map +1 -0
  127. package/dist/di/request-context-store.d.ts +122 -0
  128. package/dist/di/request-context-store.d.ts.map +1 -0
  129. package/dist/di/request-context-store.js +135 -0
  130. package/dist/di/request-context-store.js.map +1 -0
  131. package/dist/di/tokens.d.ts +25 -0
  132. package/dist/di/tokens.d.ts.map +1 -0
  133. package/dist/di/tokens.js +27 -0
  134. package/dist/di/tokens.js.map +1 -0
  135. package/dist/di/types.d.ts +56 -0
  136. package/dist/di/types.d.ts.map +1 -0
  137. package/dist/di/types.js +34 -0
  138. package/dist/di/types.js.map +1 -0
  139. package/dist/email/consumers/email.consumer.d.ts +43 -0
  140. package/dist/email/consumers/email.consumer.d.ts.map +1 -0
  141. package/dist/email/consumers/email.consumer.js +133 -0
  142. package/dist/email/consumers/email.consumer.js.map +1 -0
  143. package/dist/email/consumers/index.d.ts +2 -0
  144. package/dist/email/consumers/index.d.ts.map +1 -0
  145. package/dist/email/consumers/index.js +2 -0
  146. package/dist/email/consumers/index.js.map +1 -0
  147. package/dist/email/contracts/email-attachment.d.ts +61 -0
  148. package/dist/email/contracts/email-attachment.d.ts.map +1 -0
  149. package/dist/email/contracts/email-attachment.js +58 -0
  150. package/dist/email/contracts/email-attachment.js.map +1 -0
  151. package/dist/email/contracts/email-message.contract.d.ts +58 -0
  152. package/dist/email/contracts/email-message.contract.d.ts.map +1 -0
  153. package/dist/email/contracts/email-message.contract.js +62 -0
  154. package/dist/email/contracts/email-message.contract.js.map +1 -0
  155. package/dist/email/contracts/index.d.ts +4 -0
  156. package/dist/email/contracts/index.d.ts.map +1 -0
  157. package/dist/email/contracts/index.js +4 -0
  158. package/dist/email/contracts/index.js.map +1 -0
  159. package/dist/email/contracts/send-email.input.d.ts +72 -0
  160. package/dist/email/contracts/send-email.input.d.ts.map +1 -0
  161. package/dist/email/contracts/send-email.input.js +28 -0
  162. package/dist/email/contracts/send-email.input.js.map +1 -0
  163. package/dist/email/email.module.d.ts +122 -0
  164. package/dist/email/email.module.d.ts.map +1 -0
  165. package/dist/email/email.module.js +129 -0
  166. package/dist/email/email.module.js.map +1 -0
  167. package/dist/email/email.tokens.d.ts +33 -0
  168. package/dist/email/email.tokens.d.ts.map +1 -0
  169. package/dist/email/email.tokens.js +33 -0
  170. package/dist/email/email.tokens.js.map +1 -0
  171. package/dist/email/errors/email-provider-not-supported.error.d.ts +13 -0
  172. package/dist/email/errors/email-provider-not-supported.error.d.ts.map +1 -0
  173. package/dist/email/errors/email-provider-not-supported.error.js +15 -0
  174. package/dist/email/errors/email-provider-not-supported.error.js.map +1 -0
  175. package/dist/email/errors/email-resend-api-failed.error.d.ts +13 -0
  176. package/dist/email/errors/email-resend-api-failed.error.d.ts.map +1 -0
  177. package/dist/email/errors/email-resend-api-failed.error.js +15 -0
  178. package/dist/email/errors/email-resend-api-failed.error.js.map +1 -0
  179. package/dist/email/errors/email-smtp-connection-failed.error.d.ts +13 -0
  180. package/dist/email/errors/email-smtp-connection-failed.error.d.ts.map +1 -0
  181. package/dist/email/errors/email-smtp-connection-failed.error.js +15 -0
  182. package/dist/email/errors/email-smtp-connection-failed.error.js.map +1 -0
  183. package/dist/email/errors/index.d.ts +7 -0
  184. package/dist/email/errors/index.d.ts.map +1 -0
  185. package/dist/email/errors/index.js +7 -0
  186. package/dist/email/errors/index.js.map +1 -0
  187. package/dist/email/errors/resend-api-key-missing.error.d.ts +13 -0
  188. package/dist/email/errors/resend-api-key-missing.error.d.ts.map +1 -0
  189. package/dist/email/errors/resend-api-key-missing.error.js +15 -0
  190. package/dist/email/errors/resend-api-key-missing.error.js.map +1 -0
  191. package/dist/email/errors/smtp-configuration-missing.error.d.ts +13 -0
  192. package/dist/email/errors/smtp-configuration-missing.error.d.ts.map +1 -0
  193. package/dist/email/errors/smtp-configuration-missing.error.js +15 -0
  194. package/dist/email/errors/smtp-configuration-missing.error.js.map +1 -0
  195. package/dist/email/errors/smtp-host-missing.error.d.ts +13 -0
  196. package/dist/email/errors/smtp-host-missing.error.d.ts.map +1 -0
  197. package/dist/email/errors/smtp-host-missing.error.js +15 -0
  198. package/dist/email/errors/smtp-host-missing.error.js.map +1 -0
  199. package/dist/email/index.d.ts +6 -0
  200. package/dist/email/index.d.ts.map +1 -0
  201. package/dist/email/index.js +8 -0
  202. package/dist/email/index.js.map +1 -0
  203. package/dist/email/providers/base-email.provider.d.ts +22 -0
  204. package/dist/email/providers/base-email.provider.d.ts.map +1 -0
  205. package/dist/email/providers/base-email.provider.js +43 -0
  206. package/dist/email/providers/base-email.provider.js.map +1 -0
  207. package/dist/email/providers/email-provider.interface.d.ts +66 -0
  208. package/dist/email/providers/email-provider.interface.d.ts.map +1 -0
  209. package/dist/email/providers/email-provider.interface.js +2 -0
  210. package/dist/email/providers/email-provider.interface.js.map +1 -0
  211. package/dist/email/providers/index.d.ts +5 -0
  212. package/dist/email/providers/index.d.ts.map +1 -0
  213. package/dist/email/providers/index.js +5 -0
  214. package/dist/email/providers/index.js.map +1 -0
  215. package/dist/email/providers/resend.provider.d.ts +26 -0
  216. package/dist/email/providers/resend.provider.d.ts.map +1 -0
  217. package/dist/email/providers/resend.provider.js +84 -0
  218. package/dist/email/providers/resend.provider.js.map +1 -0
  219. package/dist/email/providers/smtp.provider.d.ts +25 -0
  220. package/dist/email/providers/smtp.provider.d.ts.map +1 -0
  221. package/dist/email/providers/smtp.provider.js +86 -0
  222. package/dist/email/providers/smtp.provider.js.map +1 -0
  223. package/dist/email/services/email-provider-factory.d.ts +24 -0
  224. package/dist/email/services/email-provider-factory.d.ts.map +1 -0
  225. package/dist/email/services/email-provider-factory.js +59 -0
  226. package/dist/email/services/email-provider-factory.js.map +1 -0
  227. package/dist/email/services/email.service.d.ts +51 -0
  228. package/dist/email/services/email.service.d.ts.map +1 -0
  229. package/dist/email/services/email.service.js +75 -0
  230. package/dist/email/services/email.service.js.map +1 -0
  231. package/dist/email/services/index.d.ts +3 -0
  232. package/dist/email/services/index.d.ts.map +1 -0
  233. package/dist/email/services/index.js +3 -0
  234. package/dist/email/services/index.js.map +1 -0
  235. package/dist/env.d.ts +21 -0
  236. package/dist/env.d.ts.map +1 -0
  237. package/dist/env.js +2 -0
  238. package/dist/env.js.map +1 -0
  239. package/dist/errors/application-error.d.ts +80 -0
  240. package/dist/errors/application-error.d.ts.map +1 -0
  241. package/dist/errors/application-error.js +118 -0
  242. package/dist/errors/application-error.js.map +1 -0
  243. package/dist/errors/error-codes.d.ts +198 -0
  244. package/dist/errors/error-codes.d.ts.map +1 -0
  245. package/dist/errors/error-codes.js +180 -0
  246. package/dist/errors/error-codes.js.map +1 -0
  247. package/dist/errors/get-http-status.d.ts +12 -0
  248. package/dist/errors/get-http-status.d.ts.map +1 -0
  249. package/dist/errors/get-http-status.js +62 -0
  250. package/dist/errors/get-http-status.js.map +1 -0
  251. package/dist/errors/index.d.ts +5 -0
  252. package/dist/errors/index.d.ts.map +1 -0
  253. package/dist/errors/index.js +5 -0
  254. package/dist/errors/index.js.map +1 -0
  255. package/dist/errors/is-application-error.d.ts +9 -0
  256. package/dist/errors/is-application-error.d.ts.map +1 -0
  257. package/dist/errors/is-application-error.js +11 -0
  258. package/dist/errors/is-application-error.js.map +1 -0
  259. package/dist/guards/guard-execution.service.d.ts +37 -0
  260. package/dist/guards/guard-execution.service.d.ts.map +1 -0
  261. package/dist/guards/guard-execution.service.js +74 -0
  262. package/dist/guards/guard-execution.service.js.map +1 -0
  263. package/dist/guards/index.d.ts +12 -0
  264. package/dist/guards/index.d.ts.map +1 -0
  265. package/dist/guards/index.js +12 -0
  266. package/dist/guards/index.js.map +1 -0
  267. package/dist/guards/types.d.ts +60 -0
  268. package/dist/guards/types.d.ts.map +1 -0
  269. package/dist/guards/types.js +5 -0
  270. package/dist/guards/types.js.map +1 -0
  271. package/dist/guards/use-guards.decorator.d.ts +73 -0
  272. package/dist/guards/use-guards.decorator.d.ts.map +1 -0
  273. package/dist/guards/use-guards.decorator.js +89 -0
  274. package/dist/guards/use-guards.decorator.js.map +1 -0
  275. package/dist/i18n/errors/index.d.ts +6 -0
  276. package/dist/i18n/errors/index.d.ts.map +1 -0
  277. package/dist/i18n/errors/index.js +6 -0
  278. package/dist/i18n/errors/index.js.map +1 -0
  279. package/dist/i18n/errors/locale-not-supported.error.d.ts +12 -0
  280. package/dist/i18n/errors/locale-not-supported.error.d.ts.map +1 -0
  281. package/dist/i18n/errors/locale-not-supported.error.js +15 -0
  282. package/dist/i18n/errors/locale-not-supported.error.js.map +1 -0
  283. package/dist/i18n/errors/translation-missing.error.d.ts +12 -0
  284. package/dist/i18n/errors/translation-missing.error.d.ts.map +1 -0
  285. package/dist/i18n/errors/translation-missing.error.js +15 -0
  286. package/dist/i18n/errors/translation-missing.error.js.map +1 -0
  287. package/dist/i18n/i18n.module.d.ts +60 -0
  288. package/dist/i18n/i18n.module.d.ts.map +1 -0
  289. package/dist/i18n/i18n.module.js +103 -0
  290. package/dist/i18n/i18n.module.js.map +1 -0
  291. package/dist/i18n/i18n.options.d.ts +60 -0
  292. package/dist/i18n/i18n.options.d.ts.map +1 -0
  293. package/dist/i18n/i18n.options.js +18 -0
  294. package/dist/i18n/i18n.options.js.map +1 -0
  295. package/dist/i18n/i18n.tokens.d.ts +13 -0
  296. package/dist/i18n/i18n.tokens.d.ts.map +1 -0
  297. package/dist/i18n/i18n.tokens.js +13 -0
  298. package/dist/i18n/i18n.tokens.js.map +1 -0
  299. package/dist/i18n/i18n.types.d.ts +78 -0
  300. package/dist/i18n/i18n.types.d.ts.map +1 -0
  301. package/dist/i18n/i18n.types.js +8 -0
  302. package/dist/i18n/i18n.types.js.map +1 -0
  303. package/dist/i18n/index.d.ts +12 -0
  304. package/dist/i18n/index.d.ts.map +1 -0
  305. package/dist/i18n/index.js +12 -0
  306. package/dist/i18n/index.js.map +1 -0
  307. package/dist/i18n/messages/en/common.d.ts +23 -0
  308. package/dist/i18n/messages/en/common.d.ts.map +1 -0
  309. package/dist/i18n/messages/en/common.js +23 -0
  310. package/dist/i18n/messages/en/common.js.map +1 -0
  311. package/dist/i18n/messages/en/emails.d.ts +12 -0
  312. package/dist/i18n/messages/en/emails.d.ts.map +1 -0
  313. package/dist/i18n/messages/en/emails.js +12 -0
  314. package/dist/i18n/messages/en/emails.js.map +1 -0
  315. package/dist/i18n/messages/en/errors.d.ts +115 -0
  316. package/dist/i18n/messages/en/errors.d.ts.map +1 -0
  317. package/dist/i18n/messages/en/errors.js +132 -0
  318. package/dist/i18n/messages/en/errors.js.map +1 -0
  319. package/dist/i18n/messages/en/index.d.ts +13 -0
  320. package/dist/i18n/messages/en/index.d.ts.map +1 -0
  321. package/dist/i18n/messages/en/index.js +13 -0
  322. package/dist/i18n/messages/en/index.js.map +1 -0
  323. package/dist/i18n/messages/en/validation.d.ts +38 -0
  324. package/dist/i18n/messages/en/validation.d.ts.map +1 -0
  325. package/dist/i18n/messages/en/validation.js +38 -0
  326. package/dist/i18n/messages/en/validation.js.map +1 -0
  327. package/dist/i18n/messages/en/zod.d.ts +125 -0
  328. package/dist/i18n/messages/en/zod.d.ts.map +1 -0
  329. package/dist/i18n/messages/en/zod.js +132 -0
  330. package/dist/i18n/messages/en/zod.js.map +1 -0
  331. package/dist/i18n/messages/index.d.ts +27 -0
  332. package/dist/i18n/messages/index.d.ts.map +1 -0
  333. package/dist/i18n/messages/index.js +25 -0
  334. package/dist/i18n/messages/index.js.map +1 -0
  335. package/dist/i18n/middleware/i18n-context.middleware.d.ts +15 -0
  336. package/dist/i18n/middleware/i18n-context.middleware.d.ts.map +1 -0
  337. package/dist/i18n/middleware/i18n-context.middleware.js +42 -0
  338. package/dist/i18n/middleware/i18n-context.middleware.js.map +1 -0
  339. package/dist/i18n/middleware/index.d.ts +6 -0
  340. package/dist/i18n/middleware/index.d.ts.map +1 -0
  341. package/dist/i18n/middleware/index.js +6 -0
  342. package/dist/i18n/middleware/index.js.map +1 -0
  343. package/dist/i18n/middleware/locale-extraction.middleware.d.ts +19 -0
  344. package/dist/i18n/middleware/locale-extraction.middleware.d.ts.map +1 -0
  345. package/dist/i18n/middleware/locale-extraction.middleware.js +49 -0
  346. package/dist/i18n/middleware/locale-extraction.middleware.js.map +1 -0
  347. package/dist/i18n/services/i18n.service.d.ts +62 -0
  348. package/dist/i18n/services/i18n.service.d.ts.map +1 -0
  349. package/dist/i18n/services/i18n.service.js +118 -0
  350. package/dist/i18n/services/i18n.service.js.map +1 -0
  351. package/dist/i18n/services/message-loader.service.d.ts +47 -0
  352. package/dist/i18n/services/message-loader.service.d.ts.map +1 -0
  353. package/dist/i18n/services/message-loader.service.js +121 -0
  354. package/dist/i18n/services/message-loader.service.js.map +1 -0
  355. package/dist/i18n/setup.d.ts +27 -0
  356. package/dist/i18n/setup.d.ts.map +1 -0
  357. package/dist/i18n/setup.js +40 -0
  358. package/dist/i18n/setup.js.map +1 -0
  359. package/dist/i18n/validation/index.d.ts +9 -0
  360. package/dist/i18n/validation/index.d.ts.map +1 -0
  361. package/dist/i18n/validation/index.js +10 -0
  362. package/dist/i18n/validation/index.js.map +1 -0
  363. package/dist/i18n/validation/validation.context.d.ts +34 -0
  364. package/dist/i18n/validation/validation.context.d.ts.map +1 -0
  365. package/dist/i18n/validation/validation.context.js +42 -0
  366. package/dist/i18n/validation/validation.context.js.map +1 -0
  367. package/dist/i18n/validation/validation.error-map.d.ts +8 -0
  368. package/dist/i18n/validation/validation.error-map.d.ts.map +1 -0
  369. package/dist/i18n/validation/validation.error-map.js +158 -0
  370. package/dist/i18n/validation/validation.error-map.js.map +1 -0
  371. package/dist/i18n/validation/validation.types.d.ts +44 -0
  372. package/dist/i18n/validation/validation.types.d.ts.map +1 -0
  373. package/dist/i18n/validation/validation.types.js +2 -0
  374. package/dist/i18n/validation/validation.types.js.map +1 -0
  375. package/dist/i18n/validation/with-i18n.d.ts +29 -0
  376. package/dist/i18n/validation/with-i18n.d.ts.map +1 -0
  377. package/dist/i18n/validation/with-i18n.js +40 -0
  378. package/dist/i18n/validation/with-i18n.js.map +1 -0
  379. package/dist/index.d.ts +22 -0
  380. package/dist/index.d.ts.map +1 -0
  381. package/dist/index.js +23 -0
  382. package/dist/index.js.map +1 -0
  383. package/dist/infrastructure/error-handler/error-response.d.ts +32 -0
  384. package/dist/infrastructure/error-handler/error-response.d.ts.map +1 -0
  385. package/dist/infrastructure/error-handler/error-response.js +14 -0
  386. package/dist/infrastructure/error-handler/error-response.js.map +1 -0
  387. package/dist/infrastructure/error-handler/global-error-handler.d.ts +81 -0
  388. package/dist/infrastructure/error-handler/global-error-handler.d.ts.map +1 -0
  389. package/dist/infrastructure/error-handler/global-error-handler.js +178 -0
  390. package/dist/infrastructure/error-handler/global-error-handler.js.map +1 -0
  391. package/dist/infrastructure/error-handler/index.d.ts +6 -0
  392. package/dist/infrastructure/error-handler/index.d.ts.map +1 -0
  393. package/dist/infrastructure/error-handler/index.js +5 -0
  394. package/dist/infrastructure/error-handler/index.js.map +1 -0
  395. package/dist/infrastructure/error-handler/internal-error.d.ts +16 -0
  396. package/dist/infrastructure/error-handler/internal-error.d.ts.map +1 -0
  397. package/dist/infrastructure/error-handler/internal-error.js +19 -0
  398. package/dist/infrastructure/error-handler/internal-error.js.map +1 -0
  399. package/dist/infrastructure/errors/index.d.ts +2 -0
  400. package/dist/infrastructure/errors/index.d.ts.map +1 -0
  401. package/dist/infrastructure/errors/index.js +2 -0
  402. package/dist/infrastructure/errors/index.js.map +1 -0
  403. package/dist/infrastructure/errors/request-container-not-initialized.error.d.ts +12 -0
  404. package/dist/infrastructure/errors/request-container-not-initialized.error.d.ts.map +1 -0
  405. package/dist/infrastructure/errors/request-container-not-initialized.error.js +15 -0
  406. package/dist/infrastructure/errors/request-container-not-initialized.error.js.map +1 -0
  407. package/dist/infrastructure/index.d.ts +3 -0
  408. package/dist/infrastructure/index.d.ts.map +1 -0
  409. package/dist/infrastructure/index.js +3 -0
  410. package/dist/infrastructure/index.js.map +1 -0
  411. package/dist/logger/contracts/index.d.ts +4 -0
  412. package/dist/logger/contracts/index.d.ts.map +1 -0
  413. package/dist/logger/contracts/index.js +4 -0
  414. package/dist/logger/contracts/index.js.map +1 -0
  415. package/dist/logger/contracts/log-context.d.ts +16 -0
  416. package/dist/logger/contracts/log-context.d.ts.map +1 -0
  417. package/dist/logger/contracts/log-context.js +2 -0
  418. package/dist/logger/contracts/log-context.js.map +1 -0
  419. package/dist/logger/contracts/log-entry.d.ts +17 -0
  420. package/dist/logger/contracts/log-entry.d.ts.map +1 -0
  421. package/dist/logger/contracts/log-entry.js +2 -0
  422. package/dist/logger/contracts/log-entry.js.map +1 -0
  423. package/dist/logger/contracts/log-level.d.ts +16 -0
  424. package/dist/logger/contracts/log-level.d.ts.map +1 -0
  425. package/dist/logger/contracts/log-level.js +22 -0
  426. package/dist/logger/contracts/log-level.js.map +1 -0
  427. package/dist/logger/formatters/formatter.interface.d.ts +14 -0
  428. package/dist/logger/formatters/formatter.interface.d.ts.map +1 -0
  429. package/dist/logger/formatters/formatter.interface.js +2 -0
  430. package/dist/logger/formatters/formatter.interface.js.map +1 -0
  431. package/dist/logger/formatters/index.d.ts +4 -0
  432. package/dist/logger/formatters/index.d.ts.map +1 -0
  433. package/dist/logger/formatters/index.js +4 -0
  434. package/dist/logger/formatters/index.js.map +1 -0
  435. package/dist/logger/formatters/json-formatter.d.ts +22 -0
  436. package/dist/logger/formatters/json-formatter.d.ts.map +1 -0
  437. package/dist/logger/formatters/json-formatter.js +28 -0
  438. package/dist/logger/formatters/json-formatter.js.map +1 -0
  439. package/dist/logger/formatters/pretty-formatter.d.ts +19 -0
  440. package/dist/logger/formatters/pretty-formatter.d.ts.map +1 -0
  441. package/dist/logger/formatters/pretty-formatter.js +42 -0
  442. package/dist/logger/formatters/pretty-formatter.js.map +1 -0
  443. package/dist/logger/index.d.ts +7 -0
  444. package/dist/logger/index.d.ts.map +1 -0
  445. package/dist/logger/index.js +10 -0
  446. package/dist/logger/index.js.map +1 -0
  447. package/dist/logger/logger.tokens.d.ts +29 -0
  448. package/dist/logger/logger.tokens.d.ts.map +1 -0
  449. package/dist/logger/logger.tokens.js +29 -0
  450. package/dist/logger/logger.tokens.js.map +1 -0
  451. package/dist/logger/services/index.d.ts +2 -0
  452. package/dist/logger/services/index.d.ts.map +1 -0
  453. package/dist/logger/services/index.js +2 -0
  454. package/dist/logger/services/index.js.map +1 -0
  455. package/dist/logger/services/logger.service.d.ts +86 -0
  456. package/dist/logger/services/logger.service.d.ts.map +1 -0
  457. package/dist/logger/services/logger.service.js +161 -0
  458. package/dist/logger/services/logger.service.js.map +1 -0
  459. package/dist/logger/transports/base-transport.d.ts +24 -0
  460. package/dist/logger/transports/base-transport.d.ts.map +1 -0
  461. package/dist/logger/transports/base-transport.js +23 -0
  462. package/dist/logger/transports/base-transport.js.map +1 -0
  463. package/dist/logger/transports/console-transport.d.ts +19 -0
  464. package/dist/logger/transports/console-transport.d.ts.map +1 -0
  465. package/dist/logger/transports/console-transport.js +53 -0
  466. package/dist/logger/transports/console-transport.js.map +1 -0
  467. package/dist/logger/transports/index.d.ts +4 -0
  468. package/dist/logger/transports/index.d.ts.map +1 -0
  469. package/dist/logger/transports/index.js +4 -0
  470. package/dist/logger/transports/index.js.map +1 -0
  471. package/dist/logger/transports/transport.interface.d.ts +21 -0
  472. package/dist/logger/transports/transport.interface.d.ts.map +1 -0
  473. package/dist/logger/transports/transport.interface.js +2 -0
  474. package/dist/logger/transports/transport.interface.js.map +1 -0
  475. package/dist/middleware/index.d.ts +24 -0
  476. package/dist/middleware/index.d.ts.map +1 -0
  477. package/dist/middleware/index.js +23 -0
  478. package/dist/middleware/index.js.map +1 -0
  479. package/dist/middleware/middleware-configuration.service.d.ts +64 -0
  480. package/dist/middleware/middleware-configuration.service.d.ts.map +1 -0
  481. package/dist/middleware/middleware-configuration.service.js +210 -0
  482. package/dist/middleware/middleware-configuration.service.js.map +1 -0
  483. package/dist/middleware/middleware-consumer.d.ts +57 -0
  484. package/dist/middleware/middleware-consumer.d.ts.map +1 -0
  485. package/dist/middleware/middleware-consumer.js +130 -0
  486. package/dist/middleware/middleware-consumer.js.map +1 -0
  487. package/dist/middleware/types.d.ts +94 -0
  488. package/dist/middleware/types.d.ts.map +1 -0
  489. package/dist/middleware/types.js +2 -0
  490. package/dist/middleware/types.js.map +1 -0
  491. package/dist/module/errors/index.d.ts +5 -0
  492. package/dist/module/errors/index.d.ts.map +1 -0
  493. package/dist/module/errors/index.js +5 -0
  494. package/dist/module/errors/index.js.map +1 -0
  495. package/dist/module/errors/invalid-module-provider.error.d.ts +11 -0
  496. package/dist/module/errors/invalid-module-provider.error.d.ts.map +1 -0
  497. package/dist/module/errors/invalid-module-provider.error.js +14 -0
  498. package/dist/module/errors/invalid-module-provider.error.js.map +1 -0
  499. package/dist/module/errors/module-already-registered.error.d.ts +11 -0
  500. package/dist/module/errors/module-already-registered.error.d.ts.map +1 -0
  501. package/dist/module/errors/module-already-registered.error.js +14 -0
  502. package/dist/module/errors/module-already-registered.error.js.map +1 -0
  503. package/dist/module/errors/module-circular-dependency.error.d.ts +11 -0
  504. package/dist/module/errors/module-circular-dependency.error.d.ts.map +1 -0
  505. package/dist/module/errors/module-circular-dependency.error.js +15 -0
  506. package/dist/module/errors/module-circular-dependency.error.js.map +1 -0
  507. package/dist/module/errors/module-dependency-not-found.error.d.ts +11 -0
  508. package/dist/module/errors/module-dependency-not-found.error.d.ts.map +1 -0
  509. package/dist/module/errors/module-dependency-not-found.error.js +14 -0
  510. package/dist/module/errors/module-dependency-not-found.error.js.map +1 -0
  511. package/dist/module/index.d.ts +4 -0
  512. package/dist/module/index.d.ts.map +1 -0
  513. package/dist/module/index.js +7 -0
  514. package/dist/module/index.js.map +1 -0
  515. package/dist/module/module-registry.d.ts +101 -0
  516. package/dist/module/module-registry.d.ts.map +1 -0
  517. package/dist/module/module-registry.js +278 -0
  518. package/dist/module/module-registry.js.map +1 -0
  519. package/dist/module/module.decorator.d.ts +34 -0
  520. package/dist/module/module.decorator.d.ts.map +1 -0
  521. package/dist/module/module.decorator.js +107 -0
  522. package/dist/module/module.decorator.js.map +1 -0
  523. package/dist/module/types.d.ts +240 -0
  524. package/dist/module/types.d.ts.map +1 -0
  525. package/dist/module/types.js +8 -0
  526. package/dist/module/types.js.map +1 -0
  527. package/dist/openapi/index.d.ts +5 -0
  528. package/dist/openapi/index.d.ts.map +1 -0
  529. package/dist/openapi/index.js +7 -0
  530. package/dist/openapi/index.js.map +1 -0
  531. package/dist/openapi/openapi.module.d.ts +52 -0
  532. package/dist/openapi/openapi.module.d.ts.map +1 -0
  533. package/dist/openapi/openapi.module.js +110 -0
  534. package/dist/openapi/openapi.module.js.map +1 -0
  535. package/dist/openapi/openapi.tokens.d.ts +12 -0
  536. package/dist/openapi/openapi.tokens.d.ts.map +1 -0
  537. package/dist/openapi/openapi.tokens.js +12 -0
  538. package/dist/openapi/openapi.tokens.js.map +1 -0
  539. package/dist/openapi/services/index.d.ts +3 -0
  540. package/dist/openapi/services/index.d.ts.map +1 -0
  541. package/dist/openapi/services/index.js +3 -0
  542. package/dist/openapi/services/index.js.map +1 -0
  543. package/dist/openapi/services/openapi-config.service.d.ts +43 -0
  544. package/dist/openapi/services/openapi-config.service.d.ts.map +1 -0
  545. package/dist/openapi/services/openapi-config.service.js +98 -0
  546. package/dist/openapi/services/openapi-config.service.js.map +1 -0
  547. package/dist/openapi/services/openapi.service.d.ts +52 -0
  548. package/dist/openapi/services/openapi.service.d.ts.map +1 -0
  549. package/dist/openapi/services/openapi.service.js +228 -0
  550. package/dist/openapi/services/openapi.service.js.map +1 -0
  551. package/dist/openapi/types.d.ts +61 -0
  552. package/dist/openapi/types.d.ts.map +1 -0
  553. package/dist/openapi/types.js +2 -0
  554. package/dist/openapi/types.js.map +1 -0
  555. package/dist/polyfills/dom.polyfill.d.ts +2 -0
  556. package/dist/polyfills/dom.polyfill.d.ts.map +1 -0
  557. package/dist/polyfills/dom.polyfill.js +30 -0
  558. package/dist/polyfills/dom.polyfill.js.map +1 -0
  559. package/dist/polyfills/index.d.ts +8 -0
  560. package/dist/polyfills/index.d.ts.map +1 -0
  561. package/dist/polyfills/index.js +8 -0
  562. package/dist/polyfills/index.js.map +1 -0
  563. package/dist/queue/consumer-registry.d.ts +77 -0
  564. package/dist/queue/consumer-registry.d.ts.map +1 -0
  565. package/dist/queue/consumer-registry.js +110 -0
  566. package/dist/queue/consumer-registry.js.map +1 -0
  567. package/dist/queue/decorators/index.d.ts +2 -0
  568. package/dist/queue/decorators/index.d.ts.map +1 -0
  569. package/dist/queue/decorators/index.js +2 -0
  570. package/dist/queue/decorators/index.js.map +1 -0
  571. package/dist/queue/decorators/inject-queue.decorator.d.ts +31 -0
  572. package/dist/queue/decorators/inject-queue.decorator.d.ts.map +1 -0
  573. package/dist/queue/decorators/inject-queue.decorator.js +33 -0
  574. package/dist/queue/decorators/inject-queue.decorator.js.map +1 -0
  575. package/dist/queue/errors/index.d.ts +3 -0
  576. package/dist/queue/errors/index.d.ts.map +1 -0
  577. package/dist/queue/errors/index.js +3 -0
  578. package/dist/queue/errors/index.js.map +1 -0
  579. package/dist/queue/errors/queue-binding-not-found.error.d.ts +12 -0
  580. package/dist/queue/errors/queue-binding-not-found.error.d.ts.map +1 -0
  581. package/dist/queue/errors/queue-binding-not-found.error.js +15 -0
  582. package/dist/queue/errors/queue-binding-not-found.error.js.map +1 -0
  583. package/dist/queue/errors/queue-provider-not-supported.error.d.ts +13 -0
  584. package/dist/queue/errors/queue-provider-not-supported.error.d.ts.map +1 -0
  585. package/dist/queue/errors/queue-provider-not-supported.error.js +16 -0
  586. package/dist/queue/errors/queue-provider-not-supported.error.js.map +1 -0
  587. package/dist/queue/index.d.ts +14 -0
  588. package/dist/queue/index.d.ts.map +1 -0
  589. package/dist/queue/index.js +21 -0
  590. package/dist/queue/index.js.map +1 -0
  591. package/dist/queue/providers/cloudflare-queue.provider.d.ts +42 -0
  592. package/dist/queue/providers/cloudflare-queue.provider.d.ts.map +1 -0
  593. package/dist/queue/providers/cloudflare-queue.provider.js +73 -0
  594. package/dist/queue/providers/cloudflare-queue.provider.js.map +1 -0
  595. package/dist/queue/providers/index.d.ts +4 -0
  596. package/dist/queue/providers/index.d.ts.map +1 -0
  597. package/dist/queue/providers/index.js +4 -0
  598. package/dist/queue/providers/index.js.map +1 -0
  599. package/dist/queue/providers/queue-provider.interface.d.ts +34 -0
  600. package/dist/queue/providers/queue-provider.interface.d.ts.map +1 -0
  601. package/dist/queue/providers/queue-provider.interface.js +2 -0
  602. package/dist/queue/providers/queue-provider.interface.js.map +1 -0
  603. package/dist/queue/providers/sync-queue.provider.d.ts +48 -0
  604. package/dist/queue/providers/sync-queue.provider.d.ts.map +1 -0
  605. package/dist/queue/providers/sync-queue.provider.js +89 -0
  606. package/dist/queue/providers/sync-queue.provider.js.map +1 -0
  607. package/dist/queue/queue-consumer.d.ts +64 -0
  608. package/dist/queue/queue-consumer.d.ts.map +1 -0
  609. package/dist/queue/queue-consumer.js +2 -0
  610. package/dist/queue/queue-consumer.js.map +1 -0
  611. package/dist/queue/queue-manager.d.ts +36 -0
  612. package/dist/queue/queue-manager.d.ts.map +1 -0
  613. package/dist/queue/queue-manager.js +80 -0
  614. package/dist/queue/queue-manager.js.map +1 -0
  615. package/dist/queue/queue-name.d.ts +50 -0
  616. package/dist/queue/queue-name.d.ts.map +1 -0
  617. package/dist/queue/queue-name.js +21 -0
  618. package/dist/queue/queue-name.js.map +1 -0
  619. package/dist/queue/queue-registry.d.ts +46 -0
  620. package/dist/queue/queue-registry.d.ts.map +1 -0
  621. package/dist/queue/queue-registry.js +78 -0
  622. package/dist/queue/queue-registry.js.map +1 -0
  623. package/dist/queue/queue-sender.d.ts +38 -0
  624. package/dist/queue/queue-sender.d.ts.map +1 -0
  625. package/dist/queue/queue-sender.interface.d.ts +46 -0
  626. package/dist/queue/queue-sender.interface.d.ts.map +1 -0
  627. package/dist/queue/queue-sender.interface.js +2 -0
  628. package/dist/queue/queue-sender.interface.js.map +1 -0
  629. package/dist/queue/queue-sender.js +54 -0
  630. package/dist/queue/queue-sender.js.map +1 -0
  631. package/dist/queue/queue.module.d.ts +80 -0
  632. package/dist/queue/queue.module.d.ts.map +1 -0
  633. package/dist/queue/queue.module.js +113 -0
  634. package/dist/queue/queue.module.js.map +1 -0
  635. package/dist/queue/queue.tokens.d.ts +7 -0
  636. package/dist/queue/queue.tokens.d.ts.map +1 -0
  637. package/dist/queue/queue.tokens.js +6 -0
  638. package/dist/queue/queue.tokens.js.map +1 -0
  639. package/dist/queue/services/index.d.ts +2 -0
  640. package/dist/queue/services/index.d.ts.map +1 -0
  641. package/dist/queue/services/index.js +2 -0
  642. package/dist/queue/services/index.js.map +1 -0
  643. package/dist/queue/services/queue-provider-factory.d.ts +41 -0
  644. package/dist/queue/services/queue-provider-factory.d.ts.map +1 -0
  645. package/dist/queue/services/queue-provider-factory.js +78 -0
  646. package/dist/queue/services/queue-provider-factory.js.map +1 -0
  647. package/dist/router/constants.d.ts +72 -0
  648. package/dist/router/constants.d.ts.map +1 -0
  649. package/dist/router/constants.js +54 -0
  650. package/dist/router/constants.js.map +1 -0
  651. package/dist/router/controller.d.ts +56 -0
  652. package/dist/router/controller.d.ts.map +1 -0
  653. package/dist/router/controller.js +2 -0
  654. package/dist/router/controller.js.map +1 -0
  655. package/dist/router/decorators/controller.decorator.d.ts +55 -0
  656. package/dist/router/decorators/controller.decorator.d.ts.map +1 -0
  657. package/dist/router/decorators/controller.decorator.js +76 -0
  658. package/dist/router/decorators/controller.decorator.js.map +1 -0
  659. package/dist/router/decorators/index.d.ts +3 -0
  660. package/dist/router/decorators/index.d.ts.map +1 -0
  661. package/dist/router/decorators/index.js +7 -0
  662. package/dist/router/decorators/index.js.map +1 -0
  663. package/dist/router/decorators/route.decorator.d.ts +87 -0
  664. package/dist/router/decorators/route.decorator.d.ts.map +1 -0
  665. package/dist/router/decorators/route.decorator.js +99 -0
  666. package/dist/router/decorators/route.decorator.js.map +1 -0
  667. package/dist/router/errors/controller-method-not-found.error.d.ts +11 -0
  668. package/dist/router/errors/controller-method-not-found.error.d.ts.map +1 -0
  669. package/dist/router/errors/controller-method-not-found.error.js +14 -0
  670. package/dist/router/errors/controller-method-not-found.error.js.map +1 -0
  671. package/dist/router/errors/controller-registration.error.d.ts +15 -0
  672. package/dist/router/errors/controller-registration.error.d.ts.map +1 -0
  673. package/dist/router/errors/controller-registration.error.js +21 -0
  674. package/dist/router/errors/controller-registration.error.js.map +1 -0
  675. package/dist/router/errors/index.d.ts +9 -0
  676. package/dist/router/errors/index.d.ts.map +1 -0
  677. package/dist/router/errors/index.js +11 -0
  678. package/dist/router/errors/index.js.map +1 -0
  679. package/dist/router/errors/openapi-route-registration.error.d.ts +17 -0
  680. package/dist/router/errors/openapi-route-registration.error.d.ts.map +1 -0
  681. package/dist/router/errors/openapi-route-registration.error.js +20 -0
  682. package/dist/router/errors/openapi-route-registration.error.js.map +1 -0
  683. package/dist/router/errors/openapi-validation.error.d.ts +19 -0
  684. package/dist/router/errors/openapi-validation.error.d.ts.map +1 -0
  685. package/dist/router/errors/openapi-validation.error.js +22 -0
  686. package/dist/router/errors/openapi-validation.error.js.map +1 -0
  687. package/dist/router/errors/route-not-found.error.d.ts +11 -0
  688. package/dist/router/errors/route-not-found.error.d.ts.map +1 -0
  689. package/dist/router/errors/route-not-found.error.js +14 -0
  690. package/dist/router/errors/route-not-found.error.js.map +1 -0
  691. package/dist/router/errors/router-already-configured.error.d.ts +5 -0
  692. package/dist/router/errors/router-already-configured.error.d.ts.map +1 -0
  693. package/dist/router/errors/router-already-configured.error.js +8 -0
  694. package/dist/router/errors/router-already-configured.error.js.map +1 -0
  695. package/dist/router/errors/router-not-configured.error.d.ts +5 -0
  696. package/dist/router/errors/router-not-configured.error.d.ts.map +1 -0
  697. package/dist/router/errors/router-not-configured.error.js +8 -0
  698. package/dist/router/errors/router-not-configured.error.js.map +1 -0
  699. package/dist/router/errors/schema-validation.error.d.ts +11 -0
  700. package/dist/router/errors/schema-validation.error.d.ts.map +1 -0
  701. package/dist/router/errors/schema-validation.error.js +18 -0
  702. package/dist/router/errors/schema-validation.error.js.map +1 -0
  703. package/dist/router/index.d.ts +13 -0
  704. package/dist/router/index.d.ts.map +1 -0
  705. package/dist/router/index.js +18 -0
  706. package/dist/router/index.js.map +1 -0
  707. package/dist/router/middleware/index.d.ts +2 -0
  708. package/dist/router/middleware/index.d.ts.map +1 -0
  709. package/dist/router/middleware/index.js +4 -0
  710. package/dist/router/middleware/index.js.map +1 -0
  711. package/dist/router/middleware/logger.middleware.d.ts +19 -0
  712. package/dist/router/middleware/logger.middleware.d.ts.map +1 -0
  713. package/dist/router/middleware/logger.middleware.js +32 -0
  714. package/dist/router/middleware/logger.middleware.js.map +1 -0
  715. package/dist/router/middleware.interface.d.ts +38 -0
  716. package/dist/router/middleware.interface.d.ts.map +1 -0
  717. package/dist/router/middleware.interface.js +2 -0
  718. package/dist/router/middleware.interface.js.map +1 -0
  719. package/dist/router/router-context.d.ts +117 -0
  720. package/dist/router/router-context.d.ts.map +1 -0
  721. package/dist/router/router-context.js +145 -0
  722. package/dist/router/router-context.js.map +1 -0
  723. package/dist/router/router.service.d.ts +62 -0
  724. package/dist/router/router.service.d.ts.map +1 -0
  725. package/dist/router/router.service.js +166 -0
  726. package/dist/router/router.service.js.map +1 -0
  727. package/dist/router/router.tokens.d.ts +39 -0
  728. package/dist/router/router.tokens.d.ts.map +1 -0
  729. package/dist/router/router.tokens.js +39 -0
  730. package/dist/router/router.tokens.js.map +1 -0
  731. package/dist/router/schemas/common.schemas.d.ts +148 -0
  732. package/dist/router/schemas/common.schemas.d.ts.map +1 -0
  733. package/dist/router/schemas/common.schemas.js +88 -0
  734. package/dist/router/schemas/common.schemas.js.map +1 -0
  735. package/dist/router/schemas/index.d.ts +2 -0
  736. package/dist/router/schemas/index.d.ts.map +1 -0
  737. package/dist/router/schemas/index.js +2 -0
  738. package/dist/router/schemas/index.js.map +1 -0
  739. package/dist/router/services/index.d.ts +7 -0
  740. package/dist/router/services/index.d.ts.map +1 -0
  741. package/dist/router/services/index.js +7 -0
  742. package/dist/router/services/index.js.map +1 -0
  743. package/dist/router/services/request-scope.service.d.ts +44 -0
  744. package/dist/router/services/request-scope.service.d.ts.map +1 -0
  745. package/dist/router/services/request-scope.service.js +78 -0
  746. package/dist/router/services/request-scope.service.js.map +1 -0
  747. package/dist/router/services/route-registration.service.d.ts +94 -0
  748. package/dist/router/services/route-registration.service.d.ts.map +1 -0
  749. package/dist/router/services/route-registration.service.js +451 -0
  750. package/dist/router/services/route-registration.service.js.map +1 -0
  751. package/dist/router/types.d.ts +130 -0
  752. package/dist/router/types.d.ts.map +1 -0
  753. package/dist/router/types.js +2 -0
  754. package/dist/router/types.js.map +1 -0
  755. package/dist/storage/contracts/delete-file.input.d.ts +7 -0
  756. package/dist/storage/contracts/delete-file.input.d.ts.map +1 -0
  757. package/dist/storage/contracts/delete-file.input.js +6 -0
  758. package/dist/storage/contracts/delete-file.input.js.map +1 -0
  759. package/dist/storage/contracts/download-result.d.ts +28 -0
  760. package/dist/storage/contracts/download-result.d.ts.map +1 -0
  761. package/dist/storage/contracts/download-result.js +2 -0
  762. package/dist/storage/contracts/download-result.js.map +1 -0
  763. package/dist/storage/contracts/file-exists.input.d.ts +7 -0
  764. package/dist/storage/contracts/file-exists.input.d.ts.map +1 -0
  765. package/dist/storage/contracts/file-exists.input.js +6 -0
  766. package/dist/storage/contracts/file-exists.input.js.map +1 -0
  767. package/dist/storage/contracts/get-presigned-url.input.d.ts +26 -0
  768. package/dist/storage/contracts/get-presigned-url.input.d.ts.map +1 -0
  769. package/dist/storage/contracts/get-presigned-url.input.js +14 -0
  770. package/dist/storage/contracts/get-presigned-url.input.js.map +1 -0
  771. package/dist/storage/contracts/index.d.ts +6 -0
  772. package/dist/storage/contracts/index.d.ts.map +1 -0
  773. package/dist/storage/contracts/index.js +6 -0
  774. package/dist/storage/contracts/index.js.map +1 -0
  775. package/dist/storage/contracts/upload-file.input.d.ts +34 -0
  776. package/dist/storage/contracts/upload-file.input.d.ts.map +1 -0
  777. package/dist/storage/contracts/upload-file.input.js +10 -0
  778. package/dist/storage/contracts/upload-file.input.js.map +1 -0
  779. package/dist/storage/errors/disk-not-configured.error.d.ts +5 -0
  780. package/dist/storage/errors/disk-not-configured.error.d.ts.map +1 -0
  781. package/dist/storage/errors/disk-not-configured.error.js +7 -0
  782. package/dist/storage/errors/disk-not-configured.error.js.map +1 -0
  783. package/dist/storage/errors/file-not-found.error.d.ts +5 -0
  784. package/dist/storage/errors/file-not-found.error.d.ts.map +1 -0
  785. package/dist/storage/errors/file-not-found.error.js +8 -0
  786. package/dist/storage/errors/file-not-found.error.js.map +1 -0
  787. package/dist/storage/errors/file-too-large.error.d.ts +5 -0
  788. package/dist/storage/errors/file-too-large.error.d.ts.map +1 -0
  789. package/dist/storage/errors/file-too-large.error.js +11 -0
  790. package/dist/storage/errors/file-too-large.error.js.map +1 -0
  791. package/dist/storage/errors/index.d.ts +9 -0
  792. package/dist/storage/errors/index.d.ts.map +1 -0
  793. package/dist/storage/errors/index.js +9 -0
  794. package/dist/storage/errors/index.js.map +1 -0
  795. package/dist/storage/errors/invalid-disk.error.d.ts +5 -0
  796. package/dist/storage/errors/invalid-disk.error.d.ts.map +1 -0
  797. package/dist/storage/errors/invalid-disk.error.js +8 -0
  798. package/dist/storage/errors/invalid-disk.error.js.map +1 -0
  799. package/dist/storage/errors/invalid-file-type.error.d.ts +5 -0
  800. package/dist/storage/errors/invalid-file-type.error.d.ts.map +1 -0
  801. package/dist/storage/errors/invalid-file-type.error.js +10 -0
  802. package/dist/storage/errors/invalid-file-type.error.js.map +1 -0
  803. package/dist/storage/errors/presigned-url-invalid-expiry.error.d.ts +5 -0
  804. package/dist/storage/errors/presigned-url-invalid-expiry.error.d.ts.map +1 -0
  805. package/dist/storage/errors/presigned-url-invalid-expiry.error.js +12 -0
  806. package/dist/storage/errors/presigned-url-invalid-expiry.error.js.map +1 -0
  807. package/dist/storage/errors/storage-provider-not-supported.error.d.ts +5 -0
  808. package/dist/storage/errors/storage-provider-not-supported.error.d.ts.map +1 -0
  809. package/dist/storage/errors/storage-provider-not-supported.error.js +8 -0
  810. package/dist/storage/errors/storage-provider-not-supported.error.js.map +1 -0
  811. package/dist/storage/errors/storage-response-body-missing.error.d.ts +5 -0
  812. package/dist/storage/errors/storage-response-body-missing.error.d.ts.map +1 -0
  813. package/dist/storage/errors/storage-response-body-missing.error.js +8 -0
  814. package/dist/storage/errors/storage-response-body-missing.error.js.map +1 -0
  815. package/dist/storage/index.d.ts +15 -0
  816. package/dist/storage/index.d.ts.map +1 -0
  817. package/dist/storage/index.js +18 -0
  818. package/dist/storage/index.js.map +1 -0
  819. package/dist/storage/providers/s3-multipart-provider.interface.d.ts +194 -0
  820. package/dist/storage/providers/s3-multipart-provider.interface.d.ts.map +1 -0
  821. package/dist/storage/providers/s3-multipart-provider.interface.js +2 -0
  822. package/dist/storage/providers/s3-multipart-provider.interface.js.map +1 -0
  823. package/dist/storage/providers/s3-storage.provider.d.ts +77 -0
  824. package/dist/storage/providers/s3-storage.provider.d.ts.map +1 -0
  825. package/dist/storage/providers/s3-storage.provider.js +310 -0
  826. package/dist/storage/providers/s3-storage.provider.js.map +1 -0
  827. package/dist/storage/providers/storage-provider.interface.d.ts +58 -0
  828. package/dist/storage/providers/storage-provider.interface.d.ts.map +1 -0
  829. package/dist/storage/providers/storage-provider.interface.js +2 -0
  830. package/dist/storage/providers/storage-provider.interface.js.map +1 -0
  831. package/dist/storage/services/storage-manager.service.d.ts +48 -0
  832. package/dist/storage/services/storage-manager.service.d.ts.map +1 -0
  833. package/dist/storage/services/storage-manager.service.js +111 -0
  834. package/dist/storage/services/storage-manager.service.js.map +1 -0
  835. package/dist/storage/services/storage.service.d.ts +140 -0
  836. package/dist/storage/services/storage.service.d.ts.map +1 -0
  837. package/dist/storage/services/storage.service.js +232 -0
  838. package/dist/storage/services/storage.service.js.map +1 -0
  839. package/dist/storage/storage.module.d.ts +52 -0
  840. package/dist/storage/storage.module.d.ts.map +1 -0
  841. package/dist/storage/storage.module.js +81 -0
  842. package/dist/storage/storage.module.js.map +1 -0
  843. package/dist/storage/storage.tokens.d.ts +10 -0
  844. package/dist/storage/storage.tokens.d.ts.map +1 -0
  845. package/dist/storage/storage.tokens.js +10 -0
  846. package/dist/storage/storage.tokens.js.map +1 -0
  847. package/dist/storage/types.d.ts +31 -0
  848. package/dist/storage/types.d.ts.map +1 -0
  849. package/dist/storage/types.js +2 -0
  850. package/dist/storage/types.js.map +1 -0
  851. package/dist/types.d.ts +16 -0
  852. package/dist/types.d.ts.map +1 -0
  853. package/dist/types.js +2 -0
  854. package/dist/types.js.map +1 -0
  855. package/dist/worker/index.d.ts +2 -0
  856. package/dist/worker/index.d.ts.map +1 -0
  857. package/dist/worker/index.js +2 -0
  858. package/dist/worker/index.js.map +1 -0
  859. package/dist/worker/module-worker.d.ts +48 -0
  860. package/dist/worker/module-worker.d.ts.map +1 -0
  861. package/dist/worker/module-worker.js +88 -0
  862. package/dist/worker/module-worker.js.map +1 -0
  863. package/dist/worker/stratal-worker.d.ts +48 -0
  864. package/dist/worker/stratal-worker.d.ts.map +1 -0
  865. package/dist/worker/stratal-worker.js +88 -0
  866. package/dist/worker/stratal-worker.js.map +1 -0
  867. package/package.json +148 -0
@@ -0,0 +1,62 @@
1
+ import { ERROR_CODES } from './error-codes';
2
+ /**
3
+ * Maps error codes to HTTP status codes
4
+ *
5
+ * This utility is used by the frontend to set appropriate HTTP status codes
6
+ * when returning errors from API routes.
7
+ *
8
+ * @param code - Numeric error code from ERROR_CODES registry
9
+ * @returns HTTP status code (200-599)
10
+ */
11
+ export function getHttpStatus(code) {
12
+ // Validation errors (1000-1999) → 400 Bad Request
13
+ if (code >= 1000 && code < 2000) {
14
+ return 400;
15
+ }
16
+ // Database errors (2000-2999)
17
+ if (code >= 2000 && code < 3000) {
18
+ // Record not found → 404
19
+ if (code === ERROR_CODES.DATABASE.RECORD_NOT_FOUND)
20
+ return 404;
21
+ // Unique constraint / conflict → 409
22
+ if (code === ERROR_CODES.DATABASE.UNIQUE_CONSTRAINT)
23
+ return 409;
24
+ // Other database errors → 500
25
+ return 500;
26
+ }
27
+ // Authentication errors (3000-3099) → 401 Unauthorized
28
+ if (code >= 3000 && code < 3100) {
29
+ return 401;
30
+ }
31
+ // Authorization errors (3100-3199) → 403 Forbidden
32
+ if (code >= 3100 && code < 3200) {
33
+ return 403;
34
+ }
35
+ // Resource not found (4000-4099) → 404 Not Found
36
+ if (code >= 4000 && code < 4100) {
37
+ return 404;
38
+ }
39
+ // Resource conflict (4100-4199) → 409 Conflict
40
+ if (code >= 4100 && code < 4200) {
41
+ return 409;
42
+ }
43
+ // Business logic errors (5000-5999)
44
+ if (code >= 5000 && code < 6000) {
45
+ // Domain-specific NOT_FOUND errors → 404
46
+ // 5000: NOTES.NOT_FOUND
47
+ // 5100: USERS.NOT_FOUND
48
+ // 5200: APPLICATIONS.NOT_FOUND
49
+ if (code === 5000 || code === 5100 || code === 5200) {
50
+ return 404;
51
+ }
52
+ // Other business logic errors → 422 Unprocessable Entity
53
+ return 422;
54
+ }
55
+ // System errors (9000-9999) → 500 Internal Server Error
56
+ if (code >= 9000) {
57
+ return 500;
58
+ }
59
+ // Default to 500 for unknown codes
60
+ return 500;
61
+ }
62
+ //# sourceMappingURL=get-http-status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-http-status.js","sourceRoot":"","sources":["../../src/errors/get-http-status.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE3C;;;;;;;;GAQG;AACH,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,kDAAkD;IAClD,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,EAAE,CAAC;QAChC,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,8BAA8B;IAC9B,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,EAAE,CAAC;QAChC,yBAAyB;QACzB,IAAI,IAAI,KAAK,WAAW,CAAC,QAAQ,CAAC,gBAAgB;YAAE,OAAO,GAAG,CAAA;QAC9D,qCAAqC;QACrC,IAAI,IAAI,KAAK,WAAW,CAAC,QAAQ,CAAC,iBAAiB;YAAE,OAAO,GAAG,CAAA;QAC/D,8BAA8B;QAC9B,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,uDAAuD;IACvD,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,EAAE,CAAC;QAChC,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,mDAAmD;IACnD,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,EAAE,CAAC;QAChC,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,iDAAiD;IACjD,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,EAAE,CAAC;QAChC,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,+CAA+C;IAC/C,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,EAAE,CAAC;QAChC,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,oCAAoC;IACpC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,EAAE,CAAC;QAChC,yCAAyC;QACzC,wBAAwB;QACxB,wBAAwB;QACxB,+BAA+B;QAC/B,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YACpD,OAAO,GAAG,CAAA;QACZ,CAAC;QACD,yDAAyD;QACzD,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,wDAAwD;IACxD,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;QACjB,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,mCAAmC;IACnC,OAAO,GAAG,CAAA;AACZ,CAAC"}
@@ -0,0 +1,5 @@
1
+ export { ApplicationError } from './application-error';
2
+ export * from './get-http-status';
3
+ export * from './is-application-error';
4
+ export * from './error-codes';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACtD,cAAc,mBAAmB,CAAA;AACjC,cAAc,wBAAwB,CAAA;AACtC,cAAc,eAAe,CAAA"}
@@ -0,0 +1,5 @@
1
+ export { ApplicationError } from './application-error';
2
+ export * from './get-http-status';
3
+ export * from './is-application-error';
4
+ export * from './error-codes';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACtD,cAAc,mBAAmB,CAAA;AACjC,cAAc,wBAAwB,CAAA;AACtC,cAAc,eAAe,CAAA"}
@@ -0,0 +1,9 @@
1
+ import { ApplicationError } from './application-error';
2
+ /**
3
+ * Type guard to check if an error is an ApplicationError
4
+ *
5
+ * @param error - The error to check
6
+ * @returns True if the error is an ApplicationError instance
7
+ */
8
+ export declare function isApplicationError(error: unknown): error is ApplicationError;
9
+ //# sourceMappingURL=is-application-error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-application-error.d.ts","sourceRoot":"","sources":["../../src/errors/is-application-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAEtD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,gBAAgB,CAE5E"}
@@ -0,0 +1,11 @@
1
+ import { ApplicationError } from './application-error';
2
+ /**
3
+ * Type guard to check if an error is an ApplicationError
4
+ *
5
+ * @param error - The error to check
6
+ * @returns True if the error is an ApplicationError instance
7
+ */
8
+ export function isApplicationError(error) {
9
+ return error instanceof ApplicationError;
10
+ }
11
+ //# sourceMappingURL=is-application-error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-application-error.js","sourceRoot":"","sources":["../../src/errors/is-application-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAEtD;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAc;IAC/C,OAAO,KAAK,YAAY,gBAAgB,CAAA;AAC1C,CAAC"}
@@ -0,0 +1,37 @@
1
+ import type { Container } from '../di';
2
+ import type { LoggerService } from '../logger';
3
+ import type { RouterContext } from '../router';
4
+ import type { Guard } from './types';
5
+ /**
6
+ * Guard Execution Service
7
+ *
8
+ * Executes guards for a route and determines if the request should proceed.
9
+ * Guards are executed in order; all must pass for the request to proceed.
10
+ */
11
+ export declare class GuardExecutionService {
12
+ private readonly logger;
13
+ constructor(logger: LoggerService);
14
+ /**
15
+ * Execute all guards for a route
16
+ *
17
+ * @param guards - Array of guards (classes or instances)
18
+ * @param context - Router context
19
+ * @param container - Request-scoped DI container
20
+ * @returns true if all guards pass
21
+ * @throws Error from first failing guard
22
+ */
23
+ executeGuards(guards: Guard[], context: RouterContext, container: Container): Promise<boolean>;
24
+ /**
25
+ * Resolve a guard to an instance
26
+ *
27
+ * @param guard - Guard class or instance
28
+ * @param container - Request-scoped DI container
29
+ * @returns Guard instance
30
+ */
31
+ private resolveGuard;
32
+ /**
33
+ * Type guard to check if value is a guard instance
34
+ */
35
+ private isGuardInstance;
36
+ }
37
+ //# sourceMappingURL=guard-execution.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guard-execution.service.d.ts","sourceRoot":"","sources":["../../src/guards/guard-execution.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AAC9C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AAC9C,OAAO,KAAK,EAAe,KAAK,EAAE,MAAM,SAAS,CAAA;AAEjD;;;;;GAKG;AACH,qBAAa,qBAAqB;IACpB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,aAAa;IAElD;;;;;;;;OAQG;IACG,aAAa,CACjB,MAAM,EAAE,KAAK,EAAE,EACf,OAAO,EAAE,aAAa,EACtB,SAAS,EAAE,SAAS,GACnB,OAAO,CAAC,OAAO,CAAC;IAiCnB;;;;;;OAMG;IACH,OAAO,CAAC,YAAY;IAUpB;;OAEG;IACH,OAAO,CAAC,eAAe;CASxB"}
@@ -0,0 +1,74 @@
1
+ /**
2
+ * Guard Execution Service
3
+ *
4
+ * Executes guards for a route and determines if the request should proceed.
5
+ * Guards are executed in order; all must pass for the request to proceed.
6
+ */
7
+ export class GuardExecutionService {
8
+ logger;
9
+ constructor(logger) {
10
+ this.logger = logger;
11
+ }
12
+ /**
13
+ * Execute all guards for a route
14
+ *
15
+ * @param guards - Array of guards (classes or instances)
16
+ * @param context - Router context
17
+ * @param container - Request-scoped DI container
18
+ * @returns true if all guards pass
19
+ * @throws Error from first failing guard
20
+ */
21
+ async executeGuards(guards, context, container) {
22
+ if (guards.length === 0) {
23
+ return true;
24
+ }
25
+ this.logger.debug('Executing guards', {
26
+ guardCount: guards.length,
27
+ path: context.c.req.path,
28
+ method: context.c.req.method,
29
+ });
30
+ for (const guard of guards) {
31
+ const guardInstance = this.resolveGuard(guard, container);
32
+ const canActivate = await guardInstance.canActivate(context);
33
+ if (!canActivate) {
34
+ this.logger.debug('Guard denied access', {
35
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- guard.constructor may be null at runtime
36
+ guard: guard.constructor?.name || 'AnonymousGuard',
37
+ path: context.c.req.path,
38
+ });
39
+ return false;
40
+ }
41
+ }
42
+ this.logger.debug('All guards passed', {
43
+ guardCount: guards.length,
44
+ path: context.c.req.path,
45
+ });
46
+ return true;
47
+ }
48
+ /**
49
+ * Resolve a guard to an instance
50
+ *
51
+ * @param guard - Guard class or instance
52
+ * @param container - Request-scoped DI container
53
+ * @returns Guard instance
54
+ */
55
+ resolveGuard(guard, container) {
56
+ // If already an instance (has canActivate method), use directly
57
+ if (this.isGuardInstance(guard)) {
58
+ return guard;
59
+ }
60
+ // Otherwise, resolve from container
61
+ return container.resolve(guard);
62
+ }
63
+ /**
64
+ * Type guard to check if value is a guard instance
65
+ */
66
+ isGuardInstance(guard) {
67
+ return (typeof guard === 'object' &&
68
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- typeof null === 'object', null check is required
69
+ guard !== null &&
70
+ 'canActivate' in guard &&
71
+ typeof guard.canActivate === 'function');
72
+ }
73
+ }
74
+ //# sourceMappingURL=guard-execution.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guard-execution.service.js","sourceRoot":"","sources":["../../src/guards/guard-execution.service.ts"],"names":[],"mappings":"AAKA;;;;;GAKG;AACH,MAAM,OAAO,qBAAqB;IACH;IAA7B,YAA6B,MAAqB;QAArB,WAAM,GAAN,MAAM,CAAe;IAAI,CAAC;IAEvD;;;;;;;;OAQG;IACH,KAAK,CAAC,aAAa,CACjB,MAAe,EACf,OAAsB,EACtB,SAAoB;QAEpB,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,IAAI,CAAA;QACb,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,EAAE;YACpC,UAAU,EAAE,MAAM,CAAC,MAAM;YACzB,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI;YACxB,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM;SAC7B,CAAC,CAAA;QAEF,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;YACzD,MAAM,WAAW,GAAG,MAAM,aAAa,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;YAE5D,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,EAAE;oBACvC,mHAAmH;oBACnH,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE,IAAI,IAAI,gBAAgB;oBAClD,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI;iBACzB,CAAC,CAAA;gBACF,OAAO,KAAK,CAAA;YACd,CAAC;QACH,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,EAAE;YACrC,UAAU,EAAE,MAAM,CAAC,MAAM;YACzB,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI;SACzB,CAAC,CAAA;QAEF,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;;;;OAMG;IACK,YAAY,CAAC,KAAY,EAAE,SAAoB;QACrD,gEAAgE;QAChE,IAAI,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;YAChC,OAAO,KAAK,CAAA;QACd,CAAC;QAED,oCAAoC;QACpC,OAAO,SAAS,CAAC,OAAO,CAAc,KAAK,CAAC,CAAA;IAC9C,CAAC;IAED;;OAEG;IACK,eAAe,CAAC,KAAY;QAClC,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;YACzB,2HAA2H;YAC3H,KAAK,KAAK,IAAI;YACd,aAAa,IAAI,KAAK;YACtB,OAAO,KAAK,CAAC,WAAW,KAAK,UAAU,CACxC,CAAA;IACH,CAAC;CACF"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Guard utilities for route protection
3
+ *
4
+ * This module provides:
5
+ * - Guard types and interfaces
6
+ * - UseGuards decorator for applying guards to controllers/methods
7
+ * - GuardExecutionService for executing guards
8
+ */
9
+ export * from './types';
10
+ export * from './use-guards.decorator';
11
+ export { GuardExecutionService } from './guard-execution.service';
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/guards/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,cAAc,SAAS,CAAA;AACvB,cAAc,wBAAwB,CAAA;AACtC,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAA"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Guard utilities for route protection
3
+ *
4
+ * This module provides:
5
+ * - Guard types and interfaces
6
+ * - UseGuards decorator for applying guards to controllers/methods
7
+ * - GuardExecutionService for executing guards
8
+ */
9
+ export * from './types';
10
+ export * from './use-guards.decorator';
11
+ export { GuardExecutionService } from './guard-execution.service';
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/guards/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,cAAc,SAAS,CAAA;AACvB,cAAc,wBAAwB,CAAA;AACtC,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAA"}
@@ -0,0 +1,60 @@
1
+ import type { RouterContext } from '../router';
2
+ import type { Constructor } from '../types';
3
+ /**
4
+ * Interface for guards that control access to routes
5
+ *
6
+ * Guards are executed after middlewares but before route handlers.
7
+ * They determine if a request should be allowed to proceed.
8
+ *
9
+ * @example
10
+ * ```typescript
11
+ * class RoleGuard implements CanActivate {
12
+ * constructor(private readonly role: string) {}
13
+ *
14
+ * async canActivate(context: RouterContext): Promise<boolean> {
15
+ * const user = context.getUser()
16
+ * return user?.roles.includes(this.role) ?? false
17
+ * }
18
+ * }
19
+ * ```
20
+ */
21
+ export interface CanActivate {
22
+ /**
23
+ * Determine if the request should be allowed
24
+ *
25
+ * @param context - Router context with request/response helpers
26
+ * @returns true to allow, false to deny (throws 403)
27
+ */
28
+ canActivate(context: RouterContext): boolean | Promise<boolean>;
29
+ }
30
+ /**
31
+ * Type for guard class constructors
32
+ */
33
+ export type GuardClass = Constructor<CanActivate>;
34
+ /**
35
+ * Guard can be a class constructor or an instance
36
+ * Instances are used for factory-created guards with configuration
37
+ */
38
+ export type Guard = GuardClass | CanActivate;
39
+ /**
40
+ * Options for AuthGuard factory
41
+ */
42
+ export interface AuthGuardOptions {
43
+ /**
44
+ * Required permissions (scopes) for authorization
45
+ * If provided, permission check is performed after authentication.
46
+ * If omitted, only authentication is required.
47
+ */
48
+ scopes?: string[];
49
+ }
50
+ /**
51
+ * Metadata stored by @UseGuards decorator
52
+ */
53
+ export interface GuardMetadata {
54
+ guards: Guard[];
55
+ }
56
+ /**
57
+ * Metadata key for guard storage
58
+ */
59
+ export declare const GUARD_METADATA_KEY: unique symbol;
60
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/guards/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAE3C;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,WAAW;IAC1B;;;;;OAKG;IACH,WAAW,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;CAChE;AAED;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,WAAW,CAAC,WAAW,CAAC,CAAA;AAEjD;;;GAGG;AACH,MAAM,MAAM,KAAK,GAAG,UAAU,GAAG,WAAW,CAAA;AAE5C;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,KAAK,EAAE,CAAA;CAChB;AAED;;GAEG;AACH,eAAO,MAAM,kBAAkB,eAAmB,CAAA"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Metadata key for guard storage
3
+ */
4
+ export const GUARD_METADATA_KEY = Symbol('guards');
5
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/guards/types.ts"],"names":[],"mappings":"AA6DA;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAA"}
@@ -0,0 +1,73 @@
1
+ import { type Guard, type GuardMetadata } from './types';
2
+ /**
3
+ * UseGuards Decorator
4
+ *
5
+ * Applies one or more guards to a controller or method.
6
+ * Guards are executed in order and all must pass for the request to proceed.
7
+ *
8
+ * **Execution Order:**
9
+ * 1. Request → Global Middlewares → Route Middlewares
10
+ * 2. **Guards (controller-level, then method-level)**
11
+ * 3. Route Handler
12
+ *
13
+ * **Guard Resolution:**
14
+ * - Guard classes are resolved from the request-scoped DI container
15
+ * - Guard instances (from factory functions) are used directly
16
+ *
17
+ * @param guards - Guard classes or instances to apply
18
+ *
19
+ * @example Authentication only
20
+ * ```typescript
21
+ * @TenantController('/api/v1/profile')
22
+ * @UseGuards(AuthGuard())
23
+ * export class ProfileController {
24
+ * show() { } // Requires authentication
25
+ * }
26
+ * ```
27
+ *
28
+ * @example Authentication with permissions
29
+ * ```typescript
30
+ * @TenantController('/api/v1/students')
31
+ * @UseGuards(AuthGuard({ scopes: ['students:read'] }))
32
+ * export class StudentsController {
33
+ * index() { } // Requires 'students:read' permission
34
+ * }
35
+ * ```
36
+ *
37
+ * @example Method-level guards
38
+ * ```typescript
39
+ * @TenantController('/api/v1/students')
40
+ * @UseGuards(AuthGuard()) // Controller-level: auth only
41
+ * export class StudentsController {
42
+ * index() { } // Auth only (inherited)
43
+ *
44
+ * @UseGuards(AuthGuard({ scopes: ['students:create'] }))
45
+ * create() { } // Auth + 'students:create' permission
46
+ * }
47
+ * ```
48
+ *
49
+ * @example Multiple guards
50
+ * ```typescript
51
+ * @UseGuards(AuthGuard(), RateLimitGuard(), TenantGuard())
52
+ * export class SecureController {
53
+ * // All guards must pass
54
+ * }
55
+ * ```
56
+ */
57
+ export declare function UseGuards(...guards: Guard[]): ClassDecorator & MethodDecorator;
58
+ /**
59
+ * Get controller-level guard metadata
60
+ *
61
+ * @param target - Controller class
62
+ * @returns Guard metadata or undefined if not decorated
63
+ */
64
+ export declare function getControllerGuards(target: object): GuardMetadata | undefined;
65
+ /**
66
+ * Get method-level guard metadata
67
+ *
68
+ * @param target - Controller prototype
69
+ * @param propertyKey - Method name
70
+ * @returns Guard metadata or undefined if not decorated
71
+ */
72
+ export declare function getMethodGuards(target: object, propertyKey: string | symbol): GuardMetadata | undefined;
73
+ //# sourceMappingURL=use-guards.decorator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-guards.decorator.d.ts","sourceRoot":"","sources":["../../src/guards/use-guards.decorator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,KAAK,EAAE,KAAK,aAAa,EAAE,MAAM,SAAS,CAAA;AAE5E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AACH,wBAAgB,SAAS,CAAC,GAAG,MAAM,EAAE,KAAK,EAAE,GAAG,cAAc,GAAG,eAAe,CAY9E;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAE7E;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,aAAa,GAAG,SAAS,CAEvG"}
@@ -0,0 +1,89 @@
1
+ import { GUARD_METADATA_KEY } from './types';
2
+ /**
3
+ * UseGuards Decorator
4
+ *
5
+ * Applies one or more guards to a controller or method.
6
+ * Guards are executed in order and all must pass for the request to proceed.
7
+ *
8
+ * **Execution Order:**
9
+ * 1. Request → Global Middlewares → Route Middlewares
10
+ * 2. **Guards (controller-level, then method-level)**
11
+ * 3. Route Handler
12
+ *
13
+ * **Guard Resolution:**
14
+ * - Guard classes are resolved from the request-scoped DI container
15
+ * - Guard instances (from factory functions) are used directly
16
+ *
17
+ * @param guards - Guard classes or instances to apply
18
+ *
19
+ * @example Authentication only
20
+ * ```typescript
21
+ * @TenantController('/api/v1/profile')
22
+ * @UseGuards(AuthGuard())
23
+ * export class ProfileController {
24
+ * show() { } // Requires authentication
25
+ * }
26
+ * ```
27
+ *
28
+ * @example Authentication with permissions
29
+ * ```typescript
30
+ * @TenantController('/api/v1/students')
31
+ * @UseGuards(AuthGuard({ scopes: ['students:read'] }))
32
+ * export class StudentsController {
33
+ * index() { } // Requires 'students:read' permission
34
+ * }
35
+ * ```
36
+ *
37
+ * @example Method-level guards
38
+ * ```typescript
39
+ * @TenantController('/api/v1/students')
40
+ * @UseGuards(AuthGuard()) // Controller-level: auth only
41
+ * export class StudentsController {
42
+ * index() { } // Auth only (inherited)
43
+ *
44
+ * @UseGuards(AuthGuard({ scopes: ['students:create'] }))
45
+ * create() { } // Auth + 'students:create' permission
46
+ * }
47
+ * ```
48
+ *
49
+ * @example Multiple guards
50
+ * ```typescript
51
+ * @UseGuards(AuthGuard(), RateLimitGuard(), TenantGuard())
52
+ * export class SecureController {
53
+ * // All guards must pass
54
+ * }
55
+ * ```
56
+ */
57
+ export function UseGuards(...guards) {
58
+ return (target, propertyKey) => {
59
+ const metadata = { guards };
60
+ if (propertyKey !== undefined) {
61
+ // Method decorator - store on method
62
+ Reflect.defineMetadata(GUARD_METADATA_KEY, metadata, target, propertyKey);
63
+ }
64
+ else {
65
+ // Class decorator - store on class
66
+ Reflect.defineMetadata(GUARD_METADATA_KEY, metadata, target);
67
+ }
68
+ };
69
+ }
70
+ /**
71
+ * Get controller-level guard metadata
72
+ *
73
+ * @param target - Controller class
74
+ * @returns Guard metadata or undefined if not decorated
75
+ */
76
+ export function getControllerGuards(target) {
77
+ return Reflect.getMetadata(GUARD_METADATA_KEY, target);
78
+ }
79
+ /**
80
+ * Get method-level guard metadata
81
+ *
82
+ * @param target - Controller prototype
83
+ * @param propertyKey - Method name
84
+ * @returns Guard metadata or undefined if not decorated
85
+ */
86
+ export function getMethodGuards(target, propertyKey) {
87
+ return Reflect.getMetadata(GUARD_METADATA_KEY, target, propertyKey);
88
+ }
89
+ //# sourceMappingURL=use-guards.decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-guards.decorator.js","sourceRoot":"","sources":["../../src/guards/use-guards.decorator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAkC,MAAM,SAAS,CAAA;AAE5E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AACH,MAAM,UAAU,SAAS,CAAC,GAAG,MAAe;IAC1C,OAAO,CAAC,MAAc,EAAE,WAA6B,EAAE,EAAE;QACvD,MAAM,QAAQ,GAAkB,EAAE,MAAM,EAAE,CAAA;QAE1C,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,qCAAqC;YACrC,OAAO,CAAC,cAAc,CAAC,kBAAkB,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,CAAA;QAC3E,CAAC;aAAM,CAAC;YACN,mCAAmC;YACnC,OAAO,CAAC,cAAc,CAAC,kBAAkB,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;QAC9D,CAAC;IACH,CAAC,CAAA;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAc;IAChD,OAAO,OAAO,CAAC,WAAW,CAAC,kBAAkB,EAAE,MAAM,CAA8B,CAAA;AACrF,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAC,MAAc,EAAE,WAA4B;IAC1E,OAAO,OAAO,CAAC,WAAW,CAAC,kBAAkB,EAAE,MAAM,EAAE,WAAW,CAA8B,CAAA;AAClG,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * I18n Module Errors
3
+ */
4
+ export { LocaleNotSupportedError } from './locale-not-supported.error';
5
+ export { TranslationMissingError } from './translation-missing.error';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/i18n/errors/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAA;AACtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAA"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * I18n Module Errors
3
+ */
4
+ export { LocaleNotSupportedError } from './locale-not-supported.error';
5
+ export { TranslationMissingError } from './translation-missing.error';
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/i18n/errors/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAA;AACtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAA"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Locale Not Supported Error
3
+ * Thrown when an unsupported locale is requested
4
+ *
5
+ * HTTP Status: 500 Internal Server Error
6
+ * Error Code: 9301
7
+ */
8
+ import { ApplicationError } from '../../infrastructure/error-handler';
9
+ export declare class LocaleNotSupportedError extends ApplicationError {
10
+ constructor(locale: string, supportedLocales: string[]);
11
+ }
12
+ //# sourceMappingURL=locale-not-supported.error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"locale-not-supported.error.d.ts","sourceRoot":"","sources":["../../../src/i18n/errors/locale-not-supported.error.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAA;AAErE,qBAAa,uBAAwB,SAAQ,gBAAgB;gBAC/C,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE;CAOvD"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Locale Not Supported Error
3
+ * Thrown when an unsupported locale is requested
4
+ *
5
+ * HTTP Status: 500 Internal Server Error
6
+ * Error Code: 9301
7
+ */
8
+ import { ERROR_CODES } from '../../errors';
9
+ import { ApplicationError } from '../../infrastructure/error-handler';
10
+ export class LocaleNotSupportedError extends ApplicationError {
11
+ constructor(locale, supportedLocales) {
12
+ super('errors.localeNotSupported', ERROR_CODES.I18N.LOCALE_NOT_SUPPORTED, { locale, supportedLocales: supportedLocales.join(', ') });
13
+ }
14
+ }
15
+ //# sourceMappingURL=locale-not-supported.error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"locale-not-supported.error.js","sourceRoot":"","sources":["../../../src/i18n/errors/locale-not-supported.error.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAA;AAErE,MAAM,OAAO,uBAAwB,SAAQ,gBAAgB;IAC3D,YAAY,MAAc,EAAE,gBAA0B;QACpD,KAAK,CACH,2BAA2B,EAC3B,WAAW,CAAC,IAAI,CAAC,oBAAoB,EACrC,EAAE,MAAM,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC1D,CAAA;IACH,CAAC;CACF"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Translation Missing Error
3
+ * Thrown when a translation key is missing from all locales
4
+ *
5
+ * HTTP Status: 500 Internal Server Error
6
+ * Error Code: 9300
7
+ */
8
+ import { ApplicationError } from '../../infrastructure/error-handler';
9
+ export declare class TranslationMissingError extends ApplicationError {
10
+ constructor(key: string, locale: string);
11
+ }
12
+ //# sourceMappingURL=translation-missing.error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"translation-missing.error.d.ts","sourceRoot":"","sources":["../../../src/i18n/errors/translation-missing.error.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAA;AAErE,qBAAa,uBAAwB,SAAQ,gBAAgB;gBAC/C,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAOxC"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Translation Missing Error
3
+ * Thrown when a translation key is missing from all locales
4
+ *
5
+ * HTTP Status: 500 Internal Server Error
6
+ * Error Code: 9300
7
+ */
8
+ import { ERROR_CODES } from '../../errors';
9
+ import { ApplicationError } from '../../infrastructure/error-handler';
10
+ export class TranslationMissingError extends ApplicationError {
11
+ constructor(key, locale) {
12
+ super('errors.translationMissing', ERROR_CODES.I18N.TRANSLATION_MISSING, { key, locale });
13
+ }
14
+ }
15
+ //# sourceMappingURL=translation-missing.error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"translation-missing.error.js","sourceRoot":"","sources":["../../../src/i18n/errors/translation-missing.error.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAA;AAErE,MAAM,OAAO,uBAAwB,SAAQ,gBAAgB;IAC3D,YAAY,GAAW,EAAE,MAAc;QACrC,KAAK,CACH,2BAA2B,EAC3B,WAAW,CAAC,IAAI,CAAC,mBAAmB,EACpC,EAAE,GAAG,EAAE,MAAM,EAAE,CAChB,CAAA;IACH,CAAC;CACF"}