@rocicorp/zero 1.12.0-canary.6 → 1.12.0-canary.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/out/zero/package.js +10 -10
- 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/server/change-streamer.js +1 -0
- 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 +17 -9
- package/out/zero-cache/src/services/change-source/pg/change-source-init.js.map +1 -1
- package/out/zero-cache/src/services/change-streamer/server-start-metrics.js +1 -1
- package/out/zero-cache/src/services/change-streamer/server-start-metrics.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/mutagen/pusher.js +57 -14
- package/out/zero-cache/src/services/mutagen/pusher.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/drain-coordinator.js +1 -1
- package/out/zero-cache/src/services/view-syncer/drain-coordinator.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/view-syncer.js +22 -2
- package/out/zero-cache/src/services/view-syncer/view-syncer.js.map +1 -1
- package/out/zero-cache/src/workers/syncer.js +9 -1
- package/out/zero-cache/src/workers/syncer.js.map +1 -1
- package/out/zero-client/src/client/version.js +1 -1
- package/out/zero-protocol/src/inspect-down.d.ts +81 -81
- package/out/zero-protocol/src/up.d.ts +60 -60
- package/package.json +10 -10
- 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 -39
- 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 -140
- 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 -72
- 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 -127
- 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/fork-request.d.ts +0 -57
- package/out/zero-cache/src/services/change-source/pg/fork-request.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 -12
- 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 -57
- 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 -152
- 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 -575
- 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 -80
- 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/server-start-metrics.d.ts +0 -33
- package/out/zero-cache/src/services/change-streamer/server-start-metrics.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 -205
- 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 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pg-patch.d.ts","sourceRoot":"","sources":["../../../../../zero-cache/src/types/pg-patch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAGjD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,gBAAgB,IAAI,OAAO,CAE1C;AAED,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,UAAU,GAAG,IAAI,CAU5D"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pg-versions.d.ts","sourceRoot":"","sources":["../../../../../zero-cache/src/types/pg-versions.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,KAAK,SAAS,CAAC;AAC5B,eAAO,MAAM,KAAK,SAAS,CAAC"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { type PokeChunk } from '../../../zero-protocol/src/poke.ts';
|
|
2
|
-
export declare const POKE_CHUNK_BYTES: number;
|
|
3
|
-
export type EmitPokeChunk = (chunk: PokeChunk) => Promise<void>;
|
|
4
|
-
/**
|
|
5
|
-
* Streams a JSON array into fixed-size UTF-8 chunks.
|
|
6
|
-
*
|
|
7
|
-
* The emitter must finish consuming a chunk before its promise resolves. This
|
|
8
|
-
* lets the encoder reuse one fixed-size buffer for the entire poke. Memory is
|
|
9
|
-
* therefore O(chunk size), independent of poke size.
|
|
10
|
-
*/
|
|
11
|
-
export declare class PokeChunkEncoder {
|
|
12
|
-
#private;
|
|
13
|
-
constructor(chunkBytes?: number);
|
|
14
|
-
addPatch(serializedPatch: string, emit: EmitPokeChunk): Promise<void>;
|
|
15
|
-
finish(emit: EmitPokeChunk): Promise<void>;
|
|
16
|
-
cancel(): void;
|
|
17
|
-
}
|
|
18
|
-
//# sourceMappingURL=poke-chunk.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"poke-chunk.d.ts","sourceRoot":"","sources":["../../../../../zero-cache/src/types/poke-chunk.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,SAAS,EACf,MAAM,oCAAoC,CAAC;AAE5C,eAAO,MAAM,gBAAgB,QAAc,CAAC;AAE5C,MAAM,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAEhE;;;;;;GAMG;AACH,qBAAa,gBAAgB;;IAO3B,YAAY,UAAU,SAAmB,EAMxC;IAEK,QAAQ,CAAC,eAAe,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAI1E;IAEK,MAAM,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAK/C;IAED,MAAM,IAAI,IAAI,CAGb;CAwBF"}
|
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
import { Readable, type DuplexOptions } from 'node:stream';
|
|
2
|
-
import type { LogContext } from '@rocicorp/logger';
|
|
3
|
-
import { type WebSocket } from 'ws';
|
|
4
|
-
import { type JSONValue } from '../../../shared/src/bigint-json.ts';
|
|
5
|
-
import * as v from '../../../shared/src/valita.ts';
|
|
6
|
-
import { Subscription, type Options } from './subscription.ts';
|
|
7
|
-
export type Source<T> = AsyncIterable<T> & {
|
|
8
|
-
/**
|
|
9
|
-
* Immediately terminates all current iterations (i.e. {@link AsyncIterator.next next()})
|
|
10
|
-
* will return `{value: undefined, done: true}`), and prevents any subsequent iterations
|
|
11
|
-
* from yielding any values.
|
|
12
|
-
*
|
|
13
|
-
* @param err Terminate the iteration by throwing the `err` instead.
|
|
14
|
-
*/
|
|
15
|
-
cancel: (err?: Error) => void;
|
|
16
|
-
/**
|
|
17
|
-
* An AbortSignal that can be used to listen for termination or
|
|
18
|
-
* race a short-lived promise against the termination of the iterable
|
|
19
|
-
* (via `promiseOrAbort()`)
|
|
20
|
-
*/
|
|
21
|
-
readonly signal: AbortSignal;
|
|
22
|
-
/**
|
|
23
|
-
* The presence of a `pipeline` iterable allows the usual "consumed-on-iterate" semantics
|
|
24
|
-
* to be overridden.
|
|
25
|
-
*
|
|
26
|
-
* This is suitable for transport layers that serialize messages across processes, such
|
|
27
|
-
* as the {@link streamOut()} method; pipelining allows the transport to send messages
|
|
28
|
-
* as they arrive without waiting for the previous message to be acked, streaming
|
|
29
|
-
* them to the receiving process where they are presumably queued and processed without
|
|
30
|
-
* a per-message ack delay. The receiving end of the transport then responds with acks
|
|
31
|
-
* asynchronously as the receiving end processes the messages.
|
|
32
|
-
*/
|
|
33
|
-
pipeline?: AsyncIterable<{
|
|
34
|
-
value: T;
|
|
35
|
-
consumed: () => void;
|
|
36
|
-
}> | undefined;
|
|
37
|
-
/**
|
|
38
|
-
* Pipelined batching support: eagerly drains available queued messages up to `maxBatch`.
|
|
39
|
-
*/
|
|
40
|
-
pipelineBatched?: ((maxBatch?: number) => AsyncIterable<{
|
|
41
|
-
values: T[];
|
|
42
|
-
consumed: () => void;
|
|
43
|
-
}> | undefined) | undefined;
|
|
44
|
-
};
|
|
45
|
-
export type Sink<T> = {
|
|
46
|
-
push(message: T): void;
|
|
47
|
-
};
|
|
48
|
-
/**
|
|
49
|
-
* Utility method for reading the first items from a {@link Source} and passing
|
|
50
|
-
* the `rest` to a separate consumer. The caller should call `head.next()` to
|
|
51
|
-
* pull items out of the Source, but should not call the
|
|
52
|
-
* {@link AsyncIterator.return()} method, as that will cancel the Source.
|
|
53
|
-
*/
|
|
54
|
-
export declare function readHead<T>(source: Source<T>): {
|
|
55
|
-
head: AsyncIterator<T, T, T>;
|
|
56
|
-
rest: Source<T>;
|
|
57
|
-
};
|
|
58
|
-
/**
|
|
59
|
-
* Back-pressure-aware transformation of a WebSocket into
|
|
60
|
-
* upstream and downstream {@link Subscription} objects.
|
|
61
|
-
*
|
|
62
|
-
* This is used for connections with external servers
|
|
63
|
-
* (i.e. custom change sources). For inter-zero-cache communication,
|
|
64
|
-
* see {@link streamInternal}.
|
|
65
|
-
*/
|
|
66
|
-
export declare function stream<In extends JSONValue, Out extends JSONValue>(lc: LogContext, ws: WebSocket, inSchema: v.Type<In>, outOptions?: Options<Out>, inOptions?: Options<In>, streamOptions?: DuplexOptions): {
|
|
67
|
-
outstream: Sink<Out>;
|
|
68
|
-
instream: Source<In>;
|
|
69
|
-
};
|
|
70
|
-
type PipeOptions<T> = {
|
|
71
|
-
source: Readable;
|
|
72
|
-
sink: Subscription<T>;
|
|
73
|
-
parse: (buffer: Buffer) => T | null;
|
|
74
|
-
bufferMessages?: number;
|
|
75
|
-
};
|
|
76
|
-
export declare function pipe<T>({ source, sink, parse, bufferMessages }: PipeOptions<T>): void;
|
|
77
|
-
/** A parsed value paired with its approximate serialized transport size. */
|
|
78
|
-
export type Sized<T> = {
|
|
79
|
-
data: T;
|
|
80
|
-
size: number;
|
|
81
|
-
};
|
|
82
|
-
export type StreamOutOptions = {
|
|
83
|
-
batched?: boolean | undefined;
|
|
84
|
-
maxBatchSize?: number | undefined;
|
|
85
|
-
};
|
|
86
|
-
export type PreSerialized = {
|
|
87
|
-
readonly payload: Buffer;
|
|
88
|
-
readonly byteLength: number;
|
|
89
|
-
};
|
|
90
|
-
export declare function isPreSerialized(val: unknown): val is PreSerialized;
|
|
91
|
-
/**
|
|
92
|
-
* Establishes a bidirectional stream over an internal zero-cache to zero-cache
|
|
93
|
-
* WebSocket. Both peers call this: each may send an outbound {@link Source}
|
|
94
|
-
* (`outSource`) and receives an inbound {@link Source} (the return value).
|
|
95
|
-
* Transport-level `{id, msg}` / `{ack}` framing is multiplexed in both
|
|
96
|
-
* directions over the single socket.
|
|
97
|
-
*
|
|
98
|
-
* `inSchema` validates inbound application frames; it may be omitted by a peer
|
|
99
|
-
* that expects no inbound application messages (any that arrive are a protocol
|
|
100
|
-
* error).
|
|
101
|
-
*/
|
|
102
|
-
export declare function streamInternal<In extends JSONValue, Out extends JSONValue = JSONValue>(lc: LogContext, ws: WebSocket, inSchema: v.Type<In> | undefined, outSource?: Source<Out>, options?: StreamOutOptions): Promise<Source<In>>;
|
|
103
|
-
/**
|
|
104
|
-
* {@link streamInternal} whose outbound `Source` carries messages that are
|
|
105
|
-
* already stringified JSON or pre-serialized Buffers.
|
|
106
|
-
*/
|
|
107
|
-
export declare function streamInternalStringified<In extends JSONValue>(lc: LogContext, ws: WebSocket, inSchema: v.Type<In> | undefined, outSource?: Source<string | PreSerialized>, options?: StreamOutOptions): Promise<Source<In>>;
|
|
108
|
-
/**
|
|
109
|
-
* {@link streamInternal} that retains only the transport-frame size of each
|
|
110
|
-
* inbound message. The size bounds downstream batching without keeping or
|
|
111
|
-
* copying the JSON.
|
|
112
|
-
*/
|
|
113
|
-
export declare function streamInternalWithSize<In extends JSONValue, Out extends JSONValue = JSONValue>(lc: LogContext, ws: WebSocket, inSchema: v.Type<In>, outSource?: Source<Out>, options?: StreamOutOptions): Promise<Source<Sized<In>>>;
|
|
114
|
-
export {};
|
|
115
|
-
//# sourceMappingURL=streams.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"streams.d.ts","sourceRoot":"","sources":["../../../../../zero-cache/src/types/streams.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,197 +0,0 @@
|
|
|
1
|
-
import type { Sink, Source } from './streams.ts';
|
|
2
|
-
/**
|
|
3
|
-
* A Subscription abstracts a continuous, logically infinite stream of messages intended
|
|
4
|
-
* for serial processing. Unlike the more general Node `Stream` API, a Subscription has
|
|
5
|
-
* a limited API with specific semantics:
|
|
6
|
-
*
|
|
7
|
-
* * **Serial processing**: Messages must be consumed via the {@link AsyncIterable}
|
|
8
|
-
* interface, e.g.
|
|
9
|
-
* ```ts
|
|
10
|
-
* const subscription = server.subscribe(parameters);
|
|
11
|
-
*
|
|
12
|
-
* for await (const message of subscription) {
|
|
13
|
-
* await process(message); // fully process the message before consuming the next
|
|
14
|
-
* }
|
|
15
|
-
* ```
|
|
16
|
-
*
|
|
17
|
-
* Moreover, the consumer is expected to completely process each message before
|
|
18
|
-
* requesting the next. This is important for cleanup semantics (explained later).
|
|
19
|
-
*
|
|
20
|
-
* * **cancel()**, not close(): The underlying data in a subscription is logically infinite
|
|
21
|
-
* and only terminated when the consumer is no longer interested in receiving the messages
|
|
22
|
-
* (or requires a Subscription with a different configuration). As such, there is no API
|
|
23
|
-
* for gracefully closing the subscription after pending messages are consumed; rather,
|
|
24
|
-
* cancellation is immediate, and upon cancellation, pending messages are dropped. A
|
|
25
|
-
* Subscription can also be terminated with exceptional (i.e. `Error`) circumstances,
|
|
26
|
-
* for which the behavior is equivalent.
|
|
27
|
-
*
|
|
28
|
-
* * **Coalescing** (optional): A producer can configure pending messages in the Subscription
|
|
29
|
-
* to be merged together with a {@link Options.coalesce coalesce} function. This is useful
|
|
30
|
-
* for semantics in which the consumer is not necessarily interested in every incremental
|
|
31
|
-
* change, but rather the cumulative change since the last processed message. A
|
|
32
|
-
* Subscription with coalescing is guaranteed to have at most one outstanding message,
|
|
33
|
-
* regardless of how quickly messages are produced and consumed. This effectively constrains
|
|
34
|
-
* the amount of outstanding work in the system.
|
|
35
|
-
*
|
|
36
|
-
* ### Resource Tracking and Cleanup
|
|
37
|
-
*
|
|
38
|
-
* Because message consumption is constrained to the async iteration API, standard
|
|
39
|
-
* control flow mechanisms allow the producer to perform bookkeeping without any
|
|
40
|
-
* explicit cleanup actions on the part of the consumer. This includes:
|
|
41
|
-
*
|
|
42
|
-
* * **Per-message cleanup**: Each request for the {@link AsyncIterator.next next}
|
|
43
|
-
* message, or the termination of the iteration, signals that the consumer has
|
|
44
|
-
* finished processing the previous message. The producer of a Subscription can
|
|
45
|
-
* supply a {@link Options.consumed consumed} callback to receive these processed
|
|
46
|
-
* messages, allowing it to clean up attached resources (e.g. TransactionPools, etc.).
|
|
47
|
-
*
|
|
48
|
-
* * **Per-subscription cleanup**: The producer of a Subscription can supply a
|
|
49
|
-
* {@link Options.cleanup cleanup} callback that is invoked when the Subscription
|
|
50
|
-
* is terminated, either explicitly via {@link Subscription.cancel cancel()} /
|
|
51
|
-
* {@link Subscription.fail fail()}, or implicitly when an iteration is exited via a
|
|
52
|
-
* `break`, `return`, or `throw` statement. All unconsumed messages are passed to the
|
|
53
|
-
* call back to facilitate bookkeeping.
|
|
54
|
-
*
|
|
55
|
-
* @param T The external message type, published to the AsyncIterable
|
|
56
|
-
* @param M The internal message type used in the producer-side interfaces
|
|
57
|
-
* (e.g. {@link push}, {@link Options.consumed}, {@link Options.coalesce},
|
|
58
|
-
* and {@link Options.cleanup}). This is often the same as the external type
|
|
59
|
-
* T, but may be diverged to facilitate internal bookkeeping.
|
|
60
|
-
*/
|
|
61
|
-
export declare class Subscription<T, M = T> implements Source<T>, Sink<M> {
|
|
62
|
-
#private;
|
|
63
|
-
/**
|
|
64
|
-
* Convenience factory method for creating a {@link Subscription} with internal message type
|
|
65
|
-
* `M` as a subtype of `T`, defaulting to the same type. The default `publish` method publishes
|
|
66
|
-
* the message of type `M` directly to the AsyncIterable.
|
|
67
|
-
*/
|
|
68
|
-
static create<T, M extends T = T>(options?: Options<M>, publish?: (m: M) => T): Subscription<T, M>;
|
|
69
|
-
/**
|
|
70
|
-
* @param publish function for converting the internally pushed / coalesced message
|
|
71
|
-
* of type `M` to the external type `T` exposed via async iteration.
|
|
72
|
-
*/
|
|
73
|
-
constructor(options: Options<M> | undefined, publish: (m: M) => T);
|
|
74
|
-
/**
|
|
75
|
-
* Dynamically adds a function that is called when the Subscription
|
|
76
|
-
* terminates. This will be called immediately if the Subscription is
|
|
77
|
-
* already closed.
|
|
78
|
-
*
|
|
79
|
-
* Unlike the `cleanup` handler specified in the Subscription options,
|
|
80
|
-
* this a close handler can be added to an existing Subscription object
|
|
81
|
-
* thereby avoiding a cyclic dependency, and allowing Subscription
|
|
82
|
-
* receivers to add their own cleanup logic.
|
|
83
|
-
*/
|
|
84
|
-
addCloseHandler(onClose: (reason?: unknown) => void): this;
|
|
85
|
-
/**
|
|
86
|
-
* Pushes the next message to be consumed, and returns a `result` that resolves to the
|
|
87
|
-
* eventual {@link Result} of the `value`.
|
|
88
|
-
*
|
|
89
|
-
* If there is an existing unconsumed message and the Subscription has a
|
|
90
|
-
* {@link Options#coalesce coalesce} function, the specified `value` will be coalesced
|
|
91
|
-
* with the pending message. In this case, the result of the pending message
|
|
92
|
-
* is resolved to `coalesced`, regardless of the `coalesce` function implementation.
|
|
93
|
-
*
|
|
94
|
-
* If the subscription is in a terminal state, the message is dropped and the
|
|
95
|
-
* result resolves to `unconsumed`.
|
|
96
|
-
*/
|
|
97
|
-
push(value: M): PendingResult;
|
|
98
|
-
/** False if the subscription has been canceled or has failed. */
|
|
99
|
-
get active(): boolean;
|
|
100
|
-
/** The number of messages waiting to be dequeued. */
|
|
101
|
-
get queued(): number;
|
|
102
|
-
/** The number of messages dequeued but not yet "consumed" */
|
|
103
|
-
get consuming(): number;
|
|
104
|
-
/** Satisfies the Source interface. */
|
|
105
|
-
get signal(): AbortSignal;
|
|
106
|
-
/**
|
|
107
|
-
* Cancels the subscription after any queued messages are consumed. This is
|
|
108
|
-
* meant for the producer-side code.
|
|
109
|
-
*
|
|
110
|
-
* Any messages pushed after calling `end()` will be unconsumed as if
|
|
111
|
-
* `cancel()` were called (once the first set of pending messages is
|
|
112
|
-
* consumed). In particular, if a coalesce function is defined, the new
|
|
113
|
-
* messages will not be coalesced with the messages enqueued before `end()`
|
|
114
|
-
* was called. However, to effect the intent of memory efficiency, multiple
|
|
115
|
-
* messages pushed after calling `end()` will be coalesced together.
|
|
116
|
-
*
|
|
117
|
-
*/
|
|
118
|
-
end(): void;
|
|
119
|
-
/**
|
|
120
|
-
* Cancels the subscription immediately, cleans up, and terminates any iteration.
|
|
121
|
-
* This is intended for the consumer to call when it is no longer interested
|
|
122
|
-
* in the subscription.
|
|
123
|
-
*
|
|
124
|
-
* @param err If an `err` is specified, an iteration over the Subscription /
|
|
125
|
-
* Sink will throw the `err` (equivalent to the producer calling
|
|
126
|
-
* {@link fail()}). If undefined, the iteration will exit gracefully.
|
|
127
|
-
*/
|
|
128
|
-
cancel(err?: Error): void;
|
|
129
|
-
/** Fails the subscription, cleans up, and throws from any iteration. */
|
|
130
|
-
fail(err: Error): void;
|
|
131
|
-
get pipeline(): AsyncIterable<{
|
|
132
|
-
value: T;
|
|
133
|
-
consumed: () => void;
|
|
134
|
-
}> | undefined;
|
|
135
|
-
pipelineBatched: (maxBatch?: number) => AsyncIterable<{
|
|
136
|
-
values: T[];
|
|
137
|
-
consumed: () => void;
|
|
138
|
-
}> | undefined;
|
|
139
|
-
[Symbol.asyncIterator](): AsyncIterator<T>;
|
|
140
|
-
}
|
|
141
|
-
export type Options<M> = {
|
|
142
|
-
/**
|
|
143
|
-
* Coalesces messages waiting to be consumed. This is useful for "watermark" type
|
|
144
|
-
* subscriptions in which the consumer is only interested in the cumulative state
|
|
145
|
-
* change since the last processed message. When a `coalesce` function is specified,
|
|
146
|
-
* there is guaranteed to be at most one message waiting to be consumed.
|
|
147
|
-
*
|
|
148
|
-
* Note that the `curr` argument comes before `prev`. This facilitates a common
|
|
149
|
-
* scenario in which coalescing just means using the newest value; in such a case,
|
|
150
|
-
* `coalesce` can simply be the identity function (e.g. `msg => msg`).
|
|
151
|
-
*/
|
|
152
|
-
coalesce?: (curr: M, prev: M) => M;
|
|
153
|
-
/**
|
|
154
|
-
* Called on the previous message in an iteration (1) when the next message is requested,
|
|
155
|
-
* or (2) when the iteration is terminated. This allows the producer to perform
|
|
156
|
-
* per-message cleanup.
|
|
157
|
-
*
|
|
158
|
-
* Note that when a {@link Options.coalesce coalesce} function is defined,
|
|
159
|
-
* `consumed` is _not_ called on the `prev` message; it is the responsibility of
|
|
160
|
-
* producers requiring both coalescing and consumption notification to perform any
|
|
161
|
-
* necessary cleanup of `prev` messages when coalescing.
|
|
162
|
-
*/
|
|
163
|
-
consumed?: (prev: M) => void;
|
|
164
|
-
/**
|
|
165
|
-
* `cleanup` is called exactly once when the subscription is terminated via a failure or
|
|
166
|
-
* cancelation (whichever happens first), which includes implicit cancelation when
|
|
167
|
-
* the consumer exits an iteration via a `break`, `return`, or `throw` statement.
|
|
168
|
-
*
|
|
169
|
-
* Note that the `err` argument will only reflect an explicit cancelation via a call
|
|
170
|
-
* to {@link Subscription.fail()}. On the other hand, if the iteration is canceled via
|
|
171
|
-
* a `throw` statement, the thrown reason is not reflected in the `err` parameter, as that
|
|
172
|
-
* information is not made available to the AsyncIterator implementation.
|
|
173
|
-
*/
|
|
174
|
-
cleanup?: (unconsumed: M[], err?: Error) => void;
|
|
175
|
-
/**
|
|
176
|
-
* Enable or disable pipelining when streaming messages over a websocket.
|
|
177
|
-
*
|
|
178
|
-
* If unspecified, pipelining is enabled if there is no {@link Options.coalesce coalesce}
|
|
179
|
-
* method, as pipelining is counter to the semantics of coalescing. However, the
|
|
180
|
-
* application can explicitly enable pipelining even if there is a coalesce method
|
|
181
|
-
* by specifying `true` for this option. This assumes that coalescing is either
|
|
182
|
-
* not important for websocket semantics, or that the receiving end of the websocket
|
|
183
|
-
* transport performs the desired coalescing.
|
|
184
|
-
*/
|
|
185
|
-
pipeline?: boolean;
|
|
186
|
-
};
|
|
187
|
-
/** Post-queueing results of messages. */
|
|
188
|
-
export type Result = 'consumed' | 'coalesced' | 'unconsumed';
|
|
189
|
-
/**
|
|
190
|
-
* {@link Subscription.subscribe()} wraps the `Promise<Result>` in a `PendingResult`
|
|
191
|
-
* object to avoid forcing all callers to handle the Promise, as most logic does not
|
|
192
|
-
* need to.
|
|
193
|
-
*/
|
|
194
|
-
export type PendingResult = {
|
|
195
|
-
result: Promise<Result>;
|
|
196
|
-
};
|
|
197
|
-
//# sourceMappingURL=subscription.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"subscription.d.ts","sourceRoot":"","sources":["../../../../../zero-cache/src/types/subscription.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,IAAI,EAAE,MAAM,EAAC,MAAM,cAAc,CAAC;AAE/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0DG;AACH,qBAAa,YAAY,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAE,YAAW,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;;IAC/D;;;;OAIG;IACH,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,EAC9B,OAAO,GAAE,OAAO,CAAC,CAAC,CAAM,EACxB,OAAO,GAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAU,sBAG9B;IAoBD;;;OAGG;IACH,YAAY,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,YAAK,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAazD;IAyBD;;;;;;;;;OASG;IACH,eAAe,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,KAAK,IAAI,GAAG,IAAI,CAOzD;IAED;;;;;;;;;;;OAWG;IACH,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,aAAa,CA0B5B;IAED,iEAAiE;IACjE,IAAI,MAAM,IAAI,OAAO,CAEpB;IAED,qDAAqD;IACrD,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,6DAA6D;IAC7D,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,sCAAsC;IACtC,IAAI,MAAM,gBAET;IAED;;;;;;;;;;;OAWG;IACH,GAAG,SAQF;IAED;;;;;;;;OAQG;IACH,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,QAEjB;IAED,wEAAwE;IACxE,IAAI,CAAC,GAAG,EAAE,KAAK,QAEd;IA6BD,IAAI,QAAQ,IAAI,aAAa,CAAC;QAAC,KAAK,EAAE,CAAC,CAAC;QAAC,QAAQ,EAAE,MAAM,IAAI,CAAA;KAAC,CAAC,GAAG,SAAS,CAI1E;IAED,eAAe,yBAEZ,aAAa,CAAC;QAAC,MAAM,EAAE,CAAC,EAAE,CAAC;QAAC,QAAQ,EAAE,MAAM,IAAI,CAAA;KAAC,CAAC,GAAG,SAAS,CAQ/D;IAwIF,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,CAyBzC;CACF;AAED,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI;IACvB;;;;;;;;;OASG;IACH,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC;IAEnC;;;;;;;;;OASG;IACH,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;IAE7B;;;;;;;;;OASG;IACH,OAAO,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC;IAEjD;;;;;;;;;OASG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,yCAAyC;AACzC,MAAM,MAAM,MAAM,GAAG,UAAU,GAAG,WAAW,GAAG,YAAY,CAAC;AAE7D;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG;IAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;CAAC,CAAC"}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import type { IncomingHttpHeaders } from 'node:http';
|
|
2
|
-
import { type InitConnectionMessage } from '../../../zero-protocol/src/connect.ts';
|
|
3
|
-
export type ConnectParams = {
|
|
4
|
-
readonly protocolVersion: number;
|
|
5
|
-
readonly clientID: string;
|
|
6
|
-
readonly clientGroupID: string;
|
|
7
|
-
readonly profileID: string | null;
|
|
8
|
-
readonly baseCookie: string | null;
|
|
9
|
-
readonly timestamp: number;
|
|
10
|
-
readonly lmID: number;
|
|
11
|
-
readonly wsID: string;
|
|
12
|
-
readonly debugPerf: boolean;
|
|
13
|
-
readonly auth: string | undefined;
|
|
14
|
-
readonly userID: string | undefined;
|
|
15
|
-
readonly initConnectionMsg: InitConnectionMessage | undefined;
|
|
16
|
-
readonly httpCookie: string | undefined;
|
|
17
|
-
readonly origin: string | undefined;
|
|
18
|
-
readonly requestHeaders?: Readonly<Record<string, string>> | undefined;
|
|
19
|
-
readonly generation?: number | undefined;
|
|
20
|
-
};
|
|
21
|
-
export declare function getConnectParams(protocolVersion: number, url: URL, headers: IncomingHttpHeaders): {
|
|
22
|
-
params: ConnectParams;
|
|
23
|
-
error: null;
|
|
24
|
-
} | {
|
|
25
|
-
params: null;
|
|
26
|
-
error: string;
|
|
27
|
-
};
|
|
28
|
-
//# sourceMappingURL=connect-params.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"connect-params.d.ts","sourceRoot":"","sources":["../../../../../zero-cache/src/workers/connect-params.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,WAAW,CAAC;AAEnD,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,uCAAuC,CAAC;AAG/C,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,QAAQ,CAAC,iBAAiB,EAAE,qBAAqB,GAAG,SAAS,CAAC;IAC9D,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,QAAQ,CAAC,cAAc,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC;IACvE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC1C,CAAC;AAoBF,wBAAgB,gBAAgB,CAC9B,eAAe,EAAE,MAAM,EACvB,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,mBAAmB,GAE1B;IACE,MAAM,EAAE,aAAa,CAAC;IACtB,KAAK,EAAE,IAAI,CAAC;CACb,GACD;IACE,MAAM,EAAE,IAAI,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf,CA2CJ"}
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
import type { LogContext } from '@rocicorp/logger';
|
|
2
|
-
import WebSocket from 'ws';
|
|
3
|
-
import * as valita from '../../../shared/src/valita.ts';
|
|
4
|
-
import type { Downstream } from '../../../zero-protocol/src/down.ts';
|
|
5
|
-
import type { ErrorBody } from '../../../zero-protocol/src/error.ts';
|
|
6
|
-
import { type ProtocolError } from '../../../zero-protocol/src/error.ts';
|
|
7
|
-
import { type PokeChunk } from '../../../zero-protocol/src/poke.ts';
|
|
8
|
-
import { type UpstreamWithUnparsedAnalyzeQuery } from '../../../zero-protocol/src/up.ts';
|
|
9
|
-
import type { ViewSyncerDownstream } from '../types/downstream.ts';
|
|
10
|
-
import type { Source } from '../types/streams.ts';
|
|
11
|
-
import type { ConnectParams } from './connect-params.ts';
|
|
12
|
-
export type HandlerResult = {
|
|
13
|
-
type: 'ok';
|
|
14
|
-
} | {
|
|
15
|
-
type: 'fatal';
|
|
16
|
-
error: ErrorBody;
|
|
17
|
-
} | {
|
|
18
|
-
type: 'transient';
|
|
19
|
-
errors: ErrorBody[];
|
|
20
|
-
} | StreamResult;
|
|
21
|
-
export type StreamResult = {
|
|
22
|
-
type: 'stream';
|
|
23
|
-
source: 'viewSyncer';
|
|
24
|
-
stream: Source<ViewSyncerDownstream>;
|
|
25
|
-
} | {
|
|
26
|
-
type: 'stream';
|
|
27
|
-
source: 'pusher';
|
|
28
|
-
stream: Source<Downstream>;
|
|
29
|
-
};
|
|
30
|
-
export interface MessageHandler {
|
|
31
|
-
handleMessage(msg: UpstreamWithUnparsedAnalyzeQuery): Promise<HandlerResult[]>;
|
|
32
|
-
}
|
|
33
|
-
export declare function parseUpstreamMessage(value: unknown, allowLegacyQueries: boolean): UpstreamWithUnparsedAnalyzeQuery | valita.UnrecognizedTuple;
|
|
34
|
-
export declare const WEBSOCKET_SEND_TIMEOUT_MS = 10000;
|
|
35
|
-
/**
|
|
36
|
-
* Represents a connection between the client and server.
|
|
37
|
-
*
|
|
38
|
-
* Handles incoming messages on the connection and dispatches
|
|
39
|
-
* them to the correct service.
|
|
40
|
-
*
|
|
41
|
-
* Listens to the ViewSyncer and sends messages to the client.
|
|
42
|
-
*/
|
|
43
|
-
export declare class Connection {
|
|
44
|
-
#private;
|
|
45
|
-
constructor(lc: LogContext, connectParams: ConnectParams, ws: WebSocket, allowLegacyQueries: boolean, messageHandler: MessageHandler, onClose: () => void);
|
|
46
|
-
/**
|
|
47
|
-
* Checks the protocol version and errors for unsupported protocols,
|
|
48
|
-
* sending the initial `connected` response on success.
|
|
49
|
-
*
|
|
50
|
-
* This is early in the connection lifecycle because {@link #handleMessage}
|
|
51
|
-
* will only parse messages with schema(s) of supported protocol versions.
|
|
52
|
-
*/
|
|
53
|
-
init(): boolean;
|
|
54
|
-
close(reason: string, ...args: unknown[]): void;
|
|
55
|
-
handleInitConnection(initConnectionMsg: string): Promise<void>;
|
|
56
|
-
send(data: Downstream, callback: ((err?: Error | null) => void) | 'ignore-backpressure', serialized?: string | undefined): void;
|
|
57
|
-
sendError(errorBody: ErrorBody, thrown?: unknown): void;
|
|
58
|
-
}
|
|
59
|
-
export type WebSocketLike = Pick<WebSocket, 'readyState'> & {
|
|
60
|
-
send(data: string | PokeChunk, cb?: (err?: Error) => void): void;
|
|
61
|
-
};
|
|
62
|
-
export declare function send(lc: LogContext, ws: WebSocketLike, data: Downstream, callback: ((err?: Error | null) => void) | 'ignore-backpressure', serialized?: string | undefined): void;
|
|
63
|
-
/**
|
|
64
|
-
* Sends downstream messages in the format supported by a connection's sync
|
|
65
|
-
* protocol version. Keep version forks contained here so the view-syncer can
|
|
66
|
-
* continue producing one canonical poke representation.
|
|
67
|
-
*
|
|
68
|
-
* Exported for compatibility testing.
|
|
69
|
-
*/
|
|
70
|
-
export declare class DownstreamSender {
|
|
71
|
-
#private;
|
|
72
|
-
constructor(lc: LogContext, ws: WebSocketLike, protocolVersion: number);
|
|
73
|
-
send(data: Downstream, callback: ((err?: Error | null) => void) | 'ignore-backpressure', serialized?: string | undefined): void;
|
|
74
|
-
}
|
|
75
|
-
export declare function sendError(lc: LogContext, ws: WebSocket, errorBody: ErrorBody, thrown?: unknown): void;
|
|
76
|
-
export declare function findProtocolError(error: unknown): ProtocolError | undefined;
|
|
77
|
-
//# sourceMappingURL=connection.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../../../../zero-cache/src/workers/connection.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import type { LogContext } from '@rocicorp/logger';
|
|
2
|
-
import * as v from '../../../shared/src/valita.ts';
|
|
3
|
-
import type { ReplicaOptions } from '../config/zero-config.ts';
|
|
4
|
-
import { Notifier } from '../services/replicator/notifier.ts';
|
|
5
|
-
import type { ReplicaState, ReplicaStateNotifier, Replicator } from '../services/replicator/replicator.ts';
|
|
6
|
-
import { type PragmaConfig } from '../services/replicator/write-worker-client.ts';
|
|
7
|
-
import type { Worker } from '../types/processes.ts';
|
|
8
|
-
export declare const replicaFileModeSchema: v.Type<"backup" | "serving" | "serving-copy">;
|
|
9
|
-
export type ReplicaFileMode = v.Infer<typeof replicaFileModeSchema>;
|
|
10
|
-
export type WalMode = 'wal' | 'wal2';
|
|
11
|
-
export declare function replicaFileName(replicaFile: string, mode: ReplicaFileMode): string;
|
|
12
|
-
/**
|
|
13
|
-
* Whether a replicator worker deletes the change-log file beside its replica at
|
|
14
|
-
* startup.
|
|
15
|
-
*
|
|
16
|
-
* The change log belongs to the change-streamer, so this only ever cleans up a
|
|
17
|
-
* file that nothing is writing. The predicate is deliberately the config flag
|
|
18
|
-
* and nothing else: keying it on anything derived per replica -- a file mode, or
|
|
19
|
-
* the retired `logsChangeStream` -- would make every replicator start unlink the
|
|
20
|
-
* change-streamer's live log, because no replicator writes it any more. Paths
|
|
21
|
-
* coincide whenever `fileMode !== 'serving-copy'`, so that hazard is real in the
|
|
22
|
-
* shipped no-`backupURL` configuration.
|
|
23
|
-
*
|
|
24
|
-
* Deleting is safe when nothing writes the log: it is excluded from the
|
|
25
|
-
* litestream backup, only the writer purges it, and re-enabling the writer
|
|
26
|
-
* reseeds at the resume watermark.
|
|
27
|
-
*/
|
|
28
|
-
export declare function replicatorDeletesStaleChangeLog(sqliteChangeLogMode: string): boolean;
|
|
29
|
-
/**
|
|
30
|
-
* The `mode=off` cleanup itself: deletes the change-log file beside `dbPath`
|
|
31
|
-
* when {@link replicatorDeletesStaleChangeLog} says nothing writes it, and
|
|
32
|
-
* reports whether it did. The decision and the delete live in one function so
|
|
33
|
-
* that the guard test covers the call the replicator actually makes, not just
|
|
34
|
-
* the predicate.
|
|
35
|
-
*/
|
|
36
|
-
export declare function deleteStaleChangeLog(sqliteChangeLogMode: string, dbPath: string): boolean;
|
|
37
|
-
/**
|
|
38
|
-
* Returns the PragmaConfig for a given replica file mode.
|
|
39
|
-
* This is used by both the main thread (setupReplica) and
|
|
40
|
-
* the write worker thread to apply the same pragma settings.
|
|
41
|
-
*/
|
|
42
|
-
export declare function getPragmaConfig(mode: ReplicaFileMode): PragmaConfig;
|
|
43
|
-
export declare function setupReplica(lc: LogContext, mode: ReplicaFileMode, replicaOptions: ReplicaOptions): Promise<{
|
|
44
|
-
file: string;
|
|
45
|
-
walMode: WalMode;
|
|
46
|
-
pageSize: number;
|
|
47
|
-
}>;
|
|
48
|
-
export declare function setUpMessageHandlers(lc: LogContext, replicator: Replicator, parent: Worker): void;
|
|
49
|
-
export declare function handleSubscriptionsFrom(lc: LogContext, subscriber: Worker, notifier: ReplicaStateNotifier): void;
|
|
50
|
-
/**
|
|
51
|
-
* Creates a Notifier to relay notifications the notifier of another Worker.
|
|
52
|
-
* This does not send the initial subscription message. Use {@link subscribeTo}
|
|
53
|
-
* to initiate the subscription.
|
|
54
|
-
*/
|
|
55
|
-
export declare function createNotifierFrom(_lc: LogContext, source: Worker, onNotify?: (state: ReplicaState) => void): Notifier;
|
|
56
|
-
export declare function subscribeTo(_lc: LogContext, source: Worker): void;
|
|
57
|
-
//# sourceMappingURL=replicator.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"replicator.d.ts","sourceRoot":"","sources":["../../../../../zero-cache/src/workers/replicator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAGjD,OAAO,KAAK,CAAC,MAAM,+BAA+B,CAAC;AAEnD,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,0BAA0B,CAAC;AAI7D,OAAO,EAAC,QAAQ,EAAC,MAAM,oCAAoC,CAAC;AAC5D,OAAO,KAAK,EACV,YAAY,EACZ,oBAAoB,EACpB,UAAU,EACX,MAAM,sCAAsC,CAAC;AAK9C,OAAO,EAEL,KAAK,YAAY,EAClB,MAAM,+CAA+C,CAAC;AACvD,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,uBAAuB,CAAC;AAElD,eAAO,MAAM,qBAAqB,+CAIjC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,MAAM,MAAM,OAAO,GAAG,KAAK,GAAG,MAAM,CAAC;AAErC,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,UAEzE;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,+BAA+B,CAC7C,mBAAmB,EAAE,MAAM,GAC1B,OAAO,CAET;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,mBAAmB,EAAE,MAAM,EAC3B,MAAM,EAAE,MAAM,GACb,OAAO,CAMT;AAwHD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,eAAe,GAAG,YAAY,CAMnE;AAED,wBAAgB,YAAY,CAC1B,EAAE,EAAE,UAAU,EACd,IAAI,EAAE,eAAe,EACrB,cAAc,EAAE,cAAc;UA9Hd,MAAM;aAAW,OAAO;cAAY,MAAM;GA6J3D;AAED,wBAAgB,oBAAoB,CAClC,EAAE,EAAE,UAAU,EACd,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,MAAM,QAGf;AAID,wBAAgB,uBAAuB,CACrC,EAAE,EAAE,UAAU,EACd,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,oBAAoB,QA8B/B;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,UAAU,EACf,MAAM,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,GACvC,QAAQ,CAOV;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,QAE1D"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import type { LogContext } from '@rocicorp/logger';
|
|
2
|
-
import type { UpstreamWithUnparsedAnalyzeQuery } from '../../../zero-protocol/src/up.ts';
|
|
3
|
-
import type { Mutagen } from '../services/mutagen/mutagen.ts';
|
|
4
|
-
import type { Pusher } from '../services/mutagen/pusher.ts';
|
|
5
|
-
import { type ConnectionContextManager } from '../services/view-syncer/connection-context-manager.ts';
|
|
6
|
-
import { type ViewSyncer } from '../services/view-syncer/view-syncer.ts';
|
|
7
|
-
import type { ConnectParams } from './connect-params.ts';
|
|
8
|
-
import type { HandlerResult, MessageHandler } from './connection.ts';
|
|
9
|
-
export declare class SyncerWsMessageHandler implements MessageHandler {
|
|
10
|
-
#private;
|
|
11
|
-
constructor(lc: LogContext, connectParams: ConnectParams, connContextManager: ConnectionContextManager, viewSyncer: ViewSyncer, mutagen: Mutagen | undefined, pusher: Pusher | undefined);
|
|
12
|
-
handleMessage(msg: UpstreamWithUnparsedAnalyzeQuery): Promise<HandlerResult[]>;
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=syncer-ws-message-handler.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"syncer-ws-message-handler.d.ts","sourceRoot":"","sources":["../../../../../zero-cache/src/workers/syncer-ws-message-handler.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAOjD,OAAO,KAAK,EAAC,gCAAgC,EAAC,MAAM,kCAAkC,CAAC;AACvF,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,gCAAgC,CAAC;AAC5D,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EACL,KAAK,wBAAwB,EAE9B,MAAM,uDAAuD,CAAC;AAC/D,OAAO,EAAC,KAAK,UAAU,EAAC,MAAM,wCAAwC,CAAC;AAEvE,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAC,aAAa,EAAE,cAAc,EAAC,MAAM,iBAAiB,CAAC;AAiBnE,qBAAa,sBAAuB,YAAW,cAAc;;IAW3D,YACE,EAAE,EAAE,UAAU,EACd,aAAa,EAAE,aAAa,EAC5B,kBAAkB,EAAE,wBAAwB,EAC5C,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,OAAO,GAAG,SAAS,EAC5B,MAAM,EAAE,MAAM,GAAG,SAAS,EAkB3B;IAEK,aAAa,CACjB,GAAG,EAAE,gCAAgC,GACpC,OAAO,CAAC,aAAa,EAAE,CAAC,CA4O1B;CACF"}
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
import type { MessagePort } from 'node:worker_threads';
|
|
2
|
-
import type { LogContext } from '@rocicorp/logger';
|
|
3
|
-
import { type ValidateLegacyJWT } from '../auth/auth.ts';
|
|
4
|
-
import { type ZeroConfig } from '../config/zero-config.ts';
|
|
5
|
-
import type { Mutagen } from '../services/mutagen/mutagen.ts';
|
|
6
|
-
import type { Pusher } from '../services/mutagen/pusher.ts';
|
|
7
|
-
import type { ReplicaState } from '../services/replicator/replicator.ts';
|
|
8
|
-
import type { ActivityBasedService, Service, SingletonService } from '../services/service.ts';
|
|
9
|
-
import type { ConnectionContextManager } from '../services/view-syncer/connection-context-manager.ts';
|
|
10
|
-
import { DrainCoordinator } from '../services/view-syncer/drain-coordinator.ts';
|
|
11
|
-
import type { ViewSyncer } from '../services/view-syncer/view-syncer.ts';
|
|
12
|
-
import type { Worker } from '../types/processes.ts';
|
|
13
|
-
import type { Subscription } from '../types/subscription.ts';
|
|
14
|
-
export type SyncerWorkerData = {
|
|
15
|
-
replicatorPort: MessagePort;
|
|
16
|
-
};
|
|
17
|
-
export type ReplicaReadyState = {
|
|
18
|
-
readonly watermark: string;
|
|
19
|
-
readonly replicaReadyTimeMs: number;
|
|
20
|
-
};
|
|
21
|
-
export type ServingLagViewSyncer = Pick<ViewSyncer, 'createdAtMs' | 'servedVersion' | 'servingLagEligible'>;
|
|
22
|
-
export type ServingLagStats = {
|
|
23
|
-
readonly activeClientGroups: number;
|
|
24
|
-
readonly laggingClientGroups: number;
|
|
25
|
-
readonly minMs: number;
|
|
26
|
-
readonly p50Ms: number;
|
|
27
|
-
readonly p75Ms: number;
|
|
28
|
-
readonly p99Ms: number;
|
|
29
|
-
readonly maxMs: number;
|
|
30
|
-
};
|
|
31
|
-
export type PipelineDedupViewSyncer = Pick<ViewSyncer, 'pipelineHashes' | 'clientSchemaKey'>;
|
|
32
|
-
export type PipelineDedupStats = {
|
|
33
|
-
readonly clientTotal: number;
|
|
34
|
-
readonly internalTotal: number;
|
|
35
|
-
readonly clientHashes: ReadonlyMap<string, {
|
|
36
|
-
count: number;
|
|
37
|
-
queryName: string | undefined;
|
|
38
|
-
}>;
|
|
39
|
-
readonly internalUnique: number;
|
|
40
|
-
readonly clientSchemas: number;
|
|
41
|
-
};
|
|
42
|
-
export declare function computePipelineDedupStats(viewSyncers: Iterable<PipelineDedupViewSyncer>): PipelineDedupStats;
|
|
43
|
-
export declare const MAX_REPLICA_READY_STATES = 10000;
|
|
44
|
-
export declare function computeServingLagStatsMs(now: number, replicaReadyStates: ReplicaReadyState[], viewSyncers: Iterable<ServingLagViewSyncer>): ServingLagStats;
|
|
45
|
-
export declare function computeMaxServingLagMs(now: number, replicaReadyStates: ReplicaReadyState[], viewSyncers: Iterable<ServingLagViewSyncer>): number;
|
|
46
|
-
/**
|
|
47
|
-
* The Syncer worker receives websocket handoffs for "/sync" connections
|
|
48
|
-
* from the Dispatcher in the main thread, and creates websocket
|
|
49
|
-
* {@link Connection}s with a corresponding {@link ViewSyncer}, {@link Mutagen},
|
|
50
|
-
* and {@link Subscription} to version notifications from the Replicator
|
|
51
|
-
* worker.
|
|
52
|
-
*/
|
|
53
|
-
export declare class Syncer implements SingletonService {
|
|
54
|
-
#private;
|
|
55
|
-
readonly id: string;
|
|
56
|
-
constructor(lc: LogContext, config: ZeroConfig, viewSyncerFactory: (id: string, sub: Subscription<ReplicaState>, drainCoordinator: DrainCoordinator) => ViewSyncer & ActivityBasedService, mutagenFactory: ((id: string) => Mutagen & Service) | undefined, pusherFactory: ((id: string, connContextManager: ConnectionContextManager) => Pusher & Service) | undefined, parent: Worker, validateLegacyJWT: ValidateLegacyJWT | undefined);
|
|
57
|
-
run(): Promise<void>;
|
|
58
|
-
/**
|
|
59
|
-
* Graceful shutdown involves shutting down view syncers one at a time, pausing
|
|
60
|
-
* for the duration of view syncer's hydration between each one. This paces the
|
|
61
|
-
* disconnects to avoid creating a backlog of hydrations in the receiving server
|
|
62
|
-
* when the clients reconnect.
|
|
63
|
-
*/
|
|
64
|
-
drain(): Promise<void>;
|
|
65
|
-
stop(): Promise<void>;
|
|
66
|
-
}
|
|
67
|
-
//# sourceMappingURL=syncer.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"syncer.d.ts","sourceRoot":"","sources":["../../../../../zero-cache/src/workers/syncer.ts"],"names":[],"mappings":"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"}
|