@rocicorp/zero 0.11.2025011402 → 0.11.2025011801

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 (282) hide show
  1. package/out/{chunk-AII6TS5B.js → chunk-QV5ZN4MA.js} +635 -1834
  2. package/out/chunk-QV5ZN4MA.js.map +7 -0
  3. package/out/react.js.map +2 -2
  4. package/out/shared/src/btree-set.d.ts +34 -0
  5. package/out/shared/src/btree-set.d.ts.map +1 -0
  6. package/out/shared/src/btree-set.js +528 -0
  7. package/out/shared/src/btree-set.js.map +1 -0
  8. package/out/shared/src/expand.d.ts +3 -0
  9. package/out/shared/src/expand.d.ts.map +1 -1
  10. package/out/solid.js +7 -2
  11. package/out/solid.js.map +2 -2
  12. package/out/zero-advanced/src/mod.d.ts +1 -1
  13. package/out/zero-advanced/src/mod.d.ts.map +1 -1
  14. package/out/zero-cache/src/auth/load-schema.d.ts +1 -1
  15. package/out/zero-cache/src/auth/load-schema.d.ts.map +1 -1
  16. package/out/zero-cache/src/auth/write-authorizer.d.ts +1 -1
  17. package/out/zero-cache/src/auth/write-authorizer.d.ts.map +1 -1
  18. package/out/zero-cache/src/auth/write-authorizer.js +3 -6
  19. package/out/zero-cache/src/auth/write-authorizer.js.map +1 -1
  20. package/out/zero-cache/src/db/lite-tables.d.ts +14 -1
  21. package/out/zero-cache/src/db/lite-tables.d.ts.map +1 -1
  22. package/out/zero-cache/src/db/lite-tables.js +89 -6
  23. package/out/zero-cache/src/db/lite-tables.js.map +1 -1
  24. package/out/zero-cache/src/db/pg-to-lite.d.ts.map +1 -1
  25. package/out/zero-cache/src/db/pg-to-lite.js +3 -1
  26. package/out/zero-cache/src/db/pg-to-lite.js.map +1 -1
  27. package/out/zero-cache/src/db/postgres-replica-identity-enum.d.ts +9 -0
  28. package/out/zero-cache/src/db/postgres-replica-identity-enum.d.ts.map +1 -0
  29. package/out/zero-cache/src/db/postgres-replica-identity-enum.js +7 -0
  30. package/out/zero-cache/src/db/postgres-replica-identity-enum.js.map +1 -0
  31. package/out/zero-cache/src/db/specs.d.ts +39 -10
  32. package/out/zero-cache/src/db/specs.d.ts.map +1 -1
  33. package/out/zero-cache/src/db/specs.js +8 -1
  34. package/out/zero-cache/src/db/specs.js.map +1 -1
  35. package/out/zero-cache/src/server/change-streamer.d.ts.map +1 -1
  36. package/out/zero-cache/src/server/change-streamer.js +1 -1
  37. package/out/zero-cache/src/server/change-streamer.js.map +1 -1
  38. package/out/zero-cache/src/server/life-cycle.d.ts +2 -2
  39. package/out/zero-cache/src/server/life-cycle.d.ts.map +1 -1
  40. package/out/zero-cache/src/server/life-cycle.js +12 -3
  41. package/out/zero-cache/src/server/life-cycle.js.map +1 -1
  42. package/out/zero-cache/src/server/main.d.ts.map +1 -1
  43. package/out/zero-cache/src/server/main.js +11 -6
  44. package/out/zero-cache/src/server/main.js.map +1 -1
  45. package/out/zero-cache/src/server/multi/config.d.ts +14 -14
  46. package/out/zero-cache/src/server/multi/config.d.ts.map +1 -1
  47. package/out/zero-cache/src/server/multi/config.js +24 -2
  48. package/out/zero-cache/src/server/multi/config.js.map +1 -1
  49. package/out/zero-cache/src/server/multi/main.d.ts.map +1 -1
  50. package/out/zero-cache/src/server/multi/main.js +28 -8
  51. package/out/zero-cache/src/server/multi/main.js.map +1 -1
  52. package/out/zero-cache/src/server/multi/tenant-dispatcher.d.ts +1 -1
  53. package/out/zero-cache/src/server/multi/tenant-dispatcher.d.ts.map +1 -1
  54. package/out/zero-cache/src/server/multi/tenant-dispatcher.js +15 -3
  55. package/out/zero-cache/src/server/multi/tenant-dispatcher.js.map +1 -1
  56. package/out/zero-cache/src/server/replicator.js +2 -3
  57. package/out/zero-cache/src/server/replicator.js.map +1 -1
  58. package/out/zero-cache/src/services/change-source/pg/change-source.d.ts +4 -4
  59. package/out/zero-cache/src/services/change-source/pg/change-source.d.ts.map +1 -1
  60. package/out/zero-cache/src/services/change-source/pg/change-source.js +50 -32
  61. package/out/zero-cache/src/services/change-source/pg/change-source.js.map +1 -1
  62. package/out/zero-cache/src/services/change-source/pg/schema/ddl.d.ts +45 -25
  63. package/out/zero-cache/src/services/change-source/pg/schema/ddl.d.ts.map +1 -1
  64. package/out/zero-cache/src/services/change-source/pg/schema/init.d.ts.map +1 -1
  65. package/out/zero-cache/src/services/change-source/pg/schema/init.js +6 -28
  66. package/out/zero-cache/src/services/change-source/pg/schema/init.js.map +1 -1
  67. package/out/zero-cache/src/services/change-source/pg/schema/published.d.ts +18 -10
  68. package/out/zero-cache/src/services/change-source/pg/schema/published.d.ts.map +1 -1
  69. package/out/zero-cache/src/services/change-source/pg/schema/published.js +14 -7
  70. package/out/zero-cache/src/services/change-source/pg/schema/published.js.map +1 -1
  71. package/out/zero-cache/src/services/change-source/pg/schema/shard.d.ts +7 -4
  72. package/out/zero-cache/src/services/change-source/pg/schema/shard.d.ts.map +1 -1
  73. package/out/zero-cache/src/services/change-source/pg/schema/shard.js +29 -1
  74. package/out/zero-cache/src/services/change-source/pg/schema/shard.js.map +1 -1
  75. package/out/zero-cache/src/services/change-source/pg/schema/validation.d.ts +2 -2
  76. package/out/zero-cache/src/services/change-source/pg/schema/validation.d.ts.map +1 -1
  77. package/out/zero-cache/src/services/change-source/pg/schema/validation.js +8 -4
  78. package/out/zero-cache/src/services/change-source/pg/schema/validation.js.map +1 -1
  79. package/out/zero-cache/src/services/change-source/pg/sync-schema.d.ts.map +1 -1
  80. package/out/zero-cache/src/services/change-source/pg/sync-schema.js +1 -0
  81. package/out/zero-cache/src/services/change-source/pg/sync-schema.js.map +1 -1
  82. package/out/zero-cache/src/services/change-source/protocol/current/data.d.ts +10 -10
  83. package/out/zero-cache/src/services/change-source/protocol/current/downstream.d.ts +17 -15
  84. package/out/zero-cache/src/services/change-source/protocol/current/downstream.d.ts.map +1 -1
  85. package/out/zero-cache/src/services/change-source/protocol/current/downstream.js +2 -1
  86. package/out/zero-cache/src/services/change-source/protocol/current/downstream.js.map +1 -1
  87. package/out/zero-cache/src/services/change-source/protocol/current/mod.d.ts +1 -0
  88. package/out/zero-cache/src/services/change-source/protocol/current/mod.d.ts.map +1 -1
  89. package/out/zero-cache/src/services/change-source/protocol/current/mod.js +1 -0
  90. package/out/zero-cache/src/services/change-source/protocol/current/mod.js.map +1 -1
  91. package/out/zero-cache/src/services/change-source/protocol/current/status.d.ts +38 -0
  92. package/out/zero-cache/src/services/change-source/protocol/current/status.d.ts.map +1 -0
  93. package/out/zero-cache/src/services/change-source/protocol/current/status.js +14 -0
  94. package/out/zero-cache/src/services/change-source/protocol/current/status.js.map +1 -0
  95. package/out/zero-cache/src/services/change-source/protocol/current/upstream.d.ts +3 -13
  96. package/out/zero-cache/src/services/change-source/protocol/current/upstream.d.ts.map +1 -1
  97. package/out/zero-cache/src/services/change-source/protocol/current/upstream.js +3 -10
  98. package/out/zero-cache/src/services/change-source/protocol/current/upstream.js.map +1 -1
  99. package/out/zero-cache/src/services/change-streamer/change-streamer-http.d.ts +7 -3
  100. package/out/zero-cache/src/services/change-streamer/change-streamer-http.d.ts.map +1 -1
  101. package/out/zero-cache/src/services/change-streamer/change-streamer-http.js +30 -24
  102. package/out/zero-cache/src/services/change-streamer/change-streamer-http.js.map +1 -1
  103. package/out/zero-cache/src/services/change-streamer/change-streamer-service.d.ts +6 -4
  104. package/out/zero-cache/src/services/change-streamer/change-streamer-service.d.ts.map +1 -1
  105. package/out/zero-cache/src/services/change-streamer/change-streamer-service.js +4 -1
  106. package/out/zero-cache/src/services/change-streamer/change-streamer-service.js.map +1 -1
  107. package/out/zero-cache/src/services/change-streamer/change-streamer.d.ts +5 -5
  108. package/out/zero-cache/src/services/change-streamer/storer.d.ts +3 -1
  109. package/out/zero-cache/src/services/change-streamer/storer.d.ts.map +1 -1
  110. package/out/zero-cache/src/services/change-streamer/storer.js +18 -10
  111. package/out/zero-cache/src/services/change-streamer/storer.js.map +1 -1
  112. package/out/zero-cache/src/services/dispatcher/websocket-handoff.d.ts.map +1 -1
  113. package/out/zero-cache/src/services/dispatcher/websocket-handoff.js +2 -16
  114. package/out/zero-cache/src/services/dispatcher/websocket-handoff.js.map +1 -1
  115. package/out/zero-cache/src/services/http-service.d.ts +1 -1
  116. package/out/zero-cache/src/services/http-service.d.ts.map +1 -1
  117. package/out/zero-cache/src/services/http-service.js +1 -0
  118. package/out/zero-cache/src/services/http-service.js.map +1 -1
  119. package/out/zero-cache/src/services/litestream/commands.d.ts.map +1 -1
  120. package/out/zero-cache/src/services/litestream/commands.js +6 -2
  121. package/out/zero-cache/src/services/litestream/commands.js.map +1 -1
  122. package/out/zero-cache/src/services/mutagen/mutagen.d.ts +1 -1
  123. package/out/zero-cache/src/services/mutagen/mutagen.d.ts.map +1 -1
  124. package/out/zero-cache/src/services/replicator/incremental-sync.d.ts +1 -1
  125. package/out/zero-cache/src/services/replicator/incremental-sync.d.ts.map +1 -1
  126. package/out/zero-cache/src/services/replicator/incremental-sync.js +15 -5
  127. package/out/zero-cache/src/services/replicator/incremental-sync.js.map +1 -1
  128. package/out/zero-cache/src/services/replicator/replicator.d.ts.map +1 -1
  129. package/out/zero-cache/src/services/replicator/replicator.js +4 -2
  130. package/out/zero-cache/src/services/replicator/replicator.js.map +1 -1
  131. package/out/zero-cache/src/services/view-syncer/cvr-store.d.ts.map +1 -1
  132. package/out/zero-cache/src/services/view-syncer/cvr-store.js +20 -51
  133. package/out/zero-cache/src/services/view-syncer/cvr-store.js.map +1 -1
  134. package/out/zero-cache/src/services/view-syncer/pipeline-driver.d.ts +0 -5
  135. package/out/zero-cache/src/services/view-syncer/pipeline-driver.d.ts.map +1 -1
  136. package/out/zero-cache/src/services/view-syncer/pipeline-driver.js +18 -35
  137. package/out/zero-cache/src/services/view-syncer/pipeline-driver.js.map +1 -1
  138. package/out/zero-cache/src/services/view-syncer/snapshotter.d.ts +3 -3
  139. package/out/zero-cache/src/services/view-syncer/snapshotter.d.ts.map +1 -1
  140. package/out/zero-cache/src/services/view-syncer/snapshotter.js.map +1 -1
  141. package/out/zero-cache/src/types/processes.d.ts.map +1 -1
  142. package/out/zero-cache/src/types/processes.js +17 -2
  143. package/out/zero-cache/src/types/processes.js.map +1 -1
  144. package/out/zero-cache/src/types/row-key.d.ts.map +1 -1
  145. package/out/zero-cache/src/types/row-key.js +7 -1
  146. package/out/zero-cache/src/types/row-key.js.map +1 -1
  147. package/out/zero-cache/src/types/ws.d.ts +4 -0
  148. package/out/zero-cache/src/types/ws.d.ts.map +1 -0
  149. package/out/zero-cache/src/types/ws.js +19 -0
  150. package/out/zero-cache/src/types/ws.js.map +1 -0
  151. package/out/zero-client/src/client/context.d.ts.map +1 -1
  152. package/out/zero-client/src/client/crud.d.ts +3 -4
  153. package/out/zero-client/src/client/crud.d.ts.map +1 -1
  154. package/out/zero-client/src/client/keys.d.ts +2 -2
  155. package/out/zero-client/src/client/keys.d.ts.map +1 -1
  156. package/out/zero-client/src/client/zero-poke-handler.d.ts +3 -3
  157. package/out/zero-client/src/client/zero-poke-handler.d.ts.map +1 -1
  158. package/out/zero-client/src/client/zero.d.ts +1 -1
  159. package/out/zero-client/src/client/zero.d.ts.map +1 -1
  160. package/out/zero-client/src/mod.d.ts +5 -4
  161. package/out/zero-client/src/mod.d.ts.map +1 -1
  162. package/out/zero-react/src/use-query.d.ts +6 -5
  163. package/out/zero-react/src/use-query.d.ts.map +1 -1
  164. package/out/zero-schema/src/builder/relationship-builder.d.ts +50 -0
  165. package/out/zero-schema/src/builder/relationship-builder.d.ts.map +1 -0
  166. package/out/zero-schema/src/builder/relationship-builder.js +24 -0
  167. package/out/zero-schema/src/builder/relationship-builder.js.map +1 -0
  168. package/out/zero-schema/src/builder/schema-builder.d.ts +40 -0
  169. package/out/zero-schema/src/builder/schema-builder.d.ts.map +1 -0
  170. package/out/zero-schema/src/builder/schema-builder.js +51 -0
  171. package/out/zero-schema/src/builder/schema-builder.js.map +1 -0
  172. package/out/zero-schema/src/builder/table-builder.d.ts +69 -0
  173. package/out/zero-schema/src/builder/table-builder.d.ts.map +1 -0
  174. package/out/zero-schema/src/builder/table-builder.js +102 -0
  175. package/out/zero-schema/src/builder/table-builder.js.map +1 -0
  176. package/out/zero-schema/src/mod.d.ts +2 -2
  177. package/out/zero-schema/src/mod.d.ts.map +1 -1
  178. package/out/zero-schema/src/permissions.d.ts +11 -12
  179. package/out/zero-schema/src/permissions.d.ts.map +1 -1
  180. package/out/zero-schema/src/schema-config.d.ts +2 -4
  181. package/out/zero-schema/src/schema-config.d.ts.map +1 -1
  182. package/out/zero-schema/src/schema-config.js +12 -61
  183. package/out/zero-schema/src/schema-config.js.map +1 -1
  184. package/out/zero-schema/src/table-schema.d.ts +28 -53
  185. package/out/zero-schema/src/table-schema.d.ts.map +1 -1
  186. package/out/zero-schema/src/table-schema.js +6 -13
  187. package/out/zero-schema/src/table-schema.js.map +1 -1
  188. package/out/zero-solid/src/solid-view.d.ts +4 -3
  189. package/out/zero-solid/src/solid-view.d.ts.map +1 -1
  190. package/out/zero-solid/src/use-query.d.ts +5 -4
  191. package/out/zero-solid/src/use-query.d.ts.map +1 -1
  192. package/out/zero.js +17 -7
  193. package/out/zql/src/ivm/exists.d.ts +1 -1
  194. package/out/zql/src/ivm/exists.d.ts.map +1 -1
  195. package/out/zql/src/ivm/exists.js +3 -3
  196. package/out/zql/src/ivm/exists.js.map +1 -1
  197. package/out/zql/src/ivm/fan-in.d.ts +1 -1
  198. package/out/zql/src/ivm/fan-in.d.ts.map +1 -1
  199. package/out/zql/src/ivm/fan-in.js +3 -2
  200. package/out/zql/src/ivm/fan-in.js.map +1 -1
  201. package/out/zql/src/ivm/filter.d.ts +1 -1
  202. package/out/zql/src/ivm/filter.d.ts.map +1 -1
  203. package/out/zql/src/ivm/filter.js +3 -3
  204. package/out/zql/src/ivm/filter.js.map +1 -1
  205. package/out/zql/src/ivm/join.d.ts +1 -1
  206. package/out/zql/src/ivm/join.d.ts.map +1 -1
  207. package/out/zql/src/ivm/join.js +2 -3
  208. package/out/zql/src/ivm/join.js.map +1 -1
  209. package/out/zql/src/ivm/memory-source.js +8 -10
  210. package/out/zql/src/ivm/memory-source.js.map +1 -1
  211. package/out/zql/src/ivm/memory-storage.d.ts.map +1 -1
  212. package/out/zql/src/ivm/operator.d.ts +5 -0
  213. package/out/zql/src/ivm/operator.d.ts.map +1 -1
  214. package/out/zql/src/ivm/operator.js +9 -0
  215. package/out/zql/src/ivm/operator.js.map +1 -1
  216. package/out/zql/src/ivm/skip.d.ts +1 -1
  217. package/out/zql/src/ivm/skip.d.ts.map +1 -1
  218. package/out/zql/src/ivm/skip.js +2 -3
  219. package/out/zql/src/ivm/skip.js.map +1 -1
  220. package/out/zql/src/ivm/take.d.ts +1 -1
  221. package/out/zql/src/ivm/take.d.ts.map +1 -1
  222. package/out/zql/src/ivm/take.js +2 -3
  223. package/out/zql/src/ivm/take.js.map +1 -1
  224. package/out/zql/src/ivm/view.d.ts +3 -3
  225. package/out/zql/src/ivm/view.d.ts.map +1 -1
  226. package/out/zql/src/query/auth-query.d.ts +9 -10
  227. package/out/zql/src/query/auth-query.d.ts.map +1 -1
  228. package/out/zql/src/query/auth-query.js +6 -7
  229. package/out/zql/src/query/auth-query.js.map +1 -1
  230. package/out/zql/src/query/expression.d.ts +11 -13
  231. package/out/zql/src/query/expression.d.ts.map +1 -1
  232. package/out/zql/src/query/expression.js +1 -1
  233. package/out/zql/src/query/expression.js.map +1 -1
  234. package/out/zql/src/query/query-impl.d.ts +26 -25
  235. package/out/zql/src/query/query-impl.d.ts.map +1 -1
  236. package/out/zql/src/query/query-impl.js +76 -52
  237. package/out/zql/src/query/query-impl.js.map +1 -1
  238. package/out/zql/src/query/query-internal.d.ts +5 -5
  239. package/out/zql/src/query/query-internal.d.ts.map +1 -1
  240. package/out/zql/src/query/query.d.ts +37 -80
  241. package/out/zql/src/query/query.d.ts.map +1 -1
  242. package/out/zql/src/query/query.js +0 -1
  243. package/out/zql/src/query/query.js.map +1 -1
  244. package/out/zqlite/src/table-source.d.ts.map +1 -1
  245. package/out/zqlite/src/table-source.js +33 -11
  246. package/out/zqlite/src/table-source.js.map +1 -1
  247. package/package.json +4 -4
  248. package/out/btree/b+tree.d.ts +0 -471
  249. package/out/btree/b+tree.d.ts.map +0 -1
  250. package/out/btree/b+tree.js +0 -1708
  251. package/out/btree/b+tree.js.map +0 -1
  252. package/out/btree/interfaces.d.ts +0 -270
  253. package/out/btree/interfaces.d.ts.map +0 -1
  254. package/out/btree/interfaces.js +0 -3
  255. package/out/btree/interfaces.js.map +0 -1
  256. package/out/btree/src/mod.d.ts +0 -2
  257. package/out/btree/src/mod.d.ts.map +0 -1
  258. package/out/btree/src/mod.js +0 -2
  259. package/out/btree/src/mod.js.map +0 -1
  260. package/out/chunk-AII6TS5B.js.map +0 -7
  261. package/out/shared/src/sorted-entries.d.ts +0 -2
  262. package/out/shared/src/sorted-entries.d.ts.map +0 -1
  263. package/out/shared/src/sorted-entries.js +0 -6
  264. package/out/shared/src/sorted-entries.js.map +0 -1
  265. package/out/zero-cache/src/db/queries.d.ts +0 -24
  266. package/out/zero-cache/src/db/queries.d.ts.map +0 -1
  267. package/out/zero-cache/src/db/queries.js +0 -60
  268. package/out/zero-cache/src/db/queries.js.map +0 -1
  269. package/out/zero-schema/src/column.d.ts +0 -79
  270. package/out/zero-schema/src/column.d.ts.map +0 -1
  271. package/out/zero-schema/src/normalize-table-schema.d.ts +0 -51
  272. package/out/zero-schema/src/normalize-table-schema.d.ts.map +0 -1
  273. package/out/zero-schema/src/normalize-table-schema.js +0 -122
  274. package/out/zero-schema/src/normalize-table-schema.js.map +0 -1
  275. package/out/zero-schema/src/normalized-schema.d.ts +0 -22
  276. package/out/zero-schema/src/normalized-schema.d.ts.map +0 -1
  277. package/out/zero-schema/src/normalized-schema.js +0 -48
  278. package/out/zero-schema/src/normalized-schema.js.map +0 -1
  279. package/out/zero-schema/src/schema.d.ts +0 -9
  280. package/out/zero-schema/src/schema.d.ts.map +0 -1
  281. package/out/zero-schema/src/schema.js +0 -9
  282. package/out/zero-schema/src/schema.js.map +0 -1
@@ -50,14 +50,14 @@ declare const data: v.TupleType<[v.Type<"data">, v.UnionType<[v.ObjectType<{
50
50
  spec: v.ObjectType<Omit<{
51
51
  name: v.Type<string>;
52
52
  columns: v.Type<Record<string, {
53
- pgTypeClass?: "e" | "b" | "c" | "d" | "p" | "r" | "m" | undefined;
53
+ pgTypeClass?: "e" | "d" | "b" | "c" | "p" | "r" | "m" | undefined;
54
54
  characterMaximumLength?: number | null | undefined;
55
55
  notNull?: boolean | null | undefined;
56
56
  dflt?: string | null | undefined;
57
57
  pos: number;
58
58
  dataType: string;
59
59
  }>>;
60
- primaryKey: v.ArrayType<v.Type<string>>;
60
+ primaryKey: v.Optional<string[]>;
61
61
  }, "schema"> & {
62
62
  schema: v.Type<string>;
63
63
  }, undefined>;
@@ -82,7 +82,7 @@ declare const data: v.TupleType<[v.Type<"data">, v.UnionType<[v.ObjectType<{
82
82
  spec: v.ObjectType<{
83
83
  pos: v.Type<number>;
84
84
  dataType: v.Type<string>;
85
- pgTypeClass: v.Optional<"e" | "b" | "c" | "d" | "p" | "r" | "m">;
85
+ pgTypeClass: v.Optional<"e" | "d" | "b" | "c" | "p" | "r" | "m">;
86
86
  characterMaximumLength: v.Optional<number | null>;
87
87
  notNull: v.Optional<boolean | null>;
88
88
  dflt: v.Optional<string | null>;
@@ -99,7 +99,7 @@ declare const data: v.TupleType<[v.Type<"data">, v.UnionType<[v.ObjectType<{
99
99
  spec: v.ObjectType<{
100
100
  pos: v.Type<number>;
101
101
  dataType: v.Type<string>;
102
- pgTypeClass: v.Optional<"e" | "b" | "c" | "d" | "p" | "r" | "m">;
102
+ pgTypeClass: v.Optional<"e" | "d" | "b" | "c" | "p" | "r" | "m">;
103
103
  characterMaximumLength: v.Optional<number | null>;
104
104
  notNull: v.Optional<boolean | null>;
105
105
  dflt: v.Optional<string | null>;
@@ -110,7 +110,7 @@ declare const data: v.TupleType<[v.Type<"data">, v.UnionType<[v.ObjectType<{
110
110
  spec: v.ObjectType<{
111
111
  pos: v.Type<number>;
112
112
  dataType: v.Type<string>;
113
- pgTypeClass: v.Optional<"e" | "b" | "c" | "d" | "p" | "r" | "m">;
113
+ pgTypeClass: v.Optional<"e" | "d" | "b" | "c" | "p" | "r" | "m">;
114
114
  characterMaximumLength: v.Optional<number | null>;
115
115
  notNull: v.Optional<boolean | null>;
116
116
  dflt: v.Optional<string | null>;
@@ -208,14 +208,14 @@ export declare const changeStreamDataSchema: v.UnionType<[v.TupleType<[v.Type<"b
208
208
  spec: v.ObjectType<Omit<{
209
209
  name: v.Type<string>;
210
210
  columns: v.Type<Record<string, {
211
- pgTypeClass?: "e" | "b" | "c" | "d" | "p" | "r" | "m" | undefined;
211
+ pgTypeClass?: "e" | "d" | "b" | "c" | "p" | "r" | "m" | undefined;
212
212
  characterMaximumLength?: number | null | undefined;
213
213
  notNull?: boolean | null | undefined;
214
214
  dflt?: string | null | undefined;
215
215
  pos: number;
216
216
  dataType: string;
217
217
  }>>;
218
- primaryKey: v.ArrayType<v.Type<string>>;
218
+ primaryKey: v.Optional<string[]>;
219
219
  }, "schema"> & {
220
220
  schema: v.Type<string>;
221
221
  }, undefined>;
@@ -240,7 +240,7 @@ export declare const changeStreamDataSchema: v.UnionType<[v.TupleType<[v.Type<"b
240
240
  spec: v.ObjectType<{
241
241
  pos: v.Type<number>;
242
242
  dataType: v.Type<string>;
243
- pgTypeClass: v.Optional<"e" | "b" | "c" | "d" | "p" | "r" | "m">;
243
+ pgTypeClass: v.Optional<"e" | "d" | "b" | "c" | "p" | "r" | "m">;
244
244
  characterMaximumLength: v.Optional<number | null>;
245
245
  notNull: v.Optional<boolean | null>;
246
246
  dflt: v.Optional<string | null>;
@@ -257,7 +257,7 @@ export declare const changeStreamDataSchema: v.UnionType<[v.TupleType<[v.Type<"b
257
257
  spec: v.ObjectType<{
258
258
  pos: v.Type<number>;
259
259
  dataType: v.Type<string>;
260
- pgTypeClass: v.Optional<"e" | "b" | "c" | "d" | "p" | "r" | "m">;
260
+ pgTypeClass: v.Optional<"e" | "d" | "b" | "c" | "p" | "r" | "m">;
261
261
  characterMaximumLength: v.Optional<number | null>;
262
262
  notNull: v.Optional<boolean | null>;
263
263
  dflt: v.Optional<string | null>;
@@ -268,7 +268,7 @@ export declare const changeStreamDataSchema: v.UnionType<[v.TupleType<[v.Type<"b
268
268
  spec: v.ObjectType<{
269
269
  pos: v.Type<number>;
270
270
  dataType: v.Type<string>;
271
- pgTypeClass: v.Optional<"e" | "b" | "c" | "d" | "p" | "r" | "m">;
271
+ pgTypeClass: v.Optional<"e" | "d" | "b" | "c" | "p" | "r" | "m">;
272
272
  characterMaximumLength: v.Optional<number | null>;
273
273
  notNull: v.Optional<boolean | null>;
274
274
  dflt: v.Optional<string | null>;
@@ -366,14 +366,14 @@ export declare const changeStreamMessageSchema: v.UnionType<[v.UnionType<[v.Tupl
366
366
  spec: v.ObjectType<Omit<{
367
367
  name: v.Type<string>;
368
368
  columns: v.Type<Record<string, {
369
- pgTypeClass?: "e" | "b" | "c" | "d" | "p" | "r" | "m" | undefined;
369
+ pgTypeClass?: "e" | "d" | "b" | "c" | "p" | "r" | "m" | undefined;
370
370
  characterMaximumLength?: number | null | undefined;
371
371
  notNull?: boolean | null | undefined;
372
372
  dflt?: string | null | undefined;
373
373
  pos: number;
374
374
  dataType: string;
375
375
  }>>;
376
- primaryKey: v.ArrayType<v.Type<string>>;
376
+ primaryKey: v.Optional<string[]>;
377
377
  }, "schema"> & {
378
378
  schema: v.Type<string>;
379
379
  }, undefined>;
@@ -398,7 +398,7 @@ export declare const changeStreamMessageSchema: v.UnionType<[v.UnionType<[v.Tupl
398
398
  spec: v.ObjectType<{
399
399
  pos: v.Type<number>;
400
400
  dataType: v.Type<string>;
401
- pgTypeClass: v.Optional<"e" | "b" | "c" | "d" | "p" | "r" | "m">;
401
+ pgTypeClass: v.Optional<"e" | "d" | "b" | "c" | "p" | "r" | "m">;
402
402
  characterMaximumLength: v.Optional<number | null>;
403
403
  notNull: v.Optional<boolean | null>;
404
404
  dflt: v.Optional<string | null>;
@@ -415,7 +415,7 @@ export declare const changeStreamMessageSchema: v.UnionType<[v.UnionType<[v.Tupl
415
415
  spec: v.ObjectType<{
416
416
  pos: v.Type<number>;
417
417
  dataType: v.Type<string>;
418
- pgTypeClass: v.Optional<"e" | "b" | "c" | "d" | "p" | "r" | "m">;
418
+ pgTypeClass: v.Optional<"e" | "d" | "b" | "c" | "p" | "r" | "m">;
419
419
  characterMaximumLength: v.Optional<number | null>;
420
420
  notNull: v.Optional<boolean | null>;
421
421
  dflt: v.Optional<string | null>;
@@ -426,7 +426,7 @@ export declare const changeStreamMessageSchema: v.UnionType<[v.UnionType<[v.Tupl
426
426
  spec: v.ObjectType<{
427
427
  pos: v.Type<number>;
428
428
  dataType: v.Type<string>;
429
- pgTypeClass: v.Optional<"e" | "b" | "c" | "d" | "p" | "r" | "m">;
429
+ pgTypeClass: v.Optional<"e" | "d" | "b" | "c" | "p" | "r" | "m">;
430
430
  characterMaximumLength: v.Optional<number | null>;
431
431
  notNull: v.Optional<boolean | null>;
432
432
  dflt: v.Optional<string | null>;
@@ -469,6 +469,8 @@ export declare const changeStreamMessageSchema: v.UnionType<[v.UnionType<[v.Tupl
469
469
  tag: v.Type<"rollback">;
470
470
  }, undefined>]>]>, v.TupleType<[v.Type<"control">, v.ObjectType<{
471
471
  tag: v.Type<"reset-required">;
472
+ }, undefined>]>, v.TupleType<[v.Type<"status">, v.ObjectType<{}, undefined>, v.ObjectType<{
473
+ watermark: v.Type<string>;
472
474
  }, undefined>]>]>;
473
475
  export type ChangeStreamMessage = v.Infer<typeof changeStreamMessageSchema>;
474
476
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"downstream.d.ts","sourceRoot":"","sources":["../../../../../../../../zero-cache/src/services/change-source/protocol/current/downstream.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,wCAAwC,CAAC;AAS5D,QAAA,MAAM,KAAK;;;;eAIT,CAAC;AACH,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAiD,CAAC;AAC5D,QAAA,MAAM,MAAM;;;;eAIV,CAAC;AACH,QAAA,MAAM,QAAQ;;eAAmD,CAAC;AAElE,MAAM,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,CAAC,CAAC;AAC1C,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;AACxC,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,MAAM,CAAC,CAAC;AAC5C,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,QAAQ,CAAC,CAAC;AAEhD,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAyC,CAAC;AAC7E,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,eAAO,MAAM,yBAAyB;;eAGpC,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E,4EAA4E;AAC5E,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAGrC,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC"}
1
+ {"version":3,"file":"downstream.d.ts","sourceRoot":"","sources":["../../../../../../../../zero-cache/src/services/change-source/protocol/current/downstream.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,wCAAwC,CAAC;AAU5D,QAAA,MAAM,KAAK;;;;eAIT,CAAC;AACH,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAiD,CAAC;AAC5D,QAAA,MAAM,MAAM;;;;eAIV,CAAC;AACH,QAAA,MAAM,QAAQ;;eAAmD,CAAC;AAElE,MAAM,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,CAAC,CAAC;AAC1C,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;AACxC,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,MAAM,CAAC,CAAC;AAC5C,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,QAAQ,CAAC,CAAC;AAEhD,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAyC,CAAC;AAC7E,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,eAAO,MAAM,yBAAyB;;eAGpC,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E,4EAA4E;AAC5E,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAIrC,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import * as v from '../../../../../../shared/src/valita.js';
2
2
  import { resetRequiredSchema } from './control.js';
3
3
  import { beginSchema, commitSchema, dataChangeSchema, rollbackSchema, } from './data.js';
4
+ import { statusMessageSchema } from './status.js';
4
5
  const begin = v.tuple([
5
6
  v.literal('begin'),
6
7
  beginSchema,
@@ -19,5 +20,5 @@ export const changeStreamControlSchema = v.tuple([
19
20
  resetRequiredSchema, // TODO: Add statusRequestedSchema
20
21
  ]);
21
22
  /** Downstream messages consist of data plane and control plane messages. */
22
- export const changeStreamMessageSchema = v.union(changeStreamDataSchema, changeStreamControlSchema);
23
+ export const changeStreamMessageSchema = v.union(changeStreamDataSchema, changeStreamControlSchema, statusMessageSchema);
23
24
  //# sourceMappingURL=downstream.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"downstream.js","sourceRoot":"","sources":["../../../../../../../../zero-cache/src/services/change-source/protocol/current/downstream.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,wCAAwC,CAAC;AAC5D,OAAO,EAAC,mBAAmB,EAAC,MAAM,cAAc,CAAC;AACjD,OAAO,EACL,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,cAAc,GACf,MAAM,WAAW,CAAC;AAEnB,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;IACpB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;IAClB,WAAW;IACX,CAAC,CAAC,MAAM,CAAC,EAAC,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,EAAC,CAAC;CACxC,CAAC,CAAC;AACH,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;AAOlE,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;AAG7E,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC;IAC/C,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;IACpB,mBAAmB,EAAE,kCAAkC;CACxD,CAAC,CAAC;AAGH,4EAA4E;AAC5E,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAC9C,sBAAsB,EACtB,yBAAyB,CAC1B,CAAC"}
1
+ {"version":3,"file":"downstream.js","sourceRoot":"","sources":["../../../../../../../../zero-cache/src/services/change-source/protocol/current/downstream.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,wCAAwC,CAAC;AAC5D,OAAO,EAAC,mBAAmB,EAAC,MAAM,cAAc,CAAC;AACjD,OAAO,EACL,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,cAAc,GACf,MAAM,WAAW,CAAC;AACnB,OAAO,EAAC,mBAAmB,EAAC,MAAM,aAAa,CAAC;AAEhD,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;IACpB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;IAClB,WAAW;IACX,CAAC,CAAC,MAAM,CAAC,EAAC,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,EAAC,CAAC;CACxC,CAAC,CAAC;AACH,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;AAOlE,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;AAG7E,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC;IAC/C,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;IACpB,mBAAmB,EAAE,kCAAkC;CACxD,CAAC,CAAC;AAGH,4EAA4E;AAC5E,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAC9C,sBAAsB,EACtB,yBAAyB,EACzB,mBAAmB,CACpB,CAAC"}
@@ -2,5 +2,6 @@ export * from './control.js';
2
2
  export * from './data.js';
3
3
  export * from './downstream.js';
4
4
  export * from './path.js';
5
+ export * from './status.js';
5
6
  export * from './upstream.js';
6
7
  //# sourceMappingURL=mod.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../../../../../../../zero-cache/src/services/change-source/protocol/current/mod.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../../../../../../../zero-cache/src/services/change-source/protocol/current/mod.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC"}
@@ -2,5 +2,6 @@ export * from './control.js';
2
2
  export * from './data.js';
3
3
  export * from './downstream.js';
4
4
  export * from './path.js';
5
+ export * from './status.js';
5
6
  export * from './upstream.js';
6
7
  //# sourceMappingURL=mod.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mod.js","sourceRoot":"","sources":["../../../../../../../../zero-cache/src/services/change-source/protocol/current/mod.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"mod.js","sourceRoot":"","sources":["../../../../../../../../zero-cache/src/services/change-source/protocol/current/mod.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC"}
@@ -0,0 +1,38 @@
1
+ import * as v from '../../../../../../shared/src/valita.js';
2
+ /**
3
+ * The StatusMessage payload itself is unspecified. The `zero-cache` will
4
+ * send the Commit payload when acknowledging a completed transaction, and
5
+ * will echo back whatever message was sent from the ChangeSource when
6
+ * acknowledging a downstream StatusMessage.
7
+ */
8
+ export declare const statusSchema: v.ObjectType<{}, undefined>;
9
+ export declare const statusMessageSchema: v.TupleType<[v.Type<"status">, v.ObjectType<{}, undefined>, v.ObjectType<{
10
+ watermark: v.Type<string>;
11
+ }, undefined>]>;
12
+ /**
13
+ * A StatusMessage conveys positional information from both the ChangeSource
14
+ * and the `zero-cache`.
15
+ *
16
+ * A StatusMessage from the ChangeSource indicates a position in its change
17
+ * log. Generally, the watermarks sent in `Commit` messages already convey
18
+ * this information, but a StatusMessage may also be sent to indicate that the
19
+ * log has progressed without any corresponding changes relevant to the
20
+ * subscriber. The watermarks of commit messages and status messages must be
21
+ * monotonic in the stream of messages from the ChangeSource.
22
+ *
23
+ * The `zero-cache` sends StatusMessages to the ChangeSource:
24
+ *
25
+ * * when it has processed a `Commit` received from the ChangeSource
26
+ *
27
+ * * when it receives a `StatusMessage` and all preceding `Commit` messages
28
+ * have been processed
29
+ *
30
+ * This allows the ChangeSource to clean up change log entries appropriately.
31
+ *
32
+ * Note that StatusMessages from the ChangeSource are optional. If a
33
+ * ChangeSource implementation can track subscriber progress and clean up
34
+ * its change log purely from Commit-driven StatusMessages there is no need
35
+ * for the ChangeSource to send StatusMessages.
36
+ */
37
+ export type StatusMessage = v.Infer<typeof statusMessageSchema>;
38
+ //# sourceMappingURL=status.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../../../../../../zero-cache/src/services/change-source/protocol/current/status.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,wCAAwC,CAAC;AAE5D;;;;;GAKG;AACH,eAAO,MAAM,YAAY,6BAAe,CAAC;AAEzC,eAAO,MAAM,mBAAmB;;eAI9B,CAAC;AAEH;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC"}
@@ -0,0 +1,14 @@
1
+ import * as v from '../../../../../../shared/src/valita.js';
2
+ /**
3
+ * The StatusMessage payload itself is unspecified. The `zero-cache` will
4
+ * send the Commit payload when acknowledging a completed transaction, and
5
+ * will echo back whatever message was sent from the ChangeSource when
6
+ * acknowledging a downstream StatusMessage.
7
+ */
8
+ export const statusSchema = v.object({});
9
+ export const statusMessageSchema = v.tuple([
10
+ v.literal('status'),
11
+ statusSchema,
12
+ v.object({ watermark: v.string() }),
13
+ ]);
14
+ //# sourceMappingURL=status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../../../../../../../zero-cache/src/services/change-source/protocol/current/status.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,wCAAwC,CAAC;AAE5D;;;;;GAKG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAEzC,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC;IACzC,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"}
@@ -1,17 +1,7 @@
1
1
  import * as v from '../../../../../../shared/src/valita.js';
2
- /**
3
- * An acknowledgement is sent from the Change Streamer to the Change Source to
4
- * either or both:
5
- * * Indicate that it is connected and running, e.g. in response to an
6
- * "ack-requested" message.
7
- * * Indicate that it is caught up to a specific `watermark`.
8
- */
9
- export declare const ackSchema: v.UnionType<[v.TupleType<[v.Type<"ack">]>, v.TupleType<[v.Type<"ack">, v.ObjectType<{
2
+ /** At the moment, the only upstream messages are status messages. */
3
+ export declare const changeSourceUpstreamSchema: v.TupleType<[v.Type<"status">, v.ObjectType<{}, undefined>, v.ObjectType<{
10
4
  watermark: v.Type<string>;
11
- }, undefined>]>]>;
12
- /** At the moment, the only upstream messages are acks. */
13
- export declare const changeSourceUpstreamSchema: v.UnionType<[v.TupleType<[v.Type<"ack">]>, v.TupleType<[v.Type<"ack">, v.ObjectType<{
14
- watermark: v.Type<string>;
15
- }, undefined>]>]>;
5
+ }, undefined>]>;
16
6
  export type ChangeSourceUpstream = v.Infer<typeof changeSourceUpstreamSchema>;
17
7
  //# sourceMappingURL=upstream.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"upstream.d.ts","sourceRoot":"","sources":["../../../../../../../../zero-cache/src/services/change-source/protocol/current/upstream.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,wCAAwC,CAAC;AAE5D;;;;;;GAMG;AACH,eAAO,MAAM,SAAS;;iBAGrB,CAAC;AAEF,2DAA2D;AAC3D,eAAO,MAAM,0BAA0B;;iBAAY,CAAC;AACpD,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC"}
1
+ {"version":3,"file":"upstream.d.ts","sourceRoot":"","sources":["../../../../../../../../zero-cache/src/services/change-source/protocol/current/upstream.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,wCAAwC,CAAC;AAG5D,sEAAsE;AACtE,eAAO,MAAM,0BAA0B;;eAAsB,CAAC;AAC9D,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC"}
@@ -1,12 +1,5 @@
1
1
  import * as v from '../../../../../../shared/src/valita.js';
2
- /**
3
- * An acknowledgement is sent from the Change Streamer to the Change Source to
4
- * either or both:
5
- * * Indicate that it is connected and running, e.g. in response to an
6
- * "ack-requested" message.
7
- * * Indicate that it is caught up to a specific `watermark`.
8
- */
9
- export const ackSchema = v.union(v.tuple([v.literal('ack')]), v.tuple([v.literal('ack'), v.object({ watermark: v.string() })]));
10
- /** At the moment, the only upstream messages are acks. */
11
- export const changeSourceUpstreamSchema = ackSchema;
2
+ import { statusMessageSchema } from './status.js';
3
+ /** At the moment, the only upstream messages are status messages. */
4
+ export const changeSourceUpstreamSchema = statusMessageSchema;
12
5
  //# sourceMappingURL=upstream.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"upstream.js","sourceRoot":"","sources":["../../../../../../../../zero-cache/src/services/change-source/protocol/current/upstream.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,wCAAwC,CAAC;AAE5D;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAC9B,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAC3B,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,EAAC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,EAAC,CAAC,CAAC,CAAC,CAC/D,CAAC;AAEF,2DAA2D;AAC3D,MAAM,CAAC,MAAM,0BAA0B,GAAG,SAAS,CAAC"}
1
+ {"version":3,"file":"upstream.js","sourceRoot":"","sources":["../../../../../../../../zero-cache/src/services/change-source/protocol/current/upstream.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,wCAAwC,CAAC;AAC5D,OAAO,EAAC,mBAAmB,EAAC,MAAM,aAAa,CAAC;AAEhD,sEAAsE;AACtE,MAAM,CAAC,MAAM,0BAA0B,GAAG,mBAAmB,CAAC"}
@@ -1,16 +1,20 @@
1
1
  import { LogContext } from '@rocicorp/logger';
2
+ import { IncomingMessage } from 'node:http';
3
+ import { type Worker } from '../../types/processes.js';
2
4
  import { type Source } from '../../types/streams.js';
3
5
  import { HttpService, type Options } from '../http-service.js';
4
6
  import { type ChangeStreamer, type Downstream, type SubscriberContext } from './change-streamer.js';
5
- export declare const CHANGES_URL_PATTERN = "/api/replication/:version/changes";
6
7
  export declare class ChangeStreamerHttpServer extends HttpService {
7
8
  #private;
8
9
  readonly id = "change-streamer-http-server";
9
- constructor(lc: LogContext, delegate: ChangeStreamer, opts: Options);
10
+ constructor(lc: LogContext, delegate: ChangeStreamer, opts: Options, parent: Worker);
10
11
  }
11
12
  export declare class ChangeStreamerHttpClient implements ChangeStreamer {
12
13
  #private;
13
- constructor(lc: LogContext, uriOrPort: string | number);
14
+ constructor(lc: LogContext, uri: string);
14
15
  subscribe(ctx: SubscriberContext): Promise<Source<Downstream>>;
15
16
  }
17
+ type RequestHeaders = Pick<IncomingMessage, 'url' | 'headers'>;
18
+ export declare function getSubscriberContext(req: RequestHeaders): SubscriberContext;
19
+ export {};
16
20
  //# sourceMappingURL=change-streamer-http.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"change-streamer-http.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/change-streamer/change-streamer-http.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAG5C,OAAO,EAAsB,KAAK,MAAM,EAAC,MAAM,wBAAwB,CAAC;AAExE,OAAO,EAAC,WAAW,EAAE,KAAK,OAAO,EAAC,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,iBAAiB,EACvB,MAAM,sBAAsB,CAAC;AAE9B,eAAO,MAAM,mBAAmB,sCAAsC,CAAC;AAEvE,qBAAa,wBAAyB,SAAQ,WAAW;;IACvD,QAAQ,CAAC,EAAE,iCAAiC;gBAGhC,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO;CA4BpE;AAED,qBAAa,wBAAyB,YAAW,cAAc;;gBAIjD,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM;IAStD,SAAS,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;CAO/D"}
1
+ {"version":3,"file":"change-streamer-http.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/change-streamer/change-streamer-http.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAC,eAAe,EAAC,MAAM,WAAW,CAAC;AAE1C,OAAO,EAAC,KAAK,MAAM,EAAC,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAsB,KAAK,MAAM,EAAC,MAAM,wBAAwB,CAAC;AAIxE,OAAO,EAAC,WAAW,EAAE,KAAK,OAAO,EAAC,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,iBAAiB,EACvB,MAAM,sBAAsB,CAAC;AAO9B,qBAAa,wBAAyB,SAAQ,WAAW;;IACvD,QAAQ,CAAC,EAAE,iCAAiC;gBAI1C,EAAE,EAAE,UAAU,EACd,QAAQ,EAAE,cAAc,EACxB,IAAI,EAAE,OAAO,EACb,MAAM,EAAE,MAAM;CAuCjB;AAED,qBAAa,wBAAyB,YAAW,cAAc;;gBAIjD,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM;IAUvC,SAAS,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;CAO/D;AAED,KAAK,cAAc,GAAG,IAAI,CAAC,eAAe,EAAE,KAAK,GAAG,SAAS,CAAC,CAAC;AAE/D,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,cAAc,GAAG,iBAAiB,CAW3E"}
@@ -1,39 +1,44 @@
1
1
  import websocket from '@fastify/websocket';
2
2
  import { LogContext } from '@rocicorp/logger';
3
- import {} from 'fastify';
3
+ import { IncomingMessage } from 'node:http';
4
4
  import WebSocket from 'ws';
5
+ import {} from '../../types/processes.js';
5
6
  import { streamIn, streamOut } from '../../types/streams.js';
6
7
  import { URLParams } from '../../types/url-params.js';
8
+ import { closeWithProtocolError } from '../../types/ws.js';
9
+ import { installWebSocketReceiver } from '../dispatcher/websocket-handoff.js';
7
10
  import { HttpService } from '../http-service.js';
8
11
  import { downstreamSchema, } from './change-streamer.js';
9
- export const CHANGES_URL_PATTERN = '/api/replication/:version/changes';
12
+ const DIRECT_PATH_PATTERN = '/replication/:version/changes';
13
+ const TENANT_PATH_PATTERN = '/:tenant' + DIRECT_PATH_PATTERN;
14
+ const V0_CHANGES_PATH = '/replication/v0/changes';
10
15
  export class ChangeStreamerHttpServer extends HttpService {
11
16
  id = 'change-streamer-http-server';
12
17
  #delegate;
13
- constructor(lc, delegate, opts) {
18
+ constructor(lc, delegate, opts, parent) {
14
19
  super('change-streamer-http-server', lc, opts, async (fastify) => {
15
20
  await fastify.register(websocket);
16
21
  fastify.get('/', (_req, res) => res.send('OK'));
17
- fastify.addHook('preValidation', this.#checkParams);
18
- fastify.get(CHANGES_URL_PATTERN, { websocket: true }, this.#subscribe);
22
+ // fastify does not support optional path components, so we just
23
+ // register both patterns.
24
+ fastify.get(DIRECT_PATH_PATTERN, { websocket: true }, this.#subscribe);
25
+ fastify.get(TENANT_PATH_PATTERN, { websocket: true }, this.#subscribe);
26
+ installWebSocketReceiver(fastify.websocketServer, this.#handleSubscription, parent);
19
27
  });
20
28
  this.#delegate = delegate;
21
29
  }
22
- // Avoid upgrading to a websocket if the params are bad.
23
- #checkParams = async (req, reply) => {
24
- if (req.url === '/' || req.url.startsWith('/?')) {
25
- return; // Health check
26
- }
30
+ #subscribe = async (ws, req) => {
31
+ let ctx;
27
32
  try {
28
- getSubscriberContext(req);
33
+ ctx = getSubscriberContext(req);
29
34
  }
30
- catch (e) {
31
- this._lc.error?.('bad request', String(e));
32
- await reply.code(400).send(e instanceof Error ? e.message : String(e));
35
+ catch (err) {
36
+ closeWithProtocolError(this._lc, ws, err);
37
+ return;
33
38
  }
39
+ await this.#handleSubscription(ws, ctx);
34
40
  };
35
- #subscribe = async (ws, req) => {
36
- const ctx = getSubscriberContext(req); // #checkSubscribe guarantees this.
41
+ #handleSubscription = async (ws, ctx) => {
37
42
  const downstream = await this.#delegate.subscribe(ctx);
38
43
  await streamOut(this._lc, downstream, ws);
39
44
  };
@@ -41,13 +46,14 @@ export class ChangeStreamerHttpServer extends HttpService {
41
46
  export class ChangeStreamerHttpClient {
42
47
  #lc;
43
48
  #uri;
44
- constructor(lc, uriOrPort) {
49
+ constructor(lc, uri) {
50
+ const url = new URL(uri);
51
+ url.pathname += url.pathname.endsWith('/')
52
+ ? V0_CHANGES_PATH.substring(1)
53
+ : V0_CHANGES_PATH;
54
+ uri = url.toString();
45
55
  this.#lc = lc;
46
- this.#uri =
47
- (typeof uriOrPort === 'string'
48
- ? uriOrPort
49
- : `ws://localhost:${uriOrPort}`) +
50
- CHANGES_URL_PATTERN.replace(':version', 'v0');
56
+ this.#uri = uri;
51
57
  }
52
58
  subscribe(ctx) {
53
59
  this.#lc.info?.(`connecting to change-streamer@${this.#uri}`);
@@ -56,8 +62,8 @@ export class ChangeStreamerHttpClient {
56
62
  return streamIn(this.#lc, ws, downstreamSchema);
57
63
  }
58
64
  }
59
- function getSubscriberContext(req) {
60
- const url = new URL(req.url, req.headers.origin ?? 'http://localhost');
65
+ export function getSubscriberContext(req) {
66
+ const url = new URL(req.url ?? '', req.headers.origin ?? 'http://localhost');
61
67
  const params = new URLParams(url);
62
68
  return {
63
69
  id: params.get('id', true),
@@ -1 +1 @@
1
- {"version":3,"file":"change-streamer-http.js","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/change-streamer/change-streamer-http.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"change-streamer-http.js","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/change-streamer/change-streamer-http.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAC,eAAe,EAAC,MAAM,WAAW,CAAC;AAC1C,OAAO,SAAS,MAAM,IAAI,CAAC;AAC3B,OAAO,EAAa,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAC,QAAQ,EAAE,SAAS,EAAc,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAC,SAAS,EAAC,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAAC,sBAAsB,EAAC,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAC,wBAAwB,EAAC,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAC,WAAW,EAAe,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EACL,gBAAgB,GAIjB,MAAM,sBAAsB,CAAC;AAE9B,MAAM,mBAAmB,GAAG,+BAA+B,CAAC;AAC5D,MAAM,mBAAmB,GAAG,UAAU,GAAG,mBAAmB,CAAC;AAE7D,MAAM,eAAe,GAAG,yBAAyB,CAAC;AAElD,MAAM,OAAO,wBAAyB,SAAQ,WAAW;IAC9C,EAAE,GAAG,6BAA6B,CAAC;IACnC,SAAS,CAAiB;IAEnC,YACE,EAAc,EACd,QAAwB,EACxB,IAAa,EACb,MAAc;QAEd,KAAK,CAAC,6BAA6B,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAC,OAAO,EAAC,EAAE;YAC7D,MAAM,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YAClC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAEhD,gEAAgE;YAChE,0BAA0B;YAC1B,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,EAAC,SAAS,EAAE,IAAI,EAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YACrE,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,EAAC,SAAS,EAAE,IAAI,EAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YAErE,wBAAwB,CACtB,OAAO,CAAC,eAAe,EACvB,IAAI,CAAC,mBAAmB,EACxB,MAAM,CACP,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;IAC5B,CAAC;IAEQ,UAAU,GAAG,KAAK,EAAE,EAAa,EAAE,GAAmB,EAAE,EAAE;QACjE,IAAI,GAAsB,CAAC;QAC3B,IAAI,CAAC;YACH,GAAG,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;QAClC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,sBAAsB,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;YAC1C,OAAO;QACT,CAAC;QACD,MAAM,IAAI,CAAC,mBAAmB,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IAC1C,CAAC,CAAC;IAEO,mBAAmB,GAAG,KAAK,EAClC,EAAa,EACb,GAAsB,EACtB,EAAE;QACF,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACvD,MAAM,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;IAC5C,CAAC,CAAC;CACH;AAED,MAAM,OAAO,wBAAwB;IAC1B,GAAG,CAAa;IAChB,IAAI,CAAS;IAEtB,YAAY,EAAc,EAAE,GAAW;QACrC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QACzB,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC;YACxC,CAAC,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC;YAC9B,CAAC,CAAC,eAAe,CAAC;QACpB,GAAG,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;QACrB,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;QACd,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;IAClB,CAAC;IAED,SAAS,CAAC,GAAsB;QAC9B,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,iCAAiC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9D,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;QAC9B,MAAM,EAAE,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAE9D,OAAO,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,gBAAgB,CAAC,CAAC;IAClD,CAAC;CACF;AAID,MAAM,UAAU,oBAAoB,CAAC,GAAmB;IACtD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,kBAAkB,CAAC,CAAC;IAC7E,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC;IAElC,OAAO;QACL,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC;QAC1B,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;QACnE,cAAc,EAAE,MAAM,CAAC,GAAG,CAAC,gBAAgB,EAAE,IAAI,CAAC;QAClD,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC;QACxC,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC;KACtC,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,GAAsB;IACvC,OAAO,IAAI,eAAe,CAAC;QACzB,GAAG,GAAG;QACN,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;KACxC,CAAC,CAAC;AACL,CAAC"}
@@ -1,7 +1,8 @@
1
1
  import { LogContext } from '@rocicorp/logger';
2
2
  import type { PostgresDB } from '../../types/pg.js';
3
3
  import type { Sink, Source } from '../../types/streams.js';
4
- import { type ChangeStreamData, type ChangeStreamMessage, type Commit } from '../change-source/protocol/current/downstream.js';
4
+ import { type ChangeStreamData, type ChangeStreamMessage } from '../change-source/protocol/current/downstream.js';
5
+ import type { ChangeSourceUpstream } from '../change-source/protocol/current/upstream.js';
5
6
  import { type ChangeStreamerService } from './change-streamer.js';
6
7
  import { type ReplicationConfig } from './schema/tables.js';
7
8
  /**
@@ -22,10 +23,11 @@ export type WatermarkedChange = [watermark: string, ChangeStreamData];
22
23
  export type ChangeStream = {
23
24
  changes: Source<ChangeStreamMessage>;
24
25
  /**
25
- * A Sink to push the {@link Commit} messages that have been successfully
26
- * stored by the {@link Storer}.
26
+ * A Sink to push the {@link StatusMessage}s that reflect Commits
27
+ * that have been successfully stored by the {@link Storer}, or
28
+ * downstream {@link StatusMessage}s henceforth.
27
29
  */
28
- acks: Sink<Commit>;
30
+ acks: Sink<ChangeSourceUpstream>;
29
31
  };
30
32
  /** Encapsulates an upstream-specific implementation of a stream of Changes. */
31
33
  export interface ChangeSource {
@@ -1 +1 @@
1
- {"version":3,"file":"change-streamer-service.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/change-streamer/change-streamer-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAQ5C,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,EAAC,IAAI,EAAE,MAAM,EAAC,MAAM,wBAAwB,CAAC;AAGzD,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,MAAM,EACZ,MAAM,iDAAiD,CAAC;AAMzD,OAAO,EACL,KAAK,qBAAqB,EAG3B,MAAM,sBAAsB,CAAC;AAI9B,OAAO,EAIL,KAAK,iBAAiB,EACvB,MAAM,oBAAoB,CAAC;AAI5B;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,EAAE,EAAE,UAAU,EACd,QAAQ,EAAE,UAAU,EACpB,YAAY,EAAE,YAAY,EAC1B,iBAAiB,EAAE,iBAAiB,EACpC,SAAS,EAAE,OAAO,EAClB,YAAY,oBAAa,GACxB,OAAO,CAAC,qBAAqB,CAAC,CAchC;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC;AAEtE,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,EAAE,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAErC;;;OAGG;IACH,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;CACpB,CAAC;AAEF,+EAA+E;AAC/E,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,WAAW,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;CAC5D"}
1
+ {"version":3,"file":"change-streamer-service.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/change-streamer/change-streamer-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAQ5C,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,EAAC,IAAI,EAAE,MAAM,EAAC,MAAM,wBAAwB,CAAC;AAGzD,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACzB,MAAM,iDAAiD,CAAC;AACzD,OAAO,KAAK,EAAC,oBAAoB,EAAC,MAAM,+CAA+C,CAAC;AAMxF,OAAO,EACL,KAAK,qBAAqB,EAG3B,MAAM,sBAAsB,CAAC;AAI9B,OAAO,EAIL,KAAK,iBAAiB,EACvB,MAAM,oBAAoB,CAAC;AAI5B;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,EAAE,EAAE,UAAU,EACd,QAAQ,EAAE,UAAU,EACpB,YAAY,EAAE,YAAY,EAC1B,iBAAiB,EAAE,iBAAiB,EACpC,SAAS,EAAE,OAAO,EAClB,YAAY,oBAAa,GACxB,OAAO,CAAC,qBAAqB,CAAC,CAchC;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC;AAEtE,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,EAAE,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAErC;;;;OAIG;IACH,IAAI,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;CAClC,CAAC;AAEF,+EAA+E;AAC/E,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,WAAW,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;CAC5D"}
@@ -193,7 +193,7 @@ class ChangeStreamerImpl {
193
193
  this.#changeDB = changeDB;
194
194
  this.#replicaVersion = replicaVersion;
195
195
  this.#source = source;
196
- this.#storer = new Storer(lc, changeDB, replicaVersion, commit => this.#stream?.acks.push(commit));
196
+ this.#storer = new Storer(lc, changeDB, replicaVersion, consumed => this.#stream?.acks.push(['status', consumed[1], consumed[2]]));
197
197
  this.#forwarder = new Forwarder();
198
198
  this.#autoReset = autoReset;
199
199
  this.#state = new RunningState(this.id, undefined, setTimeoutFn);
@@ -224,6 +224,9 @@ class ChangeStreamerImpl {
224
224
  for await (const change of stream.changes) {
225
225
  const [type, msg] = change;
226
226
  switch (type) {
227
+ case 'status':
228
+ this.#storer.status(change); // storer acks once it gets through its queue
229
+ continue;
227
230
  case 'control':
228
231
  await this.#handleControlMessage(msg);
229
232
  continue; // control messages are not stored/forwarded
@@ -1 +1 @@
1
- {"version":3,"file":"change-streamer-service.js","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/change-streamer/change-streamer-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"change-streamer-service.js","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/change-streamer/change-streamer-service.ts"],"names":[],"mappings":"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"}
@@ -143,14 +143,14 @@ export declare const downstreamSchema: v.UnionType<[v.UnionType<[v.TupleType<[v.
143
143
  spec: v.ObjectType<Omit<{
144
144
  name: v.Type<string>;
145
145
  columns: v.Type<Record<string, {
146
- pgTypeClass?: "e" | "b" | "c" | "d" | "p" | "r" | "m" | undefined;
146
+ pgTypeClass?: "e" | "d" | "b" | "c" | "p" | "r" | "m" | undefined;
147
147
  characterMaximumLength?: number | null | undefined;
148
148
  notNull?: boolean | null | undefined;
149
149
  dflt?: string | null | undefined;
150
150
  pos: number;
151
151
  dataType: string;
152
152
  }>>;
153
- primaryKey: v.ArrayType<v.Type<string>>;
153
+ primaryKey: v.Optional<string[]>;
154
154
  }, "schema"> & {
155
155
  schema: v.Type<string>;
156
156
  }, undefined>;
@@ -175,7 +175,7 @@ export declare const downstreamSchema: v.UnionType<[v.UnionType<[v.TupleType<[v.
175
175
  spec: v.ObjectType<{
176
176
  pos: v.Type<number>;
177
177
  dataType: v.Type<string>;
178
- pgTypeClass: v.Optional<"e" | "b" | "c" | "d" | "p" | "r" | "m">;
178
+ pgTypeClass: v.Optional<"e" | "d" | "b" | "c" | "p" | "r" | "m">;
179
179
  characterMaximumLength: v.Optional<number | null>;
180
180
  notNull: v.Optional<boolean | null>;
181
181
  dflt: v.Optional<string | null>;
@@ -192,7 +192,7 @@ export declare const downstreamSchema: v.UnionType<[v.UnionType<[v.TupleType<[v.
192
192
  spec: v.ObjectType<{
193
193
  pos: v.Type<number>;
194
194
  dataType: v.Type<string>;
195
- pgTypeClass: v.Optional<"e" | "b" | "c" | "d" | "p" | "r" | "m">;
195
+ pgTypeClass: v.Optional<"e" | "d" | "b" | "c" | "p" | "r" | "m">;
196
196
  characterMaximumLength: v.Optional<number | null>;
197
197
  notNull: v.Optional<boolean | null>;
198
198
  dflt: v.Optional<string | null>;
@@ -203,7 +203,7 @@ export declare const downstreamSchema: v.UnionType<[v.UnionType<[v.TupleType<[v.
203
203
  spec: v.ObjectType<{
204
204
  pos: v.Type<number>;
205
205
  dataType: v.Type<string>;
206
- pgTypeClass: v.Optional<"e" | "b" | "c" | "d" | "p" | "r" | "m">;
206
+ pgTypeClass: v.Optional<"e" | "d" | "b" | "c" | "p" | "r" | "m">;
207
207
  characterMaximumLength: v.Optional<number | null>;
208
208
  notNull: v.Optional<boolean | null>;
209
209
  dflt: v.Optional<string | null>;