@rocicorp/zero 0.5.2024103100 → 0.6.2024111600
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/{internal.js → advanced.js} +2 -2
- package/out/{chunk-TBA526RR.js → chunk-V5NTGJ4X.js} +1211 -624
- package/out/chunk-V5NTGJ4X.js.map +7 -0
- package/out/{chunk-RCVGGCMG.js → chunk-YCMA66NH.js} +2 -2
- package/out/{chunk-RCVGGCMG.js.map → chunk-YCMA66NH.js.map} +2 -2
- package/out/react.js.map +2 -2
- package/out/shared/src/browser-env.d.ts +17 -0
- package/out/shared/src/browser-env.d.ts.map +1 -1
- package/out/shared/src/expand.d.ts +7 -0
- package/out/shared/src/expand.d.ts.map +1 -0
- package/out/shared/src/valita.d.ts +7 -0
- package/out/shared/src/valita.d.ts.map +1 -1
- package/out/shared/src/valita.js +28 -0
- package/out/shared/src/valita.js.map +1 -1
- package/out/solid.js +5 -5
- package/out/solid.js.map +2 -2
- package/out/zero-advanced/src/mod.d.ts +7 -7
- package/out/zero-advanced/src/mod.d.ts.map +1 -1
- package/out/zero-cache/src/auth/load-authorization.d.ts +3 -0
- package/out/zero-cache/src/auth/load-authorization.d.ts.map +1 -0
- package/out/zero-cache/src/auth/load-authorization.js +21 -0
- package/out/zero-cache/src/auth/load-authorization.js.map +1 -0
- package/out/zero-cache/src/config/config.d.ts +112 -0
- package/out/zero-cache/src/config/config.d.ts.map +1 -0
- package/out/zero-cache/src/config/config.js +246 -0
- package/out/zero-cache/src/config/config.js.map +1 -0
- package/out/zero-cache/src/config/zero-config.d.ts +145 -964
- package/out/zero-cache/src/config/zero-config.d.ts.map +1 -1
- package/out/zero-cache/src/config/zero-config.js +242 -115
- package/out/zero-cache/src/config/zero-config.js.map +1 -1
- package/out/zero-cache/src/db/delete-lite-db.d.ts +2 -0
- package/out/zero-cache/src/db/delete-lite-db.d.ts.map +1 -0
- package/out/zero-cache/src/db/delete-lite-db.js +7 -0
- package/out/zero-cache/src/db/delete-lite-db.js.map +1 -0
- package/out/zero-cache/src/db/migration.d.ts +1 -0
- package/out/zero-cache/src/db/migration.d.ts.map +1 -1
- package/out/zero-cache/src/db/migration.js +17 -7
- package/out/zero-cache/src/db/migration.js.map +1 -1
- package/out/zero-cache/src/db/pg-to-lite.d.ts +1 -1
- package/out/zero-cache/src/db/pg-to-lite.d.ts.map +1 -1
- package/out/zero-cache/src/db/pg-to-lite.js +7 -3
- package/out/zero-cache/src/db/pg-to-lite.js.map +1 -1
- package/out/zero-cache/src/db/short-lived-client.d.ts +16 -0
- package/out/zero-cache/src/db/short-lived-client.d.ts.map +1 -0
- package/out/zero-cache/src/db/short-lived-client.js +50 -0
- package/out/zero-cache/src/db/short-lived-client.js.map +1 -0
- package/out/zero-cache/src/db/specs.d.ts +12 -3
- package/out/zero-cache/src/db/specs.d.ts.map +1 -1
- package/out/zero-cache/src/db/specs.js +6 -1
- package/out/zero-cache/src/db/specs.js.map +1 -1
- package/out/zero-cache/src/db/transaction-pool.d.ts +7 -2
- package/out/zero-cache/src/db/transaction-pool.d.ts.map +1 -1
- package/out/zero-cache/src/db/transaction-pool.js +42 -8
- package/out/zero-cache/src/db/transaction-pool.js.map +1 -1
- package/out/zero-cache/src/server/change-streamer.d.ts.map +1 -1
- package/out/zero-cache/src/server/change-streamer.js +34 -9
- package/out/zero-cache/src/server/change-streamer.js.map +1 -1
- package/out/zero-cache/src/server/life-cycle.d.ts +1 -1
- package/out/zero-cache/src/server/life-cycle.d.ts.map +1 -1
- package/out/zero-cache/src/server/life-cycle.js +2 -3
- package/out/zero-cache/src/server/life-cycle.js.map +1 -1
- package/out/zero-cache/src/server/logging.d.ts.map +1 -1
- package/out/zero-cache/src/server/logging.js +2 -15
- package/out/zero-cache/src/server/logging.js.map +1 -1
- package/out/zero-cache/src/server/main.js +28 -10
- package/out/zero-cache/src/server/main.js.map +1 -1
- package/out/zero-cache/src/server/replicator.d.ts.map +1 -1
- package/out/zero-cache/src/server/replicator.js +6 -5
- package/out/zero-cache/src/server/replicator.js.map +1 -1
- package/out/zero-cache/src/server/syncer.d.ts.map +1 -1
- package/out/zero-cache/src/server/syncer.js +16 -12
- package/out/zero-cache/src/server/syncer.js.map +1 -1
- package/out/zero-cache/src/services/change-streamer/change-streamer-http.d.ts +2 -3
- package/out/zero-cache/src/services/change-streamer/change-streamer-http.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-streamer/change-streamer-http.js +2 -3
- package/out/zero-cache/src/services/change-streamer/change-streamer-http.js.map +1 -1
- package/out/zero-cache/src/services/change-streamer/change-streamer-service.d.ts +153 -2
- package/out/zero-cache/src/services/change-streamer/change-streamer-service.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-streamer/change-streamer-service.js +136 -19
- package/out/zero-cache/src/services/change-streamer/change-streamer-service.js.map +1 -1
- package/out/zero-cache/src/services/change-streamer/change-streamer.d.ts +17 -9
- package/out/zero-cache/src/services/change-streamer/change-streamer.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-streamer/change-streamer.js +4 -2
- package/out/zero-cache/src/services/change-streamer/change-streamer.js.map +1 -1
- package/out/zero-cache/src/services/change-streamer/forwarder.d.ts +1 -0
- package/out/zero-cache/src/services/change-streamer/forwarder.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-streamer/forwarder.js +9 -2
- package/out/zero-cache/src/services/change-streamer/forwarder.js.map +1 -1
- package/out/zero-cache/src/services/change-streamer/pg/change-source.d.ts +10 -0
- package/out/zero-cache/src/services/change-streamer/pg/change-source.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-streamer/pg/change-source.js +171 -24
- package/out/zero-cache/src/services/change-streamer/pg/change-source.js.map +1 -1
- package/out/zero-cache/src/services/change-streamer/pg/initial-sync.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-streamer/pg/initial-sync.js +32 -18
- package/out/zero-cache/src/services/change-streamer/pg/initial-sync.js.map +1 -1
- package/out/zero-cache/src/services/change-streamer/pg/schema/ddl.d.ts +62 -39
- package/out/zero-cache/src/services/change-streamer/pg/schema/ddl.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-streamer/pg/schema/ddl.js +8 -40
- package/out/zero-cache/src/services/change-streamer/pg/schema/ddl.js.map +1 -1
- package/out/zero-cache/src/services/change-streamer/pg/schema/init.d.ts +8 -0
- package/out/zero-cache/src/services/change-streamer/pg/schema/init.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-streamer/pg/schema/init.js +41 -8
- package/out/zero-cache/src/services/change-streamer/pg/schema/init.js.map +1 -1
- package/out/zero-cache/src/services/change-streamer/pg/schema/published.d.ts +83 -13
- package/out/zero-cache/src/services/change-streamer/pg/schema/published.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-streamer/pg/schema/published.js +15 -5
- package/out/zero-cache/src/services/change-streamer/pg/schema/published.js.map +1 -1
- package/out/zero-cache/src/services/change-streamer/pg/schema/shard.d.ts +39 -3
- package/out/zero-cache/src/services/change-streamer/pg/schema/shard.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-streamer/pg/schema/shard.js +67 -36
- package/out/zero-cache/src/services/change-streamer/pg/schema/shard.js.map +1 -1
- package/out/zero-cache/src/services/change-streamer/pg/schema/validation.d.ts +8 -0
- package/out/zero-cache/src/services/change-streamer/pg/schema/validation.d.ts.map +1 -0
- package/out/zero-cache/src/services/change-streamer/pg/schema/validation.js +33 -0
- package/out/zero-cache/src/services/change-streamer/pg/schema/validation.js.map +1 -0
- package/out/zero-cache/src/services/change-streamer/schema/change.d.ts +5 -1
- package/out/zero-cache/src/services/change-streamer/schema/change.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-streamer/schema/change.js +3 -0
- package/out/zero-cache/src/services/change-streamer/schema/change.js.map +1 -1
- package/out/zero-cache/src/services/change-streamer/schema/init.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-streamer/schema/init.js +4 -6
- package/out/zero-cache/src/services/change-streamer/schema/init.js.map +1 -1
- package/out/zero-cache/src/services/change-streamer/schema/tables.d.ts +6 -1
- package/out/zero-cache/src/services/change-streamer/schema/tables.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-streamer/schema/tables.js +19 -4
- package/out/zero-cache/src/services/change-streamer/schema/tables.js.map +1 -1
- package/out/zero-cache/src/services/change-streamer/storer.d.ts +29 -2
- package/out/zero-cache/src/services/change-streamer/storer.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-streamer/storer.js +90 -8
- package/out/zero-cache/src/services/change-streamer/storer.js.map +1 -1
- package/out/zero-cache/src/services/change-streamer/subscriber.d.ts +1 -0
- package/out/zero-cache/src/services/change-streamer/subscriber.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-streamer/subscriber.js +18 -3
- package/out/zero-cache/src/services/change-streamer/subscriber.js.map +1 -1
- package/out/zero-cache/src/services/dispatcher/dispatcher.d.ts +5 -3
- package/out/zero-cache/src/services/dispatcher/dispatcher.d.ts.map +1 -1
- package/out/zero-cache/src/services/dispatcher/dispatcher.js +20 -5
- package/out/zero-cache/src/services/dispatcher/dispatcher.js.map +1 -1
- package/out/zero-cache/src/services/mutagen/mutagen.d.ts +6 -5
- package/out/zero-cache/src/services/mutagen/mutagen.d.ts.map +1 -1
- package/out/zero-cache/src/services/mutagen/mutagen.js +26 -20
- package/out/zero-cache/src/services/mutagen/mutagen.js.map +1 -1
- package/out/zero-cache/src/services/mutagen/write-authorizer.d.ts +7 -6
- package/out/zero-cache/src/services/mutagen/write-authorizer.d.ts.map +1 -1
- package/out/zero-cache/src/services/mutagen/write-authorizer.js +12 -20
- package/out/zero-cache/src/services/mutagen/write-authorizer.js.map +1 -1
- package/out/zero-cache/src/services/replicator/incremental-sync.d.ts +1 -1
- package/out/zero-cache/src/services/replicator/incremental-sync.d.ts.map +1 -1
- package/out/zero-cache/src/services/replicator/incremental-sync.js +8 -8
- package/out/zero-cache/src/services/replicator/incremental-sync.js.map +1 -1
- package/out/zero-cache/src/services/replicator/schema/replication-state.d.ts.map +1 -1
- package/out/zero-cache/src/services/replicator/schema/replication-state.js +1 -10
- package/out/zero-cache/src/services/replicator/schema/replication-state.js.map +1 -1
- package/out/zero-cache/src/services/running-state.d.ts +6 -1
- package/out/zero-cache/src/services/running-state.d.ts.map +1 -1
- package/out/zero-cache/src/services/running-state.js +23 -5
- package/out/zero-cache/src/services/running-state.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/database-storage.d.ts +1 -1
- package/out/zero-cache/src/services/view-syncer/database-storage.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/pipeline-driver.js +1 -1
- package/out/zero-cache/src/services/view-syncer/pipeline-driver.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/schema/types.d.ts +49 -29
- package/out/zero-cache/src/services/view-syncer/schema/types.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/view-syncer.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/view-syncer.js +2 -1
- package/out/zero-cache/src/services/view-syncer/view-syncer.js.map +1 -1
- package/out/zero-cache/src/types/lexi-version.d.ts +3 -2
- package/out/zero-cache/src/types/lexi-version.d.ts.map +1 -1
- package/out/zero-cache/src/types/lexi-version.js +8 -6
- package/out/zero-cache/src/types/lexi-version.js.map +1 -1
- package/out/zero-cache/src/types/lite.d.ts +1 -1
- package/out/zero-cache/src/types/lite.d.ts.map +1 -1
- package/out/zero-cache/src/types/lite.js +0 -1
- package/out/zero-cache/src/types/lite.js.map +1 -1
- package/out/zero-cache/src/types/processes.d.ts.map +1 -1
- package/out/zero-cache/src/types/processes.js +1 -0
- package/out/zero-cache/src/types/processes.js.map +1 -1
- package/out/zero-cache/src/workers/replicator.d.ts.map +1 -1
- package/out/zero-cache/src/workers/replicator.js +2 -4
- package/out/zero-cache/src/workers/replicator.js.map +1 -1
- package/out/zero-cache/src/workers/syncer.js +1 -1
- package/out/zero-cache/src/workers/syncer.js.map +1 -1
- package/out/zero-client/src/client/context.d.ts +4 -4
- package/out/zero-client/src/client/context.d.ts.map +1 -1
- package/out/zero-client/src/client/crud.d.ts +57 -26
- package/out/zero-client/src/client/crud.d.ts.map +1 -1
- package/out/zero-client/src/client/http-string.d.ts +1 -0
- package/out/zero-client/src/client/http-string.d.ts.map +1 -1
- package/out/zero-client/src/client/keys.d.ts +1 -1
- package/out/zero-client/src/client/keys.d.ts.map +1 -1
- package/out/zero-client/src/client/log-options.d.ts +2 -1
- package/out/zero-client/src/client/log-options.d.ts.map +1 -1
- package/out/zero-client/src/client/options.d.ts +9 -9
- package/out/zero-client/src/client/options.d.ts.map +1 -1
- package/out/zero-client/src/client/protocol-version.d.ts +2 -0
- package/out/zero-client/src/client/protocol-version.d.ts.map +1 -0
- package/out/zero-client/src/client/query-manager.d.ts +1 -1
- package/out/zero-client/src/client/query-manager.d.ts.map +1 -1
- package/out/zero-client/src/client/server-option.d.ts.map +1 -1
- package/out/zero-client/src/client/zero-poke-handler.d.ts +1 -1
- package/out/zero-client/src/client/zero-poke-handler.d.ts.map +1 -1
- package/out/zero-client/src/client/zero.d.ts +27 -22
- package/out/zero-client/src/client/zero.d.ts.map +1 -1
- package/out/zero-client/src/mod.d.ts +8 -7
- package/out/zero-client/src/mod.d.ts.map +1 -1
- package/out/zero-protocol/src/ast.d.ts +37 -21
- package/out/zero-protocol/src/ast.d.ts.map +1 -1
- package/out/zero-protocol/src/ast.js +21 -6
- package/out/zero-protocol/src/ast.js.map +1 -1
- package/out/zero-protocol/src/change-desired-queries.d.ts +16 -8
- package/out/zero-protocol/src/change-desired-queries.d.ts.map +1 -1
- package/out/zero-protocol/src/connect.d.ts +16 -8
- package/out/zero-protocol/src/connect.d.ts.map +1 -1
- package/out/zero-protocol/src/down.d.ts +16 -8
- package/out/zero-protocol/src/down.d.ts.map +1 -1
- package/out/zero-protocol/src/poke.d.ts +32 -16
- package/out/zero-protocol/src/poke.d.ts.map +1 -1
- package/out/zero-protocol/src/push.d.ts +18 -18
- package/out/zero-protocol/src/push.d.ts.map +1 -1
- package/out/zero-protocol/src/push.js +5 -5
- package/out/zero-protocol/src/push.js.map +1 -1
- package/out/zero-protocol/src/queries-patch.d.ts +24 -12
- package/out/zero-protocol/src/queries-patch.d.ts.map +1 -1
- package/out/zero-protocol/src/up.d.ts +18 -10
- package/out/zero-protocol/src/up.d.ts.map +1 -1
- package/out/zero-react/src/use-query.d.ts +2 -1
- package/out/zero-react/src/use-query.d.ts.map +1 -1
- package/out/zero-react/src/use-zero.d.ts +2 -1
- package/out/zero-react/src/use-zero.d.ts.map +1 -1
- package/out/zero-schema/src/authorization.d.ts +25 -0
- package/out/zero-schema/src/authorization.d.ts.map +1 -0
- package/out/zero-schema/src/compiled-authorization.d.ts +379 -0
- package/out/zero-schema/src/compiled-authorization.d.ts.map +1 -0
- package/out/zero-schema/src/compiled-authorization.js +15 -0
- package/out/zero-schema/src/compiled-authorization.js.map +1 -0
- package/out/zero-schema/src/mod.d.ts +5 -0
- package/out/zero-schema/src/mod.d.ts.map +1 -0
- package/out/{zql/src/zql/query → zero-schema/src}/normalize-table-schema.d.ts +2 -3
- package/out/zero-schema/src/normalize-table-schema.d.ts.map +1 -0
- package/out/{zero-client/src/client → zero-schema/src}/normalized-schema.d.ts +2 -2
- package/out/zero-schema/src/normalized-schema.d.ts.map +1 -0
- package/out/zero-schema/src/schema.d.ts +9 -0
- package/out/zero-schema/src/schema.d.ts.map +1 -0
- package/out/{zql/src/zql/query/schema.d.ts → zero-schema/src/table-schema.d.ts} +47 -3
- package/out/zero-schema/src/table-schema.d.ts.map +1 -0
- package/out/{zql/src/zql/query/schema.js → zero-schema/src/table-schema.js} +1 -1
- package/out/zero-schema/src/table-schema.js.map +1 -0
- package/out/zero-solid/src/create-zero.d.ts +2 -1
- package/out/zero-solid/src/create-zero.d.ts.map +1 -1
- package/out/zero.js +6 -14
- package/out/zql/src/{zql/builder → builder}/builder.d.ts +5 -5
- package/out/zql/src/builder/builder.d.ts.map +1 -0
- package/out/zql/src/{zql/builder → builder}/builder.js +81 -33
- package/out/zql/src/builder/builder.js.map +1 -0
- package/out/zql/src/builder/error.d.ts.map +1 -0
- package/out/zql/src/builder/error.js.map +1 -0
- package/out/zql/src/builder/filter.d.ts +7 -0
- package/out/zql/src/builder/filter.d.ts.map +1 -0
- package/out/zql/src/{zql/builder → builder}/filter.js +19 -1
- package/out/zql/src/builder/filter.js.map +1 -0
- package/out/zql/src/builder/like.d.ts +3 -0
- package/out/zql/src/builder/like.d.ts.map +1 -0
- package/out/zql/src/{zql/builder → builder}/like.js +1 -1
- package/out/zql/src/builder/like.js.map +1 -0
- package/out/zql/src/ivm/array-view.d.ts.map +1 -0
- package/out/zql/src/{zql/ivm → ivm}/change.d.ts +2 -1
- package/out/zql/src/ivm/change.d.ts.map +1 -0
- package/out/zql/src/ivm/change.js +5 -0
- package/out/zql/src/ivm/change.js.map +1 -0
- package/out/zql/src/{zql/ivm → ivm}/data.d.ts +2 -2
- package/out/zql/src/ivm/data.d.ts.map +1 -0
- package/out/zql/src/{zql/ivm → ivm}/data.js +1 -1
- package/out/zql/src/ivm/data.js.map +1 -0
- package/out/zql/src/ivm/exists.d.ts +18 -0
- package/out/zql/src/ivm/exists.d.ts.map +1 -0
- package/out/zql/src/ivm/exists.js +186 -0
- package/out/zql/src/ivm/exists.js.map +1 -0
- package/out/zql/src/{zql/ivm → ivm}/fan-in.d.ts +3 -3
- package/out/zql/src/ivm/fan-in.d.ts.map +1 -0
- package/out/zql/src/{zql/ivm → ivm}/fan-in.js +8 -11
- package/out/zql/src/ivm/fan-in.js.map +1 -0
- package/out/zql/src/{zql/ivm → ivm}/fan-out.d.ts +1 -1
- package/out/zql/src/ivm/fan-out.d.ts.map +1 -0
- package/out/zql/src/{zql/ivm → ivm}/fan-out.js +8 -7
- package/out/zql/src/ivm/fan-out.js.map +1 -0
- package/out/zql/src/{zql/ivm → ivm}/filter.d.ts +3 -3
- package/out/zql/src/ivm/filter.d.ts.map +1 -0
- package/out/zql/src/{zql/ivm → ivm}/filter.js +2 -2
- package/out/zql/src/ivm/filter.js.map +1 -0
- package/out/zql/src/{zql/ivm → ivm}/join.d.ts +2 -2
- package/out/zql/src/ivm/join.d.ts.map +1 -0
- package/out/zql/src/{zql/ivm → ivm}/join.js +2 -2
- package/out/zql/src/ivm/join.js.map +1 -0
- package/out/zql/src/ivm/lookahead-iterator.d.ts.map +1 -0
- package/out/zql/src/ivm/lookahead-iterator.js.map +1 -0
- package/out/zql/src/{zql/ivm → ivm}/maybe-split-and-push-edit-change.d.ts +1 -1
- package/out/zql/src/ivm/maybe-split-and-push-edit-change.d.ts.map +1 -0
- package/out/zql/src/ivm/maybe-split-and-push-edit-change.js.map +1 -0
- package/out/zql/src/{zql/ivm → ivm}/memory-source.d.ts +16 -12
- package/out/zql/src/ivm/memory-source.d.ts.map +1 -0
- package/out/zql/src/{zql/ivm → ivm}/memory-source.js +72 -92
- package/out/zql/src/ivm/memory-source.js.map +1 -0
- package/out/zql/src/{zql/ivm → ivm}/memory-storage.d.ts +1 -1
- package/out/zql/src/ivm/memory-storage.d.ts.map +1 -0
- package/out/zql/src/{zql/ivm → ivm}/operator.d.ts +5 -5
- package/out/zql/src/ivm/operator.d.ts.map +1 -0
- package/out/zql/src/ivm/operator.js.map +1 -0
- package/out/zql/src/ivm/schema.d.ts +15 -0
- package/out/zql/src/ivm/schema.d.ts.map +1 -0
- package/out/zql/src/ivm/schema.js +2 -0
- package/out/zql/src/ivm/schema.js.map +1 -0
- package/out/zql/src/{zql/ivm → ivm}/skip.d.ts +3 -3
- package/out/zql/src/ivm/skip.d.ts.map +1 -0
- package/out/zql/src/{zql/ivm → ivm}/skip.js +2 -2
- package/out/zql/src/ivm/skip.js.map +1 -0
- package/out/zql/src/{zql/ivm → ivm}/source.d.ts +2 -2
- package/out/zql/src/ivm/source.d.ts.map +1 -0
- package/out/zql/src/ivm/source.js.map +1 -0
- package/out/zql/src/ivm/stream.d.ts.map +1 -0
- package/out/zql/src/ivm/stream.js.map +1 -0
- package/out/zql/src/{zql/ivm → ivm}/take.d.ts +3 -3
- package/out/zql/src/ivm/take.d.ts.map +1 -0
- package/out/zql/src/{zql/ivm → ivm}/take.js +13 -9
- package/out/zql/src/ivm/take.js.map +1 -0
- package/out/zql/src/ivm/view-apply-change.d.ts +5 -0
- package/out/zql/src/ivm/view-apply-change.d.ts.map +1 -0
- package/out/zql/src/{zql/ivm → ivm}/view.d.ts +2 -2
- package/out/zql/src/ivm/view.d.ts.map +1 -0
- package/out/zql/src/query/auth-query.d.ts +24 -0
- package/out/zql/src/query/auth-query.d.ts.map +1 -0
- package/out/zql/src/query/dnf.d.ts +10 -0
- package/out/zql/src/query/dnf.d.ts.map +1 -0
- package/out/zql/src/query/escape-like.d.ts.map +1 -0
- package/out/zql/src/query/expression.d.ts +41 -0
- package/out/zql/src/query/expression.d.ts.map +1 -0
- package/out/zql/src/{zql/query → query}/query-impl.d.ts +9 -8
- package/out/zql/src/query/query-impl.d.ts.map +1 -0
- package/out/zql/src/{zql/query → query}/query-internal.d.ts +1 -1
- package/out/zql/src/query/query-internal.d.ts.map +1 -0
- package/out/zql/src/query/query.d.ts +98 -0
- package/out/zql/src/query/query.d.ts.map +1 -0
- package/out/zql/src/{zql/query → query}/typed-view.d.ts +1 -1
- package/out/zql/src/query/typed-view.d.ts.map +1 -0
- package/out/zqlite/src/db.d.ts.map +1 -1
- package/out/zqlite/src/db.js +19 -6
- package/out/zqlite/src/db.js.map +1 -1
- package/out/zqlite/src/table-source.d.ts +24 -3
- package/out/zqlite/src/table-source.d.ts.map +1 -1
- package/out/zqlite/src/table-source.js +117 -18
- package/out/zqlite/src/table-source.js.map +1 -1
- package/package.json +11 -6
- package/out/chunk-TBA526RR.js.map +0 -7
- package/out/datadog/src/datadog-log-sink.js +0 -231
- package/out/datadog/src/datadog-log-sink.js.map +0 -1
- package/out/datadog/src/mod.js +0 -2
- package/out/datadog/src/mod.js.map +0 -1
- package/out/replicache/src/async-iterable-to-array.js +0 -8
- package/out/replicache/src/async-iterable-to-array.js.map +0 -1
- package/out/replicache/src/bg-interval.js +0 -38
- package/out/replicache/src/bg-interval.js.map +0 -1
- package/out/replicache/src/binary-search.js +0 -31
- package/out/replicache/src/binary-search.js.map +0 -1
- package/out/replicache/src/broadcast-channel.js +0 -29
- package/out/replicache/src/broadcast-channel.js.map +0 -1
- package/out/replicache/src/btree/diff.js +0 -6
- package/out/replicache/src/btree/diff.js.map +0 -1
- package/out/replicache/src/btree/node.js +0 -392
- package/out/replicache/src/btree/node.js.map +0 -1
- package/out/replicache/src/btree/read.js +0 -227
- package/out/replicache/src/btree/read.js.map +0 -1
- package/out/replicache/src/btree/splice.js +0 -79
- package/out/replicache/src/btree/splice.js.map +0 -1
- package/out/replicache/src/btree/write.js +0 -154
- package/out/replicache/src/btree/write.js.map +0 -1
- package/out/replicache/src/call-default-fetch.js +0 -37
- package/out/replicache/src/call-default-fetch.js.map +0 -1
- package/out/replicache/src/config.js +0 -13
- package/out/replicache/src/config.js.map +0 -1
- package/out/replicache/src/connection-loop-delegates.js +0 -30
- package/out/replicache/src/connection-loop-delegates.js.map +0 -1
- package/out/replicache/src/connection-loop.js +0 -268
- package/out/replicache/src/connection-loop.js.map +0 -1
- package/out/replicache/src/cookies.js +0 -41
- package/out/replicache/src/cookies.js.map +0 -1
- package/out/replicache/src/dag/chunk.js +0 -60
- package/out/replicache/src/dag/chunk.js.map +0 -1
- package/out/replicache/src/dag/gc.js +0 -126
- package/out/replicache/src/dag/gc.js.map +0 -1
- package/out/replicache/src/dag/key-type-enum.js +0 -6
- package/out/replicache/src/dag/key-type-enum.js.map +0 -1
- package/out/replicache/src/dag/key.js +0 -54
- package/out/replicache/src/dag/key.js.map +0 -1
- package/out/replicache/src/dag/lazy-store.js +0 -532
- package/out/replicache/src/dag/lazy-store.js.map +0 -1
- package/out/replicache/src/dag/store-impl.js +0 -175
- package/out/replicache/src/dag/store-impl.js.map +0 -1
- package/out/replicache/src/dag/store.js +0 -22
- package/out/replicache/src/dag/store.js.map +0 -1
- package/out/replicache/src/dag/visitor.js +0 -22
- package/out/replicache/src/dag/visitor.js.map +0 -1
- package/out/replicache/src/db/commit.js +0 -443
- package/out/replicache/src/db/commit.js.map +0 -1
- package/out/replicache/src/db/index-operation-enum.js +0 -4
- package/out/replicache/src/db/index-operation-enum.js.map +0 -1
- package/out/replicache/src/db/index.js +0 -170
- package/out/replicache/src/db/index.js.map +0 -1
- package/out/replicache/src/db/meta-type-enum.js +0 -7
- package/out/replicache/src/db/meta-type-enum.js.map +0 -1
- package/out/replicache/src/db/read.js +0 -59
- package/out/replicache/src/db/read.js.map +0 -1
- package/out/replicache/src/db/rebase.js +0 -56
- package/out/replicache/src/db/rebase.js.map +0 -1
- package/out/replicache/src/db/scan.js +0 -2
- package/out/replicache/src/db/scan.js.map +0 -1
- package/out/replicache/src/db/write.js +0 -260
- package/out/replicache/src/db/write.js.map +0 -1
- package/out/replicache/src/error-responses.js +0 -30
- package/out/replicache/src/error-responses.js.map +0 -1
- package/out/replicache/src/filter-async-iterable.js +0 -15
- package/out/replicache/src/filter-async-iterable.js.map +0 -1
- package/out/replicache/src/format-version-enum.js +0 -9
- package/out/replicache/src/format-version-enum.js.map +0 -1
- package/out/replicache/src/format-version.js +0 -8
- package/out/replicache/src/format-version.js.map +0 -1
- package/out/replicache/src/frozen-json.js +0 -151
- package/out/replicache/src/frozen-json.js.map +0 -1
- package/out/replicache/src/get-default-puller.js +0 -74
- package/out/replicache/src/get-default-puller.js.map +0 -1
- package/out/replicache/src/get-default-pusher.js +0 -36
- package/out/replicache/src/get-default-pusher.js.map +0 -1
- package/out/replicache/src/hash.js +0 -73
- package/out/replicache/src/hash.js.map +0 -1
- package/out/replicache/src/http-request-info.js +0 -7
- package/out/replicache/src/http-request-info.js.map +0 -1
- package/out/replicache/src/impl.js +0 -2
- package/out/replicache/src/impl.js.map +0 -1
- package/out/replicache/src/index-defs.js +0 -28
- package/out/replicache/src/index-defs.js.map +0 -1
- package/out/replicache/src/invoke-kind-enum.js +0 -4
- package/out/replicache/src/invoke-kind-enum.js.map +0 -1
- package/out/replicache/src/iterable-union.js +0 -5
- package/out/replicache/src/iterable-union.js.map +0 -1
- package/out/replicache/src/kv/idb-store-with-mem-fallback.js +0 -93
- package/out/replicache/src/kv/idb-store-with-mem-fallback.js.map +0 -1
- package/out/replicache/src/kv/idb-store.js +0 -179
- package/out/replicache/src/kv/idb-store.js.map +0 -1
- package/out/replicache/src/kv/mem-store.js +0 -61
- package/out/replicache/src/kv/mem-store.js.map +0 -1
- package/out/replicache/src/kv/read-impl.js +0 -23
- package/out/replicache/src/kv/read-impl.js.map +0 -1
- package/out/replicache/src/kv/store.js +0 -2
- package/out/replicache/src/kv/store.js.map +0 -1
- package/out/replicache/src/kv/write-impl-base.js +0 -48
- package/out/replicache/src/kv/write-impl-base.js.map +0 -1
- package/out/replicache/src/kv/write-impl.js +0 -25
- package/out/replicache/src/kv/write-impl.js.map +0 -1
- package/out/replicache/src/lazy.js +0 -10
- package/out/replicache/src/lazy.js.map +0 -1
- package/out/replicache/src/log-options.js +0 -13
- package/out/replicache/src/log-options.js.map +0 -1
- package/out/replicache/src/merge-async-iterables.js +0 -61
- package/out/replicache/src/merge-async-iterables.js.map +0 -1
- package/out/replicache/src/mod.js +0 -14
- package/out/replicache/src/mod.js.map +0 -1
- package/out/replicache/src/mutation-recovery.js +0 -439
- package/out/replicache/src/mutation-recovery.js.map +0 -1
- package/out/replicache/src/new-client-channel.js +0 -77
- package/out/replicache/src/new-client-channel.js.map +0 -1
- package/out/replicache/src/on-persist-channel.js +0 -33
- package/out/replicache/src/on-persist-channel.js.map +0 -1
- package/out/replicache/src/patch-operation.js +0 -37
- package/out/replicache/src/patch-operation.js.map +0 -1
- package/out/replicache/src/pending-mutations.js +0 -18
- package/out/replicache/src/pending-mutations.js.map +0 -1
- package/out/replicache/src/persist/client-gc.js +0 -38
- package/out/replicache/src/persist/client-gc.js.map +0 -1
- package/out/replicache/src/persist/client-group-gc.js +0 -38
- package/out/replicache/src/persist/client-group-gc.js.map +0 -1
- package/out/replicache/src/persist/client-groups.js +0 -180
- package/out/replicache/src/persist/client-groups.js.map +0 -1
- package/out/replicache/src/persist/clients.js +0 -390
- package/out/replicache/src/persist/clients.js.map +0 -1
- package/out/replicache/src/persist/collect-idb-databases.js +0 -174
- package/out/replicache/src/persist/collect-idb-databases.js.map +0 -1
- package/out/replicache/src/persist/gather-mem-only-visitor.js +0 -25
- package/out/replicache/src/persist/gather-mem-only-visitor.js.map +0 -1
- package/out/replicache/src/persist/gather-not-cached-visitor.js +0 -35
- package/out/replicache/src/persist/gather-not-cached-visitor.js.map +0 -1
- package/out/replicache/src/persist/heartbeat.js +0 -37
- package/out/replicache/src/persist/heartbeat.js.map +0 -1
- package/out/replicache/src/persist/idb-databases-store-db-name.js +0 -18
- package/out/replicache/src/persist/idb-databases-store-db-name.js.map +0 -1
- package/out/replicache/src/persist/idb-databases-store.js +0 -90
- package/out/replicache/src/persist/idb-databases-store.js.map +0 -1
- package/out/replicache/src/persist/make-client-id.js +0 -13
- package/out/replicache/src/persist/make-client-id.js.map +0 -1
- package/out/replicache/src/persist/persist.js +0 -132
- package/out/replicache/src/persist/persist.js.map +0 -1
- package/out/replicache/src/persist/refresh.js +0 -147
- package/out/replicache/src/persist/refresh.js.map +0 -1
- package/out/replicache/src/process-scheduler.js +0 -93
- package/out/replicache/src/process-scheduler.js.map +0 -1
- package/out/replicache/src/puller.js +0 -2
- package/out/replicache/src/puller.js.map +0 -1
- package/out/replicache/src/pusher.js +0 -32
- package/out/replicache/src/pusher.js.map +0 -1
- package/out/replicache/src/replicache-impl.js +0 -1007
- package/out/replicache/src/replicache-impl.js.map +0 -1
- package/out/replicache/src/replicache-options.js +0 -2
- package/out/replicache/src/replicache-options.js.map +0 -1
- package/out/replicache/src/replicache.js +0 -387
- package/out/replicache/src/replicache.js.map +0 -1
- package/out/replicache/src/request-idle.js +0 -15
- package/out/replicache/src/request-idle.js.map +0 -1
- package/out/replicache/src/scan-iterator.js +0 -202
- package/out/replicache/src/scan-iterator.js.map +0 -1
- package/out/replicache/src/scan-options.js +0 -45
- package/out/replicache/src/scan-options.js.map +0 -1
- package/out/replicache/src/set-interval-with-signal.js +0 -7
- package/out/replicache/src/set-interval-with-signal.js.map +0 -1
- package/out/replicache/src/size-of-value.js +0 -77
- package/out/replicache/src/size-of-value.js.map +0 -1
- package/out/replicache/src/subscriptions.js +0 -357
- package/out/replicache/src/subscriptions.js.map +0 -1
- package/out/replicache/src/sync/diff.js +0 -75
- package/out/replicache/src/sync/diff.js.map +0 -1
- package/out/replicache/src/sync/handle-pull-response-result-type-enum.js +0 -5
- package/out/replicache/src/sync/handle-pull-response-result-type-enum.js.map +0 -1
- package/out/replicache/src/sync/ids.js +0 -4
- package/out/replicache/src/sync/ids.js.map +0 -1
- package/out/replicache/src/sync/patch.js +0 -41
- package/out/replicache/src/sync/patch.js.map +0 -1
- package/out/replicache/src/sync/pull-error.js +0 -16
- package/out/replicache/src/sync/pull-error.js.map +0 -1
- package/out/replicache/src/sync/pull.js +0 -375
- package/out/replicache/src/sync/pull.js.map +0 -1
- package/out/replicache/src/sync/push.js +0 -141
- package/out/replicache/src/sync/push.js.map +0 -1
- package/out/replicache/src/sync/request-id.js +0 -31
- package/out/replicache/src/sync/request-id.js.map +0 -1
- package/out/replicache/src/sync/sync-head-name.js +0 -2
- package/out/replicache/src/sync/sync-head-name.js.map +0 -1
- package/out/replicache/src/test-license-key.js +0 -3
- package/out/replicache/src/test-license-key.js.map +0 -1
- package/out/replicache/src/to-error.js +0 -7
- package/out/replicache/src/to-error.js.map +0 -1
- package/out/replicache/src/transaction-closed-error.js +0 -17
- package/out/replicache/src/transaction-closed-error.js.map +0 -1
- package/out/replicache/src/transactions.js +0 -144
- package/out/replicache/src/transactions.js.map +0 -1
- package/out/replicache/src/types.js +0 -2
- package/out/replicache/src/types.js.map +0 -1
- package/out/replicache/src/version.js +0 -6
- package/out/replicache/src/version.js.map +0 -1
- package/out/replicache/src/with-transactions.js +0 -28
- package/out/replicache/src/with-transactions.js.map +0 -1
- package/out/shared/src/browser-env.js +0 -14
- package/out/shared/src/browser-env.js.map +0 -1
- package/out/shared/src/document-visible.js +0 -76
- package/out/shared/src/document-visible.js.map +0 -1
- package/out/shared/src/immutable.js +0 -2
- package/out/shared/src/immutable.js.map +0 -1
- package/out/shared/src/navigator.js +0 -3
- package/out/shared/src/navigator.js.map +0 -1
- package/out/shared/src/random-uint64.js +0 -8
- package/out/shared/src/random-uint64.js.map +0 -1
- package/out/shared/src/sorted-entries.js +0 -6
- package/out/shared/src/sorted-entries.js.map +0 -1
- package/out/shared/src/types.js +0 -2
- package/out/shared/src/types.js.map +0 -1
- package/out/shared/src/writable.js +0 -2
- package/out/shared/src/writable.js.map +0 -1
- package/out/zero/src/config.d.ts +0 -2
- package/out/zero/src/config.d.ts.map +0 -1
- package/out/zero/src/config.js +0 -2
- package/out/zero/src/config.js.map +0 -1
- package/out/zero-cache/src/config/config-query.d.ts +0 -19
- package/out/zero-cache/src/config/config-query.d.ts.map +0 -1
- package/out/zero-cache/src/config/config-query.js +0 -22
- package/out/zero-cache/src/config/config-query.js.map +0 -1
- package/out/zero-cache/src/config/define-config.d.ts +0 -43
- package/out/zero-cache/src/config/define-config.d.ts.map +0 -1
- package/out/zero-cache/src/config/define-config.js +0 -120
- package/out/zero-cache/src/config/define-config.js.map +0 -1
- package/out/zero-cache/src/config/refs.d.ts +0 -3
- package/out/zero-cache/src/config/refs.d.ts.map +0 -1
- package/out/zero-cache/src/config/refs.js +0 -14
- package/out/zero-cache/src/config/refs.js.map +0 -1
- package/out/zero-client/src/client/context.js +0 -113
- package/out/zero-client/src/client/context.js.map +0 -1
- package/out/zero-client/src/client/crud.js +0 -181
- package/out/zero-client/src/client/crud.js.map +0 -1
- package/out/zero-client/src/client/enable-analytics.js +0 -21
- package/out/zero-client/src/client/enable-analytics.js.map +0 -1
- package/out/zero-client/src/client/http-string.js +0 -14
- package/out/zero-client/src/client/http-string.js.map +0 -1
- package/out/zero-client/src/client/keys.js +0 -32
- package/out/zero-client/src/client/keys.js.map +0 -1
- package/out/zero-client/src/client/log-options.js +0 -57
- package/out/zero-client/src/client/log-options.js.map +0 -1
- package/out/zero-client/src/client/metrics.js +0 -268
- package/out/zero-client/src/client/metrics.js.map +0 -1
- package/out/zero-client/src/client/normalized-schema.d.ts.map +0 -1
- package/out/zero-client/src/client/normalized-schema.js +0 -31
- package/out/zero-client/src/client/normalized-schema.js.map +0 -1
- package/out/zero-client/src/client/options.js +0 -2
- package/out/zero-client/src/client/options.js.map +0 -1
- package/out/zero-client/src/client/query-manager.js +0 -146
- package/out/zero-client/src/client/query-manager.js.map +0 -1
- package/out/zero-client/src/client/reload-error-handler.js +0 -23
- package/out/zero-client/src/client/reload-error-handler.js.map +0 -1
- package/out/zero-client/src/client/replicache-types.js +0 -2
- package/out/zero-client/src/client/replicache-types.js.map +0 -1
- package/out/zero-client/src/client/server-error.js +0 -22
- package/out/zero-client/src/client/server-error.js.map +0 -1
- package/out/zero-client/src/client/server-option.js +0 -37
- package/out/zero-client/src/client/server-option.js.map +0 -1
- package/out/zero-client/src/client/version.js +0 -6
- package/out/zero-client/src/client/version.js.map +0 -1
- package/out/zero-client/src/client/zero-poke-handler.js +0 -240
- package/out/zero-client/src/client/zero-poke-handler.js.map +0 -1
- package/out/zero-client/src/client/zero.js +0 -1233
- package/out/zero-client/src/client/zero.js.map +0 -1
- package/out/zero-client/src/mod.js +0 -7
- package/out/zero-client/src/mod.js.map +0 -1
- package/out/zero-client/src/util/nanoid.js +0 -34
- package/out/zero-client/src/util/nanoid.js.map +0 -1
- package/out/zero-client/src/util/socket.js +0 -4
- package/out/zero-client/src/util/socket.js.map +0 -1
- package/out/zero-protocol/src/ast-hash.js +0 -14
- package/out/zero-protocol/src/ast-hash.js.map +0 -1
- package/out/zql/src/zql/builder/builder.d.ts.map +0 -1
- package/out/zql/src/zql/builder/builder.js.map +0 -1
- package/out/zql/src/zql/builder/error.d.ts.map +0 -1
- package/out/zql/src/zql/builder/error.js.map +0 -1
- package/out/zql/src/zql/builder/filter.d.ts +0 -6
- package/out/zql/src/zql/builder/filter.d.ts.map +0 -1
- package/out/zql/src/zql/builder/filter.js.map +0 -1
- package/out/zql/src/zql/builder/like.d.ts +0 -3
- package/out/zql/src/zql/builder/like.d.ts.map +0 -1
- package/out/zql/src/zql/builder/like.js.map +0 -1
- package/out/zql/src/zql/ivm/array-view.d.ts.map +0 -1
- package/out/zql/src/zql/ivm/array-view.js +0 -70
- package/out/zql/src/zql/ivm/array-view.js.map +0 -1
- package/out/zql/src/zql/ivm/change.d.ts.map +0 -1
- package/out/zql/src/zql/ivm/change.js +0 -2
- package/out/zql/src/zql/ivm/change.js.map +0 -1
- package/out/zql/src/zql/ivm/data.d.ts.map +0 -1
- package/out/zql/src/zql/ivm/data.js.map +0 -1
- package/out/zql/src/zql/ivm/fan-in.d.ts.map +0 -1
- package/out/zql/src/zql/ivm/fan-in.js.map +0 -1
- package/out/zql/src/zql/ivm/fan-out.d.ts.map +0 -1
- package/out/zql/src/zql/ivm/fan-out.js.map +0 -1
- package/out/zql/src/zql/ivm/filter.d.ts.map +0 -1
- package/out/zql/src/zql/ivm/filter.js.map +0 -1
- package/out/zql/src/zql/ivm/join.d.ts.map +0 -1
- package/out/zql/src/zql/ivm/join.js.map +0 -1
- package/out/zql/src/zql/ivm/lookahead-iterator.d.ts.map +0 -1
- package/out/zql/src/zql/ivm/lookahead-iterator.js.map +0 -1
- package/out/zql/src/zql/ivm/maybe-split-and-push-edit-change.d.ts.map +0 -1
- package/out/zql/src/zql/ivm/maybe-split-and-push-edit-change.js.map +0 -1
- package/out/zql/src/zql/ivm/memory-source.d.ts.map +0 -1
- package/out/zql/src/zql/ivm/memory-source.js.map +0 -1
- package/out/zql/src/zql/ivm/memory-storage.d.ts.map +0 -1
- package/out/zql/src/zql/ivm/memory-storage.js +0 -33
- package/out/zql/src/zql/ivm/memory-storage.js.map +0 -1
- package/out/zql/src/zql/ivm/operator.d.ts.map +0 -1
- package/out/zql/src/zql/ivm/operator.js.map +0 -1
- package/out/zql/src/zql/ivm/schema.d.ts +0 -29
- package/out/zql/src/zql/ivm/schema.d.ts.map +0 -1
- package/out/zql/src/zql/ivm/schema.js +0 -3
- package/out/zql/src/zql/ivm/schema.js.map +0 -1
- package/out/zql/src/zql/ivm/skip.d.ts.map +0 -1
- package/out/zql/src/zql/ivm/skip.js.map +0 -1
- package/out/zql/src/zql/ivm/source.d.ts.map +0 -1
- package/out/zql/src/zql/ivm/source.js.map +0 -1
- package/out/zql/src/zql/ivm/stream.d.ts.map +0 -1
- package/out/zql/src/zql/ivm/stream.js.map +0 -1
- package/out/zql/src/zql/ivm/take.d.ts.map +0 -1
- package/out/zql/src/zql/ivm/take.js.map +0 -1
- package/out/zql/src/zql/ivm/view-apply-change.d.ts +0 -5
- package/out/zql/src/zql/ivm/view-apply-change.d.ts.map +0 -1
- package/out/zql/src/zql/ivm/view-apply-change.js +0 -156
- package/out/zql/src/zql/ivm/view-apply-change.js.map +0 -1
- package/out/zql/src/zql/ivm/view.d.ts.map +0 -1
- package/out/zql/src/zql/ivm/view.js +0 -2
- package/out/zql/src/zql/ivm/view.js.map +0 -1
- package/out/zql/src/zql/query/escape-like.d.ts.map +0 -1
- package/out/zql/src/zql/query/escape-like.js +0 -4
- package/out/zql/src/zql/query/escape-like.js.map +0 -1
- package/out/zql/src/zql/query/expression.d.ts +0 -25
- package/out/zql/src/zql/query/expression.d.ts.map +0 -1
- package/out/zql/src/zql/query/expression.js +0 -115
- package/out/zql/src/zql/query/expression.js.map +0 -1
- package/out/zql/src/zql/query/normalize-table-schema.d.ts.map +0 -1
- package/out/zql/src/zql/query/normalize-table-schema.js +0 -116
- package/out/zql/src/zql/query/normalize-table-schema.js.map +0 -1
- package/out/zql/src/zql/query/query-impl.d.ts.map +0 -1
- package/out/zql/src/zql/query/query-impl.js +0 -289
- package/out/zql/src/zql/query/query-impl.js.map +0 -1
- package/out/zql/src/zql/query/query-internal.d.ts.map +0 -1
- package/out/zql/src/zql/query/query-internal.js +0 -2
- package/out/zql/src/zql/query/query-internal.js.map +0 -1
- package/out/zql/src/zql/query/query.d.ts +0 -142
- package/out/zql/src/zql/query/query.d.ts.map +0 -1
- package/out/zql/src/zql/query/query.js +0 -3
- package/out/zql/src/zql/query/query.js.map +0 -1
- package/out/zql/src/zql/query/schema.d.ts.map +0 -1
- package/out/zql/src/zql/query/schema.js.map +0 -1
- package/out/zql/src/zql/query/typed-view.d.ts.map +0 -1
- package/out/zql/src/zql/query/typed-view.js +0 -2
- package/out/zql/src/zql/query/typed-view.js.map +0 -1
- /package/out/{internal.js.map → advanced.js.map} +0 -0
- /package/out/zql/src/{zql/builder → builder}/error.d.ts +0 -0
- /package/out/zql/src/{zql/builder → builder}/error.js +0 -0
- /package/out/zql/src/{zql/ivm → ivm}/array-view.d.ts +0 -0
- /package/out/zql/src/{zql/ivm → ivm}/lookahead-iterator.d.ts +0 -0
- /package/out/zql/src/{zql/ivm → ivm}/lookahead-iterator.js +0 -0
- /package/out/zql/src/{zql/ivm → ivm}/maybe-split-and-push-edit-change.js +0 -0
- /package/out/zql/src/{zql/ivm → ivm}/operator.js +0 -0
- /package/out/zql/src/{zql/ivm → ivm}/source.js +0 -0
- /package/out/zql/src/{zql/ivm → ivm}/stream.d.ts +0 -0
- /package/out/zql/src/{zql/ivm → ivm}/stream.js +0 -0
- /package/out/zql/src/{zql/query → query}/escape-like.d.ts +0 -0
|
@@ -12,11 +12,16 @@ import { initReplicationState, ZERO_VERSION_COLUMN_NAME, } from '../../replicato
|
|
|
12
12
|
import { toLexiVersion } from './lsn.js';
|
|
13
13
|
import { initShardSchema } from './schema/init.js';
|
|
14
14
|
import { getPublicationInfo } from './schema/published.js';
|
|
15
|
-
import {
|
|
15
|
+
import { getInternalShardConfig, setInitialSchema, validatePublications, } from './schema/shard.js';
|
|
16
|
+
// https://www.postgresql.org/docs/current/warm-standby.html#STREAMING-REPLICATION-SLOTS-MANIPULATION
|
|
17
|
+
const ALLOWED_SHARD_ID_CHARACTERS = /^[a-z0-9_]+$/;
|
|
16
18
|
export function replicationSlot(shardID) {
|
|
17
19
|
return `zero_${shardID}`;
|
|
18
20
|
}
|
|
19
21
|
export async function initialSync(lc, shard, tx, upstreamURI) {
|
|
22
|
+
if (!ALLOWED_SHARD_ID_CHARACTERS.test(shard.id)) {
|
|
23
|
+
throw new Error('A shard ID may only consist of lower-case letters, numbers, and the underscore character');
|
|
24
|
+
}
|
|
20
25
|
const upstreamDB = pgClient(lc, upstreamURI, {
|
|
21
26
|
max: MAX_WORKERS,
|
|
22
27
|
});
|
|
@@ -27,25 +32,35 @@ export async function initialSync(lc, shard, tx, upstreamURI) {
|
|
|
27
32
|
});
|
|
28
33
|
try {
|
|
29
34
|
await checkUpstreamConfig(upstreamDB);
|
|
30
|
-
const { publications
|
|
31
|
-
|
|
32
|
-
lc.info?.(`Upstream is setup with publications [${pubNames}]`);
|
|
33
|
-
createLiteTables(tx, tables);
|
|
34
|
-
createLiteIndices(tx, indices);
|
|
35
|
+
const { publications } = await ensurePublishedTables(lc, upstreamDB, shard);
|
|
36
|
+
lc.info?.(`Upstream is setup with publications [${publications}]`);
|
|
35
37
|
const { database, host } = upstreamDB.options;
|
|
36
38
|
lc.info?.(`opening replication session to ${database}@${host}`);
|
|
37
39
|
const { snapshot_name: snapshot, consistent_point: lsn } = await createReplicationSlot(lc, shard.id, replicationSession);
|
|
38
40
|
// Run up to MAX_WORKERS to copy of tables at the replication slot's snapshot.
|
|
39
|
-
const copiers = startTableCopyWorkers(lc, upstreamDB,
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
41
|
+
const copiers = startTableCopyWorkers(lc, upstreamDB, snapshot);
|
|
42
|
+
let published;
|
|
43
|
+
try {
|
|
44
|
+
// Retrieve the published schema at the consistent_point.
|
|
45
|
+
published = await copiers.processReadTask(db => getPublicationInfo(db, publications));
|
|
46
|
+
// Note: If this throws, initial-sync is aborted.
|
|
47
|
+
validatePublications(lc, shard.id, published);
|
|
48
|
+
// Now that tables have been validated, kick off the copiers.
|
|
49
|
+
const { tables, indexes } = published;
|
|
50
|
+
createLiteTables(tx, tables);
|
|
51
|
+
createLiteIndices(tx, indexes);
|
|
52
|
+
await Promise.all(tables.map(table => copiers.process(db => copy(lc, table, db, tx).then(() => []))));
|
|
53
|
+
}
|
|
54
|
+
finally {
|
|
55
|
+
copiers.setDone();
|
|
56
|
+
}
|
|
57
|
+
await setInitialSchema(upstreamDB, shard.id, published);
|
|
58
|
+
initReplicationState(tx, publications, toLexiVersion(lsn));
|
|
43
59
|
initChangeLog(tx);
|
|
44
|
-
lc.info?.(`Synced initial data from ${
|
|
60
|
+
lc.info?.(`Synced initial data from ${publications} up to ${lsn}`);
|
|
45
61
|
await copiers.done();
|
|
46
62
|
}
|
|
47
63
|
finally {
|
|
48
|
-
// Close the upstream connections.
|
|
49
64
|
await replicationSession.end();
|
|
50
65
|
await upstreamDB.end();
|
|
51
66
|
}
|
|
@@ -66,8 +81,7 @@ async function ensurePublishedTables(lc, upstreamDB, shard) {
|
|
|
66
81
|
const { database, host } = upstreamDB.options;
|
|
67
82
|
lc.info?.(`Ensuring upstream PUBLICATION on ${database}@${host}`);
|
|
68
83
|
await initShardSchema(lc, upstreamDB, shard);
|
|
69
|
-
|
|
70
|
-
return getPublicationInfo(upstreamDB, publications);
|
|
84
|
+
return getInternalShardConfig(upstreamDB, shard.id);
|
|
71
85
|
}
|
|
72
86
|
/* eslint-enable @typescript-eslint/naming-convention */
|
|
73
87
|
async function createReplicationSlot(lc, shardID, session) {
|
|
@@ -88,19 +102,19 @@ async function createReplicationSlot(lc, shardID, session) {
|
|
|
88
102
|
lc.info?.(`Dropping existing replication slot ${slotName}`);
|
|
89
103
|
await session.unsafe(`DROP_REPLICATION_SLOT ${slotName} WAIT`);
|
|
90
104
|
}
|
|
91
|
-
const slot = (await session.unsafe(`CREATE_REPLICATION_SLOT ${slotName} LOGICAL pgoutput`))[0];
|
|
105
|
+
const slot = (await session.unsafe(`CREATE_REPLICATION_SLOT "${slotName}" LOGICAL pgoutput`))[0];
|
|
92
106
|
lc.info?.(`Created replication slot ${slotName}`, slot);
|
|
93
107
|
return slot;
|
|
94
108
|
}
|
|
95
109
|
// TODO: Consider parameterizing these.
|
|
96
110
|
const MAX_WORKERS = 5;
|
|
97
111
|
const BATCH_SIZE = 100_000;
|
|
98
|
-
function startTableCopyWorkers(lc, db,
|
|
112
|
+
function startTableCopyWorkers(lc, db, snapshot) {
|
|
99
113
|
const { init } = importSnapshot(snapshot);
|
|
100
|
-
const numWorkers =
|
|
114
|
+
const numWorkers = MAX_WORKERS;
|
|
101
115
|
const tableCopiers = new TransactionPool(lc, Mode.READONLY, init, undefined, numWorkers);
|
|
102
116
|
tableCopiers.run(db);
|
|
103
|
-
lc.info?.(`Started ${numWorkers} workers to copy
|
|
117
|
+
lc.info?.(`Started ${numWorkers} workers to copy tables`);
|
|
104
118
|
return tableCopiers;
|
|
105
119
|
}
|
|
106
120
|
function createLiteTables(tx, tables) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initial-sync.js","sourceRoot":"","sources":["../../../../../../../zero-cache/src/services/change-streamer/pg/initial-sync.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAC,QAAQ,EAAC,MAAM,iCAAiC,CAAC;AACzD,OAAO,EACL,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACL,cAAc,EACd,IAAI,EACJ,eAAe,GAChB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAC,UAAU,EAAC,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAC,aAAa,EAAC,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAC,QAAQ,EAAkB,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAC,EAAE,EAAC,MAAM,uBAAuB,CAAC;AACzC,OAAO,EAAC,aAAa,EAAC,MAAM,uCAAuC,CAAC;AACpE,OAAO,EACL,oBAAoB,EACpB,wBAAwB,GACzB,MAAM,8CAA8C,CAAC;AACtD,OAAO,EAAC,aAAa,EAAC,MAAM,UAAU,CAAC;AACvC,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAC,kBAAkB,EAAuB,MAAM,uBAAuB,CAAC;AAC/E,OAAO,
|
|
1
|
+
{"version":3,"file":"initial-sync.js","sourceRoot":"","sources":["../../../../../../../zero-cache/src/services/change-streamer/pg/initial-sync.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,40 +1,12 @@
|
|
|
1
1
|
import * as v from '../../../../../../shared/src/valita.js';
|
|
2
2
|
export declare const PROTOCOL_VERSION = 1;
|
|
3
|
-
declare const publishedSchema: v.ObjectType<{
|
|
4
|
-
tables: v.ArrayType<v.ObjectType<Omit<Omit<{
|
|
5
|
-
name: v.Type<string>;
|
|
6
|
-
columns: v.Type<Record<string, {
|
|
7
|
-
characterMaximumLength?: number | null | undefined;
|
|
8
|
-
notNull?: boolean | null | undefined;
|
|
9
|
-
dflt?: string | null | undefined;
|
|
10
|
-
pos: number;
|
|
11
|
-
dataType: string;
|
|
12
|
-
}>>;
|
|
13
|
-
primaryKey: v.ArrayType<v.Type<string>>;
|
|
14
|
-
}, "schema"> & {
|
|
15
|
-
schema: v.Type<string>;
|
|
16
|
-
}, "publications"> & {
|
|
17
|
-
publications: v.Type<Record<string, {
|
|
18
|
-
rowFilter: string | null;
|
|
19
|
-
}>>;
|
|
20
|
-
}, undefined>>;
|
|
21
|
-
indexes: v.ArrayType<v.ObjectType<Omit<{
|
|
22
|
-
name: v.Type<string>;
|
|
23
|
-
tableName: v.Type<string>;
|
|
24
|
-
unique: v.Type<boolean>;
|
|
25
|
-
columns: v.Type<Record<string, "ASC" | "DESC">>;
|
|
26
|
-
}, "schema"> & {
|
|
27
|
-
schema: v.Type<string>;
|
|
28
|
-
}, undefined>>;
|
|
29
|
-
}, undefined>;
|
|
30
|
-
export type PublishedSchema = v.Infer<typeof publishedSchema>;
|
|
31
3
|
export declare const ddlEventSchema: v.ObjectType<Omit<{
|
|
32
4
|
context: v.ObjectType<{
|
|
33
5
|
query: v.Type<string>;
|
|
34
6
|
}, v.Type<string>>;
|
|
35
7
|
}, "schema" | "version"> & {
|
|
36
8
|
version: v.Type<1>;
|
|
37
|
-
schema: v.ObjectType<{
|
|
9
|
+
schema: v.ObjectType<Omit<{
|
|
38
10
|
tables: v.ArrayType<v.ObjectType<Omit<Omit<{
|
|
39
11
|
name: v.Type<string>;
|
|
40
12
|
columns: v.Type<Record<string, {
|
|
@@ -47,11 +19,21 @@ export declare const ddlEventSchema: v.ObjectType<Omit<{
|
|
|
47
19
|
primaryKey: v.ArrayType<v.Type<string>>;
|
|
48
20
|
}, "schema"> & {
|
|
49
21
|
schema: v.Type<string>;
|
|
50
|
-
}, "publications"> & {
|
|
22
|
+
}, "publications" | "columns" | "oid"> & {
|
|
23
|
+
oid: v.Type<number>;
|
|
24
|
+
columns: v.Type<Record<string, {
|
|
25
|
+
characterMaximumLength?: number | null | undefined;
|
|
26
|
+
notNull?: boolean | null | undefined;
|
|
27
|
+
dflt?: string | null | undefined;
|
|
28
|
+
pos: number;
|
|
29
|
+
dataType: string;
|
|
30
|
+
typeOID: number;
|
|
31
|
+
}>>;
|
|
51
32
|
publications: v.Type<Record<string, {
|
|
52
33
|
rowFilter: string | null;
|
|
53
34
|
}>>;
|
|
54
35
|
}, undefined>>;
|
|
36
|
+
}, "indexes"> & {
|
|
55
37
|
indexes: v.ArrayType<v.ObjectType<Omit<{
|
|
56
38
|
name: v.Type<string>;
|
|
57
39
|
tableName: v.Type<string>;
|
|
@@ -68,7 +50,7 @@ export declare const ddlStartEventSchema: v.ObjectType<Omit<Omit<{
|
|
|
68
50
|
}, v.Type<string>>;
|
|
69
51
|
}, "schema" | "version"> & {
|
|
70
52
|
version: v.Type<1>;
|
|
71
|
-
schema: v.ObjectType<{
|
|
53
|
+
schema: v.ObjectType<Omit<{
|
|
72
54
|
tables: v.ArrayType<v.ObjectType<Omit<Omit<{
|
|
73
55
|
name: v.Type<string>;
|
|
74
56
|
columns: v.Type<Record<string, {
|
|
@@ -81,11 +63,21 @@ export declare const ddlStartEventSchema: v.ObjectType<Omit<Omit<{
|
|
|
81
63
|
primaryKey: v.ArrayType<v.Type<string>>;
|
|
82
64
|
}, "schema"> & {
|
|
83
65
|
schema: v.Type<string>;
|
|
84
|
-
}, "publications"> & {
|
|
66
|
+
}, "publications" | "columns" | "oid"> & {
|
|
67
|
+
oid: v.Type<number>;
|
|
68
|
+
columns: v.Type<Record<string, {
|
|
69
|
+
characterMaximumLength?: number | null | undefined;
|
|
70
|
+
notNull?: boolean | null | undefined;
|
|
71
|
+
dflt?: string | null | undefined;
|
|
72
|
+
pos: number;
|
|
73
|
+
dataType: string;
|
|
74
|
+
typeOID: number;
|
|
75
|
+
}>>;
|
|
85
76
|
publications: v.Type<Record<string, {
|
|
86
77
|
rowFilter: string | null;
|
|
87
78
|
}>>;
|
|
88
79
|
}, undefined>>;
|
|
80
|
+
}, "indexes"> & {
|
|
89
81
|
indexes: v.ArrayType<v.ObjectType<Omit<{
|
|
90
82
|
name: v.Type<string>;
|
|
91
83
|
tableName: v.Type<string>;
|
|
@@ -117,7 +109,7 @@ export declare const ddlUpdateEventSchema: v.ObjectType<Omit<Omit<{
|
|
|
117
109
|
}, v.Type<string>>;
|
|
118
110
|
}, "schema" | "version"> & {
|
|
119
111
|
version: v.Type<1>;
|
|
120
|
-
schema: v.ObjectType<{
|
|
112
|
+
schema: v.ObjectType<Omit<{
|
|
121
113
|
tables: v.ArrayType<v.ObjectType<Omit<Omit<{
|
|
122
114
|
name: v.Type<string>;
|
|
123
115
|
columns: v.Type<Record<string, {
|
|
@@ -130,11 +122,21 @@ export declare const ddlUpdateEventSchema: v.ObjectType<Omit<Omit<{
|
|
|
130
122
|
primaryKey: v.ArrayType<v.Type<string>>;
|
|
131
123
|
}, "schema"> & {
|
|
132
124
|
schema: v.Type<string>;
|
|
133
|
-
}, "publications"> & {
|
|
125
|
+
}, "publications" | "columns" | "oid"> & {
|
|
126
|
+
oid: v.Type<number>;
|
|
127
|
+
columns: v.Type<Record<string, {
|
|
128
|
+
characterMaximumLength?: number | null | undefined;
|
|
129
|
+
notNull?: boolean | null | undefined;
|
|
130
|
+
dflt?: string | null | undefined;
|
|
131
|
+
pos: number;
|
|
132
|
+
dataType: string;
|
|
133
|
+
typeOID: number;
|
|
134
|
+
}>>;
|
|
134
135
|
publications: v.Type<Record<string, {
|
|
135
136
|
rowFilter: string | null;
|
|
136
137
|
}>>;
|
|
137
138
|
}, undefined>>;
|
|
139
|
+
}, "indexes"> & {
|
|
138
140
|
indexes: v.ArrayType<v.ObjectType<Omit<{
|
|
139
141
|
name: v.Type<string>;
|
|
140
142
|
tableName: v.Type<string>;
|
|
@@ -171,7 +173,7 @@ export declare const replicationEventSchema: v.UnionType<[v.ObjectType<Omit<Omit
|
|
|
171
173
|
}, v.Type<string>>;
|
|
172
174
|
}, "schema" | "version"> & {
|
|
173
175
|
version: v.Type<1>;
|
|
174
|
-
schema: v.ObjectType<{
|
|
176
|
+
schema: v.ObjectType<Omit<{
|
|
175
177
|
tables: v.ArrayType<v.ObjectType<Omit<Omit<{
|
|
176
178
|
name: v.Type<string>;
|
|
177
179
|
columns: v.Type<Record<string, {
|
|
@@ -184,11 +186,21 @@ export declare const replicationEventSchema: v.UnionType<[v.ObjectType<Omit<Omit
|
|
|
184
186
|
primaryKey: v.ArrayType<v.Type<string>>;
|
|
185
187
|
}, "schema"> & {
|
|
186
188
|
schema: v.Type<string>;
|
|
187
|
-
}, "publications"> & {
|
|
189
|
+
}, "publications" | "columns" | "oid"> & {
|
|
190
|
+
oid: v.Type<number>;
|
|
191
|
+
columns: v.Type<Record<string, {
|
|
192
|
+
characterMaximumLength?: number | null | undefined;
|
|
193
|
+
notNull?: boolean | null | undefined;
|
|
194
|
+
dflt?: string | null | undefined;
|
|
195
|
+
pos: number;
|
|
196
|
+
dataType: string;
|
|
197
|
+
typeOID: number;
|
|
198
|
+
}>>;
|
|
188
199
|
publications: v.Type<Record<string, {
|
|
189
200
|
rowFilter: string | null;
|
|
190
201
|
}>>;
|
|
191
202
|
}, undefined>>;
|
|
203
|
+
}, "indexes"> & {
|
|
192
204
|
indexes: v.ArrayType<v.ObjectType<Omit<{
|
|
193
205
|
name: v.Type<string>;
|
|
194
206
|
tableName: v.Type<string>;
|
|
@@ -206,7 +218,7 @@ export declare const replicationEventSchema: v.UnionType<[v.ObjectType<Omit<Omit
|
|
|
206
218
|
}, v.Type<string>>;
|
|
207
219
|
}, "schema" | "version"> & {
|
|
208
220
|
version: v.Type<1>;
|
|
209
|
-
schema: v.ObjectType<{
|
|
221
|
+
schema: v.ObjectType<Omit<{
|
|
210
222
|
tables: v.ArrayType<v.ObjectType<Omit<Omit<{
|
|
211
223
|
name: v.Type<string>;
|
|
212
224
|
columns: v.Type<Record<string, {
|
|
@@ -219,11 +231,21 @@ export declare const replicationEventSchema: v.UnionType<[v.ObjectType<Omit<Omit
|
|
|
219
231
|
primaryKey: v.ArrayType<v.Type<string>>;
|
|
220
232
|
}, "schema"> & {
|
|
221
233
|
schema: v.Type<string>;
|
|
222
|
-
}, "publications"> & {
|
|
234
|
+
}, "publications" | "columns" | "oid"> & {
|
|
235
|
+
oid: v.Type<number>;
|
|
236
|
+
columns: v.Type<Record<string, {
|
|
237
|
+
characterMaximumLength?: number | null | undefined;
|
|
238
|
+
notNull?: boolean | null | undefined;
|
|
239
|
+
dflt?: string | null | undefined;
|
|
240
|
+
pos: number;
|
|
241
|
+
dataType: string;
|
|
242
|
+
typeOID: number;
|
|
243
|
+
}>>;
|
|
223
244
|
publications: v.Type<Record<string, {
|
|
224
245
|
rowFilter: string | null;
|
|
225
246
|
}>>;
|
|
226
247
|
}, undefined>>;
|
|
248
|
+
}, "indexes"> & {
|
|
227
249
|
indexes: v.ArrayType<v.ObjectType<Omit<{
|
|
228
250
|
name: v.Type<string>;
|
|
229
251
|
tableName: v.Type<string>;
|
|
@@ -254,6 +276,7 @@ export declare const replicationEventSchema: v.UnionType<[v.ObjectType<Omit<Omit
|
|
|
254
276
|
}, undefined>]>;
|
|
255
277
|
}, undefined>]>;
|
|
256
278
|
export type ReplicationEvent = v.Infer<typeof replicationEventSchema>;
|
|
279
|
+
export declare function append(shardID: string): (name: string) => string;
|
|
280
|
+
export declare const TAGS: readonly ["CREATE TABLE", "ALTER TABLE", "CREATE INDEX", "DROP TABLE", "DROP INDEX", "ALTER PUBLICATION"];
|
|
257
281
|
export declare function createEventTriggerStatements(shardID: string, publications: string[]): string;
|
|
258
|
-
export {};
|
|
259
282
|
//# sourceMappingURL=ddl.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ddl.d.ts","sourceRoot":"","sources":["../../../../../../../../zero-cache/src/services/change-streamer/pg/schema/ddl.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,wCAAwC,CAAC;
|
|
1
|
+
{"version":3,"file":"ddl.d.ts","sourceRoot":"","sources":["../../../../../../../../zero-cache/src/services/change-streamer/pg/schema/ddl.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,wCAAwC,CAAC;AAc5D,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAQlC,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAGzB,CAAC;AASH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAE9B,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAyDhE;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAG/B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAGlC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAGtE,wBAAgB,MAAM,CAAC,OAAO,EAAE,MAAM,UACtB,MAAM,YACrB;AAsLD,eAAO,MAAM,IAAI,2GAOP,CAAC;AAEX,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EAAE,UAsCvB"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { literal as lit } from 'pg-format';
|
|
2
2
|
import * as v from '../../../../../../shared/src/valita.js';
|
|
3
|
-
import { filteredTableSpec, indexSpec } from '../../../../db/specs.js';
|
|
4
3
|
import { id } from '../../../../types/sql.js';
|
|
5
|
-
import { indexDefinitionsQuery, publishedTableQuery } from './published.js';
|
|
4
|
+
import { indexDefinitionsQuery, publishedSchema, publishedTableQuery, } from './published.js';
|
|
6
5
|
// Sent in the 'version' tag of "ddlStart" and "ddlUpdate" event messages.
|
|
7
6
|
// This is used to ensure that the message constructed in the upstream
|
|
8
7
|
// Trigger function is compatible with the code processing it in the zero-cache.
|
|
@@ -13,12 +12,6 @@ export const PROTOCOL_VERSION = 1;
|
|
|
13
12
|
const triggerEvent = v.object({
|
|
14
13
|
context: v.object({ query: v.string() }).rest(v.string()),
|
|
15
14
|
});
|
|
16
|
-
// The Schema type encapsulates a snapshot of the tables and indexes that
|
|
17
|
-
// are published / relevant to the shard.
|
|
18
|
-
const publishedSchema = v.object({
|
|
19
|
-
tables: v.array(filteredTableSpec),
|
|
20
|
-
indexes: v.array(indexSpec),
|
|
21
|
-
});
|
|
22
15
|
// All DDL events contain a snapshot of the current tables and indexes that
|
|
23
16
|
// are published / relevant to the shard.
|
|
24
17
|
export const ddlEventSchema = triggerEvent.extend({
|
|
@@ -104,7 +97,7 @@ export const ddlUpdateEventSchema = ddlEventSchema.extend({
|
|
|
104
97
|
});
|
|
105
98
|
export const replicationEventSchema = v.union(ddlStartEventSchema, ddlUpdateEventSchema);
|
|
106
99
|
// Creates a function that appends `_SHARD_ID` to the input.
|
|
107
|
-
function append(shardID) {
|
|
100
|
+
export function append(shardID) {
|
|
108
101
|
return (name) => id(name + '_' + shardID);
|
|
109
102
|
}
|
|
110
103
|
/**
|
|
@@ -258,9 +251,11 @@ BEGIN
|
|
|
258
251
|
|
|
259
252
|
-- Construct and emit the DdlUpdateEvent message.
|
|
260
253
|
|
|
261
|
-
IF target IS NOT NULL
|
|
262
|
-
THEN
|
|
254
|
+
IF target IS NOT NULL THEN
|
|
263
255
|
SELECT json_build_object('tag', tag, cmd.object_type, target) INTO event;
|
|
256
|
+
ELSIF tag LIKE 'CREATE %' THEN
|
|
257
|
+
PERFORM ${schema}.notice_ignore('noop ' || tag);
|
|
258
|
+
RETURN;
|
|
264
259
|
ELSE
|
|
265
260
|
SELECT json_build_object('tag', tag) INTO event;
|
|
266
261
|
END IF;
|
|
@@ -280,7 +275,8 @@ END
|
|
|
280
275
|
$$ LANGUAGE plpgsql;
|
|
281
276
|
`;
|
|
282
277
|
}
|
|
283
|
-
|
|
278
|
+
// Exported for testing.
|
|
279
|
+
export const TAGS = [
|
|
284
280
|
'CREATE TABLE',
|
|
285
281
|
'ALTER TABLE',
|
|
286
282
|
'CREATE INDEX',
|
|
@@ -321,34 +317,6 @@ CREATE EVENT TRIGGER ${sharded(`zero_${tagID}`)}
|
|
|
321
317
|
EXECUTE PROCEDURE ${schema}.emit_${tagID}();
|
|
322
318
|
`);
|
|
323
319
|
}
|
|
324
|
-
// Delete legacy triggers/functions. This should be removable once all early
|
|
325
|
-
// testers have updated.
|
|
326
|
-
for (const trigger of LEGACY_TRIGGER_NAMES) {
|
|
327
|
-
triggers.push(`DROP EVENT TRIGGER IF EXISTS ${sharded(trigger)};`);
|
|
328
|
-
}
|
|
329
|
-
for (const fn of LEGACY_FUNCTION_NAMES) {
|
|
330
|
-
triggers.push(`DROP FUNCTION IF EXISTS zero.${fn};`);
|
|
331
|
-
triggers.push(`DROP FUNCTION IF EXISTS zero.${sharded(fn)};`);
|
|
332
|
-
}
|
|
333
320
|
return triggers.join('');
|
|
334
321
|
}
|
|
335
|
-
const LEGACY_TRIGGER_NAMES = [
|
|
336
|
-
'zero_replicate_create_or_alter_table',
|
|
337
|
-
'zero_replicate_create_index',
|
|
338
|
-
'zero_replicate_alter_publication',
|
|
339
|
-
'zero_replicate_alter_publication_drop',
|
|
340
|
-
'zero_replicate_drop_table',
|
|
341
|
-
'zero_replicate_drop_index',
|
|
342
|
-
];
|
|
343
|
-
const LEGACY_FUNCTION_NAMES = [
|
|
344
|
-
'replicate_create_or_alter_table',
|
|
345
|
-
'replicate_create_index',
|
|
346
|
-
'replicate_alter_publication',
|
|
347
|
-
'replicate_alter_publication_drop',
|
|
348
|
-
'replicate_drop_event',
|
|
349
|
-
'replicate_drop_table',
|
|
350
|
-
'replicate_drop_index',
|
|
351
|
-
'get_trigger_context',
|
|
352
|
-
'emit_all_publications',
|
|
353
|
-
];
|
|
354
322
|
//# sourceMappingURL=ddl.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ddl.js","sourceRoot":"","sources":["../../../../../../../../zero-cache/src/services/change-streamer/pg/schema/ddl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,IAAI,GAAG,EAAC,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,CAAC,MAAM,wCAAwC,CAAC;AAC5D,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"ddl.js","sourceRoot":"","sources":["../../../../../../../../zero-cache/src/services/change-streamer/pg/schema/ddl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,IAAI,GAAG,EAAC,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,CAAC,MAAM,wCAAwC,CAAC;AAC5D,OAAO,EAAC,EAAE,EAAC,MAAM,0BAA0B,CAAC;AAC5C,OAAO,EACL,qBAAqB,EACrB,eAAe,EACf,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AAExB,0EAA0E;AAC1E,sEAAsE;AACtE,gFAAgF;AAChF,EAAE;AACF,+EAA+E;AAC/E,0EAA0E;AAC1E,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAElC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5B,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,EAAC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;CACxD,CAAC,CAAC;AAEH,2EAA2E;AAC3E,yCAAyC;AACzC,MAAM,CAAC,MAAM,cAAc,GAAG,YAAY,CAAC,MAAM,CAAC;IAChD,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC;IACpC,MAAM,EAAE,eAAe;CACxB,CAAC,CAAC;AAEH,2EAA2E;AAC3E,+EAA+E;AAC/E,4EAA4E;AAC5E,2EAA2E;AAC3E,6EAA6E;AAC7E,+EAA+E;AAC/E,yDAAyD;AACzD,MAAM,CAAC,MAAM,mBAAmB,GAAG,cAAc,CAAC,MAAM,CAAC;IACvD,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;CAC5B,CAAC,CAAC;AAIH;;;;;;;;;;GAUG;AACH,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1B,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACjE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAC,CAAC;CACxD,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1B,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC;IAC9B,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAC,CAAC;CACxD,CAAC,CAAC;AAEH;;;;;;;;GAQG;AACH,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC;IACzB,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;CAC/D,CAAC,CAAC;AAEH;;;;;;;;;;;GAWG;AACH,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC;CACpC,CAAC,CAAC;AAEH;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,cAAc,CAAC,MAAM,CAAC;IACxD,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;IAC5B,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,gBAAgB,CAAC;CACpE,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAC3C,mBAAmB,EACnB,oBAAoB,CACrB,CAAC;AAIF,4DAA4D;AAC5D,MAAM,UAAU,MAAM,CAAC,OAAe;IACpC,OAAO,CAAC,IAAY,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC;AACpD,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,SAAS,6BAA6B,CACpC,OAAe,EACf,YAAsB;IAEtB,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,uBAAuB;IAC/D,OAAO;8BACqB,MAAM;;6BAEP,MAAM;;;;;;;;;;;6BAWN,MAAM;;;uCAGI,GAAG,CAAC,OAAO,CAAC;;;;;6BAKtB,MAAM;;;;;;IAM/B,mBAAmB,CAAC,YAAY,CAAC;IACjC,qBAAqB,CAAC,YAAY,CAAC;;;;;;;;;6BASV,MAAM;;;;;;WAMxB,MAAM;;;;iBAIA,gBAAgB;;iBAEhB,MAAM;;;0CAGmB,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC;;;;;6BAKnC,MAAM;;;;;;;;;;;;0BAYT,GAAG,CAAC,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;gBAqB3B,MAAM;;;;;;;;;;;;;;gBAcN,MAAM;;;;;;;;;;gBAUN,MAAM;;;;;;;;;;gBAUN,MAAM;;;;;;;;;;cAUR,MAAM;;;;;;WAMT,MAAM;;;;iBAIA,gBAAgB;;;iBAGhB,MAAM;;;0CAGmB,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC;;;CAG/D,CAAC;AACF,CAAC;AAED,wBAAwB;AACxB,MAAM,CAAC,MAAM,IAAI,GAAG;IAClB,cAAc;IACd,aAAa;IACb,cAAc;IACd,YAAY;IACZ,YAAY;IACZ,mBAAmB;CACX,CAAC;AAEX,MAAM,UAAU,4BAA4B,CAC1C,OAAe,EACf,YAAsB;IAEtB,oEAAoE;IACpE,yFAAyF;IACzF,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IAChC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE/B,MAAM,QAAQ,GAAG,CAAC,6BAA6B,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC;IAExE,iEAAiE;IACjE,QAAQ,CAAC,IAAI,CAAC;+BACe,OAAO,CAAC,gBAAgB,CAAC;uBACjC,OAAO,CAAC,gBAAgB,CAAC;;iBAE/B,GAAG,CAAC,IAAI,CAAC;sBACJ,MAAM;CAC3B,CAAC,CAAC;IAED,mFAAmF;IACnF,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAClD,QAAQ,CAAC,IAAI,CAAC;6BACW,MAAM,SAAS,KAAK;;;YAGrC,MAAM,iBAAiB,GAAG,CAAC,GAAG,CAAC;;;;;+BAKZ,OAAO,CAAC,QAAQ,KAAK,EAAE,CAAC;uBAChC,OAAO,CAAC,QAAQ,KAAK,EAAE,CAAC;;iBAE9B,GAAG,CAAC,GAAG,CAAC;sBACH,MAAM,SAAS,KAAK;CACzC,CAAC,CAAC;IACD,CAAC;IACD,OAAO,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC3B,CAAC"}
|
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
import type { LogContext } from '@rocicorp/logger';
|
|
2
2
|
import type { PostgresDB } from '../../../../types/pg.js';
|
|
3
3
|
import type { ShardConfig } from '../shard-config.js';
|
|
4
|
+
/**
|
|
5
|
+
* Initializes a shard for initial sync.
|
|
6
|
+
* This will drop any existing shard setup.
|
|
7
|
+
*/
|
|
4
8
|
export declare function initShardSchema(lc: LogContext, db: PostgresDB, shardConfig: ShardConfig): Promise<void>;
|
|
9
|
+
/**
|
|
10
|
+
* Updates the schema for an existing shard.
|
|
11
|
+
*/
|
|
12
|
+
export declare function updateShardSchema(lc: LogContext, db: PostgresDB, shardConfig: ShardConfig): Promise<void>;
|
|
5
13
|
//# sourceMappingURL=init.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../../../../../../zero-cache/src/services/change-streamer/pg/schema/init.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAMjD,OAAO,KAAK,EAAC,UAAU,
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../../../../../../zero-cache/src/services/change-streamer/pg/schema/init.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAMjD,OAAO,KAAK,EAAC,UAAU,EAAsB,MAAM,yBAAyB,CAAC;AAC7E,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,oBAAoB,CAAC;AAQpD;;;GAGG;AACH,wBAAsB,eAAe,CACnC,EAAE,EAAE,UAAU,EACd,EAAE,EAAE,UAAU,EACd,WAAW,EAAE,WAAW,GACvB,OAAO,CAAC,IAAI,CAAC,CAGf;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,EAAE,EAAE,UAAU,EACd,EAAE,EAAE,UAAU,EACd,WAAW,EAAE,WAAW,GACvB,OAAO,CAAC,IAAI,CAAC,CAkBf"}
|
|
@@ -1,18 +1,51 @@
|
|
|
1
1
|
import { runSchemaMigrations, } from '../../../../db/migration.js';
|
|
2
|
-
import {
|
|
2
|
+
import { getPublicationInfo } from './published.js';
|
|
3
|
+
import { dropShard, setupTablesAndReplication, unescapedSchema, } from './shard.js';
|
|
4
|
+
/**
|
|
5
|
+
* Initializes a shard for initial sync.
|
|
6
|
+
* This will drop any existing shard setup.
|
|
7
|
+
*/
|
|
3
8
|
export async function initShardSchema(lc, db, shardConfig) {
|
|
9
|
+
await db.unsafe(dropShard(shardConfig.id));
|
|
10
|
+
return updateShardSchema(lc, db, shardConfig);
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Updates the schema for an existing shard.
|
|
14
|
+
*/
|
|
15
|
+
export async function updateShardSchema(lc, db, shardConfig) {
|
|
4
16
|
const setupMigration = {
|
|
5
17
|
migrateSchema: (lc, tx) => setupTablesAndReplication(lc, tx, shardConfig),
|
|
6
18
|
minSafeVersion: 1,
|
|
7
19
|
};
|
|
8
20
|
const schemaVersionMigrationMap = {
|
|
9
|
-
|
|
10
|
-
// There are no incremental migrations yet, but if we were to, say introduce
|
|
11
|
-
// another column, setupTablesAndReplication would be updated the table with
|
|
12
|
-
// the new column, and then there would be an incremental migration here at
|
|
13
|
-
// version `2` that adds the column for databases that were initialized to
|
|
14
|
-
// version `1`.
|
|
21
|
+
2: { migrateSchema: (_, tx) => migrateV1toV2(tx, shardConfig.id) },
|
|
15
22
|
};
|
|
16
|
-
await runSchemaMigrations(lc,
|
|
23
|
+
await runSchemaMigrations(lc, `upstream-shard-${shardConfig.id}`, unescapedSchema(shardConfig.id), db, setupMigration, schemaVersionMigrationMap);
|
|
24
|
+
}
|
|
25
|
+
// v1 required superuser / event trigger installation.
|
|
26
|
+
// Therefore, to migrate from v1 to v2:
|
|
27
|
+
//
|
|
28
|
+
// - Add the "ddlDetection" and "initialSchema" columns to "shardConfig"
|
|
29
|
+
// - Set "ddlDetection" to true
|
|
30
|
+
// - Populate the "initialSchema" to the current published schema
|
|
31
|
+
//
|
|
32
|
+
// The last step technically may not match the "initial" schema, but
|
|
33
|
+
// currently it is only used for "ddlDetection = false" setups, so
|
|
34
|
+
// it does not matter.
|
|
35
|
+
async function migrateV1toV2(tx, shardID) {
|
|
36
|
+
const s = unescapedSchema(shardID);
|
|
37
|
+
const [{ publications }] = await tx `
|
|
38
|
+
SELECT publications FROM ${tx(s)}."shardConfig"
|
|
39
|
+
`;
|
|
40
|
+
const { tables, indexes } = await getPublicationInfo(tx, publications);
|
|
41
|
+
const publishedSchema = { tables, indexes };
|
|
42
|
+
void tx `
|
|
43
|
+
ALTER TABLE ${tx(s)}."shardConfig" ADD "ddlDetection" BOOL`.execute();
|
|
44
|
+
void tx `
|
|
45
|
+
ALTER TABLE ${tx(s)}."shardConfig" ADD "initialSchema" JSON`.execute();
|
|
46
|
+
await tx `
|
|
47
|
+
UPDATE ${tx(s)}."shardConfig"
|
|
48
|
+
SET "ddlDetection" = true,
|
|
49
|
+
"initialSchema" = ${publishedSchema}`;
|
|
17
50
|
}
|
|
18
51
|
//# sourceMappingURL=init.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../../../../../../zero-cache/src/services/change-streamer/pg/schema/init.ts"],"names":[],"mappings":"AACA,OAAO,EACL,mBAAmB,GAGpB,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EAAC,yBAAyB,
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../../../../../../zero-cache/src/services/change-streamer/pg/schema/init.ts"],"names":[],"mappings":"AACA,OAAO,EACL,mBAAmB,GAGpB,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EAAC,kBAAkB,EAAuB,MAAM,gBAAgB,CAAC;AACxE,OAAO,EACL,SAAS,EACT,yBAAyB,EACzB,eAAe,GAChB,MAAM,YAAY,CAAC;AAEpB;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,EAAc,EACd,EAAc,EACd,WAAwB;IAExB,MAAM,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3C,OAAO,iBAAiB,CAAC,EAAE,EAAE,EAAE,EAAE,WAAW,CAAC,CAAC;AAChD,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,EAAc,EACd,EAAc,EACd,WAAwB;IAExB,MAAM,cAAc,GAAc;QAChC,aAAa,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,yBAAyB,CAAC,EAAE,EAAE,EAAE,EAAE,WAAW,CAAC;QACzE,cAAc,EAAE,CAAC;KAClB,CAAC;IAEF,MAAM,yBAAyB,GAA4B;QACzD,CAAC,EAAE,EAAC,aAAa,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE,EAAE,WAAW,CAAC,EAAE,CAAC,EAAC;KACjE,CAAC;IAEF,MAAM,mBAAmB,CACvB,EAAE,EACF,kBAAkB,WAAW,CAAC,EAAE,EAAE,EAClC,eAAe,CAAC,WAAW,CAAC,EAAE,CAAC,EAC/B,EAAE,EACF,cAAc,EACd,yBAAyB,CAC1B,CAAC;AACJ,CAAC;AAED,sDAAsD;AACtD,uCAAuC;AACvC,EAAE;AACF,wEAAwE;AACxE,+BAA+B;AAC/B,iEAAiE;AACjE,EAAE;AACF,oEAAoE;AACpE,kEAAkE;AAClE,sBAAsB;AACtB,KAAK,UAAU,aAAa,CAAC,EAAuB,EAAE,OAAe;IACnE,MAAM,CAAC,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IACnC,MAAM,CAAC,EAAC,YAAY,EAAC,CAAC,GAAG,MAAM,EAAE,CAA4B;+BAChC,EAAE,CAAC,CAAC,CAAC;GACjC,CAAC;IACF,MAAM,EAAC,MAAM,EAAE,OAAO,EAAC,GAAG,MAAM,kBAAkB,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;IACrE,MAAM,eAAe,GAAoB,EAAC,MAAM,EAAE,OAAO,EAAC,CAAC;IAE3D,KAAK,EAAE,CAAA;gBACO,EAAE,CAAC,CAAC,CAAC,wCAAwC,CAAC,OAAO,EAAE,CAAC;IACtE,KAAK,EAAE,CAAA;gBACO,EAAE,CAAC,CAAC,CAAC,yCAAyC,CAAC,OAAO,EAAE,CAAC;IACvE,MAAM,EAAE,CAAA;aACG,EAAE,CAAC,CAAC,CAAC;;8BAEY,eAAe,EAAE,CAAC;AAChD,CAAC"}
|