@rocicorp/zero 1.12.0-canary.5 → 1.12.0-canary.7

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 (414) hide show
  1. package/out/replicache/src/btree/node.js +1 -1
  2. package/out/replicache/src/deleted-clients.d.ts.map +1 -1
  3. package/out/replicache/src/deleted-clients.js +2 -1
  4. package/out/replicache/src/deleted-clients.js.map +1 -1
  5. package/out/replicache/src/kv/sqlite-store.d.ts.map +1 -1
  6. package/out/replicache/src/kv/sqlite-store.js +7 -3
  7. package/out/replicache/src/kv/sqlite-store.js.map +1 -1
  8. package/out/replicache/src/replicache-impl.d.ts.map +1 -1
  9. package/out/replicache/src/replicache-impl.js +17 -14
  10. package/out/replicache/src/replicache-impl.js.map +1 -1
  11. package/out/z2s/src/compiler.js +3 -3
  12. package/out/z2s/src/compiler.js.map +1 -1
  13. package/out/zero/package.js +11 -11
  14. package/out/zero/package.js.map +1 -1
  15. package/out/zero-cache/src/auth/write-authorizer.js +9 -2
  16. package/out/zero-cache/src/auth/write-authorizer.js.map +1 -1
  17. package/out/zero-cache/src/config/zero-config.js +2 -2
  18. package/out/zero-cache/src/config/zero-config.js.map +1 -1
  19. package/out/zero-cache/src/server/change-streamer.js +33 -9
  20. package/out/zero-cache/src/server/change-streamer.js.map +1 -1
  21. package/out/zero-cache/src/services/change-source/common/replica-restore.js.map +1 -1
  22. package/out/zero-cache/src/services/change-source/pg/change-source-init.js +49 -24
  23. package/out/zero-cache/src/services/change-source/pg/change-source-init.js.map +1 -1
  24. package/out/zero-cache/src/services/change-source/pg/change-source.js +64 -7
  25. package/out/zero-cache/src/services/change-source/pg/change-source.js.map +1 -1
  26. package/out/zero-cache/src/services/change-source/pg/fork-request.js +54 -0
  27. package/out/zero-cache/src/services/change-source/pg/fork-request.js.map +1 -0
  28. package/out/zero-cache/src/services/change-source/pg/replication-slots.js +6 -0
  29. package/out/zero-cache/src/services/change-source/pg/replication-slots.js.map +1 -1
  30. package/out/zero-cache/src/services/change-source/protocol/current/downstream.d.ts +1 -0
  31. package/out/zero-cache/src/services/change-source/protocol/current/downstream.d.ts.map +1 -1
  32. package/out/zero-cache/src/services/change-source/protocol/current/status.d.ts +3 -0
  33. package/out/zero-cache/src/services/change-source/protocol/current/status.d.ts.map +1 -1
  34. package/out/zero-cache/src/services/change-source/protocol/current/status.js +2 -1
  35. package/out/zero-cache/src/services/change-source/protocol/current/status.js.map +1 -1
  36. package/out/zero-cache/src/services/change-source/protocol/current/upstream.d.ts +1 -0
  37. package/out/zero-cache/src/services/change-source/protocol/current/upstream.d.ts.map +1 -1
  38. package/out/zero-cache/src/services/change-streamer/backup-cleanup-monitor-factory.js +6 -6
  39. package/out/zero-cache/src/services/change-streamer/backup-cleanup-monitor-factory.js.map +1 -1
  40. package/out/zero-cache/src/services/change-streamer/backup-monitor.js +55 -20
  41. package/out/zero-cache/src/services/change-streamer/backup-monitor.js.map +1 -1
  42. package/out/zero-cache/src/services/change-streamer/change-streamer-service.js +27 -8
  43. package/out/zero-cache/src/services/change-streamer/change-streamer-service.js.map +1 -1
  44. package/out/zero-cache/src/services/change-streamer/change-streamer.js.map +1 -1
  45. package/out/zero-cache/src/services/change-streamer/litestream-sync-requester.js +80 -11
  46. package/out/zero-cache/src/services/change-streamer/litestream-sync-requester.js.map +1 -1
  47. package/out/zero-cache/src/services/change-streamer/litestream3-prometheus-poller.js.map +1 -1
  48. package/out/zero-cache/src/services/change-streamer/replica-poller.js.map +1 -1
  49. package/out/zero-cache/src/services/change-streamer/server-start-metrics.js +42 -0
  50. package/out/zero-cache/src/services/change-streamer/server-start-metrics.js.map +1 -0
  51. package/out/zero-cache/src/services/change-streamer/subscriber.js +5 -4
  52. package/out/zero-cache/src/services/change-streamer/subscriber.js.map +1 -1
  53. package/out/zero-cache/src/services/mutagen/mutagen.js +1 -2
  54. package/out/zero-cache/src/services/mutagen/mutagen.js.map +1 -1
  55. package/out/zero-cache/src/services/view-syncer/view-syncer.js +19 -2
  56. package/out/zero-cache/src/services/view-syncer/view-syncer.js.map +1 -1
  57. package/out/zero-client/src/client/version.js +1 -1
  58. package/out/zero-protocol/src/ast.d.ts.map +1 -1
  59. package/out/zero-protocol/src/ast.js +2 -1
  60. package/out/zero-protocol/src/ast.js.map +1 -1
  61. package/out/zero-protocol/src/down.d.ts +27 -27
  62. package/out/zero-protocol/src/inspect-down.d.ts +81 -81
  63. package/out/zero-protocol/src/up.d.ts +60 -60
  64. package/package.json +11 -11
  65. package/out/shared/src/cache.d.ts +0 -22
  66. package/out/shared/src/cache.d.ts.map +0 -1
  67. package/out/shared/src/custom-key-map.d.ts +0 -26
  68. package/out/shared/src/custom-key-map.d.ts.map +0 -1
  69. package/out/shared/src/custom-key-set.d.ts +0 -25
  70. package/out/shared/src/custom-key-set.d.ts.map +0 -1
  71. package/out/shared/src/logging-test-utils.d.ts +0 -12
  72. package/out/shared/src/logging-test-utils.d.ts.map +0 -1
  73. package/out/shared/src/queue.d.ts +0 -53
  74. package/out/shared/src/queue.d.ts.map +0 -1
  75. package/out/shared/src/ring-buffer.d.ts +0 -42
  76. package/out/shared/src/ring-buffer.d.ts.map +0 -1
  77. package/out/shared/src/sorted-entries.d.ts +0 -2
  78. package/out/shared/src/sorted-entries.d.ts.map +0 -1
  79. package/out/zero/src/server/change-streamer.d.ts +0 -2
  80. package/out/zero/src/server/change-streamer.d.ts.map +0 -1
  81. package/out/zero/src/server/main.d.ts +0 -2
  82. package/out/zero/src/server/main.d.ts.map +0 -1
  83. package/out/zero/src/server/reaper.d.ts +0 -2
  84. package/out/zero/src/server/reaper.d.ts.map +0 -1
  85. package/out/zero/src/server/replicator.d.ts +0 -2
  86. package/out/zero/src/server/replicator.d.ts.map +0 -1
  87. package/out/zero/src/server/syncer.d.ts +0 -2
  88. package/out/zero/src/server/syncer.d.ts.map +0 -1
  89. package/out/zero-cache/src/auth/jwt.d.ts +0 -12
  90. package/out/zero-cache/src/auth/jwt.d.ts.map +0 -1
  91. package/out/zero-cache/src/auth/load-permissions.d.ts +0 -17
  92. package/out/zero-cache/src/auth/load-permissions.d.ts.map +0 -1
  93. package/out/zero-cache/src/auth/write-authorizer.d.ts +0 -28
  94. package/out/zero-cache/src/auth/write-authorizer.d.ts.map +0 -1
  95. package/out/zero-cache/src/config/server-context.d.ts +0 -16
  96. package/out/zero-cache/src/config/server-context.d.ts.map +0 -1
  97. package/out/zero-cache/src/custom/fetch.d.ts +0 -38
  98. package/out/zero-cache/src/custom/fetch.d.ts.map +0 -1
  99. package/out/zero-cache/src/custom/metrics.d.ts +0 -31
  100. package/out/zero-cache/src/custom/metrics.d.ts.map +0 -1
  101. package/out/zero-cache/src/custom-queries/transform-query.d.ts +0 -68
  102. package/out/zero-cache/src/custom-queries/transform-query.d.ts.map +0 -1
  103. package/out/zero-cache/src/db/create.d.ts +0 -12
  104. package/out/zero-cache/src/db/create.d.ts.map +0 -1
  105. package/out/zero-cache/src/db/delete-lite-db.d.ts +0 -2
  106. package/out/zero-cache/src/db/delete-lite-db.d.ts.map +0 -1
  107. package/out/zero-cache/src/db/index-predicate.d.ts +0 -4
  108. package/out/zero-cache/src/db/index-predicate.d.ts.map +0 -1
  109. package/out/zero-cache/src/db/migration-lite.d.ts +0 -78
  110. package/out/zero-cache/src/db/migration-lite.d.ts.map +0 -1
  111. package/out/zero-cache/src/db/migration.d.ts +0 -80
  112. package/out/zero-cache/src/db/migration.d.ts.map +0 -1
  113. package/out/zero-cache/src/db/pg-copy-binary.d.ts +0 -101
  114. package/out/zero-cache/src/db/pg-copy-binary.d.ts.map +0 -1
  115. package/out/zero-cache/src/db/pg-copy.d.ts +0 -30
  116. package/out/zero-cache/src/db/pg-copy.d.ts.map +0 -1
  117. package/out/zero-cache/src/db/pg-type-parser.d.ts +0 -15
  118. package/out/zero-cache/src/db/pg-type-parser.d.ts.map +0 -1
  119. package/out/zero-cache/src/db/transaction-pool.d.ts +0 -205
  120. package/out/zero-cache/src/db/transaction-pool.d.ts.map +0 -1
  121. package/out/zero-cache/src/db/warmup.d.ts +0 -4
  122. package/out/zero-cache/src/db/warmup.d.ts.map +0 -1
  123. package/out/zero-cache/src/observability/events.d.ts +0 -15
  124. package/out/zero-cache/src/observability/events.d.ts.map +0 -1
  125. package/out/zero-cache/src/observability/log-throttle.d.ts +0 -44
  126. package/out/zero-cache/src/observability/log-throttle.d.ts.map +0 -1
  127. package/out/zero-cache/src/server/anonymous-otel-start.d.ts +0 -21
  128. package/out/zero-cache/src/server/anonymous-otel-start.d.ts.map +0 -1
  129. package/out/zero-cache/src/server/change-streamer.d.ts +0 -3
  130. package/out/zero-cache/src/server/change-streamer.d.ts.map +0 -1
  131. package/out/zero-cache/src/server/inspector-delegate.d.ts +0 -71
  132. package/out/zero-cache/src/server/inspector-delegate.d.ts.map +0 -1
  133. package/out/zero-cache/src/server/main.d.ts +0 -3
  134. package/out/zero-cache/src/server/main.d.ts.map +0 -1
  135. package/out/zero-cache/src/server/otel-diag-logger.d.ts +0 -16
  136. package/out/zero-cache/src/server/otel-diag-logger.d.ts.map +0 -1
  137. package/out/zero-cache/src/server/otel-start.d.ts +0 -3
  138. package/out/zero-cache/src/server/otel-start.d.ts.map +0 -1
  139. package/out/zero-cache/src/server/priority-op.d.ts +0 -8
  140. package/out/zero-cache/src/server/priority-op.d.ts.map +0 -1
  141. package/out/zero-cache/src/server/reaper.d.ts +0 -3
  142. package/out/zero-cache/src/server/reaper.d.ts.map +0 -1
  143. package/out/zero-cache/src/server/replicator.d.ts +0 -10
  144. package/out/zero-cache/src/server/replicator.d.ts.map +0 -1
  145. package/out/zero-cache/src/server/slot-keeper.d.ts +0 -26
  146. package/out/zero-cache/src/server/slot-keeper.d.ts.map +0 -1
  147. package/out/zero-cache/src/server/syncer-assigner.d.ts +0 -14
  148. package/out/zero-cache/src/server/syncer-assigner.d.ts.map +0 -1
  149. package/out/zero-cache/src/server/syncer.d.ts +0 -3
  150. package/out/zero-cache/src/server/syncer.d.ts.map +0 -1
  151. package/out/zero-cache/src/server/worker-dispatcher.d.ts +0 -17
  152. package/out/zero-cache/src/server/worker-dispatcher.d.ts.map +0 -1
  153. package/out/zero-cache/src/services/analyze.d.ts +0 -9
  154. package/out/zero-cache/src/services/analyze.d.ts.map +0 -1
  155. package/out/zero-cache/src/services/change-source/change-source.d.ts +0 -32
  156. package/out/zero-cache/src/services/change-source/change-source.d.ts.map +0 -1
  157. package/out/zero-cache/src/services/change-source/common/backfill-manager.d.ts +0 -57
  158. package/out/zero-cache/src/services/change-source/common/backfill-manager.d.ts.map +0 -1
  159. package/out/zero-cache/src/services/change-source/common/change-stream-multiplexer.d.ts +0 -55
  160. package/out/zero-cache/src/services/change-source/common/change-stream-multiplexer.d.ts.map +0 -1
  161. package/out/zero-cache/src/services/change-source/common/init-cleanup.d.ts +0 -24
  162. package/out/zero-cache/src/services/change-source/common/init-cleanup.d.ts.map +0 -1
  163. package/out/zero-cache/src/services/change-source/common/replica-restore.d.ts +0 -115
  164. package/out/zero-cache/src/services/change-source/common/replica-restore.d.ts.map +0 -1
  165. package/out/zero-cache/src/services/change-source/common/replica-schema.d.ts +0 -14
  166. package/out/zero-cache/src/services/change-source/common/replica-schema.d.ts.map +0 -1
  167. package/out/zero-cache/src/services/change-source/custom/change-source.d.ts +0 -25
  168. package/out/zero-cache/src/services/change-source/custom/change-source.d.ts.map +0 -1
  169. package/out/zero-cache/src/services/change-source/pg/backfill-metadata.d.ts +0 -14
  170. package/out/zero-cache/src/services/change-source/pg/backfill-metadata.d.ts.map +0 -1
  171. package/out/zero-cache/src/services/change-source/pg/backfill-stream.d.ts +0 -36
  172. package/out/zero-cache/src/services/change-source/pg/backfill-stream.d.ts.map +0 -1
  173. package/out/zero-cache/src/services/change-source/pg/change-source-init.d.ts +0 -65
  174. package/out/zero-cache/src/services/change-source/pg/change-source-init.d.ts.map +0 -1
  175. package/out/zero-cache/src/services/change-source/pg/change-source.d.ts +0 -115
  176. package/out/zero-cache/src/services/change-source/pg/change-source.d.ts.map +0 -1
  177. package/out/zero-cache/src/services/change-source/pg/initial-sync.d.ts +0 -155
  178. package/out/zero-cache/src/services/change-source/pg/initial-sync.d.ts.map +0 -1
  179. package/out/zero-cache/src/services/change-source/pg/logical-replication/binary-reader.d.ts +0 -17
  180. package/out/zero-cache/src/services/change-source/pg/logical-replication/binary-reader.d.ts.map +0 -1
  181. package/out/zero-cache/src/services/change-source/pg/logical-replication/pgoutput-parser.d.ts +0 -28
  182. package/out/zero-cache/src/services/change-source/pg/logical-replication/pgoutput-parser.d.ts.map +0 -1
  183. package/out/zero-cache/src/services/change-source/pg/logical-replication/pgoutput.types.d.ts +0 -76
  184. package/out/zero-cache/src/services/change-source/pg/logical-replication/pgoutput.types.d.ts.map +0 -1
  185. package/out/zero-cache/src/services/change-source/pg/logical-replication/stream.d.ts +0 -169
  186. package/out/zero-cache/src/services/change-source/pg/logical-replication/stream.d.ts.map +0 -1
  187. package/out/zero-cache/src/services/change-source/pg/replication-slot-cleanup-monitor.d.ts +0 -16
  188. package/out/zero-cache/src/services/change-source/pg/replication-slot-cleanup-monitor.d.ts.map +0 -1
  189. package/out/zero-cache/src/services/change-source/pg/replication-slot-health.d.ts +0 -15
  190. package/out/zero-cache/src/services/change-source/pg/replication-slot-health.d.ts.map +0 -1
  191. package/out/zero-cache/src/services/change-source/pg/replication-slots.d.ts +0 -127
  192. package/out/zero-cache/src/services/change-source/pg/replication-slots.d.ts.map +0 -1
  193. package/out/zero-cache/src/services/change-source/pg/schema/init.d.ts +0 -9
  194. package/out/zero-cache/src/services/change-source/pg/schema/init.d.ts.map +0 -1
  195. package/out/zero-cache/src/services/change-source/protocol/backfill-progress.d.ts +0 -68
  196. package/out/zero-cache/src/services/change-source/protocol/backfill-progress.d.ts.map +0 -1
  197. package/out/zero-cache/src/services/change-streamer/backfill-state-tracker.d.ts +0 -72
  198. package/out/zero-cache/src/services/change-streamer/backfill-state-tracker.d.ts.map +0 -1
  199. package/out/zero-cache/src/services/change-streamer/backfill-state.d.ts +0 -50
  200. package/out/zero-cache/src/services/change-streamer/backfill-state.d.ts.map +0 -1
  201. package/out/zero-cache/src/services/change-streamer/backup-cleanup-monitor-factory.d.ts +0 -14
  202. package/out/zero-cache/src/services/change-streamer/backup-cleanup-monitor-factory.d.ts.map +0 -1
  203. package/out/zero-cache/src/services/change-streamer/backup-monitor.d.ts +0 -18
  204. package/out/zero-cache/src/services/change-streamer/backup-monitor.d.ts.map +0 -1
  205. package/out/zero-cache/src/services/change-streamer/broadcast.d.ts +0 -98
  206. package/out/zero-cache/src/services/change-streamer/broadcast.d.ts.map +0 -1
  207. package/out/zero-cache/src/services/change-streamer/change-log-codec.d.ts +0 -34
  208. package/out/zero-cache/src/services/change-streamer/change-log-codec.d.ts.map +0 -1
  209. package/out/zero-cache/src/services/change-streamer/change-log-compare-digest.d.ts +0 -34
  210. package/out/zero-cache/src/services/change-streamer/change-log-compare-digest.d.ts.map +0 -1
  211. package/out/zero-cache/src/services/change-streamer/change-log-initializer.d.ts +0 -158
  212. package/out/zero-cache/src/services/change-streamer/change-log-initializer.d.ts.map +0 -1
  213. package/out/zero-cache/src/services/change-streamer/change-log-transaction-hash.d.ts +0 -19
  214. package/out/zero-cache/src/services/change-streamer/change-log-transaction-hash.d.ts.map +0 -1
  215. package/out/zero-cache/src/services/change-streamer/change-streamer-http.d.ts +0 -78
  216. package/out/zero-cache/src/services/change-streamer/change-streamer-http.d.ts.map +0 -1
  217. package/out/zero-cache/src/services/change-streamer/change-streamer-service.d.ts +0 -143
  218. package/out/zero-cache/src/services/change-streamer/change-streamer-service.d.ts.map +0 -1
  219. package/out/zero-cache/src/services/change-streamer/change-streamer.d.ts +0 -586
  220. package/out/zero-cache/src/services/change-streamer/change-streamer.d.ts.map +0 -1
  221. package/out/zero-cache/src/services/change-streamer/drain-tracker.d.ts +0 -24
  222. package/out/zero-cache/src/services/change-streamer/drain-tracker.d.ts.map +0 -1
  223. package/out/zero-cache/src/services/change-streamer/error-type-enum.d.ts +0 -15
  224. package/out/zero-cache/src/services/change-streamer/error-type-enum.d.ts.map +0 -1
  225. package/out/zero-cache/src/services/change-streamer/forwarder.d.ts +0 -49
  226. package/out/zero-cache/src/services/change-streamer/forwarder.d.ts.map +0 -1
  227. package/out/zero-cache/src/services/change-streamer/litestream-sync-requester.d.ts +0 -53
  228. package/out/zero-cache/src/services/change-streamer/litestream-sync-requester.d.ts.map +0 -1
  229. package/out/zero-cache/src/services/change-streamer/litestream3-prometheus-poller.d.ts +0 -88
  230. package/out/zero-cache/src/services/change-streamer/litestream3-prometheus-poller.d.ts.map +0 -1
  231. package/out/zero-cache/src/services/change-streamer/replica-poller.d.ts +0 -15
  232. package/out/zero-cache/src/services/change-streamer/replica-poller.d.ts.map +0 -1
  233. package/out/zero-cache/src/services/change-streamer/restore-admission.d.ts +0 -243
  234. package/out/zero-cache/src/services/change-streamer/restore-admission.d.ts.map +0 -1
  235. package/out/zero-cache/src/services/change-streamer/schema/init.d.ts +0 -6
  236. package/out/zero-cache/src/services/change-streamer/schema/init.d.ts.map +0 -1
  237. package/out/zero-cache/src/services/change-streamer/schema/tables.d.ts +0 -152
  238. package/out/zero-cache/src/services/change-streamer/schema/tables.d.ts.map +0 -1
  239. package/out/zero-cache/src/services/change-streamer/shard-sampling.d.ts +0 -11
  240. package/out/zero-cache/src/services/change-streamer/shard-sampling.d.ts.map +0 -1
  241. package/out/zero-cache/src/services/change-streamer/snapshot-message.d.ts +0 -92
  242. package/out/zero-cache/src/services/change-streamer/snapshot-message.d.ts.map +0 -1
  243. package/out/zero-cache/src/services/change-streamer/snapshot-reservations.d.ts +0 -36
  244. package/out/zero-cache/src/services/change-streamer/snapshot-reservations.d.ts.map +0 -1
  245. package/out/zero-cache/src/services/change-streamer/snapshot.d.ts +0 -22
  246. package/out/zero-cache/src/services/change-streamer/snapshot.d.ts.map +0 -1
  247. package/out/zero-cache/src/services/change-streamer/sqlite-change-log-catchup.d.ts +0 -99
  248. package/out/zero-cache/src/services/change-streamer/sqlite-change-log-catchup.d.ts.map +0 -1
  249. package/out/zero-cache/src/services/change-streamer/sqlite-change-log-comparator.d.ts +0 -83
  250. package/out/zero-cache/src/services/change-streamer/sqlite-change-log-comparator.d.ts.map +0 -1
  251. package/out/zero-cache/src/services/change-streamer/sqlite-change-log-purge-scheduler.d.ts +0 -121
  252. package/out/zero-cache/src/services/change-streamer/sqlite-change-log-purge-scheduler.d.ts.map +0 -1
  253. package/out/zero-cache/src/services/change-streamer/sqlite-change-log-read-router.d.ts +0 -73
  254. package/out/zero-cache/src/services/change-streamer/sqlite-change-log-read-router.d.ts.map +0 -1
  255. package/out/zero-cache/src/services/change-streamer/sqlite-change-log-reader.d.ts +0 -62
  256. package/out/zero-cache/src/services/change-streamer/sqlite-change-log-reader.d.ts.map +0 -1
  257. package/out/zero-cache/src/services/change-streamer/sqlite-change-log-writer.d.ts +0 -114
  258. package/out/zero-cache/src/services/change-streamer/sqlite-change-log-writer.d.ts.map +0 -1
  259. package/out/zero-cache/src/services/change-streamer/storer.d.ts +0 -276
  260. package/out/zero-cache/src/services/change-streamer/storer.d.ts.map +0 -1
  261. package/out/zero-cache/src/services/change-streamer/subscribe.d.ts +0 -485
  262. package/out/zero-cache/src/services/change-streamer/subscribe.d.ts.map +0 -1
  263. package/out/zero-cache/src/services/change-streamer/subscriber.d.ts +0 -194
  264. package/out/zero-cache/src/services/change-streamer/subscriber.d.ts.map +0 -1
  265. package/out/zero-cache/src/services/change-streamer/upstream-acker.d.ts +0 -52
  266. package/out/zero-cache/src/services/change-streamer/upstream-acker.d.ts.map +0 -1
  267. package/out/zero-cache/src/services/limiter/sliding-window-limiter.d.ts +0 -57
  268. package/out/zero-cache/src/services/limiter/sliding-window-limiter.d.ts.map +0 -1
  269. package/out/zero-cache/src/services/litestream/commands.d.ts +0 -77
  270. package/out/zero-cache/src/services/litestream/commands.d.ts.map +0 -1
  271. package/out/zero-cache/src/services/litestream/litestream-controller.d.ts +0 -78
  272. package/out/zero-cache/src/services/litestream/litestream-controller.d.ts.map +0 -1
  273. package/out/zero-cache/src/services/litestream/metrics.d.ts +0 -31
  274. package/out/zero-cache/src/services/litestream/metrics.d.ts.map +0 -1
  275. package/out/zero-cache/src/services/litestream/restore-progress.d.ts +0 -24
  276. package/out/zero-cache/src/services/litestream/restore-progress.d.ts.map +0 -1
  277. package/out/zero-cache/src/services/mutagen/mutagen.d.ts +0 -40
  278. package/out/zero-cache/src/services/mutagen/mutagen.d.ts.map +0 -1
  279. package/out/zero-cache/src/services/mutagen/pusher.d.ts +0 -63
  280. package/out/zero-cache/src/services/mutagen/pusher.d.ts.map +0 -1
  281. package/out/zero-cache/src/services/replicator/change-log-db.d.ts +0 -368
  282. package/out/zero-cache/src/services/replicator/change-log-db.d.ts.map +0 -1
  283. package/out/zero-cache/src/services/replicator/change-log-stream-writer.d.ts +0 -56
  284. package/out/zero-cache/src/services/replicator/change-log-stream-writer.d.ts.map +0 -1
  285. package/out/zero-cache/src/services/replicator/change-processor.d.ts +0 -37
  286. package/out/zero-cache/src/services/replicator/change-processor.d.ts.map +0 -1
  287. package/out/zero-cache/src/services/replicator/drain-handler.d.ts +0 -82
  288. package/out/zero-cache/src/services/replicator/drain-handler.d.ts.map +0 -1
  289. package/out/zero-cache/src/services/replicator/incremental-sync.d.ts +0 -25
  290. package/out/zero-cache/src/services/replicator/incremental-sync.d.ts.map +0 -1
  291. package/out/zero-cache/src/services/replicator/notifier.d.ts +0 -9
  292. package/out/zero-cache/src/services/replicator/notifier.d.ts.map +0 -1
  293. package/out/zero-cache/src/services/replicator/replication-status.d.ts +0 -71
  294. package/out/zero-cache/src/services/replicator/replication-status.d.ts.map +0 -1
  295. package/out/zero-cache/src/services/replicator/replicator.d.ts +0 -86
  296. package/out/zero-cache/src/services/replicator/replicator.d.ts.map +0 -1
  297. package/out/zero-cache/src/services/replicator/reporter/recorder.d.ts +0 -55
  298. package/out/zero-cache/src/services/replicator/reporter/recorder.d.ts.map +0 -1
  299. package/out/zero-cache/src/services/replicator/sqlite-change-log-observability.d.ts +0 -132
  300. package/out/zero-cache/src/services/replicator/sqlite-change-log-observability.d.ts.map +0 -1
  301. package/out/zero-cache/src/services/replicator/sqlite-change-log-purger.d.ts +0 -120
  302. package/out/zero-cache/src/services/replicator/sqlite-change-log-purger.d.ts.map +0 -1
  303. package/out/zero-cache/src/services/replicator/write-worker-client.d.ts +0 -111
  304. package/out/zero-cache/src/services/replicator/write-worker-client.d.ts.map +0 -1
  305. package/out/zero-cache/src/services/run-ast.d.ts +0 -39
  306. package/out/zero-cache/src/services/run-ast.d.ts.map +0 -1
  307. package/out/zero-cache/src/services/runner.d.ts +0 -19
  308. package/out/zero-cache/src/services/runner.d.ts.map +0 -1
  309. package/out/zero-cache/src/services/view-syncer/active-users-gauge.d.ts +0 -17
  310. package/out/zero-cache/src/services/view-syncer/active-users-gauge.d.ts.map +0 -1
  311. package/out/zero-cache/src/services/view-syncer/advancement-metrics.d.ts +0 -26
  312. package/out/zero-cache/src/services/view-syncer/advancement-metrics.d.ts.map +0 -1
  313. package/out/zero-cache/src/services/view-syncer/batch-pacer.d.ts +0 -79
  314. package/out/zero-cache/src/services/view-syncer/batch-pacer.d.ts.map +0 -1
  315. package/out/zero-cache/src/services/view-syncer/client-handler.d.ts +0 -97
  316. package/out/zero-cache/src/services/view-syncer/client-handler.d.ts.map +0 -1
  317. package/out/zero-cache/src/services/view-syncer/client-schema.d.ts +0 -18
  318. package/out/zero-cache/src/services/view-syncer/client-schema.d.ts.map +0 -1
  319. package/out/zero-cache/src/services/view-syncer/connection-context-manager.d.ts +0 -184
  320. package/out/zero-cache/src/services/view-syncer/connection-context-manager.d.ts.map +0 -1
  321. package/out/zero-cache/src/services/view-syncer/cvr-purger.d.ts +0 -22
  322. package/out/zero-cache/src/services/view-syncer/cvr-purger.d.ts.map +0 -1
  323. package/out/zero-cache/src/services/view-syncer/cvr-store.d.ts +0 -128
  324. package/out/zero-cache/src/services/view-syncer/cvr-store.d.ts.map +0 -1
  325. package/out/zero-cache/src/services/view-syncer/cvr.d.ts +0 -294
  326. package/out/zero-cache/src/services/view-syncer/cvr.d.ts.map +0 -1
  327. package/out/zero-cache/src/services/view-syncer/deferred-writes-budget.d.ts +0 -81
  328. package/out/zero-cache/src/services/view-syncer/deferred-writes-budget.d.ts.map +0 -1
  329. package/out/zero-cache/src/services/view-syncer/drain-coordinator.d.ts +0 -45
  330. package/out/zero-cache/src/services/view-syncer/drain-coordinator.d.ts.map +0 -1
  331. package/out/zero-cache/src/services/view-syncer/e2e-serving-lag.d.ts +0 -53
  332. package/out/zero-cache/src/services/view-syncer/e2e-serving-lag.d.ts.map +0 -1
  333. package/out/zero-cache/src/services/view-syncer/hydration-budget.d.ts +0 -33
  334. package/out/zero-cache/src/services/view-syncer/hydration-budget.d.ts.map +0 -1
  335. package/out/zero-cache/src/services/view-syncer/hydration-circuit-breaker.d.ts +0 -51
  336. package/out/zero-cache/src/services/view-syncer/hydration-circuit-breaker.d.ts.map +0 -1
  337. package/out/zero-cache/src/services/view-syncer/inspect-handler.d.ts +0 -34
  338. package/out/zero-cache/src/services/view-syncer/inspect-handler.d.ts.map +0 -1
  339. package/out/zero-cache/src/services/view-syncer/pipeline-driver.d.ts +0 -296
  340. package/out/zero-cache/src/services/view-syncer/pipeline-driver.d.ts.map +0 -1
  341. package/out/zero-cache/src/services/view-syncer/plan-warnings.d.ts +0 -7
  342. package/out/zero-cache/src/services/view-syncer/plan-warnings.d.ts.map +0 -1
  343. package/out/zero-cache/src/services/view-syncer/push-cost.d.ts +0 -132
  344. package/out/zero-cache/src/services/view-syncer/push-cost.d.ts.map +0 -1
  345. package/out/zero-cache/src/services/view-syncer/push-cutoff.d.ts +0 -55
  346. package/out/zero-cache/src/services/view-syncer/push-cutoff.d.ts.map +0 -1
  347. package/out/zero-cache/src/services/view-syncer/query-covering.d.ts +0 -28
  348. package/out/zero-cache/src/services/view-syncer/query-covering.d.ts.map +0 -1
  349. package/out/zero-cache/src/services/view-syncer/query-shape.d.ts +0 -25
  350. package/out/zero-cache/src/services/view-syncer/query-shape.d.ts.map +0 -1
  351. package/out/zero-cache/src/services/view-syncer/query-stats.d.ts +0 -89
  352. package/out/zero-cache/src/services/view-syncer/query-stats.d.ts.map +0 -1
  353. package/out/zero-cache/src/services/view-syncer/row-record-cache.d.ts +0 -90
  354. package/out/zero-cache/src/services/view-syncer/row-record-cache.d.ts.map +0 -1
  355. package/out/zero-cache/src/services/view-syncer/row-set-signature.d.ts +0 -17
  356. package/out/zero-cache/src/services/view-syncer/row-set-signature.d.ts.map +0 -1
  357. package/out/zero-cache/src/services/view-syncer/schema/cvr.d.ts +0 -86
  358. package/out/zero-cache/src/services/view-syncer/schema/cvr.d.ts.map +0 -1
  359. package/out/zero-cache/src/services/view-syncer/schema/init.d.ts +0 -5
  360. package/out/zero-cache/src/services/view-syncer/schema/init.d.ts.map +0 -1
  361. package/out/zero-cache/src/services/view-syncer/schema/types.d.ts +0 -563
  362. package/out/zero-cache/src/services/view-syncer/schema/types.d.ts.map +0 -1
  363. package/out/zero-cache/src/services/view-syncer/snapshot-row-cache.d.ts +0 -95
  364. package/out/zero-cache/src/services/view-syncer/snapshot-row-cache.d.ts.map +0 -1
  365. package/out/zero-cache/src/services/view-syncer/snapshotter.d.ts +0 -420
  366. package/out/zero-cache/src/services/view-syncer/snapshotter.d.ts.map +0 -1
  367. package/out/zero-cache/src/services/view-syncer/tracer.d.ts +0 -2
  368. package/out/zero-cache/src/services/view-syncer/tracer.d.ts.map +0 -1
  369. package/out/zero-cache/src/services/view-syncer/ttl-clock.d.ts +0 -10
  370. package/out/zero-cache/src/services/view-syncer/ttl-clock.d.ts.map +0 -1
  371. package/out/zero-cache/src/services/view-syncer/view-syncer.d.ts +0 -133
  372. package/out/zero-cache/src/services/view-syncer/view-syncer.d.ts.map +0 -1
  373. package/out/zero-cache/src/types/downstream.d.ts +0 -11
  374. package/out/zero-cache/src/types/downstream.d.ts.map +0 -1
  375. package/out/zero-cache/src/types/error-with-level.d.ts +0 -9
  376. package/out/zero-cache/src/types/error-with-level.d.ts.map +0 -1
  377. package/out/zero-cache/src/types/pg-patch.d.ts +0 -21
  378. package/out/zero-cache/src/types/pg-patch.d.ts.map +0 -1
  379. package/out/zero-cache/src/types/pg-versions.d.ts +0 -3
  380. package/out/zero-cache/src/types/pg-versions.d.ts.map +0 -1
  381. package/out/zero-cache/src/types/poke-chunk.d.ts +0 -18
  382. package/out/zero-cache/src/types/poke-chunk.d.ts.map +0 -1
  383. package/out/zero-cache/src/types/streams.d.ts +0 -115
  384. package/out/zero-cache/src/types/streams.d.ts.map +0 -1
  385. package/out/zero-cache/src/types/subscription.d.ts +0 -197
  386. package/out/zero-cache/src/types/subscription.d.ts.map +0 -1
  387. package/out/zero-cache/src/workers/connect-params.d.ts +0 -28
  388. package/out/zero-cache/src/workers/connect-params.d.ts.map +0 -1
  389. package/out/zero-cache/src/workers/connection.d.ts +0 -77
  390. package/out/zero-cache/src/workers/connection.d.ts.map +0 -1
  391. package/out/zero-cache/src/workers/replicator.d.ts +0 -57
  392. package/out/zero-cache/src/workers/replicator.d.ts.map +0 -1
  393. package/out/zero-cache/src/workers/syncer-ws-message-handler.d.ts +0 -14
  394. package/out/zero-cache/src/workers/syncer-ws-message-handler.d.ts.map +0 -1
  395. package/out/zero-cache/src/workers/syncer.d.ts +0 -67
  396. package/out/zero-cache/src/workers/syncer.d.ts.map +0 -1
  397. package/out/zero-events/src/index.d.ts +0 -27
  398. package/out/zero-events/src/index.d.ts.map +0 -1
  399. package/out/zero-events/src/json.d.ts +0 -20
  400. package/out/zero-events/src/json.d.ts.map +0 -1
  401. package/out/zero-events/src/status.d.ts +0 -144
  402. package/out/zero-events/src/status.d.ts.map +0 -1
  403. package/out/zqlite/src/database-storage.d.ts +0 -43
  404. package/out/zqlite/src/database-storage.d.ts.map +0 -1
  405. package/out/zqlite/src/explain-queries.d.ts +0 -4
  406. package/out/zqlite/src/explain-queries.d.ts.map +0 -1
  407. package/out/zqlite/src/internal/sql-inline.d.ts +0 -13
  408. package/out/zqlite/src/internal/sql-inline.d.ts.map +0 -1
  409. package/out/zqlite/src/resolve-scalar-subqueries.d.ts +0 -72
  410. package/out/zqlite/src/resolve-scalar-subqueries.d.ts.map +0 -1
  411. package/out/zqlite/src/sqlite-cost-model.d.ts +0 -17
  412. package/out/zqlite/src/sqlite-cost-model.d.ts.map +0 -1
  413. package/out/zqlite/src/sqlite-stat-fanout.d.ts +0 -121
  414. package/out/zqlite/src/sqlite-stat-fanout.d.ts.map +0 -1
@@ -1,485 +0,0 @@
1
- /**
2
- * The `subscribe` API (protocol v7+) merges the previous `/snapshot` and
3
- * `/changes` connections into a single bidirectional WebSocket, so that the
4
- * replication-manager that reserves change-log entries for a soon-to-be
5
- * subscriber is the same replication-manager that serves the subscription.
6
- *
7
- * The connection is driven by an upstream (view-syncer → replication-manager)
8
- * application message that selects the flow:
9
- *
10
- * - **Fresh startup:** the view-syncer sends `['reserve-snapshot', {taskID}]`.
11
- * The change-streamer opens a snapshot reservation (pinning the change log)
12
- * and replies downstream with a single `['reserved', …]` message telling the
13
- * view-syncer where to restore the backup from and the watermark from which
14
- * catchup is possible. Once the backup is restored, the view-syncer sends
15
- * `['start-subscription', ctx]`, which transitions the same connection into
16
- * the subscription phase (change stream downstream). The reservation is
17
- * released only after the subscriber is registered, so there is never a gap
18
- * in which the change-streamer does not know the client's watermark.
19
- *
20
- * - **Reconnect (replica already valid):** the view-syncer sends
21
- * `['start-subscription', ctx]` immediately, with no reservation.
22
- *
23
- * The reservation status uses a distinct `'reserved'` tag (rather than the
24
- * change stream's `'status'`) so the downstream union is unambiguous under
25
- * passthrough parsing.
26
- */
27
- import * as v from '../../../../shared/src/valita.ts';
28
- declare const snapshotStatusSchema: v.ObjectType<Omit<{
29
- tag: v.Type<"status">;
30
- backupURL: v.Type<string>;
31
- replicaVersion: v.Type<string>;
32
- minWatermark: v.Type<string>;
33
- replicaSize: v.Optional<number>;
34
- }, "tag"> & {
35
- tag: v.Type<"snapshot">;
36
- }, undefined>;
37
- export type SnapshotStatus = v.Infer<typeof snapshotStatusSchema>;
38
- /**
39
- * The state of the replica on the subscriber's disk, if any. This allows the
40
- * replication-manager to distinguish a subscriber that is replacing its
41
- * replica (i.e. one that was serving, see `RestoreAdmission`) from one that
42
- * is restoring onto an empty disk.
43
- */
44
- export declare const localReplicaSchema: v.ObjectType<{
45
- replicaVersion: v.Type<string>;
46
- watermark: v.Type<string>;
47
- }, undefined>;
48
- export type LocalReplica = v.Infer<typeof localReplicaSchema>;
49
- export declare const reserveSnapshotMessageSchema: v.TupleType<[v.Type<"reserve-snapshot">, v.ObjectType<{
50
- taskID: v.Type<string>;
51
- localReplica: v.Optional<{
52
- replicaVersion: string;
53
- watermark: string;
54
- }>;
55
- }, undefined>]>;
56
- /**
57
- * The subscription-initialization context, sent in the `start-subscription`
58
- * message. Equivalent to the previous URL-encoded `SubscriberContext`, minus
59
- * the fields that are now implicit on the merged connection:
60
- * - `protocolVersion` comes from the request path.
61
- * - `wsBatched` is always on (the transport batches internally).
62
- *
63
- * Parsed in `passthrough` mode so a forthcoming, orthogonal change can add
64
- * arbitrary table/column/backfill state without a protocol bump.
65
- */
66
- export declare const subscribeContextSchema: v.ObjectType<{
67
- /** Task ID, links the subscription to a preceding snapshot reservation. */
68
- taskID: v.Type<string>;
69
- /** Subscriber id (debugging only). */
70
- id: v.Type<string>;
71
- /** 'serving' (user-facing) or 'backup' (in-RM replicator). */
72
- mode: v.UnionType<[v.Type<"serving">, v.Type<"backup">]>;
73
- /** The replica version the subscriber restored / is running. */
74
- replicaVersion: v.Type<string>;
75
- /** The watermark up to which the subscriber is up to date. */
76
- watermark: v.Type<string>;
77
- /**
78
- * The subscriber's pending backfills (and their progress) as of its
79
- * `watermark`. This should be considered non-optional as of protocol v8;
80
- * it is only absent from v7 subscribers.
81
- */
82
- backfills: v.Optional<{
83
- table: {
84
- schema: string;
85
- name: string;
86
- metadata: {
87
- [x: string]: import("../../../../shared/src/bigint-json.ts").JSONValue;
88
- rowKey: Record<string, import("../../../../shared/src/bigint-json.ts").JSONValue>;
89
- } | null;
90
- };
91
- columns: Record<string, {
92
- id: Record<string, import("../change-source/protocol/current.ts").JSONValue | undefined>;
93
- progress?: {
94
- [x: string]: string | number;
95
- progressMark: string;
96
- timeline?: string | undefined;
97
- } | undefined;
98
- }>;
99
- }[]>;
100
- /** See `SubscriberContext.drainable`. */
101
- drainable: v.Optional<boolean>;
102
- /** See `SubscriberContext.switchover`. */
103
- switchover: v.Optional<boolean>;
104
- }, undefined>;
105
- export type SubscribeContext = v.Infer<typeof subscribeContextSchema>;
106
- export declare const startSubscriptionMessageSchema: v.TupleType<[v.Type<"start-subscription">, v.ObjectType<{
107
- /** Task ID, links the subscription to a preceding snapshot reservation. */
108
- taskID: v.Type<string>;
109
- /** Subscriber id (debugging only). */
110
- id: v.Type<string>;
111
- /** 'serving' (user-facing) or 'backup' (in-RM replicator). */
112
- mode: v.UnionType<[v.Type<"serving">, v.Type<"backup">]>;
113
- /** The replica version the subscriber restored / is running. */
114
- replicaVersion: v.Type<string>;
115
- /** The watermark up to which the subscriber is up to date. */
116
- watermark: v.Type<string>;
117
- /**
118
- * The subscriber's pending backfills (and their progress) as of its
119
- * `watermark`. This should be considered non-optional as of protocol v8;
120
- * it is only absent from v7 subscribers.
121
- */
122
- backfills: v.Optional<{
123
- table: {
124
- schema: string;
125
- name: string;
126
- metadata: {
127
- [x: string]: import("../../../../shared/src/bigint-json.ts").JSONValue;
128
- rowKey: Record<string, import("../../../../shared/src/bigint-json.ts").JSONValue>;
129
- } | null;
130
- };
131
- columns: Record<string, {
132
- id: Record<string, import("../change-source/protocol/current.ts").JSONValue | undefined>;
133
- progress?: {
134
- [x: string]: string | number;
135
- progressMark: string;
136
- timeline?: string | undefined;
137
- } | undefined;
138
- }>;
139
- }[]>;
140
- /** See `SubscriberContext.drainable`. */
141
- drainable: v.Optional<boolean>;
142
- /** See `SubscriberContext.switchover`. */
143
- switchover: v.Optional<boolean>;
144
- }, undefined>]>;
145
- export declare const subscribeUpstreamSchema: v.UnionType<[v.TupleType<[v.Type<"reserve-snapshot">, v.ObjectType<{
146
- taskID: v.Type<string>;
147
- localReplica: v.Optional<{
148
- replicaVersion: string;
149
- watermark: string;
150
- }>;
151
- }, undefined>]>, v.TupleType<[v.Type<"start-subscription">, v.ObjectType<{
152
- /** Task ID, links the subscription to a preceding snapshot reservation. */
153
- taskID: v.Type<string>;
154
- /** Subscriber id (debugging only). */
155
- id: v.Type<string>;
156
- /** 'serving' (user-facing) or 'backup' (in-RM replicator). */
157
- mode: v.UnionType<[v.Type<"serving">, v.Type<"backup">]>;
158
- /** The replica version the subscriber restored / is running. */
159
- replicaVersion: v.Type<string>;
160
- /** The watermark up to which the subscriber is up to date. */
161
- watermark: v.Type<string>;
162
- /**
163
- * The subscriber's pending backfills (and their progress) as of its
164
- * `watermark`. This should be considered non-optional as of protocol v8;
165
- * it is only absent from v7 subscribers.
166
- */
167
- backfills: v.Optional<{
168
- table: {
169
- schema: string;
170
- name: string;
171
- metadata: {
172
- [x: string]: import("../../../../shared/src/bigint-json.ts").JSONValue;
173
- rowKey: Record<string, import("../../../../shared/src/bigint-json.ts").JSONValue>;
174
- } | null;
175
- };
176
- columns: Record<string, {
177
- id: Record<string, import("../change-source/protocol/current.ts").JSONValue | undefined>;
178
- progress?: {
179
- [x: string]: string | number;
180
- progressMark: string;
181
- timeline?: string | undefined;
182
- } | undefined;
183
- }>;
184
- }[]>;
185
- /** See `SubscriberContext.drainable`. */
186
- drainable: v.Optional<boolean>;
187
- /** See `SubscriberContext.switchover`. */
188
- switchover: v.Optional<boolean>;
189
- }, undefined>]>]>;
190
- export type SubscribeUpstream = v.Infer<typeof subscribeUpstreamSchema>;
191
- /**
192
- * The reservation confirmation. Carries the same payload as the legacy
193
- * `/snapshot` status (`backupURL`, `replicaVersion`, `minWatermark`,
194
- * `replicaSize?`) but under a distinct `'reserved'` tag so it does not collide
195
- * with the change stream's `['status', …]` message.
196
- */
197
- export declare const reservedMessageSchema: v.TupleType<[v.Type<"reserved">, v.ObjectType<Omit<{
198
- tag: v.Type<"status">;
199
- backupURL: v.Type<string>;
200
- replicaVersion: v.Type<string>;
201
- minWatermark: v.Type<string>;
202
- replicaSize: v.Optional<number>;
203
- }, "tag"> & {
204
- tag: v.Type<"snapshot">;
205
- }, undefined>]>;
206
- export type ReservedMessage = v.Infer<typeof reservedMessageSchema>;
207
- export declare const subscribeDownstreamSchema: v.UnionType<[v.TupleType<[v.Type<"reserved">, v.ObjectType<Omit<{
208
- tag: v.Type<"status">;
209
- backupURL: v.Type<string>;
210
- replicaVersion: v.Type<string>;
211
- minWatermark: v.Type<string>;
212
- replicaSize: v.Optional<number>;
213
- }, "tag"> & {
214
- tag: v.Type<"snapshot">;
215
- }, undefined>]>, v.UnionType<[v.TupleType<[v.Type<"status">, v.ObjectType<{
216
- tag: v.Type<"status">;
217
- lagReport: v.Optional<{
218
- lastTimings?: {
219
- sendTimeMs: number;
220
- commitTimeMs: number;
221
- receiveTimeMs: number;
222
- } | undefined;
223
- nextSendTimeMs: number;
224
- }>;
225
- draining: v.Optional<boolean>;
226
- restore: v.Optional<{
227
- state: "queued";
228
- position: number;
229
- } | {
230
- state: "granted";
231
- }>;
232
- }, undefined>]>, v.UnionType<[v.TupleType<[v.Type<"begin">, v.ObjectType<{
233
- tag: v.Type<"begin">;
234
- json: v.Optional<"p" | "s">;
235
- skipAck: v.Optional<boolean>;
236
- }, undefined>, v.ObjectType<{
237
- commitWatermark: v.Type<string>;
238
- }, undefined>]>, v.TupleType<[v.Type<"data">, v.UnionType<[v.UnionType<[v.ObjectType<{
239
- tag: v.Type<"insert">;
240
- relation: v.Type<{
241
- schema: string;
242
- name: string;
243
- keyColumns?: string[] | undefined;
244
- replicaIdentity?: "default" | "full" | "index" | "nothing" | undefined;
245
- rowKey: {
246
- columns: string[];
247
- type?: "default" | "full" | "index" | "nothing" | undefined;
248
- };
249
- }>;
250
- new: v.Type<Record<string, import("../../../../shared/src/bigint-json.ts").JSONValue>>;
251
- }, undefined>, v.ObjectType<{
252
- tag: v.Type<"update">;
253
- relation: v.Type<{
254
- schema: string;
255
- name: string;
256
- keyColumns?: string[] | undefined;
257
- replicaIdentity?: "default" | "full" | "index" | "nothing" | undefined;
258
- rowKey: {
259
- columns: string[];
260
- type?: "default" | "full" | "index" | "nothing" | undefined;
261
- };
262
- }>;
263
- key: v.UnionType<[v.Type<null>, v.Type<Record<string, import("../../../../shared/src/bigint-json.ts").JSONValue>>]>;
264
- new: v.Type<Record<string, import("../../../../shared/src/bigint-json.ts").JSONValue>>;
265
- }, undefined>, v.ObjectType<{
266
- tag: v.Type<"delete">;
267
- relation: v.Type<{
268
- schema: string;
269
- name: string;
270
- keyColumns?: string[] | undefined;
271
- replicaIdentity?: "default" | "full" | "index" | "nothing" | undefined;
272
- rowKey: {
273
- columns: string[];
274
- type?: "default" | "full" | "index" | "nothing" | undefined;
275
- };
276
- }>;
277
- key: v.Type<Record<string, import("../../../../shared/src/bigint-json.ts").JSONValue>>;
278
- }, undefined>, v.ObjectType<{
279
- tag: v.Type<"truncate">;
280
- relations: v.ArrayType<v.Type<{
281
- schema: string;
282
- name: string;
283
- keyColumns?: string[] | undefined;
284
- replicaIdentity?: "default" | "full" | "index" | "nothing" | undefined;
285
- rowKey: {
286
- columns: string[];
287
- type?: "default" | "full" | "index" | "nothing" | undefined;
288
- };
289
- }>>;
290
- }, undefined>, v.ObjectType<{
291
- tag: v.Type<"backfill">;
292
- relation: v.ObjectType<{
293
- schema: v.Type<string>;
294
- name: v.Type<string>;
295
- rowKey: v.ObjectType<{
296
- columns: v.ArrayType<v.Type<string>>;
297
- type: v.Optional<"default" | "full" | "index" | "nothing">;
298
- }, undefined>;
299
- }, undefined>;
300
- columns: v.ArrayType<v.Type<string>>;
301
- watermark: v.Type<string>;
302
- rowValues: v.ArrayType<v.ArrayType<v.Type<import("../../../../shared/src/bigint-json.ts").JSONValue>>>;
303
- progressMarks: v.Optional<{
304
- previous?: {
305
- [x: string]: string | number;
306
- progressMark: string;
307
- timeline?: string | undefined;
308
- } | undefined;
309
- current: {
310
- [x: string]: string | number;
311
- progressMark: string;
312
- timeline?: string | undefined;
313
- };
314
- }>;
315
- status: v.Optional<{
316
- rows: number;
317
- totalRows: number;
318
- totalBytes?: number | undefined;
319
- }>;
320
- }, undefined>]>, v.UnionType<[v.ObjectType<{
321
- tag: v.Type<"create-table">;
322
- spec: v.ObjectType<Omit<{
323
- name: v.Type<string>;
324
- columns: v.Type<Record<string, {
325
- pos: number;
326
- dataType: string;
327
- pgTypeClass?: "b" | "c" | "d" | "e" | "m" | "p" | "r" | undefined;
328
- elemPgTypeClass?: "b" | "c" | "d" | "e" | "m" | "p" | "r" | null | undefined;
329
- characterMaximumLength?: number | null | undefined;
330
- notNull?: boolean | null | undefined;
331
- dflt?: string | null | undefined;
332
- }>>;
333
- primaryKey: v.Optional<string[]>;
334
- }, "schema"> & {
335
- schema: v.Type<string>;
336
- }, undefined>;
337
- metadata: v.Optional<{
338
- [x: string]: import("../../../../shared/src/bigint-json.ts").JSONValue;
339
- rowKey: Record<string, import("../../../../shared/src/bigint-json.ts").JSONValue>;
340
- }>;
341
- backfill: v.Optional<Record<string, Record<string, import("../change-source/protocol/current.ts").JSONValue | undefined>>>;
342
- }, undefined>, v.ObjectType<{
343
- tag: v.Type<"rename-table">;
344
- old: v.ObjectType<{
345
- schema: v.Type<string>;
346
- name: v.Type<string>;
347
- }, undefined>;
348
- new: v.ObjectType<{
349
- schema: v.Type<string>;
350
- name: v.Type<string>;
351
- }, undefined>;
352
- }, undefined>, v.ObjectType<{
353
- tag: v.Type<"update-table-metadata">;
354
- table: v.ObjectType<{
355
- schema: v.Type<string>;
356
- name: v.Type<string>;
357
- }, undefined>;
358
- old: v.ObjectType<{
359
- rowKey: v.Type<Record<string, import("../../../../shared/src/bigint-json.ts").JSONValue>>;
360
- }, v.Type<import("../../../../shared/src/bigint-json.ts").JSONValue>>;
361
- new: v.ObjectType<{
362
- rowKey: v.Type<Record<string, import("../../../../shared/src/bigint-json.ts").JSONValue>>;
363
- }, v.Type<import("../../../../shared/src/bigint-json.ts").JSONValue>>;
364
- }, undefined>, v.ObjectType<{
365
- tag: v.Type<"add-column">;
366
- table: v.ObjectType<{
367
- schema: v.Type<string>;
368
- name: v.Type<string>;
369
- }, undefined>;
370
- column: v.ObjectType<{
371
- name: v.Type<string>;
372
- spec: v.ObjectType<{
373
- pos: v.Type<number>;
374
- dataType: v.Type<string>;
375
- pgTypeClass: v.Optional<"b" | "c" | "d" | "e" | "m" | "p" | "r">;
376
- elemPgTypeClass: v.Optional<"b" | "c" | "d" | "e" | "m" | "p" | "r" | null>;
377
- characterMaximumLength: v.Optional<number | null>;
378
- notNull: v.Optional<boolean | null>;
379
- dflt: v.Optional<string | null>;
380
- }, undefined>;
381
- }, undefined>;
382
- tableMetadata: v.Optional<{
383
- [x: string]: import("../../../../shared/src/bigint-json.ts").JSONValue;
384
- rowKey: Record<string, import("../../../../shared/src/bigint-json.ts").JSONValue>;
385
- }>;
386
- backfill: v.Optional<Record<string, import("../change-source/protocol/current.ts").JSONValue | undefined>>;
387
- }, undefined>, v.ObjectType<{
388
- tag: v.Type<"update-column">;
389
- table: v.ObjectType<{
390
- schema: v.Type<string>;
391
- name: v.Type<string>;
392
- }, undefined>;
393
- old: v.ObjectType<{
394
- name: v.Type<string>;
395
- spec: v.ObjectType<{
396
- pos: v.Type<number>;
397
- dataType: v.Type<string>;
398
- pgTypeClass: v.Optional<"b" | "c" | "d" | "e" | "m" | "p" | "r">;
399
- elemPgTypeClass: v.Optional<"b" | "c" | "d" | "e" | "m" | "p" | "r" | null>;
400
- characterMaximumLength: v.Optional<number | null>;
401
- notNull: v.Optional<boolean | null>;
402
- dflt: v.Optional<string | null>;
403
- }, undefined>;
404
- }, undefined>;
405
- new: v.ObjectType<{
406
- name: v.Type<string>;
407
- spec: v.ObjectType<{
408
- pos: v.Type<number>;
409
- dataType: v.Type<string>;
410
- pgTypeClass: v.Optional<"b" | "c" | "d" | "e" | "m" | "p" | "r">;
411
- elemPgTypeClass: v.Optional<"b" | "c" | "d" | "e" | "m" | "p" | "r" | null>;
412
- characterMaximumLength: v.Optional<number | null>;
413
- notNull: v.Optional<boolean | null>;
414
- dflt: v.Optional<string | null>;
415
- }, undefined>;
416
- }, undefined>;
417
- }, undefined>, v.ObjectType<{
418
- tag: v.Type<"drop-column">;
419
- table: v.ObjectType<{
420
- schema: v.Type<string>;
421
- name: v.Type<string>;
422
- }, undefined>;
423
- column: v.Type<string>;
424
- }, undefined>, v.ObjectType<{
425
- tag: v.Type<"drop-table">;
426
- id: v.ObjectType<{
427
- schema: v.Type<string>;
428
- name: v.Type<string>;
429
- }, undefined>;
430
- }, undefined>, v.ObjectType<{
431
- tag: v.Type<"create-index">;
432
- spec: v.ObjectType<Omit<{
433
- name: v.Type<string>;
434
- tableName: v.Type<string>;
435
- unique: v.Type<boolean>;
436
- columns: v.Type<Record<string, "ASC" | "DESC">>;
437
- predicate: v.Optional<import("../../db/specs.ts").IndexPredicate>;
438
- }, "schema"> & {
439
- schema: v.Type<string>;
440
- }, undefined>;
441
- }, undefined>, v.ObjectType<{
442
- tag: v.Type<"drop-index">;
443
- id: v.ObjectType<{
444
- schema: v.Type<string>;
445
- name: v.Type<string>;
446
- }, undefined>;
447
- }, undefined>, v.ObjectType<{
448
- tag: v.Type<"backfill-completed">;
449
- relation: v.ObjectType<{
450
- schema: v.Type<string>;
451
- name: v.Type<string>;
452
- rowKey: v.ObjectType<{
453
- columns: v.ArrayType<v.Type<string>>;
454
- type: v.Optional<"default" | "full" | "index" | "nothing">;
455
- }, undefined>;
456
- }, undefined>;
457
- columns: v.ArrayType<v.Type<string>>;
458
- watermark: v.Type<string>;
459
- progressMarks: v.Optional<{
460
- previous?: {
461
- [x: string]: string | number;
462
- progressMark: string;
463
- timeline?: string | undefined;
464
- } | undefined;
465
- }>;
466
- status: v.Optional<{
467
- rows: number;
468
- totalRows: number;
469
- totalBytes?: number | undefined;
470
- }>;
471
- }, undefined>]>]>]>, v.TupleType<[v.Type<"commit">, v.ObjectType<{
472
- tag: v.Type<"commit">;
473
- commitTimeMs: v.Optional<number>;
474
- }, undefined>, v.ObjectType<{
475
- watermark: v.Type<string>;
476
- }, undefined>]>, v.TupleType<[v.Type<"rollback">, v.ObjectType<{
477
- tag: v.Type<"rollback">;
478
- }, undefined>]>]>, v.TupleType<[v.Type<"error">, v.ObjectType<{
479
- type: v.Type<number>;
480
- message: v.Optional<string>;
481
- replicaVersion: v.Optional<string>;
482
- }, undefined>]>]>]>;
483
- export type SubscribeDownstream = v.Infer<typeof subscribeDownstreamSchema>;
484
- export {};
485
- //# sourceMappingURL=subscribe.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"subscribe.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/change-streamer/subscribe.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,CAAC,MAAM,kCAAkC,CAAC;AAKtD,QAAA,MAAM,oBAAoB;;;;;;;;aAExB,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAMlE;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB;;;aAG7B,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,eAAO,MAAM,4BAA4B;;;;;;eAMvC,CAAC;AAEH;;;;;;;;;GASG;AACH,eAAO,MAAM,sBAAsB;IACjC,2EAA2E;;IAE3E,sCAAsC;;IAEtC,8DAA8D;;IAE9D,gEAAgE;;IAEhE,8DAA8D;;IAE9D;;;;OAIG;;;;;;;;;;;;;;;;;;;IAEH,yCAAyC;;IAEzC,0CAA0C;;aAE1C,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,eAAO,MAAM,8BAA8B;IAxBzC,2EAA2E;;IAE3E,sCAAsC;;IAEtC,8DAA8D;;IAE9D,gEAAgE;;IAEhE,8DAA8D;;IAE9D;;;;OAIG;;;;;;;;;;;;;;;;;;;IAEH,yCAAyC;;IAEzC,0CAA0C;;eAS1C,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;;IA7BlC,2EAA2E;;IAE3E,sCAAsC;;IAEtC,8DAA8D;;IAE9D,gEAAgE;;IAEhE,8DAA8D;;IAE9D;;;;OAIG;;;;;;;;;;;;;;;;;;;IAEH,yCAAyC;;IAEzC,0CAA0C;;iBAc3C,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAMxE;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;eAGhC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAGrC,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC"}
@@ -1,194 +0,0 @@
1
- import type { Enum } from '../../../../shared/src/enum.ts';
2
- import type { Subscription } from '../../types/subscription.ts';
3
- import type { ReplicatorMode } from '../replicator/replicator.ts';
4
- import type { BackfillState } from './backfill-state.ts';
5
- import type { PreSerializedBatch } from './broadcast.ts';
6
- import type { ChangeTag, Status, WatermarkedChange } from './change-streamer.ts';
7
- import type * as ErrorType from './error-type-enum.ts';
8
- type ErrorType = Enum<typeof ErrorType>;
9
- export type SubscriberOptions = {
10
- backlogHighWaterBytes?: number | undefined;
11
- backlogLowWaterRatio?: number | undefined;
12
- wsBatched?: boolean | undefined;
13
- /**
14
- * Called whenever the subscriber's acked watermark advances, i.e. when it
15
- * has confirmed that a commit was durably applied to its replica. The ACK
16
- * therefore lags the subscriber's replica rather than leading it.
17
- */
18
- onAck?: ((watermark: string) => void) | undefined;
19
- /**
20
- * The subscriber's pending backfills (protocol v8+), which are tracked
21
- * over the changes sent to the subscriber.
22
- */
23
- backfills?: BackfillState | undefined;
24
- /**
25
- * Called once the subscriber has been sent all changes up to the head of
26
- * the stream, i.e. its catchup and backlog have been flushed. From this
27
- * point on, the subscriber's tracked {@link backfills} reflect the same
28
- * position in the stream as that of the change-streamer.
29
- */
30
- onAligned?: ((subscriber: Subscriber) => void) | undefined;
31
- /**
32
- * Called when a `backfill` or `backfill-completed` message is ignored for
33
- * some of the subscriber's pending backfill columns, after the subscriber
34
- * is aligned.
35
- */
36
- onBackfillIgnored?: ((columns: string[]) => void) | undefined;
37
- /**
38
- * Resolves to whether lag reporting is disabled upstream. If so, a
39
- * {@link LAG_REPORTING_DISABLED} status is sent once the subscriber is
40
- * aligned, as a stand-in for the lag reports that a subscriber would
41
- * otherwise use to determine that it is caught up (e.g. to advertise
42
- * readiness to serve traffic).
43
- */
44
- lagReportingDisabled?: Promise<boolean> | undefined;
45
- /**
46
- * Whether the subscriber switches over to another replication-manager
47
- * when this one drains (see `DrainTracker`).
48
- */
49
- drainable?: boolean | undefined;
50
- };
51
- export type BacklogFullWait = {
52
- readonly promise: Promise<void>;
53
- cancel(): void;
54
- };
55
- export type SubscriberStats = {
56
- processRate: number;
57
- pending: number;
58
- backlog: number;
59
- backlogBytes: number;
60
- totalBufferedBytes: number;
61
- missedLastTimeout: boolean;
62
- };
63
- /**
64
- * Encapsulates a subscriber to changes. All subscribers start in a
65
- * "catchup" phase in which changes are buffered in a backlog while the
66
- * storer is queried to send any changes that were committed since the
67
- * subscriber's watermark. Once the catchup is complete, calls to
68
- * {@link send()} result in immediately sending the change.
69
- */
70
- export declare class Subscriber {
71
- #private;
72
- readonly id: string;
73
- readonly mode: ReplicatorMode;
74
- readonly drainable: boolean;
75
- constructor(protocolVersion: number, id: string, mode: ReplicatorMode, watermark: string, downstream: Subscription<string | PreSerializedBatch>, options?: SubscriberOptions);
76
- /**
77
- * The subscriber's tracked pending backfills, or `undefined` if the
78
- * subscriber does not report them (i.e. protocol < v8).
79
- */
80
- get backfills(): BackfillState | undefined;
81
- /**
82
- * Whether the subscriber has been sent all changes up to the head of the
83
- * stream (see {@link SubscriberOptions.onAligned}).
84
- */
85
- get aligned(): boolean;
86
- /**
87
- * Resolves once the subscriber has caught up, i.e. once it has acked
88
- * (durably applied) all changes up to the head of the stream at the time
89
- * it was {@link aligned}. Never resolves if the subscriber is closed first.
90
- */
91
- get caughtUp(): Promise<void>;
92
- get watermark(): string;
93
- get acked(): string;
94
- /**
95
- * Whether the backlog of live changes buffered during catchup has reached the
96
- * point at which {@link send()} stops resolving. Past it the subscriber is no
97
- * longer free: it holds up every subsequent flush, and with no other
98
- * subscriber to form a majority it stalls replication outright.
99
- */
100
- get backlogFull(): boolean;
101
- /**
102
- * @returns whether the subscriber is currently sending backlogged messages,
103
- * vs caught up and sending the "head" of the replication stream.
104
- */
105
- isBacklogged(): boolean;
106
- /**
107
- * Resolves the first time {@link backlogFull} becomes true, so that a caller
108
- * holding the subscriber in catchup can give up at the moment the subscriber
109
- * starts costing replication rather than on a timer. Call cancel() when the
110
- * wait is no longer needed so the subscriber does not retain it.
111
- */
112
- whenBacklogFull(): BacklogFullWait;
113
- send(change: WatermarkedChange): Promise<void>;
114
- sendBatch(changes: readonly WatermarkedChange[], preSerialized?: PreSerializedBatch | undefined): Promise<void>;
115
- /**
116
- * Sends a status message (e.g. a lag report) downstream. While the
117
- * subscriber is catching up, the status is queued in the backlog behind
118
- * the changes that preceded it in the replication stream, so that the
119
- * subscriber processes it in stream order. This is necessary for lag
120
- * reports to measure the lag of the subscriber, including its catchup.
121
- *
122
- * Status messages received before the subscriber is initialized are
123
- * dropped.
124
- */
125
- sendStatus(status: Status): void;
126
- /**
127
- * Sends a control status (e.g. `draining` or `restore`) downstream
128
- * immediately, regardless of whether the subscriber is initialized or
129
- * catching up. Unlike {@link sendStatus}, such statuses are not tied to a
130
- * position in the replication stream.
131
- */
132
- sendControlStatus(status: Status): void;
133
- /** catchup() is called on ChangeEntries loaded from the store. */
134
- catchup(change: WatermarkedChange): Promise<void>;
135
- /**
136
- * Marks the Subscribe as "caught up" and flushes any backlog of
137
- * entries that were received during the catchup.
138
- */
139
- setCaughtUp(): Promise<void>;
140
- /**
141
- * The number of downstream messages that have yet to be acked.
142
- */
143
- get numPending(): number;
144
- /**
145
- * The total number of downstream messages that the subscriber has
146
- * processed (i.e. acked).
147
- */
148
- get numProcessed(): number;
149
- /**
150
- * Records a new history entry for the number of messages processed,
151
- * keeping the number of samples bounded to `maxSamples`.
152
- */
153
- sampleProcessRate(now: number, maxSamples?: number): this;
154
- getStats(): SubscriberStats;
155
- trackResponseResult(result: 'on-time' | 'timed-out'): void;
156
- /**
157
- * Reports the change rate of a slow subscriber (i.e. that missed the last
158
- * timeout) compared to the change rate of the (slowest) subscriber that
159
- * responded on time.
160
- *
161
- * * `lagging` indicates that this subscriber is slower
162
- * * `catching-up` indicates that it is faster
163
- *
164
- * Returns the total duration in which subscriber has been continuously
165
- * reported as `lagging`.
166
- */
167
- reportChangeRate(now: number, status: 'lagging' | 'catching-up'): number;
168
- supportsMessage(tag: ChangeTag): boolean;
169
- /**
170
- * Ends the subscription without sending a downstream `['error', ...]`.
171
- *
172
- * This is deliberate, and not the same as reporting the failure to the
173
- * subscriber: `IncrementalSyncer` treats any `['error', ...]` as terminal and
174
- * shuts down to restore a fresh replica from litestream, whereas a clean end
175
- * backs off and re-subscribes. The failures routed here -- storer catchup
176
- * errors, backlog drain errors, backup-monitor errors -- are transient, so a
177
- * reconnect is the proportionate response and a fleet-wide restore is not.
178
- *
179
- * Callers are responsible for logging `err`; it is not carried downstream.
180
- */
181
- fail(_err?: unknown): void;
182
- close(error?: ErrorType, message?: string, details?: {
183
- replicaVersion?: string | undefined;
184
- }): void;
185
- }
186
- /**
187
- * Sent to an aligned subscriber when lag reporting is disabled upstream,
188
- * signaling that the subscriber is caught up. This is a lag report with a
189
- * `nextSendTimeMs` of 0 and no `lastTimings`, so that no lag is measured
190
- * (see `isLagReportingDisabledSignal()` in the replicator's recorder).
191
- */
192
- export declare const LAG_REPORTING_DISABLED: Status;
193
- export {};
194
- //# sourceMappingURL=subscriber.d.ts.map