@rocicorp/zero 0.10.2025010800 → 0.10.2025011400

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 (324) hide show
  1. package/README.md +32 -0
  2. package/out/advanced.js +1 -1
  3. package/out/{chunk-Y6OVFUGE.js → chunk-I5GSZARI.js} +1 -7
  4. package/out/{chunk-Y6OVFUGE.js.map → chunk-I5GSZARI.js.map} +1 -1
  5. package/out/{chunk-PPRTDNXA.js → chunk-TS7IMB6J.js} +785 -1660
  6. package/out/chunk-TS7IMB6J.js.map +7 -0
  7. package/out/react.js +1 -1
  8. package/out/react.js.map +1 -1
  9. package/out/replicache/src/btree/node.d.ts +5 -3
  10. package/out/replicache/src/btree/node.d.ts.map +1 -1
  11. package/out/replicache/src/btree/read.d.ts +4 -1
  12. package/out/replicache/src/btree/read.d.ts.map +1 -1
  13. package/out/replicache/src/btree/write.d.ts +4 -1
  14. package/out/replicache/src/btree/write.d.ts.map +1 -1
  15. package/out/replicache/src/dag/key-type-enum.d.ts +0 -1
  16. package/out/replicache/src/dag/key-type-enum.d.ts.map +1 -1
  17. package/out/replicache/src/db/commit.d.ts +12 -35
  18. package/out/replicache/src/db/commit.d.ts.map +1 -1
  19. package/out/replicache/src/db/index-operation-enum.d.ts +0 -1
  20. package/out/replicache/src/db/index-operation-enum.d.ts.map +1 -1
  21. package/out/replicache/src/db/index.d.ts +4 -1
  22. package/out/replicache/src/db/index.d.ts.map +1 -1
  23. package/out/replicache/src/db/meta-type-enum.d.ts +0 -7
  24. package/out/replicache/src/db/meta-type-enum.d.ts.map +1 -1
  25. package/out/replicache/src/db/read.d.ts +4 -1
  26. package/out/replicache/src/db/read.d.ts.map +1 -1
  27. package/out/replicache/src/db/rebase.d.ts +5 -2
  28. package/out/replicache/src/db/rebase.d.ts.map +1 -1
  29. package/out/replicache/src/db/write.d.ts +8 -6
  30. package/out/replicache/src/db/write.d.ts.map +1 -1
  31. package/out/replicache/src/format-version-enum.d.ts +0 -2
  32. package/out/replicache/src/format-version-enum.d.ts.map +1 -1
  33. package/out/replicache/src/format-version.d.ts +4 -1
  34. package/out/replicache/src/format-version.d.ts.map +1 -1
  35. package/out/replicache/src/get-default-puller.d.ts +1 -3
  36. package/out/replicache/src/get-default-puller.d.ts.map +1 -1
  37. package/out/replicache/src/invoke-kind-enum.d.ts +0 -1
  38. package/out/replicache/src/invoke-kind-enum.d.ts.map +1 -1
  39. package/out/replicache/src/mod.d.ts +5 -5
  40. package/out/replicache/src/mod.d.ts.map +1 -1
  41. package/out/replicache/src/mutation-recovery.d.ts +1 -2
  42. package/out/replicache/src/mutation-recovery.d.ts.map +1 -1
  43. package/out/replicache/src/persist/clients.d.ts +3 -1
  44. package/out/replicache/src/persist/clients.d.ts.map +1 -1
  45. package/out/replicache/src/persist/persist.d.ts +4 -1
  46. package/out/replicache/src/persist/persist.d.ts.map +1 -1
  47. package/out/replicache/src/persist/refresh.d.ts +4 -1
  48. package/out/replicache/src/persist/refresh.d.ts.map +1 -1
  49. package/out/replicache/src/puller.d.ts +2 -20
  50. package/out/replicache/src/puller.d.ts.map +1 -1
  51. package/out/replicache/src/replicache-impl.d.ts +1 -2
  52. package/out/replicache/src/replicache-impl.d.ts.map +1 -1
  53. package/out/replicache/src/subscriptions.d.ts +5 -3
  54. package/out/replicache/src/subscriptions.d.ts.map +1 -1
  55. package/out/replicache/src/sync/diff.d.ts +4 -1
  56. package/out/replicache/src/sync/diff.d.ts.map +1 -1
  57. package/out/replicache/src/sync/handle-pull-response-result-type-enum.d.ts +0 -1
  58. package/out/replicache/src/sync/handle-pull-response-result-type-enum.d.ts.map +1 -1
  59. package/out/replicache/src/sync/pull.d.ts +7 -33
  60. package/out/replicache/src/sync/pull.d.ts.map +1 -1
  61. package/out/replicache/src/sync/push.d.ts +3 -30
  62. package/out/replicache/src/sync/push.d.ts.map +1 -1
  63. package/out/shared/src/enum.d.ts +37 -0
  64. package/out/shared/src/enum.d.ts.map +1 -0
  65. package/out/shared/src/enum.js +2 -0
  66. package/out/shared/src/enum.js.map +1 -0
  67. package/out/shared/src/options.d.ts.map +1 -1
  68. package/out/shared/src/options.js +15 -7
  69. package/out/shared/src/options.js.map +1 -1
  70. package/out/solid.js +30 -36
  71. package/out/solid.js.map +3 -3
  72. package/out/zero/src/change-protocol.d.ts +2 -0
  73. package/out/zero/src/change-protocol.d.ts.map +1 -0
  74. package/out/zero/src/change-protocol.js +2 -0
  75. package/out/zero/src/change-protocol.js.map +1 -0
  76. package/out/zero-cache/src/config/zero-config.d.ts +30 -4
  77. package/out/zero-cache/src/config/zero-config.d.ts.map +1 -1
  78. package/out/zero-cache/src/config/zero-config.js +31 -15
  79. package/out/zero-cache/src/config/zero-config.js.map +1 -1
  80. package/out/zero-cache/src/db/mode-enum.d.ts +5 -0
  81. package/out/zero-cache/src/db/mode-enum.d.ts.map +1 -0
  82. package/out/zero-cache/src/db/mode-enum.js +3 -0
  83. package/out/zero-cache/src/db/mode-enum.js.map +1 -0
  84. package/out/zero-cache/src/db/pg-to-lite.d.ts.map +1 -1
  85. package/out/zero-cache/src/db/pg-to-lite.js +2 -1
  86. package/out/zero-cache/src/db/pg-to-lite.js.map +1 -1
  87. package/out/zero-cache/src/db/postgres-type-class-enum.d.ts +15 -0
  88. package/out/zero-cache/src/db/postgres-type-class-enum.d.ts.map +1 -0
  89. package/out/zero-cache/src/db/postgres-type-class-enum.js +10 -0
  90. package/out/zero-cache/src/db/postgres-type-class-enum.js.map +1 -0
  91. package/out/zero-cache/src/db/specs.d.ts +7 -16
  92. package/out/zero-cache/src/db/specs.d.ts.map +1 -1
  93. package/out/zero-cache/src/db/specs.js +1 -11
  94. package/out/zero-cache/src/db/specs.js.map +1 -1
  95. package/out/zero-cache/src/db/transaction-pool.d.ts +3 -4
  96. package/out/zero-cache/src/db/transaction-pool.d.ts.map +1 -1
  97. package/out/zero-cache/src/db/transaction-pool.js +1 -5
  98. package/out/zero-cache/src/db/transaction-pool.js.map +1 -1
  99. package/out/zero-cache/src/server/change-streamer.d.ts.map +1 -1
  100. package/out/zero-cache/src/server/change-streamer.js +2 -6
  101. package/out/zero-cache/src/server/change-streamer.js.map +1 -1
  102. package/out/zero-cache/src/server/life-cycle.d.ts +3 -2
  103. package/out/zero-cache/src/server/life-cycle.d.ts.map +1 -1
  104. package/out/zero-cache/src/server/life-cycle.js +15 -12
  105. package/out/zero-cache/src/server/life-cycle.js.map +1 -1
  106. package/out/zero-cache/src/server/main.d.ts.map +1 -1
  107. package/out/zero-cache/src/server/main.js +25 -16
  108. package/out/zero-cache/src/server/main.js.map +1 -1
  109. package/out/zero-cache/src/server/multi/config.d.ts +20 -3
  110. package/out/zero-cache/src/server/multi/config.d.ts.map +1 -1
  111. package/out/zero-cache/src/server/multi/config.js +10 -2
  112. package/out/zero-cache/src/server/multi/config.js.map +1 -1
  113. package/out/zero-cache/src/server/multi/main.d.ts.map +1 -1
  114. package/out/zero-cache/src/server/multi/main.js +9 -3
  115. package/out/zero-cache/src/server/multi/main.js.map +1 -1
  116. package/out/zero-cache/src/services/{change-streamer → change-source}/pg/change-source.d.ts +2 -2
  117. package/out/zero-cache/src/services/change-source/pg/change-source.d.ts.map +1 -0
  118. package/out/zero-cache/src/services/{change-streamer → change-source}/pg/change-source.js +18 -49
  119. package/out/zero-cache/src/services/change-source/pg/change-source.js.map +1 -0
  120. package/out/zero-cache/src/services/change-source/pg/initial-sync.d.ts.map +1 -0
  121. package/out/zero-cache/src/services/{change-streamer → change-source}/pg/initial-sync.js +7 -8
  122. package/out/zero-cache/src/services/change-source/pg/initial-sync.js.map +1 -0
  123. package/out/zero-cache/src/services/{change-streamer → change-source}/pg/lsn.d.ts +1 -1
  124. package/out/zero-cache/src/services/change-source/pg/lsn.d.ts.map +1 -0
  125. package/out/zero-cache/src/services/change-source/pg/lsn.js.map +1 -0
  126. package/out/zero-cache/src/services/{change-streamer → change-source}/pg/schema/ddl.d.ts +15 -15
  127. package/out/zero-cache/src/services/change-source/pg/schema/ddl.d.ts.map +1 -0
  128. package/out/zero-cache/src/services/change-source/pg/schema/ddl.js.map +1 -0
  129. package/out/zero-cache/src/services/change-source/pg/schema/init.d.ts.map +1 -0
  130. package/out/zero-cache/src/services/{change-streamer → change-source}/pg/schema/init.js +1 -1
  131. package/out/zero-cache/src/services/change-source/pg/schema/init.js.map +1 -0
  132. package/out/zero-cache/src/services/{change-streamer → change-source}/pg/schema/published.d.ts +6 -6
  133. package/out/zero-cache/src/services/change-source/pg/schema/published.d.ts.map +1 -0
  134. package/out/zero-cache/src/services/change-source/pg/schema/published.js.map +1 -0
  135. package/out/zero-cache/src/services/{change-streamer → change-source}/pg/schema/shard.d.ts +1 -1
  136. package/out/zero-cache/src/services/change-source/pg/schema/shard.d.ts.map +1 -0
  137. package/out/zero-cache/src/services/change-source/pg/schema/shard.js.map +1 -0
  138. package/out/zero-cache/src/services/change-source/pg/schema/validation.d.ts.map +1 -0
  139. package/out/zero-cache/src/services/change-source/pg/schema/validation.js.map +1 -0
  140. package/out/zero-cache/src/services/change-source/pg/shard-config.d.ts.map +1 -0
  141. package/out/zero-cache/src/services/change-source/pg/shard-config.js.map +1 -0
  142. package/out/zero-cache/src/services/change-source/pg/sync-schema.d.ts.map +1 -0
  143. package/out/zero-cache/src/services/{change-streamer → change-source}/pg/sync-schema.js +7 -6
  144. package/out/zero-cache/src/services/change-source/pg/sync-schema.js.map +1 -0
  145. package/out/zero-cache/src/services/change-source/protocol/current/control.d.ts +19 -0
  146. package/out/zero-cache/src/services/change-source/protocol/current/control.d.ts.map +1 -0
  147. package/out/zero-cache/src/services/change-source/protocol/current/control.js +17 -0
  148. package/out/zero-cache/src/services/change-source/protocol/current/control.js.map +1 -0
  149. package/out/zero-cache/src/services/{change-streamer/schema/change.d.ts → change-source/protocol/current/data.d.ts} +28 -23
  150. package/out/zero-cache/src/services/change-source/protocol/current/data.d.ts.map +1 -0
  151. package/out/zero-cache/src/services/{change-streamer/schema/change.js → change-source/protocol/current/data.js} +9 -4
  152. package/out/zero-cache/src/services/change-source/protocol/current/data.js.map +1 -0
  153. package/out/zero-cache/src/services/change-source/protocol/current/downstream.d.ts +475 -0
  154. package/out/zero-cache/src/services/change-source/protocol/current/downstream.d.ts.map +1 -0
  155. package/out/zero-cache/src/services/change-source/protocol/current/downstream.js +23 -0
  156. package/out/zero-cache/src/services/change-source/protocol/current/downstream.js.map +1 -0
  157. package/out/zero-cache/src/services/change-source/protocol/current/mod.d.ts +6 -0
  158. package/out/zero-cache/src/services/change-source/protocol/current/mod.d.ts.map +1 -0
  159. package/out/zero-cache/src/services/change-source/protocol/current/mod.js +6 -0
  160. package/out/zero-cache/src/services/change-source/protocol/current/mod.js.map +1 -0
  161. package/out/zero-cache/src/services/change-source/protocol/current/path.d.ts +20 -0
  162. package/out/zero-cache/src/services/change-source/protocol/current/path.d.ts.map +1 -0
  163. package/out/zero-cache/src/services/change-source/protocol/current/path.js +20 -0
  164. package/out/zero-cache/src/services/change-source/protocol/current/path.js.map +1 -0
  165. package/out/zero-cache/src/services/change-source/protocol/current/upstream.d.ts +17 -0
  166. package/out/zero-cache/src/services/change-source/protocol/current/upstream.d.ts.map +1 -0
  167. package/out/zero-cache/src/services/change-source/protocol/current/upstream.js +12 -0
  168. package/out/zero-cache/src/services/change-source/protocol/current/upstream.js.map +1 -0
  169. package/out/zero-cache/src/services/change-source/protocol/mod.d.ts +2 -0
  170. package/out/zero-cache/src/services/change-source/protocol/mod.d.ts.map +1 -0
  171. package/out/zero-cache/src/services/change-source/protocol/mod.js +5 -0
  172. package/out/zero-cache/src/services/change-source/protocol/mod.js.map +1 -0
  173. package/out/zero-cache/src/services/change-streamer/change-streamer-service.d.ts +3 -159
  174. package/out/zero-cache/src/services/change-streamer/change-streamer-service.d.ts.map +1 -1
  175. package/out/zero-cache/src/services/change-streamer/change-streamer-service.js +22 -22
  176. package/out/zero-cache/src/services/change-streamer/change-streamer-service.js.map +1 -1
  177. package/out/zero-cache/src/services/change-streamer/change-streamer.d.ts +7 -319
  178. package/out/zero-cache/src/services/change-streamer/change-streamer.d.ts.map +1 -1
  179. package/out/zero-cache/src/services/change-streamer/change-streamer.js +3 -18
  180. package/out/zero-cache/src/services/change-streamer/change-streamer.js.map +1 -1
  181. package/out/zero-cache/src/services/change-streamer/error-type-enum.d.ts +9 -0
  182. package/out/zero-cache/src/services/change-streamer/error-type-enum.d.ts.map +1 -0
  183. package/out/zero-cache/src/services/change-streamer/error-type-enum.js +6 -0
  184. package/out/zero-cache/src/services/change-streamer/error-type-enum.js.map +1 -0
  185. package/out/zero-cache/src/services/change-streamer/schema/tables.d.ts +1 -1
  186. package/out/zero-cache/src/services/change-streamer/schema/tables.d.ts.map +1 -1
  187. package/out/zero-cache/src/services/change-streamer/storer.d.ts +1 -1
  188. package/out/zero-cache/src/services/change-streamer/storer.d.ts.map +1 -1
  189. package/out/zero-cache/src/services/change-streamer/storer.js +7 -25
  190. package/out/zero-cache/src/services/change-streamer/storer.js.map +1 -1
  191. package/out/zero-cache/src/services/change-streamer/subscriber.d.ts +5 -1
  192. package/out/zero-cache/src/services/change-streamer/subscriber.d.ts.map +1 -1
  193. package/out/zero-cache/src/services/change-streamer/subscriber.js +2 -1
  194. package/out/zero-cache/src/services/change-streamer/subscriber.js.map +1 -1
  195. package/out/zero-cache/src/services/litestream/commands.d.ts +8 -0
  196. package/out/zero-cache/src/services/litestream/commands.d.ts.map +1 -0
  197. package/out/zero-cache/src/services/litestream/commands.js +61 -0
  198. package/out/zero-cache/src/services/litestream/commands.js.map +1 -0
  199. package/out/zero-cache/src/services/litestream/config.yml +7 -0
  200. package/out/zero-cache/src/services/mutagen/mutagen.d.ts +1 -1
  201. package/out/zero-cache/src/services/mutagen/mutagen.d.ts.map +1 -1
  202. package/out/zero-cache/src/services/mutagen/mutagen.js +5 -4
  203. package/out/zero-cache/src/services/mutagen/mutagen.js.map +1 -1
  204. package/out/zero-cache/src/services/replicator/incremental-sync.d.ts +3 -2
  205. package/out/zero-cache/src/services/replicator/incremental-sync.d.ts.map +1 -1
  206. package/out/zero-cache/src/services/replicator/incremental-sync.js +17 -49
  207. package/out/zero-cache/src/services/replicator/incremental-sync.js.map +1 -1
  208. package/out/zero-cache/src/services/replicator/schema/replication-state.d.ts +3 -4
  209. package/out/zero-cache/src/services/replicator/schema/replication-state.d.ts.map +1 -1
  210. package/out/zero-cache/src/services/replicator/schema/replication-state.js +15 -20
  211. package/out/zero-cache/src/services/replicator/schema/replication-state.js.map +1 -1
  212. package/out/zero-cache/src/services/running-state.d.ts +7 -0
  213. package/out/zero-cache/src/services/running-state.d.ts.map +1 -1
  214. package/out/zero-cache/src/services/running-state.js +8 -1
  215. package/out/zero-cache/src/services/running-state.js.map +1 -1
  216. package/out/zero-cache/src/services/view-syncer/client-handler.js +1 -1
  217. package/out/zero-cache/src/services/view-syncer/client-handler.js.map +1 -1
  218. package/out/zero-cache/src/services/view-syncer/cvr-store.d.ts.map +1 -1
  219. package/out/zero-cache/src/services/view-syncer/cvr-store.js +3 -2
  220. package/out/zero-cache/src/services/view-syncer/cvr-store.js.map +1 -1
  221. package/out/zero-cache/src/services/view-syncer/cvr.d.ts.map +1 -1
  222. package/out/zero-cache/src/services/view-syncer/cvr.js +4 -3
  223. package/out/zero-cache/src/services/view-syncer/cvr.js.map +1 -1
  224. package/out/zero-cache/src/services/view-syncer/pipeline-driver.d.ts.map +1 -1
  225. package/out/zero-cache/src/services/view-syncer/pipeline-driver.js +4 -2
  226. package/out/zero-cache/src/services/view-syncer/pipeline-driver.js.map +1 -1
  227. package/out/zero-cache/src/services/view-syncer/snapshotter.js +3 -3
  228. package/out/zero-cache/src/services/view-syncer/snapshotter.js.map +1 -1
  229. package/out/zero-cache/src/services/view-syncer/view-syncer.d.ts.map +1 -1
  230. package/out/zero-cache/src/services/view-syncer/view-syncer.js +6 -5
  231. package/out/zero-cache/src/services/view-syncer/view-syncer.js.map +1 -1
  232. package/out/zero-cache/src/types/error-for-client.d.ts +2 -2
  233. package/out/zero-cache/src/types/pg.js +2 -2
  234. package/out/zero-cache/src/types/pg.js.map +1 -1
  235. package/out/zero-cache/src/types/processes.d.ts +4 -2
  236. package/out/zero-cache/src/types/processes.d.ts.map +1 -1
  237. package/out/zero-cache/src/types/processes.js.map +1 -1
  238. package/out/zero-cache/src/types/schema-versions.js +1 -1
  239. package/out/zero-cache/src/types/schema-versions.js.map +1 -1
  240. package/out/zero-cache/src/workers/connection.d.ts.map +1 -1
  241. package/out/zero-cache/src/workers/connection.js +2 -1
  242. package/out/zero-cache/src/workers/connection.js.map +1 -1
  243. package/out/zero-cache/src/workers/syncer.js +1 -1
  244. package/out/zero-cache/src/workers/syncer.js.map +1 -1
  245. package/out/zero-client/src/client/connection-state-enum.d.ts +7 -0
  246. package/out/zero-client/src/client/connection-state-enum.d.ts.map +1 -0
  247. package/out/zero-client/src/client/metric-name-enum.d.ts +13 -0
  248. package/out/zero-client/src/client/metric-name-enum.d.ts.map +1 -0
  249. package/out/zero-client/src/client/metrics.d.ts +2 -9
  250. package/out/zero-client/src/client/metrics.d.ts.map +1 -1
  251. package/out/zero-client/src/client/ping-result-enum.d.ts +5 -0
  252. package/out/zero-client/src/client/ping-result-enum.d.ts.map +1 -0
  253. package/out/zero-client/src/client/server-error.d.ts +4 -1
  254. package/out/zero-client/src/client/server-error.d.ts.map +1 -1
  255. package/out/zero-client/src/client/zero.d.ts +4 -5
  256. package/out/zero-client/src/client/zero.d.ts.map +1 -1
  257. package/out/zero-protocol/src/error-kind-enum.d.ts +31 -0
  258. package/out/zero-protocol/src/error-kind-enum.d.ts.map +1 -0
  259. package/out/zero-protocol/src/error-kind-enum.js +20 -0
  260. package/out/zero-protocol/src/error-kind-enum.js.map +1 -0
  261. package/out/zero-protocol/src/error.d.ts +4 -21
  262. package/out/zero-protocol/src/error.d.ts.map +1 -1
  263. package/out/zero-protocol/src/error.js +1 -21
  264. package/out/zero-protocol/src/error.js.map +1 -1
  265. package/out/zero-protocol/src/mutation-type-enum.d.ts +5 -0
  266. package/out/zero-protocol/src/mutation-type-enum.d.ts.map +1 -0
  267. package/out/zero-protocol/src/mutation-type-enum.js +4 -0
  268. package/out/zero-protocol/src/mutation-type-enum.js.map +1 -0
  269. package/out/zero-protocol/src/push.d.ts +8 -12
  270. package/out/zero-protocol/src/push.d.ts.map +1 -1
  271. package/out/zero-protocol/src/push.js +1 -5
  272. package/out/zero-protocol/src/push.js.map +1 -1
  273. package/out/zero-protocol/src/up.d.ts +2 -2
  274. package/out/zero-schema/src/normalize-table-schema.d.ts +4 -3
  275. package/out/zero-schema/src/normalize-table-schema.d.ts.map +1 -1
  276. package/out/zero-schema/src/normalize-table-schema.js +27 -23
  277. package/out/zero-schema/src/normalize-table-schema.js.map +1 -1
  278. package/out/zero-schema/src/normalized-schema.d.ts.map +1 -1
  279. package/out/zero-schema/src/normalized-schema.js +19 -2
  280. package/out/zero-schema/src/normalized-schema.js.map +1 -1
  281. package/out/zero-schema/src/schema.d.ts +1 -1
  282. package/out/zero-schema/src/schema.d.ts.map +1 -1
  283. package/out/zero-schema/src/schema.js +5 -4
  284. package/out/zero-schema/src/schema.js.map +1 -1
  285. package/out/zero-solid/src/solid-view.d.ts +4 -1
  286. package/out/zero-solid/src/solid-view.d.ts.map +1 -1
  287. package/out/zero-solid/src/use-query.d.ts +4 -7
  288. package/out/zero-solid/src/use-query.d.ts.map +1 -1
  289. package/out/zero.js +2 -2
  290. package/package.json +9 -5
  291. package/out/chunk-PPRTDNXA.js.map +0 -7
  292. package/out/zero-cache/src/services/change-streamer/pg/change-source.d.ts.map +0 -1
  293. package/out/zero-cache/src/services/change-streamer/pg/change-source.js.map +0 -1
  294. package/out/zero-cache/src/services/change-streamer/pg/initial-sync.d.ts.map +0 -1
  295. package/out/zero-cache/src/services/change-streamer/pg/initial-sync.js.map +0 -1
  296. package/out/zero-cache/src/services/change-streamer/pg/lsn.d.ts.map +0 -1
  297. package/out/zero-cache/src/services/change-streamer/pg/lsn.js.map +0 -1
  298. package/out/zero-cache/src/services/change-streamer/pg/schema/ddl.d.ts.map +0 -1
  299. package/out/zero-cache/src/services/change-streamer/pg/schema/ddl.js.map +0 -1
  300. package/out/zero-cache/src/services/change-streamer/pg/schema/init.d.ts.map +0 -1
  301. package/out/zero-cache/src/services/change-streamer/pg/schema/init.js.map +0 -1
  302. package/out/zero-cache/src/services/change-streamer/pg/schema/published.d.ts.map +0 -1
  303. package/out/zero-cache/src/services/change-streamer/pg/schema/published.js.map +0 -1
  304. package/out/zero-cache/src/services/change-streamer/pg/schema/shard.d.ts.map +0 -1
  305. package/out/zero-cache/src/services/change-streamer/pg/schema/shard.js.map +0 -1
  306. package/out/zero-cache/src/services/change-streamer/pg/schema/validation.d.ts.map +0 -1
  307. package/out/zero-cache/src/services/change-streamer/pg/schema/validation.js.map +0 -1
  308. package/out/zero-cache/src/services/change-streamer/pg/shard-config.d.ts.map +0 -1
  309. package/out/zero-cache/src/services/change-streamer/pg/shard-config.js.map +0 -1
  310. package/out/zero-cache/src/services/change-streamer/pg/sync-schema.d.ts.map +0 -1
  311. package/out/zero-cache/src/services/change-streamer/pg/sync-schema.js.map +0 -1
  312. package/out/zero-cache/src/services/change-streamer/schema/change.d.ts.map +0 -1
  313. package/out/zero-cache/src/services/change-streamer/schema/change.js.map +0 -1
  314. /package/out/zero-cache/src/services/{change-streamer → change-source}/pg/initial-sync.d.ts +0 -0
  315. /package/out/zero-cache/src/services/{change-streamer → change-source}/pg/lsn.js +0 -0
  316. /package/out/zero-cache/src/services/{change-streamer → change-source}/pg/schema/ddl.js +0 -0
  317. /package/out/zero-cache/src/services/{change-streamer → change-source}/pg/schema/init.d.ts +0 -0
  318. /package/out/zero-cache/src/services/{change-streamer → change-source}/pg/schema/published.js +0 -0
  319. /package/out/zero-cache/src/services/{change-streamer → change-source}/pg/schema/shard.js +0 -0
  320. /package/out/zero-cache/src/services/{change-streamer → change-source}/pg/schema/validation.d.ts +0 -0
  321. /package/out/zero-cache/src/services/{change-streamer → change-source}/pg/schema/validation.js +0 -0
  322. /package/out/zero-cache/src/services/{change-streamer → change-source}/pg/shard-config.d.ts +0 -0
  323. /package/out/zero-cache/src/services/{change-streamer → change-source}/pg/shard-config.js +0 -0
  324. /package/out/zero-cache/src/services/{change-streamer → change-source}/pg/sync-schema.d.ts +0 -0
@@ -1,8 +1,8 @@
1
1
  import * as v from '../../../../shared/src/valita.js';
2
2
  import type { Source } from '../../types/streams.js';
3
+ import { type Change } from '../change-source/protocol/current/data.js';
3
4
  import type { ReplicatorMode } from '../replicator/replicator.js';
4
5
  import type { Service } from '../service.js';
5
- import { type Change } from './schema/change.js';
6
6
  /**
7
7
  * The ChangeStreamer is the component between replicators ("subscribers")
8
8
  * and a canonical upstream source of changes (e.g. a Postgres logical
@@ -84,326 +84,19 @@ export type ChangeEntry = {
84
84
  */
85
85
  watermark: string;
86
86
  };
87
- export declare const enum ErrorType {
88
- Unknown = 0,
89
- WrongReplicaVersion = 1,
90
- WatermarkTooOld = 2,
91
- WatermarkNotFound = 3
92
- }
93
87
  declare const subscriptionErrorSchema: v.ObjectType<{
94
88
  type: v.Type<number>;
95
89
  message: v.Optional<string>;
96
90
  }, undefined>;
97
91
  export type SubscriptionError = v.Infer<typeof subscriptionErrorSchema>;
98
- declare const begin: v.TupleType<[v.Type<"begin">, v.ObjectType<{
99
- tag: v.Type<"begin">;
100
- }, undefined>]>;
101
- declare const data: v.TupleType<[v.Type<"data">, v.UnionType<[v.ObjectType<{
102
- tag: v.Type<"insert">;
103
- relation: v.ObjectType<{
104
- tag: v.Type<"relation">;
105
- schema: v.Type<string>;
106
- name: v.Type<string>;
107
- replicaIdentity: v.UnionType<[v.Type<"default">, v.Type<"nothing">, v.Type<"full">, v.Type<"index">]>;
108
- keyColumns: v.ArrayType<v.Type<string>>;
109
- }, undefined>;
110
- new: v.Type<Record<string, import("../../types/bigint-json.js").JSONValue>>;
111
- }, undefined>, v.ObjectType<{
112
- tag: v.Type<"update">;
113
- relation: v.ObjectType<{
114
- tag: v.Type<"relation">;
115
- schema: v.Type<string>;
116
- name: v.Type<string>;
117
- replicaIdentity: v.UnionType<[v.Type<"default">, v.Type<"nothing">, v.Type<"full">, v.Type<"index">]>;
118
- keyColumns: v.ArrayType<v.Type<string>>;
119
- }, undefined>;
120
- key: v.Type<Record<string, import("../../types/bigint-json.js").JSONValue> | null>;
121
- old: v.Type<Record<string, import("../../types/bigint-json.js").JSONValue> | null>;
122
- new: v.Type<Record<string, import("../../types/bigint-json.js").JSONValue>>;
123
- }, undefined>, v.ObjectType<{
124
- tag: v.Type<"delete">;
125
- relation: v.ObjectType<{
126
- tag: v.Type<"relation">;
127
- schema: v.Type<string>;
128
- name: v.Type<string>;
129
- replicaIdentity: v.UnionType<[v.Type<"default">, v.Type<"nothing">, v.Type<"full">, v.Type<"index">]>;
130
- keyColumns: v.ArrayType<v.Type<string>>;
131
- }, undefined>;
132
- key: v.Type<Record<string, import("../../types/bigint-json.js").JSONValue>>;
133
- }, undefined>, v.ObjectType<{
134
- tag: v.Type<"truncate">;
135
- relations: v.ArrayType<v.ObjectType<{
136
- tag: v.Type<"relation">;
137
- schema: v.Type<string>;
138
- name: v.Type<string>;
139
- replicaIdentity: v.UnionType<[v.Type<"default">, v.Type<"nothing">, v.Type<"full">, v.Type<"index">]>;
140
- keyColumns: v.ArrayType<v.Type<string>>;
141
- }, undefined>>;
142
- }, undefined>, v.ObjectType<{
143
- tag: v.Type<"create-table">;
144
- spec: v.ObjectType<Omit<{
145
- name: v.Type<string>;
146
- columns: v.Type<Record<string, {
147
- pgTypeClass?: import("../../db/specs.js").PostgresTypeClass | undefined;
148
- characterMaximumLength?: number | null | undefined;
149
- notNull?: boolean | null | undefined;
150
- dflt?: string | null | undefined;
151
- pos: number;
152
- dataType: string;
153
- }>>;
154
- primaryKey: v.ArrayType<v.Type<string>>;
155
- }, "schema"> & {
156
- schema: v.Type<string>;
157
- }, undefined>;
158
- }, undefined>, v.ObjectType<{
159
- tag: v.Type<"rename-table">;
160
- old: v.ObjectType<{
161
- schema: v.Type<string>;
162
- name: v.Type<string>;
163
- }, undefined>;
164
- new: v.ObjectType<{
165
- schema: v.Type<string>;
166
- name: v.Type<string>;
167
- }, undefined>;
168
- }, undefined>, v.ObjectType<{
169
- tag: v.Type<"add-column">;
170
- table: v.ObjectType<{
171
- schema: v.Type<string>;
172
- name: v.Type<string>;
173
- }, undefined>;
174
- column: v.ObjectType<{
175
- name: v.Type<string>;
176
- spec: v.ObjectType<{
177
- pos: v.Type<number>;
178
- dataType: v.Type<string>;
179
- pgTypeClass: v.Optional<import("../../db/specs.js").PostgresTypeClass>;
180
- characterMaximumLength: v.Optional<number | null>;
181
- notNull: v.Optional<boolean | null>;
182
- dflt: v.Optional<string | null>;
183
- }, undefined>;
184
- }, undefined>;
185
- }, undefined>, v.ObjectType<{
186
- tag: v.Type<"update-column">;
187
- table: v.ObjectType<{
188
- schema: v.Type<string>;
189
- name: v.Type<string>;
190
- }, undefined>;
191
- old: v.ObjectType<{
192
- name: v.Type<string>;
193
- spec: v.ObjectType<{
194
- pos: v.Type<number>;
195
- dataType: v.Type<string>;
196
- pgTypeClass: v.Optional<import("../../db/specs.js").PostgresTypeClass>;
197
- characterMaximumLength: v.Optional<number | null>;
198
- notNull: v.Optional<boolean | null>;
199
- dflt: v.Optional<string | null>;
200
- }, undefined>;
201
- }, undefined>;
202
- new: v.ObjectType<{
203
- name: v.Type<string>;
204
- spec: v.ObjectType<{
205
- pos: v.Type<number>;
206
- dataType: v.Type<string>;
207
- pgTypeClass: v.Optional<import("../../db/specs.js").PostgresTypeClass>;
208
- characterMaximumLength: v.Optional<number | null>;
209
- notNull: v.Optional<boolean | null>;
210
- dflt: v.Optional<string | null>;
211
- }, undefined>;
212
- }, undefined>;
213
- }, undefined>, v.ObjectType<{
214
- tag: v.Type<"drop-column">;
215
- table: v.ObjectType<{
216
- schema: v.Type<string>;
217
- name: v.Type<string>;
218
- }, undefined>;
219
- column: v.Type<string>;
220
- }, undefined>, v.ObjectType<{
221
- tag: v.Type<"drop-table">;
222
- id: v.ObjectType<{
223
- schema: v.Type<string>;
224
- name: v.Type<string>;
225
- }, undefined>;
226
- }, undefined>, v.ObjectType<{
227
- tag: v.Type<"create-index">;
228
- spec: v.ObjectType<Omit<{
229
- name: v.Type<string>;
230
- tableName: v.Type<string>;
231
- unique: v.Type<boolean>;
232
- columns: v.Type<Record<string, "ASC" | "DESC">>;
233
- }, "schema"> & {
234
- schema: v.Type<string>;
235
- }, undefined>;
236
- }, undefined>, v.ObjectType<{
237
- tag: v.Type<"drop-index">;
238
- id: v.ObjectType<{
239
- schema: v.Type<string>;
240
- name: v.Type<string>;
241
- }, undefined>;
242
- }, undefined>]>]>;
243
- declare const commit: v.TupleType<[v.Type<"commit">, v.ObjectType<{
244
- tag: v.Type<"commit">;
245
- }, undefined>, v.ObjectType<{
246
- watermark: v.Type<string>;
247
- }, undefined>]>;
248
- declare const rollback: v.TupleType<[v.Type<"rollback">, v.ObjectType<{
249
- tag: v.Type<"rollback">;
250
- }, undefined>]>;
251
92
  declare const error: v.TupleType<[v.Type<"error">, v.ObjectType<{
252
93
  type: v.Type<number>;
253
94
  message: v.Optional<string>;
254
95
  }, undefined>]>;
255
- export declare const downstreamChange: v.UnionType<[v.TupleType<[v.Type<"begin">, v.ObjectType<{
256
- tag: v.Type<"begin">;
257
- }, undefined>]>, v.TupleType<[v.Type<"data">, v.UnionType<[v.ObjectType<{
258
- tag: v.Type<"insert">;
259
- relation: v.ObjectType<{
260
- tag: v.Type<"relation">;
261
- schema: v.Type<string>;
262
- name: v.Type<string>;
263
- replicaIdentity: v.UnionType<[v.Type<"default">, v.Type<"nothing">, v.Type<"full">, v.Type<"index">]>;
264
- keyColumns: v.ArrayType<v.Type<string>>;
265
- }, undefined>;
266
- new: v.Type<Record<string, import("../../types/bigint-json.js").JSONValue>>;
267
- }, undefined>, v.ObjectType<{
268
- tag: v.Type<"update">;
269
- relation: v.ObjectType<{
270
- tag: v.Type<"relation">;
271
- schema: v.Type<string>;
272
- name: v.Type<string>;
273
- replicaIdentity: v.UnionType<[v.Type<"default">, v.Type<"nothing">, v.Type<"full">, v.Type<"index">]>;
274
- keyColumns: v.ArrayType<v.Type<string>>;
275
- }, undefined>;
276
- key: v.Type<Record<string, import("../../types/bigint-json.js").JSONValue> | null>;
277
- old: v.Type<Record<string, import("../../types/bigint-json.js").JSONValue> | null>;
278
- new: v.Type<Record<string, import("../../types/bigint-json.js").JSONValue>>;
279
- }, undefined>, v.ObjectType<{
280
- tag: v.Type<"delete">;
281
- relation: v.ObjectType<{
282
- tag: v.Type<"relation">;
283
- schema: v.Type<string>;
284
- name: v.Type<string>;
285
- replicaIdentity: v.UnionType<[v.Type<"default">, v.Type<"nothing">, v.Type<"full">, v.Type<"index">]>;
286
- keyColumns: v.ArrayType<v.Type<string>>;
287
- }, undefined>;
288
- key: v.Type<Record<string, import("../../types/bigint-json.js").JSONValue>>;
289
- }, undefined>, v.ObjectType<{
290
- tag: v.Type<"truncate">;
291
- relations: v.ArrayType<v.ObjectType<{
292
- tag: v.Type<"relation">;
293
- schema: v.Type<string>;
294
- name: v.Type<string>;
295
- replicaIdentity: v.UnionType<[v.Type<"default">, v.Type<"nothing">, v.Type<"full">, v.Type<"index">]>;
296
- keyColumns: v.ArrayType<v.Type<string>>;
297
- }, undefined>>;
298
- }, undefined>, v.ObjectType<{
299
- tag: v.Type<"create-table">;
300
- spec: v.ObjectType<Omit<{
301
- name: v.Type<string>;
302
- columns: v.Type<Record<string, {
303
- pgTypeClass?: import("../../db/specs.js").PostgresTypeClass | undefined;
304
- characterMaximumLength?: number | null | undefined;
305
- notNull?: boolean | null | undefined;
306
- dflt?: string | null | undefined;
307
- pos: number;
308
- dataType: string;
309
- }>>;
310
- primaryKey: v.ArrayType<v.Type<string>>;
311
- }, "schema"> & {
312
- schema: v.Type<string>;
313
- }, undefined>;
314
- }, undefined>, v.ObjectType<{
315
- tag: v.Type<"rename-table">;
316
- old: v.ObjectType<{
317
- schema: v.Type<string>;
318
- name: v.Type<string>;
319
- }, undefined>;
320
- new: v.ObjectType<{
321
- schema: v.Type<string>;
322
- name: v.Type<string>;
323
- }, undefined>;
324
- }, undefined>, v.ObjectType<{
325
- tag: v.Type<"add-column">;
326
- table: v.ObjectType<{
327
- schema: v.Type<string>;
328
- name: v.Type<string>;
329
- }, undefined>;
330
- column: v.ObjectType<{
331
- name: v.Type<string>;
332
- spec: v.ObjectType<{
333
- pos: v.Type<number>;
334
- dataType: v.Type<string>;
335
- pgTypeClass: v.Optional<import("../../db/specs.js").PostgresTypeClass>;
336
- characterMaximumLength: v.Optional<number | null>;
337
- notNull: v.Optional<boolean | null>;
338
- dflt: v.Optional<string | null>;
339
- }, undefined>;
340
- }, undefined>;
341
- }, undefined>, v.ObjectType<{
342
- tag: v.Type<"update-column">;
343
- table: v.ObjectType<{
344
- schema: v.Type<string>;
345
- name: v.Type<string>;
346
- }, undefined>;
347
- old: v.ObjectType<{
348
- name: v.Type<string>;
349
- spec: v.ObjectType<{
350
- pos: v.Type<number>;
351
- dataType: v.Type<string>;
352
- pgTypeClass: v.Optional<import("../../db/specs.js").PostgresTypeClass>;
353
- characterMaximumLength: v.Optional<number | null>;
354
- notNull: v.Optional<boolean | null>;
355
- dflt: v.Optional<string | null>;
356
- }, undefined>;
357
- }, undefined>;
358
- new: v.ObjectType<{
359
- name: v.Type<string>;
360
- spec: v.ObjectType<{
361
- pos: v.Type<number>;
362
- dataType: v.Type<string>;
363
- pgTypeClass: v.Optional<import("../../db/specs.js").PostgresTypeClass>;
364
- characterMaximumLength: v.Optional<number | null>;
365
- notNull: v.Optional<boolean | null>;
366
- dflt: v.Optional<string | null>;
367
- }, undefined>;
368
- }, undefined>;
369
- }, undefined>, v.ObjectType<{
370
- tag: v.Type<"drop-column">;
371
- table: v.ObjectType<{
372
- schema: v.Type<string>;
373
- name: v.Type<string>;
374
- }, undefined>;
375
- column: v.Type<string>;
376
- }, undefined>, v.ObjectType<{
377
- tag: v.Type<"drop-table">;
378
- id: v.ObjectType<{
379
- schema: v.Type<string>;
380
- name: v.Type<string>;
381
- }, undefined>;
382
- }, undefined>, v.ObjectType<{
383
- tag: v.Type<"create-index">;
384
- spec: v.ObjectType<Omit<{
385
- name: v.Type<string>;
386
- tableName: v.Type<string>;
387
- unique: v.Type<boolean>;
388
- columns: v.Type<Record<string, "ASC" | "DESC">>;
389
- }, "schema"> & {
390
- schema: v.Type<string>;
391
- }, undefined>;
392
- }, undefined>, v.ObjectType<{
393
- tag: v.Type<"drop-index">;
394
- id: v.ObjectType<{
395
- schema: v.Type<string>;
396
- name: v.Type<string>;
397
- }, undefined>;
398
- }, undefined>]>]>, v.TupleType<[v.Type<"commit">, v.ObjectType<{
399
- tag: v.Type<"commit">;
400
- }, undefined>, v.ObjectType<{
401
- watermark: v.Type<string>;
402
- }, undefined>]>, v.TupleType<[v.Type<"rollback">, v.ObjectType<{
403
- tag: v.Type<"rollback">;
404
- }, undefined>]>]>;
405
96
  export declare const downstreamSchema: v.UnionType<[v.UnionType<[v.TupleType<[v.Type<"begin">, v.ObjectType<{
406
97
  tag: v.Type<"begin">;
98
+ }, undefined>, v.ObjectType<{
99
+ commitWatermark: v.Type<string>;
407
100
  }, undefined>]>, v.TupleType<[v.Type<"data">, v.UnionType<[v.ObjectType<{
408
101
  tag: v.Type<"insert">;
409
102
  relation: v.ObjectType<{
@@ -450,7 +143,7 @@ export declare const downstreamSchema: v.UnionType<[v.UnionType<[v.TupleType<[v.
450
143
  spec: v.ObjectType<Omit<{
451
144
  name: v.Type<string>;
452
145
  columns: v.Type<Record<string, {
453
- pgTypeClass?: import("../../db/specs.js").PostgresTypeClass | undefined;
146
+ pgTypeClass?: "e" | "b" | "c" | "d" | "p" | "r" | "m" | undefined;
454
147
  characterMaximumLength?: number | null | undefined;
455
148
  notNull?: boolean | null | undefined;
456
149
  dflt?: string | null | undefined;
@@ -482,7 +175,7 @@ export declare const downstreamSchema: v.UnionType<[v.UnionType<[v.TupleType<[v.
482
175
  spec: v.ObjectType<{
483
176
  pos: v.Type<number>;
484
177
  dataType: v.Type<string>;
485
- pgTypeClass: v.Optional<import("../../db/specs.js").PostgresTypeClass>;
178
+ pgTypeClass: v.Optional<"e" | "b" | "c" | "d" | "p" | "r" | "m">;
486
179
  characterMaximumLength: v.Optional<number | null>;
487
180
  notNull: v.Optional<boolean | null>;
488
181
  dflt: v.Optional<string | null>;
@@ -499,7 +192,7 @@ export declare const downstreamSchema: v.UnionType<[v.UnionType<[v.TupleType<[v.
499
192
  spec: v.ObjectType<{
500
193
  pos: v.Type<number>;
501
194
  dataType: v.Type<string>;
502
- pgTypeClass: v.Optional<import("../../db/specs.js").PostgresTypeClass>;
195
+ pgTypeClass: v.Optional<"e" | "b" | "c" | "d" | "p" | "r" | "m">;
503
196
  characterMaximumLength: v.Optional<number | null>;
504
197
  notNull: v.Optional<boolean | null>;
505
198
  dflt: v.Optional<string | null>;
@@ -510,7 +203,7 @@ export declare const downstreamSchema: v.UnionType<[v.UnionType<[v.TupleType<[v.
510
203
  spec: v.ObjectType<{
511
204
  pos: v.Type<number>;
512
205
  dataType: v.Type<string>;
513
- pgTypeClass: v.Optional<import("../../db/specs.js").PostgresTypeClass>;
206
+ pgTypeClass: v.Optional<"e" | "b" | "c" | "d" | "p" | "r" | "m">;
514
207
  characterMaximumLength: v.Optional<number | null>;
515
208
  notNull: v.Optional<boolean | null>;
516
209
  dflt: v.Optional<string | null>;
@@ -555,12 +248,7 @@ export declare const downstreamSchema: v.UnionType<[v.UnionType<[v.TupleType<[v.
555
248
  type: v.Type<number>;
556
249
  message: v.Optional<string>;
557
250
  }, undefined>]>]>;
558
- export type Begin = v.Infer<typeof begin>;
559
- export type Data = v.Infer<typeof data>;
560
- export type Commit = v.Infer<typeof commit>;
561
- export type Rollback = v.Infer<typeof rollback>;
562
251
  export type Error = v.Infer<typeof error>;
563
- export type DownstreamChange = v.Infer<typeof downstreamChange>;
564
252
  /**
565
253
  * A stream of transactions, each starting with a {@link Begin} message,
566
254
  * containing one or more {@link Data} messages, and ending with a
@@ -1 +1 @@
1
- {"version":3,"file":"change-streamer.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/change-streamer/change-streamer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"change-streamer.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/change-streamer/change-streamer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,kCAAkC,CAAC;AACtD,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAC,KAAK,MAAM,EAAC,MAAM,2CAA2C,CAAC;AAEtE,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;AAE3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;OAIG;IACH,SAAS,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;CAChE;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;;;OAIG;IACH,IAAI,EAAE,cAAc,CAAC;IAErB;;;;OAIG;IACH,cAAc,EAAE,MAAM,CAAC;IAEvB;;;OAGG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;;;;OAKG;IACH,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,EAAE,MAAM,CAAC;IAEf;;;;OAIG;IACH,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,QAAA,MAAM,uBAAuB;;;aAG3B,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,QAAA,MAAM,KAAK;;;eAAyD,CAAC;AAErE,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAyC,CAAC;AAEvE,MAAM,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,CAAC,CAAC;AAE1C;;;;;;;;;;GAUG;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D,MAAM,WAAW,qBAAsB,SAAQ,cAAc,EAAE,OAAO;CAAG"}
@@ -1,25 +1,10 @@
1
1
  import * as v from '../../../../shared/src/valita.js';
2
- import { beginSchema, commitSchema, dataChangeSchema, rollbackSchema, } from './schema/change.js';
3
- export var ErrorType;
4
- (function (ErrorType) {
5
- ErrorType[ErrorType["Unknown"] = 0] = "Unknown";
6
- ErrorType[ErrorType["WrongReplicaVersion"] = 1] = "WrongReplicaVersion";
7
- ErrorType[ErrorType["WatermarkTooOld"] = 2] = "WatermarkTooOld";
8
- ErrorType[ErrorType["WatermarkNotFound"] = 3] = "WatermarkNotFound";
9
- })(ErrorType || (ErrorType = {}));
2
+ import {} from '../change-source/protocol/current/data.js';
3
+ import { changeStreamDataSchema } from '../change-source/protocol/current/downstream.js';
10
4
  const subscriptionErrorSchema = v.object({
11
5
  type: v.number(), // ErrorType
12
6
  message: v.string().optional(),
13
7
  });
14
- const begin = v.tuple([v.literal('begin'), beginSchema]);
15
- const data = v.tuple([v.literal('data'), dataChangeSchema]);
16
- const commit = v.tuple([
17
- v.literal('commit'),
18
- commitSchema,
19
- v.object({ watermark: v.string() }),
20
- ]);
21
- const rollback = v.tuple([v.literal('rollback'), rollbackSchema]);
22
8
  const error = v.tuple([v.literal('error'), subscriptionErrorSchema]);
23
- export const downstreamChange = v.union(begin, data, commit, rollback);
24
- export const downstreamSchema = v.union(downstreamChange, error);
9
+ export const downstreamSchema = v.union(changeStreamDataSchema, error);
25
10
  //# sourceMappingURL=change-streamer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"change-streamer.js","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/change-streamer/change-streamer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,kCAAkC,CAAC;AAItD,OAAO,EACL,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,cAAc,GAEf,MAAM,oBAAoB,CAAC;AA2F5B,MAAM,CAAN,IAAkB,SAKjB;AALD,WAAkB,SAAS;IACzB,+CAAO,CAAA;IACP,uEAAmB,CAAA;IACnB,+DAAe,CAAA;IACf,mEAAiB,CAAA;AACnB,CAAC,EALiB,SAAS,KAAT,SAAS,QAK1B;AAED,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,YAAY;IAC9B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC/B,CAAC,CAAC;AAIH,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC;AACzD,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC;AAC5D,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC;IACrB,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;IACnB,YAAY;IACZ,CAAC,CAAC,MAAM,CAAC,EAAC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,EAAC,CAAC;CAClC,CAAC,CAAC;AACH,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC;AAClE,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,uBAAuB,CAAC,CAAC,CAAC;AAErE,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;AAEvE,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"change-streamer.js","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/change-streamer/change-streamer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,kCAAkC,CAAC;AAEtD,OAAO,EAAa,MAAM,2CAA2C,CAAC;AACtE,OAAO,EAAC,sBAAsB,EAAC,MAAM,iDAAiD,CAAC;AA6FvF,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,YAAY;IAC9B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC/B,CAAC,CAAC;AAIH,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,uBAAuB,CAAC,CAAC,CAAC;AAErE,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC"}
@@ -0,0 +1,9 @@
1
+ export declare const Unknown = 0;
2
+ export declare const WrongReplicaVersion = 1;
3
+ export declare const WatermarkTooOld = 2;
4
+ export declare const WatermarkNotFound = 3;
5
+ export type Unknown = typeof Unknown;
6
+ export type WrongReplicaVersion = typeof WrongReplicaVersion;
7
+ export type WatermarkTooOld = typeof WatermarkTooOld;
8
+ export type WatermarkNotFound = typeof WatermarkNotFound;
9
+ //# sourceMappingURL=error-type-enum.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-type-enum.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/change-streamer/error-type-enum.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,OAAO,IAAI,CAAC;AACzB,eAAO,MAAM,mBAAmB,IAAI,CAAC;AACrC,eAAO,MAAM,eAAe,IAAI,CAAC;AACjC,eAAO,MAAM,iBAAiB,IAAI,CAAC;AAEnC,MAAM,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC;AACrC,MAAM,MAAM,mBAAmB,GAAG,OAAO,mBAAmB,CAAC;AAC7D,MAAM,MAAM,eAAe,GAAG,OAAO,eAAe,CAAC;AACrD,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC"}
@@ -0,0 +1,6 @@
1
+ /* eslint-disable @typescript-eslint/naming-convention */
2
+ export const Unknown = 0;
3
+ export const WrongReplicaVersion = 1;
4
+ export const WatermarkTooOld = 2;
5
+ export const WatermarkNotFound = 3;
6
+ //# sourceMappingURL=error-type-enum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-type-enum.js","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/change-streamer/error-type-enum.ts"],"names":[],"mappings":"AAAA,yDAAyD;AAEzD,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,CAAC;AACzB,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC;AACrC,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC;AACjC,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC"}
@@ -2,7 +2,7 @@ import { LogContext } from '@rocicorp/logger';
2
2
  import postgres from 'postgres';
3
3
  import { AbortError } from '../../../../../shared/src/abort-error.js';
4
4
  import type { PostgresDB } from '../../../types/pg.js';
5
- import type { Change } from './change.js';
5
+ import type { Change } from '../../change-source/protocol/current/data.js';
6
6
  export declare const PG_SCHEMA = "cdc";
7
7
  export type ChangeLogEntry = {
8
8
  watermark: string;
@@ -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;AAChC,OAAO,EAAC,UAAU,EAAC,MAAM,0CAA0C,CAAC;AAEpE,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;AAcF,wBAAsB,cAAc,CAClC,EAAE,EAAE,UAAU,EACd,EAAE,EAAE,QAAQ,CAAC,cAAc,iBAI5B;AAED,wBAAsB,iBAAiB,CAAC,EAAE,EAAE,UAAU,iBAErD;AAED,wBAAsB,uBAAuB,CAC3C,EAAE,EAAE,UAAU,EACd,EAAE,EAAE,UAAU,EACd,MAAM,EAAE,iBAAiB,EACzB,SAAS,EAAE,OAAO,iBA4CnB;AAED,qBAAa,eAAgB,SAAQ,UAAU;IAC7C,QAAQ,CAAC,IAAI,qBAAqB;CACnC"}
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;AAChC,OAAO,EAAC,UAAU,EAAC,MAAM,0CAA0C,CAAC;AAEpE,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,8CAA8C,CAAC;AAEzE,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;AAcF,wBAAsB,cAAc,CAClC,EAAE,EAAE,UAAU,EACd,EAAE,EAAE,QAAQ,CAAC,cAAc,iBAI5B;AAED,wBAAsB,iBAAiB,CAAC,EAAE,EAAE,UAAU,iBAErD;AAED,wBAAsB,uBAAuB,CAC3C,EAAE,EAAE,UAAU,EACd,EAAE,EAAE,UAAU,EACd,MAAM,EAAE,iBAAiB,EACzB,SAAS,EAAE,OAAO,iBA4CnB;AAED,qBAAa,eAAgB,SAAQ,UAAU;IAC7C,QAAQ,CAAC,IAAI,qBAAqB;CACnC"}
@@ -1,8 +1,8 @@
1
1
  import { LogContext } from '@rocicorp/logger';
2
2
  import type { PostgresDB } from '../../types/pg.js';
3
+ import { type Commit } from '../change-source/protocol/current/downstream.js';
3
4
  import type { Service } from '../service.js';
4
5
  import type { WatermarkedChange } from './change-streamer-service.js';
5
- import { type Commit } from './change-streamer.js';
6
6
  import { Subscriber } from './subscriber.js';
7
7
  /**
8
8
  * Handles the storage of changes and the catchup of subscribers
@@ -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,mBAAmB,CAAC;AAClD,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;AAC3C,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAA8B,KAAK,MAAM,EAAC,MAAM,sBAAsB,CAAC;AAC9E,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAU3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,qBAAa,MAAO,YAAW,OAAO;;IACpC,QAAQ,CAAC,EAAE,YAAY;IAMvB,QAAQ,CAAC,OAAO,wDAAqB;gBAGnC,EAAE,EAAE,UAAU,EACd,EAAE,EAAE,UAAU,EACd,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI;IAQzB,sBAAsB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAOhD,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA0B5D,KAAK,CAAC,KAAK,EAAE,iBAAiB;IAI9B,OAAO,CAAC,GAAG,EAAE,UAAU;IAIjB,GAAG;IA+KT,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;AAQ5C,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAC,KAAK,MAAM,EAAC,MAAM,iDAAiD,CAAC;AAC5E,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;AAC3C,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,8BAA8B,CAAC;AAGpE,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAU3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,qBAAa,MAAO,YAAW,OAAO;;IACpC,QAAQ,CAAC,EAAE,YAAY;IAMvB,QAAQ,CAAC,OAAO,wDAAqB;gBAGnC,EAAE,EAAE,UAAU,EACd,EAAE,EAAE,UAAU,EACd,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI;IAQzB,sBAAsB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAOhD,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA0B5D,KAAK,CAAC,KAAK,EAAE,iBAAiB;IAI9B,OAAO,CAAC,GAAG,EAAE,UAAU;IAIjB,GAAG;IAuJT,IAAI;CAIL"}
@@ -3,8 +3,11 @@ 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 '../../db/transaction-pool.js';
7
- import { ErrorType } from './change-streamer.js';
6
+ import * as Mode from '../../db/mode-enum.js';
7
+ import { TransactionPool } from '../../db/transaction-pool.js';
8
+ import {} from '../change-source/protocol/current/downstream.js';
9
+ import {} from './change-streamer.js';
10
+ import * as ErrorType from './error-type-enum.js';
8
11
  import { Subscriber } from './subscriber.js';
9
12
  /**
10
13
  * Handles the storage of changes and the catchup of subscribers
@@ -119,29 +122,8 @@ export class Storer {
119
122
  pos: tx.pos,
120
123
  change: change,
121
124
  };
122
- tx.pool.process(tx => [
123
- // Ignore conflicts to take into account transaction replay when an
124
- // acknowledgement doesn't reach upstream.
125
- tx `INSERT INTO cdc."changeLog" ${tx(entry)} ON CONFLICT DO NOTHING`,
126
- ]);
125
+ tx.pool.process(tx => [tx `INSERT INTO cdc."changeLog" ${tx(entry)}`]);
127
126
  if (tag === 'commit') {
128
- // Sanity check that there are no records between the preCommitWatermark
129
- // and the commit watermark.
130
- const { count } = await tx.pool.processReadTask(async (db) => {
131
- assert(tx);
132
- const results = await db `
133
- SELECT COUNT(*) as count FROM cdc."changeLog"
134
- WHERE watermark > ${tx.preCommitWatermark} AND
135
- watermark < ${entry.watermark}
136
- `;
137
- return results[0];
138
- });
139
- if (count > 0) {
140
- const err = new Error(`Unexpected entries between precommit ${tx.preCommitWatermark} and commit ${watermark}`);
141
- tx.pool.fail(err);
142
- await tx.pool.done();
143
- throw err; // tx.pool.done() throws, but this makes it clearer.
144
- }
145
127
  tx.pool.setDone();
146
128
  await tx.pool.done();
147
129
  tx = null;
@@ -232,7 +214,7 @@ function toDownstream(entry) {
232
214
  const { watermark, change } = entry;
233
215
  switch (change.tag) {
234
216
  case 'begin':
235
- return [watermark, ['begin', change]];
217
+ return [watermark, ['begin', change, { commitWatermark: watermark }]];
236
218
  case 'commit':
237
219
  return [watermark, ['commit', change, { watermark }]];
238
220
  case 'rollback':
@@ -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,6 +1,9 @@
1
+ import type { Enum } from '../../../../shared/src/enum.js';
1
2
  import { Subscription } from '../../types/subscription.js';
2
3
  import type { WatermarkedChange } from './change-streamer-service.js';
3
- import { type Downstream, ErrorType } from './change-streamer.js';
4
+ import { type Downstream } from './change-streamer.js';
5
+ import * as ErrorType from './error-type-enum.js';
6
+ type ErrorType = Enum<typeof ErrorType>;
4
7
  /**
5
8
  * Encapsulates a subscriber to changes. All subscribers start in a
6
9
  * "catchup" phase in which changes are buffered in a backlog while the
@@ -25,4 +28,5 @@ export declare class Subscriber {
25
28
  fail(err?: unknown): void;
26
29
  close(error?: ErrorType, message?: string): void;
27
30
  }
31
+ export {};
28
32
  //# sourceMappingURL=subscriber.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"subscriber.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/change-streamer/subscriber.ts"],"names":[],"mappings":"AAEA,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;gBAOlB,EAAE,EAAE,MAAM,EACV,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,YAAY,CAAC,UAAU,CAAC;IAStC,IAAI,SAAS,WAEZ;IAED,IAAI,KAAK,WAER;IAED,IAAI,CAAC,MAAM,EAAE,iBAAiB;IAW9B,kEAAkE;IAClE,OAAO,CAAC,MAAM,EAAE,iBAAiB;IAIjC;;;OAGG;IACH,WAAW;IAuBX,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO;IAIlB,KAAK,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,MAAM;CAS1C"}
1
+ {"version":3,"file":"subscriber.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/change-streamer/subscriber.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,gCAAgC,CAAC;AAEzD,OAAO,EAAC,YAAY,EAAC,MAAM,6BAA6B,CAAC;AACzD,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAC,KAAK,UAAU,EAAC,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAC;AAElD,KAAK,SAAS,GAAG,IAAI,CAAC,OAAO,SAAS,CAAC,CAAC;AAExC;;;;;;GAMG;AACH,qBAAa,UAAU;;IACrB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;gBAOlB,EAAE,EAAE,MAAM,EACV,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,YAAY,CAAC,UAAU,CAAC;IAStC,IAAI,SAAS,WAEZ;IAED,IAAI,KAAK,WAER;IAED,IAAI,CAAC,MAAM,EAAE,iBAAiB;IAW9B,kEAAkE;IAClE,OAAO,CAAC,MAAM,EAAE,iBAAiB;IAIjC;;;OAGG;IACH,WAAW;IAuBX,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO;IAIlB,KAAK,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,MAAM;CAS1C"}
@@ -1,7 +1,8 @@
1
1
  import { assert } from '../../../../shared/src/asserts.js';
2
2
  import { max } from '../../types/lexi-version.js';
3
3
  import { Subscription } from '../../types/subscription.js';
4
- import { ErrorType } from './change-streamer.js';
4
+ import {} from './change-streamer.js';
5
+ import * as ErrorType from './error-type-enum.js';
5
6
  /**
6
7
  * Encapsulates a subscriber to changes. All subscribers start in a
7
8
  * "catchup" phase in which changes are buffered in a backlog while the
@@ -1 +1 @@
1
- {"version":3,"file":"subscriber.js","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/change-streamer/subscriber.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"subscriber.js","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/change-streamer/subscriber.ts"],"names":[],"mappings":"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"}