@rocicorp/zero 0.0.202410041744 → 0.2.2024101100

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 (383) hide show
  1. package/out/btree/src/mod.d.ts +2 -0
  2. package/out/btree/src/mod.d.ts.map +1 -0
  3. package/out/btree/src/mod.js +2 -0
  4. package/out/btree/src/mod.js.map +1 -0
  5. package/out/datadog/src/mod.js +2 -0
  6. package/out/datadog/src/mod.js.map +1 -0
  7. package/out/react.js +9 -3
  8. package/out/react.js.map +3 -3
  9. package/out/replicache/src/btree/node.d.ts.map +1 -1
  10. package/out/replicache/src/config.d.ts.map +1 -1
  11. package/out/replicache/src/connection-loop.d.ts.map +1 -1
  12. package/out/replicache/src/cookies.d.ts.map +1 -1
  13. package/out/replicache/src/dag/gc.d.ts.map +1 -1
  14. package/out/replicache/src/dag/lazy-store.d.ts.map +1 -1
  15. package/out/replicache/src/db/scan.d.ts.map +1 -1
  16. package/out/replicache/src/frozen-json.d.ts.map +1 -1
  17. package/out/replicache/src/get-default-puller.d.ts.map +1 -1
  18. package/out/replicache/src/hash.d.ts.map +1 -1
  19. package/out/replicache/src/http-request-info.d.ts.map +1 -1
  20. package/out/replicache/src/index-defs.d.ts.map +1 -1
  21. package/out/replicache/src/kv/idb-store.d.ts.map +1 -1
  22. package/out/replicache/src/kv/store.d.ts.map +1 -1
  23. package/out/replicache/src/kv/write-impl-base.d.ts.map +1 -1
  24. package/out/replicache/src/mod.d.ts.map +1 -1
  25. package/out/replicache/src/mutation-recovery.d.ts.map +1 -1
  26. package/out/replicache/src/patch-operation.d.ts.map +1 -1
  27. package/out/replicache/src/pending-mutations.d.ts.map +1 -1
  28. package/out/replicache/src/persist/client-groups.d.ts.map +1 -1
  29. package/out/replicache/src/persist/clients.d.ts.map +1 -1
  30. package/out/replicache/src/puller.d.ts.map +1 -1
  31. package/out/replicache/src/replicache-impl.d.ts +0 -1
  32. package/out/replicache/src/replicache-impl.d.ts.map +1 -1
  33. package/out/replicache/src/replicache.d.ts.map +1 -1
  34. package/out/replicache/src/scan-iterator.d.ts.map +1 -1
  35. package/out/replicache/src/subscriptions.d.ts +1 -1
  36. package/out/replicache/src/subscriptions.d.ts.map +1 -1
  37. package/out/replicache/src/sync/ids.d.ts.map +1 -1
  38. package/out/replicache/src/sync/patch.d.ts.map +1 -1
  39. package/out/replicache/src/sync/pull.d.ts.map +1 -1
  40. package/out/replicache/src/sync/push.d.ts.map +1 -1
  41. package/out/replicache/src/sync/request-id.d.ts.map +1 -1
  42. package/out/replicache/src/transactions.d.ts.map +1 -1
  43. package/out/replicache/src/types.d.ts.map +1 -1
  44. package/out/shared/src/browser-env.d.ts +4 -2
  45. package/out/shared/src/browser-env.d.ts.map +1 -1
  46. package/out/shared/src/h64-with-reverse.d.ts +6 -0
  47. package/out/shared/src/h64-with-reverse.d.ts.map +1 -0
  48. package/out/shared/src/h64-with-reverse.js +13 -0
  49. package/out/shared/src/h64-with-reverse.js.map +1 -0
  50. package/out/shared/src/reverse-string.d.ts +2 -0
  51. package/out/shared/src/reverse-string.d.ts.map +1 -0
  52. package/out/shared/src/reverse-string.js +8 -0
  53. package/out/shared/src/reverse-string.js.map +1 -0
  54. package/out/zero/src/cli.js +0 -0
  55. package/out/zero/src/react.d.ts +1 -1
  56. package/out/zero/src/react.d.ts.map +1 -1
  57. package/out/zero/src/server/change-streamer.d.ts.map +1 -1
  58. package/out/zero/src/server/change-streamer.js.map +1 -1
  59. package/out/zero/src/server/main.d.ts.map +1 -1
  60. package/out/zero/src/server/main.js.map +1 -1
  61. package/out/zero/src/server/replicator.d.ts.map +1 -1
  62. package/out/zero/src/server/replicator.js.map +1 -1
  63. package/out/zero/src/server/syncer.d.ts.map +1 -1
  64. package/out/zero/src/server/syncer.js.map +1 -1
  65. package/out/zero/src/zero.d.ts +1 -1
  66. package/out/zero/src/zero.d.ts.map +1 -1
  67. package/out/zero-cache/src/config/zero-config.d.ts +46 -21
  68. package/out/zero-cache/src/config/zero-config.d.ts.map +1 -1
  69. package/out/zero-cache/src/config/zero-config.js +38 -20
  70. package/out/zero-cache/src/config/zero-config.js.map +1 -1
  71. package/out/zero-cache/src/db/lite-tables.d.ts.map +1 -1
  72. package/out/zero-cache/src/db/lite-tables.js.map +1 -1
  73. package/out/zero-cache/src/db/migration-lite.d.ts.map +1 -1
  74. package/out/zero-cache/src/db/migration-lite.js.map +1 -1
  75. package/out/zero-cache/src/db/migration.d.ts.map +1 -1
  76. package/out/zero-cache/src/db/migration.js.map +1 -1
  77. package/out/zero-cache/src/db/statements.d.ts +2 -0
  78. package/out/zero-cache/src/db/statements.d.ts.map +1 -1
  79. package/out/zero-cache/src/db/statements.js +6 -0
  80. package/out/zero-cache/src/db/statements.js.map +1 -1
  81. package/out/zero-cache/src/db/transaction-pool.js.map +1 -1
  82. package/out/zero-cache/src/server/change-streamer.d.ts.map +1 -1
  83. package/out/zero-cache/src/server/change-streamer.js +5 -5
  84. package/out/zero-cache/src/server/change-streamer.js.map +1 -1
  85. package/out/zero-cache/src/server/life-cycle.d.ts +38 -0
  86. package/out/zero-cache/src/server/life-cycle.d.ts.map +1 -0
  87. package/out/zero-cache/src/server/life-cycle.js +125 -0
  88. package/out/zero-cache/src/server/life-cycle.js.map +1 -0
  89. package/out/zero-cache/src/server/logging.d.ts.map +1 -1
  90. package/out/zero-cache/src/server/logging.js +43 -4
  91. package/out/zero-cache/src/server/logging.js.map +1 -1
  92. package/out/zero-cache/src/server/main.js +18 -16
  93. package/out/zero-cache/src/server/main.js.map +1 -1
  94. package/out/zero-cache/src/server/replicator.d.ts.map +1 -1
  95. package/out/zero-cache/src/server/replicator.js +12 -11
  96. package/out/zero-cache/src/server/replicator.js.map +1 -1
  97. package/out/zero-cache/src/server/syncer.d.ts.map +1 -1
  98. package/out/zero-cache/src/server/syncer.js +9 -8
  99. package/out/zero-cache/src/server/syncer.js.map +1 -1
  100. package/out/zero-cache/src/services/change-streamer/change-streamer-http.d.ts +3 -3
  101. package/out/zero-cache/src/services/change-streamer/change-streamer-http.d.ts.map +1 -1
  102. package/out/zero-cache/src/services/change-streamer/change-streamer-http.js +11 -10
  103. package/out/zero-cache/src/services/change-streamer/change-streamer-http.js.map +1 -1
  104. package/out/zero-cache/src/services/change-streamer/change-streamer-service.d.ts +2 -2
  105. package/out/zero-cache/src/services/change-streamer/change-streamer-service.d.ts.map +1 -1
  106. package/out/zero-cache/src/services/change-streamer/change-streamer-service.js +4 -4
  107. package/out/zero-cache/src/services/change-streamer/change-streamer-service.js.map +1 -1
  108. package/out/zero-cache/src/services/change-streamer/change-streamer.d.ts +2 -2
  109. package/out/zero-cache/src/services/change-streamer/change-streamer.d.ts.map +1 -1
  110. package/out/zero-cache/src/services/change-streamer/pg/change-source.d.ts.map +1 -1
  111. package/out/zero-cache/src/services/change-streamer/pg/change-source.js +10 -5
  112. package/out/zero-cache/src/services/change-streamer/pg/change-source.js.map +1 -1
  113. package/out/zero-cache/src/services/change-streamer/pg/initial-sync.d.ts.map +1 -1
  114. package/out/zero-cache/src/services/change-streamer/pg/initial-sync.js +6 -6
  115. package/out/zero-cache/src/services/change-streamer/pg/initial-sync.js.map +1 -1
  116. package/out/zero-cache/src/services/change-streamer/pg/lsn.d.ts +1 -1
  117. package/out/zero-cache/src/services/change-streamer/pg/lsn.d.ts.map +1 -1
  118. package/out/zero-cache/src/services/change-streamer/pg/lsn.js +1 -1
  119. package/out/zero-cache/src/services/change-streamer/pg/lsn.js.map +1 -1
  120. package/out/zero-cache/src/services/change-streamer/pg/schema/create.d.ts +1 -1
  121. package/out/zero-cache/src/services/change-streamer/pg/schema/create.d.ts.map +1 -1
  122. package/out/zero-cache/src/services/change-streamer/pg/schema/create.js +1 -1
  123. package/out/zero-cache/src/services/change-streamer/pg/schema/create.js.map +1 -1
  124. package/out/zero-cache/src/services/change-streamer/pg/schema/ddl.d.ts +1 -1
  125. package/out/zero-cache/src/services/change-streamer/pg/schema/ddl.d.ts.map +1 -1
  126. package/out/zero-cache/src/services/change-streamer/pg/schema/ddl.js.map +1 -1
  127. package/out/zero-cache/src/services/change-streamer/pg/schema/lite.d.ts +3 -2
  128. package/out/zero-cache/src/services/change-streamer/pg/schema/lite.d.ts.map +1 -1
  129. package/out/zero-cache/src/services/change-streamer/pg/schema/lite.js +20 -68
  130. package/out/zero-cache/src/services/change-streamer/pg/schema/lite.js.map +1 -1
  131. package/out/zero-cache/src/services/change-streamer/pg/schema/published.d.ts +1 -1
  132. package/out/zero-cache/src/services/change-streamer/pg/schema/published.d.ts.map +1 -1
  133. package/out/zero-cache/src/services/change-streamer/pg/schema/published.js.map +1 -1
  134. package/out/zero-cache/src/services/change-streamer/pg/schema/zero.d.ts +1 -1
  135. package/out/zero-cache/src/services/change-streamer/pg/schema/zero.d.ts.map +1 -1
  136. package/out/zero-cache/src/services/change-streamer/pg/sync-schema.js +1 -1
  137. package/out/zero-cache/src/services/change-streamer/pg/sync-schema.js.map +1 -1
  138. package/out/zero-cache/src/services/change-streamer/schema/change.d.ts +2 -2
  139. package/out/zero-cache/src/services/change-streamer/schema/change.d.ts.map +1 -1
  140. package/out/zero-cache/src/services/change-streamer/schema/tables.d.ts +1 -1
  141. package/out/zero-cache/src/services/change-streamer/schema/tables.d.ts.map +1 -1
  142. package/out/zero-cache/src/services/change-streamer/schema/tables.js.map +1 -1
  143. package/out/zero-cache/src/services/change-streamer/storer.d.ts +1 -1
  144. package/out/zero-cache/src/services/change-streamer/storer.d.ts.map +1 -1
  145. package/out/zero-cache/src/services/change-streamer/storer.js +1 -1
  146. package/out/zero-cache/src/services/change-streamer/storer.js.map +1 -1
  147. package/out/zero-cache/src/services/change-streamer/subscriber.d.ts +1 -1
  148. package/out/zero-cache/src/services/change-streamer/subscriber.d.ts.map +1 -1
  149. package/out/zero-cache/src/services/change-streamer/subscriber.js +1 -1
  150. package/out/zero-cache/src/services/change-streamer/subscriber.js.map +1 -1
  151. package/out/zero-cache/src/services/dispatcher/connect-params.d.ts +1 -0
  152. package/out/zero-cache/src/services/dispatcher/connect-params.d.ts.map +1 -1
  153. package/out/zero-cache/src/services/dispatcher/connect-params.js +3 -1
  154. package/out/zero-cache/src/services/dispatcher/connect-params.js.map +1 -1
  155. package/out/zero-cache/src/services/dispatcher/dispatcher.d.ts +1 -1
  156. package/out/zero-cache/src/services/dispatcher/dispatcher.d.ts.map +1 -1
  157. package/out/zero-cache/src/services/dispatcher/dispatcher.js +2 -6
  158. package/out/zero-cache/src/services/dispatcher/dispatcher.js.map +1 -1
  159. package/out/zero-cache/src/services/limiter/sliding-window-limiter.d.ts.map +1 -1
  160. package/out/zero-cache/src/services/limiter/sliding-window-limiter.js +15 -8
  161. package/out/zero-cache/src/services/limiter/sliding-window-limiter.js.map +1 -1
  162. package/out/zero-cache/src/services/mutagen/mutagen.d.ts +8 -4
  163. package/out/zero-cache/src/services/mutagen/mutagen.d.ts.map +1 -1
  164. package/out/zero-cache/src/services/mutagen/mutagen.js +25 -16
  165. package/out/zero-cache/src/services/mutagen/mutagen.js.map +1 -1
  166. package/out/zero-cache/src/services/mutagen/write-authorizer.d.ts.map +1 -1
  167. package/out/zero-cache/src/services/mutagen/write-authorizer.js +1 -1
  168. package/out/zero-cache/src/services/mutagen/write-authorizer.js.map +1 -1
  169. package/out/zero-cache/src/services/replicator/incremental-sync.d.ts +8 -7
  170. package/out/zero-cache/src/services/replicator/incremental-sync.d.ts.map +1 -1
  171. package/out/zero-cache/src/services/replicator/incremental-sync.js +88 -57
  172. package/out/zero-cache/src/services/replicator/incremental-sync.js.map +1 -1
  173. package/out/zero-cache/src/services/replicator/replicator.d.ts +4 -13
  174. package/out/zero-cache/src/services/replicator/replicator.d.ts.map +1 -1
  175. package/out/zero-cache/src/services/replicator/replicator.js +2 -2
  176. package/out/zero-cache/src/services/replicator/replicator.js.map +1 -1
  177. package/out/zero-cache/src/services/replicator/schema/change-log.d.ts +7 -7
  178. package/out/zero-cache/src/services/replicator/schema/change-log.d.ts.map +1 -1
  179. package/out/zero-cache/src/services/replicator/schema/change-log.js +3 -3
  180. package/out/zero-cache/src/services/replicator/schema/change-log.js.map +1 -1
  181. package/out/zero-cache/src/services/replicator/schema/replication-state.d.ts +1 -1
  182. package/out/zero-cache/src/services/replicator/schema/replication-state.d.ts.map +1 -1
  183. package/out/zero-cache/src/services/replicator/schema/replication-state.js +1 -1
  184. package/out/zero-cache/src/services/replicator/schema/replication-state.js.map +1 -1
  185. package/out/zero-cache/src/services/runner.d.ts +2 -5
  186. package/out/zero-cache/src/services/runner.d.ts.map +1 -1
  187. package/out/zero-cache/src/services/runner.js +4 -22
  188. package/out/zero-cache/src/services/runner.js.map +1 -1
  189. package/out/zero-cache/src/services/running-state.d.ts.map +1 -1
  190. package/out/zero-cache/src/services/running-state.js +3 -3
  191. package/out/zero-cache/src/services/running-state.js.map +1 -1
  192. package/out/zero-cache/src/services/service.d.ts +8 -0
  193. package/out/zero-cache/src/services/service.d.ts.map +1 -1
  194. package/out/zero-cache/src/services/view-syncer/client-handler.d.ts +3 -2
  195. package/out/zero-cache/src/services/view-syncer/client-handler.d.ts.map +1 -1
  196. package/out/zero-cache/src/services/view-syncer/client-handler.js +14 -3
  197. package/out/zero-cache/src/services/view-syncer/client-handler.js.map +1 -1
  198. package/out/zero-cache/src/services/view-syncer/cvr-store.d.ts.map +1 -1
  199. package/out/zero-cache/src/services/view-syncer/cvr-store.js +1 -1
  200. package/out/zero-cache/src/services/view-syncer/cvr-store.js.map +1 -1
  201. package/out/zero-cache/src/services/view-syncer/cvr.d.ts +1 -1
  202. package/out/zero-cache/src/services/view-syncer/cvr.d.ts.map +1 -1
  203. package/out/zero-cache/src/services/view-syncer/cvr.js +1 -1
  204. package/out/zero-cache/src/services/view-syncer/cvr.js.map +1 -1
  205. package/out/zero-cache/src/services/view-syncer/database-storage.d.ts.map +1 -1
  206. package/out/zero-cache/src/services/view-syncer/database-storage.js.map +1 -1
  207. package/out/zero-cache/src/services/view-syncer/pipeline-driver.d.ts +12 -9
  208. package/out/zero-cache/src/services/view-syncer/pipeline-driver.d.ts.map +1 -1
  209. package/out/zero-cache/src/services/view-syncer/pipeline-driver.js +33 -23
  210. package/out/zero-cache/src/services/view-syncer/pipeline-driver.js.map +1 -1
  211. package/out/zero-cache/src/services/view-syncer/schema/cvr.js +1 -1
  212. package/out/zero-cache/src/services/view-syncer/schema/cvr.js.map +1 -1
  213. package/out/zero-cache/src/services/view-syncer/schema/types.d.ts.map +1 -1
  214. package/out/zero-cache/src/services/view-syncer/schema/types.js.map +1 -1
  215. package/out/zero-cache/src/services/view-syncer/snapshotter.d.ts +30 -14
  216. package/out/zero-cache/src/services/view-syncer/snapshotter.d.ts.map +1 -1
  217. package/out/zero-cache/src/services/view-syncer/snapshotter.js +38 -37
  218. package/out/zero-cache/src/services/view-syncer/snapshotter.js.map +1 -1
  219. package/out/zero-cache/src/services/view-syncer/view-syncer.d.ts +3 -0
  220. package/out/zero-cache/src/services/view-syncer/view-syncer.d.ts.map +1 -1
  221. package/out/zero-cache/src/services/view-syncer/view-syncer.js +28 -44
  222. package/out/zero-cache/src/services/view-syncer/view-syncer.js.map +1 -1
  223. package/out/zero-cache/src/types/bigint-json.d.ts.map +1 -1
  224. package/out/zero-cache/src/types/bigint-json.js.map +1 -1
  225. package/out/zero-cache/src/types/error-for-client.d.ts.map +1 -1
  226. package/out/zero-cache/src/types/lexi-version.js.map +1 -1
  227. package/out/zero-cache/src/types/lite.d.ts +30 -8
  228. package/out/zero-cache/src/types/lite.d.ts.map +1 -1
  229. package/out/zero-cache/src/types/lite.js +114 -15
  230. package/out/zero-cache/src/types/lite.js.map +1 -1
  231. package/out/zero-cache/src/types/pg.d.ts +21 -0
  232. package/out/zero-cache/src/types/pg.d.ts.map +1 -1
  233. package/out/zero-cache/src/types/pg.js +49 -6
  234. package/out/zero-cache/src/types/pg.js.map +1 -1
  235. package/out/zero-cache/src/types/processes.d.ts +1 -1
  236. package/out/zero-cache/src/types/processes.d.ts.map +1 -1
  237. package/out/zero-cache/src/types/processes.js +8 -14
  238. package/out/zero-cache/src/types/processes.js.map +1 -1
  239. package/out/zero-cache/src/types/row-key.d.ts +4 -1
  240. package/out/zero-cache/src/types/row-key.d.ts.map +1 -1
  241. package/out/zero-cache/src/types/row-key.js +5 -14
  242. package/out/zero-cache/src/types/row-key.js.map +1 -1
  243. package/out/zero-cache/src/types/schema-versions.d.ts +8 -0
  244. package/out/zero-cache/src/types/schema-versions.d.ts.map +1 -0
  245. package/out/zero-cache/src/types/schema-versions.js +21 -0
  246. package/out/zero-cache/src/types/schema-versions.js.map +1 -0
  247. package/out/zero-cache/src/types/streams.d.ts +2 -2
  248. package/out/zero-cache/src/types/streams.d.ts.map +1 -1
  249. package/out/zero-cache/src/types/streams.js +36 -26
  250. package/out/zero-cache/src/types/streams.js.map +1 -1
  251. package/out/zero-cache/src/types/timeout.js.map +1 -1
  252. package/out/zero-cache/src/workers/connection.d.ts.map +1 -1
  253. package/out/zero-cache/src/workers/connection.js +6 -6
  254. package/out/zero-cache/src/workers/connection.js.map +1 -1
  255. package/out/zero-cache/src/workers/replicator.d.ts +4 -4
  256. package/out/zero-cache/src/workers/replicator.d.ts.map +1 -1
  257. package/out/zero-cache/src/workers/replicator.js +3 -31
  258. package/out/zero-cache/src/workers/replicator.js.map +1 -1
  259. package/out/zero-cache/src/workers/syncer.d.ts +12 -4
  260. package/out/zero-cache/src/workers/syncer.d.ts.map +1 -1
  261. package/out/zero-cache/src/workers/syncer.js +34 -2
  262. package/out/zero-cache/src/workers/syncer.js.map +1 -1
  263. package/out/zero-client/src/client/context.d.ts +4 -4
  264. package/out/zero-client/src/client/context.d.ts.map +1 -1
  265. package/out/zero-client/src/client/crud.d.ts +20 -18
  266. package/out/zero-client/src/client/crud.d.ts.map +1 -1
  267. package/out/zero-client/src/client/keys.d.ts +2 -2
  268. package/out/zero-client/src/client/keys.d.ts.map +1 -1
  269. package/out/zero-client/src/client/log-options.d.ts +1 -1
  270. package/out/zero-client/src/client/log-options.d.ts.map +1 -1
  271. package/out/zero-client/src/client/make-id-from-primary-key.d.ts +5 -0
  272. package/out/zero-client/src/client/make-id-from-primary-key.d.ts.map +1 -0
  273. package/out/zero-client/src/client/metrics.d.ts.map +1 -1
  274. package/out/zero-client/src/client/options.d.ts +1 -1
  275. package/out/zero-client/src/client/options.d.ts.map +1 -1
  276. package/out/zero-client/src/client/query-manager.d.ts +5 -3
  277. package/out/zero-client/src/client/query-manager.d.ts.map +1 -1
  278. package/out/zero-client/src/client/replicache-types.d.ts +1 -1
  279. package/out/zero-client/src/client/replicache-types.d.ts.map +1 -1
  280. package/out/zero-client/src/client/server-error.d.ts.map +1 -1
  281. package/out/zero-client/src/client/server-option.d.ts.map +1 -1
  282. package/out/zero-client/src/client/zero-poke-handler.d.ts +5 -4
  283. package/out/zero-client/src/client/zero-poke-handler.d.ts.map +1 -1
  284. package/out/zero-client/src/client/zero.d.ts +3 -3
  285. package/out/zero-client/src/client/zero.d.ts.map +1 -1
  286. package/out/zero-client/src/mod.d.ts +2 -2
  287. package/out/zero-client/src/mod.d.ts.map +1 -1
  288. package/out/zero-client/src/util/socket.d.ts.map +1 -1
  289. package/out/zero-protocol/src/ast.d.ts.map +1 -1
  290. package/out/zero-protocol/src/ast.js +5 -8
  291. package/out/zero-protocol/src/ast.js.map +1 -1
  292. package/out/zero-protocol/src/change-desired-queries.d.ts.map +1 -1
  293. package/out/zero-protocol/src/change-desired-queries.js.map +1 -1
  294. package/out/zero-protocol/src/clients-patch.d.ts.map +1 -1
  295. package/out/zero-protocol/src/clients-patch.js.map +1 -1
  296. package/out/zero-protocol/src/connect.d.ts.map +1 -1
  297. package/out/zero-protocol/src/connect.js.map +1 -1
  298. package/out/zero-protocol/src/delete-clients.d.ts.map +1 -1
  299. package/out/zero-protocol/src/delete-clients.js.map +1 -1
  300. package/out/zero-protocol/src/down.d.ts +9 -5
  301. package/out/zero-protocol/src/down.d.ts.map +1 -1
  302. package/out/zero-protocol/src/down.js.map +1 -1
  303. package/out/zero-protocol/src/entities-patch.d.ts +15 -15
  304. package/out/zero-protocol/src/entities-patch.d.ts.map +1 -1
  305. package/out/zero-protocol/src/entities-patch.js +5 -4
  306. package/out/zero-protocol/src/entities-patch.js.map +1 -1
  307. package/out/zero-protocol/src/error.d.ts +2 -1
  308. package/out/zero-protocol/src/error.d.ts.map +1 -1
  309. package/out/zero-protocol/src/error.js +2 -1
  310. package/out/zero-protocol/src/error.js.map +1 -1
  311. package/out/zero-protocol/src/ping.d.ts.map +1 -1
  312. package/out/zero-protocol/src/ping.js.map +1 -1
  313. package/out/zero-protocol/src/poke.d.ts +18 -10
  314. package/out/zero-protocol/src/poke.d.ts.map +1 -1
  315. package/out/zero-protocol/src/poke.js +4 -0
  316. package/out/zero-protocol/src/poke.js.map +1 -1
  317. package/out/zero-protocol/src/pong.d.ts.map +1 -1
  318. package/out/zero-protocol/src/pong.js.map +1 -1
  319. package/out/zero-protocol/src/primary-key.d.ts +9 -0
  320. package/out/zero-protocol/src/primary-key.d.ts.map +1 -0
  321. package/out/zero-protocol/src/primary-key.js +7 -0
  322. package/out/zero-protocol/src/primary-key.js.map +1 -0
  323. package/out/zero-protocol/src/pull.d.ts.map +1 -1
  324. package/out/zero-protocol/src/pull.js.map +1 -1
  325. package/out/zero-protocol/src/push.d.ts +53 -53
  326. package/out/zero-protocol/src/push.d.ts.map +1 -1
  327. package/out/zero-protocol/src/push.js +5 -5
  328. package/out/zero-protocol/src/push.js.map +1 -1
  329. package/out/zero-protocol/src/queries-patch.d.ts.map +1 -1
  330. package/out/zero-protocol/src/queries-patch.js.map +1 -1
  331. package/out/zero-protocol/src/up.d.ts +8 -8
  332. package/out/zero-protocol/src/up.d.ts.map +1 -1
  333. package/out/zero-protocol/src/up.js.map +1 -1
  334. package/out/zero-protocol/src/version.d.ts.map +1 -1
  335. package/out/zero-protocol/src/version.js.map +1 -1
  336. package/out/zero-react/src/use-query.d.ts +1 -1
  337. package/out/zero-react/src/use-query.d.ts.map +1 -1
  338. package/out/zero-react/src/use-zero.d.ts +1 -1
  339. package/out/zero-react/src/use-zero.d.ts.map +1 -1
  340. package/out/zero.js +294 -124
  341. package/out/zero.js.map +4 -4
  342. package/out/zql/src/zql/ast/ast.js.map +1 -1
  343. package/out/zql/src/zql/builder/builder.d.ts.map +1 -1
  344. package/out/zql/src/zql/builder/builder.js.map +1 -1
  345. package/out/zql/src/zql/builder/filter.js.map +1 -1
  346. package/out/zql/src/zql/builder/like.js.map +1 -1
  347. package/out/zql/src/zql/ivm/array-view.d.ts.map +1 -1
  348. package/out/zql/src/zql/ivm/data.d.ts.map +1 -1
  349. package/out/zql/src/zql/ivm/data.js +1 -1
  350. package/out/zql/src/zql/ivm/data.js.map +1 -1
  351. package/out/zql/src/zql/ivm/filter.js.map +1 -1
  352. package/out/zql/src/zql/ivm/join.js.map +1 -1
  353. package/out/zql/src/zql/ivm/memory-source.d.ts.map +1 -1
  354. package/out/zql/src/zql/ivm/memory-source.js +1 -1
  355. package/out/zql/src/zql/ivm/memory-source.js.map +1 -1
  356. package/out/zql/src/zql/ivm/memory-storage.d.ts.map +1 -1
  357. package/out/zql/src/zql/ivm/operator.d.ts.map +1 -1
  358. package/out/zql/src/zql/ivm/schema.d.ts +1 -1
  359. package/out/zql/src/zql/ivm/schema.d.ts.map +1 -1
  360. package/out/zql/src/zql/ivm/schema.js.map +1 -1
  361. package/out/zql/src/zql/ivm/skip.js.map +1 -1
  362. package/out/zql/src/zql/ivm/take.js.map +1 -1
  363. package/out/zql/src/zql/query/query-impl.d.ts +4 -1
  364. package/out/zql/src/zql/query/query-impl.d.ts.map +1 -1
  365. package/out/zql/src/zql/query/query.d.ts +2 -1
  366. package/out/zql/src/zql/query/query.d.ts.map +1 -1
  367. package/out/zql/src/zql/query/typed-view.d.ts.map +1 -1
  368. package/out/zqlite/src/db.js +1 -1
  369. package/out/zqlite/src/db.js.map +1 -1
  370. package/out/zqlite/src/internal/statement-cache.js.map +1 -1
  371. package/out/zqlite/src/table-source.d.ts +1 -1
  372. package/out/zqlite/src/table-source.d.ts.map +1 -1
  373. package/out/zqlite/src/table-source.js +36 -33
  374. package/out/zqlite/src/table-source.js.map +1 -1
  375. package/package.json +10 -6
  376. package/out/zero-cache/src/services/replicator/checkpointer.d.ts +0 -79
  377. package/out/zero-cache/src/services/replicator/checkpointer.d.ts.map +0 -1
  378. package/out/zero-cache/src/services/replicator/checkpointer.js +0 -124
  379. package/out/zero-cache/src/services/replicator/checkpointer.js.map +0 -1
  380. package/out/zero-protocol/src/entity.d.ts +0 -9
  381. package/out/zero-protocol/src/entity.d.ts.map +0 -1
  382. package/out/zero-protocol/src/entity.js +0 -8
  383. package/out/zero-protocol/src/entity.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"lite.js","sourceRoot":"","sources":["../../../../../../../../zero-cache/src/services/change-streamer/pg/schema/lite.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lite.js","sourceRoot":"","sources":["../../../../../../../../zero-cache/src/services/change-streamer/pg/schema/lite.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,sBAAsB,EAAC,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAC,aAAa,EAAC,MAAM,4BAA4B,CAAC;AAEzD,OAAO,EAAC,wBAAwB,EAAC,MAAM,iDAAiD,CAAC;AAEzF,MAAM,CAAC,MAAM,wBAAwB,GAAe;IAClD,GAAG,EAAE,MAAM,CAAC,gBAAgB,EAAE,YAAY;IAC1C,sBAAsB,EAAE,IAAI;IAC5B,QAAQ,EAAE,MAAM;IAChB,OAAO,EAAE,IAAI;IACb,IAAI,EAAE,IAAI;CACX,CAAC;AAEF,MAAM,UAAU,uBAAuB,CACrC,EAAc,EACd,UAAkB,EAClB,KAAa,EACb,MAAc;IAEd,IAAI,sBAAsB,CAAC,UAAU,CAAC,KAAK,SAAS,EAAE,CAAC;QACrD,EAAE,CAAC,IAAI,EAAE,CACP,+CAA+C,UAAU,gBAAgB;YACvE,QAAQ,KAAK,MAAM,MAAM,6CAA6C,CACzE,CAAC;IACJ,CAAC;AACH,CAAC;AAED,oCAAoC;AACpC,MAAM,6BAA6B,GAAG,WAAW,CAAC;AAElD,4EAA4E;AAC5E,6EAA6E;AAC7E,+DAA+D;AAC/D,EAAE;AACF,yEAAyE;AACzE,mBAAmB;AACnB,MAAM,uBAAuB,GAAG,iBAAiB,CAAC;AAElD,SAAS,wBAAwB,CAC/B,KAAa,EACb,MAAc,EACd,QAAgB,EAChB,iBAAgC;IAEhC,IAAI,iBAAiB,KAAK,IAAI,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,6BAA6B,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC;QAC1D,IAAI,sBAAsB,CAAC,QAAQ,CAAC,KAAK,SAAS,EAAE,CAAC;YACnD,OAAO,iBAAiB,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QAClD,CAAC;QACD,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IACD,MAAM,KAAK,GAAG,uBAAuB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC9D,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CACb,iCAAiC,KAAK,IAAI,MAAM,KAAK,iBAAiB,EAAE,CACzE,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,CAAY;IAC5C,MAAM,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;IAC9B,OAAO;QACL,GAAG,CAAC;QACJ,MAAM,EAAE,EAAE,EAAE,kCAAkC;QAC9C,IAAI;QACJ,OAAO,EAAE;YACP,GAAG,MAAM,CAAC,WAAW,CACnB,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAC3B,CAAC,CAAC,GAAG,EAAE,EAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC,EAAE,EAAE,CAAC;gBACzC,GAAG;gBACH;oBACE,GAAG;oBACH,QAAQ;oBACR,sBAAsB,EAAE,IAAI;oBAC5B,OAAO;oBACP,IAAI,EAAE,wBAAwB,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC;iBACrC;aACvB,CACF,CACF;YACD,CAAC,wBAAwB,CAAC,EAAE,wBAAwB;SACrD;KACF,CAAC;AACJ,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import type postgres from 'postgres';
2
2
  import * as v from '../../../../../../shared/src/valita.js';
3
- import type { FilteredTableSpec, IndexSpec } from '../../../../../../zero-cache/src/types/specs.js';
3
+ import type { FilteredTableSpec, IndexSpec } from '../../../../types/specs.js';
4
4
  export declare function publishedTableQuery(publications: string[] | undefined, join?: string): string;
5
5
  export declare function indexDefinitionsQuery(publications: string[] | undefined, join?: string): string;
6
6
  declare const publicationSchema: v.ObjectType<{
@@ -1 +1 @@
1
- {"version":3,"file":"published.d.ts","sourceRoot":"","sources":["../../../../../../../../zero-cache/src/services/change-streamer/pg/schema/published.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAC;AAErC,OAAO,KAAK,CAAC,MAAM,sBAAsB,CAAC;AAC1C,OAAO,KAAK,EAAC,iBAAiB,EAAE,SAAS,EAAC,MAAM,+BAA+B,CAAC;AAchF,wBAAgB,mBAAmB,CACjC,YAAY,EAAE,MAAM,EAAE,GAAG,SAAS,EAClC,IAAI,SAAK,UAkEV;AAMD,wBAAgB,qBAAqB,CACnC,YAAY,EAAE,MAAM,EAAE,GAAG,SAAS,EAClC,IAAI,SAAK,UAsDV;AAED,QAAA,MAAM,iBAAiB;;;;;;aAMrB,CAAC;AAIH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,YAAY,EAAE,WAAW,EAAE,CAAC;IACrC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,EAAE,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC;CAC/B,CAAC;AAEF;;;;GAIG;AACH,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,QAAQ,CAAC,GAAG,EACjB,YAAY,CAAC,EAAE,MAAM,EAAE,GACtB,OAAO,CAAC,eAAe,CAAC,CAiD1B"}
1
+ {"version":3,"file":"published.d.ts","sourceRoot":"","sources":["../../../../../../../../zero-cache/src/services/change-streamer/pg/schema/published.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAC;AAErC,OAAO,KAAK,CAAC,MAAM,wCAAwC,CAAC;AAC5D,OAAO,KAAK,EAAC,iBAAiB,EAAE,SAAS,EAAC,MAAM,4BAA4B,CAAC;AAc7E,wBAAgB,mBAAmB,CACjC,YAAY,EAAE,MAAM,EAAE,GAAG,SAAS,EAClC,IAAI,SAAK,UAkEV;AAMD,wBAAgB,qBAAqB,CACnC,YAAY,EAAE,MAAM,EAAE,GAAG,SAAS,EAClC,IAAI,SAAK,UAsDV;AAED,QAAA,MAAM,iBAAiB;;;;;;aAMrB,CAAC;AAIH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,YAAY,EAAE,WAAW,EAAE,CAAC;IACrC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,EAAE,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC;CAC/B,CAAC;AAEF;;;;GAIG;AACH,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,QAAQ,CAAC,GAAG,EACjB,YAAY,CAAC,EAAE,MAAM,EAAE,GACtB,OAAO,CAAC,eAAe,CAAC,CAiD1B"}
@@ -1 +1 @@
1
- {"version":3,"file":"published.js","sourceRoot":"","sources":["../../../../../../../../zero-cache/src/services/change-streamer/pg/schema/published.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"published.js","sourceRoot":"","sources":["../../../../../../../../zero-cache/src/services/change-streamer/pg/schema/published.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { PostgresTransaction } from '../../../../../../zero-cache/src/types/pg.js';
1
+ import type { PostgresTransaction } from '../../../../types/pg.js';
2
2
  import type { ShardConfig } from '../shard-config.js';
3
3
  import { type PublicationInfo } from './published.js';
4
4
  export declare const APP_PUBLICATION_PREFIX = "zero_";
@@ -1 +1 @@
1
- {"version":3,"file":"zero.d.ts","sourceRoot":"","sources":["../../../../../../../../zero-cache/src/services/change-streamer/pg/schema/zero.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,4BAA4B,CAAC;AACpE,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,oBAAoB,CAAC;AAEpD,OAAO,EAAqB,KAAK,eAAe,EAAC,MAAM,gBAAgB,CAAC;AAExE,eAAO,MAAM,sBAAsB,UAAU,CAAC;AAC9C,eAAO,MAAM,2BAA2B,WAAW,CAAC;AAkCpD;;;GAGG;AACH,wBAAsB,yBAAyB,CAC7C,EAAE,EAAE,mBAAmB,EACvB,EAAC,EAAE,EAAE,YAAY,EAAC,EAAE,WAAW,GAC9B,OAAO,CAAC,eAAe,CAAC,CA4D1B"}
1
+ {"version":3,"file":"zero.d.ts","sourceRoot":"","sources":["../../../../../../../../zero-cache/src/services/change-streamer/pg/schema/zero.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,oBAAoB,CAAC;AAEpD,OAAO,EAAqB,KAAK,eAAe,EAAC,MAAM,gBAAgB,CAAC;AAExE,eAAO,MAAM,sBAAsB,UAAU,CAAC;AAC9C,eAAO,MAAM,2BAA2B,WAAW,CAAC;AAkCpD;;;GAGG;AACH,wBAAsB,yBAAyB,CAC7C,EAAE,EAAE,mBAAmB,EACvB,EAAC,EAAE,EAAE,YAAY,EAAC,EAAE,WAAW,GAC9B,OAAO,CAAC,eAAe,CAAC,CA4D1B"}
@@ -1,4 +1,4 @@
1
- import { runSchemaMigrations, } from '../../../../../zero-cache/src/db/migration-lite.js';
1
+ import { runSchemaMigrations, } from '../../../db/migration-lite.js';
2
2
  import { initialSync } from './initial-sync.js';
3
3
  export async function initSyncSchema(log, debugName, shard, dbPath, upstreamURI) {
4
4
  const schemaVersionMigrationMap = {
@@ -1 +1 @@
1
- {"version":3,"file":"sync-schema.js","sourceRoot":"","sources":["../../../../../../../zero-cache/src/services/change-streamer/pg/sync-schema.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,mBAAmB,GAEpB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAC;AAG9C,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,GAAe,EACf,SAAiB,EACjB,KAAkB,EAClB,MAAc,EACd,WAAmB;IAEnB,MAAM,yBAAyB,GAAwB;QACrD,CAAC,EAAE,EAAC,sBAAsB,EAAE,CAAC,EAAC,EAAE,mDAAmD;QACnF,CAAC,EAAE;YACD,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,WAAW,CAAC;SAC3D;KACF,CAAC;IAEF,MAAM,mBAAmB,CAAC,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,yBAAyB,CAAC,CAAC;AAC/E,CAAC"}
1
+ {"version":3,"file":"sync-schema.js","sourceRoot":"","sources":["../../../../../../../zero-cache/src/services/change-streamer/pg/sync-schema.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,mBAAmB,GAEpB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAC;AAG9C,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,GAAe,EACf,SAAiB,EACjB,KAAkB,EAClB,MAAc,EACd,WAAmB;IAEnB,MAAM,yBAAyB,GAAwB;QACrD,CAAC,EAAE,EAAC,sBAAsB,EAAE,CAAC,EAAC,EAAE,mDAAmD;QACnF,CAAC,EAAE;YACD,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,WAAW,CAAC;SAC3D;KACF,CAAC;IAEF,MAAM,mBAAmB,CAAC,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,yBAAyB,CAAC,CAAC;AAC/E,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { Pgoutput } from 'pg-logical-replication';
2
- import type { JSONObject } from '../../../../../zero-cache/src/types/bigint-json.js';
3
- import type { Satisfies } from '../../../../../zero-cache/src/types/satisfies.js';
2
+ import type { JSONObject } from '../../../types/bigint-json.js';
3
+ import type { Satisfies } from '../../../types/satisfies.js';
4
4
  export type MessageBegin = {
5
5
  tag: 'begin';
6
6
  };
@@ -1 +1 @@
1
- {"version":3,"file":"change.d.ts","sourceRoot":"","sources":["../../../../../../../zero-cache/src/services/change-streamer/schema/change.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,wBAAwB,CAAC;AAChD,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,qCAAqC,CAAC;AACpE,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,mCAAmC,CAAC;AAEjE,MAAM,MAAM,YAAY,GAAG;IACzB,GAAG,EAAE,OAAO,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,GAAG,EAAE,QAAQ,CAAC;CACf,CAAC;AAIF,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;AAErE,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,SAAS,CAAC,GAAG;IACxE,OAAO,EAAE,cAAc,EAAE,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,UAAU,CAAC,GAAG;IACrE,QAAQ,EAAE,eAAe,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,UAAU,CAAC,GAAG;IACrE,QAAQ,EAAE,eAAe,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,UAAU,CAAC,GAAG;IACrE,QAAQ,EAAE,eAAe,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,WAAW,CAAC,GAAG;IAC1E,SAAS,EAAE,eAAe,EAAE,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,SAAS,CAChC,UAAU,EAAE,+CAA+C;AAC3D,AADY,+CAA+C;AAC3D,aAAa,GAAG,aAAa,GAAG,aAAa,GAAG,eAAe,CAChE,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG,YAAY,GAAG,UAAU,GAAG,aAAa,CAAC;AAE/D,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"change.d.ts","sourceRoot":"","sources":["../../../../../../../zero-cache/src/services/change-streamer/schema/change.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,wBAAwB,CAAC;AAChD,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,+BAA+B,CAAC;AAC9D,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,6BAA6B,CAAC;AAE3D,MAAM,MAAM,YAAY,GAAG;IACzB,GAAG,EAAE,OAAO,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,GAAG,EAAE,QAAQ,CAAC;CACf,CAAC;AAIF,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;AAErE,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,SAAS,CAAC,GAAG;IACxE,OAAO,EAAE,cAAc,EAAE,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,UAAU,CAAC,GAAG;IACrE,QAAQ,EAAE,eAAe,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,UAAU,CAAC,GAAG;IACrE,QAAQ,EAAE,eAAe,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,UAAU,CAAC,GAAG;IACrE,QAAQ,EAAE,eAAe,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,WAAW,CAAC,GAAG;IAC1E,SAAS,EAAE,eAAe,EAAE,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,SAAS,CAChC,UAAU,EAAE,+CAA+C;AAC3D,AADY,+CAA+C;AAC3D,aAAa,GAAG,aAAa,GAAG,aAAa,GAAG,eAAe,CAChE,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG,YAAY,GAAG,UAAU,GAAG,aAAa,CAAC;AAE/D,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { LogContext } from '@rocicorp/logger';
2
2
  import postgres from 'postgres';
3
- import type { PostgresDB } from '../../../../../zero-cache/src/types/pg.js';
3
+ import type { PostgresDB } from '../../../types/pg.js';
4
4
  import type { Change } from './change.js';
5
5
  export declare const PG_SCHEMA = "cdc";
6
6
  export type ChangeLogEntry = {
@@ -1 +1 @@
1
- {"version":3,"file":"tables.d.ts","sourceRoot":"","sources":["../../../../../../../zero-cache/src/services/change-streamer/schema/tables.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAC5C,OAAO,QAAQ,MAAM,UAAU,CAAC;AAEhC,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,4BAA4B,CAAC;AAC3D,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AAExC,eAAO,MAAM,SAAS,QAAQ,CAAC;AAI/B,MAAM,MAAM,cAAc,GAAG;IAG3B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAYF;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB,CAAC;AAaF,wBAAsB,cAAc,CAClC,EAAE,EAAE,UAAU,EACd,EAAE,EAAE,QAAQ,CAAC,cAAc,iBAI5B;AAED,wBAAsB,uBAAuB,CAC3C,EAAE,EAAE,UAAU,EACd,EAAE,EAAE,UAAU,EACd,MAAM,EAAE,iBAAiB,iBAkC1B"}
1
+ {"version":3,"file":"tables.d.ts","sourceRoot":"","sources":["../../../../../../../zero-cache/src/services/change-streamer/schema/tables.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAC5C,OAAO,QAAQ,MAAM,UAAU,CAAC;AAEhC,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AAExC,eAAO,MAAM,SAAS,QAAQ,CAAC;AAI/B,MAAM,MAAM,cAAc,GAAG;IAG3B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAYF;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB,CAAC;AAaF,wBAAsB,cAAc,CAClC,EAAE,EAAE,UAAU,EACd,EAAE,EAAE,QAAQ,CAAC,cAAc,iBAI5B;AAED,wBAAsB,uBAAuB,CAC3C,EAAE,EAAE,UAAU,EACd,EAAE,EAAE,UAAU,EACd,MAAM,EAAE,iBAAiB,iBAkC1B"}
@@ -1 +1 @@
1
- {"version":3,"file":"tables.js","sourceRoot":"","sources":["../../../../../../../zero-cache/src/services/change-streamer/schema/tables.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAC5C,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAC,MAAM,EAAC,MAAM,yBAAyB,CAAC;AAI/C,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,CAAC;AAE/B,MAAM,iBAAiB,GAAG,kCAAkC,CAAC;AAS7D,MAAM,uBAAuB,GAAG;;;;;;;;CAQ/B,CAAC;AAaF,MAAM,+BAA+B,GAAG;;;;;;CAMvC,CAAC;AAEF,MAAM,iBAAiB,GACrB,iBAAiB,GAAG,uBAAuB,GAAG,+BAA+B,CAAC;AAEhF,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,EAAc,EACd,EAA2B;IAE3B,EAAE,CAAC,IAAI,EAAE,CAAC,uBAAuB,CAAC,CAAC;IACnC,MAAM,EAAE,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,EAAc,EACd,EAAc,EACd,MAAyB;IAEzB,gDAAgD;IAChD,MAAM,EAAC,YAAY,EAAE,cAAc,EAAC,GAAG,MAAM,CAAC;IAC9C,MAAM,aAAa,GAAG,EAAC,YAAY,EAAE,cAAc,EAAC,CAAC;IAErD,MAAM,EAAE,CAAC,KAAK,CAAC,KAAK,EAAC,EAAE,EAAC,EAAE;QACxB,MAAM,OAAO,GAAG,MAAM,EAAE,CAKvB,sEAAsE,CAAC;QAExE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,EAAE,CAAA,uCAAuC,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC;QACtE,CAAC;QAED,MAAM,EAAC,cAAc,EAAE,YAAY,EAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAClD,IACE,cAAc,KAAK,aAAa,CAAC,cAAc;YAC/C,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,YAAY,CAAC,EAAE,IAAI,GAAG,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,EACnE,CAAC;YACD,EAAE,CAAC,IAAI,EAAE,CACP,uBAAuB,cAAc,mBAAmB;gBACtD,iBAAiB,aAAa,CAAC,cAAc,oBAAoB,CACpE,CAAC;YACF,OAAO;gBACL,EAAE,CAAA,gCAAgC;gBAClC,EAAE,CAAA,sCAAsC,EAAE,CAAC,aAAa,CAAC,EAAE;aAC5D,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAChC,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"tables.js","sourceRoot":"","sources":["../../../../../../../zero-cache/src/services/change-streamer/schema/tables.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAC5C,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAC,MAAM,EAAC,MAAM,wCAAwC,CAAC;AAI9D,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,CAAC;AAE/B,MAAM,iBAAiB,GAAG,kCAAkC,CAAC;AAS7D,MAAM,uBAAuB,GAAG;;;;;;;;CAQ/B,CAAC;AAaF,MAAM,+BAA+B,GAAG;;;;;;CAMvC,CAAC;AAEF,MAAM,iBAAiB,GACrB,iBAAiB,GAAG,uBAAuB,GAAG,+BAA+B,CAAC;AAEhF,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,EAAc,EACd,EAA2B;IAE3B,EAAE,CAAC,IAAI,EAAE,CAAC,uBAAuB,CAAC,CAAC;IACnC,MAAM,EAAE,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,EAAc,EACd,EAAc,EACd,MAAyB;IAEzB,gDAAgD;IAChD,MAAM,EAAC,YAAY,EAAE,cAAc,EAAC,GAAG,MAAM,CAAC;IAC9C,MAAM,aAAa,GAAG,EAAC,YAAY,EAAE,cAAc,EAAC,CAAC;IAErD,MAAM,EAAE,CAAC,KAAK,CAAC,KAAK,EAAC,EAAE,EAAC,EAAE;QACxB,MAAM,OAAO,GAAG,MAAM,EAAE,CAKvB,sEAAsE,CAAC;QAExE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,EAAE,CAAA,uCAAuC,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC;QACtE,CAAC;QAED,MAAM,EAAC,cAAc,EAAE,YAAY,EAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAClD,IACE,cAAc,KAAK,aAAa,CAAC,cAAc;YAC/C,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,YAAY,CAAC,EAAE,IAAI,GAAG,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,EACnE,CAAC;YACD,EAAE,CAAC,IAAI,EAAE,CACP,uBAAuB,cAAc,mBAAmB;gBACtD,iBAAiB,aAAa,CAAC,cAAc,oBAAoB,CACpE,CAAC;YACF,OAAO;gBACL,EAAE,CAAA,gCAAgC;gBAClC,EAAE,CAAA,sCAAsC,EAAE,CAAC,aAAa,CAAC,EAAE;aAC5D,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAChC,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { LogContext } from '@rocicorp/logger';
2
- import type { PostgresDB } from '../../../../zero-cache/src/types/pg.js';
2
+ import type { PostgresDB } from '../../types/pg.js';
3
3
  import type { Service } from '../service.js';
4
4
  import type { WatermarkedChange } from './change-streamer-service.js';
5
5
  import type { Commit } from './change-streamer.js';
@@ -1 +1 @@
1
- {"version":3,"file":"storer.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/change-streamer/storer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAO5C,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,4BAA4B,CAAC;AAC3D,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;AAC3C,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,8BAA8B,CAAC;AACpE,OAAO,KAAK,EAAc,MAAM,EAAC,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAU3C;;;GAGG;AACH,qBAAa,MAAO,YAAW,OAAO;;IACpC,QAAQ,CAAC,EAAE,YAAY;IAKvB,QAAQ,CAAC,OAAO,wDAAqB;gBAEzB,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI;IAMnE,sBAAsB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAOtD,KAAK,CAAC,KAAK,EAAE,iBAAiB;IAI9B,OAAO,CAAC,GAAG,EAAE,UAAU;IAIjB,GAAG;IAsIT,IAAI;CAIL"}
1
+ {"version":3,"file":"storer.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/change-streamer/storer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAO5C,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;AAC3C,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,8BAA8B,CAAC;AACpE,OAAO,KAAK,EAAc,MAAM,EAAC,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAU3C;;;GAGG;AACH,qBAAa,MAAO,YAAW,OAAO;;IACpC,QAAQ,CAAC,EAAE,YAAY;IAKvB,QAAQ,CAAC,OAAO,wDAAqB;gBAEzB,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI;IAMnE,sBAAsB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAOtD,KAAK,CAAC,KAAK,EAAE,iBAAiB;IAI9B,OAAO,CAAC,GAAG,EAAE,UAAU;IAIjB,GAAG;IAsIT,IAAI;CAIL"}
@@ -3,7 +3,7 @@ import { resolver } from '@rocicorp/resolver';
3
3
  import { assert } from '../../../../shared/src/asserts.js';
4
4
  import { Queue } from '../../../../shared/src/queue.js';
5
5
  import { promiseVoid } from '../../../../shared/src/resolved-promises.js';
6
- import { Mode, TransactionPool } from '../../../../zero-cache/src/db/transaction-pool.js';
6
+ import { Mode, TransactionPool } from '../../db/transaction-pool.js';
7
7
  import { Subscriber } from './subscriber.js';
8
8
  /**
9
9
  * Handles the storage of changes and the catchup of subscribers
@@ -1 +1 @@
1
- {"version":3,"file":"storer.js","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/change-streamer/storer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"storer.js","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/change-streamer/storer.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { Subscription } from '../../../../zero-cache/src/types/subscription.js';
1
+ import { Subscription } from '../../types/subscription.js';
2
2
  import type { WatermarkedChange } from './change-streamer-service.js';
3
3
  import { type Downstream, ErrorType } from './change-streamer.js';
4
4
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"subscriber.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/change-streamer/subscriber.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,YAAY,EAAC,MAAM,sCAAsC,CAAC;AAClE,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAC,KAAK,UAAU,EAAE,SAAS,EAAC,MAAM,sBAAsB,CAAC;AAEhE;;;;;;GAMG;AACH,qBAAa,UAAU;;IACrB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;gBAMlB,EAAE,EAAE,MAAM,EACV,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,YAAY,CAAC,UAAU,CAAC;IAQtC,IAAI,SAAS,WAEZ;IAED,IAAI,CAAC,MAAM,EAAE,iBAAiB;IAW9B,kEAAkE;IAClE,OAAO,CAAC,MAAM,EAAE,iBAAiB;IAIjC;;;OAGG;IACH,WAAW;IAkBX,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO;IAIlB,KAAK,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,MAAM;CAM1C"}
1
+ {"version":3,"file":"subscriber.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/change-streamer/subscriber.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,YAAY,EAAC,MAAM,6BAA6B,CAAC;AACzD,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAC,KAAK,UAAU,EAAE,SAAS,EAAC,MAAM,sBAAsB,CAAC;AAEhE;;;;;;GAMG;AACH,qBAAa,UAAU;;IACrB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;gBAMlB,EAAE,EAAE,MAAM,EACV,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,YAAY,CAAC,UAAU,CAAC;IAQtC,IAAI,SAAS,WAEZ;IAED,IAAI,CAAC,MAAM,EAAE,iBAAiB;IAW9B,kEAAkE;IAClE,OAAO,CAAC,MAAM,EAAE,iBAAiB;IAIjC;;;OAGG;IACH,WAAW;IAkBX,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO;IAIlB,KAAK,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,MAAM;CAM1C"}
@@ -1,5 +1,5 @@
1
1
  import { assert } from '../../../../shared/src/asserts.js';
2
- import { Subscription } from '../../../../zero-cache/src/types/subscription.js';
2
+ import { Subscription } from '../../types/subscription.js';
3
3
  import { ErrorType } from './change-streamer.js';
4
4
  /**
5
5
  * Encapsulates a subscriber to changes. All subscribers start in a
@@ -1 +1 @@
1
- {"version":3,"file":"subscriber.js","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/change-streamer/subscriber.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAC,YAAY,EAAC,MAAM,sCAAsC,CAAC;AAElE,OAAO,EAAkB,SAAS,EAAC,MAAM,sBAAsB,CAAC;AAEhE;;;;;;GAMG;AACH,MAAM,OAAO,UAAU;IACZ,EAAE,CAAS;IACX,WAAW,CAA2B;IAC/C,UAAU,CAAS;IACnB,QAAQ,CAA6B;IAErC,YACE,EAAU,EACV,SAAiB,EACjB,UAAoC;QAEpC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;IACrB,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,IAAI,CAAC,MAAyB;QAC5B,MAAM,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC;QAC3B,IAAI,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAChC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC7B,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACrB,CAAC;QACH,CAAC;IACH,CAAC;IAED,kEAAkE;IAClE,OAAO,CAAC,MAAyB;QAC/B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACrB,CAAC;IAED;;;OAGG;IACH,WAAW;QACT,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtB,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACrB,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,MAAyB;QAC7B,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG,MAAM,CAAC;QACvC,IAAI,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YAC/B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,UAAU,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;gBAC/B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;YAC9B,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,CAAC,GAAa;QAChB,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,KAAiB,EAAE,OAAgB;QACvC,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAC,CAAC,CAAC,CAAC;QAC3D,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;CACF"}
1
+ {"version":3,"file":"subscriber.js","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/change-streamer/subscriber.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,mCAAmC,CAAC;AACzD,OAAO,EAAC,YAAY,EAAC,MAAM,6BAA6B,CAAC;AAEzD,OAAO,EAAkB,SAAS,EAAC,MAAM,sBAAsB,CAAC;AAEhE;;;;;;GAMG;AACH,MAAM,OAAO,UAAU;IACZ,EAAE,CAAS;IACX,WAAW,CAA2B;IAC/C,UAAU,CAAS;IACnB,QAAQ,CAA6B;IAErC,YACE,EAAU,EACV,SAAiB,EACjB,UAAoC;QAEpC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;IACrB,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,IAAI,CAAC,MAAyB;QAC5B,MAAM,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC;QAC3B,IAAI,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAChC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC7B,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACrB,CAAC;QACH,CAAC;IACH,CAAC;IAED,kEAAkE;IAClE,OAAO,CAAC,MAAyB;QAC/B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACrB,CAAC;IAED;;;OAGG;IACH,WAAW;QACT,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtB,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACrB,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,MAAyB;QAC7B,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG,MAAM,CAAC;QACvC,IAAI,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YAC/B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,UAAU,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;gBAC/B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;YAC9B,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,CAAC,GAAa;QAChB,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,KAAiB,EAAE,OAAgB;QACvC,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAC,CAAC,CAAC,CAAC;QAC3D,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;CACF"}
@@ -2,6 +2,7 @@ import type { IncomingHttpHeaders } from 'node:http2';
2
2
  export type ConnectParams = {
3
3
  readonly clientID: string;
4
4
  readonly clientGroupID: string;
5
+ readonly schemaVersion: number;
5
6
  readonly baseCookie: string | null;
6
7
  readonly timestamp: number;
7
8
  readonly lmID: number;
@@ -1 +1 @@
1
- {"version":3,"file":"connect-params.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/dispatcher/connect-params.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,YAAY,CAAC;AAGpD,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,mBAAmB,GAE1B;IACE,MAAM,EAAE,aAAa,CAAC;IACtB,KAAK,EAAE,IAAI,CAAC;CACb,GACD;IACE,MAAM,EAAE,IAAI,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf,CAkCJ"}
1
+ {"version":3,"file":"connect-params.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/dispatcher/connect-params.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,YAAY,CAAC;AAGpD,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,mBAAmB,GAE1B;IACE,MAAM,EAAE,aAAa,CAAC;IACtB,KAAK,EAAE,IAAI,CAAC;CACb,GACD;IACE,MAAM,EAAE,IAAI,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf,CAoCJ"}
@@ -1,9 +1,10 @@
1
- import { URLParams } from '../../../../zero-cache/src/types/url-params.js';
1
+ import { URLParams } from '../../types/url-params.js';
2
2
  export function getConnectParams(url, headers) {
3
3
  const params = new URLParams(url);
4
4
  try {
5
5
  const clientID = params.get('clientID', true);
6
6
  const clientGroupID = params.get('clientGroupID', true);
7
+ const schemaVersion = params.getInteger('schemaVersion', true);
7
8
  const baseCookie = params.get('baseCookie', false);
8
9
  const timestamp = params.getInteger('ts', true);
9
10
  const lmID = params.getInteger('lmid', true);
@@ -15,6 +16,7 @@ export function getConnectParams(url, headers) {
15
16
  params: {
16
17
  clientID,
17
18
  clientGroupID,
19
+ schemaVersion,
18
20
  baseCookie,
19
21
  timestamp,
20
22
  lmID,
@@ -1 +1 @@
1
- {"version":3,"file":"connect-params.js","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/dispatcher/connect-params.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,SAAS,EAAC,MAAM,oCAAoC,CAAC;AAc7D,MAAM,UAAU,gBAAgB,CAC9B,GAAQ,EACR,OAA4B;IAU5B,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC;IAElC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAC9C,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;QACxD,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;QACnD,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAChD,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC7C,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;QAC7C,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;QACjD,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QAEjD,MAAM,cAAc,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;QACzD,OAAO;YACL,MAAM,EAAE;gBACN,QAAQ;gBACR,aAAa;gBACb,UAAU;gBACV,SAAS;gBACT,IAAI;gBACJ,IAAI;gBACJ,SAAS;gBACT,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS;gBACrE,MAAM;aACP;YACD,KAAK,EAAE,IAAI;SACZ,CAAC;IACJ,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,KAAK,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;SAClD,CAAC;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"connect-params.js","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/dispatcher/connect-params.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,SAAS,EAAC,MAAM,2BAA2B,CAAC;AAepD,MAAM,UAAU,gBAAgB,CAC9B,GAAQ,EACR,OAA4B;IAU5B,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC;IAElC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAC9C,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;QACxD,MAAM,aAAa,GAAG,MAAM,CAAC,UAAU,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;QAC/D,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;QACnD,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAChD,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC7C,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;QAC7C,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;QACjD,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QAEjD,MAAM,cAAc,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;QACzD,OAAO;YACL,MAAM,EAAE;gBACN,QAAQ;gBACR,aAAa;gBACb,aAAa;gBACb,UAAU;gBACV,SAAS;gBACT,IAAI;gBACJ,IAAI;gBACJ,SAAS;gBACT,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS;gBACrE,MAAM;aACP;YACD,KAAK,EAAE,IAAI;SACZ,CAAC;IACJ,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,KAAK,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;SAClD,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -5,7 +5,7 @@ export declare const CONNECT_URL_PATTERN = "/api/sync/:version/connect";
5
5
  export type Workers = {
6
6
  syncers: Worker[];
7
7
  };
8
- export declare const DEFAULT_PORT = 3000;
8
+ export declare const DEFAULT_PORT = 4848;
9
9
  export type Options = {
10
10
  port: number;
11
11
  };
@@ -1 +1 @@
1
- {"version":3,"file":"dispatcher.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/dispatcher/dispatcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAI5C,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,0BAA0B,CAAC;AACrD,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;AAI3C,eAAO,MAAM,mBAAmB,+BAA+B,CAAC;AAEhE,MAAM,MAAM,OAAO,GAAG;IACpB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,YAAY,OAAO,CAAC;AAEjC,MAAM,MAAM,OAAO,GAAG;IACpB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,qBAAa,UAAW,YAAW,OAAO;;IACxC,QAAQ,CAAC,EAAE,gBAAgB;gBAOzB,EAAE,EAAE,UAAU,EACd,iBAAiB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,EAChD,IAAI,GAAE,OAAO,CAAC,OAAO,CAAM;IAsCvB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAQpB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAG5B"}
1
+ {"version":3,"file":"dispatcher.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/dispatcher/dispatcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAI5C,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,0BAA0B,CAAC;AACrD,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;AAI3C,eAAO,MAAM,mBAAmB,+BAA+B,CAAC;AAEhE,MAAM,MAAM,OAAO,GAAG;IACpB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,YAAY,OAAO,CAAC;AAEjC,MAAM,MAAM,OAAO,GAAG;IACpB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,qBAAa,UAAW,YAAW,OAAO;;IACxC,QAAQ,CAAC,EAAE,gBAAgB;gBAOzB,EAAE,EAAE,UAAU,EACd,iBAAiB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,EAChD,IAAI,GAAE,OAAO,CAAC,OAAO,CAAM;IAkCvB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAQpB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAG5B"}
@@ -5,7 +5,7 @@ import { h32 } from '../../../../shared/src/xxhash.js';
5
5
  import { getConnectParams } from './connect-params.js';
6
6
  import { installWebSocketHandoff } from './websocket-handoff.js';
7
7
  export const CONNECT_URL_PATTERN = '/api/sync/:version/connect';
8
- export const DEFAULT_PORT = 3000;
8
+ export const DEFAULT_PORT = 4848;
9
9
  export class Dispatcher {
10
10
  id = 'dispatcher';
11
11
  #lc;
@@ -18,10 +18,6 @@ export class Dispatcher {
18
18
  this.#workersByHostname = workersByHostname;
19
19
  this.#fastify = Fastify();
20
20
  this.#fastify.get('/', (_req, res) => res.send('OK'));
21
- this.#fastify.addHook('onRequest', (req, _, done) => {
22
- this.#lc?.debug?.(`received request`, req.hostname, req.url);
23
- done();
24
- });
25
21
  this.#port = port;
26
22
  installWebSocketHandoff(this.#fastify.server, req => this.#handoff(req));
27
23
  }
@@ -43,7 +39,7 @@ export class Dispatcher {
43
39
  }
44
40
  async run() {
45
41
  const address = await this.#fastify.listen({
46
- host: '0.0.0.0',
42
+ host: '::',
47
43
  port: this.#port,
48
44
  });
49
45
  this.#lc.info?.(`Server listening at ${address}`);
@@ -1 +1 @@
1
- {"version":3,"file":"dispatcher.js","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/dispatcher/dispatcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dispatcher.js","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/dispatcher/dispatcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAC5C,OAAO,OAAO,EAAE,EAAsB,MAAM,SAAS,CAAC;AACtD,OAAO,EAAC,eAAe,EAAC,MAAM,MAAM,CAAC;AACrC,OAAO,EAAC,GAAG,EAAC,MAAM,kCAAkC,CAAC;AAGrD,OAAO,EAAC,gBAAgB,EAAC,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAC,uBAAuB,EAAC,MAAM,wBAAwB,CAAC;AAE/D,MAAM,CAAC,MAAM,mBAAmB,GAAG,4BAA4B,CAAC;AAMhE,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAAC;AAMjC,MAAM,OAAO,UAAU;IACZ,EAAE,GAAG,YAAY,CAAC;IAClB,GAAG,CAAa;IAChB,kBAAkB,CAAgC;IAClD,QAAQ,CAAkB;IAC1B,KAAK,CAAS;IAEvB,YACE,EAAc,EACd,iBAAgD,EAChD,OAAyB,EAAE;QAE3B,MAAM,EAAC,IAAI,GAAG,YAAY,EAAC,GAAG,IAAI,CAAC;QAEnC,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;QACd,IAAI,CAAC,kBAAkB,GAAG,iBAAiB,CAAC;QAC5C,IAAI,CAAC,QAAQ,GAAG,OAAO,EAAE,CAAC;QAC1B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACtD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAElB,uBAAuB,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3E,CAAC;IAED,QAAQ,CAAC,GAAoB;QAC3B,MAAM,EAAC,OAAO,EAAE,GAAG,EAAC,GAAG,GAAG,CAAC;QAC3B,MAAM,EAAC,MAAM,EAAE,KAAK,EAAC,GAAG,gBAAgB,CACtC,IAAI,GAAG,CAAC,GAAG,IAAI,EAAE,EAAE,gBAAgB,CAAC,EACpC,OAAO,CACR,CAAC;QACF,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC;QACD,MAAM,EAAC,IAAI,EAAC,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACxC,CAAC;QACD,MAAM,EAAC,aAAa,EAAC,GAAG,MAAM,CAAC;QAC/B,MAAM,EAAC,OAAO,EAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,GAAG,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;QAEnD,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,cAAc,aAAa,cAAc,MAAM,EAAE,CAAC,CAAC;QACpE,OAAO,EAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,EAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,GAAG;QACP,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;YACzC,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,IAAI,CAAC,KAAK;SACjB,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,uBAAuB,OAAO,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,IAAI;QACR,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IAC9B,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"sliding-window-limiter.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/limiter/sliding-window-limiter.ts"],"names":[],"mappings":"AAEA,KAAK,MAAM,GAAG;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,qBAAa,oBAAoB;;gBAOnB,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM;IAOtD,KAAK,IAAI,OAAO;IA8BhB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAuBtC,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,IAAI,UAAU,IAAI,MAAM,CAEvB;CA4BF"}
1
+ {"version":3,"file":"sliding-window-limiter.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/limiter/sliding-window-limiter.ts"],"names":[],"mappings":"AAEA,KAAK,MAAM,GAAG;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,qBAAa,oBAAoB;;gBAOnB,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM;IAOtD,KAAK,IAAI,OAAO;IAsChB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAuBtC,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,IAAI,UAAU,IAAI,MAAM,CAEvB;CA4BF"}
@@ -64,17 +64,24 @@ export class SlidingWindowLimiter {
64
64
  if (now - this.#windowSizeMs >= this.#nextWindow.start) {
65
65
  this.#rotateWindows();
66
66
  }
67
- // If "now" in the prior or next window? Increment the count for the correct window.
68
- if (now < this.#nextWindow.start) {
69
- this.#priorWindow.count++;
70
- }
71
- else {
72
- this.#nextWindow.count++;
73
- }
74
67
  // Now compute the total mutations in the current window.
75
68
  // Weighted by the fraction of the window that has passed.
76
69
  const totalCalls = this.totalCallsForTime(now);
77
- return totalCalls <= this.#maxMutations;
70
+ const canDo = totalCalls < this.#maxMutations;
71
+ // We don't increment counts if we throttled the user. This is so the user can
72
+ // eventually do the action they are trying to do. If we incremented on every
73
+ // attempt they can end up in a case where their excessive retries lock them out
74
+ // continuously.
75
+ if (canDo) {
76
+ // If "now" in the prior or next window? Increment the count for the correct window.
77
+ if (now < this.#nextWindow.start) {
78
+ this.#priorWindow.count++;
79
+ }
80
+ else {
81
+ this.#nextWindow.count++;
82
+ }
83
+ }
84
+ return canDo;
78
85
  }
79
86
  totalCallsForTime(now) {
80
87
  let fraction;
@@ -1 +1 @@
1
- {"version":3,"file":"sliding-window-limiter.js","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/limiter/sliding-window-limiter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sliding-window-limiter.js","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/limiter/sliding-window-limiter.ts"],"names":[],"mappings":"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"}
@@ -1,24 +1,28 @@
1
1
  import type { LogContext } from '@rocicorp/logger';
2
2
  import type { JWTPayload } from 'jose';
3
3
  import postgres from 'postgres';
4
+ import { ErrorKind } from '../../../../zero-protocol/src/mod.js';
4
5
  import { type CreateOp, type Mutation, type SetOp } from '../../../../zero-protocol/src/push.js';
5
6
  import { type ZeroConfig } from '../../config/zero-config.js';
6
7
  import type { PostgresDB } from '../../types/pg.js';
7
8
  import type { Service } from '../service.js';
8
9
  import { type WriteAuthorizer } from './write-authorizer.js';
9
- export type MutationError = string;
10
+ export type MutationError = [
11
+ kind: ErrorKind.MutationFailed | ErrorKind.MutationRateLimited,
12
+ desc: string
13
+ ];
10
14
  export interface Mutagen {
11
- processMutation(mutation: Mutation, authData: JWTPayload): Promise<MutationError | undefined>;
15
+ processMutation(mutation: Mutation, authData: JWTPayload, schemaVersion: number): Promise<MutationError | undefined>;
12
16
  }
13
17
  export declare class MutagenService implements Mutagen, Service {
14
18
  #private;
15
19
  readonly id: string;
16
20
  constructor(lc: LogContext, shardID: string, clientGroupID: string, upstream: PostgresDB, config: ZeroConfig);
17
- processMutation(mutation: Mutation, authData: JWTPayload): Promise<MutationError | undefined>;
21
+ processMutation(mutation: Mutation, authData: JWTPayload, schemaVersion: number): Promise<MutationError | undefined>;
18
22
  run(): Promise<void>;
19
23
  stop(): Promise<void>;
20
24
  }
21
- export declare function processMutation(lc: LogContext | undefined, authData: JWTPayload, db: PostgresDB, shardID: string, clientGroupID: string, mutation: Mutation, writeAuthorizer: WriteAuthorizer, onTxStart?: () => void): Promise<MutationError | undefined>;
25
+ export declare function processMutation(lc: LogContext | undefined, authData: JWTPayload, db: PostgresDB, shardID: string, clientGroupID: string, mutation: Mutation, writeAuthorizer: WriteAuthorizer, schemaVersion: number, onTxStart?: () => void): Promise<MutationError | undefined>;
22
26
  export declare function getCreateSQL(tx: postgres.TransactionSql, create: CreateOp): postgres.PendingQuery<postgres.Row[]>;
23
27
  export declare function getSetSQL(tx: postgres.TransactionSql, set: SetOp): postgres.PendingQuery<postgres.Row[]>;
24
28
  //# sourceMappingURL=mutagen.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mutagen.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/mutagen/mutagen.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAEjD,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,MAAM,CAAC;AACrC,OAAO,QAAQ,MAAM,UAAU,CAAC;AAIhC,OAAO,EAGL,KAAK,QAAQ,EAEb,KAAK,QAAQ,EACb,KAAK,KAAK,EAEX,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAC,KAAK,UAAU,EAAC,MAAM,6BAA6B,CAAC;AAE5D,OAAO,KAAK,EAAC,UAAU,EAAsB,MAAM,mBAAmB,CAAC;AACvE,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAsB,KAAK,eAAe,EAAC,MAAM,uBAAuB,CAAC;AAKhF,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC;AAEnC,MAAM,WAAW,OAAO;IACtB,eAAe,CACb,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,UAAU,GACnB,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAAC;CACvC;AAED,qBAAa,cAAe,YAAW,OAAO,EAAE,OAAO;;IACrD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;gBAUlB,EAAE,EAAE,UAAU,EACd,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,UAAU,EACpB,MAAM,EAAE,UAAU;IA2BpB,eAAe,CACb,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,UAAU,GACnB,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;IAerC,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAIpB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAItB;AAID,wBAAsB,eAAe,CACnC,EAAE,EAAE,UAAU,GAAG,SAAS,EAC1B,QAAQ,EAAE,UAAU,EACpB,EAAE,EAAE,UAAU,EACd,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,QAAQ,EAClB,eAAe,EAAE,eAAe,EAChC,SAAS,CAAC,EAAE,MAAM,IAAI,GACrB,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAmGpC;AAsED,wBAAgB,YAAY,CAC1B,EAAE,EAAE,QAAQ,CAAC,cAAc,EAC3B,MAAM,EAAE,QAAQ,GACf,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAUvC;AAED,wBAAgB,SAAS,CACvB,EAAE,EAAE,QAAQ,CAAC,cAAc,EAC3B,GAAG,EAAE,KAAK,GACT,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CASvC"}
1
+ {"version":3,"file":"mutagen.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/mutagen/mutagen.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAEjD,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,MAAM,CAAC;AACrC,OAAO,QAAQ,MAAM,UAAU,CAAC;AAEhC,OAAO,EAAC,SAAS,EAAC,MAAM,sCAAsC,CAAC;AAC/D,OAAO,EAGL,KAAK,QAAQ,EAEb,KAAK,QAAQ,EACb,KAAK,KAAK,EAEX,MAAM,uCAAuC,CAAC;AAE/C,OAAO,EAAC,KAAK,UAAU,EAAC,MAAM,6BAA6B,CAAC;AAG5D,OAAO,KAAK,EAAC,UAAU,EAAsB,MAAM,mBAAmB,CAAC;AAGvE,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAsB,KAAK,eAAe,EAAC,MAAM,uBAAuB,CAAC;AAIhF,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,SAAS,CAAC,cAAc,GAAG,SAAS,CAAC,mBAAmB;IAC9D,IAAI,EAAE,MAAM;CACb,CAAC;AAEF,MAAM,WAAW,OAAO;IACtB,eAAe,CACb,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,UAAU,EACpB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAAC;CACvC;AAED,qBAAa,cAAe,YAAW,OAAO,EAAE,OAAO;;IACrD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;gBAUlB,EAAE,EAAE,UAAU,EACd,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,UAAU,EACpB,MAAM,EAAE,UAAU;IA2BpB,eAAe,CACb,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,UAAU,EACpB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;IAmBrC,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAIpB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAItB;AAID,wBAAsB,eAAe,CACnC,EAAE,EAAE,UAAU,GAAG,SAAS,EAC1B,QAAQ,EAAE,UAAU,EACpB,EAAE,EAAE,UAAU,EACd,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,QAAQ,EAClB,eAAe,EAAE,eAAe,EAChC,aAAa,EAAE,MAAM,EACrB,SAAS,CAAC,EAAE,MAAM,IAAI,GACrB,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAoGpC;AAwED,wBAAgB,YAAY,CAC1B,EAAE,EAAE,QAAQ,CAAC,cAAc,EAC3B,MAAM,EAAE,QAAQ,GACf,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAUvC;AAED,wBAAgB,SAAS,CACvB,EAAE,EAAE,QAAQ,CAAC,cAAc,EAC3B,GAAG,EAAE,KAAK,GACT,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CASvC"}
@@ -2,14 +2,15 @@ import { PG_SERIALIZATION_FAILURE } from '@drdgvhbh/postgres-error-codes';
2
2
  import { resolver } from '@rocicorp/resolver';
3
3
  import postgres from 'postgres';
4
4
  import { assert, unreachable } from '../../../../shared/src/asserts.js';
5
- import { Mode } from '../../../../zero-cache/src/db/transaction-pool.js';
6
5
  import { ErrorKind } from '../../../../zero-protocol/src/mod.js';
7
6
  import { MutationType, } from '../../../../zero-protocol/src/push.js';
8
7
  import { Database } from '../../../../zqlite/src/db.js';
9
8
  import {} from '../../config/zero-config.js';
9
+ import { Mode } from '../../db/transaction-pool.js';
10
10
  import { ErrorForClient } from '../../types/error-for-client.js';
11
- import { WriteAuthorizerImpl } from './write-authorizer.js';
11
+ import { throwErrorForClientIfSchemaVersionNotSupported } from '../../types/schema-versions.js';
12
12
  import { SlidingWindowLimiter } from '../limiter/sliding-window-limiter.js';
13
+ import { WriteAuthorizerImpl } from './write-authorizer.js';
13
14
  export class MutagenService {
14
15
  id;
15
16
  #lc;
@@ -22,24 +23,27 @@ export class MutagenService {
22
23
  constructor(lc, shardID, clientGroupID, upstream, config) {
23
24
  this.id = clientGroupID;
24
25
  this.#lc = lc
25
- .withContext('component', 'Mutagen')
26
+ .withContext('component', 'mutagen')
26
27
  .withContext('serviceID', this.id);
27
28
  this.#upstream = upstream;
28
29
  this.#shardID = shardID;
29
- this.#replica = new Database(this.#lc, config.replicaDbFile, {
30
+ this.#replica = new Database(this.#lc, config.replicaDBFile, {
30
31
  readonly: true,
31
32
  fileMustExist: true,
32
33
  });
33
34
  this.#writeAuthorizer = new WriteAuthorizerImpl(this.#lc, config, this.#replica, clientGroupID);
34
35
  if (config.rateLimit) {
35
- this.#limiter = new SlidingWindowLimiter(config.rateLimit.mutationTransactions.windowMs, config.rateLimit.mutationTransactions.max);
36
+ this.#limiter = new SlidingWindowLimiter(config.rateLimit.mutationTransactions.windowMs, config.rateLimit.mutationTransactions.maxTransactions);
36
37
  }
37
38
  }
38
- processMutation(mutation, authData) {
39
+ processMutation(mutation, authData, schemaVersion) {
39
40
  if (this.#limiter?.canDo() === false) {
40
- return Promise.resolve('Rate limit exceeded');
41
+ return Promise.resolve([
42
+ ErrorKind.MutationRateLimited,
43
+ 'Rate limit exceeded',
44
+ ]);
41
45
  }
42
- return processMutation(this.#lc, authData, this.#upstream, this.#shardID, this.id, mutation, this.#writeAuthorizer);
46
+ return processMutation(this.#lc, authData, this.#upstream, this.#shardID, this.id, mutation, this.#writeAuthorizer, schemaVersion);
43
47
  }
44
48
  run() {
45
49
  return this.#stopped.promise;
@@ -50,7 +54,7 @@ export class MutagenService {
50
54
  }
51
55
  }
52
56
  const MAX_SERIALIZATION_ATTEMPTS = 2;
53
- export async function processMutation(lc, authData, db, shardID, clientGroupID, mutation, writeAuthorizer, onTxStart) {
57
+ export async function processMutation(lc, authData, db, shardID, clientGroupID, mutation, writeAuthorizer, schemaVersion, onTxStart) {
54
58
  assert(mutation.type === MutationType.CRUD, 'Only CRUD mutations are supported');
55
59
  lc = lc?.withContext('mutationID', mutation.id);
56
60
  lc = lc?.withContext('processMutation');
@@ -101,7 +105,7 @@ export async function processMutation(lc, authData, db, shardID, clientGroupID,
101
105
  try {
102
106
  await db.begin(Mode.SERIALIZABLE, tx => {
103
107
  onTxStart?.();
104
- return processMutationWithTx(tx, authData, shardID, clientGroupID, mutation, errorMode, writeAuthorizer);
108
+ return processMutationWithTx(tx, authData, shardID, clientGroupID, schemaVersion, mutation, errorMode, writeAuthorizer);
105
109
  });
106
110
  if (errorMode) {
107
111
  lc?.debug?.('Ran mutation successfully in error mode');
@@ -122,7 +126,7 @@ export async function processMutation(lc, authData, db, shardID, clientGroupID,
122
126
  lc?.info?.(i < MAX_SERIALIZATION_ATTEMPTS ? `Retrying` : '', e);
123
127
  continue; // Retry up to MAX_SERIALIZATION_ATTEMPTS.
124
128
  }
125
- result = String(e);
129
+ result = [ErrorKind.MutationFailed, String(e)];
126
130
  if (errorMode) {
127
131
  break;
128
132
  }
@@ -137,7 +141,7 @@ export async function processMutation(lc, authData, db, shardID, clientGroupID,
137
141
  }
138
142
  return result;
139
143
  }
140
- async function processMutationWithTx(tx, authData, shardID, clientGroupID, mutation, errorMode, authorizer) {
144
+ async function processMutationWithTx(tx, authData, shardID, clientGroupID, schemaVersion, mutation, errorMode, authorizer) {
141
145
  const tasks = [];
142
146
  if (!errorMode) {
143
147
  const { ops } = mutation.args[0];
@@ -179,7 +183,7 @@ async function processMutationWithTx(tx, authData, shardID, clientGroupID, mutat
179
183
  }
180
184
  // Confirm the mutation even though it may have been blocked by the authorizer.
181
185
  // Authorizer blocking a mutation is not an error but the correct result of the mutation.
182
- tasks.unshift(() => incrementLastMutationID(tx, shardID, clientGroupID, mutation.clientID, mutation.id));
186
+ tasks.unshift(() => checkSchemaVersionAndIncrementLastMutationID(tx, shardID, clientGroupID, schemaVersion, mutation.clientID, mutation.id));
183
187
  // Note: An error thrown from any Promise aborts the entire transaction.
184
188
  await Promise.all(tasks.map(task => task()));
185
189
  }
@@ -218,14 +222,16 @@ function getDeleteSQL(tx, deleteOp) {
218
222
  }
219
223
  return tx `DELETE FROM ${tx(table)} WHERE ${conditions}`;
220
224
  }
221
- async function incrementLastMutationID(tx, shardID, clientGroupID, clientID, receivedMutationID) {
222
- const [{ lastMutationID }] = await tx `
225
+ async function checkSchemaVersionAndIncrementLastMutationID(tx, shardID, clientGroupID, schemaVersion, clientID, receivedMutationID) {
226
+ const lastMutationIdPromise = tx `
223
227
  INSERT INTO zero.clients as current ("shardID", "clientGroupID", "clientID", "lastMutationID")
224
228
  VALUES (${shardID}, ${clientGroupID}, ${clientID}, ${1})
225
229
  ON CONFLICT ("shardID", "clientGroupID", "clientID")
226
230
  DO UPDATE SET "lastMutationID" = current."lastMutationID" + 1
227
231
  RETURNING "lastMutationID"
228
- `;
232
+ `.execute();
233
+ const supportedVersionRangePromise = tx `SELECT "minSupportedVersion", "maxSupportedVersion" FROM zero."schemaVersions"`.execute();
234
+ const [{ lastMutationID }] = await lastMutationIdPromise;
229
235
  // ABORT if the resulting lastMutationID is not equal to the receivedMutationID.
230
236
  if (receivedMutationID < lastMutationID) {
231
237
  throw new MutationAlreadyProcessedError(clientID, receivedMutationID, lastMutationID);
@@ -237,6 +243,9 @@ async function incrementLastMutationID(tx, shardID, clientGroupID, clientID, rec
237
243
  `Push contains unexpected mutation id ${receivedMutationID} for client ${clientID}. Expected mutation id ${lastMutationID.toString()}.`,
238
244
  ]);
239
245
  }
246
+ const supportedVersionRange = await supportedVersionRangePromise;
247
+ assert(supportedVersionRange.length === 1);
248
+ throwErrorForClientIfSchemaVersionNotSupported(schemaVersion, supportedVersionRange[0]);
240
249
  }
241
250
  class MutationAlreadyProcessedError extends Error {
242
251
  constructor(clientID, received, actual) {