@rocicorp/zero 1.12.0-canary.6 → 1.12.0-canary.8

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 (379) hide show
  1. package/out/zero/package.js +10 -10
  2. package/out/zero/package.js.map +1 -1
  3. package/out/zero-cache/src/auth/write-authorizer.js +9 -2
  4. package/out/zero-cache/src/auth/write-authorizer.js.map +1 -1
  5. package/out/zero-cache/src/server/change-streamer.js +1 -0
  6. package/out/zero-cache/src/server/change-streamer.js.map +1 -1
  7. package/out/zero-cache/src/services/change-source/common/replica-restore.js.map +1 -1
  8. package/out/zero-cache/src/services/change-source/pg/change-source-init.js +17 -9
  9. package/out/zero-cache/src/services/change-source/pg/change-source-init.js.map +1 -1
  10. package/out/zero-cache/src/services/change-streamer/server-start-metrics.js +1 -1
  11. package/out/zero-cache/src/services/change-streamer/server-start-metrics.js.map +1 -1
  12. package/out/zero-cache/src/services/mutagen/mutagen.js +1 -2
  13. package/out/zero-cache/src/services/mutagen/mutagen.js.map +1 -1
  14. package/out/zero-cache/src/services/mutagen/pusher.js +57 -14
  15. package/out/zero-cache/src/services/mutagen/pusher.js.map +1 -1
  16. package/out/zero-cache/src/services/view-syncer/drain-coordinator.js +1 -1
  17. package/out/zero-cache/src/services/view-syncer/drain-coordinator.js.map +1 -1
  18. package/out/zero-cache/src/services/view-syncer/view-syncer.js +22 -2
  19. package/out/zero-cache/src/services/view-syncer/view-syncer.js.map +1 -1
  20. package/out/zero-cache/src/workers/syncer.js +9 -1
  21. package/out/zero-cache/src/workers/syncer.js.map +1 -1
  22. package/out/zero-client/src/client/version.js +1 -1
  23. package/out/zero-protocol/src/inspect-down.d.ts +81 -81
  24. package/out/zero-protocol/src/up.d.ts +60 -60
  25. package/package.json +10 -10
  26. package/out/shared/src/cache.d.ts +0 -22
  27. package/out/shared/src/cache.d.ts.map +0 -1
  28. package/out/shared/src/custom-key-map.d.ts +0 -26
  29. package/out/shared/src/custom-key-map.d.ts.map +0 -1
  30. package/out/shared/src/custom-key-set.d.ts +0 -25
  31. package/out/shared/src/custom-key-set.d.ts.map +0 -1
  32. package/out/shared/src/logging-test-utils.d.ts +0 -12
  33. package/out/shared/src/logging-test-utils.d.ts.map +0 -1
  34. package/out/shared/src/queue.d.ts +0 -53
  35. package/out/shared/src/queue.d.ts.map +0 -1
  36. package/out/shared/src/ring-buffer.d.ts +0 -42
  37. package/out/shared/src/ring-buffer.d.ts.map +0 -1
  38. package/out/shared/src/sorted-entries.d.ts +0 -2
  39. package/out/shared/src/sorted-entries.d.ts.map +0 -1
  40. package/out/zero/src/server/change-streamer.d.ts +0 -2
  41. package/out/zero/src/server/change-streamer.d.ts.map +0 -1
  42. package/out/zero/src/server/main.d.ts +0 -2
  43. package/out/zero/src/server/main.d.ts.map +0 -1
  44. package/out/zero/src/server/reaper.d.ts +0 -2
  45. package/out/zero/src/server/reaper.d.ts.map +0 -1
  46. package/out/zero/src/server/replicator.d.ts +0 -2
  47. package/out/zero/src/server/replicator.d.ts.map +0 -1
  48. package/out/zero/src/server/syncer.d.ts +0 -2
  49. package/out/zero/src/server/syncer.d.ts.map +0 -1
  50. package/out/zero-cache/src/auth/jwt.d.ts +0 -12
  51. package/out/zero-cache/src/auth/jwt.d.ts.map +0 -1
  52. package/out/zero-cache/src/auth/load-permissions.d.ts +0 -17
  53. package/out/zero-cache/src/auth/load-permissions.d.ts.map +0 -1
  54. package/out/zero-cache/src/auth/write-authorizer.d.ts +0 -28
  55. package/out/zero-cache/src/auth/write-authorizer.d.ts.map +0 -1
  56. package/out/zero-cache/src/config/server-context.d.ts +0 -16
  57. package/out/zero-cache/src/config/server-context.d.ts.map +0 -1
  58. package/out/zero-cache/src/custom/fetch.d.ts +0 -38
  59. package/out/zero-cache/src/custom/fetch.d.ts.map +0 -1
  60. package/out/zero-cache/src/custom/metrics.d.ts +0 -31
  61. package/out/zero-cache/src/custom/metrics.d.ts.map +0 -1
  62. package/out/zero-cache/src/custom-queries/transform-query.d.ts +0 -68
  63. package/out/zero-cache/src/custom-queries/transform-query.d.ts.map +0 -1
  64. package/out/zero-cache/src/db/create.d.ts +0 -12
  65. package/out/zero-cache/src/db/create.d.ts.map +0 -1
  66. package/out/zero-cache/src/db/delete-lite-db.d.ts +0 -2
  67. package/out/zero-cache/src/db/delete-lite-db.d.ts.map +0 -1
  68. package/out/zero-cache/src/db/index-predicate.d.ts +0 -4
  69. package/out/zero-cache/src/db/index-predicate.d.ts.map +0 -1
  70. package/out/zero-cache/src/db/migration-lite.d.ts +0 -78
  71. package/out/zero-cache/src/db/migration-lite.d.ts.map +0 -1
  72. package/out/zero-cache/src/db/migration.d.ts +0 -80
  73. package/out/zero-cache/src/db/migration.d.ts.map +0 -1
  74. package/out/zero-cache/src/db/pg-copy-binary.d.ts +0 -101
  75. package/out/zero-cache/src/db/pg-copy-binary.d.ts.map +0 -1
  76. package/out/zero-cache/src/db/pg-copy.d.ts +0 -30
  77. package/out/zero-cache/src/db/pg-copy.d.ts.map +0 -1
  78. package/out/zero-cache/src/db/pg-type-parser.d.ts +0 -15
  79. package/out/zero-cache/src/db/pg-type-parser.d.ts.map +0 -1
  80. package/out/zero-cache/src/db/transaction-pool.d.ts +0 -205
  81. package/out/zero-cache/src/db/transaction-pool.d.ts.map +0 -1
  82. package/out/zero-cache/src/db/warmup.d.ts +0 -4
  83. package/out/zero-cache/src/db/warmup.d.ts.map +0 -1
  84. package/out/zero-cache/src/observability/events.d.ts +0 -15
  85. package/out/zero-cache/src/observability/events.d.ts.map +0 -1
  86. package/out/zero-cache/src/observability/log-throttle.d.ts +0 -44
  87. package/out/zero-cache/src/observability/log-throttle.d.ts.map +0 -1
  88. package/out/zero-cache/src/server/anonymous-otel-start.d.ts +0 -21
  89. package/out/zero-cache/src/server/anonymous-otel-start.d.ts.map +0 -1
  90. package/out/zero-cache/src/server/change-streamer.d.ts +0 -3
  91. package/out/zero-cache/src/server/change-streamer.d.ts.map +0 -1
  92. package/out/zero-cache/src/server/inspector-delegate.d.ts +0 -71
  93. package/out/zero-cache/src/server/inspector-delegate.d.ts.map +0 -1
  94. package/out/zero-cache/src/server/main.d.ts +0 -3
  95. package/out/zero-cache/src/server/main.d.ts.map +0 -1
  96. package/out/zero-cache/src/server/otel-diag-logger.d.ts +0 -16
  97. package/out/zero-cache/src/server/otel-diag-logger.d.ts.map +0 -1
  98. package/out/zero-cache/src/server/otel-start.d.ts +0 -3
  99. package/out/zero-cache/src/server/otel-start.d.ts.map +0 -1
  100. package/out/zero-cache/src/server/priority-op.d.ts +0 -8
  101. package/out/zero-cache/src/server/priority-op.d.ts.map +0 -1
  102. package/out/zero-cache/src/server/reaper.d.ts +0 -3
  103. package/out/zero-cache/src/server/reaper.d.ts.map +0 -1
  104. package/out/zero-cache/src/server/replicator.d.ts +0 -10
  105. package/out/zero-cache/src/server/replicator.d.ts.map +0 -1
  106. package/out/zero-cache/src/server/slot-keeper.d.ts +0 -26
  107. package/out/zero-cache/src/server/slot-keeper.d.ts.map +0 -1
  108. package/out/zero-cache/src/server/syncer-assigner.d.ts +0 -14
  109. package/out/zero-cache/src/server/syncer-assigner.d.ts.map +0 -1
  110. package/out/zero-cache/src/server/syncer.d.ts +0 -3
  111. package/out/zero-cache/src/server/syncer.d.ts.map +0 -1
  112. package/out/zero-cache/src/server/worker-dispatcher.d.ts +0 -17
  113. package/out/zero-cache/src/server/worker-dispatcher.d.ts.map +0 -1
  114. package/out/zero-cache/src/services/analyze.d.ts +0 -9
  115. package/out/zero-cache/src/services/analyze.d.ts.map +0 -1
  116. package/out/zero-cache/src/services/change-source/change-source.d.ts +0 -39
  117. package/out/zero-cache/src/services/change-source/change-source.d.ts.map +0 -1
  118. package/out/zero-cache/src/services/change-source/common/backfill-manager.d.ts +0 -57
  119. package/out/zero-cache/src/services/change-source/common/backfill-manager.d.ts.map +0 -1
  120. package/out/zero-cache/src/services/change-source/common/change-stream-multiplexer.d.ts +0 -55
  121. package/out/zero-cache/src/services/change-source/common/change-stream-multiplexer.d.ts.map +0 -1
  122. package/out/zero-cache/src/services/change-source/common/init-cleanup.d.ts +0 -24
  123. package/out/zero-cache/src/services/change-source/common/init-cleanup.d.ts.map +0 -1
  124. package/out/zero-cache/src/services/change-source/common/replica-restore.d.ts +0 -140
  125. package/out/zero-cache/src/services/change-source/common/replica-restore.d.ts.map +0 -1
  126. package/out/zero-cache/src/services/change-source/common/replica-schema.d.ts +0 -14
  127. package/out/zero-cache/src/services/change-source/common/replica-schema.d.ts.map +0 -1
  128. package/out/zero-cache/src/services/change-source/custom/change-source.d.ts +0 -25
  129. package/out/zero-cache/src/services/change-source/custom/change-source.d.ts.map +0 -1
  130. package/out/zero-cache/src/services/change-source/pg/backfill-metadata.d.ts +0 -14
  131. package/out/zero-cache/src/services/change-source/pg/backfill-metadata.d.ts.map +0 -1
  132. package/out/zero-cache/src/services/change-source/pg/backfill-stream.d.ts +0 -36
  133. package/out/zero-cache/src/services/change-source/pg/backfill-stream.d.ts.map +0 -1
  134. package/out/zero-cache/src/services/change-source/pg/change-source-init.d.ts +0 -72
  135. package/out/zero-cache/src/services/change-source/pg/change-source-init.d.ts.map +0 -1
  136. package/out/zero-cache/src/services/change-source/pg/change-source.d.ts +0 -127
  137. package/out/zero-cache/src/services/change-source/pg/change-source.d.ts.map +0 -1
  138. package/out/zero-cache/src/services/change-source/pg/fork-request.d.ts +0 -57
  139. package/out/zero-cache/src/services/change-source/pg/fork-request.d.ts.map +0 -1
  140. package/out/zero-cache/src/services/change-source/pg/initial-sync.d.ts +0 -155
  141. package/out/zero-cache/src/services/change-source/pg/initial-sync.d.ts.map +0 -1
  142. package/out/zero-cache/src/services/change-source/pg/logical-replication/binary-reader.d.ts +0 -17
  143. package/out/zero-cache/src/services/change-source/pg/logical-replication/binary-reader.d.ts.map +0 -1
  144. package/out/zero-cache/src/services/change-source/pg/logical-replication/pgoutput-parser.d.ts +0 -28
  145. package/out/zero-cache/src/services/change-source/pg/logical-replication/pgoutput-parser.d.ts.map +0 -1
  146. package/out/zero-cache/src/services/change-source/pg/logical-replication/pgoutput.types.d.ts +0 -76
  147. package/out/zero-cache/src/services/change-source/pg/logical-replication/pgoutput.types.d.ts.map +0 -1
  148. package/out/zero-cache/src/services/change-source/pg/logical-replication/stream.d.ts +0 -169
  149. package/out/zero-cache/src/services/change-source/pg/logical-replication/stream.d.ts.map +0 -1
  150. package/out/zero-cache/src/services/change-source/pg/replication-slot-cleanup-monitor.d.ts +0 -16
  151. package/out/zero-cache/src/services/change-source/pg/replication-slot-cleanup-monitor.d.ts.map +0 -1
  152. package/out/zero-cache/src/services/change-source/pg/replication-slot-health.d.ts +0 -15
  153. package/out/zero-cache/src/services/change-source/pg/replication-slot-health.d.ts.map +0 -1
  154. package/out/zero-cache/src/services/change-source/pg/replication-slots.d.ts +0 -127
  155. package/out/zero-cache/src/services/change-source/pg/replication-slots.d.ts.map +0 -1
  156. package/out/zero-cache/src/services/change-source/pg/schema/init.d.ts +0 -9
  157. package/out/zero-cache/src/services/change-source/pg/schema/init.d.ts.map +0 -1
  158. package/out/zero-cache/src/services/change-source/protocol/backfill-progress.d.ts +0 -68
  159. package/out/zero-cache/src/services/change-source/protocol/backfill-progress.d.ts.map +0 -1
  160. package/out/zero-cache/src/services/change-streamer/backfill-state-tracker.d.ts +0 -72
  161. package/out/zero-cache/src/services/change-streamer/backfill-state-tracker.d.ts.map +0 -1
  162. package/out/zero-cache/src/services/change-streamer/backfill-state.d.ts +0 -50
  163. package/out/zero-cache/src/services/change-streamer/backfill-state.d.ts.map +0 -1
  164. package/out/zero-cache/src/services/change-streamer/backup-cleanup-monitor-factory.d.ts +0 -12
  165. package/out/zero-cache/src/services/change-streamer/backup-cleanup-monitor-factory.d.ts.map +0 -1
  166. package/out/zero-cache/src/services/change-streamer/backup-monitor.d.ts +0 -57
  167. package/out/zero-cache/src/services/change-streamer/backup-monitor.d.ts.map +0 -1
  168. package/out/zero-cache/src/services/change-streamer/broadcast.d.ts +0 -98
  169. package/out/zero-cache/src/services/change-streamer/broadcast.d.ts.map +0 -1
  170. package/out/zero-cache/src/services/change-streamer/change-log-codec.d.ts +0 -34
  171. package/out/zero-cache/src/services/change-streamer/change-log-codec.d.ts.map +0 -1
  172. package/out/zero-cache/src/services/change-streamer/change-log-compare-digest.d.ts +0 -34
  173. package/out/zero-cache/src/services/change-streamer/change-log-compare-digest.d.ts.map +0 -1
  174. package/out/zero-cache/src/services/change-streamer/change-log-initializer.d.ts +0 -158
  175. package/out/zero-cache/src/services/change-streamer/change-log-initializer.d.ts.map +0 -1
  176. package/out/zero-cache/src/services/change-streamer/change-log-transaction-hash.d.ts +0 -19
  177. package/out/zero-cache/src/services/change-streamer/change-log-transaction-hash.d.ts.map +0 -1
  178. package/out/zero-cache/src/services/change-streamer/change-streamer-http.d.ts +0 -78
  179. package/out/zero-cache/src/services/change-streamer/change-streamer-http.d.ts.map +0 -1
  180. package/out/zero-cache/src/services/change-streamer/change-streamer-service.d.ts +0 -152
  181. package/out/zero-cache/src/services/change-streamer/change-streamer-service.d.ts.map +0 -1
  182. package/out/zero-cache/src/services/change-streamer/change-streamer.d.ts +0 -575
  183. package/out/zero-cache/src/services/change-streamer/change-streamer.d.ts.map +0 -1
  184. package/out/zero-cache/src/services/change-streamer/drain-tracker.d.ts +0 -24
  185. package/out/zero-cache/src/services/change-streamer/drain-tracker.d.ts.map +0 -1
  186. package/out/zero-cache/src/services/change-streamer/error-type-enum.d.ts +0 -15
  187. package/out/zero-cache/src/services/change-streamer/error-type-enum.d.ts.map +0 -1
  188. package/out/zero-cache/src/services/change-streamer/forwarder.d.ts +0 -49
  189. package/out/zero-cache/src/services/change-streamer/forwarder.d.ts.map +0 -1
  190. package/out/zero-cache/src/services/change-streamer/litestream-sync-requester.d.ts +0 -80
  191. package/out/zero-cache/src/services/change-streamer/litestream-sync-requester.d.ts.map +0 -1
  192. package/out/zero-cache/src/services/change-streamer/litestream3-prometheus-poller.d.ts +0 -88
  193. package/out/zero-cache/src/services/change-streamer/litestream3-prometheus-poller.d.ts.map +0 -1
  194. package/out/zero-cache/src/services/change-streamer/replica-poller.d.ts +0 -15
  195. package/out/zero-cache/src/services/change-streamer/replica-poller.d.ts.map +0 -1
  196. package/out/zero-cache/src/services/change-streamer/restore-admission.d.ts +0 -243
  197. package/out/zero-cache/src/services/change-streamer/restore-admission.d.ts.map +0 -1
  198. package/out/zero-cache/src/services/change-streamer/schema/init.d.ts +0 -6
  199. package/out/zero-cache/src/services/change-streamer/schema/init.d.ts.map +0 -1
  200. package/out/zero-cache/src/services/change-streamer/schema/tables.d.ts +0 -152
  201. package/out/zero-cache/src/services/change-streamer/schema/tables.d.ts.map +0 -1
  202. package/out/zero-cache/src/services/change-streamer/server-start-metrics.d.ts +0 -33
  203. package/out/zero-cache/src/services/change-streamer/server-start-metrics.d.ts.map +0 -1
  204. package/out/zero-cache/src/services/change-streamer/shard-sampling.d.ts +0 -11
  205. package/out/zero-cache/src/services/change-streamer/shard-sampling.d.ts.map +0 -1
  206. package/out/zero-cache/src/services/change-streamer/snapshot-message.d.ts +0 -92
  207. package/out/zero-cache/src/services/change-streamer/snapshot-message.d.ts.map +0 -1
  208. package/out/zero-cache/src/services/change-streamer/snapshot-reservations.d.ts +0 -36
  209. package/out/zero-cache/src/services/change-streamer/snapshot-reservations.d.ts.map +0 -1
  210. package/out/zero-cache/src/services/change-streamer/snapshot.d.ts +0 -22
  211. package/out/zero-cache/src/services/change-streamer/snapshot.d.ts.map +0 -1
  212. package/out/zero-cache/src/services/change-streamer/sqlite-change-log-catchup.d.ts +0 -99
  213. package/out/zero-cache/src/services/change-streamer/sqlite-change-log-catchup.d.ts.map +0 -1
  214. package/out/zero-cache/src/services/change-streamer/sqlite-change-log-comparator.d.ts +0 -83
  215. package/out/zero-cache/src/services/change-streamer/sqlite-change-log-comparator.d.ts.map +0 -1
  216. package/out/zero-cache/src/services/change-streamer/sqlite-change-log-purge-scheduler.d.ts +0 -121
  217. package/out/zero-cache/src/services/change-streamer/sqlite-change-log-purge-scheduler.d.ts.map +0 -1
  218. package/out/zero-cache/src/services/change-streamer/sqlite-change-log-read-router.d.ts +0 -73
  219. package/out/zero-cache/src/services/change-streamer/sqlite-change-log-read-router.d.ts.map +0 -1
  220. package/out/zero-cache/src/services/change-streamer/sqlite-change-log-reader.d.ts +0 -62
  221. package/out/zero-cache/src/services/change-streamer/sqlite-change-log-reader.d.ts.map +0 -1
  222. package/out/zero-cache/src/services/change-streamer/sqlite-change-log-writer.d.ts +0 -114
  223. package/out/zero-cache/src/services/change-streamer/sqlite-change-log-writer.d.ts.map +0 -1
  224. package/out/zero-cache/src/services/change-streamer/storer.d.ts +0 -276
  225. package/out/zero-cache/src/services/change-streamer/storer.d.ts.map +0 -1
  226. package/out/zero-cache/src/services/change-streamer/subscribe.d.ts +0 -485
  227. package/out/zero-cache/src/services/change-streamer/subscribe.d.ts.map +0 -1
  228. package/out/zero-cache/src/services/change-streamer/subscriber.d.ts +0 -205
  229. package/out/zero-cache/src/services/change-streamer/subscriber.d.ts.map +0 -1
  230. package/out/zero-cache/src/services/change-streamer/upstream-acker.d.ts +0 -52
  231. package/out/zero-cache/src/services/change-streamer/upstream-acker.d.ts.map +0 -1
  232. package/out/zero-cache/src/services/limiter/sliding-window-limiter.d.ts +0 -57
  233. package/out/zero-cache/src/services/limiter/sliding-window-limiter.d.ts.map +0 -1
  234. package/out/zero-cache/src/services/litestream/commands.d.ts +0 -77
  235. package/out/zero-cache/src/services/litestream/commands.d.ts.map +0 -1
  236. package/out/zero-cache/src/services/litestream/litestream-controller.d.ts +0 -78
  237. package/out/zero-cache/src/services/litestream/litestream-controller.d.ts.map +0 -1
  238. package/out/zero-cache/src/services/litestream/metrics.d.ts +0 -31
  239. package/out/zero-cache/src/services/litestream/metrics.d.ts.map +0 -1
  240. package/out/zero-cache/src/services/litestream/restore-progress.d.ts +0 -24
  241. package/out/zero-cache/src/services/litestream/restore-progress.d.ts.map +0 -1
  242. package/out/zero-cache/src/services/mutagen/mutagen.d.ts +0 -40
  243. package/out/zero-cache/src/services/mutagen/mutagen.d.ts.map +0 -1
  244. package/out/zero-cache/src/services/mutagen/pusher.d.ts +0 -63
  245. package/out/zero-cache/src/services/mutagen/pusher.d.ts.map +0 -1
  246. package/out/zero-cache/src/services/replicator/change-log-db.d.ts +0 -368
  247. package/out/zero-cache/src/services/replicator/change-log-db.d.ts.map +0 -1
  248. package/out/zero-cache/src/services/replicator/change-log-stream-writer.d.ts +0 -56
  249. package/out/zero-cache/src/services/replicator/change-log-stream-writer.d.ts.map +0 -1
  250. package/out/zero-cache/src/services/replicator/change-processor.d.ts +0 -37
  251. package/out/zero-cache/src/services/replicator/change-processor.d.ts.map +0 -1
  252. package/out/zero-cache/src/services/replicator/drain-handler.d.ts +0 -82
  253. package/out/zero-cache/src/services/replicator/drain-handler.d.ts.map +0 -1
  254. package/out/zero-cache/src/services/replicator/incremental-sync.d.ts +0 -25
  255. package/out/zero-cache/src/services/replicator/incremental-sync.d.ts.map +0 -1
  256. package/out/zero-cache/src/services/replicator/notifier.d.ts +0 -9
  257. package/out/zero-cache/src/services/replicator/notifier.d.ts.map +0 -1
  258. package/out/zero-cache/src/services/replicator/replication-status.d.ts +0 -71
  259. package/out/zero-cache/src/services/replicator/replication-status.d.ts.map +0 -1
  260. package/out/zero-cache/src/services/replicator/replicator.d.ts +0 -86
  261. package/out/zero-cache/src/services/replicator/replicator.d.ts.map +0 -1
  262. package/out/zero-cache/src/services/replicator/reporter/recorder.d.ts +0 -55
  263. package/out/zero-cache/src/services/replicator/reporter/recorder.d.ts.map +0 -1
  264. package/out/zero-cache/src/services/replicator/sqlite-change-log-observability.d.ts +0 -132
  265. package/out/zero-cache/src/services/replicator/sqlite-change-log-observability.d.ts.map +0 -1
  266. package/out/zero-cache/src/services/replicator/sqlite-change-log-purger.d.ts +0 -120
  267. package/out/zero-cache/src/services/replicator/sqlite-change-log-purger.d.ts.map +0 -1
  268. package/out/zero-cache/src/services/replicator/write-worker-client.d.ts +0 -111
  269. package/out/zero-cache/src/services/replicator/write-worker-client.d.ts.map +0 -1
  270. package/out/zero-cache/src/services/run-ast.d.ts +0 -39
  271. package/out/zero-cache/src/services/run-ast.d.ts.map +0 -1
  272. package/out/zero-cache/src/services/runner.d.ts +0 -19
  273. package/out/zero-cache/src/services/runner.d.ts.map +0 -1
  274. package/out/zero-cache/src/services/view-syncer/active-users-gauge.d.ts +0 -17
  275. package/out/zero-cache/src/services/view-syncer/active-users-gauge.d.ts.map +0 -1
  276. package/out/zero-cache/src/services/view-syncer/advancement-metrics.d.ts +0 -26
  277. package/out/zero-cache/src/services/view-syncer/advancement-metrics.d.ts.map +0 -1
  278. package/out/zero-cache/src/services/view-syncer/batch-pacer.d.ts +0 -79
  279. package/out/zero-cache/src/services/view-syncer/batch-pacer.d.ts.map +0 -1
  280. package/out/zero-cache/src/services/view-syncer/client-handler.d.ts +0 -97
  281. package/out/zero-cache/src/services/view-syncer/client-handler.d.ts.map +0 -1
  282. package/out/zero-cache/src/services/view-syncer/client-schema.d.ts +0 -18
  283. package/out/zero-cache/src/services/view-syncer/client-schema.d.ts.map +0 -1
  284. package/out/zero-cache/src/services/view-syncer/connection-context-manager.d.ts +0 -184
  285. package/out/zero-cache/src/services/view-syncer/connection-context-manager.d.ts.map +0 -1
  286. package/out/zero-cache/src/services/view-syncer/cvr-purger.d.ts +0 -22
  287. package/out/zero-cache/src/services/view-syncer/cvr-purger.d.ts.map +0 -1
  288. package/out/zero-cache/src/services/view-syncer/cvr-store.d.ts +0 -128
  289. package/out/zero-cache/src/services/view-syncer/cvr-store.d.ts.map +0 -1
  290. package/out/zero-cache/src/services/view-syncer/cvr.d.ts +0 -294
  291. package/out/zero-cache/src/services/view-syncer/cvr.d.ts.map +0 -1
  292. package/out/zero-cache/src/services/view-syncer/deferred-writes-budget.d.ts +0 -81
  293. package/out/zero-cache/src/services/view-syncer/deferred-writes-budget.d.ts.map +0 -1
  294. package/out/zero-cache/src/services/view-syncer/drain-coordinator.d.ts +0 -45
  295. package/out/zero-cache/src/services/view-syncer/drain-coordinator.d.ts.map +0 -1
  296. package/out/zero-cache/src/services/view-syncer/e2e-serving-lag.d.ts +0 -53
  297. package/out/zero-cache/src/services/view-syncer/e2e-serving-lag.d.ts.map +0 -1
  298. package/out/zero-cache/src/services/view-syncer/hydration-budget.d.ts +0 -33
  299. package/out/zero-cache/src/services/view-syncer/hydration-budget.d.ts.map +0 -1
  300. package/out/zero-cache/src/services/view-syncer/hydration-circuit-breaker.d.ts +0 -51
  301. package/out/zero-cache/src/services/view-syncer/hydration-circuit-breaker.d.ts.map +0 -1
  302. package/out/zero-cache/src/services/view-syncer/inspect-handler.d.ts +0 -34
  303. package/out/zero-cache/src/services/view-syncer/inspect-handler.d.ts.map +0 -1
  304. package/out/zero-cache/src/services/view-syncer/pipeline-driver.d.ts +0 -296
  305. package/out/zero-cache/src/services/view-syncer/pipeline-driver.d.ts.map +0 -1
  306. package/out/zero-cache/src/services/view-syncer/plan-warnings.d.ts +0 -7
  307. package/out/zero-cache/src/services/view-syncer/plan-warnings.d.ts.map +0 -1
  308. package/out/zero-cache/src/services/view-syncer/push-cost.d.ts +0 -132
  309. package/out/zero-cache/src/services/view-syncer/push-cost.d.ts.map +0 -1
  310. package/out/zero-cache/src/services/view-syncer/push-cutoff.d.ts +0 -55
  311. package/out/zero-cache/src/services/view-syncer/push-cutoff.d.ts.map +0 -1
  312. package/out/zero-cache/src/services/view-syncer/query-covering.d.ts +0 -28
  313. package/out/zero-cache/src/services/view-syncer/query-covering.d.ts.map +0 -1
  314. package/out/zero-cache/src/services/view-syncer/query-shape.d.ts +0 -25
  315. package/out/zero-cache/src/services/view-syncer/query-shape.d.ts.map +0 -1
  316. package/out/zero-cache/src/services/view-syncer/query-stats.d.ts +0 -89
  317. package/out/zero-cache/src/services/view-syncer/query-stats.d.ts.map +0 -1
  318. package/out/zero-cache/src/services/view-syncer/row-record-cache.d.ts +0 -90
  319. package/out/zero-cache/src/services/view-syncer/row-record-cache.d.ts.map +0 -1
  320. package/out/zero-cache/src/services/view-syncer/row-set-signature.d.ts +0 -17
  321. package/out/zero-cache/src/services/view-syncer/row-set-signature.d.ts.map +0 -1
  322. package/out/zero-cache/src/services/view-syncer/schema/cvr.d.ts +0 -86
  323. package/out/zero-cache/src/services/view-syncer/schema/cvr.d.ts.map +0 -1
  324. package/out/zero-cache/src/services/view-syncer/schema/init.d.ts +0 -5
  325. package/out/zero-cache/src/services/view-syncer/schema/init.d.ts.map +0 -1
  326. package/out/zero-cache/src/services/view-syncer/schema/types.d.ts +0 -563
  327. package/out/zero-cache/src/services/view-syncer/schema/types.d.ts.map +0 -1
  328. package/out/zero-cache/src/services/view-syncer/snapshot-row-cache.d.ts +0 -95
  329. package/out/zero-cache/src/services/view-syncer/snapshot-row-cache.d.ts.map +0 -1
  330. package/out/zero-cache/src/services/view-syncer/snapshotter.d.ts +0 -420
  331. package/out/zero-cache/src/services/view-syncer/snapshotter.d.ts.map +0 -1
  332. package/out/zero-cache/src/services/view-syncer/tracer.d.ts +0 -2
  333. package/out/zero-cache/src/services/view-syncer/tracer.d.ts.map +0 -1
  334. package/out/zero-cache/src/services/view-syncer/ttl-clock.d.ts +0 -10
  335. package/out/zero-cache/src/services/view-syncer/ttl-clock.d.ts.map +0 -1
  336. package/out/zero-cache/src/services/view-syncer/view-syncer.d.ts +0 -133
  337. package/out/zero-cache/src/services/view-syncer/view-syncer.d.ts.map +0 -1
  338. package/out/zero-cache/src/types/downstream.d.ts +0 -11
  339. package/out/zero-cache/src/types/downstream.d.ts.map +0 -1
  340. package/out/zero-cache/src/types/error-with-level.d.ts +0 -9
  341. package/out/zero-cache/src/types/error-with-level.d.ts.map +0 -1
  342. package/out/zero-cache/src/types/pg-patch.d.ts +0 -21
  343. package/out/zero-cache/src/types/pg-patch.d.ts.map +0 -1
  344. package/out/zero-cache/src/types/pg-versions.d.ts +0 -3
  345. package/out/zero-cache/src/types/pg-versions.d.ts.map +0 -1
  346. package/out/zero-cache/src/types/poke-chunk.d.ts +0 -18
  347. package/out/zero-cache/src/types/poke-chunk.d.ts.map +0 -1
  348. package/out/zero-cache/src/types/streams.d.ts +0 -115
  349. package/out/zero-cache/src/types/streams.d.ts.map +0 -1
  350. package/out/zero-cache/src/types/subscription.d.ts +0 -197
  351. package/out/zero-cache/src/types/subscription.d.ts.map +0 -1
  352. package/out/zero-cache/src/workers/connect-params.d.ts +0 -28
  353. package/out/zero-cache/src/workers/connect-params.d.ts.map +0 -1
  354. package/out/zero-cache/src/workers/connection.d.ts +0 -77
  355. package/out/zero-cache/src/workers/connection.d.ts.map +0 -1
  356. package/out/zero-cache/src/workers/replicator.d.ts +0 -57
  357. package/out/zero-cache/src/workers/replicator.d.ts.map +0 -1
  358. package/out/zero-cache/src/workers/syncer-ws-message-handler.d.ts +0 -14
  359. package/out/zero-cache/src/workers/syncer-ws-message-handler.d.ts.map +0 -1
  360. package/out/zero-cache/src/workers/syncer.d.ts +0 -67
  361. package/out/zero-cache/src/workers/syncer.d.ts.map +0 -1
  362. package/out/zero-events/src/index.d.ts +0 -27
  363. package/out/zero-events/src/index.d.ts.map +0 -1
  364. package/out/zero-events/src/json.d.ts +0 -20
  365. package/out/zero-events/src/json.d.ts.map +0 -1
  366. package/out/zero-events/src/status.d.ts +0 -144
  367. package/out/zero-events/src/status.d.ts.map +0 -1
  368. package/out/zqlite/src/database-storage.d.ts +0 -43
  369. package/out/zqlite/src/database-storage.d.ts.map +0 -1
  370. package/out/zqlite/src/explain-queries.d.ts +0 -4
  371. package/out/zqlite/src/explain-queries.d.ts.map +0 -1
  372. package/out/zqlite/src/internal/sql-inline.d.ts +0 -13
  373. package/out/zqlite/src/internal/sql-inline.d.ts.map +0 -1
  374. package/out/zqlite/src/resolve-scalar-subqueries.d.ts +0 -72
  375. package/out/zqlite/src/resolve-scalar-subqueries.d.ts.map +0 -1
  376. package/out/zqlite/src/sqlite-cost-model.d.ts +0 -17
  377. package/out/zqlite/src/sqlite-cost-model.d.ts.map +0 -1
  378. package/out/zqlite/src/sqlite-stat-fanout.d.ts +0 -121
  379. package/out/zqlite/src/sqlite-stat-fanout.d.ts.map +0 -1
@@ -1,158 +0,0 @@
1
- /**
2
- * Where a stream connection's initialization parameters come from.
3
- *
4
- * A change-streamer starts a stream from three things read at one position: the
5
- * watermark to resume at, the {@link BackfillRequest}s to hand the change
6
- * source, and the cookie set those requests were derived from. Postgres has
7
- * always supplied all three (`Storer.getStartStreamInitializationParameters()`).
8
- * The point of this workstream is that a restored replica can supply them
9
- * instead, which is what lets the `cdc` schema be decommissioned.
10
- *
11
- * This is the two-source stage. Both are computed on every stream connection,
12
- * compared, and Postgres's is used — so the replica-derived path runs in
13
- * production, at full rate, before anything depends on it. The flip is
14
- * `initFromPgChangeLog: false`, not a rewrite.
15
- *
16
- * The shape is {@link UpstreamAcker}'s, deliberately: two stores, one output, a
17
- * flag per store, and the Postgres flag carrying the marker that retires it.
18
- * That class solved the identical problem for upstream ACKs earlier in this
19
- * workstream.
20
- *
21
- * ### Why the comparison is a fold and not an equality
22
- *
23
- * The replica is a subscriber downstream of the change-streamer's write loop,
24
- * so its state version trails the log's head by however long the replicator is
25
- * behind. A raw difference between the two cookie sets is therefore the normal
26
- * case and says nothing. What is checked instead is that the replica's set,
27
- * carried forward over exactly the schema changes the log holds in the interval,
28
- * equals Postgres's set at Postgres's watermark. The log holds precisely those
29
- * transactions, schema changes are rare, and the check is exact rather than
30
- * approximate — so it also happens to be the strongest available test of the
31
- * premise that three interpreters of one fold agree.
32
- */
33
- import type { LogContext } from '@rocicorp/logger';
34
- import { Database } from '../../../../zqlite/src/db.ts';
35
- import type { BackfillRequest } from '../change-source/protocol/current/upstream.ts';
36
- import { type CookieSet } from '../replicator/change-log-cookies.ts';
37
- import { type ChangeLogResumePoint } from '../replicator/change-log-db.ts';
38
- /** Everything one stream connection starts from, read at one position. */
39
- export type InitializationParameters = {
40
- readonly lastWatermark: string;
41
- readonly backfillRequests: BackfillRequest[];
42
- readonly cookies: CookieSet;
43
- };
44
- /**
45
- * - `equal` — the two stores were at the same watermark and held the same
46
- * cookies. Nothing had to be folded, which is the strongest of the four.
47
- * - `equal-after-fold` — the replica trailed, and carrying its set forward over
48
- * the log's schema changes in the interval reproduced Postgres's exactly.
49
- * The expected steady-state result.
50
- * - `divergent` — the two disagree at the same position. Alert; investigate
51
- * individually.
52
- * - `inconclusive` — the log does not span the interval, so the fold cannot be
53
- * performed. Routine on a cold log, and not a finding.
54
- * - `error` — the comparison itself failed: the replica could not be read, or
55
- * the fold threw. Not one of the four classifications, because it is a
56
- * statement about this process rather than about the two stores. Kept
57
- * separate rather than folded into `inconclusive` so that a change-streamer
58
- * that has silently stopped being able to read its replica is visible before
59
- * that read becomes the only source.
60
- */
61
- export type InitComparisonResult = 'equal' | 'equal-after-fold' | 'divergent' | 'inconclusive' | 'error';
62
- export type ChangeLogInitializerSources = {
63
- /** `Storer.getStartStreamInitializationParameters()`. */
64
- readonly pgChangeLog: () => Promise<InitializationParameters>;
65
- /** Typically {@link replicaInitializationSource}. */
66
- readonly replica: () => InitializationParameters;
67
- /**
68
- * Reconciles the SQLite change log and returns its current resume point.
69
- *
70
- * When `resumeFrom` is present, it supplies the resume point. Otherwise, a
71
- * valid log uses its own head. A new or invalid log uses `seed`.
72
- *
73
- * Returns `undefined` when the writer is disabled or unavailable.
74
- */
75
- readonly reconcileChangeLog: (resumeFrom: ChangeLogResumePoint | undefined, seed: () => ChangeLogResumePoint) => ChangeLogResumePoint | undefined;
76
- /**
77
- * The change log, for the fold. `undefined` before the stream loop's first
78
- * reconcile has created it, and again once the writer has failed soft and
79
- * deleted it — both of which make the comparison `inconclusive` rather than
80
- * an error, since neither says anything about the two stores.
81
- */
82
- readonly changeLog: () => Database | undefined;
83
- /**
84
- * Re-initializes the Postgres change log from the replica's resume point
85
- * (taking ownership of it) if it does not contain all of the replica's
86
- * changes, re-checking under lock. Typically
87
- * `Storer.reinitializeFromReplica()`.
88
- *
89
- * Supplied only when the change log's head is behind the position of the
90
- * replication slot from which replication resumes, i.e. when it may be
91
- * missing transactions that the slot will not stream. Otherwise, a replica
92
- * that is ahead of the change log (as changes are forwarded before they are
93
- * stored) is caught up by the change stream, which resumes from the change
94
- * log's head.
95
- */
96
- readonly reinitializePgChangeLog?: ((params: {
97
- watermark: string;
98
- cookies: CookieSet;
99
- }) => Promise<'reinitialized' | 'maintained'>) | undefined;
100
- };
101
- type Opts = {
102
- /**
103
- * When true, Postgres supplies the resume point and the cookies for a new
104
- * change log.
105
- *
106
- * When false, a valid log resumes from its own head. The replica supplies the
107
- * resume point for a new or invalid log.
108
- */
109
- readonly initFromPgChangeLog: boolean;
110
- /**
111
- * Derive the parameters from the replica. When Postgres is enabled, these
112
- * parameters are used only for comparison.
113
- *
114
- * When Postgres is disabled, the replica supplies the seed and the fallback
115
- * resume point.
116
- */
117
- readonly initFromReplica: boolean;
118
- };
119
- export declare class ChangeLogInitializer {
120
- #private;
121
- constructor(lc: LogContext, { initFromPgChangeLog, initFromReplica }: Opts, sources: ChangeLogInitializerSources);
122
- /**
123
- * Returns the comparison result from the most recent {@link initialize}
124
- * call. Returns `undefined` when that call used only one source.
125
- *
126
- * Tests and metrics use this result. It does not affect initialization.
127
- */
128
- lastComparison(): InitComparisonResult | undefined;
129
- /**
130
- * Returns the initialization parameters for one stream connection after it
131
- * reconciles the change log.
132
- *
133
- * The selected source determines how reconciliation works. Keeping both
134
- * operations here hides that choice from the caller.
135
- */
136
- initialize(): Promise<InitializationParameters>;
137
- }
138
- /**
139
- * Reads the replica's initialization parameters in one snapshot, which is
140
- * invariant 15 on the replica side: the state version and the cookies are only
141
- * meaningful together.
142
- */
143
- export declare function readReplicaInitializationParameters(db: Database): InitializationParameters;
144
- /**
145
- * The replica source for {@link ChangeLogInitializer}, opening and closing the
146
- * file per stream connection rather than holding a handle on a database another
147
- * process owns.
148
- *
149
- * The handle is read-only, which is invariant 19 stated in the API: the
150
- * replica's cookie tables are written by the change-processor and by nothing
151
- * else. Note that a read-only SQLite connection still needs to attach the
152
- * WAL's `-shm`, so this can fail if it opens at a moment when no writer holds
153
- * the replica; that surfaces as the `error` classification, which is the point
154
- * of running the path under observation before anything depends on it.
155
- */
156
- export declare function replicaInitializationSource(lc: LogContext, replicaFile: string): () => InitializationParameters;
157
- export {};
158
- //# sourceMappingURL=change-log-initializer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"change-log-initializer.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/change-streamer/change-log-initializer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAIjD,OAAO,EAAC,QAAQ,EAAC,MAAM,8BAA8B,CAAC;AAKtD,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,+CAA+C,CAAC;AACnF,OAAO,EAGL,KAAK,SAAS,EACf,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,gCAAgC,CAAC;AAQxC,0EAA0E;AAC1E,MAAM,MAAM,wBAAwB,GAAG;IACrC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,gBAAgB,EAAE,eAAe,EAAE,CAAC;IAC7C,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC;CAC7B,CAAC;AAEF;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,oBAAoB,GAC5B,OAAO,GACP,kBAAkB,GAClB,WAAW,GACX,cAAc,GACd,OAAO,CAAC;AAEZ,MAAM,MAAM,2BAA2B,GAAG;IACxC,yDAAyD;IACzD,QAAQ,CAAC,WAAW,EAAE,MAAM,OAAO,CAAC,wBAAwB,CAAC,CAAC;IAC9D,qDAAqD;IACrD,QAAQ,CAAC,OAAO,EAAE,MAAM,wBAAwB,CAAC;IACjD;;;;;;;OAOG;IACH,QAAQ,CAAC,kBAAkB,EAAE,CAC3B,UAAU,EAAE,oBAAoB,GAAG,SAAS,EAC5C,IAAI,EAAE,MAAM,oBAAoB,KAC7B,oBAAoB,GAAG,SAAS,CAAC;IACtC;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,QAAQ,GAAG,SAAS,CAAC;IAC/C;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,uBAAuB,CAAC,EAC7B,CAAC,CAAC,MAAM,EAAE;QACR,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,SAAS,CAAC;KACpB,KAAK,OAAO,CAAC,eAAe,GAAG,YAAY,CAAC,CAAC,GAC9C,SAAS,CAAC;CACf,CAAC;AAEF,KAAK,IAAI,GAAG;IACV;;;;;;OAMG;IAEH,QAAQ,CAAC,mBAAmB,EAAE,OAAO,CAAC;IACtC;;;;;;OAMG;IACH,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;CACnC,CAAC;AAcF,qBAAa,oBAAoB;;IAqB/B,YACE,EAAE,EAAE,UAAU,EACd,EAAC,mBAAmB,EAAE,eAAe,EAAC,EAAE,IAAI,EAC5C,OAAO,EAAE,2BAA2B,EAUrC;IAED;;;;;OAKG;IACH,cAAc,IAAI,oBAAoB,GAAG,SAAS,CAEjD;IAED;;;;;;OAMG;IACG,UAAU,IAAI,OAAO,CAAC,wBAAwB,CAAC,CAqCpD;CA2JF;AAUD;;;;GAIG;AACH,wBAAgB,mCAAmC,CACjD,EAAE,EAAE,QAAQ,GACX,wBAAwB,CAc1B;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,2BAA2B,CACzC,EAAE,EAAE,UAAU,EACd,WAAW,EAAE,MAAM,GAClB,MAAM,wBAAwB,CAahC"}
@@ -1,19 +0,0 @@
1
- export type ChangeLogHashRow = {
2
- readonly watermark: string;
3
- readonly pos: number;
4
- readonly tag: string;
5
- readonly change: string;
6
- readonly precommit: string | null;
7
- };
8
- /**
9
- * Computes a stable digest over the fields shared by the Postgres and SQLite
10
- * change logs. Values are length-prefixed so different field boundaries cannot
11
- * produce the same byte stream.
12
- */
13
- export declare class ChangeLogTransactionHasher {
14
- #private;
15
- constructor();
16
- add(row: ChangeLogHashRow): void;
17
- digest(): string;
18
- }
19
- //# sourceMappingURL=change-log-transaction-hash.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"change-log-transaction-hash.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/change-streamer/change-log-transaction-hash.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC,CAAC;AAEF;;;;GAIG;AACH,qBAAa,0BAA0B;;IAGrC,cAGC;IAED,GAAG,CAAC,GAAG,EAAE,gBAAgB,GAAG,IAAI,CAW/B;IAED,MAAM,IAAI,MAAM,CAEf;CACF"}
@@ -1,78 +0,0 @@
1
- import type { IncomingMessage } from 'node:http';
2
- import type { LogContext } from '@rocicorp/logger';
3
- import type { NormalizedZeroConfig } from '../../config/normalize.ts';
4
- import { type Worker } from '../../types/processes.ts';
5
- import { type ShardID } from '../../types/shards.ts';
6
- import { type Sized, type Source } from '../../types/streams.ts';
7
- import { Subscription } from '../../types/subscription.ts';
8
- import { HttpService, type Options as HttpOptions } from '../http-service.ts';
9
- import { type ChangeStreamer, type ChangeStreamerService, type SubscriberContext } from './change-streamer.ts';
10
- import { type LocalReplica, type SnapshotStatus, type SubscribeDownstream, type SubscribeUpstream } from './subscribe.ts';
11
- type Options = HttpOptions & {
12
- startupDelayMs: number;
13
- config?: Pick<NormalizedZeroConfig, 'adminPassword' | 'operatorPassword'> | undefined;
14
- getProfileWorker?: (() => Promise<Worker>) | undefined;
15
- };
16
- export declare class ChangeStreamerHttpServer extends HttpService {
17
- #private;
18
- readonly id = "change-streamer-http-server";
19
- constructor(lc: LogContext, opts: Options, parent: Worker, changeStreamer: ChangeStreamerService);
20
- protected _onStart(): void;
21
- /**
22
- * Signals (drainable) subscribers to switch over to another
23
- * replication-manager, resolving when they have disconnected. Subscribers
24
- * continue to be served in the meantime, but new connections (e.g.
25
- * switchover attempts, reconnects, and snapshot reservations) are refused,
26
- * so that they are routed to another replication-manager.
27
- */
28
- drain(): Promise<void>;
29
- protected _onStop(): Promise<void>;
30
- }
31
- export interface SnapshotReserver {
32
- reserveSnapshot(taskID: string, localReplica?: LocalReplica | undefined): Promise<{
33
- reserved: SnapshotStatus;
34
- followup: ReservationFollowup;
35
- }>;
36
- }
37
- export interface SubscriptionStarter {
38
- subscribe(ctx: SubscriberContext): Promise<Source<Sized<SubscribeDownstream>>>;
39
- }
40
- export interface ReservationFollowup extends SubscriptionStarter {
41
- /**
42
- * A signal to indicate that the followup is no longer valid (i.e. the
43
- * connection to the reserving task has been severed).
44
- */
45
- readonly signal: AbortSignal;
46
- /**
47
- * Abandons the reservation without subscribing, closing the connection that
48
- * was held open to pin the change-log floor. Used when the caller cannot
49
- * proceed to `subscribe()` (e.g. process shutdown while a restore is in
50
- * progress) and must not leave the reservation's connection open forever.
51
- */
52
- cancel(reason?: Error): void;
53
- }
54
- export declare class ChangeStreamerHttpClient implements ChangeStreamer, SnapshotReserver, SubscriptionStarter {
55
- #private;
56
- constructor(lc: LogContext, shardID: ShardID, changeDB: string, changeStreamerURI: string | undefined);
57
- reserveSnapshot(taskID: string, localReplica?: LocalReplica | undefined): Promise<{
58
- reserved: SnapshotStatus;
59
- followup: ReservationFollowup;
60
- }>;
61
- subscribe(ctx: SubscriberContext): Promise<Source<Sized<SubscribeDownstream>>>;
62
- /**
63
- * Opens a merged v7 `/subscribe` connection (see subscribe.ts). Returns the
64
- * inbound change/reservation stream and an `outbound` sink into which the
65
- * caller pushes the `reserve-snapshot` / `start-subscription` control
66
- * messages that drive the connection's phases. The single connection spans
67
- * the reservation, backup restore, and subscription, so the reserving
68
- * replication-manager is the one that serves the subscription.
69
- */
70
- connect(taskID: string): Promise<{
71
- instream: Source<Sized<SubscribeDownstream>>;
72
- outbound: Subscription<SubscribeUpstream>;
73
- }>;
74
- }
75
- type RequestHeaders = Pick<IncomingMessage, 'url' | 'headers'>;
76
- export declare function getSubscriberContext(req: RequestHeaders): SubscriberContext;
77
- export {};
78
- //# sourceMappingURL=change-streamer-http.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"change-streamer-http.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/change-streamer/change-streamer-http.ts"],"names":[],"mappings":"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"}
@@ -1,152 +0,0 @@
1
- import type { LogContext } from '@rocicorp/logger';
2
- import type { PostgresDB } from '../../types/pg.ts';
3
- import type { ShardID } from '../../types/shards.ts';
4
- import type { ChangeSource } from '../change-source/change-source.ts';
5
- import type { LitestreamVersion } from '../litestream/metrics.ts';
6
- import { type ReplicationStatusPublisher } from '../replicator/replication-status.ts';
7
- import type { SubscriptionState } from '../replicator/schema/replication-state.ts';
8
- import type { BackupSource } from './backup-monitor.ts';
9
- import { type ChangeStreamerService, type SubscriberContext } from './change-streamer.ts';
10
- import { type SQLiteChangeLogCleanupGuard } from './sqlite-change-log-catchup.ts';
11
- import { type SQLiteChangeLogCompareOptions } from './sqlite-change-log-comparator.ts';
12
- import { type SQLiteChangeLogPurgeSchedulerOptions } from './sqlite-change-log-purge-scheduler.ts';
13
- import { type SQLiteChangeLogCoverage } from './sqlite-change-log-read-router.ts';
14
- import { type SQLiteChangeLogWriterOptions } from './sqlite-change-log-writer.ts';
15
- import { type PurgeLock, type TuningOptions as StorerOptions } from './storer.ts';
16
- export type BackupConfig = {
17
- backupURL: string;
18
- litestreamVersion: LitestreamVersion;
19
- /**
20
- * The replica being backed up. Its size is sent to subscribers as an
21
- * estimate of the size of their restored replica.
22
- */
23
- replicaFile?: string | undefined;
24
- };
25
- export type SQLiteCatchupOptions = {
26
- /** The change-log database, i.e. `changeLogFileName(replicaFile)`. */
27
- changeLogFile: string;
28
- readBatchRows: number;
29
- barrierTimeoutMs: number;
30
- /**
31
- * Backstop for the change-log writer's ACK, which is what normally releases
32
- * the barrier. Defaults to the catchup coordinator's interval.
33
- */
34
- barrierPollIntervalMs?: number | undefined;
35
- /**
36
- * Optional policy hook used by focused tests. Production canary selection is
37
- * supplied by `sqliteChangeLogServe` and is stable by shard plus task ID.
38
- * Backup subscribers are rejected before either selector is invoked.
39
- */
40
- shouldUse?: ((ctx: SubscriberContext) => boolean) | undefined;
41
- /**
42
- * Overrides the purge scheduler's guard, for tests. When absent, the
43
- * service supplies the scheduler's real writer-serialized guard, or the
44
- * catchup's no-op default when purging is not configured.
45
- */
46
- cleanupGuard?: SQLiteChangeLogCleanupGuard | undefined;
47
- /**
48
- * How long the change log may be unavailable before declining to serve from
49
- * it is reported as a warning rather than a debug line. Defaults to
50
- * {@link DEFAULT_CHANGE_LOG_UNAVAILABLE_WARN_THRESHOLD_MS}.
51
- */
52
- notReadyWarnThresholdMs?: number | undefined;
53
- };
54
- export type SQLiteChangeLogServeOptions = {
55
- /** Stable percentage of eligible serving tasks routed to SQLite. */
56
- readPercent: number;
57
- /**
58
- * Stable percentage of eligible serving tasks routed to a log that has not
59
- * yet aged through {@link retentionMs}. Zero keeps a reseeded log on PG for
60
- * that whole window; above zero it serves that share of tasks, and a
61
- * reservation it cannot cover is demoted rather than held pending.
62
- * Defaults to zero.
63
- */
64
- coldReadPercent?: number | undefined;
65
- /** The warm-up window a reseeded log ages through. */
66
- retentionMs: number;
67
- /** Injectable for deterministic breaker tests. */
68
- failureCooldownMs?: number | undefined;
69
- /** Injectable for deterministic warm-up and breaker tests. */
70
- now?: (() => number) | undefined;
71
- /** Injectable readiness inspection for service-level tests. */
72
- inspect?: (() => SQLiteChangeLogCoverage | undefined) | undefined;
73
- };
74
- export type TuningOptions = StorerOptions & {
75
- /**
76
- * Whether the PG change log's head was behind the position of the
77
- * replication slot from which replication resumes, in which case the
78
- * change log is re-initialized from the (restored) replica if it does not
79
- * contain all of the replica's changes (see `PgChangeLogPurgeLocker`).
80
- *
81
- * Required so that a caller cannot silently drop it: without it, the
82
- * stream resumes from a head that the slot cannot stream from, skipping
83
- * transactions.
84
- */
85
- pgChangeLogBehindSlot: boolean;
86
- flowControlConsensusTimeoutProportion: number;
87
- flowControlSlowSubscriberGracePeriodMs?: number | undefined;
88
- /**
89
- * The target number of subscribers that may be replacing their replica at
90
- * the same time, which limits when subscribers switching over from an
91
- * incompatible replication-manager are granted permission to restart (see
92
- * {@link RestoreAdmission}). Defaults to 1. Only applicable when backups
93
- * are configured.
94
- */
95
- maxConcurrentSwitchoverRestores?: number | undefined;
96
- /**
97
- * The time for which a replacing subscriber continues to count towards
98
- * {@link maxConcurrentSwitchoverRestores} after it has caught up, to allow
99
- * it to start serving (see {@link RestoreAdmission}).
100
- */
101
- switchoverRestoreReadinessGracePeriodMs?: number | undefined;
102
- sqliteCatchup?: SQLiteCatchupOptions | undefined;
103
- /**
104
- * Supplied when `sqliteChangeLogMode != off`, i.e. this is the gate on the
105
- * change-log writer. Absent, nothing writes the log.
106
- */
107
- sqliteChangeLogWriter?: Omit<SQLiteChangeLogWriterOptions, 'onCommit' | 'onDisabled' | 'onRebuilt'> | undefined;
108
- /**
109
- * Also supplied when `sqliteChangeLogMode != off`, and deliberately not
110
- * gated on the read path: in `write` mode no reader ever opens, and this is
111
- * the configuration the purge scheduler actually ships in. The scheduler
112
- * runs on the writer's own connection, so with the writer absent (mode
113
- * `off`) it is never constructed, and a leftover file on disk is left to
114
- * the replicator's cleanup.
115
- */
116
- sqliteChangeLogPurge?: SQLiteChangeLogPurgeSchedulerOptions | undefined;
117
- /**
118
- * Supplied in `compare` mode and later modes.
119
- * `replicaFile` enables the initialization comparison.
120
- * The other fields configure sampled catchup comparisons.
121
- * Both checks are advisory, and Postgres remains authoritative.
122
- * The comparator also requires the writer and catchup options.
123
- */
124
- sqliteChangeLogCompare?: (SQLiteChangeLogCompareOptions & {
125
- replicaFile: string;
126
- }) | undefined;
127
- /** Supplied only in `serve` mode. A zero percentage keeps every read on PG. */
128
- sqliteChangeLogServe?: SQLiteChangeLogServeOptions | undefined;
129
- /**
130
- * The source of backed-up watermarks (i.e. the `BackupMonitor`), which the
131
- * change-streamer tracks from construction, and from which it requests
132
- * prompt backups when the change source asks for them (e.g. for a replica
133
- * fork). Its lifecycle (e.g. the monitor's run() and stop()) is managed by
134
- * the caller. Absent, no backups are tracked.
135
- */
136
- backupMonitor?: BackupSource | undefined;
137
- };
138
- /**
139
- * Performs initialization and schema migrations to initialize a ChangeStreamerImpl.
140
- */
141
- export declare function initializeStreamer(lc: LogContext, shard: ShardID, taskID: string, discoveryAddress: string, discoveryProtocol: string,
142
- /**
143
- * The database of the legacy Postgres change log, or `null` if the PG
144
- * change log is disabled, in which case no connections are made to it.
145
- *
146
- * The PG change log keeps the legacy Postgres change log on the
147
- * initialization, persistence, catchup, purge, and ACK paths. Disable it
148
- * only after SQLite and the replica backup are authoritative for all of
149
- * those responsibilities.
150
- */
151
- changeDB: PostgresDB | null, changeSource: ChangeSource, replicationStatusPublisher: ReplicationStatusPublisher, subscriptionState: SubscriptionState, backupConfig: BackupConfig | null, purgeLock: PurgeLock | null, autoReset: boolean, opts: TuningOptions, setTimeoutFn?: typeof setTimeout): Promise<ChangeStreamerService>;
152
- //# sourceMappingURL=change-streamer-service.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"change-streamer-service.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/change-streamer/change-streamer-service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAcjD,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,uBAAuB,CAAC;AAGnD,OAAO,KAAK,EACV,YAAY,EAEb,MAAM,mCAAmC,CAAC;AAM3C,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAGL,KAAK,0BAA0B,EAChC,MAAM,qCAAqC,CAAC;AAC7C,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,2CAA2C,CAAC;AAOjF,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,qBAAqB,CAAC;AAOtD,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EAEvB,MAAM,sBAAsB,CAAC;AAa9B,OAAO,EAEL,KAAK,2BAA2B,EACjC,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAEL,KAAK,6BAA6B,EACnC,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAGL,KAAK,oCAAoC,EAC1C,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAIL,KAAK,uBAAuB,EAC7B,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAEL,KAAK,4BAA4B,EAClC,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAEL,KAAK,SAAS,EACd,KAAK,aAAa,IAAI,aAAa,EACpC,MAAM,aAAa,CAAC;AAKrB,MAAM,MAAM,YAAY,GAAG;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,iBAAiB,CAAC;IACrC;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,sEAAsE;IACtE,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,qBAAqB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3C;;;;OAIG;IACH,SAAS,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,iBAAiB,KAAK,OAAO,CAAC,GAAG,SAAS,CAAC;IAC9D;;;;OAIG;IACH,YAAY,CAAC,EAAE,2BAA2B,GAAG,SAAS,CAAC;IACvD;;;;OAIG;IACH,uBAAuB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9C,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACxC,oEAAoE;IACpE,WAAW,EAAE,MAAM,CAAC;IACpB;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,sDAAsD;IACtD,WAAW,EAAE,MAAM,CAAC;IACpB,kDAAkD;IAClD,iBAAiB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,8DAA8D;IAC9D,GAAG,CAAC,EAAE,CAAC,MAAM,MAAM,CAAC,GAAG,SAAS,CAAC;IACjC,+DAA+D;IAC/D,OAAO,CAAC,EAAE,CAAC,MAAM,uBAAuB,GAAG,SAAS,CAAC,GAAG,SAAS,CAAC;CACnE,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,aAAa,GAAG;IAC1C;;;;;;;;;OASG;IACH,qBAAqB,EAAE,OAAO,CAAC;IAC/B,qCAAqC,EAAE,MAAM,CAAC;IAC9C,sCAAsC,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5D;;;;;;OAMG;IACH,+BAA+B,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrD;;;;OAIG;IACH,uCAAuC,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7D,aAAa,CAAC,EAAE,oBAAoB,GAAG,SAAS,CAAC;IACjD;;;OAGG;IACH,qBAAqB,CAAC,EAClB,IAAI,CACF,4BAA4B,EAC5B,UAAU,GAAG,YAAY,GAAG,WAAW,CACxC,GACD,SAAS,CAAC;IACd;;;;;;;OAOG;IACH,oBAAoB,CAAC,EAAE,oCAAoC,GAAG,SAAS,CAAC;IACxE;;;;;;OAMG;IACH,sBAAsB,CAAC,EACnB,CAAC,6BAA6B,GAAG;QAAC,WAAW,EAAE,MAAM,CAAA;KAAC,CAAC,GACvD,SAAS,CAAC;IACd,+EAA+E;IAC/E,oBAAoB,CAAC,EAAE,2BAA2B,GAAG,SAAS,CAAC;IAC/D;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;CAC1C,CAAC;AAEF;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,EAAE,EAAE,UAAU,EACd,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,MAAM,EACd,gBAAgB,EAAE,MAAM,EACxB,iBAAiB,EAAE,MAAM;AACzB;;;;;;;;GAQG;AACH,QAAQ,EAAE,UAAU,GAAG,IAAI,EAC3B,YAAY,EAAE,YAAY,EAC1B,0BAA0B,EAAE,0BAA0B,EACtD,iBAAiB,EAAE,iBAAiB,EACpC,YAAY,EAAE,YAAY,GAAG,IAAI,EACjC,SAAS,EAAE,SAAS,GAAG,IAAI,EAC3B,SAAS,EAAE,OAAO,EAClB,IAAI,EAAE,aAAa,EACnB,YAAY,oBAAa,GACxB,OAAO,CAAC,qBAAqB,CAAC,CAoDhC"}