@rocicorp/zero 0.25.0-canary.0 → 0.25.0-canary.2
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/{chunk-MXPHMVU7.js → chunk-COKJ5W7V.js} +2527 -540
- package/out/chunk-COKJ5W7V.js.map +7 -0
- package/out/{chunk-4RB4OYLQ.js → chunk-TJFNGO7E.js} +3 -2
- package/out/{chunk-BJ2CGCME.js → chunk-YWU2DZ23.js} +20 -4
- package/out/chunk-YWU2DZ23.js.map +7 -0
- package/out/{lazy-inspector-2SW772W4.js → lazy-inspector-OXIFYSSQ.js} +2 -2
- package/out/react.js +59 -28
- package/out/react.js.map +4 -4
- package/out/replicache/src/dag/lazy-store.d.ts +1 -1
- package/out/replicache/src/dag/lazy-store.d.ts.map +1 -1
- package/out/replicache/src/log-options.d.ts +1 -1
- package/out/replicache/src/log-options.d.ts.map +1 -1
- package/out/replicache/src/persist/collect-idb-databases.d.ts +3 -3
- package/out/replicache/src/persist/collect-idb-databases.d.ts.map +1 -1
- package/out/replicache/src/replicache-options.d.ts +1 -1
- package/out/replicache/src/replicache-options.d.ts.map +1 -1
- package/out/shared/src/error.d.ts +4 -0
- package/out/shared/src/error.d.ts.map +1 -0
- package/out/shared/src/error.js +70 -0
- package/out/shared/src/error.js.map +1 -0
- package/out/shared/src/options.d.ts +1 -1
- package/out/shared/src/options.d.ts.map +1 -1
- package/out/shared/src/promise-race.d.ts +17 -0
- package/out/shared/src/promise-race.d.ts.map +1 -0
- package/out/solid.js +61 -22
- package/out/solid.js.map +4 -4
- package/out/z2s/src/compiler.d.ts +1 -1
- package/out/z2s/src/compiler.d.ts.map +1 -1
- package/out/z2s/src/compiler.js +1 -1
- package/out/z2s/src/compiler.js.map +1 -1
- package/out/z2s/src/sql.d.ts.map +1 -1
- package/out/z2s/src/sql.js +1 -1
- package/out/z2s/src/sql.js.map +1 -1
- package/out/zero/package.json +6 -4
- package/out/zero/src/zero-out.d.ts +3 -0
- package/out/zero/src/zero-out.d.ts.map +1 -0
- package/out/zero/src/zero-out.js +13 -0
- package/out/zero/src/zero-out.js.map +1 -0
- package/out/zero-cache/src/config/zero-config.d.ts +12 -0
- package/out/zero-cache/src/config/zero-config.d.ts.map +1 -1
- package/out/zero-cache/src/config/zero-config.js +36 -0
- package/out/zero-cache/src/config/zero-config.js.map +1 -1
- package/out/zero-cache/src/custom/fetch.d.ts +3 -1
- package/out/zero-cache/src/custom/fetch.d.ts.map +1 -1
- package/out/zero-cache/src/custom/fetch.js +104 -27
- package/out/zero-cache/src/custom/fetch.js.map +1 -1
- package/out/zero-cache/src/custom-queries/transform-query.d.ts +2 -6
- package/out/zero-cache/src/custom-queries/transform-query.d.ts.map +1 -1
- package/out/zero-cache/src/custom-queries/transform-query.js +42 -41
- package/out/zero-cache/src/custom-queries/transform-query.js.map +1 -1
- package/out/zero-cache/src/db/create.d.ts +4 -0
- package/out/zero-cache/src/db/create.d.ts.map +1 -1
- package/out/zero-cache/src/db/create.js +7 -9
- package/out/zero-cache/src/db/create.js.map +1 -1
- package/out/zero-cache/src/db/lite-tables.js +2 -2
- package/out/zero-cache/src/db/lite-tables.js.map +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 -6
- package/out/zero-cache/src/db/pg-to-lite.js.map +1 -1
- package/out/zero-cache/src/db/specs.d.ts +12 -12
- package/out/zero-cache/src/scripts/decommission.d.ts +50 -0
- package/out/zero-cache/src/scripts/decommission.d.ts.map +1 -0
- package/out/zero-cache/src/scripts/decommission.js +51 -0
- package/out/zero-cache/src/scripts/decommission.js.map +1 -0
- package/out/zero-cache/src/server/change-streamer.d.ts.map +1 -1
- package/out/zero-cache/src/server/change-streamer.js +1 -1
- package/out/zero-cache/src/server/change-streamer.js.map +1 -1
- package/out/zero-cache/src/server/inspector-delegate.d.ts.map +1 -1
- package/out/zero-cache/src/server/inspector-delegate.js +6 -1
- package/out/zero-cache/src/server/inspector-delegate.js.map +1 -1
- package/out/zero-cache/src/server/syncer.d.ts.map +1 -1
- package/out/zero-cache/src/server/syncer.js +1 -1
- package/out/zero-cache/src/server/syncer.js.map +1 -1
- package/out/zero-cache/src/services/change-source/pg/change-source.js +1 -0
- package/out/zero-cache/src/services/change-source/pg/change-source.js.map +1 -1
- package/out/zero-cache/src/services/change-source/pg/logical-replication/binary-reader.d.ts +1 -1
- package/out/zero-cache/src/services/change-source/pg/logical-replication/binary-reader.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-source/pg/logical-replication/binary-reader.js +1 -1
- package/out/zero-cache/src/services/change-source/pg/logical-replication/binary-reader.js.map +1 -1
- package/out/zero-cache/src/services/change-source/pg/schema/ddl.d.ts +25 -25
- package/out/zero-cache/src/services/change-source/pg/schema/published.d.ts +10 -10
- package/out/zero-cache/src/services/change-source/pg/schema/shard.d.ts +5 -5
- package/out/zero-cache/src/services/change-source/protocol/current/data.d.ts +16 -16
- package/out/zero-cache/src/services/change-source/protocol/current/downstream.d.ts +24 -24
- package/out/zero-cache/src/services/change-streamer/change-streamer-http.d.ts +2 -1
- 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 +18 -2
- 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.d.ts +8 -8
- package/out/zero-cache/src/services/mutagen/mutagen.d.ts.map +1 -1
- package/out/zero-cache/src/services/mutagen/mutagen.js +9 -7
- package/out/zero-cache/src/services/mutagen/mutagen.js.map +1 -1
- package/out/zero-cache/src/services/mutagen/pusher.d.ts +21 -25
- package/out/zero-cache/src/services/mutagen/pusher.d.ts.map +1 -1
- package/out/zero-cache/src/services/mutagen/pusher.js +78 -60
- package/out/zero-cache/src/services/mutagen/pusher.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/client-handler.d.ts +3 -1
- package/out/zero-cache/src/services/view-syncer/client-handler.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/client-handler.js +10 -6
- package/out/zero-cache/src/services/view-syncer/client-handler.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/client-schema.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/client-schema.js +6 -3
- package/out/zero-cache/src/services/view-syncer/client-schema.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/cvr-store.d.ts +4 -4
- package/out/zero-cache/src/services/view-syncer/cvr-store.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/cvr-store.js +15 -6
- package/out/zero-cache/src/services/view-syncer/cvr-store.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/cvr.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/cvr.js +4 -2
- package/out/zero-cache/src/services/view-syncer/cvr.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/drain-coordinator.d.ts +1 -0
- package/out/zero-cache/src/services/view-syncer/drain-coordinator.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/drain-coordinator.js +5 -0
- package/out/zero-cache/src/services/view-syncer/drain-coordinator.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/key-columns.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/key-columns.js +4 -2
- package/out/zero-cache/src/services/view-syncer/key-columns.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/pipeline-driver.d.ts +1 -1
- package/out/zero-cache/src/services/view-syncer/pipeline-driver.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/pipeline-driver.js +19 -2
- package/out/zero-cache/src/services/view-syncer/pipeline-driver.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/view-syncer.d.ts +7 -0
- 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 +91 -32
- package/out/zero-cache/src/services/view-syncer/view-syncer.js.map +1 -1
- package/out/zero-cache/src/types/error-with-level.d.ts +9 -0
- package/out/zero-cache/src/types/error-with-level.d.ts.map +1 -0
- package/out/zero-cache/src/types/error-with-level.js +24 -0
- package/out/zero-cache/src/types/error-with-level.js.map +1 -0
- package/out/zero-cache/src/types/lite.d.ts +15 -13
- package/out/zero-cache/src/types/lite.d.ts.map +1 -1
- package/out/zero-cache/src/types/lite.js +17 -5
- package/out/zero-cache/src/types/lite.js.map +1 -1
- package/out/zero-cache/src/types/pg-data-type.d.ts +73 -0
- package/out/zero-cache/src/types/pg-data-type.d.ts.map +1 -0
- package/out/zero-cache/src/types/pg-data-type.js +76 -0
- package/out/zero-cache/src/types/pg-data-type.js.map +1 -0
- package/out/zero-cache/src/types/pg.d.ts +1 -73
- package/out/zero-cache/src/types/pg.d.ts.map +1 -1
- package/out/zero-cache/src/types/pg.js +0 -77
- package/out/zero-cache/src/types/pg.js.map +1 -1
- package/out/zero-cache/src/types/processes.d.ts +1 -1
- package/out/zero-cache/src/types/processes.d.ts.map +1 -1
- package/out/zero-cache/src/types/processes.js.map +1 -1
- package/out/zero-cache/src/types/schema-versions.d.ts +7 -3
- package/out/zero-cache/src/types/schema-versions.d.ts.map +1 -1
- package/out/zero-cache/src/types/schema-versions.js +7 -5
- package/out/zero-cache/src/types/schema-versions.js.map +1 -1
- package/out/zero-cache/src/types/streams.d.ts +1 -1
- package/out/zero-cache/src/types/streams.d.ts.map +1 -1
- package/out/zero-cache/src/types/streams.js +19 -9
- package/out/zero-cache/src/types/streams.js.map +1 -1
- package/out/zero-cache/src/types/subscription.d.ts +17 -2
- package/out/zero-cache/src/types/subscription.d.ts.map +1 -1
- package/out/zero-cache/src/types/subscription.js +42 -6
- package/out/zero-cache/src/types/subscription.js.map +1 -1
- package/out/zero-cache/src/types/websocket-handoff.d.ts +3 -3
- package/out/zero-cache/src/types/websocket-handoff.d.ts.map +1 -1
- package/out/zero-cache/src/types/websocket-handoff.js +6 -4
- package/out/zero-cache/src/types/websocket-handoff.js.map +1 -1
- package/out/zero-cache/src/workers/connection.d.ts +6 -1
- package/out/zero-cache/src/workers/connection.d.ts.map +1 -1
- package/out/zero-cache/src/workers/connection.js +26 -9
- package/out/zero-cache/src/workers/connection.js.map +1 -1
- package/out/zero-cache/src/workers/syncer-ws-message-handler.d.ts.map +1 -1
- package/out/zero-cache/src/workers/syncer-ws-message-handler.js +7 -1
- package/out/zero-cache/src/workers/syncer-ws-message-handler.js.map +1 -1
- package/out/zero-cache/src/workers/syncer.d.ts.map +1 -1
- package/out/zero-cache/src/workers/syncer.js +22 -4
- package/out/zero-cache/src/workers/syncer.js.map +1 -1
- package/out/zero-client/src/client/client-error-kind-enum.d.ts +8 -0
- package/out/zero-client/src/client/client-error-kind-enum.d.ts.map +1 -1
- package/out/zero-client/src/client/connection-manager.d.ts +82 -14
- package/out/zero-client/src/client/connection-manager.d.ts.map +1 -1
- package/out/zero-client/src/client/connection-status-enum.d.ts +4 -0
- package/out/zero-client/src/client/connection-status-enum.d.ts.map +1 -1
- package/out/zero-client/src/client/connection.d.ts +53 -0
- package/out/zero-client/src/client/connection.d.ts.map +1 -0
- package/out/zero-client/src/client/error.d.ts +51 -24
- package/out/zero-client/src/client/error.d.ts.map +1 -1
- package/out/zero-client/src/client/ivm-branch.d.ts +2 -2
- package/out/zero-client/src/client/ivm-branch.d.ts.map +1 -1
- package/out/zero-client/src/client/metrics.d.ts +9 -0
- package/out/zero-client/src/client/metrics.d.ts.map +1 -1
- package/out/zero-client/src/client/mutation-tracker.d.ts +5 -4
- package/out/zero-client/src/client/mutation-tracker.d.ts.map +1 -1
- package/out/zero-client/src/client/options.d.ts +15 -18
- package/out/zero-client/src/client/options.d.ts.map +1 -1
- package/out/zero-client/src/client/query-manager.d.ts +5 -4
- package/out/zero-client/src/client/query-manager.d.ts.map +1 -1
- package/out/zero-client/src/client/zero-rep.d.ts +3 -1
- package/out/zero-client/src/client/zero-rep.d.ts.map +1 -1
- package/out/zero-client/src/client/zero.d.ts +27 -5
- package/out/zero-client/src/client/zero.d.ts.map +1 -1
- package/out/zero-client/src/mod.d.ts +12 -1
- package/out/zero-client/src/mod.d.ts.map +1 -1
- package/out/zero-client/src/types/query-result.d.ts +23 -0
- package/out/zero-client/src/types/query-result.d.ts.map +1 -0
- package/out/zero-protocol/src/application-error.d.ts +33 -0
- package/out/zero-protocol/src/application-error.d.ts.map +1 -0
- package/out/zero-protocol/src/application-error.js +37 -0
- package/out/zero-protocol/src/application-error.js.map +1 -0
- package/out/zero-protocol/src/custom-queries.d.ts +56 -53
- package/out/zero-protocol/src/custom-queries.d.ts.map +1 -1
- package/out/zero-protocol/src/custom-queries.js +16 -14
- package/out/zero-protocol/src/custom-queries.js.map +1 -1
- package/out/zero-protocol/src/down.d.ts +8 -10
- package/out/zero-protocol/src/down.d.ts.map +1 -1
- package/out/zero-protocol/src/error-kind-enum.d.ts +65 -0
- package/out/zero-protocol/src/error-kind-enum.d.ts.map +1 -1
- package/out/zero-protocol/src/error-kind-enum.js +2 -0
- package/out/zero-protocol/src/error-kind-enum.js.map +1 -1
- package/out/zero-protocol/src/error-origin-enum.d.ts +7 -0
- package/out/zero-protocol/src/error-origin-enum.d.ts.map +1 -0
- package/out/zero-protocol/src/error-origin-enum.js +4 -0
- package/out/zero-protocol/src/error-origin-enum.js.map +1 -0
- package/out/zero-protocol/src/error-origin.d.ts +5 -0
- package/out/zero-protocol/src/error-origin.d.ts.map +1 -0
- package/out/zero-protocol/src/error-origin.js +3 -0
- package/out/zero-protocol/src/error-origin.js.map +1 -0
- package/out/zero-protocol/src/error-reason-enum.d.ts +15 -0
- package/out/zero-protocol/src/error-reason-enum.d.ts.map +1 -0
- package/out/zero-protocol/src/error-reason-enum.js +8 -0
- package/out/zero-protocol/src/error-reason-enum.js.map +1 -0
- package/out/zero-protocol/src/error-reason.d.ts +5 -0
- package/out/zero-protocol/src/error-reason.d.ts.map +1 -0
- package/out/zero-protocol/src/error-reason.js +3 -0
- package/out/zero-protocol/src/error-reason.js.map +1 -0
- package/out/zero-protocol/src/error.d.ts +181 -1
- package/out/zero-protocol/src/error.d.ts.map +1 -1
- package/out/zero-protocol/src/error.js +71 -2
- package/out/zero-protocol/src/error.js.map +1 -1
- package/out/zero-protocol/src/mutation-id.d.ts +7 -0
- package/out/zero-protocol/src/mutation-id.d.ts.map +1 -0
- package/out/zero-protocol/src/mutation-id.js +6 -0
- package/out/zero-protocol/src/mutation-id.js.map +1 -0
- package/out/zero-protocol/src/mutations-patch.d.ts +6 -3
- package/out/zero-protocol/src/mutations-patch.d.ts.map +1 -1
- package/out/zero-protocol/src/mutations-patch.js +2 -1
- package/out/zero-protocol/src/mutations-patch.js.map +1 -1
- package/out/zero-protocol/src/poke.d.ts +2 -0
- package/out/zero-protocol/src/poke.d.ts.map +1 -1
- package/out/zero-protocol/src/protocol-version.d.ts +1 -1
- package/out/zero-protocol/src/protocol-version.d.ts.map +1 -1
- package/out/zero-protocol/src/protocol-version.js +3 -1
- package/out/zero-protocol/src/protocol-version.js.map +1 -1
- package/out/zero-protocol/src/push.d.ts +145 -13
- package/out/zero-protocol/src/push.d.ts.map +1 -1
- package/out/zero-protocol/src/push.js +35 -13
- package/out/zero-protocol/src/push.js.map +1 -1
- package/out/zero-react/src/mod.d.ts +7 -2
- package/out/zero-react/src/mod.d.ts.map +1 -1
- package/out/zero-react/src/use-query.d.ts +1 -21
- package/out/zero-react/src/use-query.d.ts.map +1 -1
- package/out/zero-react/src/use-zero-connection-state.d.ts +9 -0
- package/out/zero-react/src/use-zero-connection-state.d.ts.map +1 -0
- package/out/zero-react/src/use-zero-online.d.ts +2 -0
- package/out/zero-react/src/use-zero-online.d.ts.map +1 -1
- package/out/zero-react/src/zero-provider.d.ts.map +1 -1
- package/out/zero-server/src/mod.d.ts +5 -4
- package/out/zero-server/src/mod.d.ts.map +1 -1
- package/out/zero-server/src/mod.js +5 -4
- package/out/zero-server/src/mod.js.map +1 -1
- package/out/zero-server/src/process-mutations.d.ts +3 -3
- package/out/zero-server/src/process-mutations.d.ts.map +1 -1
- package/out/zero-server/src/process-mutations.js +181 -68
- package/out/zero-server/src/process-mutations.js.map +1 -1
- package/out/zero-server/src/queries/process-queries.d.ts +4 -3
- package/out/zero-server/src/queries/process-queries.d.ts.map +1 -1
- package/out/zero-server/src/queries/process-queries.js +85 -19
- package/out/zero-server/src/queries/process-queries.js.map +1 -1
- package/out/zero-server/src/schema.js +1 -1
- package/out/zero-server/src/schema.js.map +1 -1
- package/out/zero-server/src/zql-database.d.ts +1 -1
- package/out/zero-server/src/zql-database.d.ts.map +1 -1
- package/out/zero-server/src/zql-database.js.map +1 -1
- package/out/zero-solid/src/mod.d.ts +11 -2
- package/out/zero-solid/src/mod.d.ts.map +1 -1
- package/out/zero-solid/src/solid-view.d.ts +3 -23
- package/out/zero-solid/src/solid-view.d.ts.map +1 -1
- package/out/zero-solid/src/use-query.d.ts +1 -1
- package/out/zero-solid/src/use-query.d.ts.map +1 -1
- package/out/zero-solid/src/use-zero-connection-state.d.ts +10 -0
- package/out/zero-solid/src/use-zero-connection-state.d.ts.map +1 -0
- package/out/zero-solid/src/use-zero-online.d.ts +1 -7
- package/out/zero-solid/src/use-zero-online.d.ts.map +1 -1
- package/out/zero-solid/src/use-zero.d.ts +1 -0
- package/out/zero-solid/src/use-zero.d.ts.map +1 -1
- package/out/zero.js +15 -3
- package/out/zql/src/builder/builder.d.ts +2 -1
- package/out/zql/src/builder/builder.d.ts.map +1 -1
- package/out/zql/src/builder/builder.js +5 -1
- package/out/zql/src/builder/builder.js.map +1 -1
- package/out/zql/src/ivm/data.d.ts +1 -1
- package/out/zql/src/ivm/data.d.ts.map +1 -1
- package/out/zql/src/ivm/data.js.map +1 -1
- package/out/zql/src/ivm/filter-push.d.ts +1 -1
- package/out/zql/src/ivm/filter-push.d.ts.map +1 -1
- package/out/zql/src/ivm/filter-push.js.map +1 -1
- package/out/zql/src/ivm/memory-source.d.ts +2 -2
- package/out/zql/src/ivm/memory-source.d.ts.map +1 -1
- package/out/zql/src/ivm/memory-source.js.map +1 -1
- package/out/zql/src/ivm/source.d.ts +1 -1
- package/out/zql/src/ivm/source.d.ts.map +1 -1
- package/out/zql/src/ivm/take.d.ts +1 -1
- package/out/zql/src/ivm/take.d.ts.map +1 -1
- package/out/zql/src/ivm/take.js.map +1 -1
- package/out/zql/src/planner/planner-builder.d.ts +15 -0
- package/out/zql/src/planner/planner-builder.d.ts.map +1 -0
- package/out/zql/src/planner/planner-builder.js +180 -0
- package/out/zql/src/planner/planner-builder.js.map +1 -0
- package/out/zql/src/planner/planner-connection.d.ts +125 -0
- package/out/zql/src/planner/planner-connection.d.ts.map +1 -0
- package/out/zql/src/planner/planner-connection.js +257 -0
- package/out/zql/src/planner/planner-connection.js.map +1 -0
- package/out/zql/src/planner/planner-constraint.d.ts +14 -0
- package/out/zql/src/planner/planner-constraint.d.ts.map +1 -0
- package/out/zql/src/planner/planner-constraint.js +12 -0
- package/out/zql/src/planner/planner-constraint.js.map +1 -0
- package/out/zql/src/planner/planner-debug.d.ts +148 -0
- package/out/zql/src/planner/planner-debug.d.ts.map +1 -0
- package/out/zql/src/planner/planner-debug.js +176 -0
- package/out/zql/src/planner/planner-debug.js.map +1 -0
- package/out/zql/src/planner/planner-fan-in.d.ts +39 -0
- package/out/zql/src/planner/planner-fan-in.d.ts.map +1 -0
- package/out/zql/src/planner/planner-fan-in.js +167 -0
- package/out/zql/src/planner/planner-fan-in.js.map +1 -0
- package/out/zql/src/planner/planner-fan-out.d.ts +23 -0
- package/out/zql/src/planner/planner-fan-out.d.ts.map +1 -0
- package/out/zql/src/planner/planner-fan-out.js +62 -0
- package/out/zql/src/planner/planner-fan-out.js.map +1 -0
- package/out/zql/src/planner/planner-graph.d.ts +103 -0
- package/out/zql/src/planner/planner-graph.d.ts.map +1 -0
- package/out/zql/src/planner/planner-graph.js +380 -0
- package/out/zql/src/planner/planner-graph.js.map +1 -0
- package/out/zql/src/planner/planner-join.d.ts +136 -0
- package/out/zql/src/planner/planner-join.d.ts.map +1 -0
- package/out/zql/src/planner/planner-join.js +329 -0
- package/out/zql/src/planner/planner-join.js.map +1 -0
- package/out/zql/src/planner/planner-node.d.ts +48 -0
- package/out/zql/src/planner/planner-node.d.ts.map +1 -0
- package/out/zql/src/planner/planner-node.js +2 -0
- package/out/zql/src/planner/planner-node.js.map +1 -0
- package/out/zql/src/planner/planner-source.d.ts +11 -0
- package/out/zql/src/planner/planner-source.d.ts.map +1 -0
- package/out/zql/src/planner/planner-source.js +13 -0
- package/out/zql/src/planner/planner-source.js.map +1 -0
- package/out/zql/src/planner/planner-terminus.d.ts +17 -0
- package/out/zql/src/planner/planner-terminus.d.ts.map +1 -0
- package/out/zql/src/planner/planner-terminus.js +28 -0
- package/out/zql/src/planner/planner-terminus.js.map +1 -0
- package/out/zql/src/query/error.d.ts +4 -0
- package/out/zql/src/query/error.d.ts.map +1 -0
- package/out/zql/src/query/error.js +9 -0
- package/out/zql/src/query/error.js.map +1 -0
- package/out/zql/src/query/expression.d.ts +2 -2
- package/out/zql/src/query/expression.d.ts.map +1 -1
- package/out/zql/src/query/expression.js.map +1 -1
- package/out/zql/src/query/named.d.ts.map +1 -1
- package/out/zql/src/query/named.js +9 -1
- package/out/zql/src/query/named.js.map +1 -1
- package/out/zql/src/query/query-delegate.d.ts +3 -3
- package/out/zql/src/query/query-delegate.d.ts.map +1 -1
- package/out/zql/src/query/query-impl.d.ts +8 -8
- package/out/zql/src/query/query-impl.d.ts.map +1 -1
- package/out/zql/src/query/query-impl.js.map +1 -1
- package/out/zql/src/query/query.d.ts +3 -3
- package/out/zql/src/query/query.d.ts.map +1 -1
- package/out/zql/src/query/static-query.d.ts +1 -1
- package/out/zql/src/query/static-query.d.ts.map +1 -1
- package/out/zql/src/query/static-query.js.map +1 -1
- package/out/zql/src/query/typed-view.d.ts +1 -1
- package/out/zql/src/query/typed-view.d.ts.map +1 -1
- package/out/zqlite/src/query-delegate.d.ts +1 -1
- package/out/zqlite/src/query-delegate.d.ts.map +1 -1
- package/out/zqlite/src/query-delegate.js.map +1 -1
- package/out/zqlite/src/sqlite-cost-model.d.ts +17 -0
- package/out/zqlite/src/sqlite-cost-model.d.ts.map +1 -0
- package/out/zqlite/src/sqlite-cost-model.js +134 -0
- package/out/zqlite/src/sqlite-cost-model.js.map +1 -0
- package/out/zqlite/src/table-source.d.ts +1 -1
- package/out/zqlite/src/table-source.d.ts.map +1 -1
- package/out/zqlite/src/table-source.js.map +1 -1
- package/package.json +6 -4
- package/out/chunk-BJ2CGCME.js.map +0 -7
- package/out/chunk-MXPHMVU7.js.map +0 -7
- package/out/zero-cache/src/types/error-for-client.d.ts +0 -23
- package/out/zero-cache/src/types/error-for-client.d.ts.map +0 -1
- package/out/zero-cache/src/types/error-for-client.js +0 -28
- package/out/zero-cache/src/types/error-for-client.js.map +0 -1
- package/out/zero-client/src/client/ping-result-enum.d.ts +0 -5
- package/out/zero-client/src/client/ping-result-enum.d.ts.map +0 -1
- /package/out/{chunk-4RB4OYLQ.js.map → chunk-TJFNGO7E.js.map} +0 -0
- /package/out/{lazy-inspector-2SW772W4.js.map → lazy-inspector-OXIFYSSQ.js.map} +0 -0
|
@@ -16,6 +16,25 @@ import { Connection, sendError } from "./connection.js";
|
|
|
16
16
|
import { createNotifierFrom, subscribeTo } from "./replicator.js";
|
|
17
17
|
import { SyncerWsMessageHandler } from "./syncer-ws-message-handler.js";
|
|
18
18
|
import { recordConnectionSuccess, recordConnectionAttempted, setActiveClientGroupsGetter, } from "../server/anonymous-otel-start.js";
|
|
19
|
+
import { ErrorOrigin } from "../../../zero-protocol/src/error-origin.js";
|
|
20
|
+
function getWebSocketServerOptions(config) {
|
|
21
|
+
const options = {
|
|
22
|
+
noServer: true,
|
|
23
|
+
};
|
|
24
|
+
if (config.websocketCompression) {
|
|
25
|
+
options.perMessageDeflate = true;
|
|
26
|
+
if (config.websocketCompressionOptions) {
|
|
27
|
+
try {
|
|
28
|
+
const compressionOptions = JSON.parse(config.websocketCompressionOptions);
|
|
29
|
+
options.perMessageDeflate = compressionOptions;
|
|
30
|
+
}
|
|
31
|
+
catch (e) {
|
|
32
|
+
throw new Error(`Failed to parse ZERO_WEBSOCKET_COMPRESSION_OPTIONS: ${String(e)}. Expected valid JSON.`);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
return options;
|
|
37
|
+
}
|
|
19
38
|
/**
|
|
20
39
|
* The Syncer worker receives websocket handoffs for "/sync" connections
|
|
21
40
|
* from the Dispatcher in the main thread, and creates websocket
|
|
@@ -48,7 +67,7 @@ export class Syncer {
|
|
|
48
67
|
this.#pushers = new ServiceRunner(lc, pusherFactory, p => p.hasRefs());
|
|
49
68
|
}
|
|
50
69
|
this.#parent = parent;
|
|
51
|
-
this.#wss = new WebSocketServer(
|
|
70
|
+
this.#wss = new WebSocketServer(getWebSocketServerOptions(config));
|
|
52
71
|
installWebSocketReceiver(lc, this.#wss, this.#createConnection, this.#parent);
|
|
53
72
|
setActiveClientGroupsGetter(() => this.#viewSyncers.size);
|
|
54
73
|
}
|
|
@@ -86,6 +105,7 @@ export class Syncer {
|
|
|
86
105
|
sendError(this.#lc, ws, {
|
|
87
106
|
kind: ErrorKind.AuthInvalidated,
|
|
88
107
|
message: `Failed to decode auth token: ${String(e)}`,
|
|
108
|
+
origin: ErrorOrigin.ZeroCache,
|
|
89
109
|
}, e);
|
|
90
110
|
ws.close(3000, 'Failed to decode JWT');
|
|
91
111
|
return;
|
|
@@ -105,9 +125,7 @@ export class Syncer {
|
|
|
105
125
|
pusher?.ref();
|
|
106
126
|
let connection;
|
|
107
127
|
try {
|
|
108
|
-
connection = new Connection(this.#lc, params, ws, new SyncerWsMessageHandler(this.#lc, params,
|
|
109
|
-
// auth is an empty string if the user is not authenticated
|
|
110
|
-
auth
|
|
128
|
+
connection = new Connection(this.#lc, params, ws, new SyncerWsMessageHandler(this.#lc, params, auth
|
|
111
129
|
? {
|
|
112
130
|
raw: auth,
|
|
113
131
|
decoded: decodedToken ?? {},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"syncer.js","sourceRoot":"","sources":["../../../../../zero-cache/src/workers/syncer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAC,QAAQ,EAAC,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAiB,MAAM,MAAM,CAAC;AACrC,OAAO,EAAC,GAAG,EAAC,MAAM,cAAc,CAAC;AACjC,OAAO,EAAC,WAAW,EAAC,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAC,eAAe,
|
|
1
|
+
{"version":3,"file":"syncer.js","sourceRoot":"","sources":["../../../../../zero-cache/src/workers/syncer.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,8 +5,12 @@ export declare const ConnectTimeout = "ConnectTimeout";
|
|
|
5
5
|
export declare const DisconnectTimeout = "DisconnectTimeout";
|
|
6
6
|
export declare const UnexpectedBaseCookie = "UnexpectedBaseCookie";
|
|
7
7
|
export declare const PingTimeout = "PingTimeout";
|
|
8
|
+
export declare const PullTimeout = "PullTimeout";
|
|
8
9
|
export declare const Hidden = "Hidden";
|
|
9
10
|
export declare const NoSocketOrigin = "NoSocketOrigin";
|
|
11
|
+
export declare const InvalidMessage = "InvalidMessage";
|
|
12
|
+
export declare const UserDisconnect = "UserDisconnect";
|
|
13
|
+
export declare const Internal = "Internal";
|
|
10
14
|
export type AbruptClose = typeof AbruptClose;
|
|
11
15
|
export type CleanClose = typeof CleanClose;
|
|
12
16
|
export type ClientClosed = typeof ClientClosed;
|
|
@@ -14,6 +18,10 @@ export type ConnectTimeout = typeof ConnectTimeout;
|
|
|
14
18
|
export type DisconnectTimeout = typeof DisconnectTimeout;
|
|
15
19
|
export type UnexpectedBaseCookie = typeof UnexpectedBaseCookie;
|
|
16
20
|
export type PingTimeout = typeof PingTimeout;
|
|
21
|
+
export type PullTimeout = typeof PullTimeout;
|
|
17
22
|
export type Hidden = typeof Hidden;
|
|
18
23
|
export type NoSocketOrigin = typeof NoSocketOrigin;
|
|
24
|
+
export type InvalidMessage = typeof InvalidMessage;
|
|
25
|
+
export type UserDisconnect = typeof UserDisconnect;
|
|
26
|
+
export type Internal = typeof Internal;
|
|
19
27
|
//# sourceMappingURL=client-error-kind-enum.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client-error-kind-enum.d.ts","sourceRoot":"","sources":["../../../../../zero-client/src/client/client-error-kind-enum.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW,gBAAgB,CAAC;AACzC,eAAO,MAAM,UAAU,eAAe,CAAC;AACvC,eAAO,MAAM,YAAY,iBAAiB,CAAC;AAC3C,eAAO,MAAM,cAAc,mBAAmB,CAAC;AAC/C,eAAO,MAAM,iBAAiB,sBAAsB,CAAC;AACrD,eAAO,MAAM,oBAAoB,yBAAyB,CAAC;AAC3D,eAAO,MAAM,WAAW,gBAAgB,CAAC;AACzC,eAAO,MAAM,MAAM,WAAW,CAAC;AAC/B,eAAO,MAAM,cAAc,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"client-error-kind-enum.d.ts","sourceRoot":"","sources":["../../../../../zero-client/src/client/client-error-kind-enum.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW,gBAAgB,CAAC;AACzC,eAAO,MAAM,UAAU,eAAe,CAAC;AACvC,eAAO,MAAM,YAAY,iBAAiB,CAAC;AAC3C,eAAO,MAAM,cAAc,mBAAmB,CAAC;AAC/C,eAAO,MAAM,iBAAiB,sBAAsB,CAAC;AACrD,eAAO,MAAM,oBAAoB,yBAAyB,CAAC;AAC3D,eAAO,MAAM,WAAW,gBAAgB,CAAC;AACzC,eAAO,MAAM,WAAW,gBAAgB,CAAC;AACzC,eAAO,MAAM,MAAM,WAAW,CAAC;AAC/B,eAAO,MAAM,cAAc,mBAAmB,CAAC;AAC/C,eAAO,MAAM,cAAc,mBAAmB,CAAC;AAC/C,eAAO,MAAM,cAAc,mBAAmB,CAAC;AAC/C,eAAO,MAAM,QAAQ,aAAa,CAAC;AAEnC,MAAM,MAAM,WAAW,GAAG,OAAO,WAAW,CAAC;AAC7C,MAAM,MAAM,UAAU,GAAG,OAAO,UAAU,CAAC;AAC3C,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC;AAC/C,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC;AACnD,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC;AACzD,MAAM,MAAM,oBAAoB,GAAG,OAAO,oBAAoB,CAAC;AAC/D,MAAM,MAAM,WAAW,GAAG,OAAO,WAAW,CAAC;AAC7C,MAAM,MAAM,WAAW,GAAG,OAAO,WAAW,CAAC;AAC7C,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC;AACnC,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC;AACnD,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC;AACnD,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC;AACnD,MAAM,MAAM,QAAQ,GAAG,OAAO,QAAQ,CAAC"}
|
|
@@ -1,9 +1,28 @@
|
|
|
1
1
|
import { Subscribable } from '../../../shared/src/subscribable.ts';
|
|
2
2
|
import { ConnectionStatus } from './connection-status.ts';
|
|
3
|
-
import type
|
|
3
|
+
import { type AuthError, type ZeroError } from './error.ts';
|
|
4
|
+
/**
|
|
5
|
+
* The current connection state of the Zero instance. It can be one of the following states:
|
|
6
|
+
*
|
|
7
|
+
* - `connecting`: The client is actively trying to connect every 5 seconds.
|
|
8
|
+
* - `attempt` counts the number of retries within the current retry window,
|
|
9
|
+
* - `disconnectAt` is the epoch timestamp when the client will transition to `disconnected` state
|
|
10
|
+
* - `reason` is the optional error associated with the connection attempt.
|
|
11
|
+
* - `disconnected`: The client is now in an "offline" state. It will continue
|
|
12
|
+
* to try to connect every 5 seconds.
|
|
13
|
+
* - `connected`: The client has opened a successful connection to the server.
|
|
14
|
+
* - `needs-auth`: Authentication is invalid or expired. No connection retries will be made
|
|
15
|
+
* until the host application calls `connect({auth: token})`.
|
|
16
|
+
* - `reason` is the `ZeroError` associated with the error state.
|
|
17
|
+
* - `error`: A fatal error occurred. No connection retries will be made until the host
|
|
18
|
+
* application calls `connect()` again.
|
|
19
|
+
* - `reason` is the `ZeroError` associated with the error state.
|
|
20
|
+
* - `closed`: The client was shut down (for example via `zero.close()`). This is
|
|
21
|
+
* a terminal state, and a new Zero instance must be created to reconnect.
|
|
22
|
+
*/
|
|
4
23
|
export type ConnectionState = {
|
|
5
24
|
name: ConnectionStatus.Disconnected;
|
|
6
|
-
reason
|
|
25
|
+
reason: ZeroError;
|
|
7
26
|
} | {
|
|
8
27
|
name: ConnectionStatus.Connecting;
|
|
9
28
|
attempt: number;
|
|
@@ -11,8 +30,15 @@ export type ConnectionState = {
|
|
|
11
30
|
reason?: ZeroError | undefined;
|
|
12
31
|
} | {
|
|
13
32
|
name: ConnectionStatus.Connected;
|
|
33
|
+
} | {
|
|
34
|
+
name: ConnectionStatus.NeedsAuth;
|
|
35
|
+
reason: AuthError;
|
|
36
|
+
} | {
|
|
37
|
+
name: ConnectionStatus.Error;
|
|
38
|
+
reason: ZeroError;
|
|
14
39
|
} | {
|
|
15
40
|
name: ConnectionStatus.Closed;
|
|
41
|
+
reason: ZeroError;
|
|
16
42
|
};
|
|
17
43
|
export type ConnectionManagerOptions = {
|
|
18
44
|
/**
|
|
@@ -26,6 +52,11 @@ export type ConnectionManagerOptions = {
|
|
|
26
52
|
*/
|
|
27
53
|
timeoutCheckIntervalMs?: number | undefined;
|
|
28
54
|
};
|
|
55
|
+
declare const TERMINAL_STATES: ["needs-auth", "error"];
|
|
56
|
+
type TerminalConnectionStatus = (typeof TERMINAL_STATES)[number];
|
|
57
|
+
type TerminalConnectionState = Extract<ConnectionState, {
|
|
58
|
+
name: TerminalConnectionStatus;
|
|
59
|
+
}>;
|
|
29
60
|
export declare class ConnectionManager extends Subscribable<ConnectionState> {
|
|
30
61
|
#private;
|
|
31
62
|
constructor(options: ConnectionManagerOptions);
|
|
@@ -34,13 +65,27 @@ export declare class ConnectionManager extends Subscribable<ConnectionState> {
|
|
|
34
65
|
* Returns true if the current state is equal to the given status.
|
|
35
66
|
*/
|
|
36
67
|
is(status: ConnectionStatus): boolean;
|
|
68
|
+
/**
|
|
69
|
+
* Returns true if the current state is a terminal state
|
|
70
|
+
* that can be recovered from by calling connect().
|
|
71
|
+
*/
|
|
72
|
+
isInTerminalState(): boolean;
|
|
73
|
+
/**
|
|
74
|
+
* Returns true if the given status is a terminal state
|
|
75
|
+
* that can be recovered from by calling connect().
|
|
76
|
+
*/
|
|
77
|
+
static isTerminalState(state: ConnectionState): state is TerminalConnectionState;
|
|
37
78
|
/**
|
|
38
79
|
* Returns true if the run loop should continue.
|
|
39
|
-
* The run loop continues in
|
|
40
|
-
*
|
|
80
|
+
* The run loop continues in all states except closed.
|
|
81
|
+
* In needs-auth and error states, the run loop pauses and waits for connect() to be called.
|
|
41
82
|
*/
|
|
42
83
|
shouldContinueRunLoop(): boolean;
|
|
43
|
-
|
|
84
|
+
/**
|
|
85
|
+
* Waits for the next state change.
|
|
86
|
+
* @returns A promise that resolves when the next state change occurs.
|
|
87
|
+
*/
|
|
88
|
+
waitForStateChange(): Promise<ConnectionState>;
|
|
44
89
|
/**
|
|
45
90
|
* Transition to connecting state.
|
|
46
91
|
*
|
|
@@ -49,8 +94,8 @@ export declare class ConnectionManager extends Subscribable<ConnectionState> {
|
|
|
49
94
|
*
|
|
50
95
|
* @returns An object containing a promise that resolves on the next state change.
|
|
51
96
|
*/
|
|
52
|
-
connecting(reason?: ZeroError
|
|
53
|
-
nextStatePromise: Promise<
|
|
97
|
+
connecting(reason?: ZeroError): {
|
|
98
|
+
nextStatePromise: Promise<ConnectionState>;
|
|
54
99
|
};
|
|
55
100
|
/**
|
|
56
101
|
* Transition to connected state.
|
|
@@ -59,7 +104,7 @@ export declare class ConnectionManager extends Subscribable<ConnectionState> {
|
|
|
59
104
|
* @returns An object containing a promise that resolves on the next state change.
|
|
60
105
|
*/
|
|
61
106
|
connected(): {
|
|
62
|
-
nextStatePromise: Promise<
|
|
107
|
+
nextStatePromise: Promise<ConnectionState>;
|
|
63
108
|
};
|
|
64
109
|
/**
|
|
65
110
|
* Transition to disconnected state.
|
|
@@ -69,18 +114,41 @@ export declare class ConnectionManager extends Subscribable<ConnectionState> {
|
|
|
69
114
|
*
|
|
70
115
|
* @returns An object containing a promise that resolves on the next state change.
|
|
71
116
|
*/
|
|
72
|
-
disconnected(reason
|
|
73
|
-
nextStatePromise: Promise<
|
|
117
|
+
disconnected(reason: ZeroError): {
|
|
118
|
+
nextStatePromise: Promise<ConnectionState>;
|
|
74
119
|
};
|
|
75
120
|
/**
|
|
76
|
-
* Transition to
|
|
77
|
-
* This
|
|
121
|
+
* Transition to needs-auth state.
|
|
122
|
+
* This pauses the run loop until connect() is called with new credentials.
|
|
123
|
+
* Resets the retry window and attempt counter.
|
|
124
|
+
*
|
|
125
|
+
* @returns An object containing a promise that resolves on the next state change.
|
|
126
|
+
*/
|
|
127
|
+
needsAuth(reason: AuthError): {
|
|
128
|
+
nextStatePromise: Promise<ConnectionState>;
|
|
129
|
+
};
|
|
130
|
+
/**
|
|
131
|
+
* Transition to error state.
|
|
132
|
+
* This pauses the run loop until connect() is called.
|
|
133
|
+
* Resets the retry window and attempt counter.
|
|
78
134
|
*
|
|
79
135
|
* @returns An object containing a promise that resolves on the next state change.
|
|
80
136
|
*/
|
|
81
|
-
|
|
82
|
-
nextStatePromise: Promise<
|
|
137
|
+
error(reason: ZeroError): {
|
|
138
|
+
nextStatePromise: Promise<ConnectionState>;
|
|
83
139
|
};
|
|
140
|
+
/**
|
|
141
|
+
* Transition to closed state.
|
|
142
|
+
* This is terminal - no further transitions are allowed.
|
|
143
|
+
*/
|
|
144
|
+
closed(): void;
|
|
84
145
|
cleanup: () => void;
|
|
85
146
|
}
|
|
147
|
+
/**
|
|
148
|
+
* Used to trigger the catch block when a terminal state is reached.
|
|
149
|
+
*
|
|
150
|
+
* @param state - The current connection state.
|
|
151
|
+
*/
|
|
152
|
+
export declare const throwIfConnectionError: (state: ConnectionState) => void;
|
|
153
|
+
export {};
|
|
86
154
|
//# sourceMappingURL=connection-manager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection-manager.d.ts","sourceRoot":"","sources":["../../../../../zero-client/src/client/connection-manager.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,YAAY,EAAC,MAAM,qCAAqC,CAAC;AACjE,OAAO,EAAC,gBAAgB,EAAC,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"connection-manager.d.ts","sourceRoot":"","sources":["../../../../../zero-client/src/client/connection-manager.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,YAAY,EAAC,MAAM,qCAAqC,CAAC;AACjE,OAAO,EAAC,gBAAgB,EAAC,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAGL,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,YAAY,CAAC;AAKpB;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,MAAM,eAAe,GACvB;IACE,IAAI,EAAE,gBAAgB,CAAC,YAAY,CAAC;IACpC,MAAM,EAAE,SAAS,CAAC;CACnB,GACD;IACE,IAAI,EAAE,gBAAgB,CAAC,UAAU,CAAC;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;CAChC,GACD;IACE,IAAI,EAAE,gBAAgB,CAAC,SAAS,CAAC;CAClC,GACD;IACE,IAAI,EAAE,gBAAgB,CAAC,SAAS,CAAC;IACjC,MAAM,EAAE,SAAS,CAAC;CACnB,GACD;IACE,IAAI,EAAE,gBAAgB,CAAC,KAAK,CAAC;IAC7B,MAAM,EAAE,SAAS,CAAC;CACnB,GACD;IACE,IAAI,EAAE,gBAAgB,CAAC,MAAM,CAAC;IAC9B,MAAM,EAAE,SAAS,CAAC;CACnB,CAAC;AAEN,MAAM,MAAM,wBAAwB,GAAG;IACrC;;;OAGG;IACH,mBAAmB,EAAE,MAAM,CAAC;IAC5B;;;OAGG;IACH,sBAAsB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7C,CAAC;AAEF,QAAA,MAAM,eAAe,yBAGkB,CAAC;AAExC,KAAK,wBAAwB,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AACjE,KAAK,uBAAuB,GAAG,OAAO,CACpC,eAAe,EACf;IAAC,IAAI,EAAE,wBAAwB,CAAA;CAAC,CACjC,CAAC;AAEF,qBAAa,iBAAkB,SAAQ,YAAY,CAAC,eAAe,CAAC;;gBAgCtD,OAAO,EAAE,wBAAwB;IAiB7C,IAAI,KAAK,IAAI,eAAe,CAE3B;IAED;;OAEG;IACH,EAAE,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO;IAIrC;;;OAGG;IACH,iBAAiB,IAAI,OAAO;IAI5B;;;OAGG;IACH,MAAM,CAAC,eAAe,CACpB,KAAK,EAAE,eAAe,GACrB,KAAK,IAAI,uBAAuB;IAMnC;;;;OAIG;IACH,qBAAqB,IAAI,OAAO;IAIhC;;;OAGG;IACH,kBAAkB,IAAI,OAAO,CAAC,eAAe,CAAC;IAI9C;;;;;;;OAOG;IACH,UAAU,CAAC,MAAM,CAAC,EAAE,SAAS,GAAG;QAC9B,gBAAgB,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;KAC5C;IA+CD;;;;;OAKG;IACH,SAAS,IAAI;QAAC,gBAAgB,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;KAAC;IAsBzD;;;;;;;OAOG;IACH,YAAY,CAAC,MAAM,EAAE,SAAS,GAAG;QAC/B,gBAAgB,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;KAC5C;IA6BD;;;;;;OAMG;IACH,SAAS,CAAC,MAAM,EAAE,SAAS,GAAG;QAC5B,gBAAgB,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;KAC5C;IAuBD;;;;;;OAMG;IACH,KAAK,CAAC,MAAM,EAAE,SAAS,GAAG;QAAC,gBAAgB,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;KAAC;IAuBtE;;;OAGG;IACH,MAAM;IAqBG,OAAO,QAAO,IAAI,CAGzB;CA4DH;AAED;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,GAAI,OAAO,eAAe,SAkB5D,CAAC"}
|
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
export declare const Disconnected = "disconnected";
|
|
2
2
|
export declare const Connecting = "connecting";
|
|
3
3
|
export declare const Connected = "connected";
|
|
4
|
+
export declare const NeedsAuth = "needs-auth";
|
|
5
|
+
export declare const Error = "error";
|
|
4
6
|
export declare const Closed = "closed";
|
|
5
7
|
export type Disconnected = typeof Disconnected;
|
|
6
8
|
export type Connecting = typeof Connecting;
|
|
7
9
|
export type Connected = typeof Connected;
|
|
10
|
+
export type NeedsAuth = typeof NeedsAuth;
|
|
11
|
+
export type Error = typeof Error;
|
|
8
12
|
export type Closed = typeof Closed;
|
|
9
13
|
//# sourceMappingURL=connection-status-enum.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection-status-enum.d.ts","sourceRoot":"","sources":["../../../../../zero-client/src/client/connection-status-enum.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,iBAAiB,CAAC;AAC3C,eAAO,MAAM,UAAU,eAAe,CAAC;AACvC,eAAO,MAAM,SAAS,cAAc,CAAC;AACrC,eAAO,MAAM,MAAM,WAAW,CAAC;AAE/B,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC;AAC/C,MAAM,MAAM,UAAU,GAAG,OAAO,UAAU,CAAC;AAC3C,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAC;AACzC,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC"}
|
|
1
|
+
{"version":3,"file":"connection-status-enum.d.ts","sourceRoot":"","sources":["../../../../../zero-client/src/client/connection-status-enum.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,iBAAiB,CAAC;AAC3C,eAAO,MAAM,UAAU,eAAe,CAAC;AACvC,eAAO,MAAM,SAAS,cAAc,CAAC;AACrC,eAAO,MAAM,SAAS,eAAe,CAAC;AACtC,eAAO,MAAM,KAAK,UAAU,CAAC;AAC7B,eAAO,MAAM,MAAM,WAAW,CAAC;AAE/B,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC;AAC/C,MAAM,MAAM,UAAU,GAAG,OAAO,UAAU,CAAC;AAC3C,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAC;AACzC,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAC;AACzC,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC;AACjC,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import type { ConnectionManager, ConnectionState } from './connection-manager.ts';
|
|
2
|
+
import type { ZeroLogContext } from './zero-log-context.ts';
|
|
3
|
+
export interface Source<T> {
|
|
4
|
+
/**
|
|
5
|
+
* The current state value.
|
|
6
|
+
*/
|
|
7
|
+
readonly current: T;
|
|
8
|
+
/**
|
|
9
|
+
* Subscribe to state changes.
|
|
10
|
+
*
|
|
11
|
+
* @param listener - Called when the state changes with the new state value.
|
|
12
|
+
* @returns A function to unsubscribe from state changes.
|
|
13
|
+
*/
|
|
14
|
+
subscribe(listener: (state: T) => void): () => void;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Connection API for managing Zero's connection lifecycle.
|
|
18
|
+
*/
|
|
19
|
+
export interface Connection {
|
|
20
|
+
/**
|
|
21
|
+
* The current connection state as a subscribable value.
|
|
22
|
+
*/
|
|
23
|
+
readonly state: Source<ConnectionState>;
|
|
24
|
+
/**
|
|
25
|
+
* Resumes the connection from a terminal state.
|
|
26
|
+
*
|
|
27
|
+
* If called when not in a terminal state, this method does nothing.
|
|
28
|
+
*
|
|
29
|
+
* @param opts - Optional connection options
|
|
30
|
+
* @param opts.auth - Token to use for authentication. If provided, this overrides
|
|
31
|
+
* the stored auth credential for this connection attempt.
|
|
32
|
+
* If `null` or `undefined`, the stored auth credential is cleared.
|
|
33
|
+
* @returns A promise that resolves once the connection state has transitioned to connecting.
|
|
34
|
+
*/
|
|
35
|
+
connect(opts?: {
|
|
36
|
+
auth: string | null | undefined;
|
|
37
|
+
}): Promise<void>;
|
|
38
|
+
}
|
|
39
|
+
export declare class ConnectionImpl implements Connection {
|
|
40
|
+
#private;
|
|
41
|
+
constructor(connectionManager: ConnectionManager, lc: ZeroLogContext, setAuth: (auth: string | null | undefined) => void);
|
|
42
|
+
get state(): Source<ConnectionState>;
|
|
43
|
+
connect(opts?: {
|
|
44
|
+
auth: string | null | undefined;
|
|
45
|
+
}): Promise<void>;
|
|
46
|
+
}
|
|
47
|
+
export declare class ConnectionSource implements Source<ConnectionState> {
|
|
48
|
+
#private;
|
|
49
|
+
constructor(connectionManager: ConnectionManager);
|
|
50
|
+
get current(): ConnectionState;
|
|
51
|
+
get subscribe(): (listener: (obj: ConnectionState) => unknown) => (() => void);
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=connection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../../../../zero-client/src/client/connection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,iBAAiB,EAAE,eAAe,EAAC,MAAM,yBAAyB,CAAC;AAChF,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,uBAAuB,CAAC;AAE1D,MAAM,WAAW,MAAM,CAAC,CAAC;IACvB;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IAEpB;;;;;OAKG;IACH,SAAS,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;CACrD;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC;IAExC;;;;;;;;;;OAUG;IACH,OAAO,CAAC,IAAI,CAAC,EAAE;QAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;KAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAClE;AAED,qBAAa,cAAe,YAAW,UAAU;;gBAO7C,iBAAiB,EAAE,iBAAiB,EACpC,EAAE,EAAE,cAAc,EAClB,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,KAAK,IAAI;IAQpD,IAAI,KAAK,IAAI,MAAM,CAAC,eAAe,CAAC,CAEnC;IAEK,OAAO,CAAC,IAAI,CAAC,EAAE;QAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;KAAC,GAAG,OAAO,CAAC,IAAI,CAAC;CA0BvE;AAED,qBAAa,gBAAiB,YAAW,MAAM,CAAC,eAAe,CAAC;;gBAGlD,iBAAiB,EAAE,iBAAiB;IAIhD,IAAI,OAAO,IAAI,eAAe,CAE7B;IAED,IAAI,SAAS,kEAEZ;CACF"}
|
|
@@ -1,37 +1,64 @@
|
|
|
1
1
|
import type { Expand } from '../../../shared/src/expand.ts';
|
|
2
2
|
import { ErrorKind } from '../../../zero-protocol/src/error-kind.ts';
|
|
3
|
-
import
|
|
3
|
+
import { ErrorOrigin } from '../../../zero-protocol/src/error-origin.ts';
|
|
4
|
+
import { ErrorReason } from '../../../zero-protocol/src/error-reason.ts';
|
|
5
|
+
import { type BackoffBody, type ErrorBody, ProtocolError, type PushFailedBody, type TransformFailedBody } from '../../../zero-protocol/src/error.ts';
|
|
4
6
|
import { ClientErrorKind } from './client-error-kind.ts';
|
|
7
|
+
import { ConnectionStatus } from './connection-status.ts';
|
|
8
|
+
export type ZeroError = ProtocolError<ErrorBody> | ClientError;
|
|
9
|
+
export type ZeroErrorBody = Expand<ErrorBody | ClientErrorBody>;
|
|
10
|
+
export type ZeroErrorKind = Expand<ErrorKind | ClientErrorKind>;
|
|
11
|
+
export type AuthError = ProtocolError<NeedsAuthReason>;
|
|
12
|
+
export type NeedsAuthReason = Expand<(ErrorBody & {
|
|
13
|
+
kind: ErrorKind.AuthInvalidated | ErrorKind.Unauthorized;
|
|
14
|
+
}) | (Extract<PushFailedBody, {
|
|
15
|
+
reason: ErrorReason.HTTP;
|
|
16
|
+
}> & {
|
|
17
|
+
status: 401 | 403;
|
|
18
|
+
}) | (Extract<TransformFailedBody, {
|
|
19
|
+
reason: ErrorReason.HTTP;
|
|
20
|
+
}> & {
|
|
21
|
+
status: 401 | 403;
|
|
22
|
+
})>;
|
|
5
23
|
export type ClientErrorBody = {
|
|
6
24
|
kind: ClientErrorKind;
|
|
25
|
+
origin: typeof ErrorOrigin.Client;
|
|
7
26
|
message: string;
|
|
8
27
|
};
|
|
9
|
-
export type ZeroErrorBody = Expand<ErrorBody | ClientErrorBody>;
|
|
10
|
-
export type ZeroErrorKind = Expand<ErrorKind | ClientErrorKind>;
|
|
11
|
-
declare abstract class BaseError<T extends ErrorBody | ClientErrorBody, Name extends T extends ErrorBody ? 'ServerError' : 'ClientError'> extends Error {
|
|
12
|
-
readonly errorBody: T;
|
|
13
|
-
constructor(errorBody: T, options?: ErrorOptions);
|
|
14
|
-
get kind(): T['kind'];
|
|
15
|
-
abstract get name(): Name;
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* Represents an error sent by server as part of Zero protocol.
|
|
19
|
-
*/
|
|
20
|
-
export declare class ServerError extends BaseError<ErrorBody, 'ServerError'> {
|
|
21
|
-
get name(): "ServerError";
|
|
22
|
-
}
|
|
23
28
|
/**
|
|
24
29
|
* Represents an error encountered by the client.
|
|
25
30
|
*/
|
|
26
|
-
export declare class ClientError extends
|
|
27
|
-
|
|
31
|
+
export declare class ClientError<const T extends Omit<ClientErrorBody, 'origin'> = Omit<ClientErrorBody, 'origin'>> extends Error {
|
|
32
|
+
readonly errorBody: {
|
|
33
|
+
origin: typeof ErrorOrigin.Client;
|
|
34
|
+
} & T;
|
|
35
|
+
constructor(errorBody: T, options?: ErrorOptions);
|
|
36
|
+
get kind(): T['kind'];
|
|
28
37
|
}
|
|
29
|
-
export
|
|
30
|
-
export declare function
|
|
31
|
-
export declare function
|
|
32
|
-
|
|
38
|
+
export declare function isServerError(ex: unknown): ex is ProtocolError<ErrorBody>;
|
|
39
|
+
export declare function isAuthError(ex: unknown): ex is AuthError;
|
|
40
|
+
export declare function getBackoffParams(error: ZeroError): BackoffBody | undefined;
|
|
41
|
+
export declare function isClientError(ex: unknown): ex is ClientError<ClientErrorBody>;
|
|
42
|
+
export declare const NO_STATUS_TRANSITION = "NO_STATUS_TRANSITION";
|
|
43
|
+
export type ErrorConnectionTransition = {
|
|
44
|
+
status: typeof NO_STATUS_TRANSITION;
|
|
45
|
+
reason: ZeroError;
|
|
46
|
+
} | {
|
|
47
|
+
status: ConnectionStatus.NeedsAuth;
|
|
48
|
+
reason: AuthError;
|
|
49
|
+
} | {
|
|
50
|
+
status: ConnectionStatus.Error;
|
|
51
|
+
reason: ZeroError;
|
|
52
|
+
} | {
|
|
53
|
+
status: ConnectionStatus.Disconnected;
|
|
54
|
+
reason: ZeroError;
|
|
55
|
+
} | {
|
|
56
|
+
status: ConnectionStatus.Closed;
|
|
57
|
+
reason: ZeroError;
|
|
33
58
|
};
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
59
|
+
/**
|
|
60
|
+
* Returns the status to transition to, or null if the error
|
|
61
|
+
* indicates that the connection should continue in the current state.
|
|
62
|
+
*/
|
|
63
|
+
export declare function getErrorConnectionTransition(ex: unknown): ErrorConnectionTransition;
|
|
37
64
|
//# sourceMappingURL=error.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../../../../zero-client/src/client/error.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../../../../zero-client/src/client/error.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,7 +24,7 @@ import type { LazyStore } from '../../../replicache/src/dag/lazy-store.ts';
|
|
|
24
24
|
export declare class IVMSourceBranch {
|
|
25
25
|
#private;
|
|
26
26
|
hash: Hash | undefined;
|
|
27
|
-
constructor(tables: Record<string, TableSchema>, hash?: Hash
|
|
27
|
+
constructor(tables: Record<string, TableSchema>, hash?: Hash, sources?: Map<string, MemorySource | undefined>);
|
|
28
28
|
getSource(name: string): MemorySource | undefined;
|
|
29
29
|
clear(): void;
|
|
30
30
|
/**
|
|
@@ -35,7 +35,7 @@ export declare class IVMSourceBranch {
|
|
|
35
35
|
/**
|
|
36
36
|
* Fork the branch and patch it up to match the desired head.
|
|
37
37
|
*/
|
|
38
|
-
forkToHead(store: LazyStore, desiredHead: Hash, readOptions?: ZeroReadOptions
|
|
38
|
+
forkToHead(store: LazyStore, desiredHead: Hash, readOptions?: ZeroReadOptions): Promise<IVMSourceBranch>;
|
|
39
39
|
/**
|
|
40
40
|
* Creates a new IVMSourceBranch that is a copy of the current one.
|
|
41
41
|
* This is a cheap operation since the b-trees are shared until a write is performed
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ivm-branch.d.ts","sourceRoot":"","sources":["../../../../../zero-client/src/client/ivm-branch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,uCAAuC,CAAC;AACnE,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,0CAA0C,CAAC;AAE1E,OAAO,EAAY,KAAK,KAAK,EAAC,MAAM,sCAAsC,CAAC;AAE3E,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,iCAAiC,CAAC;AAO1D,OAAO,KAAK,EAGV,WAAW,EACZ,MAAM,uCAAuC,CAAC;AAG/C,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,+CAA+C,CAAC;AACnF,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,2CAA2C,CAAC;AAEzE;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,eAAe;;IAG1B,IAAI,EAAE,IAAI,GAAG,SAAS,CAAC;gBAGrB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,EACnC,IAAI,CAAC,EAAE,IAAI,
|
|
1
|
+
{"version":3,"file":"ivm-branch.d.ts","sourceRoot":"","sources":["../../../../../zero-client/src/client/ivm-branch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,uCAAuC,CAAC;AACnE,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,0CAA0C,CAAC;AAE1E,OAAO,EAAY,KAAK,KAAK,EAAC,MAAM,sCAAsC,CAAC;AAE3E,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,iCAAiC,CAAC;AAO1D,OAAO,KAAK,EAGV,WAAW,EACZ,MAAM,uCAAuC,CAAC;AAG/C,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,+CAA+C,CAAC;AACnF,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,2CAA2C,CAAC;AAEzE;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,eAAe;;IAG1B,IAAI,EAAE,IAAI,GAAG,SAAS,CAAC;gBAGrB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,EACnC,IAAI,CAAC,EAAE,IAAI,EACX,OAAO,GAAE,GAAG,CAAC,MAAM,EAAE,YAAY,GAAG,SAAS,CAAa;IAO5D,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAajD,KAAK;IAIL;;;OAGG;IACH,OAAO,CAAC,YAAY,EAAE,IAAI,GAAG,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW;IAWzE;;OAEG;IACG,UAAU,CACd,KAAK,EAAE,SAAS,EAChB,WAAW,EAAE,IAAI,EACjB,WAAW,CAAC,EAAE,eAAe,GAC5B,OAAO,CAAC,eAAe,CAAC;IAY3B;;;;;;;OAOG;IACH,IAAI;CAYL;AAED,wBAAsB,aAAa,CACjC,MAAM,EAAE,eAAe,EACvB,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,iBAkBb"}
|
|
@@ -4,6 +4,15 @@ import type { ZeroLogContext } from './zero-log-context.ts';
|
|
|
4
4
|
export declare const DID_NOT_CONNECT_VALUE: number;
|
|
5
5
|
export declare const REPORT_INTERVAL_MS = 5000;
|
|
6
6
|
export declare function getLastConnectErrorValue(reason: ZeroError): `server_${string}` | `client_${string}`;
|
|
7
|
+
/**
|
|
8
|
+
* Returns whether an error should be reported in metrics and
|
|
9
|
+
* increment the connect error count.
|
|
10
|
+
*
|
|
11
|
+
* Returns `true` for all server errors and client errors that represent actual
|
|
12
|
+
* connection problems. Returns `false` for expected client-side disconnections
|
|
13
|
+
* (user disconnect, client closed, hidden tab, clean/abrupt close).
|
|
14
|
+
*/
|
|
15
|
+
export declare function shouldReportConnectError(reason: ZeroError): boolean;
|
|
7
16
|
type MetricsReporter = (metrics: Series[]) => MaybePromise<void>;
|
|
8
17
|
export type MetricManagerOptions = {
|
|
9
18
|
reportIntervalMs: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../../../../../zero-client/src/client/metrics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../../../../../zero-client/src/client/metrics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,8BAA8B,CAAC;AAE/D,OAAO,EAGL,KAAK,SAAS,EAEf,MAAM,YAAY,CAAC;AAEpB,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,uBAAuB,CAAC;AAM1D,eAAO,MAAM,qBAAqB,QAAa,CAAC;AAEhD,eAAO,MAAM,kBAAkB,OAAQ,CAAC;AASxC,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,2CAEzD;AAYD;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAcnE;AAED,KAAK,eAAe,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC;AAEjE,MAAM,MAAM,oBAAoB,GAAG;IACjC,gBAAgB,EAAE,MAAM,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,eAAe,CAAC;IAC1B,EAAE,EAAE,cAAc,CAAC;CACpB,CAAC;AAEF;;;GAGG;AACH,qBAAa,aAAa;;gBAOZ,IAAI,EAAE,oBAAoB;IAqCtC,QAAQ,CAAC,eAAe,QAEtB;IAMF,QAAQ,CAAC,gBAAgB,QAKvB;IAqCF,YAAY,CAAC,eAAe,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM;IAOlE,gCAAgC;IAmBhC,eAAe,CAAC,MAAM,EAAE,SAAS;IAOjC;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAM;IAIvB,KAAK;IA4BX,IAAI;CAaL;AAMD,6DAA6D;AAC7D,MAAM,MAAM,MAAM,GAAG;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB,CAAC;AACF;;;;;GAKG;AACH,MAAM,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;AAMvC,KAAK,SAAS,GAAG;IACf,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,QAAQ,GAAG,QAAQ,CAAC,GAAG,SAAS,CAAC;CACxD,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,qBAAa,KAAM,YAAW,SAAS;;gBAIzB,IAAI,EAAE,MAAM;IAIxB,GAAG,CAAC,KAAK,EAAE,MAAM;IAIjB,GAAG;IAIH,KAAK;IAIL,KAAK;;;;CASN;AAMD;;;;;;;;;;;;GAYG;AACH,qBAAa,KAAM,YAAW,SAAS;;gBAKzB,MAAM,EAAE,MAAM,EAAE,YAAY,UAAQ;IAKhD,GAAG,CAAC,KAAK,EAAE,MAAM;IAIjB,GAAG;IAIH,KAAK;IAIL,KAAK;;;;CAYN"}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import type { EphemeralID, MutationTrackingData } from '../../../replicache/src/replicache-options.ts';
|
|
2
|
-
import { type MutationID, type PushResponse } from '../../../zero-protocol/src/push.ts';
|
|
3
|
-
import type { ZeroLogContext } from './zero-log-context.ts';
|
|
4
2
|
import type { ReplicacheImpl } from '../../../replicache/src/impl.ts';
|
|
3
|
+
import { type MutationID, type PushResponseBody } from '../../../zero-protocol/src/push.ts';
|
|
4
|
+
import { type ZeroError } from './error.ts';
|
|
5
|
+
import type { ZeroLogContext } from './zero-log-context.ts';
|
|
5
6
|
/**
|
|
6
7
|
* Tracks what pushes are in-flight and resolves promises when they're acked.
|
|
7
8
|
*/
|
|
8
9
|
export declare class MutationTracker {
|
|
9
10
|
#private;
|
|
10
|
-
constructor(lc: ZeroLogContext, ackMutations: (upTo: MutationID) => void);
|
|
11
|
+
constructor(lc: ZeroLogContext, ackMutations: (upTo: MutationID) => void, onFatalError: (error: ZeroError) => void);
|
|
11
12
|
setClientIDAndWatch(clientID: string, experimentalWatch: ReplicacheImpl['experimentalWatch']): void;
|
|
12
13
|
trackMutation(): MutationTrackingData;
|
|
13
14
|
mutationIDAssigned(id: EphemeralID, mutationID: number): void;
|
|
@@ -16,7 +17,7 @@ export declare class MutationTracker {
|
|
|
16
17
|
* The mutation must not have been persisted to the client store.
|
|
17
18
|
*/
|
|
18
19
|
rejectMutation(id: EphemeralID, e: unknown): void;
|
|
19
|
-
processPushResponse(response:
|
|
20
|
+
processPushResponse(response: PushResponseBody): void;
|
|
20
21
|
/**
|
|
21
22
|
* DEPRECATED: to be removed when we switch to fully driving
|
|
22
23
|
* mutation resolution via poke.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mutation-tracker.d.ts","sourceRoot":"","sources":["../../../../../zero-client/src/client/mutation-tracker.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,WAAW,EACX,oBAAoB,EACrB,MAAM,+CAA+C,CAAC;
|
|
1
|
+
{"version":3,"file":"mutation-tracker.d.ts","sourceRoot":"","sources":["../../../../../zero-client/src/client/mutation-tracker.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,WAAW,EACX,oBAAoB,EACrB,MAAM,+CAA+C,CAAC;AACvD,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,iCAAiC,CAAC;AAOpE,OAAO,EAGL,KAAK,UAAU,EAIf,KAAK,gBAAgB,EACtB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAC,KAAK,SAAS,EAAC,MAAM,YAAY,CAAC;AAE1C,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,uBAAuB,CAAC;AAoB1D;;GAEG;AACH,qBAAa,eAAe;;gBAmBxB,EAAE,EAAE,cAAc,EAClB,YAAY,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,EACxC,YAAY,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI;IAY1C,mBAAmB,CACjB,QAAQ,EAAE,MAAM,EAChB,iBAAiB,EAAE,cAAc,CAAC,mBAAmB,CAAC;IAexD,aAAa,IAAI,oBAAoB;IAUrC,kBAAkB,CAAC,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAY7D;;;OAGG;IACH,cAAc,CAAC,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,OAAO,GAAG,IAAI;IA+CjD,mBAAmB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI;IAuDrD;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,WAAW,CAAC,cAAc,EAAE,MAAM;IAIlC;;;;;;OAMG;IACH,YAAY,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI;IAoB1C,IAAI,IAAI,WAEP;IAuID;;;;;;;;;OASG;IACH,qBAAqB,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI;CASlD"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import type { LogLevel } from '@rocicorp/logger';
|
|
2
2
|
import type { StoreProvider } from '../../../replicache/src/kv/store.ts';
|
|
3
|
-
import type { MaybePromise } from '../../../shared/src/types.ts';
|
|
4
3
|
import * as v from '../../../shared/src/valita.ts';
|
|
5
4
|
import type { Schema } from '../../../zero-schema/src/builder/schema-builder.ts';
|
|
6
5
|
import type { CustomMutatorDefs } from './custom.ts';
|
|
@@ -23,24 +22,18 @@ export interface ZeroOptions<S extends Schema, MD extends CustomMutatorDefs | un
|
|
|
23
22
|
*/
|
|
24
23
|
server?: string | null | undefined;
|
|
25
24
|
/**
|
|
26
|
-
* A
|
|
27
|
-
* - A string containing the JWT token
|
|
28
|
-
* - A function that returns a JWT token
|
|
29
|
-
* - `undefined` if there is no logged in user
|
|
25
|
+
* A token to identify and authenticate the user.
|
|
30
26
|
*
|
|
31
|
-
*
|
|
32
|
-
* 1. **For function providers:**
|
|
33
|
-
* When zero-cache reports that a token is invalid (expired, malformed,
|
|
34
|
-
* or has an invalid signature), Zero will call the function again with
|
|
35
|
-
* `error='invalid-token'` to obtain a new token.
|
|
27
|
+
* Set `auth` to `null` or `undefined` if there is no logged in user.
|
|
36
28
|
*
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
*
|
|
29
|
+
* When a 401 or 403 HTTP status code is received from your server, Zero will
|
|
30
|
+
* transition to the `needs-auth` connection state. The app should call
|
|
31
|
+
* `zero.connection.connect({auth: newToken})` with a new token to reconnect.
|
|
32
|
+
*
|
|
33
|
+
* The call to `connect` is handled automatically by the ZeroProvider component
|
|
34
|
+
* for React and SolidJS when the `auth` prop changes.
|
|
42
35
|
*/
|
|
43
|
-
auth?: string |
|
|
36
|
+
auth?: string | null | undefined;
|
|
44
37
|
/**
|
|
45
38
|
* A unique identifier for the user. Must be non-empty.
|
|
46
39
|
*
|
|
@@ -96,11 +89,15 @@ export interface ZeroOptions<S extends Schema, MD extends CustomMutatorDefs | un
|
|
|
96
89
|
/**
|
|
97
90
|
* `onOnlineChange` is called when the Zero instance's online status changes.
|
|
98
91
|
*
|
|
99
|
-
* @deprecated Use
|
|
92
|
+
* @deprecated Use {@linkcode Connection.state.subscribe} on the Zero instance instead. e.g.
|
|
100
93
|
* ```ts
|
|
101
94
|
* const zero = new Zero({...});
|
|
102
|
-
* zero.
|
|
95
|
+
* zero.connection.state.subscribe((state) => {
|
|
96
|
+
* console.log('Connection state:', state.name);
|
|
97
|
+
* });
|
|
103
98
|
* ```
|
|
99
|
+
*
|
|
100
|
+
* Or use a hook like {@linkcode useZeroConnectionState} to subscribe to state changes.
|
|
104
101
|
*/
|
|
105
102
|
onOnlineChange?: ((online: boolean) => void) | undefined;
|
|
106
103
|
/**
|