@livestore/common 0.4.0-dev.2 → 0.4.0-dev.20
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 +17 -12
- package/dist/ClientSessionLeaderThreadProxy.d.ts.map +1 -1
- package/dist/ClientSessionLeaderThreadProxy.js.map +1 -1
- package/dist/adapter-types.d.ts +14 -6
- package/dist/adapter-types.d.ts.map +1 -1
- package/dist/adapter-types.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-messages-client-session.d.ts +28 -23
- package/dist/devtools/devtools-messages-client-session.d.ts.map +1 -1
- package/dist/devtools/devtools-messages-client-session.js +2 -2
- package/dist/devtools/devtools-messages-client-session.js.map +1 -1
- package/dist/devtools/devtools-messages-common.d.ts +7 -14
- package/dist/devtools/devtools-messages-common.d.ts.map +1 -1
- package/dist/devtools/devtools-messages-common.js +1 -6
- package/dist/devtools/devtools-messages-common.js.map +1 -1
- package/dist/devtools/devtools-messages-leader.d.ts +36 -29
- package/dist/devtools/devtools-messages-leader.d.ts.map +1 -1
- package/dist/devtools/devtools-messages-leader.js +8 -8
- 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 +52 -10
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +25 -6
- package/dist/errors.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/leader-thread/LeaderSyncProcessor.d.ts +8 -4
- package/dist/leader-thread/LeaderSyncProcessor.d.ts.map +1 -1
- package/dist/leader-thread/LeaderSyncProcessor.js +156 -73
- package/dist/leader-thread/LeaderSyncProcessor.js.map +1 -1
- package/dist/leader-thread/eventlog.d.ts +15 -21
- package/dist/leader-thread/eventlog.d.ts.map +1 -1
- package/dist/leader-thread/eventlog.js +18 -18
- package/dist/leader-thread/eventlog.js.map +1 -1
- package/dist/leader-thread/leader-worker-devtools.d.ts +2 -2
- package/dist/leader-thread/leader-worker-devtools.d.ts.map +1 -1
- package/dist/leader-thread/leader-worker-devtools.js +30 -42
- package/dist/leader-thread/leader-worker-devtools.js.map +1 -1
- package/dist/leader-thread/make-leader-thread-layer.d.ts +6 -6
- package/dist/leader-thread/make-leader-thread-layer.d.ts.map +1 -1
- package/dist/leader-thread/make-leader-thread-layer.js +79 -27
- 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 +3 -3
- package/dist/leader-thread/materialize-event.d.ts.map +1 -1
- package/dist/leader-thread/materialize-event.js +25 -11
- package/dist/leader-thread/materialize-event.js.map +1 -1
- package/dist/leader-thread/recreate-db.d.ts +2 -3
- package/dist/leader-thread/recreate-db.d.ts.map +1 -1
- package/dist/leader-thread/recreate-db.js +5 -5
- 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/types.d.ts +21 -19
- package/dist/leader-thread/types.d.ts.map +1 -1
- 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 +5 -2
- 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 +20 -4
- package/dist/materializer-helper.js.map +1 -1
- package/dist/rematerialize-from-eventlog.d.ts +2 -2
- package/dist/rematerialize-from-eventlog.d.ts.map +1 -1
- package/dist/rematerialize-from-eventlog.js +29 -20
- package/dist/rematerialize-from-eventlog.js.map +1 -1
- package/dist/schema/EventDef/define.d.ts +147 -0
- package/dist/schema/EventDef/define.d.ts.map +1 -0
- package/dist/schema/EventDef/define.js +139 -0
- package/dist/schema/EventDef/define.js.map +1 -0
- package/dist/schema/EventDef/event-def.d.ts +106 -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 +5 -0
- package/dist/schema/EventDef/mod.d.ts.map +1 -0
- package/dist/schema/EventDef/mod.js +5 -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 +43 -43
- package/dist/schema/EventSequenceNumber.test.js.map +1 -1
- package/dist/schema/{LiveStoreEvent.d.ts → LiveStoreEvent/client.d.ts} +89 -106
- package/dist/schema/LiveStoreEvent/client.d.ts.map +1 -0
- package/dist/schema/{LiveStoreEvent.js → LiveStoreEvent/client.js} +74 -58
- package/dist/schema/LiveStoreEvent/client.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 +27 -2
- package/dist/schema/schema.js.map +1 -1
- package/dist/schema/state/sqlite/client-document-def.d.ts +36 -6
- package/dist/schema/state/sqlite/client-document-def.d.ts.map +1 -1
- package/dist/schema/state/sqlite/client-document-def.js +97 -6
- package/dist/schema/state/sqlite/client-document-def.js.map +1 -1
- package/dist/schema/state/sqlite/client-document-def.test.js +16 -0
- 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 +14 -6
- package/dist/schema/state/sqlite/column-annotations.js.map +1 -1
- package/dist/schema/state/sqlite/column-annotations.test.js +1 -1
- package/dist/schema/state/sqlite/column-annotations.test.js.map +1 -1
- package/dist/schema/state/sqlite/column-def.js +69 -22
- package/dist/schema/state/sqlite/column-def.js.map +1 -1
- package/dist/schema/state/sqlite/column-def.test.js +46 -7
- 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 +23 -14
- package/dist/schema/state/sqlite/column-spec.test.js.map +1 -1
- package/dist/schema/state/sqlite/db-schema/ast/sqlite.d.ts +2 -1
- package/dist/schema/state/sqlite/db-schema/ast/sqlite.d.ts.map +1 -1
- package/dist/schema/state/sqlite/db-schema/ast/sqlite.js +23 -6
- 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 +14 -8
- 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 +5 -3
- package/dist/schema/state/sqlite/db-schema/dsl/field-defs.js.map +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 +2 -1
- package/dist/schema/state/sqlite/db-schema/dsl/mod.js.map +1 -1
- package/dist/schema/state/sqlite/mod.d.ts +3 -3
- package/dist/schema/state/sqlite/mod.d.ts.map +1 -1
- package/dist/schema/state/sqlite/mod.js +3 -3
- package/dist/schema/state/sqlite/mod.js.map +1 -1
- package/dist/schema/state/sqlite/query-builder/api.d.ts +17 -10
- 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 +22 -15
- package/dist/schema/state/sqlite/query-builder/astToSql.js.map +1 -1
- package/dist/schema/state/sqlite/query-builder/impl.d.ts.map +1 -1
- package/dist/schema/state/sqlite/query-builder/impl.js +6 -3
- package/dist/schema/state/sqlite/query-builder/impl.js.map +1 -1
- package/dist/schema/state/sqlite/query-builder/impl.test.js +252 -88
- 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 +22 -12
- 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} +63 -456
- 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 +4 -4
- package/dist/schema/state/sqlite/table-def.d.ts.map +1 -1
- package/dist/schema/state/sqlite/table-def.js +2 -2
- package/dist/schema/state/sqlite/table-def.js.map +1 -1
- package/dist/schema/state/sqlite/table-def.test.js +80 -0
- 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/migrations.d.ts +32 -2
- package/dist/schema-management/migrations.d.ts.map +1 -1
- package/dist/schema-management/migrations.js +37 -5
- 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 +11 -1
- 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 +2 -1
- package/dist/sql-queries/sql-query-builder.js.map +1 -1
- package/dist/sqlite-types.d.ts +3 -3
- package/dist/sqlite-types.d.ts.map +1 -1
- package/dist/sync/ClientSessionSyncProcessor.d.ts +11 -13
- package/dist/sync/ClientSessionSyncProcessor.d.ts.map +1 -1
- package/dist/sync/ClientSessionSyncProcessor.js +45 -42
- package/dist/sync/ClientSessionSyncProcessor.js.map +1 -1
- package/dist/sync/errors.d.ts +66 -0
- package/dist/sync/errors.d.ts.map +1 -0
- package/dist/sync/errors.js +36 -0
- package/dist/sync/errors.js.map +1 -0
- package/dist/sync/index.d.ts +3 -0
- package/dist/sync/index.d.ts.map +1 -1
- package/dist/sync/index.js +3 -0
- package/dist/sync/index.js.map +1 -1
- package/dist/sync/mock-sync-backend.d.ts +23 -0
- package/dist/sync/mock-sync-backend.d.ts.map +1 -0
- package/dist/sync/mock-sync-backend.js +114 -0
- package/dist/sync/mock-sync-backend.js.map +1 -0
- package/dist/sync/next/compact-events.d.ts.map +1 -1
- package/dist/sync/next/compact-events.js +6 -7
- 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 +1 -2
- 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 +10 -8
- 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 +5 -5
- package/dist/sync/next/rebase-events.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 +9 -9
- package/dist/sync/next/test/event-fixtures.js.map +1 -1
- package/dist/sync/sync-backend-kv.d.ts +7 -0
- package/dist/sync/sync-backend-kv.d.ts.map +1 -0
- package/dist/sync/sync-backend-kv.js +18 -0
- package/dist/sync/sync-backend-kv.js.map +1 -0
- package/dist/sync/sync-backend.d.ts +105 -0
- package/dist/sync/sync-backend.d.ts.map +1 -0
- package/dist/sync/sync-backend.js +61 -0
- package/dist/sync/sync-backend.js.map +1 -0
- package/dist/sync/sync.d.ts +9 -86
- package/dist/sync/sync.d.ts.map +1 -1
- package/dist/sync/sync.js +2 -27
- package/dist/sync/sync.js.map +1 -1
- package/dist/sync/syncstate.d.ts +57 -44
- package/dist/sync/syncstate.d.ts.map +1 -1
- package/dist/sync/syncstate.js +50 -45
- package/dist/sync/syncstate.js.map +1 -1
- package/dist/sync/syncstate.test.js +83 -46
- 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 +6 -6
- package/dist/sync/validate-push-payload.js.map +1 -1
- package/dist/testing/event-factory.d.ts +68 -0
- package/dist/testing/event-factory.d.ts.map +1 -0
- package/dist/testing/event-factory.js +78 -0
- package/dist/testing/event-factory.js.map +1 -0
- package/dist/testing/mod.d.ts +2 -0
- package/dist/testing/mod.d.ts.map +1 -0
- package/dist/testing/mod.js +2 -0
- package/dist/testing/mod.js.map +1 -0
- package/dist/version.d.ts +16 -6
- package/dist/version.d.ts.map +1 -1
- package/dist/version.js +16 -6
- package/dist/version.js.map +1 -1
- package/package.json +7 -8
- package/src/ClientSessionLeaderThreadProxy.ts +17 -12
- package/src/adapter-types.ts +18 -6
- package/src/debug-info.ts +37 -6
- package/src/devtools/devtools-messages-client-session.ts +2 -2
- package/src/devtools/devtools-messages-common.ts +1 -8
- package/src/devtools/devtools-messages-leader.ts +8 -8
- package/src/devtools/devtools-sessioninfo.ts +8 -5
- package/src/devtools/mod.ts +11 -2
- package/src/errors.ts +38 -11
- package/src/index.ts +2 -1
- package/src/leader-thread/LeaderSyncProcessor.ts +242 -103
- package/src/leader-thread/eventlog.ts +33 -34
- package/src/leader-thread/leader-worker-devtools.ts +50 -54
- package/src/leader-thread/make-leader-thread-layer.test.ts +44 -0
- package/src/leader-thread/make-leader-thread-layer.ts +156 -37
- package/src/leader-thread/materialize-event.ts +37 -12
- package/src/leader-thread/recreate-db.ts +15 -7
- package/src/leader-thread/shutdown-channel.ts +16 -2
- package/src/leader-thread/types.ts +21 -19
- package/src/logging.ts +62 -0
- package/src/make-client-session.ts +9 -3
- package/src/materializer-helper.ts +27 -10
- package/src/rematerialize-from-eventlog.ts +37 -27
- package/src/schema/EventDef/define.ts +201 -0
- package/src/schema/EventDef/event-def.ts +120 -0
- package/src/schema/EventDef/facts.ts +135 -0
- package/src/schema/EventDef/materializer.ts +172 -0
- package/src/schema/EventDef/mod.ts +4 -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 +70 -52
- package/src/schema/LiveStoreEvent/client.ts +221 -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 +39 -3
- package/src/schema/state/sqlite/client-document-def.test.ts +19 -2
- package/src/schema/state/sqlite/client-document-def.ts +120 -8
- package/src/schema/state/sqlite/column-annotations.test.ts +1 -1
- package/src/schema/state/sqlite/column-annotations.ts +16 -6
- package/src/schema/state/sqlite/column-def.test.ts +60 -7
- package/src/schema/state/sqlite/column-def.ts +88 -21
- package/src/schema/state/sqlite/column-spec.test.ts +29 -16
- package/src/schema/state/sqlite/column-spec.ts +36 -11
- package/src/schema/state/sqlite/db-schema/ast/sqlite.ts +26 -6
- package/src/schema/state/sqlite/db-schema/dsl/field-defs.ts +29 -12
- package/src/schema/state/sqlite/db-schema/dsl/mod.ts +2 -1
- package/src/schema/state/sqlite/mod.ts +4 -3
- package/src/schema/state/sqlite/query-builder/api.ts +19 -10
- package/src/schema/state/sqlite/query-builder/astToSql.ts +23 -14
- package/src/schema/state/sqlite/query-builder/impl.test.ts +305 -92
- package/src/schema/state/sqlite/query-builder/impl.ts +8 -3
- package/src/schema/state/sqlite/schema-helpers.test.ts +44 -0
- package/src/schema/state/sqlite/schema-helpers.ts +28 -20
- 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 +101 -0
- package/src/schema/state/sqlite/table-def.ts +9 -8
- package/src/schema/unknown-events.ts +131 -0
- package/src/schema-management/__tests__/migrations-autoincrement-quoting.test.ts +86 -0
- package/src/schema-management/migrations.ts +41 -8
- package/src/schema-management/validate-schema.ts +3 -3
- package/src/sql-queries/sql-queries.ts +9 -1
- package/src/sql-queries/sql-query-builder.ts +2 -1
- package/src/sqlite-types.ts +3 -3
- package/src/sync/ClientSessionSyncProcessor.ts +69 -62
- package/src/sync/errors.ts +38 -0
- package/src/sync/index.ts +3 -0
- package/src/sync/mock-sync-backend.ts +184 -0
- package/src/sync/next/compact-events.ts +6 -7
- package/src/sync/next/facts.ts +7 -9
- package/src/sync/next/history-dag-common.ts +277 -26
- package/src/sync/next/history-dag.ts +16 -10
- package/src/sync/next/rebase-events.ts +11 -11
- package/src/sync/next/test/event-fixtures.ts +11 -11
- package/src/sync/sync-backend-kv.ts +22 -0
- package/src/sync/sync-backend.ts +185 -0
- package/src/sync/sync.ts +9 -91
- package/src/sync/syncstate.test.ts +96 -52
- package/src/sync/syncstate.ts +69 -58
- package/src/sync/transport-chunking.ts +90 -0
- package/src/sync/validate-push-payload.ts +8 -9
- package/src/testing/event-factory.ts +131 -0
- package/src/testing/mod.ts +1 -0
- package/src/version.ts +16 -6
- package/dist/schema/EventDef.d.ts +0 -123
- 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.map +0 -1
- package/dist/schema/state/sqlite/system-tables.d.ts.map +0 -1
- package/dist/schema/state/sqlite/system-tables.js +0 -79
- package/dist/schema/state/sqlite/system-tables.js.map +0 -1
- package/dist/schema-management/migrations.test.d.ts +0 -2
- package/dist/schema-management/migrations.test.d.ts.map +0 -1
- package/dist/schema-management/migrations.test.js +0 -52
- package/dist/schema-management/migrations.test.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 -219
- package/src/schema/EventSequenceNumber.ts +0 -199
- package/src/schema/LiveStoreEvent.ts +0 -287
- package/src/schema/state/sqlite/system-tables.ts +0 -104
- 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
|
@@ -1,449 +1,17 @@
|
|
|
1
1
|
import { Schema } from '@livestore/utils/effect';
|
|
2
|
-
export declare const SCHEMA_META_TABLE = "__livestore_schema";
|
|
3
|
-
export declare const schemaMetaTable: import("./table-def.ts").TableDef<import("./table-def.ts").SqliteTableDefForInput<"__livestore_schema", {
|
|
4
|
-
readonly tableName: {
|
|
5
|
-
columnType: "text";
|
|
6
|
-
schema: Schema.Schema<string, string, never>;
|
|
7
|
-
default: import("effect/Option").None<never>;
|
|
8
|
-
nullable: false;
|
|
9
|
-
primaryKey: true;
|
|
10
|
-
autoIncrement: false;
|
|
11
|
-
};
|
|
12
|
-
readonly schemaHash: {
|
|
13
|
-
columnType: "integer";
|
|
14
|
-
schema: Schema.Schema<number, number, never>;
|
|
15
|
-
default: import("effect/Option").None<never>;
|
|
16
|
-
nullable: false;
|
|
17
|
-
primaryKey: false;
|
|
18
|
-
autoIncrement: false;
|
|
19
|
-
};
|
|
20
|
-
/** ISO date format */
|
|
21
|
-
readonly updatedAt: {
|
|
22
|
-
columnType: "text";
|
|
23
|
-
schema: Schema.Schema<string, string, never>;
|
|
24
|
-
default: import("effect/Option").None<never>;
|
|
25
|
-
nullable: false;
|
|
26
|
-
primaryKey: false;
|
|
27
|
-
autoIncrement: false;
|
|
28
|
-
};
|
|
29
|
-
}>, import("./table-def.ts").WithDefaults<{
|
|
30
|
-
readonly tableName: {
|
|
31
|
-
columnType: "text";
|
|
32
|
-
schema: Schema.Schema<string, string, never>;
|
|
33
|
-
default: import("effect/Option").None<never>;
|
|
34
|
-
nullable: false;
|
|
35
|
-
primaryKey: true;
|
|
36
|
-
autoIncrement: false;
|
|
37
|
-
};
|
|
38
|
-
readonly schemaHash: {
|
|
39
|
-
columnType: "integer";
|
|
40
|
-
schema: Schema.Schema<number, number, never>;
|
|
41
|
-
default: import("effect/Option").None<never>;
|
|
42
|
-
nullable: false;
|
|
43
|
-
primaryKey: false;
|
|
44
|
-
autoIncrement: false;
|
|
45
|
-
};
|
|
46
|
-
/** ISO date format */
|
|
47
|
-
readonly updatedAt: {
|
|
48
|
-
columnType: "text";
|
|
49
|
-
schema: Schema.Schema<string, string, never>;
|
|
50
|
-
default: import("effect/Option").None<never>;
|
|
51
|
-
nullable: false;
|
|
52
|
-
primaryKey: false;
|
|
53
|
-
autoIncrement: false;
|
|
54
|
-
};
|
|
55
|
-
}>, Schema.Schema<{
|
|
56
|
-
readonly tableName: string;
|
|
57
|
-
readonly schemaHash: number;
|
|
58
|
-
readonly updatedAt: string;
|
|
59
|
-
}, {
|
|
60
|
-
readonly tableName: string;
|
|
61
|
-
readonly schemaHash: number;
|
|
62
|
-
readonly updatedAt: string;
|
|
63
|
-
}, never>>;
|
|
64
|
-
export type SchemaMetaRow = typeof schemaMetaTable.Type;
|
|
65
|
-
export declare const SCHEMA_EVENT_DEFS_META_TABLE = "__livestore_schema_event_defs";
|
|
66
|
-
export declare const schemaEventDefsMetaTable: import("./table-def.ts").TableDef<import("./table-def.ts").SqliteTableDefForInput<"__livestore_schema_event_defs", {
|
|
67
|
-
readonly eventName: {
|
|
68
|
-
columnType: "text";
|
|
69
|
-
schema: Schema.Schema<string, string, never>;
|
|
70
|
-
default: import("effect/Option").None<never>;
|
|
71
|
-
nullable: false;
|
|
72
|
-
primaryKey: true;
|
|
73
|
-
autoIncrement: false;
|
|
74
|
-
};
|
|
75
|
-
readonly schemaHash: {
|
|
76
|
-
columnType: "integer";
|
|
77
|
-
schema: Schema.Schema<number, number, never>;
|
|
78
|
-
default: import("effect/Option").None<never>;
|
|
79
|
-
nullable: false;
|
|
80
|
-
primaryKey: false;
|
|
81
|
-
autoIncrement: false;
|
|
82
|
-
};
|
|
83
|
-
/** ISO date format */
|
|
84
|
-
readonly updatedAt: {
|
|
85
|
-
columnType: "text";
|
|
86
|
-
schema: Schema.Schema<string, string, never>;
|
|
87
|
-
default: import("effect/Option").None<never>;
|
|
88
|
-
nullable: false;
|
|
89
|
-
primaryKey: false;
|
|
90
|
-
autoIncrement: false;
|
|
91
|
-
};
|
|
92
|
-
}>, import("./table-def.ts").WithDefaults<{
|
|
93
|
-
readonly eventName: {
|
|
94
|
-
columnType: "text";
|
|
95
|
-
schema: Schema.Schema<string, string, never>;
|
|
96
|
-
default: import("effect/Option").None<never>;
|
|
97
|
-
nullable: false;
|
|
98
|
-
primaryKey: true;
|
|
99
|
-
autoIncrement: false;
|
|
100
|
-
};
|
|
101
|
-
readonly schemaHash: {
|
|
102
|
-
columnType: "integer";
|
|
103
|
-
schema: Schema.Schema<number, number, never>;
|
|
104
|
-
default: import("effect/Option").None<never>;
|
|
105
|
-
nullable: false;
|
|
106
|
-
primaryKey: false;
|
|
107
|
-
autoIncrement: false;
|
|
108
|
-
};
|
|
109
|
-
/** ISO date format */
|
|
110
|
-
readonly updatedAt: {
|
|
111
|
-
columnType: "text";
|
|
112
|
-
schema: Schema.Schema<string, string, never>;
|
|
113
|
-
default: import("effect/Option").None<never>;
|
|
114
|
-
nullable: false;
|
|
115
|
-
primaryKey: false;
|
|
116
|
-
autoIncrement: false;
|
|
117
|
-
};
|
|
118
|
-
}>, Schema.Schema<{
|
|
119
|
-
readonly eventName: string;
|
|
120
|
-
readonly schemaHash: number;
|
|
121
|
-
readonly updatedAt: string;
|
|
122
|
-
}, {
|
|
123
|
-
readonly eventName: string;
|
|
124
|
-
readonly schemaHash: number;
|
|
125
|
-
readonly updatedAt: string;
|
|
126
|
-
}, never>>;
|
|
127
|
-
export type SchemaEventDefsMetaRow = typeof schemaEventDefsMetaTable.Type;
|
|
128
2
|
/**
|
|
129
|
-
*
|
|
130
|
-
*
|
|
3
|
+
* EVENTLOG DATABASE SYSTEM TABLES
|
|
4
|
+
*
|
|
5
|
+
* ⚠️ CRITICAL: NEVER modify eventlog schemas without bumping `liveStoreStorageFormatVersion`!
|
|
6
|
+
* Eventlog is the source of truth - schema changes cause permanent data loss.
|
|
7
|
+
*
|
|
8
|
+
* TODO: Implement proper eventlog versioning system to prevent accidental data loss
|
|
131
9
|
*/
|
|
132
|
-
export declare const SESSION_CHANGESET_META_TABLE = "__livestore_session_changeset";
|
|
133
|
-
export declare const sessionChangesetMetaTable: import("./table-def.ts").TableDef<import("./table-def.ts").SqliteTableDefForInput<"__livestore_session_changeset", {
|
|
134
|
-
readonly seqNumGlobal: {
|
|
135
|
-
columnType: "integer";
|
|
136
|
-
schema: Schema.Schema<number & import("effect/Brand").Brand<"GlobalEventSequenceNumber">, number, never>;
|
|
137
|
-
default: import("effect/Option").None<never>;
|
|
138
|
-
nullable: false;
|
|
139
|
-
primaryKey: false;
|
|
140
|
-
autoIncrement: false;
|
|
141
|
-
};
|
|
142
|
-
readonly seqNumClient: {
|
|
143
|
-
columnType: "integer";
|
|
144
|
-
schema: Schema.Schema<number & import("effect/Brand").Brand<"ClientEventSequenceNumber">, number, never>;
|
|
145
|
-
default: import("effect/Option").None<never>;
|
|
146
|
-
nullable: false;
|
|
147
|
-
primaryKey: false;
|
|
148
|
-
autoIncrement: false;
|
|
149
|
-
};
|
|
150
|
-
readonly seqNumRebaseGeneration: {
|
|
151
|
-
columnType: "integer";
|
|
152
|
-
schema: Schema.Schema<number, number, never>;
|
|
153
|
-
default: import("effect/Option").None<never>;
|
|
154
|
-
nullable: false;
|
|
155
|
-
primaryKey: false;
|
|
156
|
-
autoIncrement: false;
|
|
157
|
-
};
|
|
158
|
-
readonly changeset: {
|
|
159
|
-
columnType: "blob";
|
|
160
|
-
schema: Schema.Schema<Uint8Array<ArrayBuffer> | null, Uint8Array<ArrayBuffer> | null, never>;
|
|
161
|
-
default: import("effect/Option").None<never>;
|
|
162
|
-
nullable: true;
|
|
163
|
-
primaryKey: false;
|
|
164
|
-
autoIncrement: false;
|
|
165
|
-
};
|
|
166
|
-
readonly debug: {
|
|
167
|
-
columnType: "text";
|
|
168
|
-
schema: Schema.Schema<unknown, string | null, never>;
|
|
169
|
-
default: import("effect/Option").Some<any> | import("effect/Option").None<never>;
|
|
170
|
-
nullable: true;
|
|
171
|
-
primaryKey: false;
|
|
172
|
-
autoIncrement: false;
|
|
173
|
-
};
|
|
174
|
-
}>, import("./table-def.ts").WithDefaults<{
|
|
175
|
-
readonly seqNumGlobal: {
|
|
176
|
-
columnType: "integer";
|
|
177
|
-
schema: Schema.Schema<number & import("effect/Brand").Brand<"GlobalEventSequenceNumber">, number, never>;
|
|
178
|
-
default: import("effect/Option").None<never>;
|
|
179
|
-
nullable: false;
|
|
180
|
-
primaryKey: false;
|
|
181
|
-
autoIncrement: false;
|
|
182
|
-
};
|
|
183
|
-
readonly seqNumClient: {
|
|
184
|
-
columnType: "integer";
|
|
185
|
-
schema: Schema.Schema<number & import("effect/Brand").Brand<"ClientEventSequenceNumber">, number, never>;
|
|
186
|
-
default: import("effect/Option").None<never>;
|
|
187
|
-
nullable: false;
|
|
188
|
-
primaryKey: false;
|
|
189
|
-
autoIncrement: false;
|
|
190
|
-
};
|
|
191
|
-
readonly seqNumRebaseGeneration: {
|
|
192
|
-
columnType: "integer";
|
|
193
|
-
schema: Schema.Schema<number, number, never>;
|
|
194
|
-
default: import("effect/Option").None<never>;
|
|
195
|
-
nullable: false;
|
|
196
|
-
primaryKey: false;
|
|
197
|
-
autoIncrement: false;
|
|
198
|
-
};
|
|
199
|
-
readonly changeset: {
|
|
200
|
-
columnType: "blob";
|
|
201
|
-
schema: Schema.Schema<Uint8Array<ArrayBuffer> | null, Uint8Array<ArrayBuffer> | null, never>;
|
|
202
|
-
default: import("effect/Option").None<never>;
|
|
203
|
-
nullable: true;
|
|
204
|
-
primaryKey: false;
|
|
205
|
-
autoIncrement: false;
|
|
206
|
-
};
|
|
207
|
-
readonly debug: {
|
|
208
|
-
columnType: "text";
|
|
209
|
-
schema: Schema.Schema<unknown, string | null, never>;
|
|
210
|
-
default: import("effect/Option").Some<any> | import("effect/Option").None<never>;
|
|
211
|
-
nullable: true;
|
|
212
|
-
primaryKey: false;
|
|
213
|
-
autoIncrement: false;
|
|
214
|
-
};
|
|
215
|
-
}>, Schema.Schema<{
|
|
216
|
-
readonly seqNumGlobal: number & import("effect/Brand").Brand<"GlobalEventSequenceNumber">;
|
|
217
|
-
readonly seqNumClient: number & import("effect/Brand").Brand<"ClientEventSequenceNumber">;
|
|
218
|
-
readonly seqNumRebaseGeneration: number;
|
|
219
|
-
readonly changeset: Uint8Array<ArrayBuffer> | null;
|
|
220
|
-
readonly debug: unknown;
|
|
221
|
-
}, {
|
|
222
|
-
readonly seqNumGlobal: number;
|
|
223
|
-
readonly seqNumClient: number;
|
|
224
|
-
readonly seqNumRebaseGeneration: number;
|
|
225
|
-
readonly changeset: Uint8Array<ArrayBuffer> | null;
|
|
226
|
-
readonly debug: string | null;
|
|
227
|
-
}, never>>;
|
|
228
|
-
export type SessionChangesetMetaRow = typeof sessionChangesetMetaTable.Type;
|
|
229
|
-
export declare const stateSystemTables: readonly [import("./table-def.ts").TableDef<import("./table-def.ts").SqliteTableDefForInput<"__livestore_schema", {
|
|
230
|
-
readonly tableName: {
|
|
231
|
-
columnType: "text";
|
|
232
|
-
schema: Schema.Schema<string, string, never>;
|
|
233
|
-
default: import("effect/Option").None<never>;
|
|
234
|
-
nullable: false;
|
|
235
|
-
primaryKey: true;
|
|
236
|
-
autoIncrement: false;
|
|
237
|
-
};
|
|
238
|
-
readonly schemaHash: {
|
|
239
|
-
columnType: "integer";
|
|
240
|
-
schema: Schema.Schema<number, number, never>;
|
|
241
|
-
default: import("effect/Option").None<never>;
|
|
242
|
-
nullable: false;
|
|
243
|
-
primaryKey: false;
|
|
244
|
-
autoIncrement: false;
|
|
245
|
-
};
|
|
246
|
-
/** ISO date format */
|
|
247
|
-
readonly updatedAt: {
|
|
248
|
-
columnType: "text";
|
|
249
|
-
schema: Schema.Schema<string, string, never>;
|
|
250
|
-
default: import("effect/Option").None<never>;
|
|
251
|
-
nullable: false;
|
|
252
|
-
primaryKey: false;
|
|
253
|
-
autoIncrement: false;
|
|
254
|
-
};
|
|
255
|
-
}>, import("./table-def.ts").WithDefaults<{
|
|
256
|
-
readonly tableName: {
|
|
257
|
-
columnType: "text";
|
|
258
|
-
schema: Schema.Schema<string, string, never>;
|
|
259
|
-
default: import("effect/Option").None<never>;
|
|
260
|
-
nullable: false;
|
|
261
|
-
primaryKey: true;
|
|
262
|
-
autoIncrement: false;
|
|
263
|
-
};
|
|
264
|
-
readonly schemaHash: {
|
|
265
|
-
columnType: "integer";
|
|
266
|
-
schema: Schema.Schema<number, number, never>;
|
|
267
|
-
default: import("effect/Option").None<never>;
|
|
268
|
-
nullable: false;
|
|
269
|
-
primaryKey: false;
|
|
270
|
-
autoIncrement: false;
|
|
271
|
-
};
|
|
272
|
-
/** ISO date format */
|
|
273
|
-
readonly updatedAt: {
|
|
274
|
-
columnType: "text";
|
|
275
|
-
schema: Schema.Schema<string, string, never>;
|
|
276
|
-
default: import("effect/Option").None<never>;
|
|
277
|
-
nullable: false;
|
|
278
|
-
primaryKey: false;
|
|
279
|
-
autoIncrement: false;
|
|
280
|
-
};
|
|
281
|
-
}>, Schema.Schema<{
|
|
282
|
-
readonly tableName: string;
|
|
283
|
-
readonly schemaHash: number;
|
|
284
|
-
readonly updatedAt: string;
|
|
285
|
-
}, {
|
|
286
|
-
readonly tableName: string;
|
|
287
|
-
readonly schemaHash: number;
|
|
288
|
-
readonly updatedAt: string;
|
|
289
|
-
}, never>>, import("./table-def.ts").TableDef<import("./table-def.ts").SqliteTableDefForInput<"__livestore_schema_event_defs", {
|
|
290
|
-
readonly eventName: {
|
|
291
|
-
columnType: "text";
|
|
292
|
-
schema: Schema.Schema<string, string, never>;
|
|
293
|
-
default: import("effect/Option").None<never>;
|
|
294
|
-
nullable: false;
|
|
295
|
-
primaryKey: true;
|
|
296
|
-
autoIncrement: false;
|
|
297
|
-
};
|
|
298
|
-
readonly schemaHash: {
|
|
299
|
-
columnType: "integer";
|
|
300
|
-
schema: Schema.Schema<number, number, never>;
|
|
301
|
-
default: import("effect/Option").None<never>;
|
|
302
|
-
nullable: false;
|
|
303
|
-
primaryKey: false;
|
|
304
|
-
autoIncrement: false;
|
|
305
|
-
};
|
|
306
|
-
/** ISO date format */
|
|
307
|
-
readonly updatedAt: {
|
|
308
|
-
columnType: "text";
|
|
309
|
-
schema: Schema.Schema<string, string, never>;
|
|
310
|
-
default: import("effect/Option").None<never>;
|
|
311
|
-
nullable: false;
|
|
312
|
-
primaryKey: false;
|
|
313
|
-
autoIncrement: false;
|
|
314
|
-
};
|
|
315
|
-
}>, import("./table-def.ts").WithDefaults<{
|
|
316
|
-
readonly eventName: {
|
|
317
|
-
columnType: "text";
|
|
318
|
-
schema: Schema.Schema<string, string, never>;
|
|
319
|
-
default: import("effect/Option").None<never>;
|
|
320
|
-
nullable: false;
|
|
321
|
-
primaryKey: true;
|
|
322
|
-
autoIncrement: false;
|
|
323
|
-
};
|
|
324
|
-
readonly schemaHash: {
|
|
325
|
-
columnType: "integer";
|
|
326
|
-
schema: Schema.Schema<number, number, never>;
|
|
327
|
-
default: import("effect/Option").None<never>;
|
|
328
|
-
nullable: false;
|
|
329
|
-
primaryKey: false;
|
|
330
|
-
autoIncrement: false;
|
|
331
|
-
};
|
|
332
|
-
/** ISO date format */
|
|
333
|
-
readonly updatedAt: {
|
|
334
|
-
columnType: "text";
|
|
335
|
-
schema: Schema.Schema<string, string, never>;
|
|
336
|
-
default: import("effect/Option").None<never>;
|
|
337
|
-
nullable: false;
|
|
338
|
-
primaryKey: false;
|
|
339
|
-
autoIncrement: false;
|
|
340
|
-
};
|
|
341
|
-
}>, Schema.Schema<{
|
|
342
|
-
readonly eventName: string;
|
|
343
|
-
readonly schemaHash: number;
|
|
344
|
-
readonly updatedAt: string;
|
|
345
|
-
}, {
|
|
346
|
-
readonly eventName: string;
|
|
347
|
-
readonly schemaHash: number;
|
|
348
|
-
readonly updatedAt: string;
|
|
349
|
-
}, never>>, import("./table-def.ts").TableDef<import("./table-def.ts").SqliteTableDefForInput<"__livestore_session_changeset", {
|
|
350
|
-
readonly seqNumGlobal: {
|
|
351
|
-
columnType: "integer";
|
|
352
|
-
schema: Schema.Schema<number & import("effect/Brand").Brand<"GlobalEventSequenceNumber">, number, never>;
|
|
353
|
-
default: import("effect/Option").None<never>;
|
|
354
|
-
nullable: false;
|
|
355
|
-
primaryKey: false;
|
|
356
|
-
autoIncrement: false;
|
|
357
|
-
};
|
|
358
|
-
readonly seqNumClient: {
|
|
359
|
-
columnType: "integer";
|
|
360
|
-
schema: Schema.Schema<number & import("effect/Brand").Brand<"ClientEventSequenceNumber">, number, never>;
|
|
361
|
-
default: import("effect/Option").None<never>;
|
|
362
|
-
nullable: false;
|
|
363
|
-
primaryKey: false;
|
|
364
|
-
autoIncrement: false;
|
|
365
|
-
};
|
|
366
|
-
readonly seqNumRebaseGeneration: {
|
|
367
|
-
columnType: "integer";
|
|
368
|
-
schema: Schema.Schema<number, number, never>;
|
|
369
|
-
default: import("effect/Option").None<never>;
|
|
370
|
-
nullable: false;
|
|
371
|
-
primaryKey: false;
|
|
372
|
-
autoIncrement: false;
|
|
373
|
-
};
|
|
374
|
-
readonly changeset: {
|
|
375
|
-
columnType: "blob";
|
|
376
|
-
schema: Schema.Schema<Uint8Array<ArrayBuffer> | null, Uint8Array<ArrayBuffer> | null, never>;
|
|
377
|
-
default: import("effect/Option").None<never>;
|
|
378
|
-
nullable: true;
|
|
379
|
-
primaryKey: false;
|
|
380
|
-
autoIncrement: false;
|
|
381
|
-
};
|
|
382
|
-
readonly debug: {
|
|
383
|
-
columnType: "text";
|
|
384
|
-
schema: Schema.Schema<unknown, string | null, never>;
|
|
385
|
-
default: import("effect/Option").Some<any> | import("effect/Option").None<never>;
|
|
386
|
-
nullable: true;
|
|
387
|
-
primaryKey: false;
|
|
388
|
-
autoIncrement: false;
|
|
389
|
-
};
|
|
390
|
-
}>, import("./table-def.ts").WithDefaults<{
|
|
391
|
-
readonly seqNumGlobal: {
|
|
392
|
-
columnType: "integer";
|
|
393
|
-
schema: Schema.Schema<number & import("effect/Brand").Brand<"GlobalEventSequenceNumber">, number, never>;
|
|
394
|
-
default: import("effect/Option").None<never>;
|
|
395
|
-
nullable: false;
|
|
396
|
-
primaryKey: false;
|
|
397
|
-
autoIncrement: false;
|
|
398
|
-
};
|
|
399
|
-
readonly seqNumClient: {
|
|
400
|
-
columnType: "integer";
|
|
401
|
-
schema: Schema.Schema<number & import("effect/Brand").Brand<"ClientEventSequenceNumber">, number, never>;
|
|
402
|
-
default: import("effect/Option").None<never>;
|
|
403
|
-
nullable: false;
|
|
404
|
-
primaryKey: false;
|
|
405
|
-
autoIncrement: false;
|
|
406
|
-
};
|
|
407
|
-
readonly seqNumRebaseGeneration: {
|
|
408
|
-
columnType: "integer";
|
|
409
|
-
schema: Schema.Schema<number, number, never>;
|
|
410
|
-
default: import("effect/Option").None<never>;
|
|
411
|
-
nullable: false;
|
|
412
|
-
primaryKey: false;
|
|
413
|
-
autoIncrement: false;
|
|
414
|
-
};
|
|
415
|
-
readonly changeset: {
|
|
416
|
-
columnType: "blob";
|
|
417
|
-
schema: Schema.Schema<Uint8Array<ArrayBuffer> | null, Uint8Array<ArrayBuffer> | null, never>;
|
|
418
|
-
default: import("effect/Option").None<never>;
|
|
419
|
-
nullable: true;
|
|
420
|
-
primaryKey: false;
|
|
421
|
-
autoIncrement: false;
|
|
422
|
-
};
|
|
423
|
-
readonly debug: {
|
|
424
|
-
columnType: "text";
|
|
425
|
-
schema: Schema.Schema<unknown, string | null, never>;
|
|
426
|
-
default: import("effect/Option").Some<any> | import("effect/Option").None<never>;
|
|
427
|
-
nullable: true;
|
|
428
|
-
primaryKey: false;
|
|
429
|
-
autoIncrement: false;
|
|
430
|
-
};
|
|
431
|
-
}>, Schema.Schema<{
|
|
432
|
-
readonly seqNumGlobal: number & import("effect/Brand").Brand<"GlobalEventSequenceNumber">;
|
|
433
|
-
readonly seqNumClient: number & import("effect/Brand").Brand<"ClientEventSequenceNumber">;
|
|
434
|
-
readonly seqNumRebaseGeneration: number;
|
|
435
|
-
readonly changeset: Uint8Array<ArrayBuffer> | null;
|
|
436
|
-
readonly debug: unknown;
|
|
437
|
-
}, {
|
|
438
|
-
readonly seqNumGlobal: number;
|
|
439
|
-
readonly seqNumClient: number;
|
|
440
|
-
readonly seqNumRebaseGeneration: number;
|
|
441
|
-
readonly changeset: Uint8Array<ArrayBuffer> | null;
|
|
442
|
-
readonly debug: string | null;
|
|
443
|
-
}, never>>];
|
|
444
|
-
export declare const isStateSystemTable: (tableName: string) => boolean;
|
|
445
10
|
export declare const EVENTLOG_META_TABLE = "eventlog";
|
|
446
|
-
|
|
11
|
+
/**
|
|
12
|
+
* Main client-side event log storing all events (global and local/rebased).
|
|
13
|
+
*/
|
|
14
|
+
export declare const eventlogMetaTable: import("../table-def.ts").TableDef<import("../table-def.ts").SqliteTableDefForInput<"eventlog", {
|
|
447
15
|
readonly seqNumGlobal: {
|
|
448
16
|
columnType: "integer";
|
|
449
17
|
schema: Schema.Schema<number & import("effect/Brand").Brand<"GlobalEventSequenceNumber">, number, never>;
|
|
@@ -535,13 +103,13 @@ export declare const eventlogMetaTable: import("./table-def.ts").TableDef<import
|
|
|
535
103
|
};
|
|
536
104
|
readonly syncMetadataJson: {
|
|
537
105
|
columnType: "text";
|
|
538
|
-
schema: Schema.Schema<import("effect/Option").
|
|
106
|
+
schema: Schema.Schema<import("effect/Option").Option<Schema.JsonValue>, string, never>;
|
|
539
107
|
default: import("effect/Option").None<never>;
|
|
540
108
|
nullable: false;
|
|
541
109
|
primaryKey: false;
|
|
542
110
|
autoIncrement: false;
|
|
543
111
|
};
|
|
544
|
-
}>, import("
|
|
112
|
+
}>, import("../table-def.ts").WithDefaults<{
|
|
545
113
|
readonly seqNumGlobal: {
|
|
546
114
|
columnType: "integer";
|
|
547
115
|
schema: Schema.Schema<number & import("effect/Brand").Brand<"GlobalEventSequenceNumber">, number, never>;
|
|
@@ -633,7 +201,7 @@ export declare const eventlogMetaTable: import("./table-def.ts").TableDef<import
|
|
|
633
201
|
};
|
|
634
202
|
readonly syncMetadataJson: {
|
|
635
203
|
columnType: "text";
|
|
636
|
-
schema: Schema.Schema<import("effect/Option").
|
|
204
|
+
schema: Schema.Schema<import("effect/Option").Option<Schema.JsonValue>, string, never>;
|
|
637
205
|
default: import("effect/Option").None<never>;
|
|
638
206
|
nullable: false;
|
|
639
207
|
primaryKey: false;
|
|
@@ -651,7 +219,7 @@ export declare const eventlogMetaTable: import("./table-def.ts").TableDef<import
|
|
|
651
219
|
readonly clientId: string;
|
|
652
220
|
readonly sessionId: string;
|
|
653
221
|
readonly schemaHash: number;
|
|
654
|
-
readonly syncMetadataJson: import("effect/Option").
|
|
222
|
+
readonly syncMetadataJson: import("effect/Option").Option<Schema.JsonValue>;
|
|
655
223
|
}, {
|
|
656
224
|
readonly seqNumGlobal: number;
|
|
657
225
|
readonly seqNumClient: number;
|
|
@@ -668,7 +236,10 @@ export declare const eventlogMetaTable: import("./table-def.ts").TableDef<import
|
|
|
668
236
|
}, never>>;
|
|
669
237
|
export type EventlogMetaRow = typeof eventlogMetaTable.Type;
|
|
670
238
|
export declare const SYNC_STATUS_TABLE = "__livestore_sync_status";
|
|
671
|
-
|
|
239
|
+
/**
|
|
240
|
+
* Tracks sync status including the remote head position and backend identity.
|
|
241
|
+
*/
|
|
242
|
+
export declare const syncStatusTable: import("../table-def.ts").TableDef<import("../table-def.ts").SqliteTableDefForInput<"__livestore_sync_status", {
|
|
672
243
|
readonly head: {
|
|
673
244
|
columnType: "integer";
|
|
674
245
|
schema: Schema.Schema<number, number, never>;
|
|
@@ -677,7 +248,15 @@ export declare const syncStatusTable: import("./table-def.ts").TableDef<import("
|
|
|
677
248
|
primaryKey: true;
|
|
678
249
|
autoIncrement: false;
|
|
679
250
|
};
|
|
680
|
-
|
|
251
|
+
readonly backendId: {
|
|
252
|
+
columnType: "text";
|
|
253
|
+
schema: Schema.Schema<string | null, string | null, never>;
|
|
254
|
+
default: import("effect/Option").None<never>;
|
|
255
|
+
nullable: true;
|
|
256
|
+
primaryKey: false;
|
|
257
|
+
autoIncrement: false;
|
|
258
|
+
};
|
|
259
|
+
}>, import("../table-def.ts").WithDefaults<{
|
|
681
260
|
readonly head: {
|
|
682
261
|
columnType: "integer";
|
|
683
262
|
schema: Schema.Schema<number, number, never>;
|
|
@@ -686,13 +265,23 @@ export declare const syncStatusTable: import("./table-def.ts").TableDef<import("
|
|
|
686
265
|
primaryKey: true;
|
|
687
266
|
autoIncrement: false;
|
|
688
267
|
};
|
|
268
|
+
readonly backendId: {
|
|
269
|
+
columnType: "text";
|
|
270
|
+
schema: Schema.Schema<string | null, string | null, never>;
|
|
271
|
+
default: import("effect/Option").None<never>;
|
|
272
|
+
nullable: true;
|
|
273
|
+
primaryKey: false;
|
|
274
|
+
autoIncrement: false;
|
|
275
|
+
};
|
|
689
276
|
}>, Schema.Schema<{
|
|
690
277
|
readonly head: number;
|
|
278
|
+
readonly backendId: string | null;
|
|
691
279
|
}, {
|
|
692
280
|
readonly head: number;
|
|
281
|
+
readonly backendId: string | null;
|
|
693
282
|
}, never>>;
|
|
694
283
|
export type SyncStatusRow = typeof syncStatusTable.Type;
|
|
695
|
-
export declare const eventlogSystemTables: readonly [import("
|
|
284
|
+
export declare const eventlogSystemTables: readonly [import("../table-def.ts").TableDef<import("../table-def.ts").SqliteTableDefForInput<"eventlog", {
|
|
696
285
|
readonly seqNumGlobal: {
|
|
697
286
|
columnType: "integer";
|
|
698
287
|
schema: Schema.Schema<number & import("effect/Brand").Brand<"GlobalEventSequenceNumber">, number, never>;
|
|
@@ -784,13 +373,13 @@ export declare const eventlogSystemTables: readonly [import("./table-def.ts").Ta
|
|
|
784
373
|
};
|
|
785
374
|
readonly syncMetadataJson: {
|
|
786
375
|
columnType: "text";
|
|
787
|
-
schema: Schema.Schema<import("effect/Option").
|
|
376
|
+
schema: Schema.Schema<import("effect/Option").Option<Schema.JsonValue>, string, never>;
|
|
788
377
|
default: import("effect/Option").None<never>;
|
|
789
378
|
nullable: false;
|
|
790
379
|
primaryKey: false;
|
|
791
380
|
autoIncrement: false;
|
|
792
381
|
};
|
|
793
|
-
}>, import("
|
|
382
|
+
}>, import("../table-def.ts").WithDefaults<{
|
|
794
383
|
readonly seqNumGlobal: {
|
|
795
384
|
columnType: "integer";
|
|
796
385
|
schema: Schema.Schema<number & import("effect/Brand").Brand<"GlobalEventSequenceNumber">, number, never>;
|
|
@@ -882,7 +471,7 @@ export declare const eventlogSystemTables: readonly [import("./table-def.ts").Ta
|
|
|
882
471
|
};
|
|
883
472
|
readonly syncMetadataJson: {
|
|
884
473
|
columnType: "text";
|
|
885
|
-
schema: Schema.Schema<import("effect/Option").
|
|
474
|
+
schema: Schema.Schema<import("effect/Option").Option<Schema.JsonValue>, string, never>;
|
|
886
475
|
default: import("effect/Option").None<never>;
|
|
887
476
|
nullable: false;
|
|
888
477
|
primaryKey: false;
|
|
@@ -900,7 +489,7 @@ export declare const eventlogSystemTables: readonly [import("./table-def.ts").Ta
|
|
|
900
489
|
readonly clientId: string;
|
|
901
490
|
readonly sessionId: string;
|
|
902
491
|
readonly schemaHash: number;
|
|
903
|
-
readonly syncMetadataJson: import("effect/Option").
|
|
492
|
+
readonly syncMetadataJson: import("effect/Option").Option<Schema.JsonValue>;
|
|
904
493
|
}, {
|
|
905
494
|
readonly seqNumGlobal: number;
|
|
906
495
|
readonly seqNumClient: number;
|
|
@@ -914,7 +503,7 @@ export declare const eventlogSystemTables: readonly [import("./table-def.ts").Ta
|
|
|
914
503
|
readonly sessionId: string;
|
|
915
504
|
readonly schemaHash: number;
|
|
916
505
|
readonly syncMetadataJson: string;
|
|
917
|
-
}, never>>, import("
|
|
506
|
+
}, never>>, import("../table-def.ts").TableDef<import("../table-def.ts").SqliteTableDefForInput<"__livestore_sync_status", {
|
|
918
507
|
readonly head: {
|
|
919
508
|
columnType: "integer";
|
|
920
509
|
schema: Schema.Schema<number, number, never>;
|
|
@@ -923,7 +512,15 @@ export declare const eventlogSystemTables: readonly [import("./table-def.ts").Ta
|
|
|
923
512
|
primaryKey: true;
|
|
924
513
|
autoIncrement: false;
|
|
925
514
|
};
|
|
926
|
-
|
|
515
|
+
readonly backendId: {
|
|
516
|
+
columnType: "text";
|
|
517
|
+
schema: Schema.Schema<string | null, string | null, never>;
|
|
518
|
+
default: import("effect/Option").None<never>;
|
|
519
|
+
nullable: true;
|
|
520
|
+
primaryKey: false;
|
|
521
|
+
autoIncrement: false;
|
|
522
|
+
};
|
|
523
|
+
}>, import("../table-def.ts").WithDefaults<{
|
|
927
524
|
readonly head: {
|
|
928
525
|
columnType: "integer";
|
|
929
526
|
schema: Schema.Schema<number, number, never>;
|
|
@@ -932,9 +529,19 @@ export declare const eventlogSystemTables: readonly [import("./table-def.ts").Ta
|
|
|
932
529
|
primaryKey: true;
|
|
933
530
|
autoIncrement: false;
|
|
934
531
|
};
|
|
532
|
+
readonly backendId: {
|
|
533
|
+
columnType: "text";
|
|
534
|
+
schema: Schema.Schema<string | null, string | null, never>;
|
|
535
|
+
default: import("effect/Option").None<never>;
|
|
536
|
+
nullable: true;
|
|
537
|
+
primaryKey: false;
|
|
538
|
+
autoIncrement: false;
|
|
539
|
+
};
|
|
935
540
|
}>, Schema.Schema<{
|
|
936
541
|
readonly head: number;
|
|
542
|
+
readonly backendId: string | null;
|
|
937
543
|
}, {
|
|
938
544
|
readonly head: number;
|
|
545
|
+
readonly backendId: string | null;
|
|
939
546
|
}, never>>];
|
|
940
|
-
//# sourceMappingURL=
|
|
547
|
+
//# sourceMappingURL=eventlog-tables.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eventlog-tables.d.ts","sourceRoot":"","sources":["../../../../../src/schema/state/sqlite/system-tables/eventlog-tables.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAMhD;;;;;;;GAOG;AAEH,eAAO,MAAM,mBAAmB,aAAa,CAAA;AAE7C;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAU1B,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAA5B,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAY9B,CAAA;AAEF,MAAM,MAAM,eAAe,GAAG,OAAO,iBAAiB,CAAC,IAAI,CAAA;AAE3D,eAAO,MAAM,iBAAiB,4BAA4B,CAAA;AAE1D;;GAEG;AAEH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAO1B,CAAA;AAEF,MAAM,MAAM,aAAa,GAAG,OAAO,eAAe,CAAC,IAAI,CAAA;AAEvD,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAjC7B,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAA5B,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAiCiD,CAAA"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { Schema } from '@livestore/utils/effect';
|
|
2
|
+
import * as EventSequenceNumber from "../../../EventSequenceNumber/mod.js";
|
|
3
|
+
import { SqliteDsl } from "../db-schema/mod.js";
|
|
4
|
+
import { table } from "../table-def.js";
|
|
5
|
+
/**
|
|
6
|
+
* EVENTLOG DATABASE SYSTEM TABLES
|
|
7
|
+
*
|
|
8
|
+
* ⚠️ CRITICAL: NEVER modify eventlog schemas without bumping `liveStoreStorageFormatVersion`!
|
|
9
|
+
* Eventlog is the source of truth - schema changes cause permanent data loss.
|
|
10
|
+
*
|
|
11
|
+
* TODO: Implement proper eventlog versioning system to prevent accidental data loss
|
|
12
|
+
*/
|
|
13
|
+
export const EVENTLOG_META_TABLE = 'eventlog';
|
|
14
|
+
/**
|
|
15
|
+
* Main client-side event log storing all events (global and local/rebased).
|
|
16
|
+
*/
|
|
17
|
+
export const eventlogMetaTable = table({
|
|
18
|
+
name: EVENTLOG_META_TABLE,
|
|
19
|
+
columns: {
|
|
20
|
+
// TODO Adjust modeling so a global event never needs a client id component
|
|
21
|
+
seqNumGlobal: SqliteDsl.integer({ primaryKey: true, schema: EventSequenceNumber.Global.Schema }),
|
|
22
|
+
seqNumClient: SqliteDsl.integer({ primaryKey: true, schema: EventSequenceNumber.Client.Schema }),
|
|
23
|
+
seqNumRebaseGeneration: SqliteDsl.integer({ primaryKey: true }),
|
|
24
|
+
parentSeqNumGlobal: SqliteDsl.integer({ schema: EventSequenceNumber.Global.Schema }),
|
|
25
|
+
parentSeqNumClient: SqliteDsl.integer({ schema: EventSequenceNumber.Client.Schema }),
|
|
26
|
+
parentSeqNumRebaseGeneration: SqliteDsl.integer({}),
|
|
27
|
+
/** Event definition name */
|
|
28
|
+
name: SqliteDsl.text({}),
|
|
29
|
+
argsJson: SqliteDsl.text({ schema: Schema.parseJson(Schema.Any) }),
|
|
30
|
+
clientId: SqliteDsl.text({}),
|
|
31
|
+
sessionId: SqliteDsl.text({}),
|
|
32
|
+
schemaHash: SqliteDsl.integer({}),
|
|
33
|
+
syncMetadataJson: SqliteDsl.text({ schema: Schema.parseJson(Schema.Option(Schema.JsonValue)) }),
|
|
34
|
+
},
|
|
35
|
+
indexes: [
|
|
36
|
+
{ columns: ['seqNumGlobal'], name: 'idx_eventlog_seqNumGlobal' },
|
|
37
|
+
{ columns: ['seqNumGlobal', 'seqNumClient', 'seqNumRebaseGeneration'], name: 'idx_eventlog_seqNum' },
|
|
38
|
+
],
|
|
39
|
+
});
|
|
40
|
+
export const SYNC_STATUS_TABLE = '__livestore_sync_status';
|
|
41
|
+
/**
|
|
42
|
+
* Tracks sync status including the remote head position and backend identity.
|
|
43
|
+
*/
|
|
44
|
+
// TODO support sync backend identity (to detect if sync backend changes)
|
|
45
|
+
export const syncStatusTable = table({
|
|
46
|
+
name: SYNC_STATUS_TABLE,
|
|
47
|
+
columns: {
|
|
48
|
+
head: SqliteDsl.integer({ primaryKey: true }),
|
|
49
|
+
// Null means the sync backend is not yet connected and we haven't yet seen a backend ID
|
|
50
|
+
backendId: SqliteDsl.text({ nullable: true }),
|
|
51
|
+
},
|
|
52
|
+
});
|
|
53
|
+
export const eventlogSystemTables = [eventlogMetaTable, syncStatusTable];
|
|
54
|
+
//# sourceMappingURL=eventlog-tables.js.map
|