@rocicorp/zero 1.12.0-canary.6 → 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/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/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/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,111 +0,0 @@
|
|
|
1
|
-
import type { LogConfig } from '../../../../shared/src/logging.ts';
|
|
2
|
-
import type { Database } from '../../../../zqlite/src/db.ts';
|
|
3
|
-
import type { ChangeStreamData } from '../change-source/protocol/current/downstream.ts';
|
|
4
|
-
import type { BackfillRequest } from '../change-source/protocol/current/upstream.ts';
|
|
5
|
-
import type { ChangeProcessorMode, CommitResult } from './change-processor.ts';
|
|
6
|
-
import type { SubscriptionState } from './schema/replication-state.ts';
|
|
7
|
-
export type PragmaConfig = {
|
|
8
|
-
busyTimeout: number;
|
|
9
|
-
analysisLimit: number;
|
|
10
|
-
walAutocheckpoint?: number | undefined;
|
|
11
|
-
};
|
|
12
|
-
/**
|
|
13
|
-
* Enables write-path checkpoint backpressure in the write worker. At each
|
|
14
|
-
* commit boundary, if the WAL has grown to at least `checkpointThresholdPages`,
|
|
15
|
-
* the worker forces an immediate litestream sync (sealing the WAL to LTX and
|
|
16
|
-
* running litestream's checkpoint).
|
|
17
|
-
*
|
|
18
|
-
* The optional `walMaxPages` is an emergency break that pauses until the WAL drains,
|
|
19
|
-
* rather than letting it exceed available disk space. This replaces litestream's
|
|
20
|
-
* analogous `truncate-page-n` emergency break, which is more disruptive because of
|
|
21
|
-
* https://github.com/benbjohnson/litestream/issues/1332. Note, however, this should
|
|
22
|
-
* never been needed if non-initial snapshots are disabled (which is the default).
|
|
23
|
-
*
|
|
24
|
-
* Set only for the backup replicator when replicating with litestream v5; `null`
|
|
25
|
-
* disables the feature entirely (no per-commit overhead).
|
|
26
|
-
*/
|
|
27
|
-
export type ForceCheckpointConfig = {
|
|
28
|
-
checkpointThresholdPages: number;
|
|
29
|
-
maxWalPages?: number | undefined;
|
|
30
|
-
};
|
|
31
|
-
type ErrorHandler = (err: Error) => void;
|
|
32
|
-
/**
|
|
33
|
-
* Interface for a write worker that processes replication messages.
|
|
34
|
-
*/
|
|
35
|
-
/**
|
|
36
|
-
* The replica's {@link SubscriptionState}, along with its pending backfills,
|
|
37
|
-
* read in the same snapshot.
|
|
38
|
-
*/
|
|
39
|
-
export type SubscriptionStateWithBackfills = SubscriptionState & {
|
|
40
|
-
backfills: BackfillRequest[];
|
|
41
|
-
};
|
|
42
|
-
export interface WriteWorkerClient {
|
|
43
|
-
getSubscriptionState(): Promise<SubscriptionStateWithBackfills>;
|
|
44
|
-
processMessages(downstream: readonly ChangeStreamData[]): Promise<CommitResult | null>;
|
|
45
|
-
abort(): void;
|
|
46
|
-
stop(): Promise<void>;
|
|
47
|
-
onError(handler: ErrorHandler): void;
|
|
48
|
-
}
|
|
49
|
-
export type SerializedError = {
|
|
50
|
-
name: string;
|
|
51
|
-
message: string;
|
|
52
|
-
stack?: string | undefined;
|
|
53
|
-
cause?: SerializedError | string | undefined;
|
|
54
|
-
details?: Record<string, unknown> | undefined;
|
|
55
|
-
};
|
|
56
|
-
export declare function serializeError(err: unknown): SerializedError;
|
|
57
|
-
export declare function deserializeError(serialized: SerializedError): Error;
|
|
58
|
-
export type ArgsMap = {
|
|
59
|
-
init: [
|
|
60
|
-
string,
|
|
61
|
-
ChangeProcessorMode,
|
|
62
|
-
PragmaConfig,
|
|
63
|
-
LogConfig,
|
|
64
|
-
ForceCheckpointConfig | null
|
|
65
|
-
];
|
|
66
|
-
getSubscriptionState: [];
|
|
67
|
-
processMessages: [readonly ChangeStreamData[]];
|
|
68
|
-
abort: [];
|
|
69
|
-
stop: [];
|
|
70
|
-
};
|
|
71
|
-
export type Method = keyof ArgsMap;
|
|
72
|
-
export type Request<M extends Method = Method> = {
|
|
73
|
-
method: M;
|
|
74
|
-
args: ArgsMap[M];
|
|
75
|
-
};
|
|
76
|
-
export type ResultMap = {
|
|
77
|
-
init: void;
|
|
78
|
-
getSubscriptionState: SubscriptionStateWithBackfills;
|
|
79
|
-
processMessages: CommitResult | null;
|
|
80
|
-
abort: void;
|
|
81
|
-
stop: void;
|
|
82
|
-
};
|
|
83
|
-
export type Response<M extends Method = Method> = {
|
|
84
|
-
method: M;
|
|
85
|
-
result: ResultMap[M];
|
|
86
|
-
error?: undefined;
|
|
87
|
-
} | {
|
|
88
|
-
method: M;
|
|
89
|
-
error: SerializedError;
|
|
90
|
-
result?: undefined;
|
|
91
|
-
};
|
|
92
|
-
export type WriteError = {
|
|
93
|
-
writeError: SerializedError;
|
|
94
|
-
};
|
|
95
|
-
export declare function applyPragmas(db: Database, pragmas: PragmaConfig): void;
|
|
96
|
-
/**
|
|
97
|
-
* Delegates SQLite writes to a worker_thread,
|
|
98
|
-
* keeping the main event loop free for WebSocket heartbeats and IPC.
|
|
99
|
-
*/
|
|
100
|
-
export declare class ThreadWriteWorkerClient implements WriteWorkerClient {
|
|
101
|
-
#private;
|
|
102
|
-
constructor();
|
|
103
|
-
init(dbPath: string, mode: ChangeProcessorMode, pragmas: PragmaConfig, logConfig: LogConfig, checkpoint?: ForceCheckpointConfig | null): Promise<void>;
|
|
104
|
-
getSubscriptionState(): Promise<SubscriptionStateWithBackfills>;
|
|
105
|
-
processMessages(downstream: readonly ChangeStreamData[]): Promise<CommitResult | null>;
|
|
106
|
-
abort(): void;
|
|
107
|
-
stop(): Promise<void>;
|
|
108
|
-
onError(handler: ErrorHandler): void;
|
|
109
|
-
}
|
|
110
|
-
export {};
|
|
111
|
-
//# sourceMappingURL=write-worker-client.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"write-worker-client.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/replicator/write-worker-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import type { LogContext } from '@rocicorp/logger';
|
|
2
|
-
import type { AnalyzeQueryResult } from '../../../zero-protocol/src/analyze-query-result.ts';
|
|
3
|
-
import type { AST } from '../../../zero-protocol/src/ast.ts';
|
|
4
|
-
import type { ClientSchema } from '../../../zero-protocol/src/client-schema.ts';
|
|
5
|
-
import type { PermissionsConfig } from '../../../zero-schema/src/compiled-permissions.ts';
|
|
6
|
-
import type { NameMapper } from '../../../zero-schema/src/name-mapper.ts';
|
|
7
|
-
import { type BuilderDelegate } from '../../../zql/src/builder/builder.ts';
|
|
8
|
-
import type { ConnectionCostModel } from '../../../zql/src/planner/planner-connection.ts';
|
|
9
|
-
import type { PlanDebugger } from '../../../zql/src/planner/planner-debug.ts';
|
|
10
|
-
import type { Database } from '../../../zqlite/src/db.ts';
|
|
11
|
-
import type { JWTAuth } from '../auth/auth.ts';
|
|
12
|
-
import type { LiteAndZqlSpec } from '../db/specs.ts';
|
|
13
|
-
/**
|
|
14
|
-
* Maximum number of synced rows returned per table, and read rows returned
|
|
15
|
-
* per table/query, when analyzing a query in zero-cache. Rows past this are
|
|
16
|
-
* still counted. Keeping every row can exhaust the heap when analyzing queries
|
|
17
|
-
* over large tables.
|
|
18
|
-
*/
|
|
19
|
-
export declare const MAX_ANALYZE_ROWS = 1000;
|
|
20
|
-
export type RunAstOptions = {
|
|
21
|
-
applyPermissions?: boolean | undefined;
|
|
22
|
-
auth?: JWTAuth | undefined;
|
|
23
|
-
clientToServerMapper?: NameMapper | undefined;
|
|
24
|
-
costModel?: ConnectionCostModel | undefined;
|
|
25
|
-
db: Database;
|
|
26
|
-
host: BuilderDelegate;
|
|
27
|
-
/**
|
|
28
|
-
* Maximum number of synced rows returned per table. Rows past this are still
|
|
29
|
-
* counted. Defaults to no limit.
|
|
30
|
-
*/
|
|
31
|
-
maxSyncedRowsPerTable?: number | undefined;
|
|
32
|
-
permissions?: PermissionsConfig | undefined;
|
|
33
|
-
planDebugger?: PlanDebugger | undefined;
|
|
34
|
-
syncedRows?: boolean | undefined;
|
|
35
|
-
tableSpecs: Map<string, LiteAndZqlSpec>;
|
|
36
|
-
vendedRows?: boolean | undefined;
|
|
37
|
-
};
|
|
38
|
-
export declare function runAst(lc: LogContext, clientSchema: ClientSchema, ast: AST, isTransformed: boolean, options: RunAstOptions, yieldProcess: () => Promise<void>): Promise<AnalyzeQueryResult>;
|
|
39
|
-
//# sourceMappingURL=run-ast.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"run-ast.d.ts","sourceRoot":"","sources":["../../../../../zero-cache/src/services/run-ast.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAQjD,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,oDAAoD,CAAC;AAC3F,OAAO,KAAK,EAAC,GAAG,EAAe,MAAM,mCAAmC,CAAC;AAEzE,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,6CAA6C,CAAC;AAG9E,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,kDAAkD,CAAC;AACxF,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,yCAAyC,CAAC;AACxE,OAAO,EAEL,KAAK,eAAe,EACrB,MAAM,qCAAqC,CAAC;AAG7C,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,gDAAgD,CAAC;AACxF,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,2CAA2C,CAAC;AAC5E,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,2BAA2B,CAAC;AAExD,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,iBAAiB,CAAC;AAG7C,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,gBAAgB,CAAC;AAOnD;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,OAAO,CAAC;AAErC,MAAM,MAAM,aAAa,GAAG;IAC1B,gBAAgB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACvC,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC3B,oBAAoB,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IAC9C,SAAS,CAAC,EAAE,mBAAmB,GAAG,SAAS,CAAC;IAC5C,EAAE,EAAE,QAAQ,CAAC;IACb,IAAI,EAAE,eAAe,CAAC;IACtB;;;OAGG;IACH,qBAAqB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3C,WAAW,CAAC,EAAE,iBAAiB,GAAG,SAAS,CAAC;IAC5C,YAAY,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;IACxC,UAAU,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACjC,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACxC,UAAU,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAClC,CAAC;AAEF,wBAAsB,MAAM,CAC1B,EAAE,EAAE,UAAU,EACd,YAAY,EAAE,YAAY,EAC1B,GAAG,EAAE,GAAG,EACR,aAAa,EAAE,OAAO,EACtB,OAAO,EAAE,aAAa,EACtB,YAAY,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAChC,OAAO,CAAC,kBAAkB,CAAC,CAyL7B"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import type { LogContext } from '@rocicorp/logger';
|
|
2
|
-
import type { Service } from './service.ts';
|
|
3
|
-
/**
|
|
4
|
-
* Manages the creation and lifecycle of objects that implement
|
|
5
|
-
* {@link Service}.
|
|
6
|
-
*/
|
|
7
|
-
export declare class ServiceRunner<S extends Service> {
|
|
8
|
-
#private;
|
|
9
|
-
constructor(lc: LogContext, factory: (id: string) => S, isValid?: (existing: S) => boolean, onStop?: ((id: string) => void) | undefined);
|
|
10
|
-
/**
|
|
11
|
-
* Creates and runs the Service with the given `id`, returning
|
|
12
|
-
* an existing one if it is still running a valid.
|
|
13
|
-
*/
|
|
14
|
-
getService(id: string): S;
|
|
15
|
-
hasService(id: string): boolean;
|
|
16
|
-
get size(): number;
|
|
17
|
-
getServices(): Iterable<S>;
|
|
18
|
-
}
|
|
19
|
-
//# sourceMappingURL=runner.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../../../../zero-cache/src/services/runner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,cAAc,CAAC;AAE1C;;;GAGG;AACH,qBAAa,aAAa,CAAC,CAAC,SAAS,OAAO;;IAO1C,YACE,EAAE,EAAE,UAAU,EACd,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,CAAC,EAC1B,OAAO,GAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,OAAoB,EAC9C,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,EAM5C;IAED;;;OAGG;IACH,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,CAAC,CA4BxB;IAED,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAE9B;IAED,IAAI,IAAI,WAEP;IAED,WAAW,IAAI,QAAQ,CAAC,CAAC,CAAC,CAEzB;CACF"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import type { LogContext } from '@rocicorp/logger';
|
|
2
|
-
import { setActiveUsersGetter } from '../../server/anonymous-otel-start.ts';
|
|
3
|
-
import type { PostgresDB } from '../../types/pg.ts';
|
|
4
|
-
import { type ShardID } from '../../types/shards.ts';
|
|
5
|
-
import type { Service } from '../service.ts';
|
|
6
|
-
type Options = {
|
|
7
|
-
updateIntervalMs?: number;
|
|
8
|
-
};
|
|
9
|
-
export declare class ActiveUsersGauge implements Service {
|
|
10
|
-
#private;
|
|
11
|
-
readonly id = "active-users-gauge";
|
|
12
|
-
constructor(lc: LogContext, db: PostgresDB, shard: ShardID, opts?: Options, setActiveUsersGetterFn?: typeof setActiveUsersGetter);
|
|
13
|
-
run(): Promise<void>;
|
|
14
|
-
stop(): Promise<void>;
|
|
15
|
-
}
|
|
16
|
-
export {};
|
|
17
|
-
//# sourceMappingURL=active-users-gauge.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"active-users-gauge.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/view-syncer/active-users-gauge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAGjD,OAAO,EACL,oBAAoB,EAErB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAY,KAAK,OAAO,EAAC,MAAM,uBAAuB,CAAC;AAE9D,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;AAK3C,KAAK,OAAO,GAAG;IACb,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,qBAAa,gBAAiB,YAAW,OAAO;;IAC9C,QAAQ,CAAC,EAAE,wBAAwB;IAYnC,YACE,EAAE,EAAE,UAAU,EACd,EAAE,EAAE,UAAU,EACd,KAAK,EAAE,OAAO,EACd,IAAI,GAAE,OAAY,EAClB,sBAAsB,8BAAuB,EAO9C;IAEK,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CA4CzB;IAED,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAGpB;CACF"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import type { ResetPipelinesReason } from './snapshotter.ts';
|
|
2
|
-
export type AdvancementOutcome = {
|
|
3
|
-
readonly outcome: 'success' | 'error';
|
|
4
|
-
} | {
|
|
5
|
-
readonly outcome: 'reset';
|
|
6
|
-
readonly reason: ResetPipelinesReason;
|
|
7
|
-
};
|
|
8
|
-
export type AdvancementTimings = {
|
|
9
|
-
/** Setup plus time between time-slice yields, including asynchronous I/O. */
|
|
10
|
-
readonly processingTimeMs: number;
|
|
11
|
-
/** Synchronous snapshot, change-count, CVR updater, and poke preparation. */
|
|
12
|
-
readonly setupTimeMs: number;
|
|
13
|
-
/** Elapsed wall time, including time-slice waits and output cleanup. */
|
|
14
|
-
readonly wallTimeMs: number;
|
|
15
|
-
};
|
|
16
|
-
/**
|
|
17
|
-
* Counts and times every advancement attempt, including work abandoned by a
|
|
18
|
-
* reset. The existing sync.advance-time histogram measures successes only.
|
|
19
|
-
* Outcome and reset reason are bounded labels; client and query IDs are not
|
|
20
|
-
* recorded here. Recording once per attempt adds no clocks to row processing.
|
|
21
|
-
*/
|
|
22
|
-
export declare class AdvancementMetrics {
|
|
23
|
-
#private;
|
|
24
|
-
record({ processingTimeMs, setupTimeMs, wallTimeMs }: AdvancementTimings, outcome: AdvancementOutcome): void;
|
|
25
|
-
}
|
|
26
|
-
//# sourceMappingURL=advancement-metrics.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"advancement-metrics.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/view-syncer/advancement-metrics.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,oBAAoB,EAAC,MAAM,kBAAkB,CAAC;AAE3D,MAAM,MAAM,kBAAkB,GAC1B;IAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,GAAG,OAAO,CAAA;CAAC,GACvC;IAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAA;CAAC,CAAC;AAEvE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,6EAA6E;IAC7E,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,6EAA6E;IAC7E,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,wEAAwE;IACxE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF;;;;;GAKG;AACH,qBAAa,kBAAkB;;IAqB7B,MAAM,CACJ,EAAC,gBAAgB,EAAE,WAAW,EAAE,UAAU,EAAC,EAAE,kBAAkB,EAC/D,OAAO,EAAE,kBAAkB,GAC1B,IAAI,CAQN;CACF"}
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
import type { LogContext } from '@rocicorp/logger';
|
|
2
|
-
export type BatchPacerOptions = {
|
|
3
|
-
/**
|
|
4
|
-
* The largest share of the worker's time that it may be busy before its
|
|
5
|
-
* client groups are paced.
|
|
6
|
-
*/
|
|
7
|
-
readonly shareTarget: number;
|
|
8
|
-
/** The longest a client group waits between batches. */
|
|
9
|
-
readonly maxIntervalMs: number;
|
|
10
|
-
readonly now?: (() => number) | undefined;
|
|
11
|
-
/**
|
|
12
|
-
* The share of the time since the previous call that the worker was busy.
|
|
13
|
-
* By default, the utilization of the event loop.
|
|
14
|
-
*/
|
|
15
|
-
readonly utilization?: (() => number) | undefined;
|
|
16
|
-
/** Where the worker says that it is pacing its client groups. */
|
|
17
|
-
readonly lc?: LogContext | undefined;
|
|
18
|
-
};
|
|
19
|
-
/**
|
|
20
|
-
* Paces the batches (advancements, including the queries they hydrate
|
|
21
|
-
* again) of the client groups of a sync worker, so that the worker is left
|
|
22
|
-
* with time for new hydrations and connections, and gives the hydrations of
|
|
23
|
-
* new queries priority over the batches.
|
|
24
|
-
*
|
|
25
|
-
* **Pacing.** After each batch, a client group waits {@link waitMs} before
|
|
26
|
-
* it starts the next. The wait is a multiple of the batch's processing
|
|
27
|
-
* time, so a client group that always has changes waiting is busy at most
|
|
28
|
-
* `1 / (1 + k)` of the time, where `k` is the {@link multiplier}. Because
|
|
29
|
-
* the wait is in proportion to a client group's own processing time, those
|
|
30
|
-
* that cause the load are slowed the most, and cheap ones barely at all.
|
|
31
|
-
*
|
|
32
|
-
* The multiplier is shared by the client groups of the worker. Once per
|
|
33
|
-
* second, it is scaled by how far the share of its time that the worker was
|
|
34
|
-
* busy, smoothed over a few seconds, is from the target, and by more while
|
|
35
|
-
* the worker has no time to spare. It never goes below 0, where no client
|
|
36
|
-
* group waits. The share is the utilization of the worker's event loop, i.e. all
|
|
37
|
-
* of what the worker does: what a batch costs is spread over the pipelines,
|
|
38
|
-
* the CVR, the pokes and garbage collection, and is not measurable batch by
|
|
39
|
-
* batch.
|
|
40
|
-
*
|
|
41
|
-
* **Priority of new hydrations.** The worker's time slices are handed out
|
|
42
|
-
* by the pacer (see {@link yieldSlice}), and while the hydration of new
|
|
43
|
-
* queries is waiting for one, most of them go to it rather than to batches.
|
|
44
|
-
*/
|
|
45
|
-
export declare class BatchPacer {
|
|
46
|
-
#private;
|
|
47
|
-
constructor({ shareTarget, maxIntervalMs, now, utilization, lc, }: BatchPacerOptions);
|
|
48
|
-
/**
|
|
49
|
-
* How long a client group should wait before its next batch, after one
|
|
50
|
-
* that took `processingMs` to process. The multiplier changes while a
|
|
51
|
-
* client group waits, so a long wait should be taken in steps, asking
|
|
52
|
-
* again after each.
|
|
53
|
-
*/
|
|
54
|
-
waitMs(processingMs: number): number;
|
|
55
|
-
/** `k`: a client group waits `k` times the processing time of a batch. */
|
|
56
|
-
get multiplier(): number;
|
|
57
|
-
/**
|
|
58
|
-
* The share of its time that the worker was busy, smoothed over the last
|
|
59
|
-
* few seconds, as of the last update of the multiplier.
|
|
60
|
-
*/
|
|
61
|
-
get share(): number;
|
|
62
|
-
/**
|
|
63
|
-
* Yields the worker to the other work that is waiting for a time slice,
|
|
64
|
-
* and resolves when it is the caller's turn again. One piece of work runs
|
|
65
|
-
* per turn of the event loop, as when the work of a worker's client groups
|
|
66
|
-
* simply takes turns, except that the hydration of new queries goes first:
|
|
67
|
-
* while both kinds of work are waiting, `HYDRATION_PRIORITY` slices go to
|
|
68
|
-
* hydrations for each one that goes to a batch.
|
|
69
|
-
*
|
|
70
|
-
* Batches are never made to wait for anything but a slice. If no
|
|
71
|
-
* hydration is waiting for one (because none is running, or because those
|
|
72
|
-
* that are running are waiting for I/O), batches get every slice. And
|
|
73
|
-
* however many hydrations there are, batches keep a share of the slices,
|
|
74
|
-
* so they keep moving, and so do the snapshots of the replica that they
|
|
75
|
-
* hold.
|
|
76
|
-
*/
|
|
77
|
-
yieldSlice(kind: 'hydration' | 'batch'): Promise<void>;
|
|
78
|
-
}
|
|
79
|
-
//# sourceMappingURL=batch-pacer.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"batch-pacer.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/view-syncer/batch-pacer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAyDjD,MAAM,MAAM,iBAAiB,GAAG;IAC9B;;;OAGG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,wDAAwD;IACxD,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,MAAM,CAAC,GAAG,SAAS,CAAC;IAC1C;;;OAGG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,MAAM,MAAM,CAAC,GAAG,SAAS,CAAC;IAClD,iEAAiE;IACjE,QAAQ,CAAC,EAAE,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;CACtC,CAAC;AAYF;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBAAa,UAAU;;IA8BrB,YAAY,EACV,WAAW,EACX,aAAa,EACb,GAAG,EACH,WAAW,EACX,EAAE,GACH,EAAE,iBAAiB,EAOnB;IAED;;;;;OAKG;IACH,MAAM,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CASnC;IAED,0EAA0E;IAC1E,IAAI,UAAU,IAAI,MAAM,CAGvB;IAED;;;OAGG;IACH,IAAI,KAAK,IAAI,MAAM,CAGlB;IA+FD;;;;;;;;;;;;;;OAcG;IACH,UAAU,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAQrD;CAuBF"}
|
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
import type { LogContext } from '@rocicorp/logger';
|
|
2
|
-
import type { JSONObject } from '../../../../shared/src/bigint-json.ts';
|
|
3
|
-
import { type JSONObject as SafeJSONObject } from '../../../../shared/src/json.ts';
|
|
4
|
-
import type { ErroredQuery } from '../../../../zero-protocol/src/custom-queries.ts';
|
|
5
|
-
import { type TransformFailedBody } from '../../../../zero-protocol/src/error.ts';
|
|
6
|
-
import type { InspectDownBody } from '../../../../zero-protocol/src/inspect-down.ts';
|
|
7
|
-
import type { RowPatchOp } from '../../../../zero-protocol/src/row-patch.ts';
|
|
8
|
-
import type { ViewSyncerDownstream } from '../../types/downstream.ts';
|
|
9
|
-
import { type ShardID } from '../../types/shards.ts';
|
|
10
|
-
import type { Subscription } from '../../types/subscription.ts';
|
|
11
|
-
import { type CVRVersion, type DelQueryPatch, type NullableCVRVersion, type PutQueryPatch, type RowID } from './schema/types.ts';
|
|
12
|
-
export type PutRowPatch = {
|
|
13
|
-
type: 'row';
|
|
14
|
-
op: 'put';
|
|
15
|
-
id: RowID;
|
|
16
|
-
contents: JSONObject;
|
|
17
|
-
};
|
|
18
|
-
export type DeleteRowPatch = {
|
|
19
|
-
type: 'row';
|
|
20
|
-
op: 'del';
|
|
21
|
-
id: RowID;
|
|
22
|
-
};
|
|
23
|
-
export type RowPatch = PutRowPatch | DeleteRowPatch;
|
|
24
|
-
export type ConfigPatch = DelQueryPatch | PutQueryPatch;
|
|
25
|
-
export type Patch = ConfigPatch | RowPatch;
|
|
26
|
-
export type PatchToVersion = {
|
|
27
|
-
patch: Patch;
|
|
28
|
-
toVersion: CVRVersion;
|
|
29
|
-
};
|
|
30
|
-
export interface PokeHandler {
|
|
31
|
-
addPatch(patch: PatchToVersion): Promise<void>;
|
|
32
|
-
cancel(): Promise<void>;
|
|
33
|
-
end(finalVersion: CVRVersion): Promise<void>;
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* A put/del row patch and its JSON serialization. Computed once per client
|
|
37
|
-
* group and shared by all of the group's clients.
|
|
38
|
-
*/
|
|
39
|
-
type SerializedRowPatch = {
|
|
40
|
-
readonly rowPatch: RowPatchOp;
|
|
41
|
-
readonly json: string;
|
|
42
|
-
};
|
|
43
|
-
/**
|
|
44
|
-
* Lazily holds the {@link SerializedRowPatch} of one patch so that it is
|
|
45
|
-
* computed at most once, by the first client that needs it.
|
|
46
|
-
*/
|
|
47
|
-
type SharedRowPatch = {
|
|
48
|
-
serialized?: SerializedRowPatch | undefined;
|
|
49
|
-
};
|
|
50
|
-
/** A {@link PokeHandler} for a single client. */
|
|
51
|
-
export interface ClientPokeHandler extends PokeHandler {
|
|
52
|
-
addPatch(patch: PatchToVersion, shared?: SharedRowPatch): Promise<void>;
|
|
53
|
-
/**
|
|
54
|
-
* Whether a patch has been sent to the client. Once one has, the poke can
|
|
55
|
-
* only be ended with a `finalVersion` that is ahead of the client's base
|
|
56
|
-
* version.
|
|
57
|
-
*/
|
|
58
|
-
readonly patchesSent: boolean;
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* A {@link PokeHandler} for multiple clients, as returned by
|
|
62
|
-
* {@link startPoke}.
|
|
63
|
-
*/
|
|
64
|
-
export interface MultiPokeHandler extends PokeHandler {
|
|
65
|
-
/** Whether a patch has been sent to any of the clients. */
|
|
66
|
-
readonly patchesSent: boolean;
|
|
67
|
-
}
|
|
68
|
-
/** Wraps PokeHandlers for multiple clients in a single PokeHandler. */
|
|
69
|
-
export declare function startPoke(lc: LogContext, clients: ClientHandler[], tentativeVersion: CVRVersion): MultiPokeHandler;
|
|
70
|
-
export declare const POKE_PART_FLUSH_THRESHOLD_CHARS: number;
|
|
71
|
-
/**
|
|
72
|
-
* Handles a single `ViewSyncer` connection.
|
|
73
|
-
*/
|
|
74
|
-
export declare class ClientHandler {
|
|
75
|
-
#private;
|
|
76
|
-
readonly clientID: string;
|
|
77
|
-
readonly wsID: string;
|
|
78
|
-
constructor(lc: LogContext, clientGroupID: string, clientID: string, wsID: string, shard: ShardID, baseCookie: string | null, downstream: Subscription<ViewSyncerDownstream>);
|
|
79
|
-
version(): NullableCVRVersion;
|
|
80
|
-
fail(e: unknown): void;
|
|
81
|
-
close(reason: string): void;
|
|
82
|
-
startPoke(tentativeVersion: CVRVersion): ClientPokeHandler;
|
|
83
|
-
sendDeleteClients(lc: LogContext, deletedClientIDs: string[], deletedClientGroupIDs: string[]): Promise<void>;
|
|
84
|
-
sendQueryTransformApplicationErrors(errors: ErroredQuery[]): void;
|
|
85
|
-
sendQueryTransformFailedError(error: TransformFailedBody): void;
|
|
86
|
-
sendInspectResponse(lc: LogContext, response: InspectDownBody): void;
|
|
87
|
-
}
|
|
88
|
-
/**
|
|
89
|
-
* Column values of type INT8 are returned as the `bigint` from the
|
|
90
|
-
* Postgres library. These are converted to `number` if they are within
|
|
91
|
-
* the safe Number range, allowing the protocol to support numbers larger
|
|
92
|
-
* than 32-bits. Values outside of the safe number range (e.g. > 2^53) will
|
|
93
|
-
* result in an Error.
|
|
94
|
-
*/
|
|
95
|
-
export declare function ensureSafeJSON(row: JSONObject): SafeJSONObject;
|
|
96
|
-
export {};
|
|
97
|
-
//# sourceMappingURL=client-handler.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"client-handler.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/view-syncer/client-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import type { ClientSchema } from '../../../../zero-protocol/src/client-schema.ts';
|
|
2
|
-
import type { LiteTableSpecWithReplicationStatus } from '../../db/lite-tables.ts';
|
|
3
|
-
import type { LiteAndZqlSpec } from '../../db/specs.ts';
|
|
4
|
-
import { type ShardID } from '../../types/shards.ts';
|
|
5
|
-
/**
|
|
6
|
-
* Throws a `SchemaVersionNotSupported` error if the client schema is not
|
|
7
|
-
* compatible with the replica, or a `ServerOverloaded` error (which clients
|
|
8
|
-
* retry with backoff) if the only incompatibilities are tables or columns
|
|
9
|
-
* that are still being backfilled.
|
|
10
|
-
*
|
|
11
|
-
* @param tableSpecsWithBackfills the table specs computed with backfilling
|
|
12
|
-
* columns included. Permanent incompatibilities are checked against
|
|
13
|
-
* these, so that a table or column that will not be syncable after its
|
|
14
|
-
* backfill completes is not reported as retriable. Defaults to
|
|
15
|
-
* `tableSpecs`, for replicas with nothing being backfilled.
|
|
16
|
-
*/
|
|
17
|
-
export declare function checkClientSchema(shardID: ShardID, clientSchema: ClientSchema, tableSpecs: Map<string, LiteAndZqlSpec>, fullTables: Map<string, LiteTableSpecWithReplicationStatus>, tableSpecsWithBackfills?: Map<string, LiteAndZqlSpec>): void;
|
|
18
|
-
//# sourceMappingURL=client-schema.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"client-schema.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/view-syncer/client-schema.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,gDAAgD,CAAC;AAIjF,OAAO,KAAK,EAAC,kCAAkC,EAAC,MAAM,yBAAyB,CAAC;AAChF,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,mBAAmB,CAAC;AAEtD,OAAO,EAA4B,KAAK,OAAO,EAAC,MAAM,uBAAuB,CAAC;AAQ9E;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,EACvC,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,kCAAkC,CAAC,EAC3D,uBAAuB,GAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAc,QAkClE"}
|
|
@@ -1,184 +0,0 @@
|
|
|
1
|
-
import type { LogContext } from '@rocicorp/logger';
|
|
2
|
-
import type { InitConnectionBody } from '../../../../zero-protocol/src/connect.ts';
|
|
3
|
-
import type { UpdateAuthBody } from '../../../../zero-protocol/src/update-auth.ts';
|
|
4
|
-
import { type Auth, type ValidateLegacyJWT } from '../../auth/auth.ts';
|
|
5
|
-
import type { ZeroConfig } from '../../config/zero-config.ts';
|
|
6
|
-
import type { ConnectParams } from '../../workers/connect-params.ts';
|
|
7
|
-
export type ConnectionState = 'provisional' | 'validated';
|
|
8
|
-
/**
|
|
9
|
-
* Normalized user identity shared by live connection state and group auth state.
|
|
10
|
-
* `id: null` means logged out.
|
|
11
|
-
*/
|
|
12
|
-
export type UserState = {
|
|
13
|
-
readonly id: string | null;
|
|
14
|
-
};
|
|
15
|
-
/**
|
|
16
|
-
* Delineates the two paths for validating a connection: either server can validate
|
|
17
|
-
* the user's identity and return a definitive userID to trust, or we fall back to
|
|
18
|
-
* trusting the one provided by the client in the incoming query params.
|
|
19
|
-
*/
|
|
20
|
-
export type ConnectionValidation = {
|
|
21
|
-
kind: 'client-fallback';
|
|
22
|
-
} | {
|
|
23
|
-
kind: 'server-validated';
|
|
24
|
-
validatedUserID: string | null;
|
|
25
|
-
};
|
|
26
|
-
/**
|
|
27
|
-
* Identifies one live websocket for a client slot.
|
|
28
|
-
*/
|
|
29
|
-
export type ConnectionSelector = {
|
|
30
|
-
readonly clientID: string;
|
|
31
|
-
readonly wsID: string;
|
|
32
|
-
};
|
|
33
|
-
type FetchConfig = ZeroConfig['query'];
|
|
34
|
-
export type HeaderOptions = {
|
|
35
|
-
readonly apiKey?: string | undefined;
|
|
36
|
-
/** Allowlisted headers provided in the client options. */
|
|
37
|
-
readonly customHeaders?: Readonly<Record<string, string>> | undefined;
|
|
38
|
-
/** Allowlisted headers from the incoming HTTP request. */
|
|
39
|
-
readonly requestHeaders?: Readonly<Record<string, string>> | undefined;
|
|
40
|
-
readonly cookie?: string | undefined;
|
|
41
|
-
readonly origin?: string | undefined;
|
|
42
|
-
};
|
|
43
|
-
export type ConnectionFetchContext = {
|
|
44
|
-
readonly url: string | undefined;
|
|
45
|
-
readonly allowedUrlPatterns: readonly URLPattern[] | undefined;
|
|
46
|
-
readonly headerOptions: HeaderOptions;
|
|
47
|
-
};
|
|
48
|
-
/**
|
|
49
|
-
* A snapshot of one live connection tracked by the manager.
|
|
50
|
-
*
|
|
51
|
-
* `revalidateAt` is only populated while the connection is `validated`.
|
|
52
|
-
*/
|
|
53
|
-
export type ConnectionContext = {
|
|
54
|
-
readonly state: ConnectionState;
|
|
55
|
-
readonly clientID: string;
|
|
56
|
-
readonly wsID: string;
|
|
57
|
-
readonly user: UserState;
|
|
58
|
-
readonly auth: Auth | undefined;
|
|
59
|
-
readonly profileID: string | null;
|
|
60
|
-
readonly baseCookie: string | null;
|
|
61
|
-
readonly protocolVersion: number;
|
|
62
|
-
readonly revision: number;
|
|
63
|
-
readonly revalidateAt: number | undefined;
|
|
64
|
-
readonly insertionOrder: number;
|
|
65
|
-
readonly queryContext: ConnectionFetchContext;
|
|
66
|
-
readonly mutateContext: ConnectionFetchContext;
|
|
67
|
-
};
|
|
68
|
-
/**
|
|
69
|
-
* Group-scoped auth state shared across the live connections.
|
|
70
|
-
*
|
|
71
|
-
* The background connection is the validated connection currently used for
|
|
72
|
-
* shared background work. Retransform happens on a group level, and uses
|
|
73
|
-
* the background connection's credential to refetch the latest queries.
|
|
74
|
-
*/
|
|
75
|
-
export type GroupAuthState = {
|
|
76
|
-
readonly pinnedUser: UserState | undefined;
|
|
77
|
-
readonly backgroundConnection: ConnectionSelector | undefined;
|
|
78
|
-
readonly retransformAt: number | undefined;
|
|
79
|
-
readonly maintenanceNotBeforeAt: number | undefined;
|
|
80
|
-
};
|
|
81
|
-
export type ConnectionContextManager = {
|
|
82
|
-
registerConnection(selector: ConnectionSelector, connectParams: ConnectParams, auth?: Auth): Readonly<ConnectionContext>;
|
|
83
|
-
initConnection(selector: ConnectionSelector, body: InitConnectionBody): Readonly<ConnectionContext>;
|
|
84
|
-
updateAuth(selector: ConnectionSelector, body: UpdateAuthBody): Promise<Readonly<ConnectionContext>>;
|
|
85
|
-
validateConnection(selector: ConnectionSelector, revision: number, validation: ConnectionValidation): Readonly<{
|
|
86
|
-
connection: ConnectionContext;
|
|
87
|
-
group: GroupAuthState;
|
|
88
|
-
}> | undefined;
|
|
89
|
-
failConnection(selector: ConnectionSelector, revision: number): Readonly<ConnectionContext> | undefined;
|
|
90
|
-
closeConnection(selector: ConnectionSelector): Readonly<ConnectionContext> | undefined;
|
|
91
|
-
markBackgroundRetransformSuccess(selector: ConnectionSelector, revision: number): void;
|
|
92
|
-
setSharedRetransformReady(ready: boolean): void;
|
|
93
|
-
deferMaintenance(kind: 'revalidate' | 'retransform'): void;
|
|
94
|
-
getConnectionContext(selector: ConnectionSelector): Readonly<ConnectionContext> | undefined;
|
|
95
|
-
mustGetConnectionContext(selector: ConnectionSelector): Readonly<ConnectionContext>;
|
|
96
|
-
getBackgroundConnectionContext(): Readonly<ConnectionContext> | undefined;
|
|
97
|
-
mustGetBackgroundConnectionContext(): Readonly<ConnectionContext>;
|
|
98
|
-
getGroupState(): Readonly<GroupAuthState>;
|
|
99
|
-
planMaintenance(): {
|
|
100
|
-
dueRevalidations: Readonly<ConnectionContext>[];
|
|
101
|
-
dueRetransform: boolean;
|
|
102
|
-
earliestDeadlineAt: number | undefined;
|
|
103
|
-
};
|
|
104
|
-
};
|
|
105
|
-
/**
|
|
106
|
-
* State machine for the auth state of a single `ViewSyncerService`.
|
|
107
|
-
*
|
|
108
|
-
* Connections are registered as `provisional`, optionally backfilled with
|
|
109
|
-
* `initConnection` metadata, and then promoted to `validated` once their
|
|
110
|
-
* effective `userID` is confirmed as valid. The manager also tracks which
|
|
111
|
-
* validated connection currently serves as the group's background connection.
|
|
112
|
-
*/
|
|
113
|
-
export declare class ConnectionContextManagerImpl implements ConnectionContextManager {
|
|
114
|
-
#private;
|
|
115
|
-
constructor(lc: LogContext, revalidateIntervalSeconds?: number, retransformIntervalSeconds?: number, queryConfig?: FetchConfig, pushConfig?: FetchConfig, validateLegacyJWT?: ValidateLegacyJWT, now?: () => number);
|
|
116
|
-
/**
|
|
117
|
-
* Creates or replaces the live record for a websocket connection.
|
|
118
|
-
*
|
|
119
|
-
* Re-registering the same `clientID` drops the old socket record and starts
|
|
120
|
-
* the replacement back in `provisional` state.
|
|
121
|
-
*/
|
|
122
|
-
registerConnection(selector: ConnectionSelector, connectParams: ConnectParams, auth?: Auth): Readonly<ConnectionContext>;
|
|
123
|
-
/**
|
|
124
|
-
* Backfills `initConnection` data for sockets that were registered before the
|
|
125
|
-
* client could send its full init payload.
|
|
126
|
-
*
|
|
127
|
-
* This updates metadata only; it does not validate the connection.
|
|
128
|
-
*/
|
|
129
|
-
initConnection(selector: ConnectionSelector, body: InitConnectionBody): Readonly<ConnectionContext>;
|
|
130
|
-
/**
|
|
131
|
-
* A material auth change demotes the connection back to provisional until it
|
|
132
|
-
* is validated again.
|
|
133
|
-
*/
|
|
134
|
-
updateAuth(selector: ConnectionSelector, body: UpdateAuthBody): Promise<Readonly<ConnectionContext>>;
|
|
135
|
-
/**
|
|
136
|
-
* Validates one connection against the group's pinned `userID`.
|
|
137
|
-
*
|
|
138
|
-
* The first successful validation binds the group `userID`. Later
|
|
139
|
-
* validations must match it. Validation also refreshes the connection's
|
|
140
|
-
* revalidation deadline and may pick the connection as the group
|
|
141
|
-
* background connection if none is currently available. If the websocket is
|
|
142
|
-
* gone by the time async validation finishes, this becomes a no-op.
|
|
143
|
-
*/
|
|
144
|
-
validateConnection(selector: ConnectionSelector, revision: number, validation: ConnectionValidation): Readonly<{
|
|
145
|
-
connection: ConnectionContext;
|
|
146
|
-
group: GroupAuthState;
|
|
147
|
-
}> | undefined;
|
|
148
|
-
/** Removes one connection due to failed auth and updates all derived background/deadline state. */
|
|
149
|
-
failConnection(selector: ConnectionSelector, revision: number): ConnectionContext | undefined;
|
|
150
|
-
/** Removes one disconnected connection and updates all derived background/deadline state. */
|
|
151
|
-
closeConnection(selector: ConnectionSelector): ConnectionContext | undefined;
|
|
152
|
-
/**
|
|
153
|
-
* Records a successful background retransform. This starts a fresh interval
|
|
154
|
-
* from the manager clock when shared retransform is schedulable, or
|
|
155
|
-
* clears the deadline if it is not.
|
|
156
|
-
*/
|
|
157
|
-
markBackgroundRetransformSuccess(selector: ConnectionSelector, revision: number): void;
|
|
158
|
-
setSharedRetransformReady(ready: boolean): void;
|
|
159
|
-
deferMaintenance(kind: 'revalidate' | 'retransform'): void;
|
|
160
|
-
/** Returns the current live record for a client slot, if any. */
|
|
161
|
-
getConnectionContext(selector: ConnectionSelector): Readonly<ConnectionContext> | undefined;
|
|
162
|
-
/** Returns the live record for one websocket or throws if it is unavailable. */
|
|
163
|
-
mustGetConnectionContext(selector: ConnectionSelector): Readonly<ConnectionContext>;
|
|
164
|
-
/** Returns the current background connection, if one exists. */
|
|
165
|
-
getBackgroundConnectionContext(): Readonly<ConnectionContext> | undefined;
|
|
166
|
-
mustGetBackgroundConnectionContext(): Readonly<ConnectionContext>;
|
|
167
|
-
/** Returns the shared group auth state. */
|
|
168
|
-
getGroupState(): Readonly<GroupAuthState>;
|
|
169
|
-
/**
|
|
170
|
-
* Reports which maintenance work is currently due.
|
|
171
|
-
*
|
|
172
|
-
* The result is a pure snapshot: callers decide which actions to run and
|
|
173
|
-
* when to wake up next. `earliestDeadlineAt` is the earliest outstanding
|
|
174
|
-
* maintenance deadline, including overdue work, unless a transient failure
|
|
175
|
-
* has deferred all scheduled maintenance until `maintenanceNotBeforeAt`.
|
|
176
|
-
*/
|
|
177
|
-
planMaintenance(): {
|
|
178
|
-
dueRevalidations: Readonly<ConnectionContext>[];
|
|
179
|
-
dueRetransform: boolean;
|
|
180
|
-
earliestDeadlineAt: number | undefined;
|
|
181
|
-
};
|
|
182
|
-
}
|
|
183
|
-
export {};
|
|
184
|
-
//# sourceMappingURL=connection-context-manager.d.ts.map
|