@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
@@ -1,90 +0,0 @@
1
- function _ts_decorate(decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for(var i = decorators.length - 1; i >= 0; i--)if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- }
7
- function _ts_metadata(k, v) {
8
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
- }
10
- function _ts_param(paramIndex, decorator) {
11
- return function(target, key) {
12
- decorator(target, key, paramIndex);
13
- };
14
- }
15
- import IntlMessageFormat from "intl-messageformat";
16
- import { Inject, Injectable } from "../container/decorators.js";
17
- import { I18N_OPTIONS } from "./i18n.tokens.js";
18
- import { MessageRegistry } from "./message-registry.js";
19
- export class MessageLoaderService {
20
- cache = new Map();
21
- compiledCache = new Map();
22
- defaultLocale;
23
- fallbackLocale;
24
- constructor(registry, options){
25
- this.defaultLocale = options?.defaultLocale ?? 'en';
26
- this.fallbackLocale = options?.fallbackLocale ?? this.defaultLocale;
27
- const merged = registry.getMergedMessages();
28
- for (const locale of Object.keys(merged)){
29
- this.cache.set(locale, merged[locale]);
30
- }
31
- }
32
- translate(locale, key, params) {
33
- const primary = this.getCompiledMessages(locale)[key];
34
- if (primary) return primary(params);
35
- // Per-key fallback: a supported locale missing an individual key falls back
36
- // to fallbackLocale before giving up (returning the raw key).
37
- if (this.fallbackLocale !== locale) {
38
- const fallback = this.getCompiledMessages(this.fallbackLocale)[key];
39
- if (fallback) return fallback(params);
40
- }
41
- return key; // missing everywhere → return the key (dev-friendly)
42
- }
43
- getAvailableLocales() {
44
- return [
45
- ...this.cache.keys()
46
- ];
47
- }
48
- isLocaleSupported(locale) {
49
- return this.cache.has(locale);
50
- }
51
- getDefaultLocale() {
52
- return this.defaultLocale;
53
- }
54
- getCompiledMessages(locale) {
55
- const effectiveLocale = this.cache.has(locale) ? locale : this.defaultLocale;
56
- const cached = this.compiledCache.get(effectiveLocale);
57
- if (cached) return cached;
58
- const flattened = this.flattenMessages(this.cache.get(effectiveLocale) ?? {});
59
- const compiled = {};
60
- for (const [key, value] of Object.entries(flattened)){
61
- const msg = new IntlMessageFormat(value, effectiveLocale);
62
- compiled[key] = (params)=>String(msg.format(params));
63
- }
64
- this.compiledCache.set(effectiveLocale, compiled);
65
- return compiled;
66
- }
67
- flattenMessages(messages, prefix = '') {
68
- const result = {};
69
- for (const key of Object.keys(messages)){
70
- const value = messages[key];
71
- const newKey = prefix ? `${prefix}.${key}` : key;
72
- if (typeof value === 'object' && value !== null && !Array.isArray(value)) {
73
- Object.assign(result, this.flattenMessages(value, newKey));
74
- } else {
75
- result[newKey] = String(value);
76
- }
77
- }
78
- return result;
79
- }
80
- }
81
- MessageLoaderService = _ts_decorate([
82
- Injectable(),
83
- _ts_param(0, Inject(MessageRegistry)),
84
- _ts_param(1, Inject(I18N_OPTIONS)),
85
- _ts_metadata("design:type", Function),
86
- _ts_metadata("design:paramtypes", [
87
- typeof MessageRegistry === "undefined" ? Object : MessageRegistry,
88
- typeof I18nModuleOptions === "undefined" ? Object : I18nModuleOptions
89
- ])
90
- ], MessageLoaderService);
@@ -1,16 +0,0 @@
1
- type Contribution = Record<string, Record<string, unknown>>;
2
- /**
3
- * Accumulates i18n messages from multiple `I18nModule.registerMessages()` calls
4
- * (statically, at module import time), deep-merged on read by
5
- * {@link MessageLoaderService}. Later registrations override earlier ones at the
6
- * leaf level.
7
- */
8
- export declare class MessageRegistry {
9
- /** Called by `I18nModule.registerMessages()`. */
10
- static addMessages(messages: Contribution): void;
11
- /** All contributions deep-merged, per locale, in registration order. */
12
- getMergedMessages(): Record<string, Record<string, unknown>>;
13
- /** @internal — testing */
14
- static reset(): void;
15
- }
16
- export {};
@@ -1,49 +0,0 @@
1
- function _ts_decorate(decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for(var i = decorators.length - 1; i >= 0; i--)if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- }
7
- import { Injectable } from "../container/decorators.js";
8
- import { deepMerge } from "./deep-merge.js";
9
- // Shared contributions store anchored on globalThis so bundler-inlined copies
10
- // (portal/symlink) and Vite HMR re-eval share ONE store. Content-keyed so
11
- // re-registering identical messages (HMR) dedups instead of accumulating.
12
- const CONTRIBUTIONS_KEY = Symbol.for('vela:i18n:message-registry:contributions');
13
- function getContributions() {
14
- const g = globalThis;
15
- return g[CONTRIBUTIONS_KEY] ??= new Map();
16
- }
17
- function contentKey(value) {
18
- if (Array.isArray(value)) return `[${value.map(contentKey).join(',')}]`;
19
- if (typeof value === 'object' && value !== null) {
20
- const entries = Object.keys(value).sort().map((key)=>`${JSON.stringify(key)}:${contentKey(value[key])}`);
21
- return `{${entries.join(',')}}`;
22
- }
23
- return JSON.stringify(value) ?? 'undefined';
24
- }
25
- export class MessageRegistry {
26
- /** Called by `I18nModule.registerMessages()`. */ static addMessages(messages) {
27
- if (messages && typeof messages === 'object' && Object.keys(messages).length > 0) {
28
- // set() dedups by content-key AND preserves insertion order for an existing
29
- // key. (A prior delete+set moved re-registered content to the end, flipping
30
- // deep-merge precedence under HMR re-eval.)
31
- getContributions().set(contentKey(messages), messages);
32
- }
33
- }
34
- /** All contributions deep-merged, per locale, in registration order. */ getMergedMessages() {
35
- const merged = {};
36
- for (const contribution of getContributions().values()){
37
- for (const locale of Object.keys(contribution)){
38
- merged[locale] = deepMerge(merged[locale] ?? {}, contribution[locale]);
39
- }
40
- }
41
- return merged;
42
- }
43
- /** @internal — testing */ static reset() {
44
- globalThis[CONTRIBUTIONS_KEY] = new Map();
45
- }
46
- }
47
- MessageRegistry = _ts_decorate([
48
- Injectable()
49
- ], MessageRegistry);
@@ -1,20 +0,0 @@
1
- export interface OnModuleInit {
2
- onModuleInit(): void | Promise<void>;
3
- }
4
- export interface OnApplicationBootstrap {
5
- onApplicationBootstrap(): void | Promise<void>;
6
- }
7
- export interface OnModuleDestroy {
8
- onModuleDestroy(): void | Promise<void>;
9
- }
10
- export interface OnApplicationShutdown {
11
- onApplicationShutdown(signal?: string): void | Promise<void>;
12
- }
13
- export interface BeforeApplicationShutdown {
14
- beforeApplicationShutdown(signal?: string): void | Promise<void>;
15
- }
16
- export declare function hasOnModuleInit(instance: unknown): instance is OnModuleInit;
17
- export declare function hasOnApplicationBootstrap(instance: unknown): instance is OnApplicationBootstrap;
18
- export declare function hasOnModuleDestroy(instance: unknown): instance is OnModuleDestroy;
19
- export declare function hasBeforeApplicationShutdown(instance: unknown): instance is BeforeApplicationShutdown;
20
- export declare function hasOnApplicationShutdown(instance: unknown): instance is OnApplicationShutdown;
@@ -1,15 +0,0 @@
1
- export function hasOnModuleInit(instance) {
2
- return instance !== null && typeof instance === 'object' && typeof instance.onModuleInit === 'function';
3
- }
4
- export function hasOnApplicationBootstrap(instance) {
5
- return instance !== null && typeof instance === 'object' && typeof instance.onApplicationBootstrap === 'function';
6
- }
7
- export function hasOnModuleDestroy(instance) {
8
- return instance !== null && typeof instance === 'object' && typeof instance.onModuleDestroy === 'function';
9
- }
10
- export function hasBeforeApplicationShutdown(instance) {
11
- return instance !== null && typeof instance === 'object' && typeof instance.beforeApplicationShutdown === 'function';
12
- }
13
- export function hasOnApplicationShutdown(instance) {
14
- return instance !== null && typeof instance === 'object' && typeof instance.onApplicationShutdown === 'function';
15
- }
@@ -1,22 +0,0 @@
1
- import type { CommitStamp, CursorLog, ResumeVerdict } from './live.types';
2
- /**
3
- * The in-core `CursorLog`: a bounded in-memory ring, epoch minted per process
4
- * (Web Crypto). A restart rolls the epoch, so every reconnecting client falls
5
- * back to snapshot — exactly the documented node/dev semantics. Within one
6
- * process lifetime resume works for gaps the ring still covers; a trimmed gap
7
- * degrades to snapshot (mirrors lunora's CDC retention rule,
8
- * `ctx-db-cdc.ts` — retention gap → snapshot).
9
- *
10
- * The Cloudflare transport replaces this with a Durable-Object SQLite log so
11
- * resume survives hibernation and eviction.
12
- */
13
- export declare class InMemoryCursorLog implements CursorLog {
14
- private readonly maxEntries;
15
- private readonly epoch;
16
- private readonly entries;
17
- private seq;
18
- constructor(maxEntries?: number);
19
- append(tags: string[]): CommitStamp;
20
- current(): CommitStamp;
21
- evaluateResume(sinceCursor: number, sinceEpoch: string, subscriptionTags: string[]): ResumeVerdict;
22
- }
@@ -1,56 +0,0 @@
1
- const intersects = (a, b)=>a.some((tag)=>b.has(tag));
2
- /**
3
- * The in-core `CursorLog`: a bounded in-memory ring, epoch minted per process
4
- * (Web Crypto). A restart rolls the epoch, so every reconnecting client falls
5
- * back to snapshot — exactly the documented node/dev semantics. Within one
6
- * process lifetime resume works for gaps the ring still covers; a trimmed gap
7
- * degrades to snapshot (mirrors lunora's CDC retention rule,
8
- * `ctx-db-cdc.ts` — retention gap → snapshot).
9
- *
10
- * The Cloudflare transport replaces this with a Durable-Object SQLite log so
11
- * resume survives hibernation and eviction.
12
- */ export class InMemoryCursorLog {
13
- maxEntries;
14
- epoch = crypto.randomUUID();
15
- entries = [];
16
- seq = 0;
17
- constructor(maxEntries = 1024){
18
- this.maxEntries = maxEntries;
19
- }
20
- append(tags) {
21
- this.seq += 1;
22
- this.entries.push({
23
- seq: this.seq,
24
- tags
25
- });
26
- if (this.entries.length > this.maxEntries) {
27
- this.entries.splice(0, this.entries.length - this.maxEntries);
28
- }
29
- return {
30
- cursor: this.seq,
31
- epoch: this.epoch
32
- };
33
- }
34
- current() {
35
- return {
36
- cursor: this.seq,
37
- epoch: this.epoch
38
- };
39
- }
40
- evaluateResume(sinceCursor, sinceEpoch, subscriptionTags) {
41
- // Forked timeline (restart/reset) — the client's cursor means nothing here.
42
- if (sinceEpoch !== this.epoch) return 'snapshot';
43
- // Rollback guard: a cursor from the future is unexplainable.
44
- if (sinceCursor > this.seq) return 'snapshot';
45
- if (sinceCursor === this.seq) return 'resume';
46
- // Retention: the ring must still cover (sinceCursor, seq].
47
- const oldest = this.entries[0];
48
- if (oldest === undefined || oldest.seq > sinceCursor + 1) return 'snapshot';
49
- const subTags = new Set(subscriptionTags);
50
- for (const entry of this.entries){
51
- if (entry.seq <= sinceCursor) continue;
52
- if (intersects(entry.tags, subTags)) return 'rerun';
53
- }
54
- return 'resume';
55
- }
56
- }
@@ -1,32 +0,0 @@
1
- import type { LiveQueryMetadata, LiveQueryOptions } from './live.types';
2
- /**
3
- * Marks a provider class as a live-query resolver:
4
- *
5
- * ```ts
6
- * @LiveResolver()
7
- * @Injectable()
8
- * class TodoLive {
9
- * constructor(private readonly todos: TodoService) {}
10
- *
11
- * @LiveQuery('todos.list', { tags: (a: { listId: string }) => [`todos:${a.listId}`] })
12
- * list(args: { listId: string }, ctx: LiveQueryContext) {
13
- * return this.todos.byList(args.listId, ctx.identity?.userId);
14
- * }
15
- * }
16
- * ```
17
- *
18
- * Clients subscribe by query name over the `$live` reserved event; the engine
19
- * re-runs a handler whenever one of its tags is invalidated and pushes the
20
- * result (as a keyed delta when possible). Stack with `@Injectable()`, exactly
21
- * like `@Processor`.
22
- */
23
- export declare function LiveResolver(): ClassDecorator;
24
- /**
25
- * Declares a live query on a resolver method. The handler receives
26
- * `(args, ctx: LiveQueryContext)` positionally — args are validated once at
27
- * subscribe (via `options.parse`), then replayed verbatim into every re-run
28
- * under the subscriber's captured identity.
29
- */
30
- export declare function LiveQuery<A = unknown>(name: string, options: LiveQueryOptions<A>): MethodDecorator;
31
- /** `@LiveQuery` entries declared on a resolver class (declaration order). */
32
- export declare function getLiveQueries(resolverClass: object): LiveQueryMetadata[];
@@ -1,46 +0,0 @@
1
- import { createDiscoverableDecorator, defineMetadata, getMetadata } from "../index.js";
2
- import { LIVE_QUERY_METADATA, LIVE_RESOLVER_METADATA } from "./live.tokens.js";
3
- const LiveResolverMeta = createDiscoverableDecorator(LIVE_RESOLVER_METADATA);
4
- /**
5
- * Marks a provider class as a live-query resolver:
6
- *
7
- * ```ts
8
- * @LiveResolver()
9
- * @Injectable()
10
- * class TodoLive {
11
- * constructor(private readonly todos: TodoService) {}
12
- *
13
- * @LiveQuery('todos.list', { tags: (a: { listId: string }) => [`todos:${a.listId}`] })
14
- * list(args: { listId: string }, ctx: LiveQueryContext) {
15
- * return this.todos.byList(args.listId, ctx.identity?.userId);
16
- * }
17
- * }
18
- * ```
19
- *
20
- * Clients subscribe by query name over the `$live` reserved event; the engine
21
- * re-runs a handler whenever one of its tags is invalidated and pushes the
22
- * result (as a keyed delta when possible). Stack with `@Injectable()`, exactly
23
- * like `@Processor`.
24
- */ export function LiveResolver() {
25
- return LiveResolverMeta({});
26
- }
27
- /**
28
- * Declares a live query on a resolver method. The handler receives
29
- * `(args, ctx: LiveQueryContext)` positionally — args are validated once at
30
- * subscribe (via `options.parse`), then replayed verbatim into every re-run
31
- * under the subscriber's captured identity.
32
- */ export function LiveQuery(name, options) {
33
- return (target, propertyKey)=>{
34
- const ctor = target.constructor;
35
- const existing = getMetadata(LIVE_QUERY_METADATA, ctor) ?? [];
36
- existing.push({
37
- name,
38
- methodName: propertyKey,
39
- options: options
40
- });
41
- defineMetadata(LIVE_QUERY_METADATA, existing, ctor);
42
- };
43
- }
44
- /** `@LiveQuery` entries declared on a resolver class (declaration order). */ export function getLiveQueries(resolverClass) {
45
- return getMetadata(LIVE_QUERY_METADATA, resolverClass) ?? [];
46
- }
@@ -1,15 +0,0 @@
1
- import type { ServerLiveFrame } from '@velajs/live-protocol';
2
- import type { CommitStamp, SubscriptionRecord } from './live.types';
3
- /**
4
- * Decide what one re-run puts on the wire — pure, so the contract is
5
- * unit-testable without sockets:
6
- *
7
- * - byte-identical to the baseline → `settled` (cursor still advances; this
8
- * is what drops client optimistic layers for writes that didn't change the
9
- * result);
10
- * - baseline exists and the shared codec can diff → `delta` (batched keyed
11
- * row ops);
12
- * - otherwise (first send after subscribe/resume, codec bailed, unparseable
13
- * baseline) → full `data` snapshot.
14
- */
15
- export declare function encodeSubscriptionUpdate(record: SubscriptionRecord, json: string, result: unknown, stamp: CommitStamp, initial: boolean): ServerLiveFrame;
@@ -1,51 +0,0 @@
1
- import { DEFAULT_KEY_FIELD, encodeListDelta } from "@velajs/live-protocol";
2
- /**
3
- * Decide what one re-run puts on the wire — pure, so the contract is
4
- * unit-testable without sockets:
5
- *
6
- * - byte-identical to the baseline → `settled` (cursor still advances; this
7
- * is what drops client optimistic layers for writes that didn't change the
8
- * result);
9
- * - baseline exists and the shared codec can diff → `delta` (batched keyed
10
- * row ops);
11
- * - otherwise (first send after subscribe/resume, codec bailed, unparseable
12
- * baseline) → full `data` snapshot.
13
- */ export function encodeSubscriptionUpdate(record, json, result, stamp, initial) {
14
- const settled = {
15
- t: 'settled',
16
- sub: record.sub,
17
- cursor: stamp.cursor,
18
- epoch: stamp.epoch
19
- };
20
- if (!initial && record.lastJson !== undefined) {
21
- if (record.lastJson === json) return settled;
22
- let previous;
23
- let parsed = false;
24
- try {
25
- previous = JSON.parse(record.lastJson);
26
- parsed = true;
27
- } catch {
28
- // Unparseable baseline — fall through to a snapshot.
29
- }
30
- if (parsed) {
31
- const ops = encodeListDelta(previous, result, record.key ?? DEFAULT_KEY_FIELD);
32
- if (ops !== undefined && ops.length > 0) {
33
- return {
34
- t: 'delta',
35
- sub: record.sub,
36
- ops,
37
- cursor: stamp.cursor,
38
- epoch: stamp.epoch
39
- };
40
- }
41
- if (ops !== undefined) return settled;
42
- }
43
- }
44
- return {
45
- t: 'data',
46
- sub: record.sub,
47
- snapshot: result,
48
- cursor: stamp.cursor,
49
- epoch: stamp.epoch
50
- };
51
- }
@@ -1,81 +0,0 @@
1
- import { Container, DiscoveryService } from '../index';
2
- import type { ContributesEntrypoints, Entrypoint, OnApplicationBootstrap, ReservedWsEventHandler, WsClient, WsMessage } from '../index';
3
- import type { CommitStamp, CursorLog, InvalidationCommand, LiveDriver, LiveEntrypointMeta, LiveInvalidationSink, LiveModuleOptions, SubscriptionRecord } from './live.types';
4
- import { PresenceService } from './presence';
5
- /**
6
- * Where the engine persists a connection's subscription records inside
7
- * `client.data` (committed through `WsClient.commit()`). On Cloudflare that
8
- * lands in the hibernation attachment, so subscriptions survive DO eviction;
9
- * the transport replays them via `restoreSubscription` on wake. On node,
10
- * `commit()` is a no-op and this is just in-memory bookkeeping.
11
- */
12
- export declare const LIVE_SUBS_DATA_KEY = "__velaLiveSubs";
13
- /** Read the subscription records a transport persisted for a connection (wake/restore path). */
14
- export declare function readPersistedLiveSubscriptions(client: WsClient): SubscriptionRecord[];
15
- /**
16
- * The live-query engine of ONE log scope: routes `$live` frames (subscribe /
17
- * unsubscribe / presence), owns the subscription registry, and turns tag
18
- * invalidations into re-run → diff → push cycles.
19
- *
20
- * Delivery semantics (ported from lunora's `shard-do.ts` refresh loop):
21
- * - **Coalescing**: a burst of invalidations collapses into one flush; every
22
- * committed invalidation is observed by a flush that STARTS after it
23
- * committed (`applyInvalidation` appends to the log before arming the
24
- * drain, and the drain re-loops while tags are pending).
25
- * - **At-least-once**: a subscription's diff baseline (`lastJson`) advances
26
- * only when the frame left the socket; keyed deltas are idempotent on
27
- * replay.
28
- * - **Frame suppression**: a byte-identical re-run sends `settled` — no
29
- * payload, but the cursor still advances so client optimistic layers drop.
30
- * - **Outbound expiry**: a subscription whose captured identity lapsed is
31
- * dropped (socket closed) before it receives another scoped push.
32
- * - **Cursor-before-run**: the stamp a frame carries is read BEFORE the
33
- * re-run, so a result can only be NEWER than its cursor claims — an
34
- * invalidation racing the run is re-observed by the next flush, never lost.
35
- *
36
- * Transports reach the engine via `app.entrypoints.ofKind('live')` (it
37
- * contributes itself) — the same contract the WebSocket triad uses.
38
- */
39
- export declare class LiveEngine implements OnApplicationBootstrap, ContributesEntrypoints, ReservedWsEventHandler, LiveInvalidationSink {
40
- private readonly container;
41
- private readonly discovery;
42
- private readonly log;
43
- private readonly options;
44
- private readonly presence?;
45
- private readonly queries;
46
- private readonly connections;
47
- private readonly pendingTags;
48
- private drainChain;
49
- private draining;
50
- constructor(container: Container, discovery: DiscoveryService, log: CursorLog, driver: LiveDriver, options: LiveModuleOptions, presence?: PresenceService | undefined);
51
- onApplicationBootstrap(): Promise<void>;
52
- /** The `'live'` entrypoint — how transports (node registrar, CF DO bootstrap) find the engine. */
53
- collectEntrypoints(): Entrypoint<LiveEntrypointMeta>[];
54
- handleReservedEvent(path: string, client: WsClient, message: WsMessage): Promise<void>;
55
- handleSocketClose(_path: string, client: WsClient): Promise<void>;
56
- applyInvalidation(cmd: InvalidationCommand): Promise<CommitStamp>;
57
- /** Settles when every pending invalidation has been flushed (tests, graceful transports). */
58
- whenIdle(): Promise<void>;
59
- /**
60
- * Re-attach a persisted subscription without the subscribe handshake — the
61
- * Cloudflare transport replays hibernation-attachment records through this
62
- * on wake. No frames are sent; the next relevant invalidation pushes.
63
- */
64
- restoreSubscription(path: string, client: WsClient, record: SubscriptionRecord): void;
65
- private onSubscribe;
66
- private runSubscribeGuards;
67
- private scheduleDrain;
68
- private drainLoop;
69
- private push;
70
- private runQuery;
71
- /**
72
- * Mirror the connection's records into `client.data` + `commit()` so
73
- * hibernating transports can replay them on wake. The volatile diff
74
- * baseline (`lastJson`/`lastCursor`) is deliberately stripped: it can be
75
- * large (the whole last result vs the 16 KiB attachment cap) and a lost
76
- * baseline just means the next relevant change sends a full snapshot.
77
- */
78
- private persistSubscriptions;
79
- private ensureConnection;
80
- private sendFrame;
81
- }