@velajs/vela 1.19.0 → 1.19.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (449) hide show
  1. package/CHANGELOG.md +22 -14
  2. package/dist/configurable-module.builder-5FGMaXG6.js +91 -0
  3. package/dist/configurable-module.builder-5FGMaXG6.js.map +1 -0
  4. package/dist/container-BqUHID4l.js +645 -0
  5. package/dist/container-BqUHID4l.js.map +1 -0
  6. package/dist/cron-matcher-C9qv5OUA.js +113 -0
  7. package/dist/cron-matcher-C9qv5OUA.js.map +1 -0
  8. package/dist/decorate-GcSMAbKn.js +528 -0
  9. package/dist/decorate-GcSMAbKn.js.map +1 -0
  10. package/dist/decorators-C8YBFCIk.js +53 -0
  11. package/dist/decorators-C8YBFCIk.js.map +1 -0
  12. package/dist/define-module-NOyOZNXD.js +235 -0
  13. package/dist/define-module-NOyOZNXD.js.map +1 -0
  14. package/dist/discovery.service-BYm95SSD.js +368 -0
  15. package/dist/discovery.service-BYm95SSD.js.map +1 -0
  16. package/dist/discovery.service-Cpf1QcZ5.d.ts +648 -0
  17. package/dist/i18n/index.d.ts +138 -10
  18. package/dist/i18n/index.js +270 -8
  19. package/dist/i18n/index.js.map +1 -0
  20. package/dist/index-D72EQfcC.d.ts +430 -0
  21. package/dist/index-DhShDLCM.d.ts +2310 -0
  22. package/dist/index.d.ts +6 -70
  23. package/dist/index.js +14 -76
  24. package/dist/internal.d.ts +13 -17
  25. package/dist/internal.js +6 -19
  26. package/dist/live/index.d.ts +2 -12
  27. package/dist/live/index.js +826 -16
  28. package/dist/live/index.js.map +1 -0
  29. package/dist/metadata.registry-D1od8ZBt.d.ts +842 -0
  30. package/dist/plugin-ByBlVOve.js +1387 -0
  31. package/dist/plugin-ByBlVOve.js.map +1 -0
  32. package/dist/queue/index.d.ts +247 -10
  33. package/dist/queue/index.js +384 -12
  34. package/dist/queue/index.js.map +1 -0
  35. package/dist/request-context-C3nCGJNd.js +26 -0
  36. package/dist/request-context-C3nCGJNd.js.map +1 -0
  37. package/dist/route.manager-DRAZ5X04.js +991 -0
  38. package/dist/route.manager-DRAZ5X04.js.map +1 -0
  39. package/dist/schedule-node/index.d.ts +32 -3
  40. package/dist/schedule-node/index.js +97 -3
  41. package/dist/schedule-node/index.js.map +1 -0
  42. package/dist/schedule.registry-DVm7Jp5w.d.ts +55 -0
  43. package/dist/seeder/index.d.ts +75 -5
  44. package/dist/seeder/index.js +105 -4
  45. package/dist/seeder/index.js.map +1 -0
  46. package/dist/signed-url-CMmi0SIb.js +56 -0
  47. package/dist/signed-url-CMmi0SIb.js.map +1 -0
  48. package/dist/signed-url-DKhgja4U.d.ts +16 -0
  49. package/dist/src-eb5CI6Xn.js +2151 -0
  50. package/dist/src-eb5CI6Xn.js.map +1 -0
  51. package/dist/storage/index.d.ts +57 -4
  52. package/dist/storage/index.js +22 -5
  53. package/dist/storage/index.js.map +1 -0
  54. package/dist/streaming/index.d.ts +2 -2
  55. package/dist/streaming/index.js +2 -1
  56. package/dist/websocket/index.d.ts +3 -12
  57. package/dist/websocket/index.js +2 -16
  58. package/dist/websocket-DXmB-MWJ.js +697 -0
  59. package/dist/websocket-DXmB-MWJ.js.map +1 -0
  60. package/dist/websocket-node/index.d.ts +108 -6
  61. package/dist/websocket-node/index.js +228 -6
  62. package/dist/websocket-node/index.js.map +1 -0
  63. package/package.json +66 -53
  64. package/dist/__tests__/workers/entry.d.ts +0 -9
  65. package/dist/__tests__/workers-als/entry-als.d.ts +0 -9
  66. package/dist/application.d.ts +0 -104
  67. package/dist/application.js +0 -364
  68. package/dist/cache/cache.decorators.d.ts +0 -2
  69. package/dist/cache/cache.decorators.js +0 -4
  70. package/dist/cache/cache.interceptor.d.ts +0 -9
  71. package/dist/cache/cache.interceptor.js +0 -60
  72. package/dist/cache/cache.module.d.ts +0 -7
  73. package/dist/cache/cache.module.js +0 -58
  74. package/dist/cache/cache.service.d.ts +0 -9
  75. package/dist/cache/cache.service.js +0 -42
  76. package/dist/cache/cache.store.d.ts +0 -12
  77. package/dist/cache/cache.store.js +0 -51
  78. package/dist/cache/cache.tokens.d.ts +0 -6
  79. package/dist/cache/cache.tokens.js +0 -5
  80. package/dist/cache/cache.types.d.ts +0 -41
  81. package/dist/cache/cache.types.js +0 -1
  82. package/dist/cache/index.d.ts +0 -8
  83. package/dist/cache/index.js +0 -7
  84. package/dist/cache/tiered-cache.store.d.ts +0 -19
  85. package/dist/cache/tiered-cache.store.js +0 -40
  86. package/dist/config/config.module.d.ts +0 -19
  87. package/dist/config/config.module.js +0 -98
  88. package/dist/config/config.service.d.ts +0 -20
  89. package/dist/config/config.service.js +0 -43
  90. package/dist/config/config.store.d.ts +0 -46
  91. package/dist/config/config.store.js +0 -119
  92. package/dist/config/config.tokens.d.ts +0 -13
  93. package/dist/config/config.tokens.js +0 -14
  94. package/dist/config/config.types.d.ts +0 -41
  95. package/dist/config/config.types.js +0 -4
  96. package/dist/config/index.d.ts +0 -7
  97. package/dist/config/index.js +0 -5
  98. package/dist/config/register-as.d.ts +0 -52
  99. package/dist/config/register-as.js +0 -39
  100. package/dist/constants.d.ts +0 -44
  101. package/dist/constants.js +0 -46
  102. package/dist/container/container.d.ts +0 -154
  103. package/dist/container/container.js +0 -849
  104. package/dist/container/decorators.d.ts +0 -17
  105. package/dist/container/decorators.js +0 -57
  106. package/dist/container/disposable.d.ts +0 -5
  107. package/dist/container/disposable.js +0 -33
  108. package/dist/container/index.d.ts +0 -6
  109. package/dist/container/index.js +0 -5
  110. package/dist/container/mixin.d.ts +0 -24
  111. package/dist/container/mixin.js +0 -26
  112. package/dist/container/module-ref.d.ts +0 -21
  113. package/dist/container/module-ref.js +0 -48
  114. package/dist/container/types.d.ts +0 -154
  115. package/dist/container/types.js +0 -49
  116. package/dist/cors/cors.module.d.ts +0 -7
  117. package/dist/cors/cors.module.js +0 -37
  118. package/dist/cors/cors.tokens.d.ts +0 -3
  119. package/dist/cors/cors.tokens.js +0 -2
  120. package/dist/cors/cors.types.d.ts +0 -8
  121. package/dist/cors/cors.types.js +0 -1
  122. package/dist/cors/index.d.ts +0 -3
  123. package/dist/cors/index.js +0 -2
  124. package/dist/crypto/signed-url.d.ts +0 -12
  125. package/dist/crypto/signed-url.js +0 -60
  126. package/dist/discovery/discoverable.decorator.d.ts +0 -38
  127. package/dist/discovery/discoverable.decorator.js +0 -42
  128. package/dist/discovery/discovery.service.d.ts +0 -102
  129. package/dist/discovery/discovery.service.js +0 -177
  130. package/dist/discovery/index.d.ts +0 -2
  131. package/dist/discovery/index.js +0 -2
  132. package/dist/entrypoint/entrypoint.registry.d.ts +0 -42
  133. package/dist/entrypoint/entrypoint.registry.js +0 -112
  134. package/dist/entrypoint/entrypoint.types.d.ts +0 -41
  135. package/dist/entrypoint/entrypoint.types.js +0 -3
  136. package/dist/entrypoint/execution-context.d.ts +0 -15
  137. package/dist/entrypoint/execution-context.js +0 -21
  138. package/dist/entrypoint/execution-scope.d.ts +0 -21
  139. package/dist/entrypoint/execution-scope.js +0 -28
  140. package/dist/entrypoint/index.d.ts +0 -4
  141. package/dist/entrypoint/index.js +0 -4
  142. package/dist/errors/http-exception.d.ts +0 -63
  143. package/dist/errors/http-exception.js +0 -142
  144. package/dist/errors/index.d.ts +0 -1
  145. package/dist/errors/index.js +0 -1
  146. package/dist/event-emitter/event-emitter.decorators.d.ts +0 -1
  147. package/dist/event-emitter/event-emitter.decorators.js +0 -10
  148. package/dist/event-emitter/event-emitter.module.d.ts +0 -2
  149. package/dist/event-emitter/event-emitter.module.js +0 -23
  150. package/dist/event-emitter/event-emitter.service.d.ts +0 -13
  151. package/dist/event-emitter/event-emitter.service.js +0 -127
  152. package/dist/event-emitter/event-emitter.subscriber.d.ts +0 -9
  153. package/dist/event-emitter/event-emitter.subscriber.js +0 -45
  154. package/dist/event-emitter/event-emitter.tokens.d.ts +0 -1
  155. package/dist/event-emitter/event-emitter.tokens.js +0 -1
  156. package/dist/event-emitter/event-emitter.types.d.ts +0 -5
  157. package/dist/event-emitter/event-emitter.types.js +0 -1
  158. package/dist/event-emitter/index.d.ts +0 -6
  159. package/dist/event-emitter/index.js +0 -5
  160. package/dist/exceptions/errors.module.d.ts +0 -40
  161. package/dist/exceptions/errors.module.js +0 -46
  162. package/dist/exceptions/exception-handler.d.ts +0 -56
  163. package/dist/exceptions/exception-handler.js +0 -17
  164. package/dist/exceptions/index.d.ts +0 -6
  165. package/dist/exceptions/index.js +0 -3
  166. package/dist/exceptions/reporter.d.ts +0 -21
  167. package/dist/exceptions/reporter.js +0 -70
  168. package/dist/factory/adapter.d.ts +0 -36
  169. package/dist/factory/adapter.js +0 -18
  170. package/dist/factory/bootstrap.d.ts +0 -23
  171. package/dist/factory/bootstrap.js +0 -110
  172. package/dist/factory.d.ts +0 -16
  173. package/dist/factory.js +0 -36
  174. package/dist/fetch/fetch.module.d.ts +0 -7
  175. package/dist/fetch/fetch.module.js +0 -31
  176. package/dist/fetch/fetch.service.d.ts +0 -24
  177. package/dist/fetch/fetch.service.js +0 -145
  178. package/dist/fetch/fetch.types.d.ts +0 -24
  179. package/dist/fetch/fetch.types.js +0 -1
  180. package/dist/fetch/index.d.ts +0 -3
  181. package/dist/fetch/index.js +0 -2
  182. package/dist/health/health.http.d.ts +0 -14
  183. package/dist/health/health.http.js +0 -75
  184. package/dist/health/health.indicator.d.ts +0 -9
  185. package/dist/health/health.indicator.js +0 -32
  186. package/dist/health/health.module.d.ts +0 -2
  187. package/dist/health/health.module.js +0 -26
  188. package/dist/health/health.service.d.ts +0 -7
  189. package/dist/health/health.service.js +0 -69
  190. package/dist/health/health.types.d.ts +0 -15
  191. package/dist/health/health.types.js +0 -1
  192. package/dist/health/index.d.ts +0 -6
  193. package/dist/health/index.js +0 -4
  194. package/dist/http/ambient.d.ts +0 -17
  195. package/dist/http/ambient.js +0 -44
  196. package/dist/http/argument-resolver.d.ts +0 -10
  197. package/dist/http/argument-resolver.js +0 -89
  198. package/dist/http/decorators.d.ts +0 -198
  199. package/dist/http/decorators.js +0 -321
  200. package/dist/http/execution-context.d.ts +0 -8
  201. package/dist/http/execution-context.js +0 -35
  202. package/dist/http/handler-executor.d.ts +0 -20
  203. package/dist/http/handler-executor.js +0 -133
  204. package/dist/http/index.d.ts +0 -12
  205. package/dist/http/index.js +0 -7
  206. package/dist/http/instantiate.d.ts +0 -4
  207. package/dist/http/instantiate.js +0 -45
  208. package/dist/http/lazy-param.decorator.d.ts +0 -37
  209. package/dist/http/lazy-param.decorator.js +0 -117
  210. package/dist/http/request-container.d.ts +0 -16
  211. package/dist/http/request-container.js +0 -19
  212. package/dist/http/request-context.d.ts +0 -13
  213. package/dist/http/request-context.js +0 -22
  214. package/dist/http/response-mapper.d.ts +0 -8
  215. package/dist/http/response-mapper.js +0 -42
  216. package/dist/http/route-contributor.d.ts +0 -68
  217. package/dist/http/route-contributor.js +0 -22
  218. package/dist/http/route-map.d.ts +0 -30
  219. package/dist/http/route-map.js +0 -27
  220. package/dist/http/route.manager.d.ts +0 -92
  221. package/dist/http/route.manager.js +0 -481
  222. package/dist/http/types.d.ts +0 -37
  223. package/dist/http/types.js +0 -1
  224. package/dist/http/url/index.d.ts +0 -4
  225. package/dist/http/url/index.js +0 -3
  226. package/dist/http/url/signed-url.guard.d.ts +0 -27
  227. package/dist/http/url/signed-url.guard.js +0 -62
  228. package/dist/http/url/signing-secret.d.ts +0 -20
  229. package/dist/http/url/signing-secret.js +0 -24
  230. package/dist/http/url/url-generator.service.d.ts +0 -52
  231. package/dist/http/url/url-generator.service.js +0 -104
  232. package/dist/i18n/deep-merge.d.ts +0 -2
  233. package/dist/i18n/deep-merge.js +0 -15
  234. package/dist/i18n/i18n.middleware.d.ts +0 -15
  235. package/dist/i18n/i18n.middleware.js +0 -94
  236. package/dist/i18n/i18n.module.d.ts +0 -13
  237. package/dist/i18n/i18n.module.js +0 -69
  238. package/dist/i18n/i18n.options.d.ts +0 -30
  239. package/dist/i18n/i18n.options.js +0 -16
  240. package/dist/i18n/i18n.service.d.ts +0 -20
  241. package/dist/i18n/i18n.service.js +0 -49
  242. package/dist/i18n/i18n.tokens.d.ts +0 -6
  243. package/dist/i18n/i18n.tokens.js +0 -3
  244. package/dist/i18n/i18n.types.d.ts +0 -6
  245. package/dist/i18n/i18n.types.js +0 -1
  246. package/dist/i18n/message-loader.service.d.ts +0 -21
  247. package/dist/i18n/message-loader.service.js +0 -90
  248. package/dist/i18n/message-registry.d.ts +0 -16
  249. package/dist/i18n/message-registry.js +0 -49
  250. package/dist/lifecycle/index.d.ts +0 -20
  251. package/dist/lifecycle/index.js +0 -15
  252. package/dist/live/live.cursor.d.ts +0 -22
  253. package/dist/live/live.cursor.js +0 -56
  254. package/dist/live/live.decorators.d.ts +0 -32
  255. package/dist/live/live.decorators.js +0 -46
  256. package/dist/live/live.delta.d.ts +0 -15
  257. package/dist/live/live.delta.js +0 -51
  258. package/dist/live/live.engine.d.ts +0 -88
  259. package/dist/live/live.engine.js +0 -471
  260. package/dist/live/live.invalidation.d.ts +0 -45
  261. package/dist/live/live.invalidation.js +0 -99
  262. package/dist/live/live.module.d.ts +0 -28
  263. package/dist/live/live.module.js +0 -87
  264. package/dist/live/live.tokens.d.ts +0 -9
  265. package/dist/live/live.tokens.js +0 -8
  266. package/dist/live/live.types.d.ts +0 -138
  267. package/dist/live/live.types.js +0 -1
  268. package/dist/live/presence.d.ts +0 -44
  269. package/dist/live/presence.js +0 -130
  270. package/dist/metadata.d.ts +0 -10
  271. package/dist/metadata.js +0 -20
  272. package/dist/module/configurable-module.builder.d.ts +0 -56
  273. package/dist/module/configurable-module.builder.js +0 -84
  274. package/dist/module/configurable-module.types.d.ts +0 -93
  275. package/dist/module/configurable-module.types.js +0 -5
  276. package/dist/module/decorators.d.ts +0 -10
  277. package/dist/module/decorators.js +0 -47
  278. package/dist/module/define-module.d.ts +0 -112
  279. package/dist/module/define-module.js +0 -232
  280. package/dist/module/graph.d.ts +0 -10
  281. package/dist/module/graph.js +0 -35
  282. package/dist/module/index.d.ts +0 -10
  283. package/dist/module/index.js +0 -7
  284. package/dist/module/lazy-modules.d.ts +0 -82
  285. package/dist/module/lazy-modules.js +0 -231
  286. package/dist/module/lazy-provider.d.ts +0 -65
  287. package/dist/module/lazy-provider.js +0 -111
  288. package/dist/module/middleware.d.ts +0 -30
  289. package/dist/module/middleware.js +0 -67
  290. package/dist/module/module-loader.d.ts +0 -58
  291. package/dist/module/module-loader.js +0 -484
  292. package/dist/module/stable-hash.d.ts +0 -15
  293. package/dist/module/stable-hash.js +0 -52
  294. package/dist/module/types.d.ts +0 -1
  295. package/dist/module/types.js +0 -1
  296. package/dist/openapi/decorators.d.ts +0 -34
  297. package/dist/openapi/decorators.js +0 -66
  298. package/dist/openapi/document.d.ts +0 -3
  299. package/dist/openapi/document.js +0 -316
  300. package/dist/openapi/index.d.ts +0 -7
  301. package/dist/openapi/index.js +0 -6
  302. package/dist/openapi/redoc-ui.d.ts +0 -1
  303. package/dist/openapi/redoc-ui.js +0 -19
  304. package/dist/openapi/scalar-ui.d.ts +0 -1
  305. package/dist/openapi/scalar-ui.js +0 -19
  306. package/dist/openapi/swagger-ui.d.ts +0 -1
  307. package/dist/openapi/swagger-ui.js +0 -23
  308. package/dist/openapi/types.d.ts +0 -182
  309. package/dist/openapi/types.js +0 -4
  310. package/dist/openapi/zod-to-json-schema.d.ts +0 -4
  311. package/dist/openapi/zod-to-json-schema.js +0 -57
  312. package/dist/pipeline/app-providers.d.ts +0 -10
  313. package/dist/pipeline/app-providers.js +0 -43
  314. package/dist/pipeline/component.manager.d.ts +0 -25
  315. package/dist/pipeline/component.manager.js +0 -66
  316. package/dist/pipeline/decorators.d.ts +0 -10
  317. package/dist/pipeline/decorators.js +0 -42
  318. package/dist/pipeline/index.d.ts +0 -12
  319. package/dist/pipeline/index.js +0 -7
  320. package/dist/pipeline/pipeline-runner.d.ts +0 -31
  321. package/dist/pipeline/pipeline-runner.js +0 -40
  322. package/dist/pipeline/pipes.d.ts +0 -48
  323. package/dist/pipeline/pipes.js +0 -104
  324. package/dist/pipeline/reflector.d.ts +0 -86
  325. package/dist/pipeline/reflector.js +0 -121
  326. package/dist/pipeline/scoped-components.d.ts +0 -26
  327. package/dist/pipeline/scoped-components.js +0 -27
  328. package/dist/pipeline/tokens.d.ts +0 -57
  329. package/dist/pipeline/tokens.js +0 -47
  330. package/dist/pipeline/types.d.ts +0 -64
  331. package/dist/pipeline/types.js +0 -1
  332. package/dist/plugin/plugin.d.ts +0 -31
  333. package/dist/plugin/plugin.js +0 -111
  334. package/dist/queue/inline.driver.d.ts +0 -30
  335. package/dist/queue/inline.driver.js +0 -58
  336. package/dist/queue/queue.binding.d.ts +0 -23
  337. package/dist/queue/queue.binding.js +0 -60
  338. package/dist/queue/queue.client.d.ts +0 -20
  339. package/dist/queue/queue.client.js +0 -33
  340. package/dist/queue/queue.decorators.d.ts +0 -23
  341. package/dist/queue/queue.decorators.js +0 -46
  342. package/dist/queue/queue.dispatch.d.ts +0 -36
  343. package/dist/queue/queue.dispatch.js +0 -109
  344. package/dist/queue/queue.module.d.ts +0 -32
  345. package/dist/queue/queue.module.js +0 -80
  346. package/dist/queue/queue.tokens.d.ts +0 -21
  347. package/dist/queue/queue.tokens.js +0 -34
  348. package/dist/queue/queue.types.d.ts +0 -61
  349. package/dist/queue/queue.types.js +0 -4
  350. package/dist/registry/index.d.ts +0 -2
  351. package/dist/registry/index.js +0 -1
  352. package/dist/registry/metadata.registry.d.ts +0 -73
  353. package/dist/registry/metadata.registry.js +0 -357
  354. package/dist/registry/paths.d.ts +0 -3
  355. package/dist/registry/paths.js +0 -15
  356. package/dist/registry/types.d.ts +0 -116
  357. package/dist/registry/types.js +0 -1
  358. package/dist/registry/util.d.ts +0 -3
  359. package/dist/registry/util.js +0 -8
  360. package/dist/schedule/cron-matcher.d.ts +0 -2
  361. package/dist/schedule/cron-matcher.js +0 -62
  362. package/dist/schedule/index.d.ts +0 -8
  363. package/dist/schedule/index.js +0 -5
  364. package/dist/schedule/schedule.decorators.d.ts +0 -2
  365. package/dist/schedule/schedule.decorators.js +0 -18
  366. package/dist/schedule/schedule.module.d.ts +0 -9
  367. package/dist/schedule/schedule.module.js +0 -28
  368. package/dist/schedule/schedule.registry.d.ts +0 -23
  369. package/dist/schedule/schedule.registry.js +0 -63
  370. package/dist/schedule/schedule.tokens.d.ts +0 -2
  371. package/dist/schedule/schedule.tokens.js +0 -2
  372. package/dist/schedule/schedule.types.d.ts +0 -8
  373. package/dist/schedule/schedule.types.js +0 -1
  374. package/dist/schedule-node/schedule-node.module.d.ts +0 -9
  375. package/dist/schedule-node/schedule-node.module.js +0 -28
  376. package/dist/schedule-node/schedule.executor.d.ts +0 -19
  377. package/dist/schedule-node/schedule.executor.js +0 -112
  378. package/dist/seeder/seeder.decorator.d.ts +0 -7
  379. package/dist/seeder/seeder.decorator.js +0 -15
  380. package/dist/seeder/seeder.module.d.ts +0 -16
  381. package/dist/seeder/seeder.module.js +0 -44
  382. package/dist/seeder/seeder.registry.d.ts +0 -23
  383. package/dist/seeder/seeder.registry.js +0 -83
  384. package/dist/seeder/seeder.tokens.d.ts +0 -2
  385. package/dist/seeder/seeder.tokens.js +0 -1
  386. package/dist/seeder/seeder.types.d.ts +0 -20
  387. package/dist/seeder/seeder.types.js +0 -1
  388. package/dist/serialization/index.d.ts +0 -2
  389. package/dist/serialization/index.js +0 -2
  390. package/dist/serialization/serialize.decorator.d.ts +0 -6
  391. package/dist/serialization/serialize.decorator.js +0 -7
  392. package/dist/serialization/serializer.interceptor.d.ts +0 -4
  393. package/dist/serialization/serializer.interceptor.js +0 -16
  394. package/dist/services/index.d.ts +0 -2
  395. package/dist/services/index.js +0 -1
  396. package/dist/services/logger.d.ts +0 -59
  397. package/dist/services/logger.js +0 -159
  398. package/dist/storage/path-template.d.ts +0 -9
  399. package/dist/storage/path-template.js +0 -20
  400. package/dist/storage/storage.types.d.ts +0 -41
  401. package/dist/storage/storage.types.js +0 -5
  402. package/dist/throttler/index.d.ts +0 -6
  403. package/dist/throttler/index.js +0 -5
  404. package/dist/throttler/throttler.decorators.d.ts +0 -3
  405. package/dist/throttler/throttler.decorators.js +0 -4
  406. package/dist/throttler/throttler.guard.d.ts +0 -9
  407. package/dist/throttler/throttler.guard.js +0 -72
  408. package/dist/throttler/throttler.module.d.ts +0 -7
  409. package/dist/throttler/throttler.module.js +0 -41
  410. package/dist/throttler/throttler.storage.d.ts +0 -10
  411. package/dist/throttler/throttler.storage.js +0 -44
  412. package/dist/throttler/throttler.tokens.d.ts +0 -6
  413. package/dist/throttler/throttler.tokens.js +0 -5
  414. package/dist/throttler/throttler.types.d.ts +0 -25
  415. package/dist/throttler/throttler.types.js +0 -1
  416. package/dist/validation/create-zod-dto.d.ts +0 -13
  417. package/dist/validation/create-zod-dto.js +0 -18
  418. package/dist/validation/index.d.ts +0 -3
  419. package/dist/validation/index.js +0 -2
  420. package/dist/validation/validation.pipe.d.ts +0 -4
  421. package/dist/validation/validation.pipe.js +0 -19
  422. package/dist/websocket/websocket.decorators.d.ts +0 -47
  423. package/dist/websocket/websocket.decorators.js +0 -80
  424. package/dist/websocket/websocket.module.d.ts +0 -35
  425. package/dist/websocket/websocket.module.js +0 -63
  426. package/dist/websocket/websocket.tokens.d.ts +0 -30
  427. package/dist/websocket/websocket.tokens.js +0 -27
  428. package/dist/websocket/websocket.types.d.ts +0 -102
  429. package/dist/websocket/websocket.types.js +0 -4
  430. package/dist/websocket/ws-argument-resolver.d.ts +0 -13
  431. package/dist/websocket/ws-argument-resolver.js +0 -40
  432. package/dist/websocket/ws-dispatcher.d.ts +0 -54
  433. package/dist/websocket/ws-dispatcher.js +0 -343
  434. package/dist/websocket/ws-exception.d.ts +0 -25
  435. package/dist/websocket/ws-exception.js +0 -42
  436. package/dist/websocket/ws-execution-context.d.ts +0 -9
  437. package/dist/websocket/ws-execution-context.js +0 -24
  438. package/dist/websocket/ws-server.d.ts +0 -31
  439. package/dist/websocket/ws-server.js +0 -74
  440. package/dist/websocket/ws-sync.d.ts +0 -47
  441. package/dist/websocket/ws-sync.js +0 -74
  442. package/dist/websocket-node/node-ws-client.d.ts +0 -24
  443. package/dist/websocket-node/node-ws-client.js +0 -49
  444. package/dist/websocket-node/redis-live.d.ts +0 -24
  445. package/dist/websocket-node/redis-live.js +0 -57
  446. package/dist/websocket-node/redis-sync.d.ts +0 -33
  447. package/dist/websocket-node/redis-sync.js +0 -56
  448. package/dist/websocket-node/register-gateways.d.ts +0 -20
  449. package/dist/websocket-node/register-gateways.js +0 -61
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discovery.service-BYm95SSD.js","names":[],"sources":["../src/errors/http-exception.ts","../src/exceptions/exception-handler.ts","../src/exceptions/reporter.ts","../src/discovery/discovery.service.ts"],"sourcesContent":["export type ExceptionResponse = string | Record<string, unknown>;\n\nexport class HttpException extends Error {\n public readonly statusCode: number;\n private readonly _response: ExceptionResponse;\n\n constructor(response: ExceptionResponse, statusCode: number) {\n const message = typeof response === 'string' ? response : JSON.stringify(response);\n super(message);\n this.name = 'HttpException';\n this.statusCode = statusCode;\n this._response = response;\n Object.setPrototypeOf(this, new.target.prototype);\n }\n\n getStatus(): number {\n return this.statusCode;\n }\n\n getResponse(): Record<string, unknown> {\n if (typeof this._response === 'string') {\n return { statusCode: this.statusCode, message: this._response };\n }\n return this._response;\n }\n\n // The constructor's original argument, untransformed — a string message or a\n // caller-supplied object. The canonical HTTP edge branches on this: string\n // responses become `{ error: { code, message } }`, object responses ship\n // verbatim (crud envelope compat). Distinct from `getResponse()`, which wraps\n // strings in the legacy `{ statusCode, message }` shape.\n getRawResponse(): ExceptionResponse {\n return this._response;\n }\n}\n\n// 4xx\n\nexport class BadRequestException extends HttpException {\n constructor(message: ExceptionResponse = 'Bad Request') {\n super(message, 400);\n this.name = 'BadRequestException';\n }\n}\n\nexport class UnauthorizedException extends HttpException {\n constructor(message: ExceptionResponse = 'Unauthorized') {\n super(message, 401);\n this.name = 'UnauthorizedException';\n }\n}\n\nexport class ForbiddenException extends HttpException {\n constructor(message: ExceptionResponse = 'Forbidden') {\n super(message, 403);\n this.name = 'ForbiddenException';\n }\n}\n\nexport class NotFoundException extends HttpException {\n constructor(message: ExceptionResponse = 'Not Found') {\n super(message, 404);\n this.name = 'NotFoundException';\n }\n}\n\nexport class MethodNotAllowedException extends HttpException {\n constructor(message: ExceptionResponse = 'Method Not Allowed') {\n super(message, 405);\n this.name = 'MethodNotAllowedException';\n }\n}\n\nexport class NotAcceptableException extends HttpException {\n constructor(message: ExceptionResponse = 'Not Acceptable') {\n super(message, 406);\n this.name = 'NotAcceptableException';\n }\n}\n\nexport class RequestTimeoutException extends HttpException {\n constructor(message: ExceptionResponse = 'Request Timeout') {\n super(message, 408);\n this.name = 'RequestTimeoutException';\n }\n}\n\nexport class ConflictException extends HttpException {\n constructor(message: ExceptionResponse = 'Conflict') {\n super(message, 409);\n this.name = 'ConflictException';\n }\n}\n\nexport class GoneException extends HttpException {\n constructor(message: ExceptionResponse = 'Gone') {\n super(message, 410);\n this.name = 'GoneException';\n }\n}\n\nexport class PayloadTooLargeException extends HttpException {\n constructor(message: ExceptionResponse = 'Payload Too Large') {\n super(message, 413);\n this.name = 'PayloadTooLargeException';\n }\n}\n\nexport class UnsupportedMediaTypeException extends HttpException {\n constructor(message: ExceptionResponse = 'Unsupported Media Type') {\n super(message, 415);\n this.name = 'UnsupportedMediaTypeException';\n }\n}\n\nexport class UnprocessableEntityException extends HttpException {\n constructor(message: ExceptionResponse = 'Unprocessable Entity') {\n super(message, 422);\n this.name = 'UnprocessableEntityException';\n }\n}\n\nexport class TooManyRequestsException extends HttpException {\n constructor(message: ExceptionResponse = 'Too Many Requests') {\n super(message, 429);\n this.name = 'TooManyRequestsException';\n }\n}\n\n// 5xx\n\nexport class InternalServerErrorException extends HttpException {\n constructor(message: ExceptionResponse = 'Internal Server Error') {\n super(message, 500);\n this.name = 'InternalServerErrorException';\n }\n}\n\nexport class NotImplementedException extends HttpException {\n constructor(message: ExceptionResponse = 'Not Implemented') {\n super(message, 501);\n this.name = 'NotImplementedException';\n }\n}\n\nexport class BadGatewayException extends HttpException {\n constructor(message: ExceptionResponse = 'Bad Gateway') {\n super(message, 502);\n this.name = 'BadGatewayException';\n }\n}\n\nexport class ServiceUnavailableException extends HttpException {\n constructor(message: ExceptionResponse = 'Service Unavailable') {\n super(message, 503);\n this.name = 'ServiceUnavailableException';\n }\n}\n\nexport class GatewayTimeoutException extends HttpException {\n constructor(message: ExceptionResponse = 'Gateway Timeout') {\n super(message, 504);\n this.name = 'GatewayTimeoutException';\n }\n}\n","import { isVelaError, type ErrorBodyResult } from '@velajs/errors';\n\n/**\n * A predicate for classifying an error, used by {@link ExceptionHandler.dontReport}.\n *\n * Three shapes are accepted:\n * - `string` — a Vela error code; matches when the error is a branded\n * `VelaError` whose `code` equals the string.\n * - a predicate `(error: unknown) => boolean` — **must be an arrow function**.\n * A class and a predicate are both `typeof 'function'`; {@link matchesAny}\n * discriminates on `prototype`, which arrow functions do not have.\n * - an error class constructor — matches via `instanceof`.\n *\n * Bound functions (e.g. `SomeClass.bind(null)`) also lack `.prototype`, so they\n * are treated as predicates and invoked — never as class matchers. Since a bound\n * constructor cannot be called without `new`, using one here throws; pass the\n * unbound class instead.\n */\nexport type ErrorMatcher =\n | string\n | ((error: unknown) => boolean)\n | (new (...args: never[]) => Error);\n\n/**\n * Ambient context handed to every reporting/rendering hook. `edge` names the\n * transport that caught the error; open-ended extra keys (via the index\n * signature) let a handler's `context()` enrich the payload.\n */\nexport interface ErrorReportContext {\n edge: 'http' | 'ws' | 'live' | 'queue' | 'schedule' | 'hono';\n /** e.g. `'CatsController.findAll'` or a query name. */\n source?: string;\n /** e.g. `'exception filter threw'`. */\n note?: string;\n [key: string]: unknown;\n}\n\n/**\n * The application-wide exception handler contract. Provide an implementation\n * under {@link APP_EXCEPTION_HANDLER} to customize how errors are reported and\n * rendered. Every member is optional — an empty object is a valid handler.\n */\nexport interface ExceptionHandler {\n /** Fire-and-forget reporting (logging, Sentry, …). May be async. */\n report?(error: unknown, ctx: ErrorReportContext): void | Promise<void>;\n /** Errors matching any of these are never reported. */\n dontReport?: ErrorMatcher[];\n /** Extra fields merged into the report context. Must be side-effect free. */\n context?(error: unknown, ctx: ErrorReportContext): Record<string, unknown>;\n /** Override the client-bound response for an error. */\n render?(error: unknown, ctx: unknown): Response | ErrorBodyResult | undefined;\n}\n\n/**\n * True when `error` matches any of `matchers`. A string matches a branded\n * {@link VelaError} by `code`; an arrow-function predicate is called; anything\n * else with a `prototype` is treated as an error class and matched via\n * `instanceof`. Predicates therefore MUST be arrow functions — a regular\n * `function` expression has a `prototype` and would be mistaken for a class.\n * Bound functions (e.g. `SomeClass.bind(null)`) lack `.prototype` too, so they\n * are invoked as predicates — don't pass a bound class as a class matcher.\n */\nexport const matchesAny = (matchers: ErrorMatcher[] | undefined, error: unknown): boolean => {\n if (!matchers?.length) return false;\n return matchers.some((m) => {\n if (typeof m === 'string') return isVelaError(error) && error.code === m;\n if (typeof m === 'function' && !m.prototype) return (m as (e: unknown) => boolean)(error);\n return error instanceof (m as new () => Error);\n });\n};\n","import { CORE_CATALOG, isVelaError, type Catalog, type ErrorBodyResult } from '@velajs/errors';\nimport { HTTPException } from 'hono/http-exception';\nimport type { Container } from '../container/container';\nimport { HttpException } from '../errors/http-exception';\nimport { APP_EXCEPTION_HANDLER, ERROR_CATALOG } from '../pipeline/tokens';\nimport { matchesAny, type ErrorReportContext, type ExceptionHandler } from './exception-handler';\n\n/**\n * The resolved reporting facade every transport edge (HTTP, WS, live, queue,\n * schedule) uses. `report` is fire-and-forget and fully contained — a broken\n * or throwing handler can never mask the original error. `render` gives a\n * handler the chance to override the client-bound response.\n */\nexport interface ErrorReporter {\n catalog: Catalog<string>;\n report(error: unknown, ctx: ErrorReportContext): void;\n render(error: unknown, executionCtx: unknown): Response | ErrorBodyResult | undefined;\n}\n\n/**\n * Build an {@link ErrorReporter} from a container. Reads the optional\n * {@link APP_EXCEPTION_HANDLER} and {@link ERROR_CATALOG} providers; with\n * neither registered the reporter logs (unless diagnostics is `'silent'`) and\n * exposes the core catalog.\n */\nexport const resolveErrorReporter = (container: Container): ErrorReporter => {\n const handler: ExceptionHandler | undefined = container.has(APP_EXCEPTION_HANDLER)\n ? container.resolve(APP_EXCEPTION_HANDLER)\n : undefined;\n const catalog: Catalog<string> = container.has(ERROR_CATALOG)\n ? container.resolve(ERROR_CATALOG)\n : CORE_CATALOG;\n\n return {\n catalog,\n report(error, ctx) {\n let suppressed = false;\n try {\n suppressed = matchesAny(handler?.dontReport, error);\n } catch {\n // A broken matcher must never mask the original error — treat as no match.\n }\n if (suppressed) return;\n const merged = handler?.context ? { ...ctx, ...safeContext(handler, error, ctx) } : ctx;\n if (handler?.report) {\n try {\n void Promise.resolve(handler.report(error, merged)).catch(() => {});\n } catch {\n // A broken reporter must never mask the original error.\n }\n return;\n }\n if (container.getDiagnostics() !== 'silent') {\n const status = clientFaultStatus(error);\n if (status !== undefined && status >= 400 && status < 500) return; // client fault — not server-error log noise\n console.error(\n `[vela] ${merged.edge} error${merged.source ? ` in ${merged.source}` : ''}${merged.note ? ` (${merged.note})` : ''}:`,\n error,\n );\n }\n },\n render(error, executionCtx) {\n try {\n return handler?.render?.(error, executionCtx);\n } catch {\n return undefined; // broken render hook falls through to default render\n }\n },\n };\n};\n\n/**\n * The HTTP status of a client-fault (4xx) error, read across the three shapes a\n * caught error can take: a branded {@link VelaError} (`.status`), vela's own\n * {@link HttpException} (`getStatus()`), or hono's {@link HTTPException}\n * (`.status`). `undefined` for anything else — including raw/unbranded errors,\n * which must always be logged. Only the DEFAULT console reporter uses this to\n * mute client faults; a custom `handler.report` still receives everything.\n */\nconst clientFaultStatus = (error: unknown): number | undefined => {\n if (isVelaError(error)) return error.status;\n if (error instanceof HttpException) return error.getStatus();\n if (error instanceof HTTPException) return error.status; // hono\n return undefined;\n};\n\nconst safeContext = (\n handler: ExceptionHandler,\n error: unknown,\n ctx: ErrorReportContext,\n): Record<string, unknown> => {\n try {\n return handler.context?.(error, ctx) ?? {};\n } catch {\n return {};\n }\n};\n","import { Scope } from '../constants';\nimport { Container } from '../container/container';\nimport { Inject, Injectable } from '../container/decorators';\nimport type { Token, Type } from '../container/types';\nimport { MetadataRegistry } from '../registry/metadata.registry';\nimport type { Constructor } from '../registry/types';\nimport type { DiscoverableDecorator } from './discoverable.decorator';\n\n/** A container-registered class provider surfaced by discovery. */\nexport interface DiscoveredClass<T = unknown> {\n token: Token;\n metatype: Type<T>;\n /** Module buckets holding this token (registration order; first = primary). */\n moduleIds: string[];\n scope: Scope;\n /**\n * Resolved instance. `undefined` only when the provider is request-scoped\n * and `includeRequestScoped` was not set — request-scoped providers cannot\n * be materialized at bootstrap without fabricating a phantom request.\n */\n instance: T | undefined;\n}\n\nexport interface DiscoveredMethodMeta<M = unknown> {\n class: DiscoveredClass;\n methodName: string | symbol;\n meta: M;\n}\n\nexport interface DiscoveryFilter {\n /** Restrict to providers declared by these module buckets. */\n moduleId?: string | string[];\n /**\n * Resolve request-scoped providers too (constructs an instance outside any\n * request — only for callers that know what they're doing). Default false:\n * request-scoped hits are skipped with a diagnostics warning.\n */\n includeRequestScoped?: boolean;\n /**\n * Return providers of not-yet-materialized lazy modules as metadata-only\n * entries (`instance: undefined`, mirroring the request-scoped convention)\n * instead of resolving them — which would force the whole module group.\n * Used by `EntrypointRegistry.build`; default false so every existing\n * scanner keeps its transparent cascade-materialization semantics.\n */\n deferLazy?: boolean;\n}\n\n/** Class-level appended-list convention: method decorators that push `{ methodName, ... }` items. */\ninterface MethodMetaItem {\n methodName: string | symbol;\n}\n\nfunction isMethodMetaItem(x: unknown): x is MethodMetaItem {\n return (\n typeof x === 'object' &&\n x !== null &&\n (typeof (x as MethodMetaItem).methodName === 'string' ||\n typeof (x as MethodMetaItem).methodName === 'symbol')\n );\n}\n\nfunction resolveKey(key: string | DiscoverableDecorator<unknown>): string {\n return typeof key === 'string' ? key : key.KEY;\n}\n\n/**\n * Decorator-driven provider discovery — the public replacement for the\n * bootstrap scan every subsystem used to hand-roll (`container.getTokens()` +\n * `MetadataRegistry.getCustomClassMeta` + `resolve` + diagnostics handling).\n *\n * Registered globally by `bootstrap()`, so any provider can inject it:\n *\n * ```ts\n * @Injectable()\n * class MyRegistry implements OnApplicationBootstrap {\n * constructor(private readonly discovery: DiscoveryService) {}\n * onApplicationBootstrap() {\n * for (const { instance, meta } of this.discovery.providersWithMeta<MyMeta>(MY_KEY)) {\n * this.register(instance, meta);\n * }\n * }\n * }\n * ```\n *\n * Discovery is kernel-level, not encapsulation-scoped: module visibility\n * protects modules from *each other*, never from the framework's own\n * dispatchers. Use `DiscoveryFilter.moduleId` for the rare narrowing case.\n *\n * The resolve-failure policy honors the container's diagnostics mode exactly\n * like the legacy loops: `throw` rethrows, `log` warns and skips, `silent`\n * skips — so a broken provider never silently changes discovery semantics.\n */\n@Injectable()\nexport class DiscoveryService {\n constructor(@Inject(Container) private readonly container: Container) {}\n\n /** Every class-token provider registered in the container. */\n getProviders(filter?: DiscoveryFilter): DiscoveredClass[] {\n const out: DiscoveredClass[] = [];\n for (const token of this.container.getTokens()) {\n if (typeof token !== 'function') continue;\n const entry = this.buildEntry(token as Type, filter, 'provider discovery');\n if (entry) out.push(entry);\n }\n return out;\n }\n\n /**\n * Providers whose class carries class-level metadata under `key` — both\n * class decorators (single value) and method decorators that append\n * class-level lists (`@Cron`, `@OnEvent`, `@SubscribeMessage`).\n */\n providersWithMeta<M>(\n key: string | DiscoverableDecorator<M>,\n filter?: DiscoveryFilter,\n ): Array<DiscoveredClass & { meta: M }> {\n const metaKey = resolveKey(key as string | DiscoverableDecorator<unknown>);\n const out: Array<DiscoveredClass & { meta: M }> = [];\n for (const target of this.candidatesWithClassMeta(metaKey)) {\n const entry = this.buildEntry(target as Type, filter, `discovery of '${metaKey}'`);\n if (!entry) continue;\n const meta = MetadataRegistry.getCustomClassMeta(target, metaKey) as M;\n out.push({ ...entry, meta });\n }\n return out;\n }\n\n /**\n * Handler methods carrying metadata under `key`. Merges the two storage\n * conventions:\n * - class-level appended lists whose items carry `methodName`\n * (`@Cron`/`@OnEvent`-style method decorators), and\n * - true handler-level metadata (`@SetMetadata`/`createDiscoverableDecorator`\n * applied to a method).\n */\n methodsWithMeta<M>(\n key: string | DiscoverableDecorator<M>,\n filter?: DiscoveryFilter,\n ): DiscoveredMethodMeta<M>[] {\n const metaKey = resolveKey(key as string | DiscoverableDecorator<unknown>);\n const out: DiscoveredMethodMeta<M>[] = [];\n\n for (const target of this.candidatesWithClassMeta(metaKey)) {\n const classMeta = MetadataRegistry.getCustomClassMeta(target, metaKey);\n if (!Array.isArray(classMeta) || !classMeta.some(isMethodMetaItem)) continue;\n const entry = this.buildEntry(target as Type, filter, `discovery of '${metaKey}'`);\n if (!entry) continue;\n for (const item of classMeta) {\n if (!isMethodMetaItem(item)) continue;\n out.push({ class: entry, methodName: item.methodName, meta: item as M });\n }\n }\n\n for (const target of MetadataRegistry.getClassesWithHandlerMeta(metaKey)) {\n if (!this.container.has(target as Token)) continue;\n const entry = this.buildEntry(target as Type, filter, `discovery of '${metaKey}'`);\n if (!entry) continue;\n for (const { handler, value } of MetadataRegistry.getHandlersWithMeta(target, metaKey)) {\n out.push({ class: entry, methodName: handler, meta: value as M });\n }\n }\n\n return out;\n }\n\n /**\n * Index-first candidate walk with a legacy full-scan fallback: when the\n * reverse index knows nothing about a key, an older copy of the registry\n * module may have taken the writes (mixed dist/src or package versions in\n * one process) — fall back to scanning container tokens the way the\n * pre-DiscoveryService loops did.\n */\n private candidatesWithClassMeta(metaKey: string): object[] {\n const indexed = MetadataRegistry.getClassesWithClassMeta(metaKey);\n if (indexed.size > 0) {\n return [...indexed].filter((t) => this.container.has(t as Token));\n }\n const out: object[] = [];\n for (const token of this.container.getTokens()) {\n if (typeof token !== 'function') continue;\n if (MetadataRegistry.getCustomClassMeta(token, metaKey) !== undefined) {\n out.push(token);\n }\n }\n return out;\n }\n\n private buildEntry(\n metatype: Type,\n filter: DiscoveryFilter | undefined,\n label: string,\n ): DiscoveredClass | undefined {\n const moduleIds = this.container.getOwnerModuleIds(metatype);\n if (moduleIds.length === 0) return undefined;\n\n if (filter?.moduleId !== undefined) {\n const wanted = Array.isArray(filter.moduleId) ? filter.moduleId : [filter.moduleId];\n if (!moduleIds.some((id) => wanted.includes(id))) return undefined;\n }\n\n const scope = this.container.getProviderScope(metatype) ?? Scope.SINGLETON;\n\n if (filter?.deferLazy && this.container.isLazyPending(metatype)) {\n // Deliberate deferral — no diagnostics warning: the entry is complete\n // metadata-wise and consumers re-resolve by token at dispatch time.\n return { token: metatype, metatype, moduleIds, scope, instance: undefined };\n }\n\n if (scope === Scope.REQUEST && !filter?.includeRequestScoped) {\n if (this.container.getDiagnostics() === 'log') {\n console.warn(\n `[vela] ${label}: ${metatype.name} is request-scoped and cannot be ` +\n `materialized at bootstrap — skipped. Pass { includeRequestScoped: true } to override.`,\n );\n }\n return { token: metatype, metatype, moduleIds, scope, instance: undefined };\n }\n\n let instance: unknown;\n try {\n instance = this.container.resolve(metatype);\n } catch (err) {\n const mode = this.container.getDiagnostics();\n if (mode === 'throw') throw err;\n if (mode === 'log') {\n console.warn(`[vela] ${label}: cannot resolve ${metatype.name}:`, err);\n }\n return undefined;\n }\n\n return { token: metatype, metatype, moduleIds, scope, instance };\n }\n}\n\n// Re-export so consumers can narrow on Constructor without importing registry types.\nexport type { Constructor };\n"],"mappings":"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"}