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,2613 @@
1
+ import { t as index_d_exports } from "./index-BWEwA_XK.mjs";
2
+ import { t as Constructor } from "./types-JUIHSW_a.mjs";
3
+ import { _ as II18nService, a as index_d_exports$1, o as z, t as OpenAPIHono, v as MessageKeys, y as MessageParams } from "./index-Dl4RvzNp.mjs";
4
+ import { i as LoggerService } from "./index-3TtGtYlJ.mjs";
5
+ import { DependencyContainer, DependencyContainer as DependencyContainer$1, container as container$1, delay, inject as inject$1, injectable as injectable$1, instancePerContainerCachingFactory as instancePerContainerCachingFactory$1, singleton } from "tsyringe";
6
+ import { SSEMessage, SSEStreamingApi, SSEStreamingApi as SSEStreamingApi$1 } from "hono/streaming";
7
+ import { CoreContext } from "@intlify/core-base";
8
+ import { Context } from "hono";
9
+ import { ContentfulStatusCode, RedirectStatusCode } from "hono/utils/http-status";
10
+ import { StreamingApi, StreamingApi as StreamingApi$1 } from "hono/utils/stream";
11
+ import InjectionToken$1, { default as InjectionToken$2 } from "tsyringe/dist/typings/providers/injection-token";
12
+
13
+ //#region src/errors/error-response.d.ts
14
+ type Environment = 'development' | 'staging' | 'production';
15
+ interface ErrorResponse {
16
+ /**
17
+ * Numeric error code for identification and escalation
18
+ * See error-codes.ts for the complete registry
19
+ */
20
+ code: number;
21
+ /**
22
+ * Human-readable error message
23
+ * Fixed per error type, not customizable
24
+ */
25
+ message: string;
26
+ /**
27
+ * ISO timestamp when the error occurred
28
+ */
29
+ timestamp: string;
30
+ /**
31
+ * Additional structured data about the error
32
+ * Only included in development environment
33
+ */
34
+ metadata?: Record<string, unknown>;
35
+ /**
36
+ * Stack trace for debugging
37
+ * Only included in development environment
38
+ */
39
+ stack?: string;
40
+ }
41
+ /**
42
+ * Type guard to check if an object is an ErrorResponse
43
+ */
44
+ declare function isErrorResponse(obj: unknown): obj is ErrorResponse;
45
+ //#endregion
46
+ //#region src/i18n/messages/index.d.ts
47
+ /**
48
+ * All locale messages
49
+ * Explicitly import and export (no filesystem scanning - Cloudflare Workers compatible)
50
+ */
51
+ declare const messages: {
52
+ readonly en: typeof index_d_exports;
53
+ };
54
+ /**
55
+ * Type for all messages
56
+ */
57
+ type Messages = typeof messages;
58
+ /**
59
+ * Get messages for all locales
60
+ */
61
+ declare function getMessages(): Record<string, Record<string, unknown>>;
62
+ /**
63
+ * Get available locales
64
+ */
65
+ declare function getLocales(): string[];
66
+ //#endregion
67
+ //#region src/di/types.d.ts
68
+ /**
69
+ * Service scope for DI registration
70
+ *
71
+ * Maps directly to tsyringe's Lifecycle enum.
72
+ * Scope is specified at registration time via provider configuration,
73
+ * not at class decoration time.
74
+ *
75
+ * @example
76
+ * ```typescript
77
+ * // In module providers:
78
+ * { provide: MY_TOKEN, useClass: MyService, scope: Scope.Singleton }
79
+ *
80
+ * // In Application.ts:
81
+ * container.register(MY_TOKEN, MyService, Scope.Request)
82
+ * ```
83
+ */
84
+ declare enum Scope {
85
+ /** New instance per resolution (default) */
86
+ Transient = 0,
87
+ /** Single instance shared globally */
88
+ Singleton = 1,
89
+ /** New instance per child container (per request) */
90
+ Request = 3
91
+ }
92
+ /**
93
+ * Options for conditional binding with `when()` method
94
+ */
95
+ interface WhenOptions {
96
+ /**
97
+ * Cache predicate result after first evaluation.
98
+ * When true, the predicate is evaluated once and the result is reused.
99
+ * When false (default), predicate is evaluated on each resolution.
100
+ */
101
+ cache?: boolean;
102
+ }
103
+ /**
104
+ * Decorator function type for extend() method
105
+ *
106
+ * @template T The service type being decorated
107
+ */
108
+ type ExtensionDecorator<T> = (service: T, container: ContainerLike) => T;
109
+ /**
110
+ * Minimal container interface for decorator functions
111
+ * Avoids circular dependency with Container class
112
+ */
113
+ interface ContainerLike {
114
+ resolve<T>(token: InjectionToken$1<T>): T;
115
+ }
116
+ //#endregion
117
+ //#region src/di/conditional-binding-builder.d.ts
118
+ /**
119
+ * Container interface for predicate functions
120
+ * Using a minimal interface to avoid circular imports
121
+ */
122
+ interface PredicateContainer {
123
+ resolve<T>(token: InjectionToken$1<T>): T;
124
+ isRegistered<T>(token: InjectionToken$1<T>): boolean;
125
+ }
126
+ /**
127
+ * Initial builder returned by container.when()
128
+ */
129
+ interface ConditionalBindingBuilder {
130
+ /**
131
+ * Specify the token to conditionally bind
132
+ *
133
+ * @param token - DI token for the service
134
+ * @returns Builder for specifying implementations
135
+ */
136
+ use<T extends object>(token: InjectionToken$1<T>): ConditionalBindingUse<T>;
137
+ }
138
+ /**
139
+ * Builder after specifying token with use()
140
+ */
141
+ interface ConditionalBindingUse<T extends object> {
142
+ /**
143
+ * Specify the implementation when predicate returns true.
144
+ * Registration is completed immediately.
145
+ *
146
+ * If predicate is false at resolution time:
147
+ * - Uses `otherwise()` implementation if provided
148
+ * - Falls back to existing registration if available
149
+ * - Throws error if no fallback exists
150
+ *
151
+ * @param implementation - Service class to use when predicate is true
152
+ * @returns Builder for optional fallback specification
153
+ */
154
+ give(implementation: Constructor<T>): ConditionalBindingGive<T>;
155
+ }
156
+ /**
157
+ * Builder after specifying true implementation with give()
158
+ * Registration is already complete at this point.
159
+ */
160
+ interface ConditionalBindingGive<T extends object> {
161
+ /**
162
+ * Optionally specify a fallback implementation when predicate returns false.
163
+ * This re-registers with the explicit fallback instead of existing registration.
164
+ *
165
+ * @param implementation - Service class to use when predicate is false
166
+ */
167
+ otherwise(implementation: Constructor<T>): void;
168
+ }
169
+ /**
170
+ * Implementation of ConditionalBindingBuilder
171
+ *
172
+ * @internal
173
+ */
174
+ declare class ConditionalBindingBuilderImpl implements ConditionalBindingBuilder {
175
+ private readonly tsyringeContainer;
176
+ private readonly predicateContainer;
177
+ private readonly predicate;
178
+ private readonly options;
179
+ constructor(tsyringeContainer: DependencyContainer, predicateContainer: PredicateContainer, predicate: (container: PredicateContainer) => boolean, options: WhenOptions);
180
+ use<T extends object>(token: InjectionToken$1<T>): ConditionalBindingUse<T>;
181
+ }
182
+ //#endregion
183
+ //#region src/di/container.d.ts
184
+ /**
185
+ * Options for creating a Container instance
186
+ */
187
+ interface ContainerOptions {
188
+ /** Pre-created DependencyContainer */
189
+ container: DependencyContainer;
190
+ /** Whether this is a request-scoped container */
191
+ isRequestScoped?: boolean;
192
+ }
193
+ /**
194
+ * Unified Container for DI management
195
+ *
196
+ * Manages the two-tier container hierarchy:
197
+ * - Global scope: Singletons, base instances of request-scoped services
198
+ * - Request scope: Context-enriched instances per HTTP request
199
+ *
200
+ * @example Basic registration
201
+ * ```typescript
202
+ * import { container as tsyringeRootContainer } from 'tsyringe'
203
+ *
204
+ * const container = new Container({
205
+ * container: tsyringeRootContainer.createChildContainer()
206
+ * })
207
+ *
208
+ * container.register(I18nService)
209
+ * container.register(MY_TOKEN, MyService)
210
+ * container.registerSingleton(ConfigService)
211
+ * container.registerValue(MY_TOKEN, myInstance)
212
+ * ```
213
+ *
214
+ * @example Request scope (automatic lifecycle)
215
+ * ```typescript
216
+ * await container.runInRequestScope(routerContext, async (requestContainer) => {
217
+ * const i18n = requestContainer.resolve(I18N_TOKEN)
218
+ * })
219
+ * ```
220
+ */
221
+ declare class Container {
222
+ private readonly container;
223
+ private readonly isRequestScoped;
224
+ constructor(options: ContainerOptions);
225
+ /**
226
+ * Register a service with optional explicit token and scope
227
+ */
228
+ register<T extends object>(serviceClass: Constructor<T>, scope?: Scope): void;
229
+ register<T extends object>(token: InjectionToken$1<T>, serviceClass: Constructor<T>, scope?: Scope): void;
230
+ /**
231
+ * Register a service as singleton
232
+ */
233
+ registerSingleton<T extends object>(serviceClass: Constructor<T>): void;
234
+ registerSingleton<T extends object>(token: InjectionToken$1<T>, serviceClass: Constructor<T>): void;
235
+ /**
236
+ * Register a value (instance) directly
237
+ */
238
+ registerValue<T>(token: InjectionToken$1<T>, value: T): void;
239
+ /**
240
+ * Register with factory function
241
+ */
242
+ registerFactory<T>(token: InjectionToken$1<T>, factory: (container: Container) => T): void;
243
+ /**
244
+ * Register an alias to an existing token
245
+ */
246
+ registerExisting<T>(alias: InjectionToken$1<T>, target: InjectionToken$1<T>): void;
247
+ /**
248
+ * Resolve a service from the container
249
+ */
250
+ resolve<T>(token: InjectionToken$1<T>): T;
251
+ /**
252
+ * Check if a token is registered
253
+ */
254
+ isRegistered<T>(token: InjectionToken$1<T>): boolean;
255
+ /**
256
+ * Start a conditional binding with predicate evaluation
257
+ */
258
+ when(predicate: (container: PredicateContainer) => boolean, options?: WhenOptions): ConditionalBindingBuilder;
259
+ /**
260
+ * Replace a service registration with a decorated version
261
+ */
262
+ extend<T>(token: InjectionToken$1<T>, decorator: ExtensionDecorator<T>): void;
263
+ /**
264
+ * Run callback within request scope
265
+ *
266
+ * Creates a child container with fresh instances for services registered with `scope: Scope.Request`.
267
+ * Callback receives the request-scoped container as argument.
268
+ *
269
+ * Can only be called on global container (not request-scoped).
270
+ */
271
+ runInRequestScope<T>(routerContext: RouterContext, callback: (requestContainer: Container) => T | Promise<T>): Promise<T>;
272
+ /**
273
+ * Create request scope container
274
+ *
275
+ * Can only be called on global container (not request-scoped).
276
+ */
277
+ createRequestScope(routerContext: RouterContext): Container;
278
+ /**
279
+ * Get underlying tsyringe container
280
+ */
281
+ getTsyringeContainer(): DependencyContainer;
282
+ dispose(): void | Promise<void>;
283
+ }
284
+ //#endregion
285
+ //#region src/di/tokens.d.ts
286
+ /**
287
+ * Token for the Container instance
288
+ * Used for injecting the Container into services that need dynamic resolution
289
+ */
290
+ declare const CONTAINER_TOKEN: unique symbol;
291
+ declare const DI_TOKENS: {
292
+ readonly CloudflareEnv: symbol;
293
+ readonly ExecutionContext: symbol;
294
+ readonly Container: typeof CONTAINER_TOKEN;
295
+ readonly Application: symbol;
296
+ readonly ModuleRegistry: symbol;
297
+ readonly ErrorHandler: symbol;
298
+ readonly Database: symbol;
299
+ readonly Queue: symbol;
300
+ readonly ConsumerRegistry: symbol;
301
+ readonly Cron: symbol;
302
+ readonly EventRegistry: symbol;
303
+ /**
304
+ * AuthContext: Use for services that need user authentication (userId).
305
+ */
306
+ readonly AuthContext: symbol;
307
+ readonly DurableObjectState: symbol;
308
+ readonly DurableObjectId: symbol;
309
+ };
310
+ type DIToken = typeof DI_TOKENS[keyof typeof DI_TOKENS];
311
+ //#endregion
312
+ //#region src/di/decorators/inject-param.decorator.d.ts
313
+ /**
314
+ * Metadata key for storing parameter injection information
315
+ */
316
+ declare const INJECT_PARAM_METADATA_KEY: unique symbol;
317
+ /**
318
+ * Describes a parameter injection
319
+ */
320
+ interface ParamInjection {
321
+ /** Parameter index in the method signature (0-based) */
322
+ index: number;
323
+ /** DI token to resolve */
324
+ token: InjectionToken$1;
325
+ }
326
+ /**
327
+ * Mark a method parameter for DI injection
328
+ *
329
+ * The parameter will be resolved from the request-scoped container
330
+ * when the controller method is invoked.
331
+ *
332
+ * @param token - DI token to resolve (class or symbol)
333
+ *
334
+ * @example With class token
335
+ * ```typescript
336
+ * async show(
337
+ * ctx: RouterContext,
338
+ * @InjectParam(UserService) userService: UserService
339
+ * ) { }
340
+ * ```
341
+ *
342
+ * @example With symbol token
343
+ * ```typescript
344
+ * async show(
345
+ * ctx: RouterContext,
346
+ * @InjectParam(DI_TOKENS.Cache) cache: ICacheService
347
+ * ) { }
348
+ * ```
349
+ */
350
+ declare function InjectParam<T>(token: InjectionToken$1<T>): ParameterDecorator;
351
+ /**
352
+ * Get method parameter injections
353
+ *
354
+ * @param target - Controller prototype
355
+ * @param propertyKey - Method name
356
+ * @returns Array of parameter injections sorted by index
357
+ */
358
+ declare function getMethodInjections(target: object, propertyKey: string | symbol): ParamInjection[];
359
+ //#endregion
360
+ //#region src/di/decorators.d.ts
361
+ /**
362
+ * Mark a class as injectable
363
+ *
364
+ * This decorator wraps tsyringe's `@injectable` decorator and optionally
365
+ * associates a token with the class. The actual lifecycle (Singleton, Request,
366
+ * Transient) is determined at registration time, not decoration time.
367
+ *
368
+ * **Lifecycle Control:**
369
+ * - Use `scope: Scope.Singleton` in module providers for singleton
370
+ * - Use `scope: Scope.Request` in module providers for request-scoped
371
+ * - Default is Transient (new instance per resolution)
372
+ *
373
+ * @param token - Optional DI token for service resolution
374
+ *
375
+ * @example Basic usage (no token)
376
+ * ```typescript
377
+ * @Transient()
378
+ * export class UserService {
379
+ * constructor(@inject(DI_TOKENS.Database) private db: DatabaseService) {}
380
+ * }
381
+ *
382
+ * // In module:
383
+ * @Module({
384
+ * providers: [UserService] // Transient by default
385
+ * })
386
+ * ```
387
+ *
388
+ * @example With token
389
+ * ```typescript
390
+ * @Transient(DI_TOKENS.ConnectionManager)
391
+ * export class ConnectionManager implements Disposable {
392
+ * // ...
393
+ * }
394
+ *
395
+ * // In Application.ts:
396
+ * container.register(DI_TOKENS.ConnectionManager, ConnectionManager, Scope.Request)
397
+ * ```
398
+ *
399
+ * @example Singleton via provider scope
400
+ * ```typescript
401
+ * @Transient()
402
+ * export class ConsumerRegistry {
403
+ * // ...
404
+ * }
405
+ *
406
+ * // In module:
407
+ * @Module({
408
+ * providers: [
409
+ * { provide: DI_TOKENS.ConsumerRegistry, useClass: ConsumerRegistry, scope: Scope.Singleton }
410
+ * ]
411
+ * })
412
+ * ```
413
+ */
414
+ declare function Transient<T>(token?: InjectionToken$1<T>): <TFunction extends abstract new (...args: never[]) => unknown>(target: TFunction) => TFunction;
415
+ //#endregion
416
+ //#region src/di/errors/conditional-binding-fallback.error.d.ts
417
+ /**
418
+ * ConditionalBindingFallbackError
419
+ *
420
+ * Thrown when a conditional binding predicate returns false but no fallback
421
+ * implementation was provided and no existing registration exists for the token.
422
+ *
423
+ * This typically indicates a misconfiguration in the DI setup where:
424
+ * - A `when().use().give()` chain was used without `otherwise()`
425
+ * - AND the token wasn't previously registered
426
+ * - AND the predicate evaluated to false at resolution time
427
+ */
428
+ declare class ConditionalBindingFallbackError extends ApplicationError {
429
+ constructor(token: string);
430
+ }
431
+ //#endregion
432
+ //#region src/di/errors/request-scope-operation-not-allowed.error.d.ts
433
+ /**
434
+ * RequestScopeOperationNotAllowedError
435
+ *
436
+ * Thrown when attempting to call a method that is not allowed on the current container scope.
437
+ * - `createRequestScope()` and `runInRequestScope()` can only be called on global containers
438
+ */
439
+ declare class RequestScopeOperationNotAllowedError extends ApplicationError {
440
+ constructor(methodName: string);
441
+ }
442
+ //#endregion
443
+ //#region src/env.d.ts
444
+ /**
445
+ * Cloudflare Worker Environment Bindings
446
+ *
447
+ * This interface defines the base environment bindings required by Stratal.
448
+ * Use TypeScript module augmentation to add your own application-specific bindings.
449
+ *
450
+ * @example
451
+ * ```typescript
452
+ * declare module 'stratal' {
453
+ * interface StratalEnv {
454
+ * DATABASE: D1Database
455
+ * NOTIFICATIONS_QUEUE: Queue
456
+ * }
457
+ * }
458
+ * ```
459
+ */
460
+ interface StratalEnv {
461
+ ENVIRONMENT: string;
462
+ CACHE: KVNamespace;
463
+ }
464
+ //#endregion
465
+ //#region src/router/constants.d.ts
466
+ /**
467
+ * Type-safe context keys for Hono router variables
468
+ * Using symbols to avoid string collisions
469
+ */
470
+ declare const ROUTER_CONTEXT_KEYS: {
471
+ readonly REQUEST_CONTAINER: "requestContainer";
472
+ readonly LOCALE: "locale";
473
+ };
474
+ /**
475
+ * Metadata keys for storing route and controller configuration
476
+ * Using symbols to avoid collisions with other decorators
477
+ */
478
+ declare const ROUTE_METADATA_KEYS: {
479
+ readonly CONTROLLER_ROUTE: symbol;
480
+ readonly CONTROLLER_OPTIONS: symbol;
481
+ readonly CONTROLLER_MIDDLEWARES: symbol;
482
+ readonly ROUTE_CONFIG: symbol;
483
+ readonly DECORATED_METHODS: symbol;
484
+ readonly HTTP_ROUTE_CONFIG: symbol;
485
+ readonly HTTP_DECORATED_METHODS: symbol;
486
+ readonly AUTH_GUARD: symbol;
487
+ readonly GATEWAY_MARKER: symbol;
488
+ readonly WS_ON_MESSAGE: symbol;
489
+ readonly WS_ON_CLOSE: symbol;
490
+ readonly WS_ON_ERROR: symbol;
491
+ };
492
+ /**
493
+ * Security scheme identifiers for OpenAPI
494
+ * These reference the security scheme definitions in security.schemas.ts
495
+ */
496
+ declare const SECURITY_SCHEMES: {
497
+ readonly BEARER_AUTH: "bearerAuth";
498
+ readonly API_KEY: "apiKey";
499
+ readonly SESSION_COOKIE: "sessionCookie";
500
+ };
501
+ /**
502
+ * HTTP method mapping for RESTful controller methods
503
+ * Maps controller method names to HTTP verbs and path patterns
504
+ */
505
+ declare const HTTP_METHODS: {
506
+ readonly index: {
507
+ readonly method: "get";
508
+ readonly path: "";
509
+ };
510
+ readonly show: {
511
+ readonly method: "get";
512
+ readonly path: "/:id";
513
+ };
514
+ readonly create: {
515
+ readonly method: "post";
516
+ readonly path: "";
517
+ };
518
+ readonly update: {
519
+ readonly method: "put";
520
+ readonly path: "/:id";
521
+ };
522
+ readonly patch: {
523
+ readonly method: "patch";
524
+ readonly path: "/:id";
525
+ };
526
+ readonly destroy: {
527
+ readonly method: "delete";
528
+ readonly path: "/:id";
529
+ };
530
+ };
531
+ /**
532
+ * Sentinel symbol to opt a controller out of versioning.
533
+ * When used as the version, no prefix is applied even when defaultVersion is set.
534
+ */
535
+ declare const VERSION_NEUTRAL: unique symbol;
536
+ //#endregion
537
+ //#region src/router/types.d.ts
538
+ /**
539
+ * Route parameter type for OpenAPI
540
+ * ZodObject or ZodPipe (piped validation)
541
+ */
542
+ type ZodObjectWithEffect = index_d_exports$1.ZodObject<any> | index_d_exports$1.ZodPipe<any, any>;
543
+ type RouteParameter = ZodObjectWithEffect | undefined;
544
+ /**
545
+ * Hono context variables with type-safe keys
546
+ */
547
+ interface RouterVariables {
548
+ [ROUTER_CONTEXT_KEYS.REQUEST_CONTAINER]: Container;
549
+ [ROUTER_CONTEXT_KEYS.LOCALE]?: string;
550
+ }
551
+ /**
552
+ * Hono environment type for router
553
+ */
554
+ interface RouterEnv {
555
+ Bindings: StratalEnv;
556
+ Variables: RouterVariables;
557
+ }
558
+ /**
559
+ * Security scheme identifier type
560
+ * Matches the keys in SECURITY_SCHEMES constant
561
+ */
562
+ type SecurityScheme = typeof SECURITY_SCHEMES[keyof typeof SECURITY_SCHEMES];
563
+ /**
564
+ * HTTP method type from OpenAPI spec
565
+ */
566
+ type HttpMethod = 'get' | 'post' | 'put' | 'delete' | 'patch' | 'head' | 'options' | 'trace' | 'all';
567
+ /**
568
+ * Object form for request body with optional content type
569
+ */
570
+ interface RouteBodyObject {
571
+ schema: index_d_exports$1.ZodType;
572
+ contentType?: string;
573
+ }
574
+ /**
575
+ * Request body definition for @Route() decorator
576
+ * Bare ZodType defaults to application/json
577
+ */
578
+ type RouteBody = index_d_exports$1.ZodType | RouteBodyObject;
579
+ /**
580
+ * Object form for response with optional description and content type
581
+ */
582
+ interface RouteResponseObject {
583
+ schema: index_d_exports$1.ZodType;
584
+ description?: string;
585
+ contentType?: string;
586
+ }
587
+ /**
588
+ * Single response definition for @Route() decorator
589
+ * Status code is auto-derived from method name (create->201, others->200)
590
+ */
591
+ type RouteResponse = index_d_exports$1.ZodType | RouteResponseObject;
592
+ /**
593
+ * Route configuration for @Route() decorator
594
+ * Defines OpenAPI metadata for a controller method
595
+ */
596
+ interface RouteConfig {
597
+ /**
598
+ * Request body schema (for POST, PUT, PATCH)
599
+ * @example z.object({}) or { schema: z.object({}), contentType: 'multipart/form-data' }
600
+ */
601
+ body?: RouteBody;
602
+ /**
603
+ * URL parameters schema (e.g., { id: z.string().uuid() })
604
+ * Must be ZodObject or ZodPipe for OpenAPI compatibility
605
+ */
606
+ params?: RouteParameter;
607
+ /**
608
+ * Query parameters schema (e.g., pagination, filters)
609
+ * Must be ZodObject or ZodPipe for OpenAPI compatibility
610
+ */
611
+ query?: RouteParameter;
612
+ /**
613
+ * Response schema for success case
614
+ * Status code auto-derived: create()->201, others->200
615
+ * @example userSchema or { schema: userSchema, description: 'User details' }
616
+ */
617
+ response: RouteResponse;
618
+ /**
619
+ * OpenAPI tags for grouping endpoints
620
+ * Merged with controller-level tags
621
+ */
622
+ tags?: string[];
623
+ /**
624
+ * Security schemes required for this route
625
+ * Merged with controller-level security
626
+ * Empty array = public route (no auth)
627
+ */
628
+ security?: SecurityScheme[];
629
+ /**
630
+ * Human-readable description for OpenAPI docs
631
+ */
632
+ description?: string;
633
+ /**
634
+ * Detailed summary for OpenAPI docs
635
+ */
636
+ summary?: string;
637
+ /**
638
+ * Hide this route from OpenAPI documentation
639
+ * Route remains functional but won't appear in /api/docs or /api/openapi.json
640
+ * Useful for internal-only endpoints, debug routes, or work-in-progress features
641
+ */
642
+ hideFromDocs?: boolean;
643
+ /**
644
+ * HTTP success status code for the response
645
+ * Used by HTTP method decorators (@Get, @Post, etc.) to set the success status
646
+ * For @Route() decorator, status code is auto-derived from method name
647
+ */
648
+ statusCode?: number;
649
+ }
650
+ /**
651
+ * Metadata stored by HTTP method decorators (@Get, @Post, etc.)
652
+ * Contains the explicit HTTP method, path, and route configuration
653
+ */
654
+ interface HttpRouteMetadata {
655
+ method: HttpMethod;
656
+ path: string;
657
+ config: RouteConfig;
658
+ }
659
+ /**
660
+ * Controller options for @Controller() decorator
661
+ * Provides default configuration for all routes in the controller
662
+ */
663
+ interface ControllerOptions {
664
+ /**
665
+ * Default tags applied to all routes in this controller
666
+ * Routes can append additional tags
667
+ */
668
+ tags?: string[];
669
+ /**
670
+ * Default security schemes applied to all routes
671
+ * Routes can add more schemes or override with empty array
672
+ */
673
+ security?: SecurityScheme[];
674
+ /**
675
+ * Hide all routes in this controller from OpenAPI documentation
676
+ * Routes remain functional but won't appear in /api/docs or /api/openapi.json
677
+ * Can be overridden at route level with hideFromDocs: false
678
+ * Useful for internal-only controllers, debug endpoints, or utilities
679
+ */
680
+ hideFromDocs?: boolean;
681
+ /**
682
+ * API version(s) for this controller.
683
+ * When versioning is enabled, routes are prefixed with the version (e.g., /v1/users).
684
+ * Use VERSION_NEUTRAL to opt out of versioning (no prefix applied).
685
+ * Can be a single version string, array of versions, or VERSION_NEUTRAL symbol.
686
+ */
687
+ version?: string | string[] | typeof VERSION_NEUTRAL;
688
+ }
689
+ /**
690
+ * Versioning configuration for the application.
691
+ * Enables URI-based API versioning when provided to Stratal config.
692
+ */
693
+ interface VersioningOptions {
694
+ /**
695
+ * Prefix for version segments in the URL.
696
+ * @default 'v'
697
+ * @example 'v' produces /v1, /v2; 'api/v' produces /api/v1, /api/v2
698
+ */
699
+ prefix?: string;
700
+ /**
701
+ * Default version applied to controllers without explicit version.
702
+ * Controllers with VERSION_NEUTRAL are not affected.
703
+ */
704
+ defaultVersion?: string | string[];
705
+ }
706
+ //#endregion
707
+ //#region src/router/router-context.d.ts
708
+ type ContextQueryResult<R extends Record<string, unknown> | undefined, K extends string | undefined> = K extends string ? string : R extends undefined ? Record<string, unknown> : R;
709
+ /**
710
+ * Router context wrapper with helper methods
711
+ *
712
+ * Provides convenient access to Hono's context and common request/response operations.
713
+ * The native Hono context is available via the `c` property for advanced use cases.
714
+ *
715
+ * @example
716
+ * ```typescript
717
+ * async index(ctx: RouterContext): Promise<Response> {
718
+ * // Use helper methods
719
+ * const users = await this.service.findAll()
720
+ * return ctx.json(users)
721
+ * }
722
+ *
723
+ * async show(ctx: RouterContext): Promise<Response> {
724
+ * // Access route params
725
+ * const id = ctx.param('id')
726
+ * const user = await this.service.findById(id)
727
+ * return ctx.json(user)
728
+ * }
729
+ *
730
+ * async create(ctx: RouterContext): Promise<Response> {
731
+ * // Parse request body
732
+ * const body = await ctx.body<CreateUserInput>()
733
+ * const user = await this.service.create(body)
734
+ * return ctx.json(user, 201)
735
+ * }
736
+ * ```
737
+ */
738
+ declare class RouterContext<T extends RouterEnv = RouterEnv> {
739
+ readonly c: Context<T>;
740
+ /**
741
+ * Native Hono context
742
+ * Access for advanced use cases not covered by helper methods
743
+ */
744
+ constructor(c: Context<T>);
745
+ /**
746
+ * Get request-scoped DI container
747
+ * Contains request-specific services and context (AuthContext)
748
+ *
749
+ * @throws Error if container not initialized
750
+ */
751
+ getContainer(): Container;
752
+ /**
753
+ * Set locale for the current request
754
+ * Locale is determined by X-Locale header or defaults to config
755
+ *
756
+ * @param locale - Locale code (e.g., 'en', 'fr')
757
+ */
758
+ setLocale(locale: string): void;
759
+ /**
760
+ * Get locale for the current request
761
+ *
762
+ * @returns Current locale code
763
+ */
764
+ getLocale(): string;
765
+ /**
766
+ * Return JSON response
767
+ *
768
+ * @param data - Data to serialize as JSON
769
+ * @param status - HTTP status code (default: 200)
770
+ */
771
+ json(data: object, status?: ContentfulStatusCode): Response;
772
+ /**
773
+ * Get route parameter value
774
+ *
775
+ * @param key - Parameter name (e.g., 'id' for /users/:id)
776
+ */
777
+ param(key: string): string;
778
+ /**
779
+ * Get query parameter value
780
+ *
781
+ * @param key - Query parameter name
782
+ */
783
+ query<R extends Record<string, unknown> | undefined = undefined, K extends string | undefined = undefined>(key?: K): ContextQueryResult<R, K>;
784
+ /**
785
+ * Get request header value
786
+ *
787
+ * @param name - Header name (case-insensitive)
788
+ */
789
+ header(name: string): string | undefined;
790
+ /**
791
+ * Get validated request body from OpenAPI route
792
+ * Returns pre-validated data that has passed schema validation
793
+ *
794
+ * @returns Validated JSON body
795
+ */
796
+ body<T>(): Promise<T>;
797
+ /**
798
+ * Return text response
799
+ *
800
+ * @param text - Text content
801
+ * @param status - HTTP status code (default: 200)
802
+ */
803
+ text(text: string, status?: ContentfulStatusCode): Response;
804
+ /**
805
+ * Return HTML response
806
+ *
807
+ * @param html - HTML content
808
+ * @param status - HTTP status code (default: 200)
809
+ */
810
+ html(html: string, status?: ContentfulStatusCode): Response;
811
+ /**
812
+ * Redirect to another URL
813
+ *
814
+ * @param url - Target URL
815
+ * @param status - HTTP status code (default: 302)
816
+ */
817
+ redirect(url: string, status?: RedirectStatusCode): Response;
818
+ /**
819
+ * Return a streaming response (binary/generic)
820
+ *
821
+ * @param callback - Async function that writes to the stream
822
+ * @param onError - Optional error handler called if an error occurs during streaming
823
+ */
824
+ stream(callback: (stream: StreamingApi) => Promise<void>, onError?: (err: Error, stream: StreamingApi) => Promise<void>): Response;
825
+ /**
826
+ * Return a streaming text response
827
+ *
828
+ * Automatically sets `Content-Encoding: Identity` for Cloudflare Workers compatibility.
829
+ *
830
+ * @param callback - Async function that writes text to the stream
831
+ * @param onError - Optional error handler called if an error occurs during streaming
832
+ */
833
+ streamText(callback: (stream: StreamingApi) => Promise<void>, onError?: (err: Error, stream: StreamingApi) => Promise<void>): Response;
834
+ /**
835
+ * Return a Server-Sent Events (SSE) streaming response
836
+ *
837
+ * Automatically sets `Content-Encoding: Identity` for Cloudflare Workers compatibility.
838
+ *
839
+ * @param callback - Async function that writes SSE events to the stream
840
+ * @param onError - Optional error handler called if an error occurs during streaming
841
+ */
842
+ streamSSE(callback: (stream: SSEStreamingApi) => Promise<void>, onError?: (err: Error, stream: SSEStreamingApi) => Promise<void>): Response;
843
+ }
844
+ //#endregion
845
+ //#region src/router/controller.d.ts
846
+ /**
847
+ * Controller interface for handling HTTP requests
848
+ *
849
+ * Controllers can implement RESTful methods or a custom handle() method.
850
+ * The route for the controller is set via the `@Controller` decorator.
851
+ *
852
+ * RESTful methods auto-map to HTTP verbs:
853
+ * - index() → GET /route
854
+ * - show() → GET /route/:id
855
+ * - create() → POST /route
856
+ * - update() → PUT /route/:id
857
+ * - patch() → PATCH /route/:id
858
+ * - destroy() → DELETE /route/:id
859
+ *
860
+ * For non-RESTful routes (wildcards, custom patterns), implement handle()
861
+ */
862
+ interface IController {
863
+ /**
864
+ * GET /route
865
+ * List all resources
866
+ */
867
+ index?(ctx: RouterContext): Promise<Response> | Response;
868
+ /**
869
+ * GET /route/:id
870
+ * Show a specific resource
871
+ */
872
+ show?(ctx: RouterContext): Promise<Response> | Response;
873
+ /**
874
+ * POST /route
875
+ * Create a new resource
876
+ */
877
+ create?(ctx: RouterContext): Promise<Response> | Response;
878
+ /**
879
+ * PUT /route/:id
880
+ * Update a resource (full replacement)
881
+ */
882
+ update?(ctx: RouterContext): Promise<Response> | Response;
883
+ /**
884
+ * PATCH /route/:id
885
+ * Patch a resource (partial update)
886
+ */
887
+ patch?(ctx: RouterContext): Promise<Response> | Response;
888
+ /**
889
+ * DELETE /route/:id
890
+ * Delete a resource
891
+ */
892
+ destroy?(ctx: RouterContext): Promise<Response> | Response;
893
+ /**
894
+ * Custom handler for non-RESTful routes
895
+ * Use this for wildcards (e.g., /api/v1/auth/*) or custom patterns
896
+ * Takes precedence over RESTful methods if defined
897
+ */
898
+ handle?(ctx: RouterContext): Promise<Response> | Response;
899
+ }
900
+ //#endregion
901
+ //#region src/router/middleware.interface.d.ts
902
+ /**
903
+ * Middleware interface for request processing
904
+ *
905
+ * Middlewares use the `@Transient()` decorator and are registered via
906
+ * the `configure(consumer)` method in modules implementing `MiddlewareConfigurable`.
907
+ *
908
+ * @example
909
+ * ```typescript
910
+ * @Transient()
911
+ * export class LoggingMiddleware implements Middleware {
912
+ * async handle(ctx: RouterContext, next: () => Promise<void>): Promise<void> {
913
+ * const start = Date.now()
914
+ * await next()
915
+ * console.log(`Request took ${Date.now() - start}ms`)
916
+ * }
917
+ * }
918
+ *
919
+ * // Register in module:
920
+ * @Module({ providers: [...] })
921
+ * export class AppModule implements MiddlewareConfigurable {
922
+ * configure(consumer: MiddlewareConsumer): void {
923
+ * consumer.apply(LoggingMiddleware).forRoutes('*')
924
+ * }
925
+ * }
926
+ * ```
927
+ */
928
+ interface Middleware {
929
+ /**
930
+ * Handle middleware logic
931
+ * Call next() to continue the middleware chain
932
+ *
933
+ * @param ctx - Router context with request/response helpers
934
+ * @param next - Function to call the next middleware or route handler
935
+ */
936
+ handle(ctx: RouterContext, next: () => Promise<void>): Promise<void>;
937
+ }
938
+ //#endregion
939
+ //#region src/middleware/types.d.ts
940
+ /**
941
+ * Route information for middleware targeting
942
+ */
943
+ interface RouteInfo {
944
+ /** Route path pattern (e.g., '/api/v1/users', '/health') */
945
+ path: string;
946
+ /** HTTP method(s) to match. If omitted, matches all methods */
947
+ method?: HttpMethod | HttpMethod[];
948
+ /** API version(s) to target. When versioning is enabled, resolves to versioned path. */
949
+ version?: string | string[];
950
+ }
951
+ /**
952
+ * Internal configuration entry for middleware registration
953
+ */
954
+ interface MiddlewareConfigEntry {
955
+ /** Middleware classes to apply */
956
+ middlewares: Constructor<Middleware>[];
957
+ /** Routes to exclude from middleware */
958
+ excludes: RouteInfo[];
959
+ /** Target routes for middleware */
960
+ routes: MiddlewareRouteTarget[];
961
+ }
962
+ /**
963
+ * Valid targets for middleware routes
964
+ * - Controller class: Apply to all routes in that controller
965
+ * - RouteInfo: Apply to specific path/method combination
966
+ * - '*': Apply to all routes (global middleware)
967
+ */
968
+ type MiddlewareRouteTarget = Constructor<IController> | RouteInfo | '*';
969
+ /**
970
+ * Interface for modules that configure middleware
971
+ *
972
+ * Implement this interface in your module class to configure
973
+ * middleware using the consumer pattern.
974
+ *
975
+ * @example
976
+ * ```typescript
977
+ * @Module({ providers: [...] })
978
+ * export class AppModule implements MiddlewareConfigurable {
979
+ * configure(consumer: MiddlewareConsumer): void {
980
+ * consumer
981
+ * .apply(LoggingMiddleware, CorsMiddleware)
982
+ * .exclude({ path: '/health', method: 'get' })
983
+ * .forRoutes('*')
984
+ *
985
+ * consumer
986
+ * .apply(CorsMiddleware)
987
+ * .forRoutes(ApiController, WebhooksController)
988
+ * }
989
+ * }
990
+ * ```
991
+ */
992
+ interface MiddlewareConfigurable {
993
+ /**
994
+ * Configure middleware for this module
995
+ * @param consumer - Middleware consumer for fluent configuration
996
+ */
997
+ configure(consumer: MiddlewareConsumer): void;
998
+ }
999
+ /**
1000
+ * Forward declaration for MiddlewareConsumer
1001
+ * Implementation in middleware-consumer.ts
1002
+ */
1003
+ interface MiddlewareConsumer {
1004
+ /**
1005
+ * Specify middleware(s) to apply
1006
+ * @param middlewares - Middleware classes to apply
1007
+ * @returns Builder for configuring routes
1008
+ */
1009
+ apply(...middlewares: Constructor<Middleware>[]): MiddlewareBuilder;
1010
+ /**
1011
+ * Get all configured middleware entries
1012
+ */
1013
+ getEntries(): MiddlewareConfigEntry[];
1014
+ }
1015
+ /**
1016
+ * Forward declaration for MiddlewareBuilder
1017
+ * Implementation in middleware-consumer.ts
1018
+ */
1019
+ interface MiddlewareBuilder {
1020
+ /**
1021
+ * Exclude routes from middleware
1022
+ * @param routes - Routes to exclude (path strings or RouteInfo objects)
1023
+ */
1024
+ exclude(...routes: (string | RouteInfo)[]): this;
1025
+ /**
1026
+ * Apply middleware to specified routes
1027
+ * @param targets - Controller classes, route patterns, or '*' for global
1028
+ */
1029
+ forRoutes(...targets: MiddlewareRouteTarget[]): void;
1030
+ }
1031
+ //#endregion
1032
+ //#region src/module/types.d.ts
1033
+ /**
1034
+ * Provider that uses a class constructor
1035
+ *
1036
+ * @example Transient (default)
1037
+ * ```typescript
1038
+ * { provide: UserService, useClass: UserService }
1039
+ * ```
1040
+ *
1041
+ * @example Singleton
1042
+ * ```typescript
1043
+ * { provide: DI_TOKENS.ConsumerRegistry, useClass: ConsumerRegistry, scope: Scope.Singleton }
1044
+ * ```
1045
+ *
1046
+ * @example Request-scoped
1047
+ * ```typescript
1048
+ * { provide: DI_TOKENS.ConnectionManager, useClass: ConnectionManager, scope: Scope.Request }
1049
+ * ```
1050
+ */
1051
+ interface ClassProvider<T extends object = object> {
1052
+ provide: InjectionToken$2<T>;
1053
+ useClass: Constructor<T>;
1054
+ /** Lifecycle scope - defaults to Transient if not specified */
1055
+ scope?: Scope;
1056
+ }
1057
+ /**
1058
+ * Provider that uses a pre-created value
1059
+ *
1060
+ * Note: Values are inherently singleton-like (same instance always returned).
1061
+ * No scope option needed.
1062
+ */
1063
+ interface ValueProvider<T extends object = object> {
1064
+ provide: InjectionToken$2<T>;
1065
+ useValue: T;
1066
+ }
1067
+ /**
1068
+ * Provider that uses a factory function with auto-injection support
1069
+ *
1070
+ * Note: Factory providers do not support scope/lifecycle in tsyringe.
1071
+ * Factories are always called fresh on each resolution (transient-like behavior).
1072
+ *
1073
+ * @example Factory with dependencies
1074
+ * ```typescript
1075
+ * {
1076
+ * provide: LOGGER_TOKENS.Transports,
1077
+ * useFactory: (console) => [console],
1078
+ * inject: [LOGGER_TOKENS.ConsoleTransport]
1079
+ * }
1080
+ * ```
1081
+ */
1082
+ interface FactoryProvider<T extends object = object> {
1083
+ provide: InjectionToken$2<T>;
1084
+ useFactory: (...deps: any[]) => T | Promise<T>;
1085
+ inject?: InjectionToken$2<unknown>[];
1086
+ }
1087
+ /**
1088
+ * Provider that creates an alias to an existing token
1089
+ *
1090
+ * When the `provide` token is resolved, the container resolves `useExisting` instead.
1091
+ * Both tokens return the same instance (for singleton/request-scoped services).
1092
+ *
1093
+ * Use cases:
1094
+ * - Creating interface tokens that alias concrete implementations
1095
+ * - Multiple tokens resolving to the same service
1096
+ *
1097
+ * @example Basic alias
1098
+ * ```typescript
1099
+ * {
1100
+ * provide: 'IUserService',
1101
+ * useExisting: UserService
1102
+ * }
1103
+ * // Resolving 'IUserService' returns the UserService instance
1104
+ * ```
1105
+ *
1106
+ * @example Interface abstraction
1107
+ * ```typescript
1108
+ * providers: [
1109
+ * UserService,
1110
+ * { provide: I_USER_SERVICE, useExisting: UserService }
1111
+ * ]
1112
+ * // Both UserService and I_USER_SERVICE resolve to the same instance
1113
+ * ```
1114
+ */
1115
+ interface ExistingProvider<T extends object = object> {
1116
+ provide: InjectionToken$2<T>;
1117
+ useExisting: InjectionToken$2<T>;
1118
+ }
1119
+ /**
1120
+ * Union type for all provider types
1121
+ */
1122
+ type Provider<T extends object = object> = Constructor<T> | ClassProvider<T> | ValueProvider<T> | FactoryProvider<T> | ExistingProvider<T>;
1123
+ /**
1124
+ * Module class type (decorated with @Module)
1125
+ *
1126
+ * Static methods for dynamic module configuration:
1127
+ * - forRoot: Synchronous configuration (like NestJS forRoot)
1128
+ * - forRootAsync: Async configuration with factory (like NestJS forRootAsync)
1129
+ */
1130
+ interface ModuleClass<T extends object = object> extends Constructor<T> {
1131
+ /**
1132
+ * Synchronous module configuration
1133
+ *
1134
+ * Use for global singleton modules with static configuration
1135
+ *
1136
+ * @example
1137
+ * ```typescript
1138
+ * @Module({ providers: [] })
1139
+ * export class ConfigModule {
1140
+ * static forRoot(options: ConfigOptions): DynamicModule {
1141
+ * return {
1142
+ * providers: [
1143
+ * { provide: CONFIG_TOKEN, useValue: options }
1144
+ * ]
1145
+ * }
1146
+ * }
1147
+ * }
1148
+ *
1149
+ * // Usage in AppModule
1150
+ * @Module({ imports: [ConfigModule.forRoot({ apiKey: '...' })] })
1151
+ * ```
1152
+ */
1153
+ forRoot?: (...args: unknown[]) => DynamicModule;
1154
+ /**
1155
+ * Async module configuration with dependency injection
1156
+ *
1157
+ * Use when configuration depends on other services
1158
+ *
1159
+ * @example
1160
+ * ```typescript
1161
+ * @Module({ providers: [] })
1162
+ * export class DatabaseModule {
1163
+ * static forRootAsync<T>(options: AsyncModuleOptions<T>): DynamicModule {
1164
+ * return {
1165
+ * providers: [
1166
+ * {
1167
+ * provide: DB_TOKEN,
1168
+ * useFactory: options.useFactory,
1169
+ * inject: options.inject
1170
+ * }
1171
+ * ]
1172
+ * }
1173
+ * }
1174
+ * }
1175
+ *
1176
+ * // Usage in AppModule
1177
+ * @Module({
1178
+ * imports: [
1179
+ * DatabaseModule.forRootAsync({
1180
+ * inject: [CONFIG_TOKEN],
1181
+ * useFactory: (config) => ({ url: config.databaseUrl })
1182
+ * })
1183
+ * ]
1184
+ * })
1185
+ * ```
1186
+ */
1187
+ forRootAsync?: <TOptions>(options: AsyncModuleOptions<TOptions>) => DynamicModule;
1188
+ }
1189
+ /**
1190
+ * Module options for `@Module` decorator
1191
+ *
1192
+ * Note: Middlewares are configured via the MiddlewareConfigurable interface's
1193
+ * configure() method, not via this options object. See middleware/types.ts.
1194
+ */
1195
+ interface ModuleOptions {
1196
+ imports?: (ModuleClass | DynamicModule)[];
1197
+ providers?: Provider[];
1198
+ controllers?: Constructor[];
1199
+ consumers?: Constructor[];
1200
+ jobs?: Constructor[];
1201
+ }
1202
+ /**
1203
+ * Dynamic module returned by forRoot/forRootAsync
1204
+ *
1205
+ * Contains additional providers, controllers, consumers, and jobs
1206
+ * that are added to the module when configured dynamically.
1207
+ */
1208
+ interface DynamicModule extends Omit<ModuleOptions, 'imports'> {
1209
+ /**
1210
+ * Reference to the module class that created this dynamic module
1211
+ *
1212
+ * Required for dynamic modules to support lifecycle methods (configure, onInitialize, onShutdown).
1213
+ * ModuleRegistry uses this to instantiate the actual module class instead of an anonymous wrapper.
1214
+ *
1215
+ * Note: This is NOT for provider scoping (tsyringe is always global).
1216
+ * It's purely for preserving the class reference for lifecycle method calls.
1217
+ */
1218
+ module: Constructor;
1219
+ }
1220
+ /**
1221
+ * Async configuration options for forRootAsync
1222
+ */
1223
+ interface AsyncModuleOptions<TOptions> {
1224
+ inject?: InjectionToken$2<unknown>[];
1225
+ useFactory: (...deps: any[]) => TOptions | Promise<TOptions>;
1226
+ }
1227
+ /**
1228
+ * Context passed to lifecycle hooks
1229
+ */
1230
+ interface ModuleContext {
1231
+ container: Container;
1232
+ logger: LoggerService;
1233
+ }
1234
+ /**
1235
+ * Lifecycle hook: called after all providers are registered
1236
+ */
1237
+ interface OnInitialize {
1238
+ onInitialize(context: ModuleContext): void | Promise<void>;
1239
+ }
1240
+ /**
1241
+ * Lifecycle hook: called during application shutdown
1242
+ */
1243
+ interface OnShutdown {
1244
+ onShutdown(context: ModuleContext): void | Promise<void>;
1245
+ }
1246
+ /**
1247
+ * Tsyringe registry entry type (for internal use)
1248
+ *
1249
+ * Note: useFactory receives DependencyContainer from tsyringe,
1250
+ * but we resolve our Container via CONTAINER_TOKEN for consistency.
1251
+ */
1252
+ interface RegistryEntry<T extends object = object> {
1253
+ token: InjectionToken$2<T>;
1254
+ useClass?: Constructor<T>;
1255
+ useValue?: T;
1256
+ useFactory?: (dependencyContainer: DependencyContainer) => T;
1257
+ useToken?: InjectionToken$2<T>;
1258
+ }
1259
+ //#endregion
1260
+ //#region src/i18n/i18n.options.d.ts
1261
+ /**
1262
+ * I18n Module Options
1263
+ *
1264
+ * Configuration options for the I18n dynamic module.
1265
+ * Use with I18nModule.forRoot() to configure i18n for your application.
1266
+ */
1267
+ /**
1268
+ * Options for configuring the I18n module
1269
+ *
1270
+ * @example
1271
+ * ```typescript
1272
+ * I18nModule.forRoot({
1273
+ * defaultLocale: 'en',
1274
+ * fallbackLocale: 'en',
1275
+ * locales: ['en', 'fr'],
1276
+ * messages: {
1277
+ * en: { common: { hello: 'Hello' } },
1278
+ * fr: { common: { hello: 'Bonjour' } }
1279
+ * }
1280
+ * })
1281
+ * ```
1282
+ */
1283
+ interface I18nModuleOptions {
1284
+ /**
1285
+ * Default locale for the application
1286
+ * Used when no locale is specified in request headers
1287
+ * @default 'en'
1288
+ */
1289
+ defaultLocale?: string;
1290
+ /**
1291
+ * Fallback locale when translation is missing
1292
+ * @default 'en'
1293
+ */
1294
+ fallbackLocale?: string;
1295
+ /**
1296
+ * List of supported locales
1297
+ * Request locales not in this list will fall back to defaultLocale
1298
+ */
1299
+ locales?: string[];
1300
+ /**
1301
+ * Application-specific messages to merge with system messages
1302
+ * Keys are locale codes, values are message objects
1303
+ */
1304
+ messages?: Record<string, Record<string, unknown>>;
1305
+ }
1306
+ /**
1307
+ * Resolved options with all defaults applied
1308
+ * Used internally by I18n services
1309
+ */
1310
+ interface ResolvedI18nOptions {
1311
+ defaultLocale: string;
1312
+ fallbackLocale: string;
1313
+ locales: string[];
1314
+ messages: Record<string, Record<string, unknown>>;
1315
+ }
1316
+ /**
1317
+ * Resolve I18n options with defaults
1318
+ */
1319
+ declare function resolveI18nOptions(options?: I18nModuleOptions): ResolvedI18nOptions;
1320
+ //#endregion
1321
+ //#region src/i18n/i18n.module.d.ts
1322
+ declare class I18nModule implements MiddlewareConfigurable {
1323
+ /**
1324
+ * Configure I18n with app-specific options
1325
+ *
1326
+ * Use this method in AppModule to provide custom locale configuration
1327
+ * and app-specific messages that merge with system messages.
1328
+ *
1329
+ * @param options - I18n configuration options
1330
+ * @returns Dynamic module with options provider
1331
+ *
1332
+ * @example
1333
+ * ```typescript
1334
+ * // apps/backend/src/i18n/index.ts
1335
+ * export const i18nConfig: I18nModuleOptions = {
1336
+ * defaultLocale: 'en',
1337
+ * fallbackLocale: 'en',
1338
+ * locales: ['en', 'fr'],
1339
+ * messages: appMessages
1340
+ * }
1341
+ *
1342
+ * // apps/backend/src/app.module.ts
1343
+ * @Module({
1344
+ * imports: [I18nModule.forRoot(i18nConfig)],
1345
+ * })
1346
+ * export class AppModule {}
1347
+ * ```
1348
+ */
1349
+ static forRoot(options?: I18nModuleOptions): DynamicModule;
1350
+ /**
1351
+ * Configure middleware for locale extraction and i18n context
1352
+ */
1353
+ configure(consumer: MiddlewareConsumer): void;
1354
+ }
1355
+ //#endregion
1356
+ //#region src/i18n/i18n.tokens.d.ts
1357
+ /**
1358
+ * I18n Module DI Tokens
1359
+ * Symbol-based tokens to avoid string collisions
1360
+ */
1361
+ declare const I18N_TOKENS: {
1362
+ /** MessageLoaderService - loads and caches locale messages */readonly MessageLoader: symbol; /** I18nService - request-scoped translation service */
1363
+ readonly I18nService: symbol; /** I18nModuleOptions - configuration options from forRoot() */
1364
+ readonly Options: symbol;
1365
+ };
1366
+ //#endregion
1367
+ //#region src/i18n/setup.d.ts
1368
+ /**
1369
+ * I18n Setup - Message Compiler Registration
1370
+ *
1371
+ * Registers a JIT (Just-In-Time) message compiler for @intlify/core-base
1372
+ * that works in Cloudflare Workers edge runtime.
1373
+ *
1374
+ * This must be called ONCE at application startup, before any I18nService instances are created.
1375
+ */
1376
+ /**
1377
+ * Setup JIT message compiler for i18n
1378
+ *
1379
+ * Registers a message compiler that uses JIT compilation mode.
1380
+ * In @intlify/core-base v10+, JIT mode is enabled by default, which generates
1381
+ * AST (Abstract Syntax Tree) instead of JavaScript code, making it compatible
1382
+ * with CSP-restricted environments like Cloudflare Workers.
1383
+ *
1384
+ * **IMPORTANT:** Call this function once at application startup before creating
1385
+ * any I18nService instances. Safe to call multiple times (only registers once).
1386
+ *
1387
+ * @example
1388
+ * ```typescript
1389
+ * // In application entry point (before app.initialize())
1390
+ * setupI18nCompiler()
1391
+ * ```
1392
+ */
1393
+ declare function setupI18nCompiler(): void;
1394
+ //#endregion
1395
+ //#region src/i18n/errors/locale-not-supported.error.d.ts
1396
+ declare class LocaleNotSupportedError extends ApplicationError {
1397
+ constructor(locale: string, supportedLocales: string[]);
1398
+ }
1399
+ //#endregion
1400
+ //#region src/i18n/errors/translation-missing.error.d.ts
1401
+ declare class TranslationMissingError extends ApplicationError {
1402
+ constructor(key: string, locale: string);
1403
+ }
1404
+ //#endregion
1405
+ //#region src/i18n/services/message-loader.service.d.ts
1406
+ declare class MessageLoaderService {
1407
+ private readonly options?;
1408
+ private readonly cache;
1409
+ private readonly contextCache;
1410
+ private readonly locales;
1411
+ private readonly defaultLocale;
1412
+ constructor(options?: I18nModuleOptions | undefined);
1413
+ /**
1414
+ * Get CoreContext for a locale (lazily built and cached on first access)
1415
+ * Falls back to default locale if locale not found
1416
+ *
1417
+ * @param locale - Locale code
1418
+ * @returns Cached CoreContext ready for translation
1419
+ */
1420
+ getCoreContext(locale: string): CoreContext;
1421
+ /**
1422
+ * Get messages for a specific locale
1423
+ * Falls back to default locale if locale not found
1424
+ *
1425
+ * @param locale - Locale code
1426
+ * @returns Message object for the locale
1427
+ */
1428
+ getMessages(locale: string): Record<string, unknown>;
1429
+ /**
1430
+ * Get list of available locale codes
1431
+ *
1432
+ * @returns Array of locale codes
1433
+ */
1434
+ getAvailableLocales(): string[];
1435
+ /**
1436
+ * Check if a locale is supported
1437
+ *
1438
+ * @param locale - Locale code to check
1439
+ * @returns true if locale is supported
1440
+ */
1441
+ isLocaleSupported(locale: string): boolean;
1442
+ /**
1443
+ * Get default locale
1444
+ *
1445
+ * @returns Default locale code
1446
+ */
1447
+ getDefaultLocale(): string;
1448
+ /**
1449
+ * Flatten nested messages to dot-notation
1450
+ *
1451
+ * Converts { auth: { login: { title: 'Sign In' } } }
1452
+ * to { 'auth.login.title': 'Sign In' }
1453
+ */
1454
+ private flattenMessages;
1455
+ /**
1456
+ * Deep merge two objects
1457
+ * App messages override core messages at leaf level
1458
+ */
1459
+ private deepMerge;
1460
+ }
1461
+ //#endregion
1462
+ //#region src/i18n/middleware/locale-extraction.middleware.d.ts
1463
+ declare class LocaleExtractionMiddleware implements Middleware {
1464
+ private readonly loader;
1465
+ constructor(loader: MessageLoaderService);
1466
+ handle(ctx: RouterContext, next: () => Promise<void>): Promise<void>;
1467
+ /**
1468
+ * Extract and validate locale from X-Locale header
1469
+ */
1470
+ private extractLocale;
1471
+ }
1472
+ //#endregion
1473
+ //#region src/middleware/middleware-consumer.d.ts
1474
+ /**
1475
+ * Consumer for configuring middleware in modules
1476
+ *
1477
+ * Provides fluent API for registering middleware with route targeting.
1478
+ * Used by modules implementing MiddlewareConfigurable interface.
1479
+ *
1480
+ * @example
1481
+ * ```typescript
1482
+ * @Module({ providers: [...] })
1483
+ * export class AppModule implements MiddlewareConfigurable {
1484
+ * configure(consumer: MiddlewareConsumer): void {
1485
+ * // Global logging middleware (excludes health check)
1486
+ * consumer
1487
+ * .apply(LoggingMiddleware)
1488
+ * .exclude('/health')
1489
+ * .forRoutes('*')
1490
+ *
1491
+ * // CORS middleware for specific controllers
1492
+ * consumer
1493
+ * .apply(CorsMiddleware)
1494
+ * .forRoutes(ApiController, WebhooksController)
1495
+ *
1496
+ * // Rate limiting for auth endpoints
1497
+ * consumer
1498
+ * .apply(RateLimitMiddleware)
1499
+ * .forRoutes({ path: '/api/v1/auth/*', method: 'post' })
1500
+ * }
1501
+ * }
1502
+ * ```
1503
+ */
1504
+ declare class MiddlewareConsumerImpl implements MiddlewareConsumer {
1505
+ private entries;
1506
+ /**
1507
+ * Start configuring middleware
1508
+ *
1509
+ * @param middlewares - Middleware classes to apply
1510
+ * @returns Builder for configuring routes and exclusions
1511
+ */
1512
+ apply(...middlewares: Constructor<Middleware>[]): MiddlewareBuilder;
1513
+ /**
1514
+ * Add a configuration entry (called by builder)
1515
+ * @internal
1516
+ */
1517
+ addEntry(entry: MiddlewareConfigEntry): void;
1518
+ /**
1519
+ * Get all configured middleware entries
1520
+ */
1521
+ getEntries(): MiddlewareConfigEntry[];
1522
+ }
1523
+ /**
1524
+ * Create a new middleware consumer instance
1525
+ */
1526
+ declare function createMiddlewareConsumer(): MiddlewareConsumer;
1527
+ //#endregion
1528
+ //#region src/middleware/middleware-configuration.service.d.ts
1529
+ /**
1530
+ * Service for applying middleware configurations to Hono app
1531
+ *
1532
+ * Processes MiddlewareConfigEntry[] from modules and registers
1533
+ * appropriate middleware handlers with route matching.
1534
+ */
1535
+ declare class MiddlewareConfigurationService {
1536
+ private readonly logger;
1537
+ private readonly versioningOptions;
1538
+ constructor(logger: LoggerService, versioningOptions?: VersioningOptions | null);
1539
+ /**
1540
+ * Apply middleware configurations to the Hono app
1541
+ *
1542
+ * @param app - Hono application instance
1543
+ * @param configs - Middleware configuration entries from modules
1544
+ * @param controllers - All registered controller classes (for route resolution)
1545
+ * @param container - DI container for resolving middleware instances
1546
+ */
1547
+ applyMiddlewares(app: OpenAPIHono<RouterEnv>, configs: MiddlewareConfigEntry[], controllers: Constructor<IController>[], container: Container): void;
1548
+ /**
1549
+ * Apply a single middleware configuration entry
1550
+ */
1551
+ private applyMiddlewareConfig;
1552
+ /**
1553
+ * Resolve route targets into concrete route patterns
1554
+ */
1555
+ private resolveRoutePatterns;
1556
+ /**
1557
+ * Resolve a RouteInfo with version into versioned path(s).
1558
+ * If versioning is disabled or no version is specified, returns the RouteInfo as-is.
1559
+ */
1560
+ private resolveVersionedRouteInfo;
1561
+ /**
1562
+ * Register middleware handlers for a specific route pattern
1563
+ */
1564
+ private registerMiddlewareForPattern;
1565
+ /**
1566
+ * Register handler for a specific HTTP method
1567
+ */
1568
+ private registerForMethod;
1569
+ /**
1570
+ * Create a middleware handler function that executes the middleware chain
1571
+ */
1572
+ private createMiddlewareHandler;
1573
+ /**
1574
+ * Check if a request matches any exclusion pattern
1575
+ */
1576
+ private isExcluded;
1577
+ /**
1578
+ * Check if request matches a route pattern
1579
+ */
1580
+ private matchesRoute;
1581
+ /**
1582
+ * Match request path against pattern
1583
+ * Supports wildcards: /api/* matches /api/users, /api/v1/users
1584
+ */
1585
+ private matchesPath;
1586
+ /**
1587
+ * Execute middleware chain in order
1588
+ */
1589
+ private executeMiddlewareChain;
1590
+ }
1591
+ //#endregion
1592
+ //#region src/router/hono-app.d.ts
1593
+ /**
1594
+ * HonoApp — extends OpenAPIHono with Stratal-specific setup
1595
+ *
1596
+ * Absorbs all Hono-related setup from the former RouterService and RequestScopeService:
1597
+ * - Request scope middleware (child container per request)
1598
+ * - Global middleware (CORS, logging, error handling)
1599
+ * - defaultHook for validation errors
1600
+ * - `use()` overload for Stratal middleware classes
1601
+ * - `configure()` for module middleware, OpenAPI, routes, and 404
1602
+ */
1603
+ declare class HonoApp extends OpenAPIHono<RouterEnv> {
1604
+ private configured;
1605
+ private readonly _container;
1606
+ private readonly _logger;
1607
+ /**
1608
+ * Reference to the original Hono `use` implementation.
1609
+ * Captured in constructor after super() sets it as an instance property.
1610
+ * Used by private methods to register middleware without going through the override.
1611
+ */
1612
+ private nativeUse;
1613
+ constructor(container: Container, logger: LoggerService);
1614
+ /**
1615
+ * Configure module middleware, OpenAPI endpoints, controller routes, and 404 handler.
1616
+ * Called once by Application.initialize().
1617
+ */
1618
+ configure(middlewareConfigs: MiddlewareConfigEntry[], controllers: Constructor<IController>[], versioningOptions?: VersioningOptions | null): Promise<void>;
1619
+ private setupRequestScope;
1620
+ private setupGlobalMiddleware;
1621
+ private applyMiddlewareClasses;
1622
+ }
1623
+ //#endregion
1624
+ //#region src/router/services/route-registration.service.d.ts
1625
+ /**
1626
+ * Route registration service
1627
+ * Manages controller and route registration with OpenAPI support
1628
+ *
1629
+ * Responsibilities:
1630
+ * - Register RESTful controllers with OpenAPI metadata
1631
+ * - Auto-derive HTTP methods/paths from controller method names
1632
+ * - Build OpenAPI route configurations with guard execution
1633
+ * - Validate all controllers have access decorators (strict mode)
1634
+ * - Create controller handlers with DI resolution
1635
+ */
1636
+ declare class RouteRegistrationService {
1637
+ private logger;
1638
+ private versioningOptions;
1639
+ private controllerClasses;
1640
+ constructor(logger: LoggerService, versioningOptions?: VersioningOptions | null);
1641
+ /**
1642
+ * Configure router with controllers
1643
+ *
1644
+ * @param app - OpenAPIHono application instance
1645
+ * @param controllers - Array of controller classes from modules
1646
+ */
1647
+ configure(app: OpenAPIHono<RouterEnv>, controllers: Constructor<IController>[]): Promise<void>;
1648
+ /**
1649
+ * Register a WebSocket gateway
1650
+ * Applies versioning and guards, then registers an upgradeWebSocket handler
1651
+ */
1652
+ private registerGateway;
1653
+ /**
1654
+ * Register a single WebSocket gateway route
1655
+ */
1656
+ private registerGatewayRoute;
1657
+ /**
1658
+ * Register a single controller with all its routes
1659
+ * Validates that controller has access decorator (strict mode)
1660
+ */
1661
+ private registerController;
1662
+ /**
1663
+ * Dispatch route registration based on decorator type
1664
+ */
1665
+ private dispatchRoutes;
1666
+ /**
1667
+ * Resolve versioned paths for a controller based on versioning configuration.
1668
+ *
1669
+ * @param basePath - The base path from @Controller decorator
1670
+ * @param controllerOpts - Controller options (may contain version)
1671
+ * @returns Array of resolved paths (with version prefix if applicable)
1672
+ */
1673
+ private resolveVersionedPaths;
1674
+ /**
1675
+ * Create a guard execution middleware
1676
+ *
1677
+ * This middleware executes all guards for a route before the handler.
1678
+ * Guards are executed in order; all must pass for the request to proceed.
1679
+ *
1680
+ * @param guards - Array of guards to execute
1681
+ * @returns Hono middleware function
1682
+ */
1683
+ private createGuardMiddleware;
1684
+ /**
1685
+ * Register wildcard route for non-RESTful controllers
1686
+ */
1687
+ private registerWildcardRoute;
1688
+ /**
1689
+ * Register OpenAPI routes with metadata
1690
+ */
1691
+ private registerOpenAPIRoutes;
1692
+ /**
1693
+ * Register routes using HTTP method decorators (@Get, @Post, etc.)
1694
+ * These use explicit method + path instead of convention-based derivation
1695
+ */
1696
+ private registerHttpRoutes;
1697
+ /**
1698
+ * Join a base path and a route path, normalizing slashes
1699
+ */
1700
+ private joinPaths;
1701
+ /**
1702
+ * Register route without OpenAPI metadata (for hidden routes)
1703
+ * Route is functional but won't appear in documentation
1704
+ */
1705
+ private registerRouteWithoutOpenAPI;
1706
+ /**
1707
+ * Register traditional RESTful routes without OpenAPI
1708
+ */
1709
+ private registerRESTfulRoutes;
1710
+ /**
1711
+ * Auto-derive HTTP method and path from controller method name
1712
+ * Uses HTTP_METHODS constant for RESTful convention mapping
1713
+ */
1714
+ private deriveHttpMethodAndPath;
1715
+ /**
1716
+ * Merge controller-level and route-level metadata
1717
+ * Tags are merged (appended), security is merged (union)
1718
+ * Guards automatically add sessionCookie security if present
1719
+ */
1720
+ private mergeMetadata;
1721
+ /**
1722
+ * Build OpenAPI route configuration from metadata
1723
+ * Creates a route definition compatible with @hono/zod-openapi
1724
+ * Includes guard execution for proper access control
1725
+ *
1726
+ * Execution order: Global middlewares → Guards → Handler
1727
+ */
1728
+ private buildOpenAPIRoute;
1729
+ /**
1730
+ * Check if a body definition is a RouteBodyObject (has schema key) vs bare ZodType
1731
+ */
1732
+ private isRouteBodyObject;
1733
+ /**
1734
+ * Resolve method parameter injections from the container
1735
+ *
1736
+ * @param prototype - Controller prototype
1737
+ * @param methodName - Method name to get injections for
1738
+ * @param container - Request-scoped container
1739
+ * @returns Array of resolved dependencies in parameter order
1740
+ */
1741
+ private resolveMethodInjections;
1742
+ /**
1743
+ * Create controller handler that resolves controller from request-scoped container
1744
+ * This ensures each request gets a fresh controller with request-scoped context
1745
+ */
1746
+ private createControllerHandler;
1747
+ }
1748
+ //#endregion
1749
+ //#region src/router/router.tokens.d.ts
1750
+ /**
1751
+ * Dependency injection tokens for the router system
1752
+ */
1753
+ declare const ROUTER_TOKENS: {
1754
+ /**
1755
+ * Token for RouterContext (request-scoped)
1756
+ * Contains Hono context wrapper with helper methods
1757
+ */
1758
+ readonly RouterContext: symbol;
1759
+ };
1760
+ //#endregion
1761
+ //#region src/router/decorators/controller.decorator.d.ts
1762
+ /**
1763
+ * Base controller decorator for route registration
1764
+ *
1765
+ * This is the core controller decorator that handles:
1766
+ * - Transient scope registration (request-scoped)
1767
+ * - Route metadata storage
1768
+ * - Controller options (tags, security schemes, hideFromDocs)
1769
+ *
1770
+ * @param route - Base route for this controller (e.g., '/api/v1/users')
1771
+ * @param options - Optional configuration (tags, security schemes, hideFromDocs)
1772
+ *
1773
+ * @example
1774
+ * ```typescript
1775
+ * import { Controller } from 'stratal/router'
1776
+ *
1777
+ * @Controller('/api/v1/users', { tags: ['Users'] })
1778
+ * export class UsersController implements IController {
1779
+ * // All routes accessible
1780
+ * }
1781
+ * ```
1782
+ */
1783
+ declare function Controller(route: string, options?: ControllerOptions): <T extends Constructor>(target: T) => T;
1784
+ /**
1785
+ * Get the route from controller class metadata
1786
+ *
1787
+ * @param target - Controller class or instance
1788
+ * @returns Route string or undefined if not set
1789
+ */
1790
+ declare function getControllerRoute(target: object): string | undefined;
1791
+ /**
1792
+ * Get the options from controller class metadata
1793
+ *
1794
+ * @param target - Controller class or instance
1795
+ * @returns Controller options or undefined if not set
1796
+ */
1797
+ declare function getControllerOptions(target: object): ControllerOptions | undefined;
1798
+ /**
1799
+ * Get the version from controller class metadata
1800
+ *
1801
+ * @param target - Controller class or instance
1802
+ * @returns Version string, array, VERSION_NEUTRAL symbol, or undefined if not set
1803
+ */
1804
+ declare function getControllerVersion(target: object): ControllerOptions['version'];
1805
+ //#endregion
1806
+ //#region src/router/decorators/http-method.decorator.d.ts
1807
+ /**
1808
+ * Registers a GET route on the controller method.
1809
+ *
1810
+ * @param path - Route path relative to the controller base path
1811
+ * @param config - Optional route configuration (response schema, body, params, etc.)
1812
+ *
1813
+ * @example
1814
+ * ```typescript
1815
+ * @Controller('/api/v1/users')
1816
+ * class UsersController {
1817
+ * @Get('/', { response: z.array(userSchema), summary: 'List users' })
1818
+ * async list(ctx: RouterContext) { ... }
1819
+ *
1820
+ * @Get('/:id', { params: z.object({ id: z.string().uuid() }), response: userSchema })
1821
+ * async getUser(ctx: RouterContext) { ... }
1822
+ * }
1823
+ * ```
1824
+ */
1825
+ declare const Get: (path: string, config?: RouteConfig) => (target: object, propertyKey: string, descriptor: PropertyDescriptor) => PropertyDescriptor;
1826
+ /**
1827
+ * Registers a POST route on the controller method.
1828
+ *
1829
+ * @param path - Route path relative to the controller base path
1830
+ * @param config - Optional route configuration (response schema, body, params, etc.)
1831
+ *
1832
+ * @example
1833
+ * ```typescript
1834
+ * @Controller('/api/v1/users')
1835
+ * class UsersController {
1836
+ * @Post('/', { body: createUserSchema, response: userSchema, statusCode: 201 })
1837
+ * async createUser(ctx: RouterContext) { ... }
1838
+ * }
1839
+ * ```
1840
+ */
1841
+ declare const Post: (path: string, config?: RouteConfig) => (target: object, propertyKey: string, descriptor: PropertyDescriptor) => PropertyDescriptor;
1842
+ /**
1843
+ * Registers a PUT route on the controller method.
1844
+ *
1845
+ * @param path - Route path relative to the controller base path
1846
+ * @param config - Optional route configuration
1847
+ */
1848
+ declare const Put: (path: string, config?: RouteConfig) => (target: object, propertyKey: string, descriptor: PropertyDescriptor) => PropertyDescriptor;
1849
+ /**
1850
+ * Registers a PATCH route on the controller method.
1851
+ *
1852
+ * @param path - Route path relative to the controller base path
1853
+ * @param config - Optional route configuration
1854
+ */
1855
+ declare const Patch: (path: string, config?: RouteConfig) => (target: object, propertyKey: string, descriptor: PropertyDescriptor) => PropertyDescriptor;
1856
+ /**
1857
+ * Registers a DELETE route on the controller method.
1858
+ *
1859
+ * @param path - Route path relative to the controller base path
1860
+ * @param config - Optional route configuration
1861
+ */
1862
+ declare const Delete: (path: string, config?: RouteConfig) => (target: object, propertyKey: string, descriptor: PropertyDescriptor) => PropertyDescriptor;
1863
+ /**
1864
+ * Registers an ALL (any HTTP method) route on the controller method.
1865
+ * Routes using @All are automatically hidden from OpenAPI documentation
1866
+ * since OpenAPI does not support a catch-all HTTP method.
1867
+ *
1868
+ * @param path - Route path relative to the controller base path
1869
+ * @param config - Optional route configuration
1870
+ */
1871
+ declare const All: (path: string, config?: RouteConfig) => (target: object, propertyKey: string, descriptor: PropertyDescriptor) => PropertyDescriptor;
1872
+ /**
1873
+ * Get the HTTP route metadata from a controller method decorated with
1874
+ * @Get, @Post, @Put, @Patch, @Delete, or @All.
1875
+ *
1876
+ * @param target - Controller prototype
1877
+ * @param methodName - Name of the method
1878
+ * @returns HTTP route metadata or undefined if not decorated
1879
+ */
1880
+ declare function getHttpRouteMetadata(target: object, methodName: string): HttpRouteMetadata | undefined;
1881
+ /**
1882
+ * Get all methods decorated with HTTP method decorators from a controller class.
1883
+ *
1884
+ * @param ControllerClass - Controller class
1885
+ * @returns Array of method names that have HTTP route metadata
1886
+ */
1887
+ declare function getHttpDecoratedMethods(ControllerClass: new (...args: unknown[]) => object): string[];
1888
+ //#endregion
1889
+ //#region src/router/decorators/route.decorator.d.ts
1890
+ /**
1891
+ * Decorator to add OpenAPI metadata to a controller method using convention-based routing.
1892
+ *
1893
+ * **Cannot be mixed with HTTP method decorators** (`@Get`, `@Post`, `@Put`, `@Patch`,
1894
+ * `@Delete`, `@All`) in the same controller. Use one pattern or the other.
1895
+ *
1896
+ * Stores route configuration (schemas, response, tags, security) in metadata.
1897
+ * HTTP method, path, and success status code are auto-derived from the method name:
1898
+ * - index() → GET /base-path → 200
1899
+ * - show() → GET /base-path/:id → 200
1900
+ * - create() → POST /base-path → 201
1901
+ * - update() → PUT /base-path/:id → 200
1902
+ * - patch() → PATCH /base-path/:id → 200
1903
+ * - destroy() → DELETE /base-path/:id → 200
1904
+ *
1905
+ * @param config - Route configuration (schemas, response, tags, security)
1906
+ *
1907
+ * @example
1908
+ * ```typescript
1909
+ * @Controller('/api/v1/notes', {
1910
+ * tags: ['Notes'],
1911
+ * security: ['bearerAuth']
1912
+ * })
1913
+ * export class NotesController implements Controller {
1914
+ * @Route({
1915
+ * body: createNoteSchema,
1916
+ * response: noteSchema, // 201 auto-derived from 'create' method
1917
+ * tags: ['Mutations'],
1918
+ * description: 'Create a new note'
1919
+ * })
1920
+ * async create(ctx: RouterContext): Promise<Response> {
1921
+ * // POST /api/v1/notes (auto-derived from method name)
1922
+ * // Body schema: createNoteSchema (auto-validated)
1923
+ * // Response: 201 → noteSchema (status auto-derived)
1924
+ * // Tags: ['Notes', 'Mutations'] (merged with controller)
1925
+ * // Security: ['bearerAuth'] (inherited from controller)
1926
+ * const body = ctx.body()
1927
+ * const note = await this.notesService.create(body)
1928
+ * return ctx.json(note, 201)
1929
+ * }
1930
+ *
1931
+ * @Route({
1932
+ * query: paginationSchema,
1933
+ * response: z.array(noteSchema) // 200 auto-derived from 'index' method
1934
+ * })
1935
+ * async index(ctx: RouterContext): Promise<Response> {
1936
+ * // GET /api/v1/notes (auto-derived)
1937
+ * // Query params auto-validated
1938
+ * const notes = await this.notesService.list()
1939
+ * return ctx.json(notes)
1940
+ * }
1941
+ *
1942
+ * @Route({
1943
+ * params: z.object({ id: z.string().uuid() }),
1944
+ * response: {
1945
+ * schema: noteSchema,
1946
+ * description: 'Note details'
1947
+ * },
1948
+ * security: [] // Override to make public
1949
+ * })
1950
+ * async show(ctx: RouterContext): Promise<Response> {
1951
+ * // GET /api/v1/notes/:id (auto-derived)
1952
+ * // URL params auto-validated
1953
+ * // Response: 200 → noteSchema (status auto-derived)
1954
+ * // Security: [] (public route, override controller security)
1955
+ * const id = ctx.param('id')
1956
+ * const note = await this.notesService.findById(id)
1957
+ * return ctx.json(note)
1958
+ * }
1959
+ * }
1960
+ * ```
1961
+ */
1962
+ declare function Route(config: Omit<RouteConfig, 'statusCode'>): (target: object, propertyKey: string, descriptor: PropertyDescriptor) => PropertyDescriptor;
1963
+ /**
1964
+ * Get the route configuration from a controller method
1965
+ *
1966
+ * @param target - Controller instance or prototype
1967
+ * @param methodName - Name of the method
1968
+ * @returns Route configuration or undefined if not decorated
1969
+ */
1970
+ declare function getRouteConfig(target: object, methodName: string): RouteConfig | undefined;
1971
+ /**
1972
+ * Get all methods with @Route() decorator from a controller
1973
+ *
1974
+ * @param ControllerClass - Controller class
1975
+ * @returns Array of method names that have route config
1976
+ */
1977
+ declare function getDecoratedMethods(ControllerClass: new (...args: unknown[]) => object): string[];
1978
+ //#endregion
1979
+ //#region src/router/schemas/common.schemas.d.ts
1980
+ /**
1981
+ * Common OpenAPI Schemas
1982
+ *
1983
+ * Reusable schema definitions for common API patterns:
1984
+ * - Error responses
1985
+ * - Pagination
1986
+ * - Common parameters
1987
+ */
1988
+ /**
1989
+ * Generic error response schema
1990
+ * Used for all error responses (4xx, 5xx)
1991
+ * Matches ApplicationError.toErrorResponse() structure
1992
+ */
1993
+ declare const errorResponseSchema: z.ZodObject<{
1994
+ code: z.ZodNumber;
1995
+ message: z.ZodString;
1996
+ timestamp: z.ZodString;
1997
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1998
+ stack: z.ZodOptional<z.ZodString>;
1999
+ }, z.core.$strip>;
2000
+ /**
2001
+ * Validation error response schema
2002
+ * Used for 400 Bad Request with validation failures
2003
+ * Matches ApplicationError.toErrorResponse() structure with validation-specific metadata
2004
+ */
2005
+ declare const validationErrorResponseSchema: z.ZodObject<{
2006
+ code: z.ZodNumber;
2007
+ message: z.ZodString;
2008
+ timestamp: z.ZodString;
2009
+ metadata: z.ZodObject<{
2010
+ issues: z.ZodArray<z.ZodObject<{
2011
+ path: z.ZodString;
2012
+ message: z.ZodString;
2013
+ code: z.ZodString;
2014
+ }, z.core.$strip>>;
2015
+ }, z.core.$strip>;
2016
+ stack: z.ZodOptional<z.ZodString>;
2017
+ }, z.core.$strip>;
2018
+ /**
2019
+ * Pagination query parameters schema
2020
+ * Used for list endpoints
2021
+ */
2022
+ declare const paginationQuerySchema: z.ZodObject<{
2023
+ page: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
2024
+ limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
2025
+ }, z.core.$strip>;
2026
+ /**
2027
+ * Paginated response wrapper schema
2028
+ * Generic wrapper for paginated list responses
2029
+ */
2030
+ declare const paginatedResponseSchema: <T extends z.ZodType>(itemSchema: T) => z.ZodObject<{
2031
+ data: z.ZodArray<T>;
2032
+ pagination: z.ZodObject<{
2033
+ page: z.ZodNumber;
2034
+ limit: z.ZodNumber;
2035
+ total: z.ZodNumber;
2036
+ totalPages: z.ZodNumber;
2037
+ }, z.core.$strip>;
2038
+ }, z.core.$strip>;
2039
+ /**
2040
+ * UUID parameter schema
2041
+ * Used for :id parameters in RESTful routes
2042
+ */
2043
+ declare const uuidParamSchema: z.ZodObject<{
2044
+ id: z.ZodString;
2045
+ }, z.core.$strip>;
2046
+ /**
2047
+ * Success message response schema
2048
+ * Used for operations that don't return data (e.g., DELETE)
2049
+ */
2050
+ declare const successMessageSchema: z.ZodObject<{
2051
+ message: z.ZodString;
2052
+ data: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
2053
+ }, z.core.$strip>;
2054
+ /**
2055
+ * Common HTTP status error schemas
2056
+ * Pre-configured for standard error responses
2057
+ */
2058
+ declare const commonErrorSchemas: {
2059
+ readonly 400: {
2060
+ readonly schema: z.ZodObject<{
2061
+ code: z.ZodNumber;
2062
+ message: z.ZodString;
2063
+ timestamp: z.ZodString;
2064
+ metadata: z.ZodObject<{
2065
+ issues: z.ZodArray<z.ZodObject<{
2066
+ path: z.ZodString;
2067
+ message: z.ZodString;
2068
+ code: z.ZodString;
2069
+ }, z.core.$strip>>;
2070
+ }, z.core.$strip>;
2071
+ stack: z.ZodOptional<z.ZodString>;
2072
+ }, z.core.$strip>;
2073
+ readonly description: "Validation error";
2074
+ };
2075
+ readonly 401: {
2076
+ readonly schema: z.ZodObject<{
2077
+ code: z.ZodNumber;
2078
+ message: z.ZodString;
2079
+ timestamp: z.ZodString;
2080
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
2081
+ stack: z.ZodOptional<z.ZodString>;
2082
+ }, z.core.$strip>;
2083
+ readonly description: "Unauthorized";
2084
+ };
2085
+ readonly 403: {
2086
+ readonly schema: z.ZodObject<{
2087
+ code: z.ZodNumber;
2088
+ message: z.ZodString;
2089
+ timestamp: z.ZodString;
2090
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
2091
+ stack: z.ZodOptional<z.ZodString>;
2092
+ }, z.core.$strip>;
2093
+ readonly description: "Forbidden";
2094
+ };
2095
+ readonly 404: {
2096
+ readonly schema: z.ZodObject<{
2097
+ code: z.ZodNumber;
2098
+ message: z.ZodString;
2099
+ timestamp: z.ZodString;
2100
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
2101
+ stack: z.ZodOptional<z.ZodString>;
2102
+ }, z.core.$strip>;
2103
+ readonly description: "Not found";
2104
+ };
2105
+ readonly 409: {
2106
+ readonly schema: z.ZodObject<{
2107
+ code: z.ZodNumber;
2108
+ message: z.ZodString;
2109
+ timestamp: z.ZodString;
2110
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
2111
+ stack: z.ZodOptional<z.ZodString>;
2112
+ }, z.core.$strip>;
2113
+ readonly description: "Conflict";
2114
+ };
2115
+ readonly 500: {
2116
+ readonly schema: z.ZodObject<{
2117
+ code: z.ZodNumber;
2118
+ message: z.ZodString;
2119
+ timestamp: z.ZodString;
2120
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
2121
+ stack: z.ZodOptional<z.ZodString>;
2122
+ }, z.core.$strip>;
2123
+ readonly description: "Internal server error";
2124
+ };
2125
+ };
2126
+ //#endregion
2127
+ //#region src/router/errors/hono-app-already-configured.error.d.ts
2128
+ /**
2129
+ * Error thrown when HonoApp.configure() is called more than once.
2130
+ *
2131
+ * HonoApp can only be configured a single time during application bootstrap.
2132
+ */
2133
+ declare class HonoAppAlreadyConfiguredError extends ApplicationError {
2134
+ constructor();
2135
+ }
2136
+ //#endregion
2137
+ //#region src/router/errors/controller-registration.error.d.ts
2138
+ /**
2139
+ * Error thrown when a controller fails to register
2140
+ *
2141
+ * This typically happens when:
2142
+ * - Controller is missing the `@Controller` decorator
2143
+ * - Controller route metadata is not set
2144
+ * - Controller class name is invalid
2145
+ *
2146
+ * Error Code: 9005
2147
+ */
2148
+ declare class ControllerRegistrationError extends ApplicationError {
2149
+ constructor(controllerName: string, reason?: string);
2150
+ }
2151
+ //#endregion
2152
+ //#region src/router/errors/openapi-route-registration.error.d.ts
2153
+ /**
2154
+ * OpenAPIRouteRegistrationError
2155
+ *
2156
+ * Thrown when an OpenAPI route fails to register properly
2157
+ * This indicates a configuration issue with route decorators or metadata
2158
+ * Uses i18n key for localized error messages
2159
+ *
2160
+ * @example
2161
+ * ```typescript
2162
+ * throw new OpenAPIRouteRegistrationError('/api/v1/users', 'Missing response schema')
2163
+ * ```
2164
+ */
2165
+ declare class OpenAPIRouteRegistrationError extends ApplicationError {
2166
+ constructor(path: string, reason: string);
2167
+ }
2168
+ //#endregion
2169
+ //#region src/router/errors/openapi-validation.error.d.ts
2170
+ /**
2171
+ * OpenAPIValidationError
2172
+ *
2173
+ * Thrown when OpenAPI request/response validation fails
2174
+ * Uses i18n key for localized error messages
2175
+ *
2176
+ * HTTP Status: 400 Bad Request
2177
+ * Error Code: 1004
2178
+ *
2179
+ * @example
2180
+ * ```typescript
2181
+ * throw new OpenAPIValidationError('Request body missing required field: email')
2182
+ * ```
2183
+ */
2184
+ declare class OpenAPIValidationError extends ApplicationError {
2185
+ constructor(details: string);
2186
+ }
2187
+ //#endregion
2188
+ //#region src/router/errors/route-not-found.error.d.ts
2189
+ /**
2190
+ * Error thrown when a requested route is not found
2191
+ *
2192
+ * HTTP Status: 404 Not Found
2193
+ * Error Code: 4004
2194
+ */
2195
+ declare class RouteNotFoundError extends ApplicationError {
2196
+ constructor(path: string, method: string);
2197
+ }
2198
+ //#endregion
2199
+ //#region src/i18n/services/i18n.service.d.ts
2200
+ /**
2201
+ * I18n Service
2202
+ *
2203
+ * Provides internationalization (i18n) support for the application.
2204
+ * Injects RouterContext to access request-specific locale.
2205
+ *
2206
+ * @example Usage in services
2207
+ * ```typescript
2208
+ * @Transient(MY_TOKENS.UserService)
2209
+ * export class UserService {
2210
+ * constructor(
2211
+ * @inject(I18N_TOKENS.I18nService) private readonly i18n: II18nService
2212
+ * ) {}
2213
+ *
2214
+ * getWelcomeMessage(): string {
2215
+ * return this.i18n.t('common.welcome')
2216
+ * }
2217
+ * }
2218
+ * ```
2219
+ */
2220
+ declare class I18nService implements II18nService {
2221
+ private readonly loader;
2222
+ private readonly routerContext?;
2223
+ constructor(loader: MessageLoaderService, routerContext?: RouterContext | undefined);
2224
+ /**
2225
+ * Translate a message key
2226
+ *
2227
+ * @param key - Message key (e.g., 'common.actions.save')
2228
+ * @param params - Optional parameters for interpolation
2229
+ * @returns Translated string
2230
+ */
2231
+ t(key: MessageKeys, params?: MessageParams): string;
2232
+ /**
2233
+ * Get current locale
2234
+ *
2235
+ * @returns Current locale code from RouterContext or default locale
2236
+ */
2237
+ getLocale(): string;
2238
+ }
2239
+ //#endregion
2240
+ //#region src/i18n/middleware/i18n-context.middleware.d.ts
2241
+ declare class I18nContextMiddleware implements Middleware {
2242
+ private readonly i18n;
2243
+ constructor(i18n: I18nService);
2244
+ handle(ctx: RouterContext, next: () => Promise<void>): Promise<void>;
2245
+ }
2246
+ //#endregion
2247
+ //#region src/errors/error-codes.d.ts
2248
+ /**
2249
+ * Centralized Error Code Registry
2250
+ *
2251
+ * Error codes are organized by category with specific ranges:
2252
+ * - 1000-1999: Validation errors
2253
+ * - 2000-2999: Database errors (generic)
2254
+ * - 3000-3999: Authentication & Authorization
2255
+ * - 4000-4999: Resource errors
2256
+ * - 5000-5999: Domain-specific business logic (per module)
2257
+ * - 9000-9999: System/Internal errors
2258
+ * - 9000-9099: Router errors
2259
+ * - 9100-9199: Configuration errors
2260
+ * - 9200-9299: Infrastructure errors
2261
+ * - 9300-9399: I18n errors
2262
+ */
2263
+ declare const ERROR_CODES: {
2264
+ /**
2265
+ * Database Errors (2000-2999)
2266
+ * Generic database errors thrown by Prisma client extensions
2267
+ */
2268
+ readonly DATABASE: {
2269
+ /** Generic database error */readonly GENERIC: 2000; /** Record not found in database */
2270
+ readonly RECORD_NOT_FOUND: 2001; /** Unique constraint violation */
2271
+ readonly UNIQUE_CONSTRAINT: 2002; /** Foreign key constraint violation */
2272
+ readonly FOREIGN_KEY_CONSTRAINT: 2003; /** Database connection failed */
2273
+ readonly CONNECTION_FAILED: 2004; /** Database timeout */
2274
+ readonly TIMEOUT: 2005; /** Null constraint violation */
2275
+ readonly NULL_CONSTRAINT: 2006; /** Too many database connections */
2276
+ readonly TOO_MANY_CONNECTIONS: 2007; /** Transaction conflict or deadlock */
2277
+ readonly TRANSACTION_CONFLICT: 2008;
2278
+ };
2279
+ /**
2280
+ * Authentication Errors (3000-3099)
2281
+ * Authentication-related failures
2282
+ */
2283
+ readonly AUTH: {
2284
+ /** Invalid credentials provided */readonly INVALID_CREDENTIALS: 3000; /** Session expired or invalid */
2285
+ readonly SESSION_EXPIRED: 3001; /** Account locked or disabled */
2286
+ readonly ACCOUNT_LOCKED: 3002; /** Invalid or expired token */
2287
+ readonly INVALID_TOKEN: 3003; /** Context not initialized */
2288
+ readonly CONTEXT_NOT_INITIALIZED: 3004; /** User not authenticated */
2289
+ readonly USER_NOT_AUTHENTICATED: 3005; /** Email verification required before login */
2290
+ readonly EMAIL_NOT_VERIFIED: 3007; /** Password doesn't meet minimum length */
2291
+ readonly PASSWORD_TOO_SHORT: 3008; /** Password exceeds maximum length */
2292
+ readonly PASSWORD_TOO_LONG: 3009; /** Account with email already exists */
2293
+ readonly ACCOUNT_ALREADY_EXISTS: 3010; /** User creation failed */
2294
+ readonly FAILED_TO_CREATE_USER: 3011; /** Session creation failed */
2295
+ readonly FAILED_TO_CREATE_SESSION: 3012; /** User update failed */
2296
+ readonly FAILED_TO_UPDATE_USER: 3013; /** Social account already linked */
2297
+ readonly SOCIAL_ACCOUNT_LINKED: 3014; /** Last account cannot be unlinked */
2298
+ readonly CANNOT_UNLINK_LAST_ACCOUNT: 3015;
2299
+ };
2300
+ /**
2301
+ * Authorization Errors (3100-3199)
2302
+ * Permission and access control failures
2303
+ */
2304
+ readonly AUTHZ: {
2305
+ /** Insufficient permissions */readonly FORBIDDEN: 3100; /** Resource access denied */
2306
+ readonly ACCESS_DENIED: 3101; /** User lacks required role */
2307
+ readonly INSUFFICIENT_PERMISSIONS: 3102;
2308
+ };
2309
+ /**
2310
+ * Resource Errors (4000-4999)
2311
+ * Generic resource-related errors
2312
+ */
2313
+ readonly RESOURCE: {
2314
+ /** Generic resource not found */readonly NOT_FOUND: 4000; /** Route/endpoint not found */
2315
+ readonly ROUTE_NOT_FOUND: 4004; /** Resource conflict or duplicate */
2316
+ readonly CONFLICT: 4100; /** Resource already exists */
2317
+ readonly ALREADY_EXISTS: 4101;
2318
+ };
2319
+ /**
2320
+ * Validation Errors (1000-1999)
2321
+ * Input validation failures
2322
+ */
2323
+ readonly VALIDATION: {
2324
+ /** Generic validation error */readonly GENERIC: 1000; /** Required field missing */
2325
+ readonly REQUIRED_FIELD: 1001; /** Invalid format */
2326
+ readonly INVALID_FORMAT: 1002; /** Schema validation failed */
2327
+ readonly SCHEMA_VALIDATION: 1003; /** Request validation failed (OpenAPI, etc.) */
2328
+ readonly REQUEST_VALIDATION: 1004;
2329
+ };
2330
+ /**
2331
+ * Router Errors (9000-9099)
2332
+ * Router and controller-related INTERNAL errors
2333
+ */
2334
+ readonly ROUTER: {
2335
+ /** Controller registration error */readonly CONTROLLER_REGISTRATION_ERROR: 9005; /** Controller method not found */
2336
+ readonly CONTROLLER_METHOD_NOT_FOUND: 9006; /** OpenAPI route registration failed */
2337
+ readonly OPENAPI_ROUTE_REGISTRATION: 9008;
2338
+ };
2339
+ /**
2340
+ * I18n Errors (9300-9399)
2341
+ * Internationalization and localization errors
2342
+ */
2343
+ readonly I18N: {
2344
+ /** Translation key missing from all locales */readonly TRANSLATION_MISSING: 9300; /** Requested locale not supported */
2345
+ readonly LOCALE_NOT_SUPPORTED: 9301;
2346
+ };
2347
+ /**
2348
+ * System Errors (9000-9999)
2349
+ * Internal system errors and unexpected failures
2350
+ */
2351
+ readonly SYSTEM: {
2352
+ /** Internal server error */readonly INTERNAL_ERROR: 9000; /** Generic configuration error */
2353
+ readonly CONFIGURATION_ERROR: 9100; /** ConfigService not initialized */
2354
+ readonly CONFIG_NOT_INITIALIZED: 9101; /** Module already registered */
2355
+ readonly MODULE_ALREADY_REGISTERED: 9102; /** Circular module dependency detected */
2356
+ readonly MODULE_CIRCULAR_DEPENDENCY: 9103; /** Module dependency not found */
2357
+ readonly MODULE_DEPENDENCY_NOT_FOUND: 9104; /** Invalid error code range */
2358
+ readonly INVALID_ERROR_CODE_RANGE: 9105; /** Invalid module provider configuration */
2359
+ readonly INVALID_MODULE_PROVIDER: 9106; /** ConfigModule.forRoot() was not called */
2360
+ readonly CONFIG_MODULE_NOT_INITIALIZED: 9107; /** Generic infrastructure error */
2361
+ readonly INFRASTRUCTURE_ERROR: 9200; /** Execution context not initialized */
2362
+ readonly EXECUTION_CONTEXT_NOT_INITIALIZED: 9201; /** Request container not initialized */
2363
+ readonly REQUEST_CONTAINER_NOT_INITIALIZED: 9202; /** Queue binding not found */
2364
+ readonly QUEUE_BINDING_NOT_FOUND: 9203; /** Cron job execution failed */
2365
+ readonly CRON_EXECUTION_FAILED: 9204; /** Queue provider not supported */
2366
+ readonly QUEUE_PROVIDER_NOT_SUPPORTED: 9205; /** body() called on WebSocket gateway context */
2367
+ readonly WEBSOCKET_BODY_NOT_AVAILABLE: 9206; /** Duplicate WebSocket event decorator on a gateway */
2368
+ readonly WEBSOCKET_DUPLICATE_EVENT_HANDLER: 9207;
2369
+ };
2370
+ };
2371
+ /**
2372
+ * Recursively extract all leaf values from a nested object type
2373
+ * Similar to DeepKeys but extracts values instead of keys
2374
+ *
2375
+ * Example:
2376
+ * { DATABASE: { GENERIC: 2000, NOT_FOUND: 2001 }, AUTH: { INVALID: 3000 } }
2377
+ * becomes
2378
+ * 2000 | 2001 | 3000
2379
+ */
2380
+ type DeepValues<T> = T extends object ? { [K in keyof T]: DeepValues<T[K]> }[keyof T] : T;
2381
+ /**
2382
+ * Type helper to extract all error code values
2383
+ * Union type of all numeric error codes defined in ERROR_CODES
2384
+ *
2385
+ * Type: 2000 | 2001 | 2002 | ... | 9203
2386
+ */
2387
+ type ErrorCode = DeepValues<typeof ERROR_CODES>;
2388
+ //#endregion
2389
+ //#region src/errors/application-error.d.ts
2390
+ /**
2391
+ * ApplicationError
2392
+ *
2393
+ * Abstract base class for all application errors.
2394
+ * This class should never be used directly - always extend it to create specific error types.
2395
+ *
2396
+ * Features:
2397
+ * - Type-safe error codes from ERROR_CODES registry
2398
+ * - Type-safe message keys from i18n module
2399
+ * - Localized message keys (translated by GlobalErrorHandler)
2400
+ * - Structured metadata for logging and interpolation
2401
+ * - Proper Error prototype chain
2402
+ * - Automatic timestamp generation
2403
+ * - Serialization for RPC transmission
2404
+ *
2405
+ * Message Localization:
2406
+ * - Each error class passes an i18n key (e.g., 'errors.userNotFound') to super()
2407
+ * - `Error.message` contains the i18n key for useful stack traces and fallback display
2408
+ * - Metadata provides interpolation parameters (e.g., { userId: '123' })
2409
+ * - GlobalErrorHandler translates the message key using I18nService before sending response
2410
+ * - This ensures errors are localized based on the user's locale (from X-Locale header)
2411
+ */
2412
+ declare abstract class ApplicationError extends Error {
2413
+ /**
2414
+ * Controls whether stack traces are captured.
2415
+ * Set to false in production to skip the expensive Error.captureStackTrace() call,
2416
+ * since stack traces are stripped from responses in production anyway.
2417
+ */
2418
+ static captureStackTraces: boolean;
2419
+ /**
2420
+ * Type-safe error code from ERROR_CODES registry
2421
+ * See error-codes.ts for the complete registry
2422
+ */
2423
+ readonly code: ErrorCode;
2424
+ /**
2425
+ * ISO timestamp when the error was created
2426
+ */
2427
+ readonly timestamp: string;
2428
+ /**
2429
+ * Additional structured data about the error
2430
+ * Used for:
2431
+ * 1. Logging and debugging
2432
+ * 2. Message interpolation (e.g., { userId: '123', email: 'user@example.com' })
2433
+ */
2434
+ readonly metadata?: Record<string, unknown>;
2435
+ /**
2436
+ * @param i18nKey - Type-safe i18n message key (e.g., 'errors.userNotFound')
2437
+ * @param code - Type-safe error code from ERROR_CODES registry
2438
+ * @param metadata - Optional data for logging and interpolation
2439
+ */
2440
+ constructor(i18nKey: MessageKeys, code: ErrorCode, metadata?: Record<string, unknown>);
2441
+ /**
2442
+ * Filter metadata to include only user-facing properties
2443
+ *
2444
+ * User-facing properties (validation/constraint errors):
2445
+ * - issues: Validation errors from SchemaValidationError
2446
+ * - fields: Constraint violation fields
2447
+ * - field: Single field constraint/foreign key
2448
+ *
2449
+ * Internal properties (excluded from response):
2450
+ * - path, method: Route debugging
2451
+ * - controllerName, reason: Controller errors
2452
+ * - details, etc.: Internal debugging info
2453
+ *
2454
+ * @param metadata - Raw metadata object
2455
+ * @returns Filtered metadata with only whitelisted properties
2456
+ */
2457
+ private static filterMetadata;
2458
+ /**
2459
+ * Serialize error to ErrorResponse format for RPC transmission
2460
+ *
2461
+ * @param env - Environment (development | production)
2462
+ * @param translatedMessage - Optional translated message (from GlobalErrorHandler)
2463
+ * @returns ErrorResponse object suitable for JSON serialization
2464
+ */
2465
+ toErrorResponse(env: Environment, translatedMessage?: string): ErrorResponse;
2466
+ /**
2467
+ * JSON serialization (used by JSON.stringify)
2468
+ * Defaults to development mode for backward compatibility
2469
+ * Note: This will use the untranslated message key - use GlobalErrorHandler for proper localization
2470
+ */
2471
+ toJSON(): ErrorResponse;
2472
+ }
2473
+ //#endregion
2474
+ //#region src/errors/get-http-status.d.ts
2475
+ /**
2476
+ * Maps error codes to HTTP status codes
2477
+ *
2478
+ * This utility is used by the frontend to set appropriate HTTP status codes
2479
+ * when returning errors from API routes.
2480
+ *
2481
+ * @param code - Numeric error code from ERROR_CODES registry
2482
+ * @returns HTTP status code (200-599)
2483
+ */
2484
+ declare function getHttpStatus(code: number): ContentfulStatusCode;
2485
+ //#endregion
2486
+ //#region src/errors/global-error-handler.d.ts
2487
+ /**
2488
+ * GlobalErrorHandler
2489
+ *
2490
+ * Centralized error handler registered in the DI container.
2491
+ * Responsible for:
2492
+ * - Intercepting all errors in the application
2493
+ * - Logging errors with appropriate severity via Logger service
2494
+ * - Translating error message keys using I18nService (when available)
2495
+ * - Serializing errors for RPC transmission
2496
+ * - Wrapping unexpected errors in InternalError
2497
+ *
2498
+ * **Translation Availability by Context:**
2499
+ *
2500
+ * ✅ **HTTP Requests**: Errors are fully translated
2501
+ * - GlobalErrorHandler resolved from request container
2502
+ * - I18nService available via AsyncLocalStorage with user's locale
2503
+ * - Full translation with parameter interpolation
2504
+ *
2505
+ * ✅ **Queue Processing**: Errors are fully translated
2506
+ * - Error handling executes inside AsyncLocalStorage scope
2507
+ * - Locale extracted from queue message metadata
2508
+ * - Request container created with mock RouterContext
2509
+ * - I18nService available with correct locale
2510
+ *
2511
+ * ⚠️ **RPC/Startup**: Message keys returned as-is (i18n unavailable)
2512
+ * - No request context available during service binding or startup
2513
+ * - No locale information available
2514
+ * - Frontend can translate message keys using its own i18n if needed
2515
+ * - This is expected behavior, not a bug
2516
+ *
2517
+ * **Implementation Note:**
2518
+ * The `isAvailable()` check exists to gracefully handle RPC/startup contexts
2519
+ * where no request container exists. For HTTP and Queue contexts, i18n is
2520
+ * always available thanks to AsyncLocalStorage scope propagation. This follows
2521
+ * the "Laravel philosophy" - transparent dependency injection for request contexts,
2522
+ * with explicit handling only for legitimate non-request edge cases.
2523
+ */
2524
+ declare class GlobalErrorHandler {
2525
+ private readonly logger;
2526
+ private readonly i18n;
2527
+ private readonly env;
2528
+ private readonly environment;
2529
+ constructor(logger: LoggerService, i18n: II18nService, env: StratalEnv);
2530
+ /**
2531
+ * Handle an error, log it, and serialize for response
2532
+ *
2533
+ * @param error - The error to handle
2534
+ * @returns Serialized ErrorResponse for RPC transmission
2535
+ */
2536
+ handle(error: unknown): ErrorResponse;
2537
+ /**
2538
+ * Translate error message key using I18nService
2539
+ * Uses error metadata as interpolation parameters
2540
+ *
2541
+ * No try/catch - if translation fails, it's a bug that should fail loudly
2542
+ *
2543
+ * **Note**: This method is only called when isAvailable() returns true,
2544
+ * so the service is guaranteed to be resolved.
2545
+ *
2546
+ * @param error - ApplicationError with messageKey and metadata
2547
+ * @returns Translated message string
2548
+ */
2549
+ private translateError;
2550
+ /**
2551
+ * Log an ApplicationError with appropriate severity
2552
+ */
2553
+ private log;
2554
+ /**
2555
+ * Log an unexpected error
2556
+ */
2557
+ private logUnexpectedError;
2558
+ /**
2559
+ * Determine log severity based on error code
2560
+ */
2561
+ private getSeverity;
2562
+ }
2563
+ //#endregion
2564
+ //#region src/errors/internal-error.d.ts
2565
+ /**
2566
+ * InternalError
2567
+ *
2568
+ * Represents an unexpected internal server error.
2569
+ * Used to wrap unknown errors that don't fit into specific error categories.
2570
+ *
2571
+ * This error is thrown when:
2572
+ * - An unexpected exception occurs
2573
+ * - An error type is not recognized
2574
+ * - A system-level failure happens
2575
+ */
2576
+ declare class InternalError extends ApplicationError {
2577
+ constructor(metadata?: Record<string, unknown>);
2578
+ }
2579
+ //#endregion
2580
+ //#region src/errors/is-application-error.d.ts
2581
+ /**
2582
+ * Type guard to check if an error is an ApplicationError
2583
+ *
2584
+ * @param error - The error to check
2585
+ * @returns True if the error is an ApplicationError instance
2586
+ */
2587
+ declare function isApplicationError(error: unknown): error is ApplicationError;
2588
+ //#endregion
2589
+ //#region src/errors/request-container-not-initialized.error.d.ts
2590
+ /**
2591
+ * RequestContainerNotInitializedError
2592
+ *
2593
+ * Thrown when attempting to access the request-scoped container before it has been initialized.
2594
+ * This typically indicates that the RouterService middleware hasn't run yet,
2595
+ * or the router context is being accessed outside of a request lifecycle.
2596
+ */
2597
+ declare class RequestContainerNotInitializedError extends ApplicationError {
2598
+ constructor();
2599
+ }
2600
+ //#endregion
2601
+ //#region src/errors/stratal-not-initialized.error.d.ts
2602
+ /**
2603
+ * StratalNotInitializedError
2604
+ *
2605
+ * Thrown when attempting to resolve the Application instance before Stratal has been instantiated.
2606
+ * This typically indicates that the Stratal instance is not exported as the default export.
2607
+ */
2608
+ declare class StratalNotInitializedError extends ApplicationError {
2609
+ constructor();
2610
+ }
2611
+ //#endregion
2612
+ export { I18nModuleOptions as $, Container as $t, Delete as A, RouteConfig as At, getControllerVersion as B, SECURITY_SCHEMES as Bt, successMessageSchema as C, isErrorResponse as Cn, IController as Ct, getDecoratedMethods as D, HttpRouteMetadata as Dt, Route as E, ControllerOptions as Et, getHttpDecoratedMethods as F, SecurityScheme as Ft, MiddlewareConsumerImpl as G, Transient as Gt, RouteRegistrationService as H, StratalEnv as Ht, getHttpRouteMetadata as I, VersioningOptions as It, TranslationMissingError as J, ParamInjection as Jt, createMiddlewareConsumer as K, INJECT_PARAM_METADATA_KEY as Kt, Controller as L, HTTP_METHODS as Lt, Patch as M, RouteResponseObject as Mt, Post as N, RouterEnv as Nt, getRouteConfig as O, RouteBody as Ot, Put as P, RouterVariables as Pt, I18nModule as Q, DI_TOKENS as Qt, getControllerOptions as R, ROUTER_CONTEXT_KEYS as Rt, paginationQuerySchema as S, ErrorResponse as Sn, Middleware as St, validationErrorResponseSchema as T, RouterContext as Tt, HonoApp as U, RequestScopeOperationNotAllowedError as Ut, ROUTER_TOKENS as V, VERSION_NEUTRAL as Vt, MiddlewareConfigurationService as W, ConditionalBindingFallbackError as Wt, setupI18nCompiler as X, CONTAINER_TOKEN as Xt, LocaleNotSupportedError as Y, getMethodInjections as Yt, I18N_TOKENS as Z, DIToken as Zt, ControllerRegistrationError as _, Messages as _n, MiddlewareConfigEntry as _t, GlobalErrorHandler as a, injectable$1 as an, ExistingProvider as at, errorResponseSchema as b, messages as bn, MiddlewareRouteTarget as bt, ERROR_CODES as c, ConditionalBindingBuilder as cn, ModuleClass as ct, SSEMessage as d, ConditionalBindingUse as dn, OnInitialize as dt, ContainerOptions as en, ResolvedI18nOptions as et, SSEStreamingApi$1 as f, PredicateContainer as fn, OnShutdown as ft, OpenAPIRouteRegistrationError as g, WhenOptions as gn, MiddlewareBuilder as gt, OpenAPIValidationError as h, Scope as hn, ValueProvider as ht, InternalError as i, inject$1 as in, DynamicModule as it, Get as j, RouteResponse as jt, All as k, RouteBodyObject as kt, ErrorCode as l, ConditionalBindingBuilderImpl as ln, ModuleContext as lt, RouteNotFoundError as m, ExtensionDecorator as mn, RegistryEntry as mt, RequestContainerNotInitializedError as n, container$1 as nn, AsyncModuleOptions as nt, getHttpStatus as o, instancePerContainerCachingFactory$1 as on, FactoryProvider as ot, StreamingApi$1 as p, ContainerLike as pn, Provider as pt, LocaleExtractionMiddleware as q, InjectParam as qt, isApplicationError as r, delay as rn, ClassProvider as rt, ApplicationError as s, singleton as sn, InjectionToken$2 as st, StratalNotInitializedError as t, DependencyContainer$1 as tn, resolveI18nOptions as tt, I18nContextMiddleware as u, ConditionalBindingGive as un, ModuleOptions as ut, HonoAppAlreadyConfiguredError as v, getLocales as vn, MiddlewareConfigurable as vt, uuidParamSchema as w, ContextQueryResult as wt, paginatedResponseSchema as x, Environment as xn, RouteInfo as xt, commonErrorSchemas as y, getMessages as yn, MiddlewareConsumer as yt, getControllerRoute as z, ROUTE_METADATA_KEYS as zt };
2613
+ //# sourceMappingURL=index-C9bIk5tt.d.mts.map