@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.
- package/out/replicache/src/btree/node.js +1 -1
- package/out/replicache/src/deleted-clients.d.ts.map +1 -1
- package/out/replicache/src/deleted-clients.js +2 -1
- package/out/replicache/src/deleted-clients.js.map +1 -1
- package/out/replicache/src/kv/sqlite-store.d.ts.map +1 -1
- package/out/replicache/src/kv/sqlite-store.js +7 -3
- package/out/replicache/src/kv/sqlite-store.js.map +1 -1
- package/out/replicache/src/replicache-impl.d.ts.map +1 -1
- package/out/replicache/src/replicache-impl.js +17 -14
- package/out/replicache/src/replicache-impl.js.map +1 -1
- package/out/z2s/src/compiler.js +3 -3
- package/out/z2s/src/compiler.js.map +1 -1
- package/out/zero/package.js +11 -11
- package/out/zero/package.js.map +1 -1
- package/out/zero-cache/src/auth/write-authorizer.js +9 -2
- package/out/zero-cache/src/auth/write-authorizer.js.map +1 -1
- package/out/zero-cache/src/config/zero-config.js +2 -2
- package/out/zero-cache/src/config/zero-config.js.map +1 -1
- package/out/zero-cache/src/server/change-streamer.js +33 -9
- package/out/zero-cache/src/server/change-streamer.js.map +1 -1
- package/out/zero-cache/src/services/change-source/common/replica-restore.js.map +1 -1
- package/out/zero-cache/src/services/change-source/pg/change-source-init.js +49 -24
- package/out/zero-cache/src/services/change-source/pg/change-source-init.js.map +1 -1
- package/out/zero-cache/src/services/change-source/pg/change-source.js +64 -7
- package/out/zero-cache/src/services/change-source/pg/change-source.js.map +1 -1
- package/out/zero-cache/src/services/change-source/pg/fork-request.js +54 -0
- package/out/zero-cache/src/services/change-source/pg/fork-request.js.map +1 -0
- package/out/zero-cache/src/services/change-source/pg/replication-slots.js +6 -0
- package/out/zero-cache/src/services/change-source/pg/replication-slots.js.map +1 -1
- package/out/zero-cache/src/services/change-source/protocol/current/downstream.d.ts +1 -0
- package/out/zero-cache/src/services/change-source/protocol/current/downstream.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-source/protocol/current/status.d.ts +3 -0
- package/out/zero-cache/src/services/change-source/protocol/current/status.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-source/protocol/current/status.js +2 -1
- package/out/zero-cache/src/services/change-source/protocol/current/status.js.map +1 -1
- package/out/zero-cache/src/services/change-source/protocol/current/upstream.d.ts +1 -0
- package/out/zero-cache/src/services/change-source/protocol/current/upstream.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-streamer/backup-cleanup-monitor-factory.js +6 -6
- package/out/zero-cache/src/services/change-streamer/backup-cleanup-monitor-factory.js.map +1 -1
- package/out/zero-cache/src/services/change-streamer/backup-monitor.js +55 -20
- package/out/zero-cache/src/services/change-streamer/backup-monitor.js.map +1 -1
- package/out/zero-cache/src/services/change-streamer/change-streamer-service.js +27 -8
- package/out/zero-cache/src/services/change-streamer/change-streamer-service.js.map +1 -1
- package/out/zero-cache/src/services/change-streamer/change-streamer.js.map +1 -1
- package/out/zero-cache/src/services/change-streamer/litestream-sync-requester.js +80 -11
- package/out/zero-cache/src/services/change-streamer/litestream-sync-requester.js.map +1 -1
- package/out/zero-cache/src/services/change-streamer/litestream3-prometheus-poller.js.map +1 -1
- package/out/zero-cache/src/services/change-streamer/replica-poller.js.map +1 -1
- package/out/zero-cache/src/services/change-streamer/server-start-metrics.js +42 -0
- package/out/zero-cache/src/services/change-streamer/server-start-metrics.js.map +1 -0
- package/out/zero-cache/src/services/change-streamer/subscriber.js +5 -4
- package/out/zero-cache/src/services/change-streamer/subscriber.js.map +1 -1
- package/out/zero-cache/src/services/mutagen/mutagen.js +1 -2
- package/out/zero-cache/src/services/mutagen/mutagen.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/view-syncer.js +19 -2
- package/out/zero-cache/src/services/view-syncer/view-syncer.js.map +1 -1
- package/out/zero-client/src/client/version.js +1 -1
- package/out/zero-protocol/src/ast.d.ts.map +1 -1
- package/out/zero-protocol/src/ast.js +2 -1
- package/out/zero-protocol/src/ast.js.map +1 -1
- package/out/zero-protocol/src/down.d.ts +27 -27
- package/out/zero-protocol/src/inspect-down.d.ts +81 -81
- package/out/zero-protocol/src/up.d.ts +60 -60
- package/package.json +11 -11
- package/out/shared/src/cache.d.ts +0 -22
- package/out/shared/src/cache.d.ts.map +0 -1
- package/out/shared/src/custom-key-map.d.ts +0 -26
- package/out/shared/src/custom-key-map.d.ts.map +0 -1
- package/out/shared/src/custom-key-set.d.ts +0 -25
- package/out/shared/src/custom-key-set.d.ts.map +0 -1
- package/out/shared/src/logging-test-utils.d.ts +0 -12
- package/out/shared/src/logging-test-utils.d.ts.map +0 -1
- package/out/shared/src/queue.d.ts +0 -53
- package/out/shared/src/queue.d.ts.map +0 -1
- package/out/shared/src/ring-buffer.d.ts +0 -42
- package/out/shared/src/ring-buffer.d.ts.map +0 -1
- package/out/shared/src/sorted-entries.d.ts +0 -2
- package/out/shared/src/sorted-entries.d.ts.map +0 -1
- package/out/zero/src/server/change-streamer.d.ts +0 -2
- package/out/zero/src/server/change-streamer.d.ts.map +0 -1
- package/out/zero/src/server/main.d.ts +0 -2
- package/out/zero/src/server/main.d.ts.map +0 -1
- package/out/zero/src/server/reaper.d.ts +0 -2
- package/out/zero/src/server/reaper.d.ts.map +0 -1
- package/out/zero/src/server/replicator.d.ts +0 -2
- package/out/zero/src/server/replicator.d.ts.map +0 -1
- package/out/zero/src/server/syncer.d.ts +0 -2
- package/out/zero/src/server/syncer.d.ts.map +0 -1
- package/out/zero-cache/src/auth/jwt.d.ts +0 -12
- package/out/zero-cache/src/auth/jwt.d.ts.map +0 -1
- package/out/zero-cache/src/auth/load-permissions.d.ts +0 -17
- package/out/zero-cache/src/auth/load-permissions.d.ts.map +0 -1
- package/out/zero-cache/src/auth/write-authorizer.d.ts +0 -28
- package/out/zero-cache/src/auth/write-authorizer.d.ts.map +0 -1
- package/out/zero-cache/src/config/server-context.d.ts +0 -16
- package/out/zero-cache/src/config/server-context.d.ts.map +0 -1
- package/out/zero-cache/src/custom/fetch.d.ts +0 -38
- package/out/zero-cache/src/custom/fetch.d.ts.map +0 -1
- package/out/zero-cache/src/custom/metrics.d.ts +0 -31
- package/out/zero-cache/src/custom/metrics.d.ts.map +0 -1
- package/out/zero-cache/src/custom-queries/transform-query.d.ts +0 -68
- package/out/zero-cache/src/custom-queries/transform-query.d.ts.map +0 -1
- package/out/zero-cache/src/db/create.d.ts +0 -12
- package/out/zero-cache/src/db/create.d.ts.map +0 -1
- package/out/zero-cache/src/db/delete-lite-db.d.ts +0 -2
- package/out/zero-cache/src/db/delete-lite-db.d.ts.map +0 -1
- package/out/zero-cache/src/db/index-predicate.d.ts +0 -4
- package/out/zero-cache/src/db/index-predicate.d.ts.map +0 -1
- package/out/zero-cache/src/db/migration-lite.d.ts +0 -78
- package/out/zero-cache/src/db/migration-lite.d.ts.map +0 -1
- package/out/zero-cache/src/db/migration.d.ts +0 -80
- package/out/zero-cache/src/db/migration.d.ts.map +0 -1
- package/out/zero-cache/src/db/pg-copy-binary.d.ts +0 -101
- package/out/zero-cache/src/db/pg-copy-binary.d.ts.map +0 -1
- package/out/zero-cache/src/db/pg-copy.d.ts +0 -30
- package/out/zero-cache/src/db/pg-copy.d.ts.map +0 -1
- package/out/zero-cache/src/db/pg-type-parser.d.ts +0 -15
- package/out/zero-cache/src/db/pg-type-parser.d.ts.map +0 -1
- package/out/zero-cache/src/db/transaction-pool.d.ts +0 -205
- package/out/zero-cache/src/db/transaction-pool.d.ts.map +0 -1
- package/out/zero-cache/src/db/warmup.d.ts +0 -4
- package/out/zero-cache/src/db/warmup.d.ts.map +0 -1
- package/out/zero-cache/src/observability/events.d.ts +0 -15
- package/out/zero-cache/src/observability/events.d.ts.map +0 -1
- package/out/zero-cache/src/observability/log-throttle.d.ts +0 -44
- package/out/zero-cache/src/observability/log-throttle.d.ts.map +0 -1
- package/out/zero-cache/src/server/anonymous-otel-start.d.ts +0 -21
- package/out/zero-cache/src/server/anonymous-otel-start.d.ts.map +0 -1
- package/out/zero-cache/src/server/change-streamer.d.ts +0 -3
- package/out/zero-cache/src/server/change-streamer.d.ts.map +0 -1
- package/out/zero-cache/src/server/inspector-delegate.d.ts +0 -71
- package/out/zero-cache/src/server/inspector-delegate.d.ts.map +0 -1
- package/out/zero-cache/src/server/main.d.ts +0 -3
- package/out/zero-cache/src/server/main.d.ts.map +0 -1
- package/out/zero-cache/src/server/otel-diag-logger.d.ts +0 -16
- package/out/zero-cache/src/server/otel-diag-logger.d.ts.map +0 -1
- package/out/zero-cache/src/server/otel-start.d.ts +0 -3
- package/out/zero-cache/src/server/otel-start.d.ts.map +0 -1
- package/out/zero-cache/src/server/priority-op.d.ts +0 -8
- package/out/zero-cache/src/server/priority-op.d.ts.map +0 -1
- package/out/zero-cache/src/server/reaper.d.ts +0 -3
- package/out/zero-cache/src/server/reaper.d.ts.map +0 -1
- package/out/zero-cache/src/server/replicator.d.ts +0 -10
- package/out/zero-cache/src/server/replicator.d.ts.map +0 -1
- package/out/zero-cache/src/server/slot-keeper.d.ts +0 -26
- package/out/zero-cache/src/server/slot-keeper.d.ts.map +0 -1
- package/out/zero-cache/src/server/syncer-assigner.d.ts +0 -14
- package/out/zero-cache/src/server/syncer-assigner.d.ts.map +0 -1
- package/out/zero-cache/src/server/syncer.d.ts +0 -3
- package/out/zero-cache/src/server/syncer.d.ts.map +0 -1
- package/out/zero-cache/src/server/worker-dispatcher.d.ts +0 -17
- package/out/zero-cache/src/server/worker-dispatcher.d.ts.map +0 -1
- package/out/zero-cache/src/services/analyze.d.ts +0 -9
- package/out/zero-cache/src/services/analyze.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-source/change-source.d.ts +0 -32
- package/out/zero-cache/src/services/change-source/change-source.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-source/common/backfill-manager.d.ts +0 -57
- package/out/zero-cache/src/services/change-source/common/backfill-manager.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-source/common/change-stream-multiplexer.d.ts +0 -55
- package/out/zero-cache/src/services/change-source/common/change-stream-multiplexer.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-source/common/init-cleanup.d.ts +0 -24
- package/out/zero-cache/src/services/change-source/common/init-cleanup.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-source/common/replica-restore.d.ts +0 -115
- package/out/zero-cache/src/services/change-source/common/replica-restore.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-source/common/replica-schema.d.ts +0 -14
- package/out/zero-cache/src/services/change-source/common/replica-schema.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-source/custom/change-source.d.ts +0 -25
- package/out/zero-cache/src/services/change-source/custom/change-source.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-source/pg/backfill-metadata.d.ts +0 -14
- package/out/zero-cache/src/services/change-source/pg/backfill-metadata.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-source/pg/backfill-stream.d.ts +0 -36
- package/out/zero-cache/src/services/change-source/pg/backfill-stream.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-source/pg/change-source-init.d.ts +0 -65
- package/out/zero-cache/src/services/change-source/pg/change-source-init.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-source/pg/change-source.d.ts +0 -115
- package/out/zero-cache/src/services/change-source/pg/change-source.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-source/pg/initial-sync.d.ts +0 -155
- package/out/zero-cache/src/services/change-source/pg/initial-sync.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-source/pg/logical-replication/binary-reader.d.ts +0 -17
- package/out/zero-cache/src/services/change-source/pg/logical-replication/binary-reader.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-source/pg/logical-replication/pgoutput-parser.d.ts +0 -28
- package/out/zero-cache/src/services/change-source/pg/logical-replication/pgoutput-parser.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-source/pg/logical-replication/pgoutput.types.d.ts +0 -76
- package/out/zero-cache/src/services/change-source/pg/logical-replication/pgoutput.types.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-source/pg/logical-replication/stream.d.ts +0 -169
- package/out/zero-cache/src/services/change-source/pg/logical-replication/stream.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-source/pg/replication-slot-cleanup-monitor.d.ts +0 -16
- package/out/zero-cache/src/services/change-source/pg/replication-slot-cleanup-monitor.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-source/pg/replication-slot-health.d.ts +0 -15
- package/out/zero-cache/src/services/change-source/pg/replication-slot-health.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-source/pg/replication-slots.d.ts +0 -127
- package/out/zero-cache/src/services/change-source/pg/replication-slots.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-source/pg/schema/init.d.ts +0 -9
- package/out/zero-cache/src/services/change-source/pg/schema/init.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-source/protocol/backfill-progress.d.ts +0 -68
- package/out/zero-cache/src/services/change-source/protocol/backfill-progress.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-streamer/backfill-state-tracker.d.ts +0 -72
- package/out/zero-cache/src/services/change-streamer/backfill-state-tracker.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-streamer/backfill-state.d.ts +0 -50
- package/out/zero-cache/src/services/change-streamer/backfill-state.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-streamer/backup-cleanup-monitor-factory.d.ts +0 -14
- package/out/zero-cache/src/services/change-streamer/backup-cleanup-monitor-factory.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-streamer/backup-monitor.d.ts +0 -18
- package/out/zero-cache/src/services/change-streamer/backup-monitor.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-streamer/broadcast.d.ts +0 -98
- package/out/zero-cache/src/services/change-streamer/broadcast.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-streamer/change-log-codec.d.ts +0 -34
- package/out/zero-cache/src/services/change-streamer/change-log-codec.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-streamer/change-log-compare-digest.d.ts +0 -34
- package/out/zero-cache/src/services/change-streamer/change-log-compare-digest.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-streamer/change-log-initializer.d.ts +0 -158
- package/out/zero-cache/src/services/change-streamer/change-log-initializer.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-streamer/change-log-transaction-hash.d.ts +0 -19
- package/out/zero-cache/src/services/change-streamer/change-log-transaction-hash.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-streamer/change-streamer-http.d.ts +0 -78
- package/out/zero-cache/src/services/change-streamer/change-streamer-http.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-streamer/change-streamer-service.d.ts +0 -143
- package/out/zero-cache/src/services/change-streamer/change-streamer-service.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-streamer/change-streamer.d.ts +0 -586
- package/out/zero-cache/src/services/change-streamer/change-streamer.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-streamer/drain-tracker.d.ts +0 -24
- package/out/zero-cache/src/services/change-streamer/drain-tracker.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-streamer/error-type-enum.d.ts +0 -15
- package/out/zero-cache/src/services/change-streamer/error-type-enum.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-streamer/forwarder.d.ts +0 -49
- package/out/zero-cache/src/services/change-streamer/forwarder.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-streamer/litestream-sync-requester.d.ts +0 -53
- package/out/zero-cache/src/services/change-streamer/litestream-sync-requester.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-streamer/litestream3-prometheus-poller.d.ts +0 -88
- package/out/zero-cache/src/services/change-streamer/litestream3-prometheus-poller.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-streamer/replica-poller.d.ts +0 -15
- package/out/zero-cache/src/services/change-streamer/replica-poller.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-streamer/restore-admission.d.ts +0 -243
- package/out/zero-cache/src/services/change-streamer/restore-admission.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-streamer/schema/init.d.ts +0 -6
- package/out/zero-cache/src/services/change-streamer/schema/init.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-streamer/schema/tables.d.ts +0 -152
- package/out/zero-cache/src/services/change-streamer/schema/tables.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-streamer/shard-sampling.d.ts +0 -11
- package/out/zero-cache/src/services/change-streamer/shard-sampling.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-streamer/snapshot-message.d.ts +0 -92
- package/out/zero-cache/src/services/change-streamer/snapshot-message.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-streamer/snapshot-reservations.d.ts +0 -36
- package/out/zero-cache/src/services/change-streamer/snapshot-reservations.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-streamer/snapshot.d.ts +0 -22
- package/out/zero-cache/src/services/change-streamer/snapshot.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-streamer/sqlite-change-log-catchup.d.ts +0 -99
- package/out/zero-cache/src/services/change-streamer/sqlite-change-log-catchup.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-streamer/sqlite-change-log-comparator.d.ts +0 -83
- package/out/zero-cache/src/services/change-streamer/sqlite-change-log-comparator.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-streamer/sqlite-change-log-purge-scheduler.d.ts +0 -121
- package/out/zero-cache/src/services/change-streamer/sqlite-change-log-purge-scheduler.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-streamer/sqlite-change-log-read-router.d.ts +0 -73
- package/out/zero-cache/src/services/change-streamer/sqlite-change-log-read-router.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-streamer/sqlite-change-log-reader.d.ts +0 -62
- package/out/zero-cache/src/services/change-streamer/sqlite-change-log-reader.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-streamer/sqlite-change-log-writer.d.ts +0 -114
- package/out/zero-cache/src/services/change-streamer/sqlite-change-log-writer.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-streamer/storer.d.ts +0 -276
- package/out/zero-cache/src/services/change-streamer/storer.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-streamer/subscribe.d.ts +0 -485
- package/out/zero-cache/src/services/change-streamer/subscribe.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-streamer/subscriber.d.ts +0 -194
- package/out/zero-cache/src/services/change-streamer/subscriber.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-streamer/upstream-acker.d.ts +0 -52
- package/out/zero-cache/src/services/change-streamer/upstream-acker.d.ts.map +0 -1
- package/out/zero-cache/src/services/limiter/sliding-window-limiter.d.ts +0 -57
- package/out/zero-cache/src/services/limiter/sliding-window-limiter.d.ts.map +0 -1
- package/out/zero-cache/src/services/litestream/commands.d.ts +0 -77
- package/out/zero-cache/src/services/litestream/commands.d.ts.map +0 -1
- package/out/zero-cache/src/services/litestream/litestream-controller.d.ts +0 -78
- package/out/zero-cache/src/services/litestream/litestream-controller.d.ts.map +0 -1
- package/out/zero-cache/src/services/litestream/metrics.d.ts +0 -31
- package/out/zero-cache/src/services/litestream/metrics.d.ts.map +0 -1
- package/out/zero-cache/src/services/litestream/restore-progress.d.ts +0 -24
- package/out/zero-cache/src/services/litestream/restore-progress.d.ts.map +0 -1
- package/out/zero-cache/src/services/mutagen/mutagen.d.ts +0 -40
- package/out/zero-cache/src/services/mutagen/mutagen.d.ts.map +0 -1
- package/out/zero-cache/src/services/mutagen/pusher.d.ts +0 -63
- package/out/zero-cache/src/services/mutagen/pusher.d.ts.map +0 -1
- package/out/zero-cache/src/services/replicator/change-log-db.d.ts +0 -368
- package/out/zero-cache/src/services/replicator/change-log-db.d.ts.map +0 -1
- package/out/zero-cache/src/services/replicator/change-log-stream-writer.d.ts +0 -56
- package/out/zero-cache/src/services/replicator/change-log-stream-writer.d.ts.map +0 -1
- package/out/zero-cache/src/services/replicator/change-processor.d.ts +0 -37
- package/out/zero-cache/src/services/replicator/change-processor.d.ts.map +0 -1
- package/out/zero-cache/src/services/replicator/drain-handler.d.ts +0 -82
- package/out/zero-cache/src/services/replicator/drain-handler.d.ts.map +0 -1
- package/out/zero-cache/src/services/replicator/incremental-sync.d.ts +0 -25
- package/out/zero-cache/src/services/replicator/incremental-sync.d.ts.map +0 -1
- package/out/zero-cache/src/services/replicator/notifier.d.ts +0 -9
- package/out/zero-cache/src/services/replicator/notifier.d.ts.map +0 -1
- package/out/zero-cache/src/services/replicator/replication-status.d.ts +0 -71
- package/out/zero-cache/src/services/replicator/replication-status.d.ts.map +0 -1
- package/out/zero-cache/src/services/replicator/replicator.d.ts +0 -86
- package/out/zero-cache/src/services/replicator/replicator.d.ts.map +0 -1
- package/out/zero-cache/src/services/replicator/reporter/recorder.d.ts +0 -55
- package/out/zero-cache/src/services/replicator/reporter/recorder.d.ts.map +0 -1
- package/out/zero-cache/src/services/replicator/sqlite-change-log-observability.d.ts +0 -132
- package/out/zero-cache/src/services/replicator/sqlite-change-log-observability.d.ts.map +0 -1
- package/out/zero-cache/src/services/replicator/sqlite-change-log-purger.d.ts +0 -120
- package/out/zero-cache/src/services/replicator/sqlite-change-log-purger.d.ts.map +0 -1
- package/out/zero-cache/src/services/replicator/write-worker-client.d.ts +0 -111
- package/out/zero-cache/src/services/replicator/write-worker-client.d.ts.map +0 -1
- package/out/zero-cache/src/services/run-ast.d.ts +0 -39
- package/out/zero-cache/src/services/run-ast.d.ts.map +0 -1
- package/out/zero-cache/src/services/runner.d.ts +0 -19
- package/out/zero-cache/src/services/runner.d.ts.map +0 -1
- package/out/zero-cache/src/services/view-syncer/active-users-gauge.d.ts +0 -17
- package/out/zero-cache/src/services/view-syncer/active-users-gauge.d.ts.map +0 -1
- package/out/zero-cache/src/services/view-syncer/advancement-metrics.d.ts +0 -26
- package/out/zero-cache/src/services/view-syncer/advancement-metrics.d.ts.map +0 -1
- package/out/zero-cache/src/services/view-syncer/batch-pacer.d.ts +0 -79
- package/out/zero-cache/src/services/view-syncer/batch-pacer.d.ts.map +0 -1
- package/out/zero-cache/src/services/view-syncer/client-handler.d.ts +0 -97
- package/out/zero-cache/src/services/view-syncer/client-handler.d.ts.map +0 -1
- package/out/zero-cache/src/services/view-syncer/client-schema.d.ts +0 -18
- package/out/zero-cache/src/services/view-syncer/client-schema.d.ts.map +0 -1
- package/out/zero-cache/src/services/view-syncer/connection-context-manager.d.ts +0 -184
- package/out/zero-cache/src/services/view-syncer/connection-context-manager.d.ts.map +0 -1
- package/out/zero-cache/src/services/view-syncer/cvr-purger.d.ts +0 -22
- package/out/zero-cache/src/services/view-syncer/cvr-purger.d.ts.map +0 -1
- package/out/zero-cache/src/services/view-syncer/cvr-store.d.ts +0 -128
- package/out/zero-cache/src/services/view-syncer/cvr-store.d.ts.map +0 -1
- package/out/zero-cache/src/services/view-syncer/cvr.d.ts +0 -294
- package/out/zero-cache/src/services/view-syncer/cvr.d.ts.map +0 -1
- package/out/zero-cache/src/services/view-syncer/deferred-writes-budget.d.ts +0 -81
- package/out/zero-cache/src/services/view-syncer/deferred-writes-budget.d.ts.map +0 -1
- package/out/zero-cache/src/services/view-syncer/drain-coordinator.d.ts +0 -45
- package/out/zero-cache/src/services/view-syncer/drain-coordinator.d.ts.map +0 -1
- package/out/zero-cache/src/services/view-syncer/e2e-serving-lag.d.ts +0 -53
- package/out/zero-cache/src/services/view-syncer/e2e-serving-lag.d.ts.map +0 -1
- package/out/zero-cache/src/services/view-syncer/hydration-budget.d.ts +0 -33
- package/out/zero-cache/src/services/view-syncer/hydration-budget.d.ts.map +0 -1
- package/out/zero-cache/src/services/view-syncer/hydration-circuit-breaker.d.ts +0 -51
- package/out/zero-cache/src/services/view-syncer/hydration-circuit-breaker.d.ts.map +0 -1
- package/out/zero-cache/src/services/view-syncer/inspect-handler.d.ts +0 -34
- package/out/zero-cache/src/services/view-syncer/inspect-handler.d.ts.map +0 -1
- package/out/zero-cache/src/services/view-syncer/pipeline-driver.d.ts +0 -296
- package/out/zero-cache/src/services/view-syncer/pipeline-driver.d.ts.map +0 -1
- package/out/zero-cache/src/services/view-syncer/plan-warnings.d.ts +0 -7
- package/out/zero-cache/src/services/view-syncer/plan-warnings.d.ts.map +0 -1
- package/out/zero-cache/src/services/view-syncer/push-cost.d.ts +0 -132
- package/out/zero-cache/src/services/view-syncer/push-cost.d.ts.map +0 -1
- package/out/zero-cache/src/services/view-syncer/push-cutoff.d.ts +0 -55
- package/out/zero-cache/src/services/view-syncer/push-cutoff.d.ts.map +0 -1
- package/out/zero-cache/src/services/view-syncer/query-covering.d.ts +0 -28
- package/out/zero-cache/src/services/view-syncer/query-covering.d.ts.map +0 -1
- package/out/zero-cache/src/services/view-syncer/query-shape.d.ts +0 -25
- package/out/zero-cache/src/services/view-syncer/query-shape.d.ts.map +0 -1
- package/out/zero-cache/src/services/view-syncer/query-stats.d.ts +0 -89
- package/out/zero-cache/src/services/view-syncer/query-stats.d.ts.map +0 -1
- package/out/zero-cache/src/services/view-syncer/row-record-cache.d.ts +0 -90
- package/out/zero-cache/src/services/view-syncer/row-record-cache.d.ts.map +0 -1
- package/out/zero-cache/src/services/view-syncer/row-set-signature.d.ts +0 -17
- package/out/zero-cache/src/services/view-syncer/row-set-signature.d.ts.map +0 -1
- package/out/zero-cache/src/services/view-syncer/schema/cvr.d.ts +0 -86
- package/out/zero-cache/src/services/view-syncer/schema/cvr.d.ts.map +0 -1
- package/out/zero-cache/src/services/view-syncer/schema/init.d.ts +0 -5
- package/out/zero-cache/src/services/view-syncer/schema/init.d.ts.map +0 -1
- package/out/zero-cache/src/services/view-syncer/schema/types.d.ts +0 -563
- package/out/zero-cache/src/services/view-syncer/schema/types.d.ts.map +0 -1
- package/out/zero-cache/src/services/view-syncer/snapshot-row-cache.d.ts +0 -95
- package/out/zero-cache/src/services/view-syncer/snapshot-row-cache.d.ts.map +0 -1
- package/out/zero-cache/src/services/view-syncer/snapshotter.d.ts +0 -420
- package/out/zero-cache/src/services/view-syncer/snapshotter.d.ts.map +0 -1
- package/out/zero-cache/src/services/view-syncer/tracer.d.ts +0 -2
- package/out/zero-cache/src/services/view-syncer/tracer.d.ts.map +0 -1
- package/out/zero-cache/src/services/view-syncer/ttl-clock.d.ts +0 -10
- package/out/zero-cache/src/services/view-syncer/ttl-clock.d.ts.map +0 -1
- package/out/zero-cache/src/services/view-syncer/view-syncer.d.ts +0 -133
- package/out/zero-cache/src/services/view-syncer/view-syncer.d.ts.map +0 -1
- package/out/zero-cache/src/types/downstream.d.ts +0 -11
- package/out/zero-cache/src/types/downstream.d.ts.map +0 -1
- package/out/zero-cache/src/types/error-with-level.d.ts +0 -9
- package/out/zero-cache/src/types/error-with-level.d.ts.map +0 -1
- package/out/zero-cache/src/types/pg-patch.d.ts +0 -21
- package/out/zero-cache/src/types/pg-patch.d.ts.map +0 -1
- package/out/zero-cache/src/types/pg-versions.d.ts +0 -3
- package/out/zero-cache/src/types/pg-versions.d.ts.map +0 -1
- package/out/zero-cache/src/types/poke-chunk.d.ts +0 -18
- package/out/zero-cache/src/types/poke-chunk.d.ts.map +0 -1
- package/out/zero-cache/src/types/streams.d.ts +0 -115
- package/out/zero-cache/src/types/streams.d.ts.map +0 -1
- package/out/zero-cache/src/types/subscription.d.ts +0 -197
- package/out/zero-cache/src/types/subscription.d.ts.map +0 -1
- package/out/zero-cache/src/workers/connect-params.d.ts +0 -28
- package/out/zero-cache/src/workers/connect-params.d.ts.map +0 -1
- package/out/zero-cache/src/workers/connection.d.ts +0 -77
- package/out/zero-cache/src/workers/connection.d.ts.map +0 -1
- package/out/zero-cache/src/workers/replicator.d.ts +0 -57
- package/out/zero-cache/src/workers/replicator.d.ts.map +0 -1
- package/out/zero-cache/src/workers/syncer-ws-message-handler.d.ts +0 -14
- package/out/zero-cache/src/workers/syncer-ws-message-handler.d.ts.map +0 -1
- package/out/zero-cache/src/workers/syncer.d.ts +0 -67
- package/out/zero-cache/src/workers/syncer.d.ts.map +0 -1
- package/out/zero-events/src/index.d.ts +0 -27
- package/out/zero-events/src/index.d.ts.map +0 -1
- package/out/zero-events/src/json.d.ts +0 -20
- package/out/zero-events/src/json.d.ts.map +0 -1
- package/out/zero-events/src/status.d.ts +0 -144
- package/out/zero-events/src/status.d.ts.map +0 -1
- package/out/zqlite/src/database-storage.d.ts +0 -43
- package/out/zqlite/src/database-storage.d.ts.map +0 -1
- package/out/zqlite/src/explain-queries.d.ts +0 -4
- package/out/zqlite/src/explain-queries.d.ts.map +0 -1
- package/out/zqlite/src/internal/sql-inline.d.ts +0 -13
- package/out/zqlite/src/internal/sql-inline.d.ts.map +0 -1
- package/out/zqlite/src/resolve-scalar-subqueries.d.ts +0 -72
- package/out/zqlite/src/resolve-scalar-subqueries.d.ts.map +0 -1
- package/out/zqlite/src/sqlite-cost-model.d.ts +0 -17
- package/out/zqlite/src/sqlite-cost-model.d.ts.map +0 -1
- package/out/zqlite/src/sqlite-stat-fanout.d.ts +0 -121
- 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
|