stratal 0.0.13 → 0.0.14

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 (1032) hide show
  1. package/dist/base-email.provider-bzdAYp8Z.mjs +42 -0
  2. package/dist/base-email.provider-bzdAYp8Z.mjs.map +1 -0
  3. package/dist/cache/index.d.mts +219 -0
  4. package/dist/cache/index.d.mts.map +1 -0
  5. package/dist/cache/index.mjs +247 -0
  6. package/dist/cache/index.mjs.map +1 -0
  7. package/dist/chunk-D1SwGrFN.mjs +27 -0
  8. package/dist/config/index.d.mts +273 -0
  9. package/dist/config/index.d.mts.map +1 -0
  10. package/dist/config/index.mjs +235 -0
  11. package/dist/config/index.mjs.map +1 -0
  12. package/dist/cron/index.d.mts +128 -0
  13. package/dist/cron/index.d.mts.map +1 -0
  14. package/dist/cron/index.mjs +4 -0
  15. package/dist/cron-manager-CpS_hrDD.mjs +107 -0
  16. package/dist/cron-manager-CpS_hrDD.mjs.map +1 -0
  17. package/dist/di/index.d.mts +2 -0
  18. package/dist/di/index.mjs +3 -0
  19. package/dist/email/index.d.mts +532 -0
  20. package/dist/email/index.d.mts.map +1 -0
  21. package/dist/email/index.mjs +476 -0
  22. package/dist/email/index.mjs.map +1 -0
  23. package/dist/en-C9U5-ETs.mjs +317 -0
  24. package/dist/en-C9U5-ETs.mjs.map +1 -0
  25. package/dist/errors/index.d.mts +2 -0
  26. package/dist/errors/index.mjs +3 -0
  27. package/dist/errors-BRJgVd5-.mjs +704 -0
  28. package/dist/errors-BRJgVd5-.mjs.map +1 -0
  29. package/dist/events/index.d.mts +210 -0
  30. package/dist/events/index.d.mts.map +1 -0
  31. package/dist/events/index.mjs +3 -0
  32. package/dist/events-CQyvSyrQ.mjs +190 -0
  33. package/dist/events-CQyvSyrQ.mjs.map +1 -0
  34. package/dist/gateway-context-D7TFPLi5.mjs +226 -0
  35. package/dist/gateway-context-D7TFPLi5.mjs.map +1 -0
  36. package/dist/guards/index.d.mts +172 -0
  37. package/dist/guards/index.d.mts.map +1 -0
  38. package/dist/guards/index.mjs +2 -0
  39. package/dist/guards-B5o618bL.mjs +151 -0
  40. package/dist/guards-B5o618bL.mjs.map +1 -0
  41. package/dist/i18n/index.d.mts +3 -0
  42. package/dist/i18n/index.mjs +11 -0
  43. package/dist/i18n/messages/en/index.d.mts +2 -0
  44. package/dist/i18n/messages/en/index.mjs +2 -0
  45. package/dist/i18n/validation/index.d.mts +4 -0
  46. package/dist/i18n/validation/index.mjs +3 -0
  47. package/dist/i18n.module-C9wQr_2k.mjs +1792 -0
  48. package/dist/i18n.module-C9wQr_2k.mjs.map +1 -0
  49. package/dist/index-3TtGtYlJ.d.mts +263 -0
  50. package/dist/index-3TtGtYlJ.d.mts.map +1 -0
  51. package/dist/index-BWEwA_XK.d.mts +317 -0
  52. package/dist/index-BWEwA_XK.d.mts.map +1 -0
  53. package/dist/index-C9bIk5tt.d.mts +2613 -0
  54. package/dist/index-C9bIk5tt.d.mts.map +1 -0
  55. package/dist/index-Dl4RvzNp.d.mts +185 -0
  56. package/dist/index-Dl4RvzNp.d.mts.map +1 -0
  57. package/dist/index-zKURVFOC.d.mts +632 -0
  58. package/dist/index-zKURVFOC.d.mts.map +1 -0
  59. package/dist/index.d.mts +144 -0
  60. package/dist/index.d.mts.map +1 -0
  61. package/dist/index.mjs +14 -0
  62. package/dist/logger/index.d.mts +2 -0
  63. package/dist/logger/index.mjs +2 -0
  64. package/dist/logger-Bg-CuidS.mjs +417 -0
  65. package/dist/logger-Bg-CuidS.mjs.map +1 -0
  66. package/dist/middleware/index.d.mts +2 -0
  67. package/dist/middleware/index.mjs +5 -0
  68. package/dist/middleware-B3tx1u1K.mjs +362 -0
  69. package/dist/middleware-B3tx1u1K.mjs.map +1 -0
  70. package/dist/module/index.d.mts +130 -0
  71. package/dist/module/index.d.mts.map +1 -0
  72. package/dist/module/index.mjs +7 -0
  73. package/dist/module-Dvzm4dhS.mjs +331 -0
  74. package/dist/module-Dvzm4dhS.mjs.map +1 -0
  75. package/dist/openapi/index.d.mts +202 -0
  76. package/dist/openapi/index.d.mts.map +1 -0
  77. package/dist/openapi/index.mjs +11 -0
  78. package/dist/queue/index.d.mts +2 -0
  79. package/dist/queue/index.mjs +80 -0
  80. package/dist/queue/index.mjs.map +1 -0
  81. package/dist/queue.module-ZqaZ2iY0.mjs +403 -0
  82. package/dist/queue.module-ZqaZ2iY0.mjs.map +1 -0
  83. package/dist/resend.provider-BFGt6fS4.mjs +69 -0
  84. package/dist/resend.provider-BFGt6fS4.mjs.map +1 -0
  85. package/dist/router/index.d.mts +2 -0
  86. package/dist/router/index.mjs +11 -0
  87. package/dist/router-context-DlTxpJUG.mjs +264 -0
  88. package/dist/router-context-DlTxpJUG.mjs.map +1 -0
  89. package/dist/smtp.provider-BYY-AdmU.mjs +77 -0
  90. package/dist/smtp.provider-BYY-AdmU.mjs.map +1 -0
  91. package/dist/storage/index.d.mts +743 -0
  92. package/dist/storage/index.d.mts.map +1 -0
  93. package/dist/storage/index.mjs +9 -0
  94. package/dist/storage-dgi7MG6z.mjs +787 -0
  95. package/dist/storage-dgi7MG6z.mjs.map +1 -0
  96. package/dist/stratal-D4MS_7pI.mjs +270 -0
  97. package/dist/stratal-D4MS_7pI.mjs.map +1 -0
  98. package/dist/{types.d.ts → types-JUIHSW_a.d.mts} +5 -2
  99. package/dist/types-JUIHSW_a.d.mts.map +1 -0
  100. package/dist/validation-DA5nptIp.mjs +194 -0
  101. package/dist/validation-DA5nptIp.mjs.map +1 -0
  102. package/dist/websocket/index.d.mts +168 -0
  103. package/dist/websocket/index.d.mts.map +1 -0
  104. package/dist/websocket/index.mjs +5 -0
  105. package/dist/workers/index.d.mts +90 -0
  106. package/dist/workers/index.d.mts.map +1 -0
  107. package/dist/workers/index.mjs +116 -0
  108. package/dist/workers/index.mjs.map +1 -0
  109. package/package.json +84 -28
  110. package/dist/application.d.ts +0 -101
  111. package/dist/application.d.ts.map +0 -1
  112. package/dist/application.js +0 -230
  113. package/dist/application.js.map +0 -1
  114. package/dist/cache/cache.module.d.ts +0 -14
  115. package/dist/cache/cache.module.d.ts.map +0 -1
  116. package/dist/cache/cache.module.js +0 -32
  117. package/dist/cache/cache.module.js.map +0 -1
  118. package/dist/cache/cache.tokens.d.ts +0 -5
  119. package/dist/cache/cache.tokens.d.ts.map +0 -1
  120. package/dist/cache/cache.tokens.js +0 -4
  121. package/dist/cache/cache.tokens.js.map +0 -1
  122. package/dist/cache/errors/cache-delete.error.d.ts +0 -11
  123. package/dist/cache/errors/cache-delete.error.d.ts.map +0 -1
  124. package/dist/cache/errors/cache-delete.error.js +0 -14
  125. package/dist/cache/errors/cache-delete.error.js.map +0 -1
  126. package/dist/cache/errors/cache-get.error.d.ts +0 -11
  127. package/dist/cache/errors/cache-get.error.d.ts.map +0 -1
  128. package/dist/cache/errors/cache-get.error.js +0 -14
  129. package/dist/cache/errors/cache-get.error.js.map +0 -1
  130. package/dist/cache/errors/cache-list.error.d.ts +0 -10
  131. package/dist/cache/errors/cache-list.error.d.ts.map +0 -1
  132. package/dist/cache/errors/cache-list.error.js +0 -13
  133. package/dist/cache/errors/cache-list.error.js.map +0 -1
  134. package/dist/cache/errors/cache-put.error.d.ts +0 -11
  135. package/dist/cache/errors/cache-put.error.d.ts.map +0 -1
  136. package/dist/cache/errors/cache-put.error.js +0 -14
  137. package/dist/cache/errors/cache-put.error.js.map +0 -1
  138. package/dist/cache/errors/index.d.ts +0 -5
  139. package/dist/cache/errors/index.d.ts.map +0 -1
  140. package/dist/cache/errors/index.js +0 -5
  141. package/dist/cache/errors/index.js.map +0 -1
  142. package/dist/cache/index.d.ts +0 -5
  143. package/dist/cache/index.d.ts.map +0 -1
  144. package/dist/cache/index.js +0 -5
  145. package/dist/cache/index.js.map +0 -1
  146. package/dist/cache/services/cache.service.d.ts +0 -152
  147. package/dist/cache/services/cache.service.d.ts.map +0 -1
  148. package/dist/cache/services/cache.service.js +0 -223
  149. package/dist/cache/services/cache.service.js.map +0 -1
  150. package/dist/cache/services/index.d.ts +0 -2
  151. package/dist/cache/services/index.d.ts.map +0 -1
  152. package/dist/cache/services/index.js +0 -2
  153. package/dist/cache/services/index.js.map +0 -1
  154. package/dist/config/config.module.d.ts +0 -79
  155. package/dist/config/config.module.d.ts.map +0 -1
  156. package/dist/config/config.module.js +0 -121
  157. package/dist/config/config.module.js.map +0 -1
  158. package/dist/config/config.tokens.d.ts +0 -4
  159. package/dist/config/config.tokens.d.ts.map +0 -1
  160. package/dist/config/config.tokens.js +0 -4
  161. package/dist/config/config.tokens.js.map +0 -1
  162. package/dist/config/config.types.d.ts +0 -68
  163. package/dist/config/config.types.d.ts.map +0 -1
  164. package/dist/config/config.types.js +0 -9
  165. package/dist/config/config.types.js.map +0 -1
  166. package/dist/config/errors/config-module-not-initialized.error.d.ts +0 -10
  167. package/dist/config/errors/config-module-not-initialized.error.d.ts.map +0 -1
  168. package/dist/config/errors/config-module-not-initialized.error.js +0 -12
  169. package/dist/config/errors/config-module-not-initialized.error.js.map +0 -1
  170. package/dist/config/errors/config-not-initialized.error.d.ts +0 -12
  171. package/dist/config/errors/config-not-initialized.error.d.ts.map +0 -1
  172. package/dist/config/errors/config-not-initialized.error.js +0 -15
  173. package/dist/config/errors/config-not-initialized.error.js.map +0 -1
  174. package/dist/config/errors/index.d.ts +0 -3
  175. package/dist/config/errors/index.d.ts.map +0 -1
  176. package/dist/config/errors/index.js +0 -3
  177. package/dist/config/errors/index.js.map +0 -1
  178. package/dist/config/index.d.ts +0 -7
  179. package/dist/config/index.d.ts.map +0 -1
  180. package/dist/config/index.js +0 -9
  181. package/dist/config/index.js.map +0 -1
  182. package/dist/config/register-as.d.ts +0 -62
  183. package/dist/config/register-as.d.ts.map +0 -1
  184. package/dist/config/register-as.js +0 -48
  185. package/dist/config/register-as.js.map +0 -1
  186. package/dist/config/services/config.service.d.ts +0 -59
  187. package/dist/config/services/config.service.d.ts.map +0 -1
  188. package/dist/config/services/config.service.js +0 -140
  189. package/dist/config/services/config.service.js.map +0 -1
  190. package/dist/cron/cron-job.d.ts +0 -54
  191. package/dist/cron/cron-job.d.ts.map +0 -1
  192. package/dist/cron/cron-job.js +0 -2
  193. package/dist/cron/cron-job.js.map +0 -1
  194. package/dist/cron/cron-manager.d.ts +0 -60
  195. package/dist/cron/cron-manager.d.ts.map +0 -1
  196. package/dist/cron/cron-manager.js +0 -120
  197. package/dist/cron/cron-manager.js.map +0 -1
  198. package/dist/cron/errors/cron-execution.error.d.ts +0 -10
  199. package/dist/cron/errors/cron-execution.error.d.ts.map +0 -1
  200. package/dist/cron/errors/cron-execution.error.js +0 -17
  201. package/dist/cron/errors/cron-execution.error.js.map +0 -1
  202. package/dist/cron/index.d.ts +0 -4
  203. package/dist/cron/index.d.ts.map +0 -1
  204. package/dist/cron/index.js +0 -3
  205. package/dist/cron/index.js.map +0 -1
  206. package/dist/di/conditional-binding-builder.d.ts +0 -93
  207. package/dist/di/conditional-binding-builder.d.ts.map +0 -1
  208. package/dist/di/conditional-binding-builder.js +0 -115
  209. package/dist/di/conditional-binding-builder.js.map +0 -1
  210. package/dist/di/container.d.ts +0 -131
  211. package/dist/di/container.d.ts.map +0 -1
  212. package/dist/di/container.js +0 -177
  213. package/dist/di/container.js.map +0 -1
  214. package/dist/di/decorators/inject-param.decorator.d.ts +0 -67
  215. package/dist/di/decorators/inject-param.decorator.d.ts.map +0 -1
  216. package/dist/di/decorators/inject-param.decorator.js +0 -53
  217. package/dist/di/decorators/inject-param.decorator.js.map +0 -1
  218. package/dist/di/decorators.d.ts +0 -57
  219. package/dist/di/decorators.d.ts.map +0 -1
  220. package/dist/di/decorators.js +0 -74
  221. package/dist/di/decorators.js.map +0 -1
  222. package/dist/di/errors/conditional-binding-fallback.error.d.ts +0 -16
  223. package/dist/di/errors/conditional-binding-fallback.error.d.ts.map +0 -1
  224. package/dist/di/errors/conditional-binding-fallback.error.js +0 -19
  225. package/dist/di/errors/conditional-binding-fallback.error.js.map +0 -1
  226. package/dist/di/errors/index.d.ts +0 -3
  227. package/dist/di/errors/index.d.ts.map +0 -1
  228. package/dist/di/errors/index.js +0 -3
  229. package/dist/di/errors/index.js.map +0 -1
  230. package/dist/di/errors/request-scope-operation-not-allowed.error.d.ts +0 -11
  231. package/dist/di/errors/request-scope-operation-not-allowed.error.d.ts.map +0 -1
  232. package/dist/di/errors/request-scope-operation-not-allowed.error.js +0 -14
  233. package/dist/di/errors/request-scope-operation-not-allowed.error.js.map +0 -1
  234. package/dist/di/index.d.ts +0 -12
  235. package/dist/di/index.d.ts.map +0 -1
  236. package/dist/di/index.js +0 -10
  237. package/dist/di/index.js.map +0 -1
  238. package/dist/di/tokens.d.ts +0 -26
  239. package/dist/di/tokens.d.ts.map +0 -1
  240. package/dist/di/tokens.js +0 -29
  241. package/dist/di/tokens.js.map +0 -1
  242. package/dist/di/types.d.ts +0 -56
  243. package/dist/di/types.d.ts.map +0 -1
  244. package/dist/di/types.js +0 -34
  245. package/dist/di/types.js.map +0 -1
  246. package/dist/email/consumers/email.consumer.d.ts +0 -43
  247. package/dist/email/consumers/email.consumer.d.ts.map +0 -1
  248. package/dist/email/consumers/email.consumer.js +0 -129
  249. package/dist/email/consumers/email.consumer.js.map +0 -1
  250. package/dist/email/consumers/index.d.ts +0 -2
  251. package/dist/email/consumers/index.d.ts.map +0 -1
  252. package/dist/email/consumers/index.js +0 -2
  253. package/dist/email/consumers/index.js.map +0 -1
  254. package/dist/email/contracts/email-attachment.d.ts +0 -61
  255. package/dist/email/contracts/email-attachment.d.ts.map +0 -1
  256. package/dist/email/contracts/email-attachment.js +0 -58
  257. package/dist/email/contracts/email-attachment.js.map +0 -1
  258. package/dist/email/contracts/email-message.contract.d.ts +0 -58
  259. package/dist/email/contracts/email-message.contract.d.ts.map +0 -1
  260. package/dist/email/contracts/email-message.contract.js +0 -62
  261. package/dist/email/contracts/email-message.contract.js.map +0 -1
  262. package/dist/email/contracts/index.d.ts +0 -4
  263. package/dist/email/contracts/index.d.ts.map +0 -1
  264. package/dist/email/contracts/index.js +0 -4
  265. package/dist/email/contracts/index.js.map +0 -1
  266. package/dist/email/contracts/send-email.input.d.ts +0 -72
  267. package/dist/email/contracts/send-email.input.d.ts.map +0 -1
  268. package/dist/email/contracts/send-email.input.js +0 -28
  269. package/dist/email/contracts/send-email.input.js.map +0 -1
  270. package/dist/email/email.module.d.ts +0 -122
  271. package/dist/email/email.module.d.ts.map +0 -1
  272. package/dist/email/email.module.js +0 -129
  273. package/dist/email/email.module.js.map +0 -1
  274. package/dist/email/email.tokens.d.ts +0 -33
  275. package/dist/email/email.tokens.d.ts.map +0 -1
  276. package/dist/email/email.tokens.js +0 -33
  277. package/dist/email/email.tokens.js.map +0 -1
  278. package/dist/email/errors/email-provider-not-supported.error.d.ts +0 -13
  279. package/dist/email/errors/email-provider-not-supported.error.d.ts.map +0 -1
  280. package/dist/email/errors/email-provider-not-supported.error.js +0 -15
  281. package/dist/email/errors/email-provider-not-supported.error.js.map +0 -1
  282. package/dist/email/errors/email-resend-api-failed.error.d.ts +0 -13
  283. package/dist/email/errors/email-resend-api-failed.error.d.ts.map +0 -1
  284. package/dist/email/errors/email-resend-api-failed.error.js +0 -15
  285. package/dist/email/errors/email-resend-api-failed.error.js.map +0 -1
  286. package/dist/email/errors/email-smtp-connection-failed.error.d.ts +0 -13
  287. package/dist/email/errors/email-smtp-connection-failed.error.d.ts.map +0 -1
  288. package/dist/email/errors/email-smtp-connection-failed.error.js +0 -15
  289. package/dist/email/errors/email-smtp-connection-failed.error.js.map +0 -1
  290. package/dist/email/errors/index.d.ts +0 -7
  291. package/dist/email/errors/index.d.ts.map +0 -1
  292. package/dist/email/errors/index.js +0 -7
  293. package/dist/email/errors/index.js.map +0 -1
  294. package/dist/email/errors/resend-api-key-missing.error.d.ts +0 -13
  295. package/dist/email/errors/resend-api-key-missing.error.d.ts.map +0 -1
  296. package/dist/email/errors/resend-api-key-missing.error.js +0 -15
  297. package/dist/email/errors/resend-api-key-missing.error.js.map +0 -1
  298. package/dist/email/errors/smtp-configuration-missing.error.d.ts +0 -13
  299. package/dist/email/errors/smtp-configuration-missing.error.d.ts.map +0 -1
  300. package/dist/email/errors/smtp-configuration-missing.error.js +0 -15
  301. package/dist/email/errors/smtp-configuration-missing.error.js.map +0 -1
  302. package/dist/email/errors/smtp-host-missing.error.d.ts +0 -13
  303. package/dist/email/errors/smtp-host-missing.error.d.ts.map +0 -1
  304. package/dist/email/errors/smtp-host-missing.error.js +0 -15
  305. package/dist/email/errors/smtp-host-missing.error.js.map +0 -1
  306. package/dist/email/index.d.ts +0 -6
  307. package/dist/email/index.d.ts.map +0 -1
  308. package/dist/email/index.js +0 -8
  309. package/dist/email/index.js.map +0 -1
  310. package/dist/email/providers/base-email.provider.d.ts +0 -22
  311. package/dist/email/providers/base-email.provider.d.ts.map +0 -1
  312. package/dist/email/providers/base-email.provider.js +0 -43
  313. package/dist/email/providers/base-email.provider.js.map +0 -1
  314. package/dist/email/providers/email-provider.interface.d.ts +0 -66
  315. package/dist/email/providers/email-provider.interface.d.ts.map +0 -1
  316. package/dist/email/providers/email-provider.interface.js +0 -2
  317. package/dist/email/providers/email-provider.interface.js.map +0 -1
  318. package/dist/email/providers/index.d.ts +0 -5
  319. package/dist/email/providers/index.d.ts.map +0 -1
  320. package/dist/email/providers/index.js +0 -5
  321. package/dist/email/providers/index.js.map +0 -1
  322. package/dist/email/providers/resend.provider.d.ts +0 -26
  323. package/dist/email/providers/resend.provider.d.ts.map +0 -1
  324. package/dist/email/providers/resend.provider.js +0 -84
  325. package/dist/email/providers/resend.provider.js.map +0 -1
  326. package/dist/email/providers/smtp.provider.d.ts +0 -25
  327. package/dist/email/providers/smtp.provider.d.ts.map +0 -1
  328. package/dist/email/providers/smtp.provider.js +0 -86
  329. package/dist/email/providers/smtp.provider.js.map +0 -1
  330. package/dist/email/services/email-provider-factory.d.ts +0 -24
  331. package/dist/email/services/email-provider-factory.d.ts.map +0 -1
  332. package/dist/email/services/email-provider-factory.js +0 -59
  333. package/dist/email/services/email-provider-factory.js.map +0 -1
  334. package/dist/email/services/email.service.d.ts +0 -51
  335. package/dist/email/services/email.service.d.ts.map +0 -1
  336. package/dist/email/services/email.service.js +0 -75
  337. package/dist/email/services/email.service.js.map +0 -1
  338. package/dist/email/services/index.d.ts +0 -3
  339. package/dist/email/services/index.d.ts.map +0 -1
  340. package/dist/email/services/index.js +0 -3
  341. package/dist/email/services/index.js.map +0 -1
  342. package/dist/env.d.ts +0 -21
  343. package/dist/env.d.ts.map +0 -1
  344. package/dist/env.js +0 -2
  345. package/dist/env.js.map +0 -1
  346. package/dist/errors/application-error.d.ts +0 -87
  347. package/dist/errors/application-error.d.ts.map +0 -1
  348. package/dist/errors/application-error.js +0 -130
  349. package/dist/errors/application-error.js.map +0 -1
  350. package/dist/errors/error-codes.d.ts +0 -202
  351. package/dist/errors/error-codes.d.ts.map +0 -1
  352. package/dist/errors/error-codes.js +0 -184
  353. package/dist/errors/error-codes.js.map +0 -1
  354. package/dist/errors/error-response.d.ts +0 -32
  355. package/dist/errors/error-response.d.ts.map +0 -1
  356. package/dist/errors/error-response.js +0 -14
  357. package/dist/errors/error-response.js.map +0 -1
  358. package/dist/errors/get-http-status.d.ts +0 -12
  359. package/dist/errors/get-http-status.d.ts.map +0 -1
  360. package/dist/errors/get-http-status.js +0 -62
  361. package/dist/errors/get-http-status.js.map +0 -1
  362. package/dist/errors/global-error-handler.d.ts +0 -81
  363. package/dist/errors/global-error-handler.d.ts.map +0 -1
  364. package/dist/errors/global-error-handler.js +0 -176
  365. package/dist/errors/global-error-handler.js.map +0 -1
  366. package/dist/errors/index.d.ts +0 -10
  367. package/dist/errors/index.d.ts.map +0 -1
  368. package/dist/errors/index.js +0 -10
  369. package/dist/errors/index.js.map +0 -1
  370. package/dist/errors/internal-error.d.ts +0 -16
  371. package/dist/errors/internal-error.d.ts.map +0 -1
  372. package/dist/errors/internal-error.js +0 -19
  373. package/dist/errors/internal-error.js.map +0 -1
  374. package/dist/errors/is-application-error.d.ts +0 -9
  375. package/dist/errors/is-application-error.d.ts.map +0 -1
  376. package/dist/errors/is-application-error.js +0 -11
  377. package/dist/errors/is-application-error.js.map +0 -1
  378. package/dist/errors/request-container-not-initialized.error.d.ts +0 -12
  379. package/dist/errors/request-container-not-initialized.error.d.ts.map +0 -1
  380. package/dist/errors/request-container-not-initialized.error.js +0 -15
  381. package/dist/errors/request-container-not-initialized.error.js.map +0 -1
  382. package/dist/errors/stratal-not-initialized.error.d.ts +0 -11
  383. package/dist/errors/stratal-not-initialized.error.d.ts.map +0 -1
  384. package/dist/errors/stratal-not-initialized.error.js +0 -14
  385. package/dist/errors/stratal-not-initialized.error.js.map +0 -1
  386. package/dist/events/constants.d.ts +0 -11
  387. package/dist/events/constants.d.ts.map +0 -1
  388. package/dist/events/constants.js +0 -11
  389. package/dist/events/constants.js.map +0 -1
  390. package/dist/events/decorators/index.d.ts +0 -3
  391. package/dist/events/decorators/index.d.ts.map +0 -1
  392. package/dist/events/decorators/index.js +0 -3
  393. package/dist/events/decorators/index.js.map +0 -1
  394. package/dist/events/decorators/listener.decorator.d.ts +0 -24
  395. package/dist/events/decorators/listener.decorator.d.ts.map +0 -1
  396. package/dist/events/decorators/listener.decorator.js +0 -33
  397. package/dist/events/decorators/listener.decorator.js.map +0 -1
  398. package/dist/events/decorators/on.decorator.d.ts +0 -28
  399. package/dist/events/decorators/on.decorator.d.ts.map +0 -1
  400. package/dist/events/decorators/on.decorator.js +0 -41
  401. package/dist/events/decorators/on.decorator.js.map +0 -1
  402. package/dist/events/event-registry.d.ts +0 -26
  403. package/dist/events/event-registry.d.ts.map +0 -1
  404. package/dist/events/event-registry.js +0 -156
  405. package/dist/events/event-registry.js.map +0 -1
  406. package/dist/events/index.d.ts +0 -5
  407. package/dist/events/index.d.ts.map +0 -1
  408. package/dist/events/index.js +0 -4
  409. package/dist/events/index.js.map +0 -1
  410. package/dist/events/types.d.ts +0 -116
  411. package/dist/events/types.d.ts.map +0 -1
  412. package/dist/events/types.js +0 -23
  413. package/dist/events/types.js.map +0 -1
  414. package/dist/execution-context.d.ts +0 -4
  415. package/dist/execution-context.d.ts.map +0 -1
  416. package/dist/execution-context.js +0 -2
  417. package/dist/execution-context.js.map +0 -1
  418. package/dist/guards/guard-execution.service.d.ts +0 -37
  419. package/dist/guards/guard-execution.service.d.ts.map +0 -1
  420. package/dist/guards/guard-execution.service.js +0 -74
  421. package/dist/guards/guard-execution.service.js.map +0 -1
  422. package/dist/guards/index.d.ts +0 -12
  423. package/dist/guards/index.d.ts.map +0 -1
  424. package/dist/guards/index.js +0 -12
  425. package/dist/guards/index.js.map +0 -1
  426. package/dist/guards/types.d.ts +0 -60
  427. package/dist/guards/types.d.ts.map +0 -1
  428. package/dist/guards/types.js +0 -5
  429. package/dist/guards/types.js.map +0 -1
  430. package/dist/guards/use-guards.decorator.d.ts +0 -73
  431. package/dist/guards/use-guards.decorator.d.ts.map +0 -1
  432. package/dist/guards/use-guards.decorator.js +0 -89
  433. package/dist/guards/use-guards.decorator.js.map +0 -1
  434. package/dist/i18n/errors/index.d.ts +0 -6
  435. package/dist/i18n/errors/index.d.ts.map +0 -1
  436. package/dist/i18n/errors/index.js +0 -6
  437. package/dist/i18n/errors/index.js.map +0 -1
  438. package/dist/i18n/errors/locale-not-supported.error.d.ts +0 -12
  439. package/dist/i18n/errors/locale-not-supported.error.d.ts.map +0 -1
  440. package/dist/i18n/errors/locale-not-supported.error.js +0 -15
  441. package/dist/i18n/errors/locale-not-supported.error.js.map +0 -1
  442. package/dist/i18n/errors/translation-missing.error.d.ts +0 -12
  443. package/dist/i18n/errors/translation-missing.error.d.ts.map +0 -1
  444. package/dist/i18n/errors/translation-missing.error.js +0 -14
  445. package/dist/i18n/errors/translation-missing.error.js.map +0 -1
  446. package/dist/i18n/i18n.module.d.ts +0 -60
  447. package/dist/i18n/i18n.module.d.ts.map +0 -1
  448. package/dist/i18n/i18n.module.js +0 -103
  449. package/dist/i18n/i18n.module.js.map +0 -1
  450. package/dist/i18n/i18n.options.d.ts +0 -60
  451. package/dist/i18n/i18n.options.d.ts.map +0 -1
  452. package/dist/i18n/i18n.options.js +0 -18
  453. package/dist/i18n/i18n.options.js.map +0 -1
  454. package/dist/i18n/i18n.tokens.d.ts +0 -13
  455. package/dist/i18n/i18n.tokens.d.ts.map +0 -1
  456. package/dist/i18n/i18n.tokens.js +0 -13
  457. package/dist/i18n/i18n.tokens.js.map +0 -1
  458. package/dist/i18n/i18n.types.d.ts +0 -78
  459. package/dist/i18n/i18n.types.d.ts.map +0 -1
  460. package/dist/i18n/i18n.types.js +0 -8
  461. package/dist/i18n/i18n.types.js.map +0 -1
  462. package/dist/i18n/index.d.ts +0 -12
  463. package/dist/i18n/index.d.ts.map +0 -1
  464. package/dist/i18n/index.js +0 -12
  465. package/dist/i18n/index.js.map +0 -1
  466. package/dist/i18n/messages/en/common.d.ts +0 -19
  467. package/dist/i18n/messages/en/common.d.ts.map +0 -1
  468. package/dist/i18n/messages/en/common.js +0 -19
  469. package/dist/i18n/messages/en/common.js.map +0 -1
  470. package/dist/i18n/messages/en/emails.d.ts +0 -12
  471. package/dist/i18n/messages/en/emails.d.ts.map +0 -1
  472. package/dist/i18n/messages/en/emails.js +0 -12
  473. package/dist/i18n/messages/en/emails.js.map +0 -1
  474. package/dist/i18n/messages/en/errors.d.ts +0 -113
  475. package/dist/i18n/messages/en/errors.d.ts.map +0 -1
  476. package/dist/i18n/messages/en/errors.js +0 -130
  477. package/dist/i18n/messages/en/errors.js.map +0 -1
  478. package/dist/i18n/messages/en/index.d.ts +0 -13
  479. package/dist/i18n/messages/en/index.d.ts.map +0 -1
  480. package/dist/i18n/messages/en/index.js +0 -13
  481. package/dist/i18n/messages/en/index.js.map +0 -1
  482. package/dist/i18n/messages/en/validation.d.ts +0 -38
  483. package/dist/i18n/messages/en/validation.d.ts.map +0 -1
  484. package/dist/i18n/messages/en/validation.js +0 -38
  485. package/dist/i18n/messages/en/validation.js.map +0 -1
  486. package/dist/i18n/messages/en/zod.d.ts +0 -125
  487. package/dist/i18n/messages/en/zod.d.ts.map +0 -1
  488. package/dist/i18n/messages/en/zod.js +0 -132
  489. package/dist/i18n/messages/en/zod.js.map +0 -1
  490. package/dist/i18n/messages/index.d.ts +0 -27
  491. package/dist/i18n/messages/index.d.ts.map +0 -1
  492. package/dist/i18n/messages/index.js +0 -25
  493. package/dist/i18n/messages/index.js.map +0 -1
  494. package/dist/i18n/middleware/i18n-context.middleware.d.ts +0 -15
  495. package/dist/i18n/middleware/i18n-context.middleware.d.ts.map +0 -1
  496. package/dist/i18n/middleware/i18n-context.middleware.js +0 -42
  497. package/dist/i18n/middleware/i18n-context.middleware.js.map +0 -1
  498. package/dist/i18n/middleware/index.d.ts +0 -6
  499. package/dist/i18n/middleware/index.d.ts.map +0 -1
  500. package/dist/i18n/middleware/index.js +0 -6
  501. package/dist/i18n/middleware/index.js.map +0 -1
  502. package/dist/i18n/middleware/locale-extraction.middleware.d.ts +0 -19
  503. package/dist/i18n/middleware/locale-extraction.middleware.d.ts.map +0 -1
  504. package/dist/i18n/middleware/locale-extraction.middleware.js +0 -49
  505. package/dist/i18n/middleware/locale-extraction.middleware.js.map +0 -1
  506. package/dist/i18n/services/i18n.service.d.ts +0 -50
  507. package/dist/i18n/services/i18n.service.d.ts.map +0 -1
  508. package/dist/i18n/services/i18n.service.js +0 -82
  509. package/dist/i18n/services/i18n.service.js.map +0 -1
  510. package/dist/i18n/services/message-loader.service.d.ts +0 -65
  511. package/dist/i18n/services/message-loader.service.d.ts.map +0 -1
  512. package/dist/i18n/services/message-loader.service.js +0 -175
  513. package/dist/i18n/services/message-loader.service.js.map +0 -1
  514. package/dist/i18n/setup.d.ts +0 -27
  515. package/dist/i18n/setup.d.ts.map +0 -1
  516. package/dist/i18n/setup.js +0 -40
  517. package/dist/i18n/setup.js.map +0 -1
  518. package/dist/i18n/validation/index.d.ts +0 -9
  519. package/dist/i18n/validation/index.d.ts.map +0 -1
  520. package/dist/i18n/validation/index.js +0 -10
  521. package/dist/i18n/validation/index.js.map +0 -1
  522. package/dist/i18n/validation/validation.context.d.ts +0 -34
  523. package/dist/i18n/validation/validation.context.d.ts.map +0 -1
  524. package/dist/i18n/validation/validation.context.js +0 -42
  525. package/dist/i18n/validation/validation.context.js.map +0 -1
  526. package/dist/i18n/validation/validation.error-map.d.ts +0 -8
  527. package/dist/i18n/validation/validation.error-map.d.ts.map +0 -1
  528. package/dist/i18n/validation/validation.error-map.js +0 -158
  529. package/dist/i18n/validation/validation.error-map.js.map +0 -1
  530. package/dist/i18n/validation/validation.types.d.ts +0 -44
  531. package/dist/i18n/validation/validation.types.d.ts.map +0 -1
  532. package/dist/i18n/validation/validation.types.js +0 -2
  533. package/dist/i18n/validation/validation.types.js.map +0 -1
  534. package/dist/i18n/validation/with-i18n.d.ts +0 -29
  535. package/dist/i18n/validation/with-i18n.d.ts.map +0 -1
  536. package/dist/i18n/validation/with-i18n.js +0 -40
  537. package/dist/i18n/validation/with-i18n.js.map +0 -1
  538. package/dist/index.d.ts +0 -6
  539. package/dist/index.d.ts.map +0 -1
  540. package/dist/index.js +0 -6
  541. package/dist/index.js.map +0 -1
  542. package/dist/logger/contracts/index.d.ts +0 -4
  543. package/dist/logger/contracts/index.d.ts.map +0 -1
  544. package/dist/logger/contracts/index.js +0 -4
  545. package/dist/logger/contracts/index.js.map +0 -1
  546. package/dist/logger/contracts/log-context.d.ts +0 -14
  547. package/dist/logger/contracts/log-context.d.ts.map +0 -1
  548. package/dist/logger/contracts/log-context.js +0 -2
  549. package/dist/logger/contracts/log-context.js.map +0 -1
  550. package/dist/logger/contracts/log-entry.d.ts +0 -17
  551. package/dist/logger/contracts/log-entry.d.ts.map +0 -1
  552. package/dist/logger/contracts/log-entry.js +0 -2
  553. package/dist/logger/contracts/log-entry.js.map +0 -1
  554. package/dist/logger/contracts/log-level.d.ts +0 -16
  555. package/dist/logger/contracts/log-level.d.ts.map +0 -1
  556. package/dist/logger/contracts/log-level.js +0 -22
  557. package/dist/logger/contracts/log-level.js.map +0 -1
  558. package/dist/logger/formatters/formatter.interface.d.ts +0 -14
  559. package/dist/logger/formatters/formatter.interface.d.ts.map +0 -1
  560. package/dist/logger/formatters/formatter.interface.js +0 -2
  561. package/dist/logger/formatters/formatter.interface.js.map +0 -1
  562. package/dist/logger/formatters/index.d.ts +0 -4
  563. package/dist/logger/formatters/index.d.ts.map +0 -1
  564. package/dist/logger/formatters/index.js +0 -4
  565. package/dist/logger/formatters/index.js.map +0 -1
  566. package/dist/logger/formatters/json-formatter.d.ts +0 -21
  567. package/dist/logger/formatters/json-formatter.d.ts.map +0 -1
  568. package/dist/logger/formatters/json-formatter.js +0 -27
  569. package/dist/logger/formatters/json-formatter.js.map +0 -1
  570. package/dist/logger/formatters/pretty-formatter.d.ts +0 -18
  571. package/dist/logger/formatters/pretty-formatter.d.ts.map +0 -1
  572. package/dist/logger/formatters/pretty-formatter.js +0 -41
  573. package/dist/logger/formatters/pretty-formatter.js.map +0 -1
  574. package/dist/logger/index.d.ts +0 -7
  575. package/dist/logger/index.d.ts.map +0 -1
  576. package/dist/logger/index.js +0 -10
  577. package/dist/logger/index.js.map +0 -1
  578. package/dist/logger/logger.tokens.d.ts +0 -29
  579. package/dist/logger/logger.tokens.d.ts.map +0 -1
  580. package/dist/logger/logger.tokens.js +0 -29
  581. package/dist/logger/logger.tokens.js.map +0 -1
  582. package/dist/logger/services/index.d.ts +0 -2
  583. package/dist/logger/services/index.d.ts.map +0 -1
  584. package/dist/logger/services/index.js +0 -2
  585. package/dist/logger/services/index.js.map +0 -1
  586. package/dist/logger/services/logger.service.d.ts +0 -73
  587. package/dist/logger/services/logger.service.d.ts.map +0 -1
  588. package/dist/logger/services/logger.service.js +0 -156
  589. package/dist/logger/services/logger.service.js.map +0 -1
  590. package/dist/logger/transports/base-transport.d.ts +0 -24
  591. package/dist/logger/transports/base-transport.d.ts.map +0 -1
  592. package/dist/logger/transports/base-transport.js +0 -23
  593. package/dist/logger/transports/base-transport.js.map +0 -1
  594. package/dist/logger/transports/console-transport.d.ts +0 -19
  595. package/dist/logger/transports/console-transport.d.ts.map +0 -1
  596. package/dist/logger/transports/console-transport.js +0 -53
  597. package/dist/logger/transports/console-transport.js.map +0 -1
  598. package/dist/logger/transports/index.d.ts +0 -4
  599. package/dist/logger/transports/index.d.ts.map +0 -1
  600. package/dist/logger/transports/index.js +0 -4
  601. package/dist/logger/transports/index.js.map +0 -1
  602. package/dist/logger/transports/transport.interface.d.ts +0 -21
  603. package/dist/logger/transports/transport.interface.d.ts.map +0 -1
  604. package/dist/logger/transports/transport.interface.js +0 -2
  605. package/dist/logger/transports/transport.interface.js.map +0 -1
  606. package/dist/middleware/index.d.ts +0 -24
  607. package/dist/middleware/index.d.ts.map +0 -1
  608. package/dist/middleware/index.js +0 -23
  609. package/dist/middleware/index.js.map +0 -1
  610. package/dist/middleware/middleware-configuration.service.d.ts +0 -70
  611. package/dist/middleware/middleware-configuration.service.d.ts.map +0 -1
  612. package/dist/middleware/middleware-configuration.service.js +0 -239
  613. package/dist/middleware/middleware-configuration.service.js.map +0 -1
  614. package/dist/middleware/middleware-consumer.d.ts +0 -57
  615. package/dist/middleware/middleware-consumer.d.ts.map +0 -1
  616. package/dist/middleware/middleware-consumer.js +0 -130
  617. package/dist/middleware/middleware-consumer.js.map +0 -1
  618. package/dist/middleware/types.d.ts +0 -96
  619. package/dist/middleware/types.d.ts.map +0 -1
  620. package/dist/middleware/types.js +0 -2
  621. package/dist/middleware/types.js.map +0 -1
  622. package/dist/module/errors/index.d.ts +0 -5
  623. package/dist/module/errors/index.d.ts.map +0 -1
  624. package/dist/module/errors/index.js +0 -5
  625. package/dist/module/errors/index.js.map +0 -1
  626. package/dist/module/errors/invalid-module-provider.error.d.ts +0 -11
  627. package/dist/module/errors/invalid-module-provider.error.d.ts.map +0 -1
  628. package/dist/module/errors/invalid-module-provider.error.js +0 -13
  629. package/dist/module/errors/invalid-module-provider.error.js.map +0 -1
  630. package/dist/module/errors/module-already-registered.error.d.ts +0 -11
  631. package/dist/module/errors/module-already-registered.error.d.ts.map +0 -1
  632. package/dist/module/errors/module-already-registered.error.js +0 -13
  633. package/dist/module/errors/module-already-registered.error.js.map +0 -1
  634. package/dist/module/errors/module-circular-dependency.error.d.ts +0 -11
  635. package/dist/module/errors/module-circular-dependency.error.d.ts.map +0 -1
  636. package/dist/module/errors/module-circular-dependency.error.js +0 -14
  637. package/dist/module/errors/module-circular-dependency.error.js.map +0 -1
  638. package/dist/module/errors/module-dependency-not-found.error.d.ts +0 -11
  639. package/dist/module/errors/module-dependency-not-found.error.d.ts.map +0 -1
  640. package/dist/module/errors/module-dependency-not-found.error.js +0 -13
  641. package/dist/module/errors/module-dependency-not-found.error.js.map +0 -1
  642. package/dist/module/index.d.ts +0 -4
  643. package/dist/module/index.d.ts.map +0 -1
  644. package/dist/module/index.js +0 -7
  645. package/dist/module/index.js.map +0 -1
  646. package/dist/module/module-registry.d.ts +0 -110
  647. package/dist/module/module-registry.d.ts.map +0 -1
  648. package/dist/module/module-registry.js +0 -299
  649. package/dist/module/module-registry.js.map +0 -1
  650. package/dist/module/module.decorator.d.ts +0 -34
  651. package/dist/module/module.decorator.d.ts.map +0 -1
  652. package/dist/module/module.decorator.js +0 -107
  653. package/dist/module/module.decorator.js.map +0 -1
  654. package/dist/module/types.d.ts +0 -240
  655. package/dist/module/types.d.ts.map +0 -1
  656. package/dist/module/types.js +0 -8
  657. package/dist/module/types.js.map +0 -1
  658. package/dist/openapi/index.d.ts +0 -5
  659. package/dist/openapi/index.d.ts.map +0 -1
  660. package/dist/openapi/index.js +0 -7
  661. package/dist/openapi/index.js.map +0 -1
  662. package/dist/openapi/openapi.module.d.ts +0 -52
  663. package/dist/openapi/openapi.module.d.ts.map +0 -1
  664. package/dist/openapi/openapi.module.js +0 -109
  665. package/dist/openapi/openapi.module.js.map +0 -1
  666. package/dist/openapi/openapi.tokens.d.ts +0 -12
  667. package/dist/openapi/openapi.tokens.d.ts.map +0 -1
  668. package/dist/openapi/openapi.tokens.js +0 -12
  669. package/dist/openapi/openapi.tokens.js.map +0 -1
  670. package/dist/openapi/services/index.d.ts +0 -3
  671. package/dist/openapi/services/index.d.ts.map +0 -1
  672. package/dist/openapi/services/index.js +0 -3
  673. package/dist/openapi/services/index.js.map +0 -1
  674. package/dist/openapi/services/openapi-config.service.d.ts +0 -43
  675. package/dist/openapi/services/openapi-config.service.d.ts.map +0 -1
  676. package/dist/openapi/services/openapi-config.service.js +0 -98
  677. package/dist/openapi/services/openapi-config.service.js.map +0 -1
  678. package/dist/openapi/services/openapi.service.d.ts +0 -52
  679. package/dist/openapi/services/openapi.service.d.ts.map +0 -1
  680. package/dist/openapi/services/openapi.service.js +0 -231
  681. package/dist/openapi/services/openapi.service.js.map +0 -1
  682. package/dist/openapi/types.d.ts +0 -84
  683. package/dist/openapi/types.d.ts.map +0 -1
  684. package/dist/openapi/types.js +0 -2
  685. package/dist/openapi/types.js.map +0 -1
  686. package/dist/queue/consumer-registry.d.ts +0 -77
  687. package/dist/queue/consumer-registry.d.ts.map +0 -1
  688. package/dist/queue/consumer-registry.js +0 -110
  689. package/dist/queue/consumer-registry.js.map +0 -1
  690. package/dist/queue/decorators/index.d.ts +0 -2
  691. package/dist/queue/decorators/index.d.ts.map +0 -1
  692. package/dist/queue/decorators/index.js +0 -2
  693. package/dist/queue/decorators/index.js.map +0 -1
  694. package/dist/queue/decorators/inject-queue.decorator.d.ts +0 -31
  695. package/dist/queue/decorators/inject-queue.decorator.d.ts.map +0 -1
  696. package/dist/queue/decorators/inject-queue.decorator.js +0 -33
  697. package/dist/queue/decorators/inject-queue.decorator.js.map +0 -1
  698. package/dist/queue/errors/index.d.ts +0 -3
  699. package/dist/queue/errors/index.d.ts.map +0 -1
  700. package/dist/queue/errors/index.js +0 -3
  701. package/dist/queue/errors/index.js.map +0 -1
  702. package/dist/queue/errors/queue-binding-not-found.error.d.ts +0 -12
  703. package/dist/queue/errors/queue-binding-not-found.error.d.ts.map +0 -1
  704. package/dist/queue/errors/queue-binding-not-found.error.js +0 -14
  705. package/dist/queue/errors/queue-binding-not-found.error.js.map +0 -1
  706. package/dist/queue/errors/queue-provider-not-supported.error.d.ts +0 -13
  707. package/dist/queue/errors/queue-provider-not-supported.error.d.ts.map +0 -1
  708. package/dist/queue/errors/queue-provider-not-supported.error.js +0 -15
  709. package/dist/queue/errors/queue-provider-not-supported.error.js.map +0 -1
  710. package/dist/queue/index.d.ts +0 -14
  711. package/dist/queue/index.d.ts.map +0 -1
  712. package/dist/queue/index.js +0 -21
  713. package/dist/queue/index.js.map +0 -1
  714. package/dist/queue/providers/cloudflare-queue.provider.d.ts +0 -42
  715. package/dist/queue/providers/cloudflare-queue.provider.d.ts.map +0 -1
  716. package/dist/queue/providers/cloudflare-queue.provider.js +0 -73
  717. package/dist/queue/providers/cloudflare-queue.provider.js.map +0 -1
  718. package/dist/queue/providers/index.d.ts +0 -4
  719. package/dist/queue/providers/index.d.ts.map +0 -1
  720. package/dist/queue/providers/index.js +0 -4
  721. package/dist/queue/providers/index.js.map +0 -1
  722. package/dist/queue/providers/queue-provider.interface.d.ts +0 -34
  723. package/dist/queue/providers/queue-provider.interface.d.ts.map +0 -1
  724. package/dist/queue/providers/queue-provider.interface.js +0 -2
  725. package/dist/queue/providers/queue-provider.interface.js.map +0 -1
  726. package/dist/queue/providers/sync-queue.provider.d.ts +0 -48
  727. package/dist/queue/providers/sync-queue.provider.d.ts.map +0 -1
  728. package/dist/queue/providers/sync-queue.provider.js +0 -89
  729. package/dist/queue/providers/sync-queue.provider.js.map +0 -1
  730. package/dist/queue/queue-consumer.d.ts +0 -62
  731. package/dist/queue/queue-consumer.d.ts.map +0 -1
  732. package/dist/queue/queue-consumer.js +0 -2
  733. package/dist/queue/queue-consumer.js.map +0 -1
  734. package/dist/queue/queue-manager.d.ts +0 -36
  735. package/dist/queue/queue-manager.d.ts.map +0 -1
  736. package/dist/queue/queue-manager.js +0 -80
  737. package/dist/queue/queue-manager.js.map +0 -1
  738. package/dist/queue/queue-name.d.ts +0 -50
  739. package/dist/queue/queue-name.d.ts.map +0 -1
  740. package/dist/queue/queue-name.js +0 -21
  741. package/dist/queue/queue-name.js.map +0 -1
  742. package/dist/queue/queue-registry.d.ts +0 -46
  743. package/dist/queue/queue-registry.d.ts.map +0 -1
  744. package/dist/queue/queue-registry.js +0 -78
  745. package/dist/queue/queue-registry.js.map +0 -1
  746. package/dist/queue/queue-sender.d.ts +0 -38
  747. package/dist/queue/queue-sender.d.ts.map +0 -1
  748. package/dist/queue/queue-sender.interface.d.ts +0 -46
  749. package/dist/queue/queue-sender.interface.d.ts.map +0 -1
  750. package/dist/queue/queue-sender.interface.js +0 -2
  751. package/dist/queue/queue-sender.interface.js.map +0 -1
  752. package/dist/queue/queue-sender.js +0 -54
  753. package/dist/queue/queue-sender.js.map +0 -1
  754. package/dist/queue/queue.module.d.ts +0 -80
  755. package/dist/queue/queue.module.d.ts.map +0 -1
  756. package/dist/queue/queue.module.js +0 -113
  757. package/dist/queue/queue.module.js.map +0 -1
  758. package/dist/queue/queue.tokens.d.ts +0 -7
  759. package/dist/queue/queue.tokens.d.ts.map +0 -1
  760. package/dist/queue/queue.tokens.js +0 -6
  761. package/dist/queue/queue.tokens.js.map +0 -1
  762. package/dist/queue/services/index.d.ts +0 -2
  763. package/dist/queue/services/index.d.ts.map +0 -1
  764. package/dist/queue/services/index.js +0 -2
  765. package/dist/queue/services/index.js.map +0 -1
  766. package/dist/queue/services/queue-provider-factory.d.ts +0 -41
  767. package/dist/queue/services/queue-provider-factory.d.ts.map +0 -1
  768. package/dist/queue/services/queue-provider-factory.js +0 -78
  769. package/dist/queue/services/queue-provider-factory.js.map +0 -1
  770. package/dist/router/constants.d.ts +0 -87
  771. package/dist/router/constants.d.ts.map +0 -1
  772. package/dist/router/constants.js +0 -69
  773. package/dist/router/constants.js.map +0 -1
  774. package/dist/router/controller.d.ts +0 -56
  775. package/dist/router/controller.d.ts.map +0 -1
  776. package/dist/router/controller.js +0 -2
  777. package/dist/router/controller.js.map +0 -1
  778. package/dist/router/decorators/controller.decorator.d.ts +0 -46
  779. package/dist/router/decorators/controller.decorator.d.ts.map +0 -1
  780. package/dist/router/decorators/controller.decorator.js +0 -70
  781. package/dist/router/decorators/controller.decorator.js.map +0 -1
  782. package/dist/router/decorators/http-method.decorator.d.ts +0 -83
  783. package/dist/router/decorators/http-method.decorator.d.ts.map +0 -1
  784. package/dist/router/decorators/http-method.decorator.js +0 -113
  785. package/dist/router/decorators/http-method.decorator.js.map +0 -1
  786. package/dist/router/decorators/index.d.ts +0 -4
  787. package/dist/router/decorators/index.d.ts.map +0 -1
  788. package/dist/router/decorators/index.js +0 -6
  789. package/dist/router/decorators/index.js.map +0 -1
  790. package/dist/router/decorators/route.decorator.d.ts +0 -90
  791. package/dist/router/decorators/route.decorator.d.ts.map +0 -1
  792. package/dist/router/decorators/route.decorator.js +0 -102
  793. package/dist/router/decorators/route.decorator.js.map +0 -1
  794. package/dist/router/errors/controller-method-not-found.error.d.ts +0 -11
  795. package/dist/router/errors/controller-method-not-found.error.d.ts.map +0 -1
  796. package/dist/router/errors/controller-method-not-found.error.js +0 -13
  797. package/dist/router/errors/controller-method-not-found.error.js.map +0 -1
  798. package/dist/router/errors/controller-registration.error.d.ts +0 -15
  799. package/dist/router/errors/controller-registration.error.d.ts.map +0 -1
  800. package/dist/router/errors/controller-registration.error.js +0 -20
  801. package/dist/router/errors/controller-registration.error.js.map +0 -1
  802. package/dist/router/errors/hono-app-already-configured.error.d.ts +0 -10
  803. package/dist/router/errors/hono-app-already-configured.error.d.ts.map +0 -1
  804. package/dist/router/errors/hono-app-already-configured.error.js +0 -12
  805. package/dist/router/errors/hono-app-already-configured.error.js.map +0 -1
  806. package/dist/router/errors/index.d.ts +0 -8
  807. package/dist/router/errors/index.d.ts.map +0 -1
  808. package/dist/router/errors/index.js +0 -8
  809. package/dist/router/errors/index.js.map +0 -1
  810. package/dist/router/errors/openapi-route-registration.error.d.ts +0 -17
  811. package/dist/router/errors/openapi-route-registration.error.d.ts.map +0 -1
  812. package/dist/router/errors/openapi-route-registration.error.js +0 -19
  813. package/dist/router/errors/openapi-route-registration.error.js.map +0 -1
  814. package/dist/router/errors/openapi-validation.error.d.ts +0 -19
  815. package/dist/router/errors/openapi-validation.error.d.ts.map +0 -1
  816. package/dist/router/errors/openapi-validation.error.js +0 -21
  817. package/dist/router/errors/openapi-validation.error.js.map +0 -1
  818. package/dist/router/errors/route-not-found.error.d.ts +0 -11
  819. package/dist/router/errors/route-not-found.error.d.ts.map +0 -1
  820. package/dist/router/errors/route-not-found.error.js +0 -13
  821. package/dist/router/errors/route-not-found.error.js.map +0 -1
  822. package/dist/router/errors/schema-validation.error.d.ts +0 -11
  823. package/dist/router/errors/schema-validation.error.d.ts.map +0 -1
  824. package/dist/router/errors/schema-validation.error.js +0 -17
  825. package/dist/router/errors/schema-validation.error.js.map +0 -1
  826. package/dist/router/hono-app.d.ts +0 -38
  827. package/dist/router/hono-app.d.ts.map +0 -1
  828. package/dist/router/hono-app.js +0 -126
  829. package/dist/router/hono-app.js.map +0 -1
  830. package/dist/router/index.d.ts +0 -16
  831. package/dist/router/index.d.ts.map +0 -1
  832. package/dist/router/index.js +0 -21
  833. package/dist/router/index.js.map +0 -1
  834. package/dist/router/middleware/index.d.ts +0 -2
  835. package/dist/router/middleware/index.d.ts.map +0 -1
  836. package/dist/router/middleware/index.js +0 -4
  837. package/dist/router/middleware/index.js.map +0 -1
  838. package/dist/router/middleware/logger.middleware.d.ts +0 -19
  839. package/dist/router/middleware/logger.middleware.d.ts.map +0 -1
  840. package/dist/router/middleware/logger.middleware.js +0 -32
  841. package/dist/router/middleware/logger.middleware.js.map +0 -1
  842. package/dist/router/middleware.interface.d.ts +0 -38
  843. package/dist/router/middleware.interface.d.ts.map +0 -1
  844. package/dist/router/middleware.interface.js +0 -2
  845. package/dist/router/middleware.interface.js.map +0 -1
  846. package/dist/router/router-context.d.ts +0 -143
  847. package/dist/router/router-context.d.ts.map +0 -1
  848. package/dist/router/router-context.js +0 -179
  849. package/dist/router/router-context.js.map +0 -1
  850. package/dist/router/router.tokens.d.ts +0 -11
  851. package/dist/router/router.tokens.d.ts.map +0 -1
  852. package/dist/router/router.tokens.js +0 -11
  853. package/dist/router/router.tokens.js.map +0 -1
  854. package/dist/router/schemas/common.schemas.d.ts +0 -148
  855. package/dist/router/schemas/common.schemas.d.ts.map +0 -1
  856. package/dist/router/schemas/common.schemas.js +0 -88
  857. package/dist/router/schemas/common.schemas.js.map +0 -1
  858. package/dist/router/schemas/index.d.ts +0 -2
  859. package/dist/router/schemas/index.d.ts.map +0 -1
  860. package/dist/router/schemas/index.js +0 -2
  861. package/dist/router/schemas/index.js.map +0 -1
  862. package/dist/router/services/index.d.ts +0 -6
  863. package/dist/router/services/index.d.ts.map +0 -1
  864. package/dist/router/services/index.js +0 -6
  865. package/dist/router/services/index.js.map +0 -1
  866. package/dist/router/services/route-registration.service.d.ts +0 -129
  867. package/dist/router/services/route-registration.service.d.ts.map +0 -1
  868. package/dist/router/services/route-registration.service.js +0 -700
  869. package/dist/router/services/route-registration.service.js.map +0 -1
  870. package/dist/router/types.d.ts +0 -187
  871. package/dist/router/types.d.ts.map +0 -1
  872. package/dist/router/types.js +0 -2
  873. package/dist/router/types.js.map +0 -1
  874. package/dist/storage/contracts/delete-file.input.d.ts +0 -7
  875. package/dist/storage/contracts/delete-file.input.d.ts.map +0 -1
  876. package/dist/storage/contracts/delete-file.input.js +0 -6
  877. package/dist/storage/contracts/delete-file.input.js.map +0 -1
  878. package/dist/storage/contracts/download-result.d.ts +0 -28
  879. package/dist/storage/contracts/download-result.d.ts.map +0 -1
  880. package/dist/storage/contracts/download-result.js +0 -2
  881. package/dist/storage/contracts/download-result.js.map +0 -1
  882. package/dist/storage/contracts/file-exists.input.d.ts +0 -7
  883. package/dist/storage/contracts/file-exists.input.d.ts.map +0 -1
  884. package/dist/storage/contracts/file-exists.input.js +0 -6
  885. package/dist/storage/contracts/file-exists.input.js.map +0 -1
  886. package/dist/storage/contracts/get-presigned-url.input.d.ts +0 -26
  887. package/dist/storage/contracts/get-presigned-url.input.d.ts.map +0 -1
  888. package/dist/storage/contracts/get-presigned-url.input.js +0 -14
  889. package/dist/storage/contracts/get-presigned-url.input.js.map +0 -1
  890. package/dist/storage/contracts/index.d.ts +0 -6
  891. package/dist/storage/contracts/index.d.ts.map +0 -1
  892. package/dist/storage/contracts/index.js +0 -6
  893. package/dist/storage/contracts/index.js.map +0 -1
  894. package/dist/storage/contracts/upload-file.input.d.ts +0 -34
  895. package/dist/storage/contracts/upload-file.input.d.ts.map +0 -1
  896. package/dist/storage/contracts/upload-file.input.js +0 -10
  897. package/dist/storage/contracts/upload-file.input.js.map +0 -1
  898. package/dist/storage/dom.polyfill.d.ts +0 -2
  899. package/dist/storage/dom.polyfill.d.ts.map +0 -1
  900. package/dist/storage/dom.polyfill.js +0 -30
  901. package/dist/storage/dom.polyfill.js.map +0 -1
  902. package/dist/storage/errors/disk-not-configured.error.d.ts +0 -5
  903. package/dist/storage/errors/disk-not-configured.error.d.ts.map +0 -1
  904. package/dist/storage/errors/disk-not-configured.error.js +0 -7
  905. package/dist/storage/errors/disk-not-configured.error.js.map +0 -1
  906. package/dist/storage/errors/file-not-found.error.d.ts +0 -5
  907. package/dist/storage/errors/file-not-found.error.d.ts.map +0 -1
  908. package/dist/storage/errors/file-not-found.error.js +0 -8
  909. package/dist/storage/errors/file-not-found.error.js.map +0 -1
  910. package/dist/storage/errors/file-too-large.error.d.ts +0 -5
  911. package/dist/storage/errors/file-too-large.error.d.ts.map +0 -1
  912. package/dist/storage/errors/file-too-large.error.js +0 -11
  913. package/dist/storage/errors/file-too-large.error.js.map +0 -1
  914. package/dist/storage/errors/index.d.ts +0 -9
  915. package/dist/storage/errors/index.d.ts.map +0 -1
  916. package/dist/storage/errors/index.js +0 -9
  917. package/dist/storage/errors/index.js.map +0 -1
  918. package/dist/storage/errors/invalid-disk.error.d.ts +0 -5
  919. package/dist/storage/errors/invalid-disk.error.d.ts.map +0 -1
  920. package/dist/storage/errors/invalid-disk.error.js +0 -8
  921. package/dist/storage/errors/invalid-disk.error.js.map +0 -1
  922. package/dist/storage/errors/invalid-file-type.error.d.ts +0 -5
  923. package/dist/storage/errors/invalid-file-type.error.d.ts.map +0 -1
  924. package/dist/storage/errors/invalid-file-type.error.js +0 -10
  925. package/dist/storage/errors/invalid-file-type.error.js.map +0 -1
  926. package/dist/storage/errors/presigned-url-invalid-expiry.error.d.ts +0 -5
  927. package/dist/storage/errors/presigned-url-invalid-expiry.error.d.ts.map +0 -1
  928. package/dist/storage/errors/presigned-url-invalid-expiry.error.js +0 -12
  929. package/dist/storage/errors/presigned-url-invalid-expiry.error.js.map +0 -1
  930. package/dist/storage/errors/storage-provider-not-supported.error.d.ts +0 -5
  931. package/dist/storage/errors/storage-provider-not-supported.error.d.ts.map +0 -1
  932. package/dist/storage/errors/storage-provider-not-supported.error.js +0 -8
  933. package/dist/storage/errors/storage-provider-not-supported.error.js.map +0 -1
  934. package/dist/storage/errors/storage-response-body-missing.error.d.ts +0 -5
  935. package/dist/storage/errors/storage-response-body-missing.error.d.ts.map +0 -1
  936. package/dist/storage/errors/storage-response-body-missing.error.js +0 -8
  937. package/dist/storage/errors/storage-response-body-missing.error.js.map +0 -1
  938. package/dist/storage/index.d.ts +0 -15
  939. package/dist/storage/index.d.ts.map +0 -1
  940. package/dist/storage/index.js +0 -18
  941. package/dist/storage/index.js.map +0 -1
  942. package/dist/storage/providers/s3-multipart-provider.interface.d.ts +0 -194
  943. package/dist/storage/providers/s3-multipart-provider.interface.d.ts.map +0 -1
  944. package/dist/storage/providers/s3-multipart-provider.interface.js +0 -2
  945. package/dist/storage/providers/s3-multipart-provider.interface.js.map +0 -1
  946. package/dist/storage/providers/s3-storage.provider.d.ts +0 -77
  947. package/dist/storage/providers/s3-storage.provider.d.ts.map +0 -1
  948. package/dist/storage/providers/s3-storage.provider.js +0 -310
  949. package/dist/storage/providers/s3-storage.provider.js.map +0 -1
  950. package/dist/storage/providers/storage-provider.interface.d.ts +0 -58
  951. package/dist/storage/providers/storage-provider.interface.d.ts.map +0 -1
  952. package/dist/storage/providers/storage-provider.interface.js +0 -2
  953. package/dist/storage/providers/storage-provider.interface.js.map +0 -1
  954. package/dist/storage/services/storage-manager.service.d.ts +0 -48
  955. package/dist/storage/services/storage-manager.service.d.ts.map +0 -1
  956. package/dist/storage/services/storage-manager.service.js +0 -111
  957. package/dist/storage/services/storage-manager.service.js.map +0 -1
  958. package/dist/storage/services/storage.service.d.ts +0 -137
  959. package/dist/storage/services/storage.service.d.ts.map +0 -1
  960. package/dist/storage/services/storage.service.js +0 -229
  961. package/dist/storage/services/storage.service.js.map +0 -1
  962. package/dist/storage/storage.module.d.ts +0 -52
  963. package/dist/storage/storage.module.d.ts.map +0 -1
  964. package/dist/storage/storage.module.js +0 -81
  965. package/dist/storage/storage.module.js.map +0 -1
  966. package/dist/storage/storage.tokens.d.ts +0 -10
  967. package/dist/storage/storage.tokens.d.ts.map +0 -1
  968. package/dist/storage/storage.tokens.js +0 -10
  969. package/dist/storage/storage.tokens.js.map +0 -1
  970. package/dist/storage/types.d.ts +0 -31
  971. package/dist/storage/types.d.ts.map +0 -1
  972. package/dist/storage/types.js +0 -2
  973. package/dist/storage/types.js.map +0 -1
  974. package/dist/stratal.d.ts +0 -39
  975. package/dist/stratal.d.ts.map +0 -1
  976. package/dist/stratal.js +0 -77
  977. package/dist/stratal.js.map +0 -1
  978. package/dist/types.d.ts.map +0 -1
  979. package/dist/types.js +0 -2
  980. package/dist/types.js.map +0 -1
  981. package/dist/websocket/decorators/gateway.decorator.d.ts +0 -39
  982. package/dist/websocket/decorators/gateway.decorator.d.ts.map +0 -1
  983. package/dist/websocket/decorators/gateway.decorator.js +0 -55
  984. package/dist/websocket/decorators/gateway.decorator.js.map +0 -1
  985. package/dist/websocket/decorators/index.d.ts +0 -3
  986. package/dist/websocket/decorators/index.d.ts.map +0 -1
  987. package/dist/websocket/decorators/index.js +0 -3
  988. package/dist/websocket/decorators/index.js.map +0 -1
  989. package/dist/websocket/decorators/ws-event.decorator.d.ts +0 -59
  990. package/dist/websocket/decorators/ws-event.decorator.d.ts.map +0 -1
  991. package/dist/websocket/decorators/ws-event.decorator.js +0 -94
  992. package/dist/websocket/decorators/ws-event.decorator.js.map +0 -1
  993. package/dist/websocket/errors/websocket-body-not-available.error.d.ts +0 -5
  994. package/dist/websocket/errors/websocket-body-not-available.error.d.ts.map +0 -1
  995. package/dist/websocket/errors/websocket-body-not-available.error.js +0 -7
  996. package/dist/websocket/errors/websocket-body-not-available.error.js.map +0 -1
  997. package/dist/websocket/errors/websocket-duplicate-event-handler.error.d.ts +0 -5
  998. package/dist/websocket/errors/websocket-duplicate-event-handler.error.d.ts.map +0 -1
  999. package/dist/websocket/errors/websocket-duplicate-event-handler.error.js +0 -7
  1000. package/dist/websocket/errors/websocket-duplicate-event-handler.error.js.map +0 -1
  1001. package/dist/websocket/gateway-context.d.ts +0 -51
  1002. package/dist/websocket/gateway-context.d.ts.map +0 -1
  1003. package/dist/websocket/gateway-context.js +0 -66
  1004. package/dist/websocket/gateway-context.js.map +0 -1
  1005. package/dist/websocket/index.d.ts +0 -7
  1006. package/dist/websocket/index.d.ts.map +0 -1
  1007. package/dist/websocket/index.js +0 -5
  1008. package/dist/websocket/index.js.map +0 -1
  1009. package/dist/websocket/types.d.ts +0 -7
  1010. package/dist/websocket/types.d.ts.map +0 -1
  1011. package/dist/websocket/types.js +0 -2
  1012. package/dist/websocket/types.js.map +0 -1
  1013. package/dist/workers/index.d.ts +0 -5
  1014. package/dist/workers/index.d.ts.map +0 -1
  1015. package/dist/workers/index.js +0 -5
  1016. package/dist/workers/index.js.map +0 -1
  1017. package/dist/workers/run-in-scope.d.ts +0 -9
  1018. package/dist/workers/run-in-scope.d.ts.map +0 -1
  1019. package/dist/workers/run-in-scope.js +0 -13
  1020. package/dist/workers/run-in-scope.js.map +0 -1
  1021. package/dist/workers/stratal-durable-object.d.ts +0 -28
  1022. package/dist/workers/stratal-durable-object.d.ts.map +0 -1
  1023. package/dist/workers/stratal-durable-object.js +0 -34
  1024. package/dist/workers/stratal-durable-object.js.map +0 -1
  1025. package/dist/workers/stratal-worker-entrypoint.d.ts +0 -27
  1026. package/dist/workers/stratal-worker-entrypoint.d.ts.map +0 -1
  1027. package/dist/workers/stratal-worker-entrypoint.js +0 -28
  1028. package/dist/workers/stratal-worker-entrypoint.js.map +0 -1
  1029. package/dist/workers/stratal-workflow.d.ts +0 -27
  1030. package/dist/workers/stratal-workflow.d.ts.map +0 -1
  1031. package/dist/workers/stratal-workflow.js +0 -28
  1032. package/dist/workers/stratal-workflow.js.map +0 -1
@@ -0,0 +1,273 @@
1
+ import { dt as OnInitialize, it as DynamicModule, lt as ModuleContext, ot as FactoryProvider } from "../index-C9bIk5tt.mjs";
2
+ import { o as z } from "../index-Dl4RvzNp.mjs";
3
+ import { InjectionToken } from "tsyringe";
4
+
5
+ //#region src/config/config.tokens.d.ts
6
+ declare const CONFIG_TOKENS: {
7
+ readonly ConfigService: symbol;
8
+ };
9
+ //#endregion
10
+ //#region src/config/register-as.d.ts
11
+ /**
12
+ * Configuration namespace registration result
13
+ */
14
+ interface ConfigNamespace<TKey extends string, TEnv, TConfig extends object> {
15
+ /** Auto-derived injection token (e.g., 'database' -> Symbol('stratal:config:database')) */
16
+ readonly KEY: InjectionToken<TConfig>;
17
+ /** The namespace key */
18
+ readonly namespace: TKey;
19
+ /** The factory function that receives env and returns config */
20
+ readonly factory: (env: TEnv) => TConfig;
21
+ /**
22
+ * Returns a provider configuration for use in module registration
23
+ * Automatically injects DI_TOKENS.CloudflareEnv
24
+ */
25
+ asProvider(): FactoryProvider<TConfig>;
26
+ }
27
+ /**
28
+ * Create a namespaced configuration factory
29
+ * Similar to NestJS registerAs
30
+ *
31
+ * @param namespace - Configuration namespace (e.g., 'database', 'email')
32
+ * @param factory - Factory function receiving env and returning config object
33
+ * @returns ConfigNamespace with token, factory, and asProvider() method
34
+ *
35
+ * @example
36
+ * ```typescript
37
+ * // apps/backend/src/config/database.config.ts
38
+ * export const databaseConfig = registerAs('database', (env: Env) => ({
39
+ * url: env.DATABASE_URL,
40
+ * maxConnections: parseInt(env.DATABASE_MAX_CONNECTIONS || '10'),
41
+ * }))
42
+ *
43
+ * // Auto-generates: databaseConfig.KEY = Symbol('stratal:config:database')
44
+ *
45
+ * // Usage in module:
46
+ * // Option 1: Manual provider
47
+ * {
48
+ * provide: databaseConfig.KEY,
49
+ * useFactory: databaseConfig.factory,
50
+ * inject: [DI_TOKENS.CloudflareEnv]
51
+ * }
52
+ *
53
+ * // Option 2: asProvider() helper
54
+ * databaseConfig.asProvider()
55
+ * // Returns: { provide: databaseConfig.KEY, useFactory: ..., inject: [DI_TOKENS.CloudflareEnv] }
56
+ * ```
57
+ */
58
+ declare function registerAs<TKey extends string, TEnv, TConfig extends object>(namespace: TKey, factory: (env: TEnv) => TConfig): ConfigNamespace<TKey, TEnv, TConfig>;
59
+ /**
60
+ * Helper to derive config type from registerAs result
61
+ *
62
+ * @example
63
+ * ```typescript
64
+ * const databaseConfig = registerAs('database', (env) => ({ url: env.DATABASE_URL }))
65
+ * type DatabaseConfig = InferConfigType<typeof databaseConfig>
66
+ * // { url: string }
67
+ * ```
68
+ */
69
+ type InferConfigType<T> = T extends ConfigNamespace<string, unknown, infer C> ? C : never;
70
+ //#endregion
71
+ //#region src/config/config.module.d.ts
72
+ /**
73
+ * Any config namespace - uses structural typing for flexibility
74
+ */
75
+ type AnyConfigNamespace = ConfigNamespace<string, any, object>;
76
+ /**
77
+ * Options for ConfigModule.forRoot
78
+ */
79
+ interface ConfigModuleOptions {
80
+ /**
81
+ * Array of config namespaces created via registerAs()
82
+ */
83
+ load: AnyConfigNamespace[];
84
+ /**
85
+ * Optional Zod schema for validating the merged config
86
+ * Validates the entire config object after all namespaces are merged
87
+ */
88
+ validateSchema?: z.ZodType<object>;
89
+ }
90
+ /**
91
+ * ConfigModule
92
+ *
93
+ * Provides configuration management with namespace support.
94
+ * Uses registerAs() to create typed config namespaces that can be injected.
95
+ *
96
+ * @example
97
+ * ```typescript
98
+ * // Define config namespaces
99
+ * const databaseConfig = registerAs('database', (env) => ({
100
+ * url: env.DATABASE_URL,
101
+ * maxConnections: 10
102
+ * }))
103
+ *
104
+ * const emailConfig = registerAs('email', (env) => ({
105
+ * provider: env.EMAIL_PROVIDER,
106
+ * from: { name: 'App', email: 'noreply@example.com' }
107
+ * }))
108
+ *
109
+ * // Register in module
110
+ * @Module({
111
+ * imports: [
112
+ * ConfigModule.forRoot({
113
+ * load: [databaseConfig, emailConfig],
114
+ * validateSchema: AppConfigSchema
115
+ * })
116
+ * ]
117
+ * })
118
+ * export class AppModule {}
119
+ *
120
+ * // Inject config
121
+ * constructor(
122
+ * @inject(CONFIG_TOKENS.ConfigService) private config: IConfigService,
123
+ * @inject(databaseConfig.KEY) private dbConfig: DatabaseConfig
124
+ * ) {
125
+ * // Use dot notation
126
+ * const url = this.config.get('database.url')
127
+ *
128
+ * // Or inject namespace directly
129
+ * const url = this.dbConfig.url
130
+ * }
131
+ * ```
132
+ */
133
+ declare class ConfigModule implements OnInitialize {
134
+ /**
135
+ * Configure ConfigModule with namespace loaders
136
+ *
137
+ * @param options - Configuration options
138
+ * @returns Dynamic module with config infrastructure
139
+ */
140
+ static forRoot(options: ConfigModuleOptions): DynamicModule;
141
+ /**
142
+ * Initialize config service with merged namespaces
143
+ * Called after all providers are registered
144
+ */
145
+ onInitialize(context: ModuleContext): void;
146
+ }
147
+ //#endregion
148
+ //#region src/config/config.types.d.ts
149
+ declare class ConfigValidationError extends Error {
150
+ readonly errors: z.ZodError;
151
+ constructor(message: string, errors: z.ZodError);
152
+ }
153
+ /**
154
+ * Configuration that can be augmented by applications
155
+ * Apps should augment this interface with their AppConfig type using module augmentation
156
+ *
157
+ * @example
158
+ * ```typescript
159
+ * // In your app (e.g., apps/backend/src/config/types.ts)
160
+ * declare module 'stratal' {
161
+ * interface ModuleConfig {
162
+ * database: { url: string; maxConnections: number }
163
+ * email: { provider: string; from: { name: string; email: string } }
164
+ * }
165
+ * }
166
+ * ```
167
+ */
168
+ interface ModuleConfig {}
169
+ /**
170
+ * Generate all valid dot-notation paths from a config object type
171
+ * @example ConfigPath<{ database: { url: string } }> = 'database' | 'database.url'
172
+ */
173
+ type ConfigPath<T> = { [K in keyof T & string]: T[K] extends Record<string, unknown> ? K | `${K}.${ConfigPath<T[K]>}` : K }[keyof T & string];
174
+ /**
175
+ * Get the value type at a dot-notation path
176
+ * @example ConfigPathValue<{ database: { url: string } }, 'database.url'> = string
177
+ */
178
+ type ConfigPathValue<T, P extends string> = P extends `${infer K}.${infer Rest}` ? K extends keyof T ? T[K] extends Record<string, unknown> ? ConfigPathValue<T[K], Rest> : never : never : P extends keyof T ? T[P] : never;
179
+ /**
180
+ * ConfigService interface with dot notation support
181
+ */
182
+ interface IConfigService<T extends object = ModuleConfig> {
183
+ /**
184
+ * Initialize the config service with validated configuration
185
+ * Should be called once during application startup
186
+ */
187
+ initialize(config: T): void;
188
+ /**
189
+ * Get config value using dot notation
190
+ * @example config.get('database.url')
191
+ */
192
+ get<P extends ConfigPath<T>>(path: P): ConfigPathValue<T, P>;
193
+ /**
194
+ * Set config value at runtime (for runtime overrides)
195
+ * @example config.set('email.from.name', 'Custom Name')
196
+ */
197
+ set<P extends ConfigPath<T>>(path: P, value: ConfigPathValue<T, P>): void;
198
+ /**
199
+ * Reset config to original value
200
+ * @param path - Optional path to reset (resets entire config if omitted)
201
+ */
202
+ reset(path?: ConfigPath<T>): void;
203
+ /**
204
+ * Get entire config object
205
+ */
206
+ all(): Readonly<T>;
207
+ /**
208
+ * Check if a config path exists
209
+ */
210
+ has(path: ConfigPath<T>): boolean;
211
+ }
212
+ //#endregion
213
+ //#region src/config/services/config.service.d.ts
214
+ /**
215
+ * ConfigService with dot notation support for get/set operations
216
+ *
217
+ * Supports runtime overrides via set() - useful for request-specific config overrides.
218
+ * Use reset() to restore original values.
219
+ *
220
+ * @example
221
+ * ```typescript
222
+ * // Get with dot notation
223
+ * const url = config.get('database.url')
224
+ * const fromName = config.get('email.from.name')
225
+ *
226
+ * // Set at runtime (e.g., in middleware for runtime override)
227
+ * config.set('email.from.name', 'Custom Name')
228
+ *
229
+ * // Reset to original
230
+ * config.reset('email.from.name') // reset specific path
231
+ * config.reset() // reset entire config
232
+ * ```
233
+ */
234
+ declare class ConfigService<T extends object = ModuleConfig> implements IConfigService<T> {
235
+ private originalConfig;
236
+ private currentConfig;
237
+ /**
238
+ * Initialize the config service with validated configuration
239
+ * Called by ConfigModule during initialization
240
+ */
241
+ initialize(config: T): void;
242
+ /**
243
+ * Get config value using dot notation
244
+ * @example config.get('database.url')
245
+ */
246
+ get<P extends ConfigPath<T>>(path: P): ConfigPathValue<T, P>;
247
+ /**
248
+ * Set config value at runtime (for runtime overrides)
249
+ * @example config.set('email.from.name', 'Custom Name')
250
+ */
251
+ set<P extends ConfigPath<T>>(path: P, value: ConfigPathValue<T, P>): void;
252
+ /**
253
+ * Reset config to original value
254
+ * @param path - Optional path to reset (resets entire config if omitted)
255
+ */
256
+ reset(path?: ConfigPath<T>): void;
257
+ /**
258
+ * Get entire config object
259
+ */
260
+ all(): Readonly<T>;
261
+ /**
262
+ * Check if a config path exists
263
+ */
264
+ has(path: ConfigPath<T>): boolean;
265
+ private getByPath;
266
+ private setByPath;
267
+ private isDangerousKey;
268
+ private ensureInitialized;
269
+ private deepClone;
270
+ }
271
+ //#endregion
272
+ export { CONFIG_TOKENS, ConfigModule, type ConfigModuleOptions, type ConfigNamespace, type ConfigPath, type ConfigPathValue, ConfigService, ConfigValidationError, type IConfigService, type InferConfigType, type ModuleConfig, registerAs };
273
+ //# sourceMappingURL=index.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../../src/config/config.tokens.ts","../../src/config/register-as.ts","../../src/config/config.module.ts","../../src/config/config.types.ts","../../src/config/services/config.service.ts"],"mappings":";;;;;cAAa,aAAA;EAAA,SAEH,aAAA;AAAA;;;;;;UCKO,eAAA;EDLP;EAAA,SCOC,GAAA,EAAK,cAAA,CAAe,OAAA;EDPrB;EAAA,SCSC,SAAA,EAAW,IAAA;;WAEX,OAAA,GAAU,GAAA,EAAK,IAAA,KAAS,OAAA;;AANnC;;;EAWE,UAAA,IAAc,eAAA,CAAgB,OAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;AAkChC;;;;;;;iBAAgB,UAAA,mDAAA,CACd,SAAA,EAAW,IAAA,EACX,OAAA,GAAU,GAAA,EAAK,IAAA,KAAS,OAAA,GACvB,eAAA,CAAgB,IAAA,EAAM,IAAA,EAAM,OAAA;;;;;;;;;;;KA2BnB,eAAA,MAAqB,CAAA,SAAU,eAAA,6BAA4C,CAAA;;;;;ADlFvF;KEeY,kBAAA,GAAqB,eAAA;;;;UAKhB,mBAAA;;;ADbjB;ECiBE,IAAA,EAAM,kBAAA;EDjBwB;;;;ECuB9B,cAAA,GAAiB,CAAA,CAAE,OAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;ADsBrB;;;;;;;;;;;;;;;;;;;;;;cCqCa,YAAA,YAAwB,YAAA;EDlCZ;;;;AA2BzB;;EA3ByB,OCyChB,OAAA,CAAQ,OAAA,EAAS,mBAAA,GAAsB,aAAA;EDdU;;;;ECkCxD,YAAA,CAAa,OAAA,EAAS,aAAA;AAAA;;;cClHX,qBAAA,SAA8B,KAAA;EAAA,SAGvB,MAAA,EAAQ,CAAA,CAAE,QAAA;cAD1B,OAAA,UACgB,MAAA,EAAQ,CAAA,CAAE,QAAA;AAAA;AHL9B;;;;;;;;ACOA;;;;;;;ADPA,UG2BiB,YAAA;;;;;KAML,UAAA,oBACE,CAAA,YAAa,CAAA,CAAE,CAAA,UAAW,MAAA,oBACpC,CAAA,MAAO,CAAA,IAAK,UAAA,CAAW,CAAA,CAAE,CAAA,OACzB,CAAA,SACI,CAAA;;;;;KAMI,eAAA,wBAAuC,CAAA,sCAC/C,CAAA,eAAgB,CAAA,GAChB,CAAA,CAAE,CAAA,UAAW,MAAA,oBACb,eAAA,CAAgB,CAAA,CAAE,CAAA,GAAI,IAAA,oBAGtB,CAAA,eAAgB,CAAA,GAChB,CAAA,CAAE,CAAA;;;;UAMW,cAAA,oBAAkC,YAAA;EFtCnC;;;;EE2Cd,UAAA,CAAW,MAAA,EAAQ,CAAA;EFTK;;;;EEexB,GAAA,WAAc,UAAA,CAAW,CAAA,GAAI,IAAA,EAAM,CAAA,GAAI,eAAA,CAAgB,CAAA,EAAG,CAAA;EFZzC;;;;EEkBjB,GAAA,WAAc,UAAA,CAAW,CAAA,GAAI,IAAA,EAAM,CAAA,EAAG,KAAA,EAAO,eAAA,CAAgB,CAAA,EAAG,CAAA;EFlBhD;;;;EEwBhB,KAAA,CAAM,IAAA,GAAO,UAAA,CAAW,CAAA;EF1BxB;;;EE+BA,GAAA,IAAO,QAAA,CAAS,CAAA;EF9BhB;;;EEmCA,GAAA,CAAI,IAAA,EAAM,UAAA,CAAW,CAAA;AAAA;;;;;;;AHzFvB;;;;;;;;ACOA;;;;;;;;cGmBa,aAAA,oBAAiC,YAAA,aAAyB,cAAA,CAAe,CAAA;EAAA,QAC5E,cAAA;EAAA,QACA,aAAA;EHVqB;;;;EGgB7B,UAAA,CAAW,MAAA,EAAQ,CAAA;EHzBL;;;;EGkCd,GAAA,WAAc,UAAA,CAAW,CAAA,EAAA,CAAI,IAAA,EAAM,CAAA,GAAI,eAAA,CAAgB,CAAA,EAAG,CAAA;EH9BlC;;;;EGuCxB,GAAA,WAAc,UAAA,CAAW,CAAA,EAAA,CAAI,IAAA,EAAM,CAAA,EAAG,KAAA,EAAO,eAAA,CAAgB,CAAA,EAAG,CAAA;EHlClC;;;AAkChC;EGSE,KAAA,CAAM,IAAA,GAAO,UAAA,CAAW,CAAA;EHTA;;;EGsBxB,GAAA,CAAA,GAAO,QAAA,CAAS,CAAA;EHnBC;;;EG2BjB,GAAA,CAAI,IAAA,EAAM,UAAA,CAAW,CAAA;EAAA,QAKb,SAAA;EAAA,QAWA,SAAA;EAAA,QAwBA,cAAA;EAAA,QAIA,iBAAA;EAAA,QAMA,SAAA;AAAA"}
@@ -0,0 +1,235 @@
1
+ import { S as ApplicationError, b as ERROR_CODES, s as Scope } from "../errors-BRJgVd5-.mjs";
2
+ import { a as __decorate, d as Transient, g as DI_TOKENS } from "../logger-Bg-CuidS.mjs";
3
+ import { r as Module } from "../module-Dvzm4dhS.mjs";
4
+ import "../events-CQyvSyrQ.mjs";
5
+ import "../middleware-B3tx1u1K.mjs";
6
+ import "../router-context-DlTxpJUG.mjs";
7
+ //#region src/config/config.tokens.ts
8
+ const CONFIG_TOKENS = { ConfigService: Symbol.for("stratal:config:service") };
9
+ //#endregion
10
+ //#region src/config/errors/config-module-not-initialized.error.ts
11
+ /**
12
+ * Error thrown when ConfigModule's onInitialize runs but forRoot() was never called.
13
+ *
14
+ * This means the module was imported without calling ConfigModule.forRoot({ load: [...] }).
15
+ */
16
+ var ConfigModuleNotInitializedError = class extends ApplicationError {
17
+ constructor() {
18
+ super("errors.configModuleNotInitialized", ERROR_CODES.SYSTEM.CONFIG_MODULE_NOT_INITIALIZED);
19
+ }
20
+ };
21
+ //#endregion
22
+ //#region src/config/errors/config-not-initialized.error.ts
23
+ /**
24
+ * ConfigNotInitializedError
25
+ *
26
+ * Thrown when attempting to access ConfigService before it has been initialized.
27
+ * This typically indicates that ConfigModule's onInitialize hook hasn't run yet,
28
+ * or the module wasn't registered properly.
29
+ */
30
+ var ConfigNotInitializedError = class extends ApplicationError {
31
+ constructor() {
32
+ super("errors.configNotInitialized", ERROR_CODES.SYSTEM.CONFIG_NOT_INITIALIZED);
33
+ }
34
+ };
35
+ //#endregion
36
+ //#region src/config/config.types.ts
37
+ var ConfigValidationError = class extends Error {
38
+ constructor(message, errors) {
39
+ super(message);
40
+ this.errors = errors;
41
+ this.name = "ConfigValidationError";
42
+ }
43
+ };
44
+ //#endregion
45
+ //#region src/config/services/config.service.ts
46
+ let ConfigService = class ConfigService {
47
+ originalConfig;
48
+ currentConfig;
49
+ /**
50
+ * Initialize the config service with validated configuration
51
+ * Called by ConfigModule during initialization
52
+ */
53
+ initialize(config) {
54
+ this.originalConfig = this.deepClone(config);
55
+ this.currentConfig = this.deepClone(config);
56
+ }
57
+ /**
58
+ * Get config value using dot notation
59
+ * @example config.get('database.url')
60
+ */
61
+ get(path) {
62
+ this.ensureInitialized();
63
+ return this.getByPath(this.currentConfig, path);
64
+ }
65
+ /**
66
+ * Set config value at runtime (for runtime overrides)
67
+ * @example config.set('email.from.name', 'Custom Name')
68
+ */
69
+ set(path, value) {
70
+ this.ensureInitialized();
71
+ this.setByPath(this.currentConfig, path, value);
72
+ }
73
+ /**
74
+ * Reset config to original value
75
+ * @param path - Optional path to reset (resets entire config if omitted)
76
+ */
77
+ reset(path) {
78
+ this.ensureInitialized();
79
+ if (path) {
80
+ const originalValue = this.getByPath(this.originalConfig, path);
81
+ this.setByPath(this.currentConfig, path, this.deepClone(originalValue));
82
+ } else this.currentConfig = this.deepClone(this.originalConfig);
83
+ }
84
+ /**
85
+ * Get entire config object
86
+ */
87
+ all() {
88
+ this.ensureInitialized();
89
+ return this.currentConfig;
90
+ }
91
+ /**
92
+ * Check if a config path exists
93
+ */
94
+ has(path) {
95
+ this.ensureInitialized();
96
+ return this.getByPath(this.currentConfig, path) !== void 0;
97
+ }
98
+ getByPath(obj, path) {
99
+ const keys = path.split(".");
100
+ let current = obj;
101
+ for (const key of keys) {
102
+ if (this.isDangerousKey(key)) return void 0;
103
+ if (current === null || current === void 0) return void 0;
104
+ current = current[key];
105
+ }
106
+ return current;
107
+ }
108
+ setByPath(obj, path, value) {
109
+ const keys = path.split(".");
110
+ if (keys.some((key) => this.isDangerousKey(key))) return;
111
+ let current = obj;
112
+ for (let i = 0; i < keys.length - 1; i++) {
113
+ const key = keys[i];
114
+ if (!Object.hasOwn(current, key) || typeof current[key] !== "object" || current[key] === null) Object.defineProperty(current, key, {
115
+ value: {},
116
+ writable: true,
117
+ enumerable: true,
118
+ configurable: true
119
+ });
120
+ current = current[key];
121
+ }
122
+ Object.defineProperty(current, keys[keys.length - 1], {
123
+ value,
124
+ writable: true,
125
+ enumerable: true,
126
+ configurable: true
127
+ });
128
+ }
129
+ isDangerousKey(key) {
130
+ return key === "__proto__" || key === "constructor" || key === "prototype";
131
+ }
132
+ ensureInitialized() {
133
+ if (!this.currentConfig) throw new ConfigNotInitializedError();
134
+ }
135
+ deepClone(obj) {
136
+ if (obj === null || typeof obj !== "object") return obj;
137
+ return JSON.parse(JSON.stringify(obj));
138
+ }
139
+ };
140
+ ConfigService = __decorate([Transient(CONFIG_TOKENS.ConfigService)], ConfigService);
141
+ //#endregion
142
+ //#region src/config/config.module.ts
143
+ var _ConfigModule;
144
+ let moduleOptions = null;
145
+ let ConfigModule = _ConfigModule = class ConfigModule {
146
+ /**
147
+ * Configure ConfigModule with namespace loaders
148
+ *
149
+ * @param options - Configuration options
150
+ * @returns Dynamic module with config infrastructure
151
+ */
152
+ static forRoot(options) {
153
+ moduleOptions = options;
154
+ const providers = [];
155
+ for (const namespace of options.load) providers.push(namespace.asProvider());
156
+ return {
157
+ module: _ConfigModule,
158
+ providers
159
+ };
160
+ }
161
+ /**
162
+ * Initialize config service with merged namespaces
163
+ * Called after all providers are registered
164
+ */
165
+ onInitialize(context) {
166
+ if (!moduleOptions) throw new ConfigModuleNotInitializedError();
167
+ const env = context.container.resolve(DI_TOKENS.CloudflareEnv);
168
+ const configService = context.container.resolve(CONFIG_TOKENS.ConfigService);
169
+ const mergedConfig = {};
170
+ for (const namespace of moduleOptions.load) mergedConfig[namespace.namespace] = namespace.factory(env);
171
+ if (moduleOptions.validateSchema) {
172
+ const result = moduleOptions.validateSchema.safeParse(mergedConfig);
173
+ if (!result.success) throw new ConfigValidationError("Configuration validation failed", result.error);
174
+ }
175
+ configService.initialize(mergedConfig);
176
+ context.logger.debug("ConfigModule initialized", { namespaces: moduleOptions.load.map((n) => n.namespace) });
177
+ }
178
+ };
179
+ ConfigModule = _ConfigModule = __decorate([Module({ providers: [{
180
+ provide: CONFIG_TOKENS.ConfigService,
181
+ useClass: ConfigService,
182
+ scope: Scope.Singleton
183
+ }] })], ConfigModule);
184
+ //#endregion
185
+ //#region src/config/register-as.ts
186
+ /**
187
+ * Create a namespaced configuration factory
188
+ * Similar to NestJS registerAs
189
+ *
190
+ * @param namespace - Configuration namespace (e.g., 'database', 'email')
191
+ * @param factory - Factory function receiving env and returning config object
192
+ * @returns ConfigNamespace with token, factory, and asProvider() method
193
+ *
194
+ * @example
195
+ * ```typescript
196
+ * // apps/backend/src/config/database.config.ts
197
+ * export const databaseConfig = registerAs('database', (env: Env) => ({
198
+ * url: env.DATABASE_URL,
199
+ * maxConnections: parseInt(env.DATABASE_MAX_CONNECTIONS || '10'),
200
+ * }))
201
+ *
202
+ * // Auto-generates: databaseConfig.KEY = Symbol('stratal:config:database')
203
+ *
204
+ * // Usage in module:
205
+ * // Option 1: Manual provider
206
+ * {
207
+ * provide: databaseConfig.KEY,
208
+ * useFactory: databaseConfig.factory,
209
+ * inject: [DI_TOKENS.CloudflareEnv]
210
+ * }
211
+ *
212
+ * // Option 2: asProvider() helper
213
+ * databaseConfig.asProvider()
214
+ * // Returns: { provide: databaseConfig.KEY, useFactory: ..., inject: [DI_TOKENS.CloudflareEnv] }
215
+ * ```
216
+ */
217
+ function registerAs(namespace, factory) {
218
+ const KEY = Symbol.for(`stratal:config:${namespace}`);
219
+ return {
220
+ KEY,
221
+ namespace,
222
+ factory,
223
+ asProvider() {
224
+ return {
225
+ provide: KEY,
226
+ useFactory: factory,
227
+ inject: [DI_TOKENS.CloudflareEnv]
228
+ };
229
+ }
230
+ };
231
+ }
232
+ //#endregion
233
+ export { CONFIG_TOKENS, ConfigModule, ConfigService, ConfigValidationError, registerAs };
234
+
235
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../../src/config/config.tokens.ts","../../src/config/errors/config-module-not-initialized.error.ts","../../src/config/errors/config-not-initialized.error.ts","../../src/config/config.types.ts","../../src/config/services/config.service.ts","../../src/config/config.module.ts","../../src/config/register-as.ts"],"sourcesContent":["export const CONFIG_TOKENS = {\n\tConfigService: Symbol.for('stratal:config:service'),\n} as const\n","import { ApplicationError, ERROR_CODES } from '../../errors'\n\n/**\n * Error thrown when ConfigModule's onInitialize runs but forRoot() was never called.\n *\n * This means the module was imported without calling ConfigModule.forRoot({ load: [...] }).\n */\nexport class ConfigModuleNotInitializedError extends ApplicationError {\n constructor() {\n super(\n 'errors.configModuleNotInitialized',\n ERROR_CODES.SYSTEM.CONFIG_MODULE_NOT_INITIALIZED\n )\n }\n}\n","import { ERROR_CODES } from '../../errors'\nimport { ApplicationError } from '../../errors'\n\n/**\n * ConfigNotInitializedError\n *\n * Thrown when attempting to access ConfigService before it has been initialized.\n * This typically indicates that ConfigModule's onInitialize hook hasn't run yet,\n * or the module wasn't registered properly.\n */\nexport class ConfigNotInitializedError extends ApplicationError {\n constructor() {\n super(\n 'errors.configNotInitialized',\n ERROR_CODES.SYSTEM.CONFIG_NOT_INITIALIZED\n )\n }\n}\n","import type { z } from '../i18n/validation'\n\nexport class ConfigValidationError extends Error {\n constructor(\n message: string,\n public readonly errors: z.ZodError\n ) {\n super(message)\n this.name = 'ConfigValidationError'\n }\n}\n\n/**\n * Configuration that can be augmented by applications\n * Apps should augment this interface with their AppConfig type using module augmentation\n *\n * @example\n * ```typescript\n * // In your app (e.g., apps/backend/src/config/types.ts)\n * declare module 'stratal' {\n * interface ModuleConfig {\n * database: { url: string; maxConnections: number }\n * email: { provider: string; from: { name: string; email: string } }\n * }\n * }\n * ```\n */\nexport interface ModuleConfig { }\n\n/**\n * Generate all valid dot-notation paths from a config object type\n * @example ConfigPath<{ database: { url: string } }> = 'database' | 'database.url'\n */\nexport type ConfigPath<T> = {\n [K in keyof T & string]: T[K] extends Record<string, unknown>\n ? K | `${K}.${ConfigPath<T[K]>}`\n : K\n}[keyof T & string]\n\n/**\n * Get the value type at a dot-notation path\n * @example ConfigPathValue<{ database: { url: string } }, 'database.url'> = string\n */\nexport type ConfigPathValue<T, P extends string> = P extends `${infer K}.${infer Rest}`\n ? K extends keyof T\n ? T[K] extends Record<string, unknown>\n ? ConfigPathValue<T[K], Rest>\n : never\n : never\n : P extends keyof T\n ? T[P]\n : never\n\n/**\n * ConfigService interface with dot notation support\n */\nexport interface IConfigService<T extends object = ModuleConfig> {\n /**\n * Initialize the config service with validated configuration\n * Should be called once during application startup\n */\n initialize(config: T): void\n\n /**\n * Get config value using dot notation\n * @example config.get('database.url')\n */\n get<P extends ConfigPath<T>>(path: P): ConfigPathValue<T, P>\n\n /**\n * Set config value at runtime (for runtime overrides)\n * @example config.set('email.from.name', 'Custom Name')\n */\n set<P extends ConfigPath<T>>(path: P, value: ConfigPathValue<T, P>): void\n\n /**\n * Reset config to original value\n * @param path - Optional path to reset (resets entire config if omitted)\n */\n reset(path?: ConfigPath<T>): void\n\n /**\n * Get entire config object\n */\n all(): Readonly<T>\n\n /**\n * Check if a config path exists\n */\n has(path: ConfigPath<T>): boolean\n}\n","import { Transient } from '../../di/decorators'\nimport { CONFIG_TOKENS } from '../config.tokens'\nimport type { ConfigPath, ConfigPathValue, IConfigService, ModuleConfig } from '../config.types'\nimport { ConfigNotInitializedError } from '../errors'\n\n/**\n * ConfigService with dot notation support for get/set operations\n *\n * Supports runtime overrides via set() - useful for request-specific config overrides.\n * Use reset() to restore original values.\n *\n * @example\n * ```typescript\n * // Get with dot notation\n * const url = config.get('database.url')\n * const fromName = config.get('email.from.name')\n *\n * // Set at runtime (e.g., in middleware for runtime override)\n * config.set('email.from.name', 'Custom Name')\n *\n * // Reset to original\n * config.reset('email.from.name') // reset specific path\n * config.reset() // reset entire config\n * ```\n */\n@Transient(CONFIG_TOKENS.ConfigService)\nexport class ConfigService<T extends object = ModuleConfig> implements IConfigService<T> {\n private originalConfig: T | undefined\n private currentConfig: T | undefined\n\n /**\n * Initialize the config service with validated configuration\n * Called by ConfigModule during initialization\n */\n initialize(config: T): void {\n this.originalConfig = this.deepClone(config)\n this.currentConfig = this.deepClone(config)\n }\n\n /**\n * Get config value using dot notation\n * @example config.get('database.url')\n */\n get<P extends ConfigPath<T>>(path: P): ConfigPathValue<T, P> {\n this.ensureInitialized()\n return this.getByPath(this.currentConfig, path) as ConfigPathValue<T, P>\n }\n\n /**\n * Set config value at runtime (for runtime overrides)\n * @example config.set('email.from.name', 'Custom Name')\n */\n set<P extends ConfigPath<T>>(path: P, value: ConfigPathValue<T, P>): void {\n this.ensureInitialized()\n this.setByPath(this.currentConfig, path, value)\n }\n\n /**\n * Reset config to original value\n * @param path - Optional path to reset (resets entire config if omitted)\n */\n reset(path?: ConfigPath<T>): void {\n this.ensureInitialized()\n if (path) {\n const originalValue = this.getByPath(this.originalConfig, path)\n this.setByPath(this.currentConfig, path, this.deepClone(originalValue))\n } else {\n this.currentConfig = this.deepClone(this.originalConfig)\n }\n }\n\n /**\n * Get entire config object\n */\n all(): Readonly<T> {\n this.ensureInitialized()\n return this.currentConfig as Readonly<T>\n }\n\n /**\n * Check if a config path exists\n */\n has(path: ConfigPath<T>): boolean {\n this.ensureInitialized()\n return this.getByPath(this.currentConfig, path) !== undefined\n }\n\n private getByPath(obj: unknown, path: string): unknown {\n const keys = path.split('.')\n let current = obj\n for (const key of keys) {\n if (this.isDangerousKey(key)) return undefined\n if (current === null || current === undefined) return undefined\n current = (current as Record<string, unknown>)[key]\n }\n return current\n }\n\n private setByPath(obj: unknown, path: string, value: unknown): void {\n const keys = path.split('.')\n if (keys.some((key) => this.isDangerousKey(key))) return\n let current = obj as Record<string, unknown>\n for (let i = 0; i < keys.length - 1; i++) {\n const key = keys[i]\n if (!Object.hasOwn(current, key) || typeof current[key] !== 'object' || current[key] === null) {\n Object.defineProperty(current, key, {\n value: {},\n writable: true,\n enumerable: true,\n configurable: true,\n })\n }\n current = current[key] as Record<string, unknown>\n }\n Object.defineProperty(current, keys[keys.length - 1], {\n value,\n writable: true,\n enumerable: true,\n configurable: true,\n })\n }\n\n private isDangerousKey(key: string): boolean {\n return key === '__proto__' || key === 'constructor' || key === 'prototype'\n }\n\n private ensureInitialized(): void {\n if (!this.currentConfig) {\n throw new ConfigNotInitializedError()\n }\n }\n\n private deepClone<V>(obj: V): V {\n if (obj === null || typeof obj !== 'object') {\n return obj\n }\n return JSON.parse(JSON.stringify(obj)) as V\n }\n}\n","import type { z } from '../i18n/validation'\nimport { ConfigModuleNotInitializedError } from './errors'\nimport { DI_TOKENS } from '../di/tokens'\nimport { Scope } from '../di/types'\nimport { Module } from '../module'\nimport type { DynamicModule, ModuleContext, OnInitialize, Provider } from '../module/types'\nimport { CONFIG_TOKENS } from './config.tokens'\nimport { ConfigValidationError, ModuleConfig } from './config.types'\nimport type { ConfigNamespace } from './register-as'\nimport { ConfigService } from './services/config.service'\n\n/**\n * Any config namespace - uses structural typing for flexibility\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type AnyConfigNamespace = ConfigNamespace<string, any, object>\n\n/**\n * Options for ConfigModule.forRoot\n */\nexport interface ConfigModuleOptions {\n /**\n * Array of config namespaces created via registerAs()\n */\n load: AnyConfigNamespace[]\n\n /**\n * Optional Zod schema for validating the merged config\n * Validates the entire config object after all namespaces are merged\n */\n validateSchema?: z.ZodType<object>\n}\n\n// Store options for use in onInitialize\nlet moduleOptions: ConfigModuleOptions | null = null\n\n/**\n * ConfigModule\n *\n * Provides configuration management with namespace support.\n * Uses registerAs() to create typed config namespaces that can be injected.\n *\n * @example\n * ```typescript\n * // Define config namespaces\n * const databaseConfig = registerAs('database', (env) => ({\n * url: env.DATABASE_URL,\n * maxConnections: 10\n * }))\n *\n * const emailConfig = registerAs('email', (env) => ({\n * provider: env.EMAIL_PROVIDER,\n * from: { name: 'App', email: 'noreply@example.com' }\n * }))\n *\n * // Register in module\n * @Module({\n * imports: [\n * ConfigModule.forRoot({\n * load: [databaseConfig, emailConfig],\n * validateSchema: AppConfigSchema\n * })\n * ]\n * })\n * export class AppModule {}\n *\n * // Inject config\n * constructor(\n * @inject(CONFIG_TOKENS.ConfigService) private config: IConfigService,\n * @inject(databaseConfig.KEY) private dbConfig: DatabaseConfig\n * ) {\n * // Use dot notation\n * const url = this.config.get('database.url')\n *\n * // Or inject namespace directly\n * const url = this.dbConfig.url\n * }\n * ```\n */\n@Module({\n providers: [\n // Register the main ConfigService as Singleton so initialization persists\n {\n provide: CONFIG_TOKENS.ConfigService,\n useClass: ConfigService,\n scope: Scope.Singleton,\n },\n ],\n})\nexport class ConfigModule implements OnInitialize {\n /**\n * Configure ConfigModule with namespace loaders\n *\n * @param options - Configuration options\n * @returns Dynamic module with config infrastructure\n */\n static forRoot(options: ConfigModuleOptions): DynamicModule {\n moduleOptions = options\n\n const providers: Provider[] = []\n\n // Register each namespace config using asProvider()\n for (const namespace of options.load) {\n providers.push(namespace.asProvider())\n }\n\n return {\n module: ConfigModule,\n providers,\n }\n }\n\n /**\n * Initialize config service with merged namespaces\n * Called after all providers are registered\n */\n onInitialize(context: ModuleContext): void {\n if (!moduleOptions) {\n throw new ConfigModuleNotInitializedError()\n }\n\n const env = context.container.resolve<unknown>(DI_TOKENS.CloudflareEnv)\n const configService = context.container.resolve<ConfigService>(CONFIG_TOKENS.ConfigService)\n\n // Build merged config from all namespaces\n const mergedConfig: Record<string, unknown> = {}\n\n for (const namespace of moduleOptions.load) {\n mergedConfig[namespace.namespace] = namespace.factory(env)\n }\n\n // Validate if schema provided\n if (moduleOptions.validateSchema) {\n const result = moduleOptions.validateSchema.safeParse(mergedConfig)\n if (!result.success) {\n throw new ConfigValidationError(\n 'Configuration validation failed',\n result.error\n )\n }\n }\n\n // Initialize ConfigService with merged config\n configService.initialize(mergedConfig as ModuleConfig)\n\n context.logger.debug('ConfigModule initialized', {\n namespaces: moduleOptions.load.map((n) => n.namespace),\n })\n }\n}\n","import type { InjectionToken } from 'tsyringe'\nimport { DI_TOKENS } from '../di/tokens'\nimport type { FactoryProvider } from '../module/types'\n\n/**\n * Configuration namespace registration result\n */\nexport interface ConfigNamespace<TKey extends string, TEnv, TConfig extends object> {\n /** Auto-derived injection token (e.g., 'database' -> Symbol('stratal:config:database')) */\n readonly KEY: InjectionToken<TConfig>\n /** The namespace key */\n readonly namespace: TKey\n /** The factory function that receives env and returns config */\n readonly factory: (env: TEnv) => TConfig\n /**\n * Returns a provider configuration for use in module registration\n * Automatically injects DI_TOKENS.CloudflareEnv\n */\n asProvider(): FactoryProvider<TConfig>\n}\n\n/**\n * Create a namespaced configuration factory\n * Similar to NestJS registerAs\n *\n * @param namespace - Configuration namespace (e.g., 'database', 'email')\n * @param factory - Factory function receiving env and returning config object\n * @returns ConfigNamespace with token, factory, and asProvider() method\n *\n * @example\n * ```typescript\n * // apps/backend/src/config/database.config.ts\n * export const databaseConfig = registerAs('database', (env: Env) => ({\n * url: env.DATABASE_URL,\n * maxConnections: parseInt(env.DATABASE_MAX_CONNECTIONS || '10'),\n * }))\n *\n * // Auto-generates: databaseConfig.KEY = Symbol('stratal:config:database')\n *\n * // Usage in module:\n * // Option 1: Manual provider\n * {\n * provide: databaseConfig.KEY,\n * useFactory: databaseConfig.factory,\n * inject: [DI_TOKENS.CloudflareEnv]\n * }\n *\n * // Option 2: asProvider() helper\n * databaseConfig.asProvider()\n * // Returns: { provide: databaseConfig.KEY, useFactory: ..., inject: [DI_TOKENS.CloudflareEnv] }\n * ```\n */\nexport function registerAs<TKey extends string, TEnv, TConfig extends object>(\n namespace: TKey,\n factory: (env: TEnv) => TConfig\n): ConfigNamespace<TKey, TEnv, TConfig> {\n const KEY = Symbol.for(`stratal:config:${namespace}`) as InjectionToken<TConfig>\n\n return {\n KEY,\n namespace,\n factory,\n asProvider(): FactoryProvider<TConfig> {\n return {\n provide: KEY,\n useFactory: factory,\n inject: [DI_TOKENS.CloudflareEnv],\n }\n },\n }\n}\n\n/**\n * Helper to derive config type from registerAs result\n *\n * @example\n * ```typescript\n * const databaseConfig = registerAs('database', (env) => ({ url: env.DATABASE_URL }))\n * type DatabaseConfig = InferConfigType<typeof databaseConfig>\n * // { url: string }\n * ```\n */\nexport type InferConfigType<T> = T extends ConfigNamespace<string, unknown, infer C> ? C : never\n"],"mappings":"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"}
@@ -0,0 +1,128 @@
1
+ import { s as ApplicationError } from "../index-C9bIk5tt.mjs";
2
+ //#region src/cron/cron-job.d.ts
3
+ /**
4
+ * Interface for cron jobs that can be registered by modules
5
+ *
6
+ * Cron jobs are executed when Cloudflare triggers match their schedule.
7
+ * Jobs are registered via the module's getCronJobs() method.
8
+ *
9
+ * @example
10
+ * ```typescript
11
+ * @Transient()
12
+ * export class DataCleanupJob implements CronJob {
13
+ * readonly schedule = '0 2 * * *' // Daily at 2 AM UTC
14
+ *
15
+ * constructor(
16
+ * @inject(LOGGER_TOKENS.LoggerService) private logger: LoggerService,
17
+ * ) {}
18
+ *
19
+ * async execute(controller: ScheduledController): Promise<void> {
20
+ * this.logger.info('Running data cleanup')
21
+ * await this.cleanupExpiredData()
22
+ * }
23
+ *
24
+ * async onError(error: Error): Promise<void> {
25
+ * this.logger.error('Data cleanup failed', { error: error.message })
26
+ * }
27
+ * }
28
+ * ```
29
+ */
30
+ interface CronJob {
31
+ /**
32
+ * Cron expression that triggers this job
33
+ *
34
+ * Must match a cron trigger defined in wrangler.jsonc
35
+ * @example '0 2 * * *' // Daily at 2 AM UTC
36
+ * @example '* /15 * * * *' // Every 15 minutes
37
+ */
38
+ readonly schedule: string;
39
+ /**
40
+ * Execute the cron job
41
+ *
42
+ * @param controller - Cloudflare ScheduledController with scheduledTime and cron
43
+ * @throws ApplicationError for expected errors
44
+ */
45
+ execute(controller: ScheduledController): Promise<void>;
46
+ /**
47
+ * Optional error handler for job execution failures
48
+ *
49
+ * If not provided, errors are logged via GlobalErrorHandler
50
+ *
51
+ * @param error - Error that occurred during execution
52
+ * @param controller - Cloudflare ScheduledController
53
+ */
54
+ onError?(error: Error, controller: ScheduledController): Promise<void>;
55
+ }
56
+ //#endregion
57
+ //#region src/cron/cron-manager.d.ts
58
+ /**
59
+ * Manages cron job registration and execution
60
+ *
61
+ * CronManager is a singleton service that:
62
+ * - Registers cron jobs from modules
63
+ * - Routes scheduled events to matching jobs
64
+ * - Handles errors during job execution
65
+ *
66
+ * Jobs are grouped by their cron expression, allowing multiple jobs
67
+ * to run on the same schedule.
68
+ */
69
+ declare class CronManager {
70
+ /**
71
+ * Map of cron expressions to jobs
72
+ * Key: Cron expression (e.g., '0 2 * * *')
73
+ * Value: Array of jobs matching that expression
74
+ */
75
+ private jobs;
76
+ /**
77
+ * Register a cron job
78
+ *
79
+ * Jobs with the same schedule are grouped together and executed
80
+ * sequentially when the trigger fires.
81
+ *
82
+ * @param job - CronJob instance to register
83
+ */
84
+ registerJob(job: CronJob): void;
85
+ /**
86
+ * Execute all jobs matching the triggered cron expression
87
+ *
88
+ * Jobs are executed sequentially. If a job fails:
89
+ * - Its onError() hook is called (if defined)
90
+ * - Execution continues with the next job
91
+ * - Errors are collected and logged
92
+ *
93
+ * @param controller - Cloudflare ScheduledController
94
+ */
95
+ executeScheduled(controller: ScheduledController): Promise<void>;
96
+ /**
97
+ * Get all registered jobs for a specific cron expression
98
+ *
99
+ * @param schedule - Cron expression
100
+ * @returns Array of jobs for that schedule, or empty array if none
101
+ */
102
+ getJobsForSchedule(schedule: string): CronJob[];
103
+ /**
104
+ * Get all registered cron expressions
105
+ *
106
+ * @returns Array of unique cron expressions
107
+ */
108
+ getAllSchedules(): string[];
109
+ /**
110
+ * Get total number of registered jobs across all schedules
111
+ *
112
+ * @returns Total job count
113
+ */
114
+ getTotalJobCount(): number;
115
+ }
116
+ //#endregion
117
+ //#region src/cron/errors/cron-execution.error.d.ts
118
+ /**
119
+ * Error thrown when one or more cron jobs fail execution
120
+ *
121
+ * This error aggregates failures from multiple jobs that share the same schedule.
122
+ */
123
+ declare class CronExecutionError extends ApplicationError {
124
+ constructor(schedule: string, failedJobsCount: number, jobNames: string);
125
+ }
126
+ //#endregion
127
+ export { CronExecutionError, type CronJob, CronManager };
128
+ //# sourceMappingURL=index.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../../src/cron/cron-job.ts","../../src/cron/cron-manager.ts","../../src/cron/errors/cron-execution.error.ts"],"mappings":";;;;;;AA2BA;;;;;;;;;;;;;;;;;;;;;;;UAAiB,OAAA;;;ACZjB;;;;;WDoBU,QAAA;EC6D6B;;;;;;EDrDtC,OAAA,CAAQ,UAAA,EAAY,mBAAA,GAAsB,OAAA;ECKpC;;;;;;;;EDKN,OAAA,EAAS,KAAA,EAAO,KAAA,EAAO,UAAA,EAAY,mBAAA,GAAsB,OAAA;AAAA;;;;;;AA1B1D;;;;;;;;cCXa,WAAA;EDqCoD;;;;;EAAA,QC/BxD,IAAA;ED+BR;;;;;;;;ECrBA,WAAA,CAAY,GAAA,EAAK,OAAA;;;AAjBlB;;;;;;;;EAiCO,gBAAA,CAAiB,UAAA,EAAY,mBAAA,GAAsB,OAAA;EA1BjD;;;;;;EA0ER,kBAAA,CAAmB,QAAA,WAAmB,OAAA;EAhDmB;;;;;EAyDzD,eAAA,CAAA;EASgB;;;;;EAAhB,gBAAA,CAAA;AAAA;;;;;;ADvFD;;cEnBa,kBAAA,SAA2B,gBAAA;cAEtC,QAAA,UACA,eAAA,UACA,QAAA;AAAA"}