@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,430 @@
1
+ import { a as OnApplicationBootstrap } from "./schedule.registry-DVm7Jp5w.js";
2
+ import { P as Container, U as InjectionToken, i as DiscoveryService } from "./discovery.service-Cpf1QcZ5.js";
3
+ import { X as ContributesEntrypoints, Z as Entrypoint } from "./metadata.registry-D1od8ZBt.js";
4
+ import { Xn as ReservedWsEventHandler, er as WsClient, nr as WsMessage, zt as ConfigurableModuleClassType } from "./index-DhShDLCM.js";
5
+ import { COMMIT_CURSOR_HEADER as COMMIT_CURSOR_HEADER$1, COMMIT_EPOCH_HEADER as COMMIT_EPOCH_HEADER$1, ClientLiveFrame, DEFAULT_KEY_FIELD as DEFAULT_KEY_FIELD$1, LIVE_ERROR_CODES as LIVE_ERROR_CODES$1, LIVE_EVENT, LIVE_PROTOCOL as LIVE_PROTOCOL$1, LiveFrame, RowOp, ServerLiveFrame, ServerLiveFrame as ServerLiveFrame$1, applyListDelta, encodeListDelta as encodeListDelta$1, encodeLiveEnvelope as encodeLiveEnvelope$1, encodeLiveFrame, isClientLiveFrame as isClientLiveFrame$1, isServerLiveFrame, readLiveEnvelope } from "@velajs/live-protocol";
6
+ //#region src/live/live.types.d.ts
7
+ /**
8
+ * Identity captured at subscribe time and replayed into every re-run of the
9
+ * subscription's query — never re-read from the client afterwards. Free-form;
10
+ * `expiresAt` (epoch ms) is the one recognized field: a lapsed identity drops
11
+ * the socket before it receives another scoped push (outbound enforcement —
12
+ * a passive subscriber never trips inbound checks).
13
+ */
14
+ interface LiveIdentity {
15
+ [key: string]: unknown;
16
+ expiresAt?: number;
17
+ }
18
+ /** Second positional argument every `@LiveQuery` handler receives. */
19
+ interface LiveQueryContext {
20
+ identity?: LiveIdentity;
21
+ /** The subscribed connection's id. */
22
+ clientId: string;
23
+ /** Rooms the connection was in when it subscribed. */
24
+ rooms: string[];
25
+ }
26
+ interface LiveQueryOptions<A = unknown> {
27
+ /**
28
+ * Dependency tags this query's result is built from — the invalidation
29
+ * contract. Static for the common case; the function form derives
30
+ * per-entity tags from the (parsed) subscribe args. Writes invalidate tags
31
+ * via `LiveInvalidation.invalidate()` (the CRUD bridge does it
32
+ * automatically with `crud:<table>` tags).
33
+ */
34
+ tags: string[] | ((args: A) => string[]);
35
+ /** Key field for incremental list deltas (default `'id'`). */
36
+ key?: string;
37
+ /**
38
+ * Args validator, run ONCE at subscribe (a zod schema's `.parse` slots in
39
+ * directly). A throw rejects the subscription with a `bad_args` error frame.
40
+ */
41
+ parse?: (args: unknown) => A;
42
+ }
43
+ /** One `@LiveQuery` declaration on a `@LiveResolver` class. */
44
+ interface LiveQueryMetadata {
45
+ name: string;
46
+ methodName: string | symbol;
47
+ options: LiveQueryOptions;
48
+ }
49
+ /** Class-level marker meta written by `@LiveResolver()`. */
50
+ interface LiveResolverMetadata {}
51
+ /** A position in this log scope's ordered invalidation log. */
52
+ interface CommitStamp {
53
+ cursor: number;
54
+ epoch: string;
55
+ }
56
+ /**
57
+ * Resume verdict for a reconnecting subscription:
58
+ * - `'resume'` — nothing the subscription depends on changed while away; keep
59
+ * the client's cached value and just advance its cursor.
60
+ * - `'rerun'` — a relevant tag was invalidated in the gap; re-run and snapshot.
61
+ * - `'snapshot'` — the gap cannot be reasoned about (epoch fork, trimmed log,
62
+ * rollback); re-run and snapshot.
63
+ */
64
+ type ResumeVerdict = 'resume' | 'rerun' | 'snapshot';
65
+ /**
66
+ * The ordered tag-invalidation log for ONE log scope (this process on
67
+ * node/bun/deno; one Durable Object on Cloudflare). Cursor = monotonic
68
+ * sequence; epoch = timeline token rolled whenever monotonicity can no longer
69
+ * be guaranteed (process restart, DO reset).
70
+ */
71
+ interface CursorLog {
72
+ append(tags: string[]): CommitStamp | Promise<CommitStamp>;
73
+ current(): CommitStamp | Promise<CommitStamp>;
74
+ evaluateResume(sinceCursor: number, sinceEpoch: string, subscriptionTags: string[]): ResumeVerdict | Promise<ResumeVerdict>;
75
+ }
76
+ /** A tag invalidation crossing the driver seam. `room` addresses the log scope holding the subscribers (advisory for local delivery). */
77
+ interface InvalidationCommand {
78
+ room?: string;
79
+ tags: string[];
80
+ /** Origin instance id — lets pub/sub drivers drop their own echo. */
81
+ origin?: string;
82
+ }
83
+ /** What a driver delivers invalidations INTO — the live engine of one log scope. */
84
+ interface LiveInvalidationSink {
85
+ applyInvalidation(cmd: InvalidationCommand): CommitStamp | Promise<CommitStamp>;
86
+ }
87
+ /**
88
+ * Cross-boundary invalidation transport — the live sibling of the WebSocket
89
+ * `SyncDriver`, carrying TAGS (re-run instructions) instead of pre-serialized
90
+ * frames. `localLive()` is the in-core single-scope default; platform packages
91
+ * (`durableObjectLive()` in @velajs/cloudflare, `redisLive()` in
92
+ * websocket-node) implement it out-of-core. `dispatch` returns the commit
93
+ * stamp of the targeted log scope when the driver can observe it.
94
+ */
95
+ interface LiveDriver {
96
+ readonly kind: string;
97
+ bind(sink: LiveInvalidationSink): void;
98
+ dispatch(cmd: InvalidationCommand): CommitStamp | undefined | Promise<CommitStamp | undefined>;
99
+ start?(): void | Promise<void>;
100
+ stop?(): void | Promise<void>;
101
+ }
102
+ /** One live subscription as tracked by the engine (and persisted by transports that survive eviction). */
103
+ interface SubscriptionRecord {
104
+ sub: string;
105
+ query: string;
106
+ args: unknown;
107
+ /** Frozen at subscribe from the (parsed) args. */
108
+ tags: string[];
109
+ /** Delta key field (subscribe-frame override wins over the handler option). */
110
+ key?: string;
111
+ identity?: LiveIdentity;
112
+ /**
113
+ * The last result this subscription confirmed on the wire (the delta diff
114
+ * baseline). `undefined` after a cursor-resume: the server never re-ran the
115
+ * query, so the next relevant change sends a full snapshot.
116
+ */
117
+ lastJson?: string;
118
+ lastCursor?: number;
119
+ }
120
+ interface LivePresenceOptions {
121
+ /** Roster entries older than this are filtered at read time (default 30_000 ms). */
122
+ ttlMs?: number;
123
+ }
124
+ interface LiveModuleOptions {
125
+ /** Cross-boundary invalidation driver. Defaults to `localLive()`. */
126
+ driver?: LiveDriver;
127
+ /** Ordered invalidation log. Defaults to the in-memory per-process log. */
128
+ log?: CursorLog;
129
+ /**
130
+ * Identity capture at subscribe. Default: a shallow copy of `client.data`
131
+ * (whatever the app's upgrade/`handleConnection` auth stamped there), or
132
+ * `undefined` when empty.
133
+ */
134
+ identity?: (client: WsClient) => LiveIdentity | undefined;
135
+ /** Presence preset configuration; `false` disables the built-in resolver. */
136
+ presence?: LivePresenceOptions | false;
137
+ }
138
+ /** Meta carried by the `'live'` entrypoint (transports reach the engine through it). */
139
+ interface LiveEntrypointMeta {
140
+ /** The engine — typed loosely to avoid a circular type edge; cast to `LiveEngine`. */
141
+ engine: unknown;
142
+ }
143
+ //#endregion
144
+ //#region src/live/live.module.d.ts
145
+ /**
146
+ * First-party live-query module (tag-based realtime reactivity) — authored,
147
+ * like the queue module, entirely on vela's public API (`live-openness.test.ts`
148
+ * machine-verifies it; the only extra dependency is the shared wire package
149
+ * `@velajs/live-protocol`).
150
+ *
151
+ * ```ts
152
+ * imports: [WebSocketModule.forRoot({}), LiveModule.forRoot({})]
153
+ * ```
154
+ *
155
+ * App code declares `@LiveResolver` classes with `@LiveQuery(name, { tags })`
156
+ * methods; clients subscribe over the `$live` reserved WebSocket event; writes
157
+ * invalidate tags via `LiveInvalidation` (the `@velajs/crud` bridge does it
158
+ * automatically per table). See `LIVE.md` for the wire protocol, delivery
159
+ * guarantees, and the resume story.
160
+ *
161
+ * Deliberately EAGER (like WebSocketModule): the engine self-drives — it
162
+ * claims the `$live` event at bootstrap and receives invalidations from
163
+ * writes that never touch a live token — so the lazy-module contract
164
+ * ("nothing self-drives") rules laziness out.
165
+ */
166
+ declare const ConfigurableModuleClass: ConfigurableModuleClassType<LiveModuleOptions, "forRoot", "create", {
167
+ isGlobal?: boolean;
168
+ }>;
169
+ declare class LiveModule extends ConfigurableModuleClass {}
170
+ //#endregion
171
+ //#region src/live/live.decorators.d.ts
172
+ /**
173
+ * Marks a provider class as a live-query resolver:
174
+ *
175
+ * ```ts
176
+ * @LiveResolver()
177
+ * @Injectable()
178
+ * class TodoLive {
179
+ * constructor(private readonly todos: TodoService) {}
180
+ *
181
+ * @LiveQuery('todos.list', { tags: (a: { listId: string }) => [`todos:${a.listId}`] })
182
+ * list(args: { listId: string }, ctx: LiveQueryContext) {
183
+ * return this.todos.byList(args.listId, ctx.identity?.userId);
184
+ * }
185
+ * }
186
+ * ```
187
+ *
188
+ * Clients subscribe by query name over the `$live` reserved event; the engine
189
+ * re-runs a handler whenever one of its tags is invalidated and pushes the
190
+ * result (as a keyed delta when possible). Stack with `@Injectable()`, exactly
191
+ * like `@Processor`.
192
+ */
193
+ declare function LiveResolver(): ClassDecorator;
194
+ /**
195
+ * Declares a live query on a resolver method. The handler receives
196
+ * `(args, ctx: LiveQueryContext)` positionally — args are validated once at
197
+ * subscribe (via `options.parse`), then replayed verbatim into every re-run
198
+ * under the subscriber's captured identity.
199
+ */
200
+ declare function LiveQuery<A = unknown>(name: string, options: LiveQueryOptions<A>): MethodDecorator;
201
+ /** `@LiveQuery` entries declared on a resolver class (declaration order). */
202
+ declare function getLiveQueries(resolverClass: object): LiveQueryMetadata[];
203
+ //#endregion
204
+ //#region src/live/presence.d.ts
205
+ /** The invalidation tag for one room's roster. `$`-prefixed: never collides with app tags. */
206
+ declare const presenceTag: (room: string) => string;
207
+ /** The built-in roster query name (`useLiveQuery`-able like any app query). */
208
+ declare const PRESENCE_ROSTER_QUERY = "$presence.roster";
209
+ /** One present connection as returned by the roster query. Keyed by `id` so list deltas apply. */
210
+ interface PresenceMember {
211
+ /** The connection id that heartbeats this membership. */
212
+ id: string;
213
+ meta?: unknown;
214
+ lastSeen: number;
215
+ }
216
+ /**
217
+ * The presence preset's server half. Heartbeats arrive as `{ t: 'presence' }`
218
+ * frames on the live socket (routed here by the engine); the roster is a
219
+ * built-in live query invalidated per room. Departure is immediate: the WS
220
+ * close hook reaps the member without waiting out the TTL. Staleness (an
221
+ * ungraceful drop the transport never noticed) is filtered AT READ TIME —
222
+ * no timers, per the edge rules (`setInterval` is forbidden).
223
+ *
224
+ * Scope note: the roster lives in this log scope (one process on node, one
225
+ * room-DO on Cloudflare — where it is exactly the room's roster).
226
+ */
227
+ declare class PresenceService {
228
+ private readonly ttlMs;
229
+ readonly enabled: boolean;
230
+ private readonly rooms;
231
+ private readonly roomsByClient;
232
+ private invalidator?;
233
+ constructor(ttlMs?: number, enabled?: boolean);
234
+ /** Wired by the engine so beats/reaps invalidate through the live driver. */
235
+ bindInvalidator(invalidator: (tags: string[]) => void): void;
236
+ beat(room: string, clientId: string, meta?: unknown): void;
237
+ /** Immediate departure on socket close — peers see it without a TTL wait. */
238
+ reap(clientId: string): void;
239
+ roster(room: string): PresenceMember[];
240
+ }
241
+ /** The built-in resolver backing `$presence.roster`. Registered by `LiveModule` unless presence is disabled. */
242
+ declare class PresenceResolver {
243
+ private readonly presence;
244
+ constructor(presence: PresenceService);
245
+ roster(args: {
246
+ room: string;
247
+ }): PresenceMember[];
248
+ }
249
+ //#endregion
250
+ //#region src/live/live.engine.d.ts
251
+ /**
252
+ * Where the engine persists a connection's subscription records inside
253
+ * `client.data` (committed through `WsClient.commit()`). On Cloudflare that
254
+ * lands in the hibernation attachment, so subscriptions survive DO eviction;
255
+ * the transport replays them via `restoreSubscription` on wake. On node,
256
+ * `commit()` is a no-op and this is just in-memory bookkeeping.
257
+ */
258
+ declare const LIVE_SUBS_DATA_KEY = "__velaLiveSubs";
259
+ /** Read the subscription records a transport persisted for a connection (wake/restore path). */
260
+ declare function readPersistedLiveSubscriptions(client: WsClient): SubscriptionRecord[];
261
+ /**
262
+ * The live-query engine of ONE log scope: routes `$live` frames (subscribe /
263
+ * unsubscribe / presence), owns the subscription registry, and turns tag
264
+ * invalidations into re-run → diff → push cycles.
265
+ *
266
+ * Delivery semantics (ported from lunora's `shard-do.ts` refresh loop):
267
+ * - **Coalescing**: a burst of invalidations collapses into one flush; every
268
+ * committed invalidation is observed by a flush that STARTS after it
269
+ * committed (`applyInvalidation` appends to the log before arming the
270
+ * drain, and the drain re-loops while tags are pending).
271
+ * - **At-least-once**: a subscription's diff baseline (`lastJson`) advances
272
+ * only when the frame left the socket; keyed deltas are idempotent on
273
+ * replay.
274
+ * - **Frame suppression**: a byte-identical re-run sends `settled` — no
275
+ * payload, but the cursor still advances so client optimistic layers drop.
276
+ * - **Outbound expiry**: a subscription whose captured identity lapsed is
277
+ * dropped (socket closed) before it receives another scoped push.
278
+ * - **Cursor-before-run**: the stamp a frame carries is read BEFORE the
279
+ * re-run, so a result can only be NEWER than its cursor claims — an
280
+ * invalidation racing the run is re-observed by the next flush, never lost.
281
+ *
282
+ * Transports reach the engine via `app.entrypoints.ofKind('live')` (it
283
+ * contributes itself) — the same contract the WebSocket triad uses.
284
+ */
285
+ declare class LiveEngine implements OnApplicationBootstrap, ContributesEntrypoints, ReservedWsEventHandler, LiveInvalidationSink {
286
+ private readonly container;
287
+ private readonly discovery;
288
+ private readonly log;
289
+ private readonly options;
290
+ private readonly presence?;
291
+ private readonly queries;
292
+ private readonly connections;
293
+ private readonly pendingTags;
294
+ private drainChain;
295
+ private draining;
296
+ constructor(container: Container, discovery: DiscoveryService, log: CursorLog, driver: LiveDriver, options: LiveModuleOptions, presence?: PresenceService | undefined);
297
+ onApplicationBootstrap(): Promise<void>;
298
+ /** The `'live'` entrypoint — how transports (node registrar, CF DO bootstrap) find the engine. */
299
+ collectEntrypoints(): Entrypoint<LiveEntrypointMeta>[];
300
+ handleReservedEvent(path: string, client: WsClient, message: WsMessage): Promise<void>;
301
+ handleSocketClose(_path: string, client: WsClient): Promise<void>;
302
+ applyInvalidation(cmd: InvalidationCommand): Promise<CommitStamp>;
303
+ /** Settles when every pending invalidation has been flushed (tests, graceful transports). */
304
+ whenIdle(): Promise<void>;
305
+ /**
306
+ * Re-attach a persisted subscription without the subscribe handshake — the
307
+ * Cloudflare transport replays hibernation-attachment records through this
308
+ * on wake. No frames are sent; the next relevant invalidation pushes.
309
+ */
310
+ restoreSubscription(path: string, client: WsClient, record: SubscriptionRecord): void;
311
+ private onSubscribe;
312
+ private runSubscribeGuards;
313
+ private scheduleDrain;
314
+ private drainLoop;
315
+ /**
316
+ * Map a resolver failure to its live error-frame code. A branded
317
+ * {@link VelaError} carries an HTTP-ish status that projects onto the live
318
+ * vocabulary (403 → forbidden, 400/422 → bad_args); everything else — and
319
+ * every unbranded error — is `internal` (the client sees a redacted message).
320
+ */
321
+ private static liveFrameCode;
322
+ private push;
323
+ private runQuery;
324
+ /**
325
+ * Mirror the connection's records into `client.data` + `commit()` so
326
+ * hibernating transports can replay them on wake. The volatile diff
327
+ * baseline (`lastJson`/`lastCursor`) is deliberately stripped: it can be
328
+ * large (the whole last result vs the 16 KiB attachment cap) and a lost
329
+ * baseline just means the next relevant change sends a full snapshot.
330
+ */
331
+ private persistSubscriptions;
332
+ private ensureConnection;
333
+ private sendFrame;
334
+ }
335
+ //#endregion
336
+ //#region src/live/live.invalidation.d.ts
337
+ /** Single-scope default driver: deliver straight to this process's engine. */
338
+ declare function localLive(): LiveDriver;
339
+ /**
340
+ * Per-app wrapper around a (possibly SHARED) driver instance.
341
+ *
342
+ * A driver passed to `LiveModule.forRoot({ driver })` is a plain config object
343
+ * — and on Cloudflare the SAME app module (thus the same driver object)
344
+ * bootstraps in the Worker isolate AND inside each Durable Object, often
345
+ * within one isolate. Mutable per-app state must therefore never live on the
346
+ * driver itself: the DO flipping a shared `durableObjectLive()` into local
347
+ * mode would otherwise poison the Worker's engine, which then executes the
348
+ * DO's storage handle in the wrong request context ("Cannot perform I/O on
349
+ * behalf of a different request").
350
+ *
351
+ * The wrapper owns the per-app sink and the per-app local-mode flag; isolate-
352
+ * wide concerns (env capture) forward to the underlying driver. Platform init
353
+ * hooks (`_setLocalMode`, `_initializeEnv`) are exposed pass-through so
354
+ * platform packages can keep type-guarding on their presence.
355
+ */
356
+ declare function perAppLiveDriver(underlying: LiveDriver): LiveDriver;
357
+ /**
358
+ * The injectable invalidation surface for custom (non-CRUD) write paths:
359
+ *
360
+ * ```ts
361
+ * await this.live.invalidate({ tags: ['todos:' + listId] });
362
+ * ```
363
+ *
364
+ * Every affected live query re-runs and pushes. Returns the commit stamp of
365
+ * the targeted log scope so mutation endpoints can expose it to the client
366
+ * (`Vela-Commit-Cursor` / `Vela-Commit-Epoch`) — the cursor optimistic
367
+ * updates gate on. When ambient request access is enabled
368
+ * (`VelaFactory.create(m, { ambientContainer: true })`) the headers are
369
+ * stamped onto the current HTTP response automatically; otherwise stamp them
370
+ * yourself via {@link stampCommitHeaders}.
371
+ */
372
+ declare class LiveInvalidation {
373
+ private readonly driver;
374
+ constructor(driver: LiveDriver);
375
+ invalidate(cmd: InvalidationCommand): Promise<CommitStamp | undefined>;
376
+ }
377
+ /** Write the commit headers onto a Hono context (a mutation route's response). */
378
+ declare function stampCommitHeaders(c: {
379
+ header: (name: string, value: string) => unknown;
380
+ }, stamp: CommitStamp): void;
381
+ //#endregion
382
+ //#region src/live/live.cursor.d.ts
383
+ /**
384
+ * The in-core `CursorLog`: a bounded in-memory ring, epoch minted per process
385
+ * (Web Crypto). A restart rolls the epoch, so every reconnecting client falls
386
+ * back to snapshot — exactly the documented node/dev semantics. Within one
387
+ * process lifetime resume works for gaps the ring still covers; a trimmed gap
388
+ * degrades to snapshot (mirrors lunora's CDC retention rule,
389
+ * `ctx-db-cdc.ts` — retention gap → snapshot).
390
+ *
391
+ * The Cloudflare transport replaces this with a Durable-Object SQLite log so
392
+ * resume survives hibernation and eviction.
393
+ */
394
+ declare class InMemoryCursorLog implements CursorLog {
395
+ private readonly maxEntries;
396
+ private readonly epoch;
397
+ private readonly entries;
398
+ private seq;
399
+ constructor(maxEntries?: number);
400
+ append(tags: string[]): CommitStamp;
401
+ current(): CommitStamp;
402
+ evaluateResume(sinceCursor: number, sinceEpoch: string, subscriptionTags: string[]): ResumeVerdict;
403
+ }
404
+ //#endregion
405
+ //#region src/live/live.delta.d.ts
406
+ /**
407
+ * Decide what one re-run puts on the wire — pure, so the contract is
408
+ * unit-testable without sockets:
409
+ *
410
+ * - byte-identical to the baseline → `settled` (cursor still advances; this
411
+ * is what drops client optimistic layers for writes that didn't change the
412
+ * result);
413
+ * - baseline exists and the shared codec can diff → `delta` (batched keyed
414
+ * row ops);
415
+ * - otherwise (first send after subscribe/resume, codec bailed, unparseable
416
+ * baseline) → full `data` snapshot.
417
+ */
418
+ declare function encodeSubscriptionUpdate(record: SubscriptionRecord, json: string, result: unknown, stamp: CommitStamp, initial: boolean): ServerLiveFrame;
419
+ //#endregion
420
+ //#region src/live/live.tokens.d.ts
421
+ declare const LIVE_RESOLVER_METADATA = "vela:live:resolver";
422
+ declare const LIVE_QUERY_METADATA = "vela:live:query";
423
+ /** The invalidation driver in effect for a `LiveModule` instance (`localLive()` by default). */
424
+ declare const LIVE_DRIVER: InjectionToken<LiveDriver>;
425
+ /** The ordered tag-invalidation log backing cursors/epochs for this log scope. */
426
+ declare const LIVE_CURSOR_LOG: InjectionToken<CursorLog>;
427
+ declare const LIVE_MODULE_OPTIONS: InjectionToken<LiveModuleOptions>;
428
+ //#endregion
429
+ export { LiveResolverMetadata as $, LiveEngine as A, LiveModule as B, encodeSubscriptionUpdate as C, perAppLiveDriver as D, localLive as E, PresenceService as F, LiveEntrypointMeta as G, CursorLog as H, presenceTag as I, LiveModuleOptions as J, LiveIdentity as K, LiveQuery as L, PRESENCE_ROSTER_QUERY as M, PresenceMember as N, stampCommitHeaders as O, PresenceResolver as P, LiveQueryOptions as Q, LiveResolver as R, LIVE_RESOLVER_METADATA as S, LiveInvalidation as T, InvalidationCommand as U, CommitStamp as V, LiveDriver as W, LiveQueryContext as X, LivePresenceOptions as Y, LiveQueryMetadata as Z, readLiveEnvelope as _, LIVE_ERROR_CODES$1 as a, LIVE_MODULE_OPTIONS as b, LiveFrame as c, applyListDelta as d, ResumeVerdict as et, encodeListDelta$1 as f, isServerLiveFrame as g, isClientLiveFrame$1 as h, DEFAULT_KEY_FIELD$1 as i, readPersistedLiveSubscriptions as j, LIVE_SUBS_DATA_KEY as k, RowOp as l, encodeLiveFrame as m, COMMIT_EPOCH_HEADER$1 as n, LIVE_EVENT as o, encodeLiveEnvelope$1 as p, LiveInvalidationSink as q, ClientLiveFrame as r, LIVE_PROTOCOL$1 as s, COMMIT_CURSOR_HEADER$1 as t, SubscriptionRecord as tt, ServerLiveFrame$1 as u, LIVE_CURSOR_LOG as v, InMemoryCursorLog as w, LIVE_QUERY_METADATA as x, LIVE_DRIVER as y, getLiveQueries as z };
430
+ //# sourceMappingURL=index-D72EQfcC.d.ts.map