@livestore/common 0.4.0-dev.9 → 0.4.0
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/dist/.tsbuildinfo +1 -1
- package/dist/ClientSessionLeaderThreadProxy.d.ts +27 -12
- package/dist/ClientSessionLeaderThreadProxy.d.ts.map +1 -1
- package/dist/ClientSessionLeaderThreadProxy.js.map +1 -1
- package/dist/WorkerTransportError.d.ts +11 -0
- package/dist/WorkerTransportError.d.ts.map +1 -0
- package/dist/WorkerTransportError.js +11 -0
- package/dist/WorkerTransportError.js.map +1 -0
- package/dist/adapter-types.d.ts +37 -7
- package/dist/adapter-types.d.ts.map +1 -1
- package/dist/adapter-types.js +27 -1
- package/dist/adapter-types.js.map +1 -1
- package/dist/bounded-collections.d.ts.map +1 -1
- package/dist/bounded-collections.js +6 -4
- package/dist/bounded-collections.js.map +1 -1
- package/dist/debug-info.d.ts.map +1 -1
- package/dist/debug-info.js +33 -6
- package/dist/debug-info.js.map +1 -1
- package/dist/devtools/devtools-compatibility.test.d.ts +2 -0
- package/dist/devtools/devtools-compatibility.test.d.ts.map +1 -0
- package/dist/devtools/devtools-compatibility.test.js +15 -0
- package/dist/devtools/devtools-compatibility.test.js.map +1 -0
- package/dist/devtools/devtools-messages-client-session.d.ts +55 -24
- package/dist/devtools/devtools-messages-client-session.d.ts.map +1 -1
- package/dist/devtools/devtools-messages-client-session.js +22 -5
- package/dist/devtools/devtools-messages-client-session.js.map +1 -1
- package/dist/devtools/devtools-messages-common.d.ts +11 -14
- package/dist/devtools/devtools-messages-common.d.ts.map +1 -1
- package/dist/devtools/devtools-messages-common.js +7 -9
- package/dist/devtools/devtools-messages-common.js.map +1 -1
- package/dist/devtools/devtools-messages-leader.d.ts +65 -30
- package/dist/devtools/devtools-messages-leader.d.ts.map +1 -1
- package/dist/devtools/devtools-messages-leader.js +29 -11
- package/dist/devtools/devtools-messages-leader.js.map +1 -1
- package/dist/devtools/devtools-sessioninfo.d.ts +14 -2
- package/dist/devtools/devtools-sessioninfo.d.ts.map +1 -1
- package/dist/devtools/devtools-sessioninfo.js +7 -4
- package/dist/devtools/devtools-sessioninfo.js.map +1 -1
- package/dist/devtools/mod.d.ts +13 -2
- package/dist/devtools/mod.d.ts.map +1 -1
- package/dist/devtools/mod.js +10 -3
- package/dist/devtools/mod.js.map +1 -1
- package/dist/errors.d.ts +48 -18
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +20 -12
- package/dist/errors.js.map +1 -1
- package/dist/index.d.ts +4 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/leader-thread/LeaderSyncProcessor.d.ts +53 -6
- package/dist/leader-thread/LeaderSyncProcessor.d.ts.map +1 -1
- package/dist/leader-thread/LeaderSyncProcessor.js +325 -257
- package/dist/leader-thread/LeaderSyncProcessor.js.map +1 -1
- package/dist/leader-thread/RejectedPushError.d.ts +107 -0
- package/dist/leader-thread/RejectedPushError.d.ts.map +1 -0
- package/dist/leader-thread/RejectedPushError.js +78 -0
- package/dist/leader-thread/RejectedPushError.js.map +1 -0
- package/dist/leader-thread/connection.js +1 -1
- package/dist/leader-thread/connection.js.map +1 -1
- package/dist/leader-thread/eventlog.d.ts +19 -14
- package/dist/leader-thread/eventlog.d.ts.map +1 -1
- package/dist/leader-thread/eventlog.js +78 -18
- package/dist/leader-thread/eventlog.js.map +1 -1
- package/dist/leader-thread/leader-worker-devtools.d.ts +1 -2
- package/dist/leader-thread/leader-worker-devtools.d.ts.map +1 -1
- package/dist/leader-thread/leader-worker-devtools.js +90 -58
- package/dist/leader-thread/leader-worker-devtools.js.map +1 -1
- package/dist/leader-thread/make-leader-thread-layer.d.ts +15 -7
- package/dist/leader-thread/make-leader-thread-layer.d.ts.map +1 -1
- package/dist/leader-thread/make-leader-thread-layer.js +49 -17
- package/dist/leader-thread/make-leader-thread-layer.js.map +1 -1
- package/dist/leader-thread/make-leader-thread-layer.test.d.ts +2 -0
- package/dist/leader-thread/make-leader-thread-layer.test.d.ts.map +1 -0
- package/dist/leader-thread/make-leader-thread-layer.test.js +32 -0
- package/dist/leader-thread/make-leader-thread-layer.test.js.map +1 -0
- package/dist/leader-thread/materialize-event.d.ts +1 -1
- package/dist/leader-thread/materialize-event.d.ts.map +1 -1
- package/dist/leader-thread/materialize-event.js +28 -9
- package/dist/leader-thread/materialize-event.js.map +1 -1
- package/dist/leader-thread/mod.d.ts +1 -0
- package/dist/leader-thread/mod.d.ts.map +1 -1
- package/dist/leader-thread/mod.js +1 -0
- package/dist/leader-thread/mod.js.map +1 -1
- package/dist/leader-thread/recreate-db.d.ts +2 -2
- package/dist/leader-thread/recreate-db.d.ts.map +1 -1
- package/dist/leader-thread/recreate-db.js +6 -6
- package/dist/leader-thread/recreate-db.js.map +1 -1
- package/dist/leader-thread/shutdown-channel.d.ts +2 -2
- package/dist/leader-thread/shutdown-channel.d.ts.map +1 -1
- package/dist/leader-thread/shutdown-channel.js +2 -2
- package/dist/leader-thread/shutdown-channel.js.map +1 -1
- package/dist/leader-thread/stream-events.d.ts +56 -0
- package/dist/leader-thread/stream-events.d.ts.map +1 -0
- package/dist/leader-thread/stream-events.js +167 -0
- package/dist/leader-thread/stream-events.js.map +1 -0
- package/dist/leader-thread/types.d.ts +95 -17
- package/dist/leader-thread/types.d.ts.map +1 -1
- package/dist/leader-thread/types.js +13 -0
- package/dist/leader-thread/types.js.map +1 -1
- package/dist/logging.d.ts +40 -0
- package/dist/logging.d.ts.map +1 -0
- package/dist/logging.js +33 -0
- package/dist/logging.js.map +1 -0
- package/dist/make-client-session.d.ts +5 -3
- package/dist/make-client-session.d.ts.map +1 -1
- package/dist/make-client-session.js +7 -4
- package/dist/make-client-session.js.map +1 -1
- package/dist/materializer-helper.d.ts +6 -6
- package/dist/materializer-helper.d.ts.map +1 -1
- package/dist/materializer-helper.js +18 -8
- package/dist/materializer-helper.js.map +1 -1
- package/dist/otel.d.ts +2 -1
- package/dist/otel.d.ts.map +1 -1
- package/dist/otel.js +7 -2
- package/dist/otel.js.map +1 -1
- package/dist/rematerialize-from-eventlog.d.ts +3 -3
- package/dist/rematerialize-from-eventlog.d.ts.map +1 -1
- package/dist/rematerialize-from-eventlog.js +40 -29
- package/dist/rematerialize-from-eventlog.js.map +1 -1
- package/dist/schema/EventDef/define.d.ts +161 -0
- package/dist/schema/EventDef/define.d.ts.map +1 -0
- package/dist/schema/EventDef/define.js +140 -0
- package/dist/schema/EventDef/define.js.map +1 -0
- package/dist/schema/EventDef/deprecated.d.ts +99 -0
- package/dist/schema/EventDef/deprecated.d.ts.map +1 -0
- package/dist/schema/EventDef/deprecated.js +144 -0
- package/dist/schema/EventDef/deprecated.js.map +1 -0
- package/dist/schema/EventDef/deprecated.test.d.ts +2 -0
- package/dist/schema/EventDef/deprecated.test.d.ts.map +1 -0
- package/dist/schema/EventDef/deprecated.test.js +95 -0
- package/dist/schema/EventDef/deprecated.test.js.map +1 -0
- package/dist/schema/EventDef/event-def.d.ts +110 -0
- package/dist/schema/EventDef/event-def.d.ts.map +1 -0
- package/dist/schema/EventDef/event-def.js +2 -0
- package/dist/schema/EventDef/event-def.js.map +1 -0
- package/dist/schema/EventDef/facts.d.ts +118 -0
- package/dist/schema/EventDef/facts.d.ts.map +1 -0
- package/dist/schema/EventDef/facts.js +53 -0
- package/dist/schema/EventDef/facts.js.map +1 -0
- package/dist/schema/EventDef/materializer.d.ts +155 -0
- package/dist/schema/EventDef/materializer.d.ts.map +1 -0
- package/dist/schema/EventDef/materializer.js +83 -0
- package/dist/schema/EventDef/materializer.js.map +1 -0
- package/dist/schema/EventDef/mod.d.ts +6 -0
- package/dist/schema/EventDef/mod.d.ts.map +1 -0
- package/dist/schema/EventDef/mod.js +6 -0
- package/dist/schema/EventDef/mod.js.map +1 -0
- package/dist/schema/EventSequenceNumber/client.d.ts +136 -0
- package/dist/schema/EventSequenceNumber/client.d.ts.map +1 -0
- package/dist/schema/EventSequenceNumber/client.js +193 -0
- package/dist/schema/EventSequenceNumber/client.js.map +1 -0
- package/dist/schema/EventSequenceNumber/global.d.ts +15 -0
- package/dist/schema/EventSequenceNumber/global.d.ts.map +1 -0
- package/dist/schema/EventSequenceNumber/global.js +14 -0
- package/dist/schema/EventSequenceNumber/global.js.map +1 -0
- package/dist/schema/EventSequenceNumber/mod.d.ts +37 -0
- package/dist/schema/EventSequenceNumber/mod.d.ts.map +1 -0
- package/dist/schema/EventSequenceNumber/mod.js +37 -0
- package/dist/schema/EventSequenceNumber/mod.js.map +1 -0
- package/dist/schema/EventSequenceNumber.test.js +44 -44
- package/dist/schema/EventSequenceNumber.test.js.map +1 -1
- package/dist/schema/{LiveStoreEvent.d.ts → LiveStoreEvent/client.d.ts} +102 -111
- package/dist/schema/LiveStoreEvent/client.d.ts.map +1 -0
- package/dist/schema/LiveStoreEvent/client.js +176 -0
- package/dist/schema/LiveStoreEvent/client.js.map +1 -0
- package/dist/schema/LiveStoreEvent/client.test.d.ts +2 -0
- package/dist/schema/LiveStoreEvent/client.test.d.ts.map +1 -0
- package/dist/schema/LiveStoreEvent/client.test.js +111 -0
- package/dist/schema/LiveStoreEvent/client.test.js.map +1 -0
- package/dist/schema/LiveStoreEvent/for-event-def.d.ts +52 -0
- package/dist/schema/LiveStoreEvent/for-event-def.d.ts.map +1 -0
- package/dist/schema/LiveStoreEvent/for-event-def.js +2 -0
- package/dist/schema/LiveStoreEvent/for-event-def.js.map +1 -0
- package/dist/schema/LiveStoreEvent/global.d.ts +36 -0
- package/dist/schema/LiveStoreEvent/global.d.ts.map +1 -0
- package/dist/schema/LiveStoreEvent/global.js +31 -0
- package/dist/schema/LiveStoreEvent/global.js.map +1 -0
- package/dist/schema/LiveStoreEvent/input.d.ts +46 -0
- package/dist/schema/LiveStoreEvent/input.d.ts.map +1 -0
- package/dist/schema/LiveStoreEvent/input.js +26 -0
- package/dist/schema/LiveStoreEvent/input.js.map +1 -0
- package/dist/schema/LiveStoreEvent/mod.d.ts +5 -0
- package/dist/schema/LiveStoreEvent/mod.d.ts.map +1 -0
- package/dist/schema/LiveStoreEvent/mod.js +5 -0
- package/dist/schema/LiveStoreEvent/mod.js.map +1 -0
- package/dist/schema/events.d.ts +1 -1
- package/dist/schema/events.d.ts.map +1 -1
- package/dist/schema/events.js +1 -1
- package/dist/schema/events.js.map +1 -1
- package/dist/schema/mod.d.ts +6 -4
- package/dist/schema/mod.d.ts.map +1 -1
- package/dist/schema/mod.js +5 -4
- package/dist/schema/mod.js.map +1 -1
- package/dist/schema/schema.d.ts +16 -1
- package/dist/schema/schema.d.ts.map +1 -1
- package/dist/schema/schema.js +32 -4
- package/dist/schema/schema.js.map +1 -1
- package/dist/schema/state/sqlite/client-document-def.d.ts +2 -1
- package/dist/schema/state/sqlite/client-document-def.d.ts.map +1 -1
- package/dist/schema/state/sqlite/client-document-def.js +36 -15
- package/dist/schema/state/sqlite/client-document-def.js.map +1 -1
- package/dist/schema/state/sqlite/client-document-def.test.js +121 -2
- package/dist/schema/state/sqlite/client-document-def.test.js.map +1 -1
- package/dist/schema/state/sqlite/column-annotations.d.ts.map +1 -1
- package/dist/schema/state/sqlite/column-annotations.js +1 -1
- package/dist/schema/state/sqlite/column-annotations.js.map +1 -1
- package/dist/schema/state/sqlite/column-annotations.test.js +2 -2
- package/dist/schema/state/sqlite/column-annotations.test.js.map +1 -1
- package/dist/schema/state/sqlite/column-def.d.ts.map +1 -1
- package/dist/schema/state/sqlite/column-def.js +96 -47
- package/dist/schema/state/sqlite/column-def.js.map +1 -1
- package/dist/schema/state/sqlite/column-def.test.js +51 -12
- package/dist/schema/state/sqlite/column-def.test.js.map +1 -1
- package/dist/schema/state/sqlite/column-spec.d.ts.map +1 -1
- package/dist/schema/state/sqlite/column-spec.js +30 -12
- package/dist/schema/state/sqlite/column-spec.js.map +1 -1
- package/dist/schema/state/sqlite/column-spec.test.js +24 -15
- package/dist/schema/state/sqlite/column-spec.test.js.map +1 -1
- package/dist/schema/state/sqlite/db-schema/ast/sqlite.js +2 -2
- package/dist/schema/state/sqlite/db-schema/ast/sqlite.js.map +1 -1
- package/dist/schema/state/sqlite/db-schema/dsl/field-defs.d.ts +16 -10
- package/dist/schema/state/sqlite/db-schema/dsl/field-defs.d.ts.map +1 -1
- package/dist/schema/state/sqlite/db-schema/dsl/field-defs.js +15 -4
- package/dist/schema/state/sqlite/db-schema/dsl/field-defs.js.map +1 -1
- package/dist/schema/state/sqlite/db-schema/dsl/field-defs.test.js +1 -1
- package/dist/schema/state/sqlite/db-schema/dsl/field-defs.test.js.map +1 -1
- package/dist/schema/state/sqlite/db-schema/dsl/mod.d.ts +1 -1
- package/dist/schema/state/sqlite/db-schema/dsl/mod.d.ts.map +1 -1
- package/dist/schema/state/sqlite/db-schema/dsl/mod.js +1 -1
- package/dist/schema/state/sqlite/db-schema/dsl/mod.js.map +1 -1
- package/dist/schema/state/sqlite/mod.d.ts +2 -2
- package/dist/schema/state/sqlite/mod.d.ts.map +1 -1
- package/dist/schema/state/sqlite/mod.js +5 -7
- package/dist/schema/state/sqlite/mod.js.map +1 -1
- package/dist/schema/state/sqlite/query-builder/api.d.ts +51 -22
- package/dist/schema/state/sqlite/query-builder/api.d.ts.map +1 -1
- package/dist/schema/state/sqlite/query-builder/astToSql.d.ts.map +1 -1
- package/dist/schema/state/sqlite/query-builder/astToSql.js +99 -22
- package/dist/schema/state/sqlite/query-builder/astToSql.js.map +1 -1
- package/dist/schema/state/sqlite/query-builder/impl.d.ts +1 -1
- package/dist/schema/state/sqlite/query-builder/impl.d.ts.map +1 -1
- package/dist/schema/state/sqlite/query-builder/impl.js +28 -15
- package/dist/schema/state/sqlite/query-builder/impl.js.map +1 -1
- package/dist/schema/state/sqlite/query-builder/impl.test.js +231 -93
- package/dist/schema/state/sqlite/query-builder/impl.test.js.map +1 -1
- package/dist/schema/state/sqlite/schema-helpers.d.ts +2 -2
- package/dist/schema/state/sqlite/schema-helpers.d.ts.map +1 -1
- package/dist/schema/state/sqlite/schema-helpers.js +24 -14
- package/dist/schema/state/sqlite/schema-helpers.js.map +1 -1
- package/dist/schema/state/sqlite/schema-helpers.test.d.ts +2 -0
- package/dist/schema/state/sqlite/schema-helpers.test.d.ts.map +1 -0
- package/dist/schema/state/sqlite/schema-helpers.test.js +36 -0
- package/dist/schema/state/sqlite/schema-helpers.test.js.map +1 -0
- package/dist/schema/state/sqlite/{system-tables.d.ts → system-tables/eventlog-tables.d.ts} +21 -450
- package/dist/schema/state/sqlite/system-tables/eventlog-tables.d.ts.map +1 -0
- package/dist/schema/state/sqlite/system-tables/eventlog-tables.js +54 -0
- package/dist/schema/state/sqlite/system-tables/eventlog-tables.js.map +1 -0
- package/dist/schema/state/sqlite/system-tables/mod.d.ts +3 -0
- package/dist/schema/state/sqlite/system-tables/mod.d.ts.map +1 -0
- package/dist/schema/state/sqlite/system-tables/mod.js +3 -0
- package/dist/schema/state/sqlite/system-tables/mod.js.map +1 -0
- package/dist/schema/state/sqlite/system-tables/state-tables.d.ts +456 -0
- package/dist/schema/state/sqlite/system-tables/state-tables.d.ts.map +1 -0
- package/dist/schema/state/sqlite/system-tables/state-tables.js +55 -0
- package/dist/schema/state/sqlite/system-tables/state-tables.js.map +1 -0
- package/dist/schema/state/sqlite/table-def.d.ts +5 -3
- package/dist/schema/state/sqlite/table-def.d.ts.map +1 -1
- package/dist/schema/state/sqlite/table-def.js +1 -1
- package/dist/schema/state/sqlite/table-def.js.map +1 -1
- package/dist/schema/state/sqlite/table-def.test.js +92 -3
- package/dist/schema/state/sqlite/table-def.test.js.map +1 -1
- package/dist/schema/unknown-events.d.ts +47 -0
- package/dist/schema/unknown-events.d.ts.map +1 -0
- package/dist/schema/unknown-events.js +69 -0
- package/dist/schema/unknown-events.js.map +1 -0
- package/dist/schema-management/__tests__/migrations-autoincrement-quoting.test.d.ts +2 -0
- package/dist/schema-management/__tests__/migrations-autoincrement-quoting.test.d.ts.map +1 -0
- package/dist/schema-management/__tests__/migrations-autoincrement-quoting.test.js +73 -0
- package/dist/schema-management/__tests__/migrations-autoincrement-quoting.test.js.map +1 -0
- package/dist/schema-management/common.js +2 -2
- package/dist/schema-management/common.js.map +1 -1
- package/dist/schema-management/migrations.d.ts +32 -2
- package/dist/schema-management/migrations.d.ts.map +1 -1
- package/dist/schema-management/migrations.js +38 -6
- package/dist/schema-management/migrations.js.map +1 -1
- package/dist/schema-management/validate-schema.d.ts +3 -3
- package/dist/schema-management/validate-schema.d.ts.map +1 -1
- package/dist/schema-management/validate-schema.js +2 -2
- package/dist/schema-management/validate-schema.js.map +1 -1
- package/dist/sql-queries/sql-queries.d.ts.map +1 -1
- package/dist/sql-queries/sql-queries.js +18 -6
- package/dist/sql-queries/sql-queries.js.map +1 -1
- package/dist/sql-queries/sql-query-builder.d.ts.map +1 -1
- package/dist/sql-queries/sql-query-builder.js.map +1 -1
- package/dist/sqlite-db-helper.js +3 -3
- package/dist/sqlite-db-helper.js.map +1 -1
- package/dist/sqlite-types.d.ts +5 -5
- package/dist/sqlite-types.d.ts.map +1 -1
- package/dist/sqlite-types.js.map +1 -1
- package/dist/sync/ClientSessionSyncProcessor.d.ts +12 -12
- package/dist/sync/ClientSessionSyncProcessor.d.ts.map +1 -1
- package/dist/sync/ClientSessionSyncProcessor.js +99 -114
- package/dist/sync/ClientSessionSyncProcessor.js.map +1 -1
- package/dist/sync/errors.d.ts +0 -33
- package/dist/sync/errors.d.ts.map +1 -1
- package/dist/sync/errors.js +5 -22
- package/dist/sync/errors.js.map +1 -1
- package/dist/sync/index.d.ts +2 -0
- package/dist/sync/index.d.ts.map +1 -1
- package/dist/sync/index.js +2 -0
- package/dist/sync/index.js.map +1 -1
- package/dist/sync/mock-sync-backend.d.ts +10 -8
- package/dist/sync/mock-sync-backend.d.ts.map +1 -1
- package/dist/sync/mock-sync-backend.js +71 -69
- package/dist/sync/mock-sync-backend.js.map +1 -1
- package/dist/sync/next/compact-events.d.ts.map +1 -1
- package/dist/sync/next/compact-events.js +11 -12
- package/dist/sync/next/compact-events.js.map +1 -1
- package/dist/sync/next/facts.d.ts +5 -5
- package/dist/sync/next/facts.d.ts.map +1 -1
- package/dist/sync/next/facts.js +7 -8
- package/dist/sync/next/facts.js.map +1 -1
- package/dist/sync/next/history-dag-common.d.ts +54 -15
- package/dist/sync/next/history-dag-common.d.ts.map +1 -1
- package/dist/sync/next/history-dag-common.js +198 -9
- package/dist/sync/next/history-dag-common.js.map +1 -1
- package/dist/sync/next/history-dag.d.ts.map +1 -1
- package/dist/sync/next/history-dag.js +11 -11
- package/dist/sync/next/history-dag.js.map +1 -1
- package/dist/sync/next/rebase-events.d.ts +5 -5
- package/dist/sync/next/rebase-events.d.ts.map +1 -1
- package/dist/sync/next/rebase-events.js +6 -6
- package/dist/sync/next/rebase-events.js.map +1 -1
- package/dist/sync/next/test/compact-events.calculator.test.js +2 -2
- package/dist/sync/next/test/compact-events.calculator.test.js.map +1 -1
- package/dist/sync/next/test/compact-events.test.d.ts.map +1 -1
- package/dist/sync/next/test/compact-events.test.js +2 -2
- package/dist/sync/next/test/compact-events.test.js.map +1 -1
- package/dist/sync/next/test/event-fixtures.d.ts +2 -2
- package/dist/sync/next/test/event-fixtures.d.ts.map +1 -1
- package/dist/sync/next/test/event-fixtures.js +11 -11
- package/dist/sync/next/test/event-fixtures.js.map +1 -1
- package/dist/sync/sync-backend-kv.d.ts +3 -3
- package/dist/sync/sync-backend-kv.d.ts.map +1 -1
- package/dist/sync/sync-backend-kv.js +3 -3
- package/dist/sync/sync-backend-kv.js.map +1 -1
- package/dist/sync/sync-backend.d.ts +33 -13
- package/dist/sync/sync-backend.d.ts.map +1 -1
- package/dist/sync/sync-backend.js +38 -1
- package/dist/sync/sync-backend.js.map +1 -1
- package/dist/sync/sync.d.ts +23 -2
- package/dist/sync/sync.d.ts.map +1 -1
- package/dist/sync/syncstate.d.ts +55 -55
- package/dist/sync/syncstate.d.ts.map +1 -1
- package/dist/sync/syncstate.js +80 -98
- package/dist/sync/syncstate.js.map +1 -1
- package/dist/sync/syncstate.test.js +221 -132
- package/dist/sync/syncstate.test.js.map +1 -1
- package/dist/sync/transport-chunking.d.ts +36 -0
- package/dist/sync/transport-chunking.d.ts.map +1 -0
- package/dist/sync/transport-chunking.js +56 -0
- package/dist/sync/transport-chunking.js.map +1 -0
- package/dist/sync/validate-push-payload.d.ts +2 -2
- package/dist/sync/validate-push-payload.d.ts.map +1 -1
- package/dist/sync/validate-push-payload.js +4 -6
- package/dist/sync/validate-push-payload.js.map +1 -1
- package/dist/testing/event-factory.d.ts +3 -3
- package/dist/testing/event-factory.d.ts.map +1 -1
- package/dist/testing/event-factory.js +5 -7
- package/dist/testing/event-factory.js.map +1 -1
- package/dist/util.js +2 -2
- package/dist/util.js.map +1 -1
- package/dist/version.d.ts +24 -5
- package/dist/version.d.ts.map +1 -1
- package/dist/version.js +25 -8
- package/dist/version.js.map +1 -1
- package/package.json +67 -15
- package/src/ClientSessionLeaderThreadProxy.ts +27 -12
- package/src/WorkerTransportError.ts +12 -0
- package/src/adapter-types.ts +50 -7
- package/src/bounded-collections.ts +6 -5
- package/src/debug-info.ts +37 -6
- package/src/devtools/devtools-compatibility.test.ts +18 -0
- package/src/devtools/devtools-messages-client-session.ts +22 -4
- package/src/devtools/devtools-messages-common.ts +7 -12
- package/src/devtools/devtools-messages-leader.ts +29 -10
- package/src/devtools/devtools-sessioninfo.ts +8 -5
- package/src/devtools/mod.ts +11 -2
- package/src/errors.ts +32 -24
- package/src/index.ts +4 -1
- package/src/leader-thread/LeaderSyncProcessor.ts +523 -373
- package/src/leader-thread/RejectedPushError.ts +106 -0
- package/src/leader-thread/connection.ts +1 -1
- package/src/leader-thread/eventlog.ts +112 -39
- package/src/leader-thread/leader-worker-devtools.ts +201 -120
- package/src/leader-thread/make-leader-thread-layer.test.ts +44 -0
- package/src/leader-thread/make-leader-thread-layer.ts +125 -40
- package/src/leader-thread/materialize-event.ts +40 -10
- package/src/leader-thread/mod.ts +1 -0
- package/src/leader-thread/recreate-db.ts +7 -7
- package/src/leader-thread/shutdown-channel.ts +4 -8
- package/src/leader-thread/stream-events.ts +206 -0
- package/src/leader-thread/types.ts +68 -18
- package/src/logging.ts +62 -0
- package/src/make-client-session.ts +11 -5
- package/src/materializer-helper.ts +27 -16
- package/src/otel.ts +13 -2
- package/src/rematerialize-from-eventlog.ts +61 -51
- package/src/schema/EventDef/define.ts +217 -0
- package/src/schema/EventDef/deprecated.test.ts +129 -0
- package/src/schema/EventDef/deprecated.ts +175 -0
- package/src/schema/EventDef/event-def.ts +125 -0
- package/src/schema/EventDef/facts.ts +135 -0
- package/src/schema/EventDef/materializer.ts +172 -0
- package/src/schema/EventDef/mod.ts +5 -0
- package/src/schema/EventSequenceNumber/client.ts +257 -0
- package/src/schema/EventSequenceNumber/global.ts +19 -0
- package/src/schema/EventSequenceNumber/mod.ts +37 -0
- package/src/schema/EventSequenceNumber.test.ts +72 -53
- package/src/schema/LiveStoreEvent/client.test.ts +129 -0
- package/src/schema/LiveStoreEvent/client.ts +235 -0
- package/src/schema/LiveStoreEvent/for-event-def.ts +60 -0
- package/src/schema/LiveStoreEvent/global.ts +45 -0
- package/src/schema/LiveStoreEvent/input.ts +63 -0
- package/src/schema/LiveStoreEvent/mod.ts +4 -0
- package/src/schema/events.ts +1 -1
- package/src/schema/mod.ts +6 -4
- package/src/schema/schema.ts +46 -5
- package/src/schema/state/sqlite/client-document-def.test.ts +144 -5
- package/src/schema/state/sqlite/client-document-def.ts +47 -34
- package/src/schema/state/sqlite/column-annotations.test.ts +3 -2
- package/src/schema/state/sqlite/column-annotations.ts +2 -1
- package/src/schema/state/sqlite/column-def.test.ts +66 -12
- package/src/schema/state/sqlite/column-def.ts +119 -47
- package/src/schema/state/sqlite/column-spec.test.ts +32 -17
- package/src/schema/state/sqlite/column-spec.ts +37 -11
- package/src/schema/state/sqlite/db-schema/ast/sqlite.ts +2 -2
- package/src/schema/state/sqlite/db-schema/dsl/field-defs.test.ts +2 -1
- package/src/schema/state/sqlite/db-schema/dsl/field-defs.ts +41 -15
- package/src/schema/state/sqlite/db-schema/dsl/mod.ts +13 -19
- package/src/schema/state/sqlite/mod.ts +7 -8
- package/src/schema/state/sqlite/query-builder/api.ts +55 -17
- package/src/schema/state/sqlite/query-builder/astToSql.ts +110 -21
- package/src/schema/state/sqlite/query-builder/impl.test.ts +267 -93
- package/src/schema/state/sqlite/query-builder/impl.ts +26 -13
- package/src/schema/state/sqlite/schema-helpers.test.ts +44 -0
- package/src/schema/state/sqlite/schema-helpers.ts +30 -22
- package/src/schema/state/sqlite/system-tables/eventlog-tables.ts +64 -0
- package/src/schema/state/sqlite/system-tables/mod.ts +2 -0
- package/src/schema/state/sqlite/system-tables/state-tables.ts +69 -0
- package/src/schema/state/sqlite/table-def.test.ts +114 -3
- package/src/schema/state/sqlite/table-def.ts +16 -22
- package/src/schema/unknown-events.ts +131 -0
- package/src/schema-management/__tests__/migrations-autoincrement-quoting.test.ts +88 -0
- package/src/schema-management/common.ts +2 -2
- package/src/schema-management/migrations.ts +42 -9
- package/src/schema-management/validate-schema.ts +3 -3
- package/src/sql-queries/sql-queries.ts +18 -6
- package/src/sql-queries/sql-query-builder.ts +1 -0
- package/src/sqlite-db-helper.ts +3 -3
- package/src/sqlite-types.ts +6 -5
- package/src/sync/ClientSessionSyncProcessor.ts +152 -142
- package/src/sync/errors.ts +12 -24
- package/src/sync/index.ts +2 -0
- package/src/sync/mock-sync-backend.ts +146 -104
- package/src/sync/next/compact-events.ts +10 -11
- package/src/sync/next/facts.ts +13 -14
- package/src/sync/next/history-dag-common.ts +280 -26
- package/src/sync/next/history-dag.ts +17 -13
- package/src/sync/next/rebase-events.ts +12 -12
- package/src/sync/next/test/compact-events.calculator.test.ts +3 -2
- package/src/sync/next/test/compact-events.test.ts +4 -3
- package/src/sync/next/test/event-fixtures.ts +13 -13
- package/src/sync/sync-backend-kv.ts +4 -3
- package/src/sync/sync-backend.ts +66 -17
- package/src/sync/sync.ts +24 -2
- package/src/sync/syncstate.test.ts +583 -419
- package/src/sync/syncstate.ts +127 -122
- package/src/sync/transport-chunking.ts +90 -0
- package/src/sync/validate-push-payload.ts +6 -8
- package/src/testing/event-factory.ts +10 -12
- package/src/util.ts +2 -2
- package/src/version.ts +33 -8
- package/dist/schema/EventDef.d.ts +0 -126
- package/dist/schema/EventDef.d.ts.map +0 -1
- package/dist/schema/EventDef.js +0 -46
- package/dist/schema/EventDef.js.map +0 -1
- package/dist/schema/EventSequenceNumber.d.ts +0 -80
- package/dist/schema/EventSequenceNumber.d.ts.map +0 -1
- package/dist/schema/EventSequenceNumber.js +0 -139
- package/dist/schema/EventSequenceNumber.js.map +0 -1
- package/dist/schema/LiveStoreEvent.d.ts.map +0 -1
- package/dist/schema/LiveStoreEvent.js +0 -147
- package/dist/schema/LiveStoreEvent.js.map +0 -1
- package/dist/schema/state/sqlite/system-tables.d.ts.map +0 -1
- package/dist/schema/state/sqlite/system-tables.js +0 -81
- package/dist/schema/state/sqlite/system-tables.js.map +0 -1
- package/dist/sync/next/graphology.d.ts +0 -8
- package/dist/sync/next/graphology.d.ts.map +0 -1
- package/dist/sync/next/graphology.js +0 -30
- package/dist/sync/next/graphology.js.map +0 -1
- package/dist/sync/next/graphology_.d.ts +0 -3
- package/dist/sync/next/graphology_.d.ts.map +0 -1
- package/dist/sync/next/graphology_.js +0 -3
- package/dist/sync/next/graphology_.js.map +0 -1
- package/src/schema/EventDef.ts +0 -222
- package/src/schema/EventSequenceNumber.ts +0 -199
- package/src/schema/LiveStoreEvent.ts +0 -286
- package/src/schema/state/sqlite/system-tables.ts +0 -106
- package/src/sync/next/ambient.d.ts +0 -3
- package/src/sync/next/graphology.ts +0 -41
- package/src/sync/next/graphology_.ts +0 -2
package/dist/errors.d.ts
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import { Effect, Layer, Schema, Stream } from '@livestore/utils/effect';
|
|
2
|
-
declare const
|
|
3
|
-
readonly _tag: Schema.tag<"
|
|
2
|
+
declare const UnknownError_base: Schema.TaggedErrorClass<UnknownError, "UnknownError", {
|
|
3
|
+
readonly _tag: Schema.tag<"UnknownError">;
|
|
4
4
|
} & {
|
|
5
5
|
cause: typeof Schema.Defect;
|
|
6
6
|
note: Schema.optional<typeof Schema.String>;
|
|
7
7
|
payload: Schema.optional<typeof Schema.Any>;
|
|
8
8
|
}>;
|
|
9
|
-
export declare class
|
|
10
|
-
static
|
|
11
|
-
static
|
|
12
|
-
static
|
|
9
|
+
export declare class UnknownError extends UnknownError_base {
|
|
10
|
+
static mapToUnknownError: <A, E, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, UnknownError, R>;
|
|
11
|
+
static mapToUnknownErrorLayer: <A, E, R>(layer: Layer.Layer<A, E, R>) => Layer.Layer<A, UnknownError, R>;
|
|
12
|
+
static mapToUnknownErrorStream: <A, E, R>(stream: Stream.Stream<A, E, R>) => Stream.Stream<A, UnknownError, R>;
|
|
13
13
|
}
|
|
14
|
-
declare const MaterializerHashMismatchError_base: Schema.TaggedErrorClass<MaterializerHashMismatchError, "
|
|
15
|
-
readonly _tag: Schema.tag<"
|
|
14
|
+
declare const MaterializerHashMismatchError_base: Schema.TaggedErrorClass<MaterializerHashMismatchError, "MaterializerHashMismatchError", {
|
|
15
|
+
readonly _tag: Schema.tag<"MaterializerHashMismatchError">;
|
|
16
16
|
} & {
|
|
17
17
|
eventName: typeof Schema.String;
|
|
18
18
|
note: Schema.optionalWith<typeof Schema.String, {
|
|
@@ -21,22 +21,22 @@ declare const MaterializerHashMismatchError_base: Schema.TaggedErrorClass<Materi
|
|
|
21
21
|
}>;
|
|
22
22
|
export declare class MaterializerHashMismatchError extends MaterializerHashMismatchError_base {
|
|
23
23
|
}
|
|
24
|
-
declare const IntentionalShutdownCause_base: Schema.TaggedErrorClass<IntentionalShutdownCause, "
|
|
25
|
-
readonly _tag: Schema.tag<"
|
|
24
|
+
declare const IntentionalShutdownCause_base: Schema.TaggedErrorClass<IntentionalShutdownCause, "IntentionalShutdownCause", {
|
|
25
|
+
readonly _tag: Schema.tag<"IntentionalShutdownCause">;
|
|
26
26
|
} & {
|
|
27
|
-
reason: Schema.Literal<["devtools-reset", "devtools-import", "adapter-reset", "manual"]>;
|
|
27
|
+
reason: Schema.Literal<["devtools-reset", "devtools-import", "adapter-reset", "manual", "backend-id-mismatch"]>;
|
|
28
28
|
}>;
|
|
29
29
|
export declare class IntentionalShutdownCause extends IntentionalShutdownCause_base {
|
|
30
30
|
}
|
|
31
|
-
declare const StoreInterrupted_base: Schema.TaggedErrorClass<StoreInterrupted, "
|
|
32
|
-
readonly _tag: Schema.tag<"
|
|
31
|
+
declare const StoreInterrupted_base: Schema.TaggedErrorClass<StoreInterrupted, "StoreInterrupted", {
|
|
32
|
+
readonly _tag: Schema.tag<"StoreInterrupted">;
|
|
33
33
|
} & {
|
|
34
34
|
reason: typeof Schema.String;
|
|
35
35
|
}>;
|
|
36
36
|
export declare class StoreInterrupted extends StoreInterrupted_base {
|
|
37
37
|
}
|
|
38
|
-
declare const SqliteError_base: Schema.TaggedErrorClass<SqliteError, "
|
|
39
|
-
readonly _tag: Schema.tag<"
|
|
38
|
+
declare const SqliteError_base: Schema.TaggedErrorClass<SqliteError, "SqliteError", {
|
|
39
|
+
readonly _tag: Schema.tag<"SqliteError">;
|
|
40
40
|
} & {
|
|
41
41
|
query: Schema.optional<Schema.Struct<{
|
|
42
42
|
sql: typeof Schema.String;
|
|
@@ -50,10 +50,40 @@ declare const SqliteError_base: Schema.TaggedErrorClass<SqliteError, "LiveStore.
|
|
|
50
50
|
}>;
|
|
51
51
|
export declare class SqliteError extends SqliteError_base {
|
|
52
52
|
}
|
|
53
|
-
declare const
|
|
54
|
-
readonly _tag: Schema.tag<"
|
|
53
|
+
declare const UnknownEventError_base: Schema.TaggedErrorClass<UnknownEventError, "UnknownEventError", {
|
|
54
|
+
readonly _tag: Schema.tag<"UnknownEventError">;
|
|
55
55
|
} & {
|
|
56
|
-
|
|
56
|
+
event: Schema.SchemaClass<{
|
|
57
|
+
readonly clientId: string;
|
|
58
|
+
readonly sessionId: string;
|
|
59
|
+
readonly name: string;
|
|
60
|
+
readonly seqNum: {
|
|
61
|
+
readonly global: number & import("effect/Brand").Brand<"GlobalEventSequenceNumber">;
|
|
62
|
+
readonly client: number & import("effect/Brand").Brand<"ClientEventSequenceNumber">;
|
|
63
|
+
readonly rebaseGeneration: number;
|
|
64
|
+
};
|
|
65
|
+
readonly args: any;
|
|
66
|
+
}, {
|
|
67
|
+
readonly clientId: string;
|
|
68
|
+
readonly sessionId: string;
|
|
69
|
+
readonly name: string;
|
|
70
|
+
readonly seqNum: {
|
|
71
|
+
readonly global: number;
|
|
72
|
+
readonly client: number;
|
|
73
|
+
readonly rebaseGeneration: number;
|
|
74
|
+
};
|
|
75
|
+
readonly args: any;
|
|
76
|
+
}, never>;
|
|
77
|
+
reason: Schema.Literal<["event-definition-missing", "materializer-missing"]>;
|
|
78
|
+
operation: typeof Schema.String;
|
|
79
|
+
note: Schema.optional<typeof Schema.String>;
|
|
80
|
+
}>;
|
|
81
|
+
export declare class UnknownEventError extends UnknownEventError_base {
|
|
82
|
+
}
|
|
83
|
+
declare const MaterializeError_base: Schema.TaggedErrorClass<MaterializeError, "MaterializeError", {
|
|
84
|
+
readonly _tag: Schema.tag<"MaterializeError">;
|
|
85
|
+
} & {
|
|
86
|
+
cause: Schema.Union<[typeof MaterializerHashMismatchError, typeof SqliteError, typeof UnknownEventError]>;
|
|
57
87
|
note: Schema.optional<typeof Schema.String>;
|
|
58
88
|
}>;
|
|
59
89
|
export declare class MaterializeError extends MaterializeError_base {
|
package/dist/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;;;;;;;;
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;;;;;;;;AAI9E,qBAAa,YAAa,SAAQ,iBAIhC;IACA,MAAM,CAAC,iBAAiB,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,uCAIhE;IAEH,MAAM,CAAC,sBAAsB,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,qCAOlE;IAEH,MAAM,CAAC,uBAAuB,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,uCACiD;CAC3H;;;;;;;;;AAED,qBAAa,6BAA8B,SAAQ,kCAQlD;CAAG;;;;;;AAEJ,qBAAa,wBAAyB,SAAQ,6BAI5C;CAAG;;;;;;AAEL,qBAAa,gBAAiB,SAAQ,qBAIpC;CAAG;;;;;;;;IASH,6BAA6B;;IAI7B,iCAAiC;;;;AAXnC,qBAAa,WAAY,SAAQ,gBAc/B;CAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEL,qBAAa,iBAAkB,SAAQ,sBAKrC;CAAG;;;;;;;AAEL,qBAAa,gBAAiB,SAAQ,qBAGpC;CAAG"}
|
package/dist/errors.js
CHANGED
|
@@ -1,31 +1,32 @@
|
|
|
1
1
|
import { Cause, Effect, Layer, Schema, Stream } from '@livestore/utils/effect';
|
|
2
|
-
|
|
2
|
+
import * as LiveStoreEvent from "./schema/LiveStoreEvent/mod.js";
|
|
3
|
+
export class UnknownError extends Schema.TaggedError('~@livestore/common/UnknownError')('UnknownError', {
|
|
3
4
|
cause: Schema.Defect,
|
|
4
5
|
note: Schema.optional(Schema.String),
|
|
5
6
|
payload: Schema.optional(Schema.Any),
|
|
6
7
|
}) {
|
|
7
|
-
static
|
|
8
|
-
static
|
|
8
|
+
static mapToUnknownError = (effect) => effect.pipe(Effect.mapError((cause) => (Schema.is(UnknownError)(cause) === true ? cause : new UnknownError({ cause }))), Effect.catchAllDefect((cause) => new UnknownError({ cause })));
|
|
9
|
+
static mapToUnknownErrorLayer = (layer) => layer.pipe(Layer.catchAllCause((cause) => Cause.isFailType(cause) === true && Schema.is(UnknownError)(cause.error) === true
|
|
9
10
|
? Layer.fail(cause.error)
|
|
10
|
-
: Layer.fail(new
|
|
11
|
-
static
|
|
11
|
+
: Layer.fail(new UnknownError({ cause: cause }))));
|
|
12
|
+
static mapToUnknownErrorStream = (stream) => stream.pipe(Stream.mapError((cause) => (Schema.is(UnknownError)(cause) === true ? cause : new UnknownError({ cause }))));
|
|
12
13
|
}
|
|
13
|
-
export class MaterializerHashMismatchError extends Schema.TaggedError()('
|
|
14
|
+
export class MaterializerHashMismatchError extends Schema.TaggedError('~@livestore/common/MaterializerHashMismatchError')('MaterializerHashMismatchError', {
|
|
14
15
|
eventName: Schema.String,
|
|
15
16
|
note: Schema.optionalWith(Schema.String, {
|
|
16
17
|
default: () => 'Please make sure your event materializer is a pure function without side effects.',
|
|
17
18
|
}),
|
|
18
19
|
}) {
|
|
19
20
|
}
|
|
20
|
-
export class IntentionalShutdownCause extends Schema.TaggedError()('
|
|
21
|
-
reason: Schema.Literal('devtools-reset', 'devtools-import', 'adapter-reset', 'manual'),
|
|
21
|
+
export class IntentionalShutdownCause extends Schema.TaggedError('~@livestore/common/IntentionalShutdownCause')('IntentionalShutdownCause', {
|
|
22
|
+
reason: Schema.Literal('devtools-reset', 'devtools-import', 'adapter-reset', 'manual', 'backend-id-mismatch'),
|
|
22
23
|
}) {
|
|
23
24
|
}
|
|
24
|
-
export class StoreInterrupted extends Schema.TaggedError()('
|
|
25
|
+
export class StoreInterrupted extends Schema.TaggedError('~@livestore/common/StoreInterrupted')('StoreInterrupted', {
|
|
25
26
|
reason: Schema.String,
|
|
26
27
|
}) {
|
|
27
28
|
}
|
|
28
|
-
export class SqliteError extends Schema.TaggedError()('
|
|
29
|
+
export class SqliteError extends Schema.TaggedError('~@livestore/common/SqliteError')('SqliteError', {
|
|
29
30
|
query: Schema.optional(Schema.Struct({
|
|
30
31
|
sql: Schema.String,
|
|
31
32
|
bindValues: Schema.Union(Schema.Record({ key: Schema.String, value: Schema.Any }), Schema.Array(Schema.Any)),
|
|
@@ -39,8 +40,15 @@ export class SqliteError extends Schema.TaggedError()('LiveStore.SqliteError', {
|
|
|
39
40
|
note: Schema.optional(Schema.String),
|
|
40
41
|
}) {
|
|
41
42
|
}
|
|
42
|
-
export class
|
|
43
|
-
|
|
43
|
+
export class UnknownEventError extends Schema.TaggedError('~@livestore/common/UnknownEventError')('UnknownEventError', {
|
|
44
|
+
event: LiveStoreEvent.Client.Encoded.pipe(Schema.pick('name', 'args', 'seqNum', 'clientId', 'sessionId')),
|
|
45
|
+
reason: Schema.Literal('event-definition-missing', 'materializer-missing'),
|
|
46
|
+
operation: Schema.String,
|
|
47
|
+
note: Schema.optional(Schema.String),
|
|
48
|
+
}) {
|
|
49
|
+
}
|
|
50
|
+
export class MaterializeError extends Schema.TaggedError('~@livestore/common/MaterializeError')('MaterializeError', {
|
|
51
|
+
cause: Schema.Union(MaterializerHashMismatchError, SqliteError, UnknownEventError),
|
|
44
52
|
note: Schema.optional(Schema.String),
|
|
45
53
|
}) {
|
|
46
54
|
}
|
package/dist/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAE9E,MAAM,OAAO,
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -2,16 +2,19 @@ export * from './adapter-types.ts';
|
|
|
2
2
|
export * from './bounded-collections.ts';
|
|
3
3
|
export * from './debug-info.ts';
|
|
4
4
|
export * as Devtools from './devtools/mod.ts';
|
|
5
|
+
export * as LogConfig from './logging.ts';
|
|
5
6
|
export * from './make-client-session.ts';
|
|
6
7
|
export * from './materializer-helper.ts';
|
|
7
8
|
export * from './otel.ts';
|
|
8
9
|
export * from './rematerialize-from-eventlog.ts';
|
|
9
10
|
export * from './schema/state/sqlite/query-builder/mod.ts';
|
|
10
|
-
export * from './schema/state/sqlite/system-tables.ts';
|
|
11
|
+
export * from './schema/state/sqlite/system-tables/mod.ts';
|
|
11
12
|
export * from './schema-management/migrations.ts';
|
|
12
13
|
export * as SqliteDbHelper from './sqlite-db-helper.ts';
|
|
14
|
+
export * from './leader-thread/RejectedPushError.ts';
|
|
13
15
|
export * from './sync/index.ts';
|
|
14
16
|
export * as SyncState from './sync/syncstate.ts';
|
|
15
17
|
export * from './util.ts';
|
|
16
18
|
export * from './version.ts';
|
|
19
|
+
export * from './WorkerTransportError.ts';
|
|
17
20
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAClC,cAAc,0BAA0B,CAAA;AACxC,cAAc,iBAAiB,CAAA;AAC/B,OAAO,KAAK,QAAQ,MAAM,mBAAmB,CAAA;AAC7C,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA;AACxC,cAAc,WAAW,CAAA;AACzB,cAAc,kCAAkC,CAAA;AAChD,cAAc,4CAA4C,CAAA;AAC1D,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAClC,cAAc,0BAA0B,CAAA;AACxC,cAAc,iBAAiB,CAAA;AAC/B,OAAO,KAAK,QAAQ,MAAM,mBAAmB,CAAA;AAC7C,OAAO,KAAK,SAAS,MAAM,cAAc,CAAA;AACzC,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA;AACxC,cAAc,WAAW,CAAA;AACzB,cAAc,kCAAkC,CAAA;AAChD,cAAc,4CAA4C,CAAA;AAC1D,cAAc,4CAA4C,CAAA;AAC1D,cAAc,mCAAmC,CAAA;AACjD,OAAO,KAAK,cAAc,MAAM,uBAAuB,CAAA;AACvD,cAAc,sCAAsC,CAAA;AACpD,cAAc,iBAAiB,CAAA;AAC/B,OAAO,KAAK,SAAS,MAAM,qBAAqB,CAAA;AAChD,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,2BAA2B,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -2,16 +2,19 @@ export * from "./adapter-types.js";
|
|
|
2
2
|
export * from "./bounded-collections.js";
|
|
3
3
|
export * from "./debug-info.js";
|
|
4
4
|
export * as Devtools from "./devtools/mod.js";
|
|
5
|
+
export * as LogConfig from "./logging.js";
|
|
5
6
|
export * from "./make-client-session.js";
|
|
6
7
|
export * from "./materializer-helper.js";
|
|
7
8
|
export * from "./otel.js";
|
|
8
9
|
export * from "./rematerialize-from-eventlog.js";
|
|
9
10
|
export * from "./schema/state/sqlite/query-builder/mod.js";
|
|
10
|
-
export * from "./schema/state/sqlite/system-tables.js";
|
|
11
|
+
export * from "./schema/state/sqlite/system-tables/mod.js";
|
|
11
12
|
export * from "./schema-management/migrations.js";
|
|
12
13
|
export * as SqliteDbHelper from "./sqlite-db-helper.js";
|
|
14
|
+
export * from "./leader-thread/RejectedPushError.js";
|
|
13
15
|
export * from "./sync/index.js";
|
|
14
16
|
export * as SyncState from "./sync/syncstate.js";
|
|
15
17
|
export * from "./util.js";
|
|
16
18
|
export * from "./version.js";
|
|
19
|
+
export * from "./WorkerTransportError.js";
|
|
17
20
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAClC,cAAc,0BAA0B,CAAA;AACxC,cAAc,iBAAiB,CAAA;AAC/B,OAAO,KAAK,QAAQ,MAAM,mBAAmB,CAAA;AAC7C,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA;AACxC,cAAc,WAAW,CAAA;AACzB,cAAc,kCAAkC,CAAA;AAChD,cAAc,4CAA4C,CAAA;AAC1D,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAClC,cAAc,0BAA0B,CAAA;AACxC,cAAc,iBAAiB,CAAA;AAC/B,OAAO,KAAK,QAAQ,MAAM,mBAAmB,CAAA;AAC7C,OAAO,KAAK,SAAS,MAAM,cAAc,CAAA;AACzC,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA;AACxC,cAAc,WAAW,CAAA;AACzB,cAAc,kCAAkC,CAAA;AAChD,cAAc,4CAA4C,CAAA;AAC1D,cAAc,4CAA4C,CAAA;AAC1D,cAAc,mCAAmC,CAAA;AACjD,OAAO,KAAK,cAAc,MAAM,uBAAuB,CAAA;AACvD,cAAc,sCAAsC,CAAA;AACpD,cAAc,iBAAiB,CAAA;AAC/B,OAAO,KAAK,SAAS,MAAM,qBAAqB,CAAA;AAChD,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,2BAA2B,CAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Scope } from '@livestore/utils/effect';
|
|
2
2
|
import { Effect } from '@livestore/utils/effect';
|
|
3
|
-
import { type SqliteDb
|
|
3
|
+
import { type SqliteDb } from '../adapter-types.ts';
|
|
4
4
|
import type { LiveStoreSchema } from '../schema/mod.ts';
|
|
5
5
|
import * as SyncState from '../sync/syncstate.ts';
|
|
6
6
|
import type { InitialBlockingSyncContext, LeaderSyncProcessor } from './types.ts';
|
|
@@ -22,11 +22,11 @@ import type { InitialBlockingSyncContext, LeaderSyncProcessor } from './types.ts
|
|
|
22
22
|
* - Maintains events in ascending order.
|
|
23
23
|
* - Uses `Deferred` objects to resolve/reject events based on application success.
|
|
24
24
|
* - Processes events from the queue, applying events in batches.
|
|
25
|
-
* - Controlled by a `
|
|
26
|
-
* - The
|
|
25
|
+
* - Controlled by a mutex (`Semaphore(1)`) to ensure mutual exclusion between local push and backend pull processing.
|
|
26
|
+
* - The backend pull side acquires the mutex before processing and releases it on post-pull completion.
|
|
27
27
|
* - Processes up to `maxBatchSize` events per cycle.
|
|
28
28
|
*
|
|
29
|
-
* Currently we're advancing the state db and eventlog in lockstep, but we could also decouple this in the future
|
|
29
|
+
* Currently, we're advancing the state db and eventlog in lockstep, but we could also decouple this in the future
|
|
30
30
|
*
|
|
31
31
|
* Tricky concurrency scenarios:
|
|
32
32
|
* - Queued local push batches becoming invalid due to a prior local push item being rejected.
|
|
@@ -34,19 +34,66 @@ import type { InitialBlockingSyncContext, LeaderSyncProcessor } from './types.ts
|
|
|
34
34
|
*
|
|
35
35
|
* See ClientSessionSyncProcessor for how the leader and session sync processors are similar/different.
|
|
36
36
|
*/
|
|
37
|
-
export declare const makeLeaderSyncProcessor: ({ schema, dbState, initialBlockingSyncContext, initialSyncState, onError, livePull, params, testing, }: {
|
|
37
|
+
export declare const makeLeaderSyncProcessor: ({ schema, dbState, initialBlockingSyncContext, initialSyncState, onError, onBackendIdMismatch, livePull, params, testing, }: {
|
|
38
38
|
schema: LiveStoreSchema;
|
|
39
39
|
dbState: SqliteDb;
|
|
40
40
|
initialBlockingSyncContext: InitialBlockingSyncContext;
|
|
41
41
|
/** Initial sync state rehydrated from the persisted eventlog or initial sync state */
|
|
42
42
|
initialSyncState: SyncState.SyncState;
|
|
43
|
+
/**
|
|
44
|
+
* What to do when a failure (any cause) occurs (except `BackendIdMismatchError`).
|
|
45
|
+
*
|
|
46
|
+
* - `'shutdown'`: Send the error to the shutdown channel and terminate the sync processor.
|
|
47
|
+
* - `'ignore'`: Continue running.
|
|
48
|
+
*/
|
|
43
49
|
onError: "shutdown" | "ignore";
|
|
50
|
+
/**
|
|
51
|
+
* What to do when the sync backend identity has changed (i.e. the backend was reset).
|
|
52
|
+
*
|
|
53
|
+
* - `'reset'`: Clear local databases (eventlog and state) and send an intentional shutdown signal.
|
|
54
|
+
* - `'shutdown'`: Send a shutdown signal without clearing local storage.
|
|
55
|
+
* - `'ignore'`: Continue running with stale data.
|
|
56
|
+
*/
|
|
57
|
+
onBackendIdMismatch: "reset" | "shutdown" | "ignore";
|
|
44
58
|
params: {
|
|
45
59
|
/**
|
|
60
|
+
* Maximum number of local events to process per batch cycle.
|
|
61
|
+
*
|
|
62
|
+
* This controls how many events from client sessions are applied to the local state
|
|
63
|
+
* in a single iteration before yielding to allow potential backend pulls.
|
|
64
|
+
*
|
|
65
|
+
* **Trade-offs:**
|
|
66
|
+
* - **Lower values (1-5):** More responsive to remote updates since pull processing can
|
|
67
|
+
* interleave more frequently. Better for high-conflict scenarios where rebases are common.
|
|
68
|
+
* Slightly higher per-event overhead due to more frequent transaction commits.
|
|
69
|
+
*
|
|
70
|
+
* - **Higher values (10-50+):** Better throughput for bulk local writes as more events are
|
|
71
|
+
* batched into a single transaction. However, may delay remote update processing and
|
|
72
|
+
* increase rebase complexity if many local events queue up during a slow pull.
|
|
73
|
+
*
|
|
74
|
+
* - **Very high values (100+):** Risk of starvation for pull processing if local pushes
|
|
75
|
+
* arrive continuously. May cause larger rollbacks during rebases. Not recommended
|
|
76
|
+
* unless you have a write-heavy workload with minimal remote synchronization.
|
|
77
|
+
*
|
|
46
78
|
* @default 10
|
|
47
79
|
*/
|
|
48
80
|
localPushBatchSize?: number;
|
|
49
81
|
/**
|
|
82
|
+
* Maximum number of events to push to the sync backend per batch.
|
|
83
|
+
*
|
|
84
|
+
* This controls how many events are sent in a single push request to the remote server.
|
|
85
|
+
*
|
|
86
|
+
* **Trade-offs:**
|
|
87
|
+
* - **Lower values (1-10):** Lower latency for each push operation. Faster feedback on
|
|
88
|
+
* push success/failure. Slightly higher network overhead due to more requests.
|
|
89
|
+
*
|
|
90
|
+
* - **Higher values (50-100):** Better network efficiency by amortizing request overhead.
|
|
91
|
+
* Preferred for high-throughput scenarios. May increase latency to first confirmation.
|
|
92
|
+
*
|
|
93
|
+
* - **Very high values (200+):** Risk of hitting server request size limits or timeouts.
|
|
94
|
+
* A single failed request loses the entire batch (will be retried). May cause memory
|
|
95
|
+
* pressure if events accumulate faster than they can be pushed.
|
|
96
|
+
*
|
|
50
97
|
* @default 50
|
|
51
98
|
*/
|
|
52
99
|
backendPushBatchSize?: number;
|
|
@@ -61,5 +108,5 @@ export declare const makeLeaderSyncProcessor: ({ schema, dbState, initialBlockin
|
|
|
61
108
|
localPushProcessing?: Effect.Effect<void>;
|
|
62
109
|
};
|
|
63
110
|
};
|
|
64
|
-
}) => Effect.Effect<LeaderSyncProcessor,
|
|
111
|
+
}) => Effect.Effect<LeaderSyncProcessor, never, Scope.Scope>;
|
|
65
112
|
//# sourceMappingURL=LeaderSyncProcessor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LeaderSyncProcessor.d.ts","sourceRoot":"","sources":["../../src/leader-thread/LeaderSyncProcessor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAuB,KAAK,EAAU,MAAM,yBAAyB,CAAA;AACjF,OAAO,EAKL,MAAM,
|
|
1
|
+
{"version":3,"file":"LeaderSyncProcessor.d.ts","sourceRoot":"","sources":["../../src/leader-thread/LeaderSyncProcessor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAuB,KAAK,EAAU,MAAM,yBAAyB,CAAA;AACjF,OAAO,EAKL,MAAM,EAYP,MAAM,yBAAyB,CAAA;AAEhC,OAAO,EAAyB,KAAK,QAAQ,EAAgB,MAAM,qBAAqB,CAAA;AAGxF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAKvD,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAA;AAKjD,OAAO,KAAK,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAWjF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,eAAO,MAAM,uBAAuB,GAAI,6HAUrC;IACD,MAAM,EAAE,eAAe,CAAA;IACvB,OAAO,EAAE,QAAQ,CAAA;IACjB,0BAA0B,EAAE,0BAA0B,CAAA;IACtD,sFAAsF;IACtF,gBAAgB,EAAE,SAAS,CAAC,SAAS,CAAA;IACrC;;;;;OAKG;IACH,OAAO,EAAE,UAAU,GAAG,QAAQ,CAAA;IAC9B;;;;;;OAMG;IACH,mBAAmB,EAAE,OAAO,GAAG,UAAU,GAAG,QAAQ,CAAA;IACpD,MAAM,EAAE;QACN;;;;;;;;;;;;;;;;;;;;WAoBG;QACH,kBAAkB,CAAC,EAAE,MAAM,CAAA;QAC3B;;;;;;;;;;;;;;;;;WAiBG;QACH,oBAAoB,CAAC,EAAE,MAAM,CAAA;KAC9B,CAAA;IACD;;;OAGG;IACH,QAAQ,EAAE,OAAO,CAAA;IACjB,OAAO,EAAE;QACP,MAAM,CAAC,EAAE;YACP,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;SAC1C,CAAA;KACF,CAAA;CACF,KAAG,MAAM,CAAC,MAAM,CAAC,mBAAmB,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CA2RrD,CAAA"}
|