@velajs/vela 1.18.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 (441) hide show
  1. package/CHANGELOG.md +78 -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 -66
  23. package/dist/index.js +14 -71
  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 +67 -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 -91
  67. package/dist/application.js +0 -308
  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 -62
  143. package/dist/errors/http-exception.js +0 -134
  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/factory/adapter.d.ts +0 -36
  161. package/dist/factory/adapter.js +0 -18
  162. package/dist/factory/bootstrap.d.ts +0 -23
  163. package/dist/factory/bootstrap.js +0 -108
  164. package/dist/factory.d.ts +0 -16
  165. package/dist/factory.js +0 -36
  166. package/dist/fetch/fetch.module.d.ts +0 -7
  167. package/dist/fetch/fetch.module.js +0 -31
  168. package/dist/fetch/fetch.service.d.ts +0 -24
  169. package/dist/fetch/fetch.service.js +0 -145
  170. package/dist/fetch/fetch.types.d.ts +0 -24
  171. package/dist/fetch/fetch.types.js +0 -1
  172. package/dist/fetch/index.d.ts +0 -3
  173. package/dist/fetch/index.js +0 -2
  174. package/dist/health/health.http.d.ts +0 -14
  175. package/dist/health/health.http.js +0 -75
  176. package/dist/health/health.indicator.d.ts +0 -9
  177. package/dist/health/health.indicator.js +0 -32
  178. package/dist/health/health.module.d.ts +0 -2
  179. package/dist/health/health.module.js +0 -26
  180. package/dist/health/health.service.d.ts +0 -7
  181. package/dist/health/health.service.js +0 -69
  182. package/dist/health/health.types.d.ts +0 -15
  183. package/dist/health/health.types.js +0 -1
  184. package/dist/health/index.d.ts +0 -6
  185. package/dist/health/index.js +0 -4
  186. package/dist/http/ambient.d.ts +0 -17
  187. package/dist/http/ambient.js +0 -44
  188. package/dist/http/argument-resolver.d.ts +0 -10
  189. package/dist/http/argument-resolver.js +0 -89
  190. package/dist/http/decorators.d.ts +0 -198
  191. package/dist/http/decorators.js +0 -321
  192. package/dist/http/execution-context.d.ts +0 -8
  193. package/dist/http/execution-context.js +0 -35
  194. package/dist/http/handler-executor.d.ts +0 -20
  195. package/dist/http/handler-executor.js +0 -111
  196. package/dist/http/index.d.ts +0 -12
  197. package/dist/http/index.js +0 -7
  198. package/dist/http/instantiate.d.ts +0 -4
  199. package/dist/http/instantiate.js +0 -45
  200. package/dist/http/lazy-param.decorator.d.ts +0 -37
  201. package/dist/http/lazy-param.decorator.js +0 -117
  202. package/dist/http/request-container.d.ts +0 -16
  203. package/dist/http/request-container.js +0 -19
  204. package/dist/http/request-context.d.ts +0 -13
  205. package/dist/http/request-context.js +0 -22
  206. package/dist/http/response-mapper.d.ts +0 -8
  207. package/dist/http/response-mapper.js +0 -42
  208. package/dist/http/route-contributor.d.ts +0 -68
  209. package/dist/http/route-contributor.js +0 -22
  210. package/dist/http/route-map.d.ts +0 -30
  211. package/dist/http/route-map.js +0 -27
  212. package/dist/http/route.manager.d.ts +0 -92
  213. package/dist/http/route.manager.js +0 -481
  214. package/dist/http/types.d.ts +0 -37
  215. package/dist/http/types.js +0 -1
  216. package/dist/http/url/index.d.ts +0 -4
  217. package/dist/http/url/index.js +0 -3
  218. package/dist/http/url/signed-url.guard.d.ts +0 -27
  219. package/dist/http/url/signed-url.guard.js +0 -62
  220. package/dist/http/url/signing-secret.d.ts +0 -20
  221. package/dist/http/url/signing-secret.js +0 -24
  222. package/dist/http/url/url-generator.service.d.ts +0 -52
  223. package/dist/http/url/url-generator.service.js +0 -104
  224. package/dist/i18n/deep-merge.d.ts +0 -2
  225. package/dist/i18n/deep-merge.js +0 -15
  226. package/dist/i18n/i18n.middleware.d.ts +0 -15
  227. package/dist/i18n/i18n.middleware.js +0 -94
  228. package/dist/i18n/i18n.module.d.ts +0 -13
  229. package/dist/i18n/i18n.module.js +0 -69
  230. package/dist/i18n/i18n.options.d.ts +0 -30
  231. package/dist/i18n/i18n.options.js +0 -16
  232. package/dist/i18n/i18n.service.d.ts +0 -20
  233. package/dist/i18n/i18n.service.js +0 -49
  234. package/dist/i18n/i18n.tokens.d.ts +0 -6
  235. package/dist/i18n/i18n.tokens.js +0 -3
  236. package/dist/i18n/i18n.types.d.ts +0 -6
  237. package/dist/i18n/i18n.types.js +0 -1
  238. package/dist/i18n/message-loader.service.d.ts +0 -21
  239. package/dist/i18n/message-loader.service.js +0 -90
  240. package/dist/i18n/message-registry.d.ts +0 -16
  241. package/dist/i18n/message-registry.js +0 -49
  242. package/dist/lifecycle/index.d.ts +0 -20
  243. package/dist/lifecycle/index.js +0 -15
  244. package/dist/live/live.cursor.d.ts +0 -22
  245. package/dist/live/live.cursor.js +0 -56
  246. package/dist/live/live.decorators.d.ts +0 -32
  247. package/dist/live/live.decorators.js +0 -46
  248. package/dist/live/live.delta.d.ts +0 -15
  249. package/dist/live/live.delta.js +0 -51
  250. package/dist/live/live.engine.d.ts +0 -81
  251. package/dist/live/live.engine.js +0 -448
  252. package/dist/live/live.invalidation.d.ts +0 -45
  253. package/dist/live/live.invalidation.js +0 -99
  254. package/dist/live/live.module.d.ts +0 -28
  255. package/dist/live/live.module.js +0 -87
  256. package/dist/live/live.tokens.d.ts +0 -9
  257. package/dist/live/live.tokens.js +0 -8
  258. package/dist/live/live.types.d.ts +0 -138
  259. package/dist/live/live.types.js +0 -1
  260. package/dist/live/presence.d.ts +0 -44
  261. package/dist/live/presence.js +0 -130
  262. package/dist/metadata.d.ts +0 -10
  263. package/dist/metadata.js +0 -20
  264. package/dist/module/configurable-module.builder.d.ts +0 -56
  265. package/dist/module/configurable-module.builder.js +0 -84
  266. package/dist/module/configurable-module.types.d.ts +0 -93
  267. package/dist/module/configurable-module.types.js +0 -5
  268. package/dist/module/decorators.d.ts +0 -10
  269. package/dist/module/decorators.js +0 -47
  270. package/dist/module/define-module.d.ts +0 -112
  271. package/dist/module/define-module.js +0 -232
  272. package/dist/module/graph.d.ts +0 -10
  273. package/dist/module/graph.js +0 -35
  274. package/dist/module/index.d.ts +0 -10
  275. package/dist/module/index.js +0 -7
  276. package/dist/module/lazy-modules.d.ts +0 -82
  277. package/dist/module/lazy-modules.js +0 -231
  278. package/dist/module/lazy-provider.d.ts +0 -65
  279. package/dist/module/lazy-provider.js +0 -111
  280. package/dist/module/middleware.d.ts +0 -30
  281. package/dist/module/middleware.js +0 -67
  282. package/dist/module/module-loader.d.ts +0 -58
  283. package/dist/module/module-loader.js +0 -484
  284. package/dist/module/stable-hash.d.ts +0 -15
  285. package/dist/module/stable-hash.js +0 -52
  286. package/dist/module/types.d.ts +0 -1
  287. package/dist/module/types.js +0 -1
  288. package/dist/openapi/decorators.d.ts +0 -34
  289. package/dist/openapi/decorators.js +0 -66
  290. package/dist/openapi/document.d.ts +0 -3
  291. package/dist/openapi/document.js +0 -316
  292. package/dist/openapi/index.d.ts +0 -7
  293. package/dist/openapi/index.js +0 -6
  294. package/dist/openapi/redoc-ui.d.ts +0 -1
  295. package/dist/openapi/redoc-ui.js +0 -19
  296. package/dist/openapi/scalar-ui.d.ts +0 -1
  297. package/dist/openapi/scalar-ui.js +0 -19
  298. package/dist/openapi/swagger-ui.d.ts +0 -1
  299. package/dist/openapi/swagger-ui.js +0 -23
  300. package/dist/openapi/types.d.ts +0 -182
  301. package/dist/openapi/types.js +0 -4
  302. package/dist/openapi/zod-to-json-schema.d.ts +0 -4
  303. package/dist/openapi/zod-to-json-schema.js +0 -57
  304. package/dist/pipeline/app-providers.d.ts +0 -10
  305. package/dist/pipeline/app-providers.js +0 -43
  306. package/dist/pipeline/component.manager.d.ts +0 -25
  307. package/dist/pipeline/component.manager.js +0 -66
  308. package/dist/pipeline/decorators.d.ts +0 -10
  309. package/dist/pipeline/decorators.js +0 -42
  310. package/dist/pipeline/index.d.ts +0 -12
  311. package/dist/pipeline/index.js +0 -7
  312. package/dist/pipeline/pipeline-runner.d.ts +0 -31
  313. package/dist/pipeline/pipeline-runner.js +0 -40
  314. package/dist/pipeline/pipes.d.ts +0 -48
  315. package/dist/pipeline/pipes.js +0 -104
  316. package/dist/pipeline/reflector.d.ts +0 -86
  317. package/dist/pipeline/reflector.js +0 -121
  318. package/dist/pipeline/scoped-components.d.ts +0 -26
  319. package/dist/pipeline/scoped-components.js +0 -27
  320. package/dist/pipeline/tokens.d.ts +0 -33
  321. package/dist/pipeline/tokens.js +0 -27
  322. package/dist/pipeline/types.d.ts +0 -64
  323. package/dist/pipeline/types.js +0 -1
  324. package/dist/plugin/plugin.d.ts +0 -31
  325. package/dist/plugin/plugin.js +0 -111
  326. package/dist/queue/inline.driver.d.ts +0 -30
  327. package/dist/queue/inline.driver.js +0 -58
  328. package/dist/queue/queue.binding.d.ts +0 -23
  329. package/dist/queue/queue.binding.js +0 -53
  330. package/dist/queue/queue.client.d.ts +0 -20
  331. package/dist/queue/queue.client.js +0 -33
  332. package/dist/queue/queue.decorators.d.ts +0 -23
  333. package/dist/queue/queue.decorators.js +0 -46
  334. package/dist/queue/queue.dispatch.d.ts +0 -36
  335. package/dist/queue/queue.dispatch.js +0 -102
  336. package/dist/queue/queue.module.d.ts +0 -32
  337. package/dist/queue/queue.module.js +0 -80
  338. package/dist/queue/queue.tokens.d.ts +0 -21
  339. package/dist/queue/queue.tokens.js +0 -34
  340. package/dist/queue/queue.types.d.ts +0 -61
  341. package/dist/queue/queue.types.js +0 -4
  342. package/dist/registry/index.d.ts +0 -2
  343. package/dist/registry/index.js +0 -1
  344. package/dist/registry/metadata.registry.d.ts +0 -73
  345. package/dist/registry/metadata.registry.js +0 -357
  346. package/dist/registry/paths.d.ts +0 -3
  347. package/dist/registry/paths.js +0 -15
  348. package/dist/registry/types.d.ts +0 -116
  349. package/dist/registry/types.js +0 -1
  350. package/dist/registry/util.d.ts +0 -3
  351. package/dist/registry/util.js +0 -8
  352. package/dist/schedule/cron-matcher.d.ts +0 -2
  353. package/dist/schedule/cron-matcher.js +0 -62
  354. package/dist/schedule/index.d.ts +0 -8
  355. package/dist/schedule/index.js +0 -5
  356. package/dist/schedule/schedule.decorators.d.ts +0 -2
  357. package/dist/schedule/schedule.decorators.js +0 -18
  358. package/dist/schedule/schedule.module.d.ts +0 -9
  359. package/dist/schedule/schedule.module.js +0 -28
  360. package/dist/schedule/schedule.registry.d.ts +0 -23
  361. package/dist/schedule/schedule.registry.js +0 -63
  362. package/dist/schedule/schedule.tokens.d.ts +0 -2
  363. package/dist/schedule/schedule.tokens.js +0 -2
  364. package/dist/schedule/schedule.types.d.ts +0 -8
  365. package/dist/schedule/schedule.types.js +0 -1
  366. package/dist/schedule-node/schedule-node.module.d.ts +0 -9
  367. package/dist/schedule-node/schedule-node.module.js +0 -28
  368. package/dist/schedule-node/schedule.executor.d.ts +0 -19
  369. package/dist/schedule-node/schedule.executor.js +0 -107
  370. package/dist/seeder/seeder.decorator.d.ts +0 -7
  371. package/dist/seeder/seeder.decorator.js +0 -15
  372. package/dist/seeder/seeder.module.d.ts +0 -16
  373. package/dist/seeder/seeder.module.js +0 -44
  374. package/dist/seeder/seeder.registry.d.ts +0 -23
  375. package/dist/seeder/seeder.registry.js +0 -83
  376. package/dist/seeder/seeder.tokens.d.ts +0 -2
  377. package/dist/seeder/seeder.tokens.js +0 -1
  378. package/dist/seeder/seeder.types.d.ts +0 -20
  379. package/dist/seeder/seeder.types.js +0 -1
  380. package/dist/serialization/index.d.ts +0 -2
  381. package/dist/serialization/index.js +0 -2
  382. package/dist/serialization/serialize.decorator.d.ts +0 -6
  383. package/dist/serialization/serialize.decorator.js +0 -7
  384. package/dist/serialization/serializer.interceptor.d.ts +0 -4
  385. package/dist/serialization/serializer.interceptor.js +0 -16
  386. package/dist/services/index.d.ts +0 -2
  387. package/dist/services/index.js +0 -1
  388. package/dist/services/logger.d.ts +0 -59
  389. package/dist/services/logger.js +0 -159
  390. package/dist/storage/path-template.d.ts +0 -9
  391. package/dist/storage/path-template.js +0 -20
  392. package/dist/storage/storage.types.d.ts +0 -41
  393. package/dist/storage/storage.types.js +0 -5
  394. package/dist/throttler/index.d.ts +0 -6
  395. package/dist/throttler/index.js +0 -5
  396. package/dist/throttler/throttler.decorators.d.ts +0 -3
  397. package/dist/throttler/throttler.decorators.js +0 -4
  398. package/dist/throttler/throttler.guard.d.ts +0 -9
  399. package/dist/throttler/throttler.guard.js +0 -72
  400. package/dist/throttler/throttler.module.d.ts +0 -7
  401. package/dist/throttler/throttler.module.js +0 -41
  402. package/dist/throttler/throttler.storage.d.ts +0 -10
  403. package/dist/throttler/throttler.storage.js +0 -44
  404. package/dist/throttler/throttler.tokens.d.ts +0 -6
  405. package/dist/throttler/throttler.tokens.js +0 -5
  406. package/dist/throttler/throttler.types.d.ts +0 -25
  407. package/dist/throttler/throttler.types.js +0 -1
  408. package/dist/validation/create-zod-dto.d.ts +0 -13
  409. package/dist/validation/create-zod-dto.js +0 -18
  410. package/dist/validation/index.d.ts +0 -3
  411. package/dist/validation/index.js +0 -2
  412. package/dist/validation/validation.pipe.d.ts +0 -4
  413. package/dist/validation/validation.pipe.js +0 -19
  414. package/dist/websocket/websocket.decorators.d.ts +0 -47
  415. package/dist/websocket/websocket.decorators.js +0 -80
  416. package/dist/websocket/websocket.module.d.ts +0 -35
  417. package/dist/websocket/websocket.module.js +0 -63
  418. package/dist/websocket/websocket.tokens.d.ts +0 -30
  419. package/dist/websocket/websocket.tokens.js +0 -27
  420. package/dist/websocket/websocket.types.d.ts +0 -102
  421. package/dist/websocket/websocket.types.js +0 -4
  422. package/dist/websocket/ws-argument-resolver.d.ts +0 -13
  423. package/dist/websocket/ws-argument-resolver.js +0 -40
  424. package/dist/websocket/ws-dispatcher.d.ts +0 -54
  425. package/dist/websocket/ws-dispatcher.js +0 -322
  426. package/dist/websocket/ws-exception.d.ts +0 -16
  427. package/dist/websocket/ws-exception.js +0 -32
  428. package/dist/websocket/ws-execution-context.d.ts +0 -9
  429. package/dist/websocket/ws-execution-context.js +0 -24
  430. package/dist/websocket/ws-server.d.ts +0 -31
  431. package/dist/websocket/ws-server.js +0 -74
  432. package/dist/websocket/ws-sync.d.ts +0 -47
  433. package/dist/websocket/ws-sync.js +0 -74
  434. package/dist/websocket-node/node-ws-client.d.ts +0 -24
  435. package/dist/websocket-node/node-ws-client.js +0 -49
  436. package/dist/websocket-node/redis-live.d.ts +0 -24
  437. package/dist/websocket-node/redis-live.js +0 -57
  438. package/dist/websocket-node/redis-sync.d.ts +0 -33
  439. package/dist/websocket-node/redis-sync.js +0 -56
  440. package/dist/websocket-node/register-gateways.d.ts +0 -20
  441. 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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"}