@livestore/common 0.3.0-dev.9 → 0.3.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/__tests__/fixture.d.ts +83 -221
- package/dist/__tests__/fixture.d.ts.map +1 -1
- package/dist/__tests__/fixture.js +33 -11
- package/dist/__tests__/fixture.js.map +1 -1
- package/dist/adapter-types.d.ts +120 -64
- package/dist/adapter-types.d.ts.map +1 -1
- package/dist/adapter-types.js +39 -8
- package/dist/adapter-types.js.map +1 -1
- package/dist/bounded-collections.d.ts.map +1 -1
- package/dist/debug-info.d.ts +1 -1
- package/dist/debug-info.d.ts.map +1 -1
- package/dist/debug-info.js +1 -0
- package/dist/debug-info.js.map +1 -1
- package/dist/devtools/devtools-messages-client-session.d.ts +390 -0
- package/dist/devtools/devtools-messages-client-session.d.ts.map +1 -0
- package/dist/devtools/devtools-messages-client-session.js +97 -0
- package/dist/devtools/devtools-messages-client-session.js.map +1 -0
- package/dist/devtools/devtools-messages-common.d.ts +68 -0
- package/dist/devtools/devtools-messages-common.d.ts.map +1 -0
- package/dist/devtools/devtools-messages-common.js +60 -0
- package/dist/devtools/devtools-messages-common.js.map +1 -0
- package/dist/devtools/devtools-messages-leader.d.ts +394 -0
- package/dist/devtools/devtools-messages-leader.d.ts.map +1 -0
- package/dist/devtools/devtools-messages-leader.js +147 -0
- package/dist/devtools/devtools-messages-leader.js.map +1 -0
- package/dist/devtools/devtools-messages.d.ts +3 -580
- package/dist/devtools/devtools-messages.d.ts.map +1 -1
- package/dist/devtools/devtools-messages.js +3 -174
- package/dist/devtools/devtools-messages.js.map +1 -1
- package/dist/devtools/devtools-sessioninfo.d.ts +32 -0
- package/dist/devtools/devtools-sessioninfo.d.ts.map +1 -0
- package/dist/devtools/devtools-sessioninfo.js +36 -0
- package/dist/devtools/devtools-sessioninfo.js.map +1 -0
- package/dist/devtools/mod.d.ts +55 -0
- package/dist/devtools/mod.d.ts.map +1 -0
- package/dist/devtools/mod.js +33 -0
- package/dist/devtools/mod.js.map +1 -0
- package/dist/index.d.ts +7 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -9
- package/dist/index.js.map +1 -1
- package/dist/leader-thread/LeaderSyncProcessor.d.ts +36 -11
- package/dist/leader-thread/LeaderSyncProcessor.d.ts.map +1 -1
- package/dist/leader-thread/LeaderSyncProcessor.js +426 -252
- package/dist/leader-thread/LeaderSyncProcessor.js.map +1 -1
- package/dist/leader-thread/connection.d.ts +34 -6
- package/dist/leader-thread/connection.d.ts.map +1 -1
- package/dist/leader-thread/connection.js +22 -7
- package/dist/leader-thread/connection.js.map +1 -1
- package/dist/leader-thread/eventlog.d.ts +27 -0
- package/dist/leader-thread/eventlog.d.ts.map +1 -0
- package/dist/leader-thread/eventlog.js +119 -0
- package/dist/leader-thread/eventlog.js.map +1 -0
- package/dist/leader-thread/leader-worker-devtools.d.ts.map +1 -1
- package/dist/leader-thread/leader-worker-devtools.js +155 -80
- package/dist/leader-thread/leader-worker-devtools.js.map +1 -1
- package/dist/leader-thread/make-leader-thread-layer.d.ts +22 -9
- package/dist/leader-thread/make-leader-thread-layer.d.ts.map +1 -1
- package/dist/leader-thread/make-leader-thread-layer.js +67 -45
- package/dist/leader-thread/make-leader-thread-layer.js.map +1 -1
- package/dist/leader-thread/materialize-event.d.ts +16 -0
- package/dist/leader-thread/materialize-event.d.ts.map +1 -0
- package/dist/leader-thread/materialize-event.js +109 -0
- package/dist/leader-thread/materialize-event.js.map +1 -0
- package/dist/leader-thread/mod.d.ts +1 -1
- package/dist/leader-thread/mod.d.ts.map +1 -1
- package/dist/leader-thread/mod.js +1 -1
- package/dist/leader-thread/mod.js.map +1 -1
- package/dist/leader-thread/recreate-db.d.ts +4 -2
- package/dist/leader-thread/recreate-db.d.ts.map +1 -1
- package/dist/leader-thread/recreate-db.js +28 -32
- package/dist/leader-thread/recreate-db.js.map +1 -1
- package/dist/leader-thread/shutdown-channel.d.ts +2 -5
- package/dist/leader-thread/shutdown-channel.d.ts.map +1 -1
- package/dist/leader-thread/shutdown-channel.js +2 -4
- package/dist/leader-thread/shutdown-channel.js.map +1 -1
- package/dist/leader-thread/types.d.ts +79 -38
- package/dist/leader-thread/types.d.ts.map +1 -1
- package/dist/leader-thread/types.js +1 -3
- package/dist/leader-thread/types.js.map +1 -1
- package/dist/make-client-session.d.ts +23 -0
- package/dist/make-client-session.d.ts.map +1 -0
- package/dist/make-client-session.js +57 -0
- package/dist/make-client-session.js.map +1 -0
- package/dist/materializer-helper.d.ts +23 -0
- package/dist/materializer-helper.d.ts.map +1 -0
- package/dist/materializer-helper.js +86 -0
- package/dist/materializer-helper.js.map +1 -0
- package/dist/otel.d.ts +2 -0
- package/dist/otel.d.ts.map +1 -1
- package/dist/otel.js +5 -0
- package/dist/otel.js.map +1 -1
- package/dist/rematerialize-from-eventlog.d.ts +14 -0
- package/dist/rematerialize-from-eventlog.d.ts.map +1 -0
- package/dist/rematerialize-from-eventlog.js +64 -0
- package/dist/rematerialize-from-eventlog.js.map +1 -0
- package/dist/schema/EventDef.d.ts +146 -0
- package/dist/schema/EventDef.d.ts.map +1 -0
- package/dist/schema/EventDef.js +58 -0
- package/dist/schema/EventDef.js.map +1 -0
- package/dist/schema/EventSequenceNumber.d.ts +57 -0
- package/dist/schema/EventSequenceNumber.d.ts.map +1 -0
- package/dist/schema/EventSequenceNumber.js +82 -0
- package/dist/schema/EventSequenceNumber.js.map +1 -0
- package/dist/schema/EventSequenceNumber.test.d.ts +2 -0
- package/dist/schema/EventSequenceNumber.test.d.ts.map +1 -0
- package/dist/schema/EventSequenceNumber.test.js +11 -0
- package/dist/schema/EventSequenceNumber.test.js.map +1 -0
- package/dist/schema/LiveStoreEvent.d.ts +257 -0
- package/dist/schema/LiveStoreEvent.d.ts.map +1 -0
- package/dist/schema/LiveStoreEvent.js +117 -0
- package/dist/schema/LiveStoreEvent.js.map +1 -0
- package/dist/schema/events.d.ts +2 -0
- package/dist/schema/events.d.ts.map +1 -0
- package/dist/schema/events.js +2 -0
- package/dist/schema/events.js.map +1 -0
- package/dist/schema/mod.d.ts +8 -6
- package/dist/schema/mod.d.ts.map +1 -1
- package/dist/schema/mod.js +8 -6
- package/dist/schema/mod.js.map +1 -1
- package/dist/schema/schema.d.ts +50 -32
- package/dist/schema/schema.d.ts.map +1 -1
- package/dist/schema/schema.js +36 -43
- package/dist/schema/schema.js.map +1 -1
- package/dist/schema/state/mod.d.ts +3 -0
- package/dist/schema/state/mod.d.ts.map +1 -0
- package/dist/schema/state/mod.js +3 -0
- package/dist/schema/state/mod.js.map +1 -0
- package/dist/schema/state/sqlite/client-document-def.d.ts +223 -0
- package/dist/schema/state/sqlite/client-document-def.d.ts.map +1 -0
- package/dist/schema/state/sqlite/client-document-def.js +170 -0
- package/dist/schema/state/sqlite/client-document-def.js.map +1 -0
- package/dist/schema/state/sqlite/client-document-def.test.d.ts +2 -0
- package/dist/schema/state/sqlite/client-document-def.test.d.ts.map +1 -0
- package/dist/schema/state/sqlite/client-document-def.test.js +201 -0
- package/dist/schema/state/sqlite/client-document-def.test.js.map +1 -0
- package/dist/schema/state/sqlite/db-schema/ast/sqlite.d.ts +69 -0
- package/dist/schema/state/sqlite/db-schema/ast/sqlite.d.ts.map +1 -0
- package/dist/schema/state/sqlite/db-schema/ast/sqlite.js +71 -0
- package/dist/schema/state/sqlite/db-schema/ast/sqlite.js.map +1 -0
- package/dist/schema/state/sqlite/db-schema/ast/validate.d.ts +3 -0
- package/dist/schema/state/sqlite/db-schema/ast/validate.d.ts.map +1 -0
- package/dist/schema/state/sqlite/db-schema/ast/validate.js +12 -0
- package/dist/schema/state/sqlite/db-schema/ast/validate.js.map +1 -0
- package/dist/schema/state/sqlite/db-schema/dsl/field-defs.d.ts +90 -0
- package/dist/schema/state/sqlite/db-schema/dsl/field-defs.d.ts.map +1 -0
- package/dist/schema/state/sqlite/db-schema/dsl/field-defs.js +87 -0
- package/dist/schema/state/sqlite/db-schema/dsl/field-defs.js.map +1 -0
- package/dist/schema/state/sqlite/db-schema/dsl/field-defs.test.d.ts +2 -0
- package/dist/schema/state/sqlite/db-schema/dsl/field-defs.test.d.ts.map +1 -0
- package/dist/schema/state/sqlite/db-schema/dsl/field-defs.test.js +29 -0
- package/dist/schema/state/sqlite/db-schema/dsl/field-defs.test.js.map +1 -0
- package/dist/schema/state/sqlite/db-schema/dsl/mod.d.ts +90 -0
- package/dist/schema/state/sqlite/db-schema/dsl/mod.d.ts.map +1 -0
- package/dist/schema/state/sqlite/db-schema/dsl/mod.js +41 -0
- package/dist/schema/state/sqlite/db-schema/dsl/mod.js.map +1 -0
- package/dist/schema/state/sqlite/db-schema/hash.d.ts +2 -0
- package/dist/schema/state/sqlite/db-schema/hash.d.ts.map +1 -0
- package/dist/schema/state/sqlite/db-schema/hash.js +14 -0
- package/dist/schema/state/sqlite/db-schema/hash.js.map +1 -0
- package/dist/schema/state/sqlite/db-schema/mod.d.ts +3 -0
- package/dist/schema/state/sqlite/db-schema/mod.d.ts.map +1 -0
- package/dist/schema/state/sqlite/db-schema/mod.js +3 -0
- package/dist/schema/state/sqlite/db-schema/mod.js.map +1 -0
- package/dist/schema/state/sqlite/mod.d.ts +17 -0
- package/dist/schema/state/sqlite/mod.d.ts.map +1 -0
- package/dist/schema/state/sqlite/mod.js +41 -0
- package/dist/schema/state/sqlite/mod.js.map +1 -0
- package/dist/schema/state/sqlite/query-builder/api.d.ts +294 -0
- package/dist/schema/state/sqlite/query-builder/api.d.ts.map +1 -0
- package/dist/schema/state/sqlite/query-builder/api.js +6 -0
- package/dist/schema/state/sqlite/query-builder/api.js.map +1 -0
- package/dist/schema/state/sqlite/query-builder/astToSql.d.ts +7 -0
- package/dist/schema/state/sqlite/query-builder/astToSql.d.ts.map +1 -0
- package/dist/schema/state/sqlite/query-builder/astToSql.js +190 -0
- package/dist/schema/state/sqlite/query-builder/astToSql.js.map +1 -0
- package/dist/schema/state/sqlite/query-builder/impl.d.ts +7 -0
- package/dist/schema/state/sqlite/query-builder/impl.d.ts.map +1 -0
- package/dist/schema/state/sqlite/query-builder/impl.js +286 -0
- package/dist/schema/state/sqlite/query-builder/impl.js.map +1 -0
- package/dist/schema/state/sqlite/query-builder/impl.test.d.ts +87 -0
- package/dist/schema/state/sqlite/query-builder/impl.test.d.ts.map +1 -0
- package/dist/schema/state/sqlite/query-builder/impl.test.js +563 -0
- package/dist/schema/state/sqlite/query-builder/impl.test.js.map +1 -0
- package/dist/{query-builder → schema/state/sqlite/query-builder}/mod.d.ts +7 -0
- package/dist/schema/state/sqlite/query-builder/mod.d.ts.map +1 -0
- package/dist/{query-builder → schema/state/sqlite/query-builder}/mod.js +7 -0
- package/dist/schema/state/sqlite/query-builder/mod.js.map +1 -0
- package/dist/schema/state/sqlite/schema-helpers.d.ts.map +1 -0
- package/dist/schema/{schema-helpers.js → state/sqlite/schema-helpers.js} +1 -1
- package/dist/schema/state/sqlite/schema-helpers.js.map +1 -0
- package/dist/schema/state/sqlite/system-tables.d.ts +574 -0
- package/dist/schema/state/sqlite/system-tables.d.ts.map +1 -0
- package/dist/schema/state/sqlite/system-tables.js +88 -0
- package/dist/schema/state/sqlite/system-tables.js.map +1 -0
- package/dist/schema/state/sqlite/table-def.d.ts +84 -0
- package/dist/schema/state/sqlite/table-def.d.ts.map +1 -0
- package/dist/schema/state/sqlite/table-def.js +36 -0
- package/dist/schema/state/sqlite/table-def.js.map +1 -0
- package/dist/schema-management/common.d.ts +7 -7
- package/dist/schema-management/common.d.ts.map +1 -1
- package/dist/schema-management/common.js.map +1 -1
- package/dist/schema-management/migrations.d.ts +6 -6
- package/dist/schema-management/migrations.d.ts.map +1 -1
- package/dist/schema-management/migrations.js +27 -18
- package/dist/schema-management/migrations.js.map +1 -1
- package/dist/schema-management/validate-schema.d.ts +8 -0
- package/dist/schema-management/validate-schema.d.ts.map +1 -0
- package/dist/schema-management/validate-schema.js +39 -0
- package/dist/schema-management/validate-schema.js.map +1 -0
- package/dist/sql-queries/misc.d.ts.map +1 -1
- package/dist/sql-queries/sql-queries.d.ts +1 -1
- package/dist/sql-queries/sql-queries.d.ts.map +1 -1
- package/dist/sql-queries/sql-queries.js.map +1 -1
- package/dist/sql-queries/sql-query-builder.d.ts +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/sql-queries/types.d.ts +2 -1
- package/dist/sql-queries/types.d.ts.map +1 -1
- package/dist/sql-queries/types.js.map +1 -1
- package/dist/sync/ClientSessionSyncProcessor.d.ts +40 -19
- package/dist/sync/ClientSessionSyncProcessor.d.ts.map +1 -1
- package/dist/sync/ClientSessionSyncProcessor.js +149 -73
- package/dist/sync/ClientSessionSyncProcessor.js.map +1 -1
- package/dist/sync/next/compact-events.d.ts.map +1 -1
- package/dist/sync/next/compact-events.js +38 -35
- package/dist/sync/next/compact-events.js.map +1 -1
- package/dist/sync/next/facts.d.ts +21 -21
- package/dist/sync/next/facts.d.ts.map +1 -1
- package/dist/sync/next/facts.js +11 -11
- package/dist/sync/next/facts.js.map +1 -1
- package/dist/sync/next/history-dag-common.d.ts +9 -7
- package/dist/sync/next/history-dag-common.d.ts.map +1 -1
- package/dist/sync/next/history-dag-common.js +10 -5
- package/dist/sync/next/history-dag-common.js.map +1 -1
- package/dist/sync/next/history-dag.d.ts +0 -2
- package/dist/sync/next/history-dag.d.ts.map +1 -1
- package/dist/sync/next/history-dag.js +16 -14
- package/dist/sync/next/history-dag.js.map +1 -1
- package/dist/sync/next/rebase-events.d.ts +10 -8
- package/dist/sync/next/rebase-events.d.ts.map +1 -1
- package/dist/sync/next/rebase-events.js +18 -10
- package/dist/sync/next/rebase-events.js.map +1 -1
- package/dist/sync/next/test/compact-events.calculator.test.js +39 -34
- package/dist/sync/next/test/compact-events.calculator.test.js.map +1 -1
- package/dist/sync/next/test/compact-events.test.js +77 -77
- package/dist/sync/next/test/compact-events.test.js.map +1 -1
- package/dist/sync/next/test/{mutation-fixtures.d.ts → event-fixtures.d.ts} +35 -25
- package/dist/sync/next/test/event-fixtures.d.ts.map +1 -0
- package/dist/sync/next/test/{mutation-fixtures.js → event-fixtures.js} +81 -38
- package/dist/sync/next/test/event-fixtures.js.map +1 -0
- package/dist/sync/next/test/mod.d.ts +1 -1
- package/dist/sync/next/test/mod.d.ts.map +1 -1
- package/dist/sync/next/test/mod.js +1 -1
- package/dist/sync/next/test/mod.js.map +1 -1
- package/dist/sync/sync.d.ts +46 -21
- package/dist/sync/sync.d.ts.map +1 -1
- package/dist/sync/sync.js +10 -6
- package/dist/sync/sync.js.map +1 -1
- package/dist/sync/syncstate.d.ts +193 -84
- package/dist/sync/syncstate.d.ts.map +1 -1
- package/dist/sync/syncstate.js +305 -151
- package/dist/sync/syncstate.js.map +1 -1
- package/dist/sync/syncstate.test.js +267 -303
- package/dist/sync/syncstate.test.js.map +1 -1
- 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 -4
- package/dist/sync/validate-push-payload.js.map +1 -1
- package/dist/util.d.ts +2 -2
- package/dist/util.d.ts.map +1 -1
- package/dist/version.d.ts +2 -2
- package/dist/version.d.ts.map +1 -1
- package/dist/version.js +2 -2
- package/dist/version.js.map +1 -1
- package/package.json +10 -4
- package/src/__tests__/fixture.ts +36 -15
- package/src/adapter-types.ts +107 -68
- package/src/debug-info.ts +1 -0
- package/src/devtools/devtools-messages-client-session.ts +142 -0
- package/src/devtools/devtools-messages-common.ts +115 -0
- package/src/devtools/devtools-messages-leader.ts +191 -0
- package/src/devtools/devtools-messages.ts +3 -246
- package/src/devtools/devtools-sessioninfo.ts +101 -0
- package/src/devtools/mod.ts +59 -0
- package/src/index.ts +7 -9
- package/src/leader-thread/LeaderSyncProcessor.ts +664 -394
- package/src/leader-thread/connection.ts +54 -9
- package/src/leader-thread/eventlog.ts +199 -0
- package/src/leader-thread/leader-worker-devtools.ts +227 -104
- package/src/leader-thread/make-leader-thread-layer.ts +121 -72
- package/src/leader-thread/materialize-event.ts +173 -0
- package/src/leader-thread/mod.ts +1 -1
- package/src/leader-thread/recreate-db.ts +33 -38
- package/src/leader-thread/shutdown-channel.ts +2 -4
- package/src/leader-thread/types.ts +84 -46
- package/src/make-client-session.ts +136 -0
- package/src/materializer-helper.ts +138 -0
- package/src/otel.ts +8 -0
- package/src/rematerialize-from-eventlog.ts +117 -0
- package/src/schema/EventDef.ts +227 -0
- package/src/schema/EventSequenceNumber.test.ts +12 -0
- package/src/schema/EventSequenceNumber.ts +121 -0
- package/src/schema/LiveStoreEvent.ts +240 -0
- package/src/schema/events.ts +1 -0
- package/src/schema/mod.ts +8 -6
- package/src/schema/schema.ts +88 -84
- package/src/schema/state/mod.ts +2 -0
- package/src/schema/state/sqlite/client-document-def.test.ts +238 -0
- package/src/schema/state/sqlite/client-document-def.ts +444 -0
- package/src/schema/state/sqlite/db-schema/ast/sqlite.ts +142 -0
- package/src/schema/state/sqlite/db-schema/ast/validate.ts +13 -0
- package/src/schema/state/sqlite/db-schema/dsl/__snapshots__/field-defs.test.ts.snap +206 -0
- package/src/schema/state/sqlite/db-schema/dsl/field-defs.test.ts +35 -0
- package/src/schema/state/sqlite/db-schema/dsl/field-defs.ts +242 -0
- package/src/schema/state/sqlite/db-schema/dsl/mod.ts +222 -0
- package/src/schema/state/sqlite/db-schema/hash.ts +14 -0
- package/src/schema/state/sqlite/db-schema/mod.ts +2 -0
- package/src/schema/state/sqlite/mod.ts +73 -0
- package/src/schema/state/sqlite/query-builder/api.ts +440 -0
- package/src/schema/state/sqlite/query-builder/astToSql.ts +232 -0
- package/src/schema/state/sqlite/query-builder/impl.test.ts +617 -0
- package/src/schema/state/sqlite/query-builder/impl.ts +351 -0
- package/src/{query-builder → schema/state/sqlite/query-builder}/mod.ts +7 -0
- package/src/schema/{schema-helpers.ts → state/sqlite/schema-helpers.ts} +1 -1
- package/src/schema/state/sqlite/system-tables.ts +117 -0
- package/src/schema/state/sqlite/table-def.ts +197 -0
- package/src/schema-management/common.ts +7 -7
- package/src/schema-management/migrations.ts +37 -31
- package/src/schema-management/validate-schema.ts +61 -0
- package/src/sql-queries/sql-queries.ts +1 -1
- package/src/sql-queries/sql-query-builder.ts +1 -2
- package/src/sql-queries/types.ts +3 -1
- package/src/sync/ClientSessionSyncProcessor.ts +218 -94
- package/src/sync/next/compact-events.ts +38 -35
- package/src/sync/next/facts.ts +43 -41
- package/src/sync/next/history-dag-common.ts +17 -10
- package/src/sync/next/history-dag.ts +16 -17
- package/src/sync/next/rebase-events.ts +29 -17
- package/src/sync/next/test/compact-events.calculator.test.ts +46 -46
- package/src/sync/next/test/compact-events.test.ts +79 -79
- package/src/sync/next/test/event-fixtures.ts +226 -0
- package/src/sync/next/test/mod.ts +1 -1
- package/src/sync/sync.ts +46 -21
- package/src/sync/syncstate.test.ts +312 -345
- package/src/sync/syncstate.ts +414 -224
- package/src/sync/validate-push-payload.ts +6 -6
- package/src/version.ts +2 -2
- package/dist/derived-mutations.d.ts +0 -109
- package/dist/derived-mutations.d.ts.map +0 -1
- package/dist/derived-mutations.js +0 -54
- package/dist/derived-mutations.js.map +0 -1
- package/dist/derived-mutations.test.d.ts +0 -2
- package/dist/derived-mutations.test.d.ts.map +0 -1
- package/dist/derived-mutations.test.js +0 -93
- package/dist/derived-mutations.test.js.map +0 -1
- package/dist/devtools/devtools-bridge.d.ts +0 -13
- package/dist/devtools/devtools-bridge.d.ts.map +0 -1
- package/dist/devtools/devtools-bridge.js +0 -2
- package/dist/devtools/devtools-bridge.js.map +0 -1
- package/dist/devtools/devtools-window-message.d.ts +0 -29
- package/dist/devtools/devtools-window-message.d.ts.map +0 -1
- package/dist/devtools/devtools-window-message.js +0 -33
- package/dist/devtools/devtools-window-message.js.map +0 -1
- package/dist/devtools/index.d.ts +0 -42
- package/dist/devtools/index.d.ts.map +0 -1
- package/dist/devtools/index.js +0 -48
- package/dist/devtools/index.js.map +0 -1
- package/dist/init-singleton-tables.d.ts +0 -4
- package/dist/init-singleton-tables.d.ts.map +0 -1
- package/dist/init-singleton-tables.js +0 -16
- package/dist/init-singleton-tables.js.map +0 -1
- package/dist/leader-thread/apply-mutation.d.ts +0 -11
- package/dist/leader-thread/apply-mutation.d.ts.map +0 -1
- package/dist/leader-thread/apply-mutation.js +0 -107
- package/dist/leader-thread/apply-mutation.js.map +0 -1
- package/dist/leader-thread/leader-sync-processor.d.ts +0 -47
- package/dist/leader-thread/leader-sync-processor.d.ts.map +0 -1
- package/dist/leader-thread/leader-sync-processor.js +0 -430
- package/dist/leader-thread/leader-sync-processor.js.map +0 -1
- package/dist/leader-thread/mutationlog.d.ts +0 -10
- package/dist/leader-thread/mutationlog.d.ts.map +0 -1
- package/dist/leader-thread/mutationlog.js +0 -28
- package/dist/leader-thread/mutationlog.js.map +0 -1
- package/dist/leader-thread/pull-queue-set.d.ts +0 -7
- package/dist/leader-thread/pull-queue-set.d.ts.map +0 -1
- package/dist/leader-thread/pull-queue-set.js +0 -39
- package/dist/leader-thread/pull-queue-set.js.map +0 -1
- package/dist/mutation.d.ts +0 -20
- package/dist/mutation.d.ts.map +0 -1
- package/dist/mutation.js +0 -57
- package/dist/mutation.js.map +0 -1
- package/dist/query-builder/api.d.ts +0 -190
- package/dist/query-builder/api.d.ts.map +0 -1
- package/dist/query-builder/api.js +0 -8
- package/dist/query-builder/api.js.map +0 -1
- package/dist/query-builder/impl.d.ts +0 -12
- package/dist/query-builder/impl.d.ts.map +0 -1
- package/dist/query-builder/impl.js +0 -244
- package/dist/query-builder/impl.js.map +0 -1
- package/dist/query-builder/impl.test.d.ts +0 -2
- package/dist/query-builder/impl.test.d.ts.map +0 -1
- package/dist/query-builder/impl.test.js +0 -212
- package/dist/query-builder/impl.test.js.map +0 -1
- package/dist/query-builder/mod.d.ts.map +0 -1
- package/dist/query-builder/mod.js.map +0 -1
- package/dist/query-info.d.ts +0 -38
- package/dist/query-info.d.ts.map +0 -1
- package/dist/query-info.js +0 -7
- package/dist/query-info.js.map +0 -1
- package/dist/rehydrate-from-mutationlog.d.ts +0 -14
- package/dist/rehydrate-from-mutationlog.d.ts.map +0 -1
- package/dist/rehydrate-from-mutationlog.js +0 -66
- package/dist/rehydrate-from-mutationlog.js.map +0 -1
- package/dist/schema/EventId.d.ts +0 -39
- package/dist/schema/EventId.d.ts.map +0 -1
- package/dist/schema/EventId.js +0 -38
- package/dist/schema/EventId.js.map +0 -1
- package/dist/schema/EventId.test.d.ts +0 -2
- package/dist/schema/EventId.test.d.ts.map +0 -1
- package/dist/schema/EventId.test.js +0 -11
- package/dist/schema/EventId.test.js.map +0 -1
- package/dist/schema/MutationEvent.d.ts +0 -167
- package/dist/schema/MutationEvent.d.ts.map +0 -1
- package/dist/schema/MutationEvent.js +0 -72
- package/dist/schema/MutationEvent.js.map +0 -1
- package/dist/schema/MutationEvent.test.d.ts +0 -2
- package/dist/schema/MutationEvent.test.d.ts.map +0 -1
- package/dist/schema/MutationEvent.test.js +0 -2
- package/dist/schema/MutationEvent.test.js.map +0 -1
- package/dist/schema/mutations.d.ts +0 -107
- package/dist/schema/mutations.d.ts.map +0 -1
- package/dist/schema/mutations.js +0 -42
- package/dist/schema/mutations.js.map +0 -1
- package/dist/schema/schema-helpers.d.ts.map +0 -1
- package/dist/schema/schema-helpers.js.map +0 -1
- package/dist/schema/system-tables.d.ts +0 -399
- package/dist/schema/system-tables.d.ts.map +0 -1
- package/dist/schema/system-tables.js +0 -59
- package/dist/schema/system-tables.js.map +0 -1
- package/dist/schema/table-def.d.ts +0 -156
- package/dist/schema/table-def.d.ts.map +0 -1
- package/dist/schema/table-def.js +0 -79
- package/dist/schema/table-def.js.map +0 -1
- package/dist/schema-management/validate-mutation-defs.d.ts +0 -8
- package/dist/schema-management/validate-mutation-defs.d.ts.map +0 -1
- package/dist/schema-management/validate-mutation-defs.js +0 -39
- package/dist/schema-management/validate-mutation-defs.js.map +0 -1
- package/dist/sync/client-session-sync-processor.d.ts +0 -45
- package/dist/sync/client-session-sync-processor.d.ts.map +0 -1
- package/dist/sync/client-session-sync-processor.js +0 -131
- package/dist/sync/client-session-sync-processor.js.map +0 -1
- package/dist/sync/next/test/mutation-fixtures.d.ts.map +0 -1
- package/dist/sync/next/test/mutation-fixtures.js.map +0 -1
- package/src/derived-mutations.test.ts +0 -101
- package/src/derived-mutations.ts +0 -170
- package/src/devtools/devtools-bridge.ts +0 -14
- package/src/devtools/devtools-window-message.ts +0 -27
- package/src/devtools/index.ts +0 -48
- package/src/init-singleton-tables.ts +0 -24
- package/src/leader-thread/apply-mutation.ts +0 -161
- package/src/leader-thread/mutationlog.ts +0 -46
- package/src/leader-thread/pull-queue-set.ts +0 -58
- package/src/mutation.ts +0 -91
- package/src/query-builder/api.ts +0 -289
- package/src/query-builder/impl.test.ts +0 -239
- package/src/query-builder/impl.ts +0 -285
- package/src/query-info.ts +0 -78
- package/src/rehydrate-from-mutationlog.ts +0 -119
- package/src/schema/EventId.test.ts +0 -12
- package/src/schema/EventId.ts +0 -60
- package/src/schema/MutationEvent.ts +0 -185
- package/src/schema/mutations.ts +0 -192
- package/src/schema/system-tables.ts +0 -105
- package/src/schema/table-def.ts +0 -343
- package/src/schema-management/validate-mutation-defs.ts +0 -63
- package/src/sync/next/test/mutation-fixtures.ts +0 -224
- package/tsconfig.json +0 -11
- /package/dist/schema/{schema-helpers.d.ts → state/sqlite/schema-helpers.d.ts} +0 -0
@@ -0,0 +1,142 @@
|
|
1
|
+
import { Schema } from '@livestore/utils/effect'
|
2
|
+
|
3
|
+
import { DebugInfo } from '../debug-info.js'
|
4
|
+
import { EventSequenceNumber } from '../schema/mod.js'
|
5
|
+
import { PreparedBindValues } from '../util.js'
|
6
|
+
import { LSDClientSessionChannelMessage, LSDClientSessionReqResMessage } from './devtools-messages-common.js'
|
7
|
+
|
8
|
+
export class DebugInfoReq extends LSDClientSessionReqResMessage('LSD.ClientSession.DebugInfoReq', {}) {}
|
9
|
+
|
10
|
+
export class DebugInfoRes extends LSDClientSessionReqResMessage('LSD.ClientSession.DebugInfoRes', {
|
11
|
+
debugInfo: DebugInfo,
|
12
|
+
}) {}
|
13
|
+
|
14
|
+
export class DebugInfoHistorySubscribe extends LSDClientSessionReqResMessage(
|
15
|
+
'LSD.ClientSession.DebugInfoHistorySubscribe',
|
16
|
+
{
|
17
|
+
subscriptionId: Schema.String,
|
18
|
+
},
|
19
|
+
) {}
|
20
|
+
|
21
|
+
export class DebugInfoHistoryRes extends LSDClientSessionReqResMessage('LSD.ClientSession.DebugInfoHistoryRes', {
|
22
|
+
debugInfoHistory: Schema.Array(DebugInfo),
|
23
|
+
subscriptionId: Schema.String,
|
24
|
+
}) {}
|
25
|
+
|
26
|
+
export class DebugInfoHistoryUnsubscribe extends LSDClientSessionReqResMessage(
|
27
|
+
'LSD.ClientSession.DebugInfoHistoryUnsubscribe',
|
28
|
+
{
|
29
|
+
subscriptionId: Schema.String,
|
30
|
+
},
|
31
|
+
) {}
|
32
|
+
|
33
|
+
export class DebugInfoResetReq extends LSDClientSessionReqResMessage('LSD.ClientSession.DebugInfoResetReq', {}) {}
|
34
|
+
|
35
|
+
export class DebugInfoResetRes extends LSDClientSessionReqResMessage('LSD.ClientSession.DebugInfoResetRes', {}) {}
|
36
|
+
|
37
|
+
export class DebugInfoRerunQueryReq extends LSDClientSessionReqResMessage('LSD.ClientSession.DebugInfoRerunQueryReq', {
|
38
|
+
queryStr: Schema.String,
|
39
|
+
bindValues: Schema.UndefinedOr(PreparedBindValues),
|
40
|
+
queriedTables: Schema.ReadonlySet(Schema.String),
|
41
|
+
}) {}
|
42
|
+
|
43
|
+
export class DebugInfoRerunQueryRes extends LSDClientSessionReqResMessage(
|
44
|
+
'LSD.ClientSession.DebugInfoRerunQueryRes',
|
45
|
+
{},
|
46
|
+
) {}
|
47
|
+
|
48
|
+
export class SyncHeadSubscribe extends LSDClientSessionReqResMessage('LSD.ClientSession.SyncHeadSubscribe', {
|
49
|
+
subscriptionId: Schema.String,
|
50
|
+
}) {}
|
51
|
+
export class SyncHeadUnsubscribe extends LSDClientSessionReqResMessage('LSD.ClientSession.SyncHeadUnsubscribe', {
|
52
|
+
subscriptionId: Schema.String,
|
53
|
+
}) {}
|
54
|
+
export class SyncHeadRes extends LSDClientSessionReqResMessage('LSD.ClientSession.SyncHeadRes', {
|
55
|
+
local: EventSequenceNumber.EventSequenceNumber,
|
56
|
+
upstream: EventSequenceNumber.EventSequenceNumber,
|
57
|
+
subscriptionId: Schema.String,
|
58
|
+
}) {}
|
59
|
+
|
60
|
+
export class ReactivityGraphSubscribe extends LSDClientSessionReqResMessage(
|
61
|
+
'LSD.ClientSession.ReactivityGraphSubscribe',
|
62
|
+
{
|
63
|
+
includeResults: Schema.Boolean,
|
64
|
+
subscriptionId: Schema.String,
|
65
|
+
},
|
66
|
+
) {}
|
67
|
+
|
68
|
+
export class ReactivityGraphUnsubscribe extends LSDClientSessionReqResMessage(
|
69
|
+
'LSD.ClientSession.ReactivityGraphUnsubscribe',
|
70
|
+
{
|
71
|
+
subscriptionId: Schema.String,
|
72
|
+
},
|
73
|
+
) {}
|
74
|
+
|
75
|
+
export class ReactivityGraphRes extends LSDClientSessionReqResMessage('LSD.ClientSession.ReactivityGraphRes', {
|
76
|
+
reactivityGraph: Schema.Any,
|
77
|
+
subscriptionId: Schema.String,
|
78
|
+
}) {}
|
79
|
+
|
80
|
+
export class LiveQueriesSubscribe extends LSDClientSessionReqResMessage('LSD.ClientSession.LiveQueriesSubscribe', {
|
81
|
+
subscriptionId: Schema.String,
|
82
|
+
}) {}
|
83
|
+
|
84
|
+
export class LiveQueriesUnsubscribe extends LSDClientSessionReqResMessage('LSD.ClientSession.LiveQueriesUnsubscribe', {
|
85
|
+
subscriptionId: Schema.String,
|
86
|
+
}) {}
|
87
|
+
|
88
|
+
export class SerializedLiveQuery extends Schema.Struct({
|
89
|
+
_tag: Schema.Literal('computed', 'db', 'graphql', 'signal'),
|
90
|
+
id: Schema.Number,
|
91
|
+
label: Schema.String,
|
92
|
+
hash: Schema.String,
|
93
|
+
runs: Schema.Number,
|
94
|
+
executionTimes: Schema.Array(Schema.Number),
|
95
|
+
lastestResult: Schema.Any,
|
96
|
+
activeSubscriptions: Schema.Array(
|
97
|
+
Schema.Struct({ frames: Schema.Array(Schema.Struct({ name: Schema.String, filePath: Schema.String })) }),
|
98
|
+
),
|
99
|
+
}) {}
|
100
|
+
|
101
|
+
export class LiveQueriesRes extends LSDClientSessionReqResMessage('LSD.ClientSession.LiveQueriesRes', {
|
102
|
+
liveQueries: Schema.Array(SerializedLiveQuery),
|
103
|
+
subscriptionId: Schema.String,
|
104
|
+
}) {}
|
105
|
+
|
106
|
+
export class Ping extends LSDClientSessionReqResMessage('LSD.ClientSession.Ping', {}) {}
|
107
|
+
|
108
|
+
export class Pong extends LSDClientSessionReqResMessage('LSD.ClientSession.Pong', {}) {}
|
109
|
+
|
110
|
+
export class Disconnect extends LSDClientSessionChannelMessage('LSD.ClientSession.Disconnect', {}) {}
|
111
|
+
|
112
|
+
export const MessageToApp = Schema.Union(
|
113
|
+
DebugInfoReq,
|
114
|
+
DebugInfoHistorySubscribe,
|
115
|
+
DebugInfoHistoryUnsubscribe,
|
116
|
+
DebugInfoResetReq,
|
117
|
+
DebugInfoRerunQueryReq,
|
118
|
+
ReactivityGraphSubscribe,
|
119
|
+
ReactivityGraphUnsubscribe,
|
120
|
+
LiveQueriesSubscribe,
|
121
|
+
LiveQueriesUnsubscribe,
|
122
|
+
Disconnect,
|
123
|
+
Ping,
|
124
|
+
SyncHeadSubscribe,
|
125
|
+
SyncHeadUnsubscribe,
|
126
|
+
).annotations({ identifier: 'LSD.ClientSession.MessageToApp' })
|
127
|
+
|
128
|
+
export type MessageToApp = typeof MessageToApp.Type
|
129
|
+
|
130
|
+
export const MessageFromApp = Schema.Union(
|
131
|
+
DebugInfoRes,
|
132
|
+
DebugInfoHistoryRes,
|
133
|
+
DebugInfoResetRes,
|
134
|
+
DebugInfoRerunQueryRes,
|
135
|
+
ReactivityGraphRes,
|
136
|
+
LiveQueriesRes,
|
137
|
+
Disconnect,
|
138
|
+
Pong,
|
139
|
+
SyncHeadRes,
|
140
|
+
).annotations({ identifier: 'LSD.ClientSession.MessageFromApp' })
|
141
|
+
|
142
|
+
export type MessageFromApp = typeof MessageFromApp.Type
|
@@ -0,0 +1,115 @@
|
|
1
|
+
import { Schema } from '@livestore/utils/effect'
|
2
|
+
|
3
|
+
import { liveStoreVersion as pkgVersion } from '../version.js'
|
4
|
+
|
5
|
+
export const NetworkStatus = Schema.Struct({
|
6
|
+
isConnected: Schema.Boolean,
|
7
|
+
timestampMs: Schema.Number,
|
8
|
+
/** Whether the network status devtools latch is closed. Used to simulate network disconnection. */
|
9
|
+
latchClosed: Schema.Boolean,
|
10
|
+
})
|
11
|
+
|
12
|
+
export type NetworkStatus = typeof NetworkStatus.Type
|
13
|
+
|
14
|
+
export const requestId = Schema.String
|
15
|
+
export const clientId = Schema.String
|
16
|
+
export const sessionId = Schema.String
|
17
|
+
export const liveStoreVersion = Schema.Literal(pkgVersion)
|
18
|
+
|
19
|
+
export const LSDMessage = <Tag extends string, Fields extends Schema.Struct.Fields>(tag: Tag, fields: Fields) =>
|
20
|
+
Schema.TaggedStruct(tag, {
|
21
|
+
liveStoreVersion,
|
22
|
+
...fields,
|
23
|
+
}).annotations({ identifier: tag })
|
24
|
+
|
25
|
+
export const LSDChannelMessage = <Tag extends string, Fields extends Schema.Struct.Fields>(tag: Tag, fields: Fields) =>
|
26
|
+
LSDMessage(tag, {
|
27
|
+
clientId,
|
28
|
+
...fields,
|
29
|
+
})
|
30
|
+
|
31
|
+
export const LSDClientSessionChannelMessage = <Tag extends string, Fields extends Schema.Struct.Fields>(
|
32
|
+
tag: Tag,
|
33
|
+
fields: Fields,
|
34
|
+
) =>
|
35
|
+
LSDMessage(tag, {
|
36
|
+
clientId,
|
37
|
+
sessionId,
|
38
|
+
...fields,
|
39
|
+
})
|
40
|
+
|
41
|
+
export const LSDClientSessionReqResMessage = <Tag extends string, Fields extends Schema.Struct.Fields>(
|
42
|
+
tag: Tag,
|
43
|
+
fields: Fields,
|
44
|
+
) =>
|
45
|
+
LSDMessage(tag, {
|
46
|
+
clientId,
|
47
|
+
sessionId,
|
48
|
+
requestId,
|
49
|
+
...fields,
|
50
|
+
})
|
51
|
+
|
52
|
+
export const LSDReqResMessage = <Tag extends string, Fields extends Schema.Struct.Fields>(tag: Tag, fields: Fields) =>
|
53
|
+
LSDChannelMessage(tag, {
|
54
|
+
requestId,
|
55
|
+
...fields,
|
56
|
+
})
|
57
|
+
|
58
|
+
type DefaultFields = {
|
59
|
+
readonly requestId: typeof Schema.String
|
60
|
+
readonly liveStoreVersion: typeof liveStoreVersion
|
61
|
+
readonly clientId: typeof Schema.String
|
62
|
+
}
|
63
|
+
|
64
|
+
export type LeaderReqResSchema<
|
65
|
+
Tag extends string,
|
66
|
+
PayloadFields extends Schema.Struct.Fields,
|
67
|
+
SuccessFields extends Schema.Struct.Fields,
|
68
|
+
ErrorFields extends Schema.Struct.Fields = never,
|
69
|
+
> = {
|
70
|
+
Request: Schema.TaggedStruct<`${Tag}.Request`, PayloadFields & DefaultFields>
|
71
|
+
Response:
|
72
|
+
| Schema.TaggedStruct<`${Tag}.Response.Success`, SuccessFields & DefaultFields>
|
73
|
+
| (ErrorFields extends never ? never : Schema.TaggedStruct<`${Tag}.Response.Error`, ErrorFields & DefaultFields>)
|
74
|
+
Success: Schema.TaggedStruct<`${Tag}.Response.Success`, SuccessFields & DefaultFields>
|
75
|
+
Error: ErrorFields extends never ? never : Schema.TaggedStruct<`${Tag}.Response.Error`, ErrorFields & DefaultFields>
|
76
|
+
}
|
77
|
+
|
78
|
+
export const LeaderReqResMessage = <
|
79
|
+
Tag extends string,
|
80
|
+
PayloadFields extends Schema.Struct.Fields,
|
81
|
+
SuccessFields extends Schema.Struct.Fields,
|
82
|
+
ErrorFields extends Schema.Struct.Fields = never,
|
83
|
+
>(
|
84
|
+
tag: Tag,
|
85
|
+
fields: {
|
86
|
+
payload: PayloadFields
|
87
|
+
success: SuccessFields
|
88
|
+
error?: ErrorFields
|
89
|
+
},
|
90
|
+
): LeaderReqResSchema<Tag, PayloadFields, SuccessFields, ErrorFields> => {
|
91
|
+
const Success = Schema.TaggedStruct(`${tag}.Response.Success`, {
|
92
|
+
requestId,
|
93
|
+
liveStoreVersion,
|
94
|
+
...fields.success,
|
95
|
+
}).annotations({ identifier: `${tag}.Response.Success` })
|
96
|
+
|
97
|
+
const Error = fields.error
|
98
|
+
? Schema.TaggedStruct(`${tag}.Response.Error`, {
|
99
|
+
requestId,
|
100
|
+
liveStoreVersion,
|
101
|
+
...fields.error,
|
102
|
+
}).annotations({ identifier: `${tag}.Response.Error` })
|
103
|
+
: Schema.Never
|
104
|
+
|
105
|
+
return {
|
106
|
+
Request: Schema.TaggedStruct(`${tag}.Request`, {
|
107
|
+
requestId,
|
108
|
+
liveStoreVersion,
|
109
|
+
...fields.payload,
|
110
|
+
}).annotations({ identifier: `${tag}.Request` }),
|
111
|
+
Response: Schema.Union(Success, Error),
|
112
|
+
Success,
|
113
|
+
Error,
|
114
|
+
} as any
|
115
|
+
}
|
@@ -0,0 +1,191 @@
|
|
1
|
+
import { Schema, Transferable } from '@livestore/utils/effect'
|
2
|
+
|
3
|
+
import * as LiveStoreEvent from '../schema/LiveStoreEvent.js'
|
4
|
+
import { EventSequenceNumber } from '../schema/mod.js'
|
5
|
+
import * as SyncState from '../sync/syncstate.js'
|
6
|
+
import { LeaderReqResMessage, LSDMessage, LSDReqResMessage, NetworkStatus } from './devtools-messages-common.js'
|
7
|
+
|
8
|
+
export class ResetAllDataReq extends LSDReqResMessage('LSD.Leader.ResetAllDataReq', {
|
9
|
+
mode: Schema.Literal('all-data', 'only-app-db'),
|
10
|
+
}) {}
|
11
|
+
|
12
|
+
export class DatabaseFileInfoReq extends LSDReqResMessage('LSD.Leader.DatabaseFileInfoReq', {}) {}
|
13
|
+
|
14
|
+
export class DatabaseFileInfo extends Schema.Struct({
|
15
|
+
fileSize: Schema.Number,
|
16
|
+
persistenceInfo: Schema.Struct({ fileName: Schema.String }, { key: Schema.String, value: Schema.Any }),
|
17
|
+
}) {}
|
18
|
+
|
19
|
+
export class DatabaseFileInfoRes extends LSDReqResMessage('LSD.Leader.DatabaseFileInfoRes', {
|
20
|
+
state: DatabaseFileInfo,
|
21
|
+
eventlog: DatabaseFileInfo,
|
22
|
+
}) {}
|
23
|
+
|
24
|
+
export class NetworkStatusSubscribe extends LSDReqResMessage('LSD.Leader.NetworkStatusSubscribe', {
|
25
|
+
subscriptionId: Schema.String,
|
26
|
+
}) {}
|
27
|
+
export class NetworkStatusUnsubscribe extends LSDReqResMessage('LSD.Leader.NetworkStatusUnsubscribe', {
|
28
|
+
subscriptionId: Schema.String,
|
29
|
+
}) {}
|
30
|
+
|
31
|
+
export class NetworkStatusRes extends LSDReqResMessage('LSD.Leader.NetworkStatusRes', {
|
32
|
+
networkStatus: NetworkStatus,
|
33
|
+
subscriptionId: Schema.String,
|
34
|
+
}) {}
|
35
|
+
|
36
|
+
export class SyncingInfoReq extends LSDReqResMessage('LSD.Leader.SyncingInfoReq', {}) {}
|
37
|
+
|
38
|
+
export class SyncingInfo extends Schema.Struct({
|
39
|
+
enabled: Schema.Boolean,
|
40
|
+
metadata: Schema.Record({ key: Schema.String, value: Schema.Any }),
|
41
|
+
}) {}
|
42
|
+
|
43
|
+
export class SyncingInfoRes extends LSDReqResMessage('LSD.Leader.SyncingInfoRes', {
|
44
|
+
syncingInfo: SyncingInfo,
|
45
|
+
}) {}
|
46
|
+
|
47
|
+
export class SyncHistorySubscribe extends LSDReqResMessage('LSD.Leader.SyncHistorySubscribe', {
|
48
|
+
subscriptionId: Schema.String,
|
49
|
+
}) {}
|
50
|
+
export class SyncHistoryUnsubscribe extends LSDReqResMessage('LSD.Leader.SyncHistoryUnsubscribe', {
|
51
|
+
subscriptionId: Schema.String,
|
52
|
+
}) {}
|
53
|
+
export class SyncHistoryRes extends LSDReqResMessage('LSD.Leader.SyncHistoryRes', {
|
54
|
+
eventEncoded: LiveStoreEvent.AnyEncodedGlobal,
|
55
|
+
metadata: Schema.Option(Schema.JsonValue),
|
56
|
+
subscriptionId: Schema.String,
|
57
|
+
}) {}
|
58
|
+
|
59
|
+
export class SyncHeadSubscribe extends LSDReqResMessage('LSD.Leader.SyncHeadSubscribe', {
|
60
|
+
subscriptionId: Schema.String,
|
61
|
+
}) {}
|
62
|
+
export class SyncHeadUnsubscribe extends LSDReqResMessage('LSD.Leader.SyncHeadUnsubscribe', {
|
63
|
+
subscriptionId: Schema.String,
|
64
|
+
}) {}
|
65
|
+
export class SyncHeadRes extends LSDReqResMessage('LSD.Leader.SyncHeadRes', {
|
66
|
+
local: EventSequenceNumber.EventSequenceNumber,
|
67
|
+
upstream: EventSequenceNumber.EventSequenceNumber,
|
68
|
+
subscriptionId: Schema.String,
|
69
|
+
}) {}
|
70
|
+
|
71
|
+
export class SnapshotReq extends LSDReqResMessage('LSD.Leader.SnapshotReq', {}) {}
|
72
|
+
|
73
|
+
export class SnapshotRes extends LSDReqResMessage('LSD.Leader.SnapshotRes', {
|
74
|
+
snapshot: Transferable.Uint8Array,
|
75
|
+
}) {}
|
76
|
+
|
77
|
+
export const LoadDatabaseFile = LeaderReqResMessage('LSD.Leader.LoadDatabaseFile', {
|
78
|
+
payload: {
|
79
|
+
data: Transferable.Uint8Array,
|
80
|
+
},
|
81
|
+
success: {},
|
82
|
+
error: {
|
83
|
+
cause: Schema.Union(
|
84
|
+
Schema.TaggedStruct('unsupported-file', {}),
|
85
|
+
Schema.TaggedStruct('unsupported-database', {}),
|
86
|
+
Schema.TaggedStruct('unexpected-error', { cause: Schema.Defect }),
|
87
|
+
),
|
88
|
+
},
|
89
|
+
})
|
90
|
+
|
91
|
+
// TODO refactor this to use push/pull semantics
|
92
|
+
export class SyncPull extends LSDMessage('LSD.Leader.SyncPull', {
|
93
|
+
payload: SyncState.PayloadUpstream,
|
94
|
+
}) {}
|
95
|
+
|
96
|
+
// TODO refactor this to use push/pull semantics
|
97
|
+
export class CommitEventReq extends LSDReqResMessage('LSD.Leader.CommitEventReq', {
|
98
|
+
eventEncoded: LiveStoreEvent.PartialAnyEncoded,
|
99
|
+
}) {}
|
100
|
+
|
101
|
+
export class CommitEventRes extends LSDReqResMessage('LSD.Leader.CommitEventRes', {}) {}
|
102
|
+
|
103
|
+
export class EventlogReq extends LSDReqResMessage('LSD.Leader.EventlogReq', {}) {}
|
104
|
+
|
105
|
+
export class EventlogRes extends LSDReqResMessage('LSD.Leader.EventlogRes', {
|
106
|
+
eventlog: Transferable.Uint8Array,
|
107
|
+
}) {}
|
108
|
+
|
109
|
+
export class Ping extends LSDReqResMessage('LSD.Leader.Ping', {}) {}
|
110
|
+
|
111
|
+
export class Pong extends LSDReqResMessage('LSD.Leader.Pong', {}) {}
|
112
|
+
|
113
|
+
export class Disconnect extends LSDReqResMessage('LSD.Leader.Disconnect', {}) {}
|
114
|
+
|
115
|
+
export const SetSyncLatch = LeaderReqResMessage('LSD.Leader.SetSyncLatch', {
|
116
|
+
payload: {
|
117
|
+
closeLatch: Schema.Boolean,
|
118
|
+
},
|
119
|
+
success: {},
|
120
|
+
})
|
121
|
+
|
122
|
+
export const ResetAllData = LeaderReqResMessage('LSD.Leader.ResetAllData', {
|
123
|
+
payload: {
|
124
|
+
mode: Schema.Literal('all-data', 'only-app-db'),
|
125
|
+
},
|
126
|
+
success: {},
|
127
|
+
})
|
128
|
+
|
129
|
+
// TODO move to `Schema.TaggedRequest` once new RPC is ready https://github.com/Effect-TS/effect/pull/4362
|
130
|
+
// export class DatabaseFileInfo_ extends Schema.TaggedRequest<DatabaseFileInfo_>()('LSD.Leader.DatabaseFileInfo', {
|
131
|
+
// payload: {
|
132
|
+
// requestId,
|
133
|
+
// liveStoreVersion,
|
134
|
+
// },
|
135
|
+
// success: DatabaseFileInfo,
|
136
|
+
// failure: UnexpectedError,
|
137
|
+
// }) {}
|
138
|
+
|
139
|
+
// export class NetworkStatus_ extends Schema.TaggedRequest<NetworkStatus_>()('LSD.Leader.NetworkStatus', {
|
140
|
+
// payload: {
|
141
|
+
// requestId,
|
142
|
+
// liveStoreVersion,
|
143
|
+
// },
|
144
|
+
// success: NetworkStatus,
|
145
|
+
// failure: UnexpectedError,
|
146
|
+
// }) {}
|
147
|
+
|
148
|
+
// export const MessageToApp_ = Schema.Union(DatabaseFileInfo_, NetworkStatus_)
|
149
|
+
|
150
|
+
// export type MessageToApp_ = typeof MessageToApp_.Type
|
151
|
+
//
|
152
|
+
|
153
|
+
export const MessageToApp = Schema.Union(
|
154
|
+
SnapshotReq,
|
155
|
+
LoadDatabaseFile.Request,
|
156
|
+
EventlogReq,
|
157
|
+
ResetAllData.Request,
|
158
|
+
NetworkStatusSubscribe,
|
159
|
+
NetworkStatusUnsubscribe,
|
160
|
+
Disconnect,
|
161
|
+
CommitEventReq,
|
162
|
+
Ping,
|
163
|
+
DatabaseFileInfoReq,
|
164
|
+
SyncHistorySubscribe,
|
165
|
+
SyncHistoryUnsubscribe,
|
166
|
+
SyncingInfoReq,
|
167
|
+
SyncHeadSubscribe,
|
168
|
+
SyncHeadUnsubscribe,
|
169
|
+
SetSyncLatch.Request,
|
170
|
+
).annotations({ identifier: 'LSD.Leader.MessageToApp' })
|
171
|
+
|
172
|
+
export type MessageToApp = typeof MessageToApp.Type
|
173
|
+
|
174
|
+
export const MessageFromApp = Schema.Union(
|
175
|
+
SnapshotRes,
|
176
|
+
LoadDatabaseFile.Response,
|
177
|
+
EventlogRes,
|
178
|
+
Disconnect,
|
179
|
+
SyncPull,
|
180
|
+
NetworkStatusRes,
|
181
|
+
CommitEventRes,
|
182
|
+
Pong,
|
183
|
+
DatabaseFileInfoRes,
|
184
|
+
SyncHistoryRes,
|
185
|
+
SyncingInfoRes,
|
186
|
+
SyncHeadRes,
|
187
|
+
ResetAllData.Success,
|
188
|
+
SetSyncLatch.Success,
|
189
|
+
).annotations({ identifier: 'LSD.Leader.MessageFromApp' })
|
190
|
+
|
191
|
+
export type MessageFromApp = typeof MessageFromApp.Type
|
@@ -1,246 +1,3 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
import { DebugInfo } from '../debug-info.js'
|
5
|
-
import * as MutationEvent from '../schema/MutationEvent.js'
|
6
|
-
import { PreparedBindValues } from '../util.js'
|
7
|
-
import { liveStoreVersion as pkgVersion } from '../version.js'
|
8
|
-
|
9
|
-
const requestId = Schema.String
|
10
|
-
const clientId = Schema.String
|
11
|
-
const sessionId = Schema.String
|
12
|
-
const liveStoreVersion = Schema.Literal(pkgVersion)
|
13
|
-
|
14
|
-
const LSDMessage = <Tag extends string, Fields extends Schema.Struct.Fields>(tag: Tag, fields: Fields) =>
|
15
|
-
Schema.TaggedStruct(tag, {
|
16
|
-
liveStoreVersion,
|
17
|
-
...fields,
|
18
|
-
}).annotations({ identifier: tag })
|
19
|
-
|
20
|
-
const LSDChannelMessage = <Tag extends string, Fields extends Schema.Struct.Fields>(tag: Tag, fields: Fields) =>
|
21
|
-
LSDMessage(tag, {
|
22
|
-
...fields,
|
23
|
-
})
|
24
|
-
|
25
|
-
const LSDStoreChannelMessage = <Tag extends string, Fields extends Schema.Struct.Fields>(tag: Tag, fields: Fields) =>
|
26
|
-
LSDMessage(tag, {
|
27
|
-
clientId,
|
28
|
-
sessionId,
|
29
|
-
...fields,
|
30
|
-
})
|
31
|
-
|
32
|
-
const LSDStoreReqResMessage = <Tag extends string, Fields extends Schema.Struct.Fields>(tag: Tag, fields: Fields) =>
|
33
|
-
LSDMessage(tag, {
|
34
|
-
clientId,
|
35
|
-
sessionId,
|
36
|
-
requestId,
|
37
|
-
...fields,
|
38
|
-
})
|
39
|
-
|
40
|
-
const LSDReqResMessage = <Tag extends string, Fields extends Schema.Struct.Fields>(tag: Tag, fields: Fields) =>
|
41
|
-
LSDChannelMessage(tag, {
|
42
|
-
requestId,
|
43
|
-
...fields,
|
44
|
-
})
|
45
|
-
|
46
|
-
export class SnapshotReq extends LSDReqResMessage('LSD.Leader.SnapshotReq', {}) {}
|
47
|
-
|
48
|
-
export class SnapshotRes extends LSDReqResMessage('LSD.Leader.SnapshotRes', {
|
49
|
-
snapshot: Transferable.Uint8Array,
|
50
|
-
}) {}
|
51
|
-
|
52
|
-
export class LoadDatabaseFileReq extends LSDReqResMessage('LSD.Leader.LoadDatabaseFileReq', {
|
53
|
-
data: Transferable.Uint8Array,
|
54
|
-
}) {}
|
55
|
-
|
56
|
-
export class LoadDatabaseFileRes extends LSDReqResMessage('LSD.Leader.LoadDatabaseFileRes', {
|
57
|
-
status: Schema.Literal('ok', 'unsupported-file', 'unsupported-database'),
|
58
|
-
}) {}
|
59
|
-
|
60
|
-
export class DebugInfoReq extends LSDStoreReqResMessage('LSD.DebugInfoReq', {}) {}
|
61
|
-
|
62
|
-
export class DebugInfoRes extends LSDStoreReqResMessage('LSD.DebugInfoRes', {
|
63
|
-
debugInfo: DebugInfo,
|
64
|
-
}) {}
|
65
|
-
|
66
|
-
export class DebugInfoHistorySubscribe extends LSDStoreReqResMessage('LSD.DebugInfoHistorySubscribe', {}) {}
|
67
|
-
|
68
|
-
export class DebugInfoHistoryRes extends LSDStoreReqResMessage('LSD.DebugInfoHistoryRes', {
|
69
|
-
debugInfoHistory: Schema.Array(DebugInfo),
|
70
|
-
}) {}
|
71
|
-
|
72
|
-
export class DebugInfoHistoryUnsubscribe extends LSDStoreReqResMessage('LSD.DebugInfoHistoryUnsubscribe', {}) {}
|
73
|
-
|
74
|
-
export class DebugInfoResetReq extends LSDStoreReqResMessage('LSD.DebugInfoResetReq', {}) {}
|
75
|
-
|
76
|
-
export class DebugInfoResetRes extends LSDStoreReqResMessage('LSD.DebugInfoResetRes', {}) {}
|
77
|
-
|
78
|
-
export class DebugInfoRerunQueryReq extends LSDStoreReqResMessage('LSD.DebugInfoRerunQueryReq', {
|
79
|
-
queryStr: Schema.String,
|
80
|
-
bindValues: Schema.UndefinedOr(PreparedBindValues),
|
81
|
-
queriedTables: Schema.ReadonlySet(Schema.String),
|
82
|
-
}) {}
|
83
|
-
|
84
|
-
export class DebugInfoRerunQueryRes extends LSDStoreReqResMessage('LSD.DebugInfoRerunQueryRes', {}) {}
|
85
|
-
|
86
|
-
// TODO refactor this to use push/pull semantics
|
87
|
-
export class MutationBroadcast extends LSDMessage('LSD.Leader.MutationBroadcast', {
|
88
|
-
mutationEventEncoded: MutationEvent.AnyEncoded,
|
89
|
-
}) {}
|
90
|
-
|
91
|
-
// TODO refactor this to use push/pull semantics
|
92
|
-
export class RunMutationReq extends LSDReqResMessage('LSD.Leader.RunMutationReq', {
|
93
|
-
mutationEventEncoded: MutationEvent.AnyEncoded.pipe(Schema.omit('id', 'parentId')),
|
94
|
-
}) {}
|
95
|
-
|
96
|
-
export class RunMutationRes extends LSDReqResMessage('LSD.Leader.RunMutationRes', {}) {}
|
97
|
-
|
98
|
-
export class MutationLogReq extends LSDReqResMessage('LSD.Leader.MutationLogReq', {}) {}
|
99
|
-
|
100
|
-
export class MutationLogRes extends LSDReqResMessage('LSD.Leader.MutationLogRes', {
|
101
|
-
mutationLog: Transferable.Uint8Array,
|
102
|
-
}) {}
|
103
|
-
|
104
|
-
export class ReactivityGraphSubscribe extends LSDStoreReqResMessage('LSD.ReactivityGraphSubscribe', {
|
105
|
-
includeResults: Schema.Boolean,
|
106
|
-
}) {}
|
107
|
-
|
108
|
-
export class ReactivityGraphUnsubscribe extends LSDStoreReqResMessage('LSD.ReactivityGraphUnsubscribe', {}) {}
|
109
|
-
|
110
|
-
export class ReactivityGraphRes extends LSDStoreReqResMessage('LSD.ReactivityGraphRes', {
|
111
|
-
reactivityGraph: Schema.Any,
|
112
|
-
}) {}
|
113
|
-
|
114
|
-
export class LiveQueriesSubscribe extends LSDStoreReqResMessage('LSD.LiveQueriesSubscribe', {}) {}
|
115
|
-
|
116
|
-
export class LiveQueriesUnsubscribe extends LSDStoreReqResMessage('LSD.LiveQueriesUnsubscribe', {}) {}
|
117
|
-
|
118
|
-
export class SerializedLiveQuery extends Schema.Struct({
|
119
|
-
_tag: Schema.Literal('computed', 'db', 'graphql'),
|
120
|
-
id: Schema.Number,
|
121
|
-
label: Schema.String,
|
122
|
-
runs: Schema.Number,
|
123
|
-
executionTimes: Schema.Array(Schema.Number),
|
124
|
-
lastestResult: Schema.Any,
|
125
|
-
activeSubscriptions: Schema.Array(
|
126
|
-
Schema.Struct({ frames: Schema.Array(Schema.Struct({ name: Schema.String, filePath: Schema.String })) }),
|
127
|
-
),
|
128
|
-
}) {}
|
129
|
-
|
130
|
-
export class LiveQueriesRes extends LSDStoreReqResMessage('LSD.LiveQueriesRes', {
|
131
|
-
liveQueries: Schema.Array(SerializedLiveQuery),
|
132
|
-
}) {}
|
133
|
-
|
134
|
-
export class ResetAllDataReq extends LSDReqResMessage('LSD.Leader.ResetAllDataReq', {
|
135
|
-
mode: Schema.Literal('all-data', 'only-app-db'),
|
136
|
-
}) {}
|
137
|
-
|
138
|
-
export class ResetAllDataRes extends LSDReqResMessage('LSD.Leader.ResetAllDataRes', {}) {}
|
139
|
-
|
140
|
-
export class DatabaseFileInfoReq extends LSDReqResMessage('LSD.Leader.DatabaseFileInfoReq', {}) {}
|
141
|
-
|
142
|
-
export class DatabaseFileInfo extends Schema.Struct({
|
143
|
-
fileSize: Schema.Number,
|
144
|
-
persistenceInfo: Schema.Struct({ fileName: Schema.String }, { key: Schema.String, value: Schema.Any }),
|
145
|
-
}) {}
|
146
|
-
|
147
|
-
export class DatabaseFileInfoRes extends LSDReqResMessage('LSD.Leader.DatabaseFileInfoRes', {
|
148
|
-
db: DatabaseFileInfo,
|
149
|
-
mutationLog: DatabaseFileInfo,
|
150
|
-
}) {}
|
151
|
-
|
152
|
-
export class NetworkStatusSubscribe extends LSDReqResMessage('LSD.Leader.NetworkStatusSubscribe', {}) {}
|
153
|
-
export class NetworkStatusUnsubscribe extends LSDReqResMessage('LSD.Leader.NetworkStatusUnsubscribe', {}) {}
|
154
|
-
|
155
|
-
export class NetworkStatusRes extends LSDReqResMessage('LSD.Leader.NetworkStatusRes', {
|
156
|
-
networkStatus: NetworkStatus,
|
157
|
-
}) {}
|
158
|
-
|
159
|
-
export class SyncingInfoReq extends LSDReqResMessage('LSD.Leader.SyncingInfoReq', {}) {}
|
160
|
-
|
161
|
-
export class SyncingInfo extends Schema.Struct({
|
162
|
-
enabled: Schema.Boolean,
|
163
|
-
metadata: Schema.Record({ key: Schema.String, value: Schema.Any }),
|
164
|
-
}) {}
|
165
|
-
|
166
|
-
export class SyncingInfoRes extends LSDReqResMessage('LSD.Leader.SyncingInfoRes', {
|
167
|
-
syncingInfo: SyncingInfo,
|
168
|
-
}) {}
|
169
|
-
|
170
|
-
export class SyncHistorySubscribe extends LSDReqResMessage('LSD.Leader.SyncHistorySubscribe', {}) {}
|
171
|
-
export class SyncHistoryUnsubscribe extends LSDReqResMessage('LSD.Leader.SyncHistoryUnsubscribe', {}) {}
|
172
|
-
export class SyncHistoryRes extends LSDReqResMessage('LSD.Leader.SyncHistoryRes', {
|
173
|
-
mutationEventEncoded: MutationEvent.AnyEncodedGlobal,
|
174
|
-
metadata: Schema.Option(Schema.JsonValue),
|
175
|
-
}) {}
|
176
|
-
|
177
|
-
export class Disconnect extends LSDStoreChannelMessage('LSD.Disconnect', {}) {}
|
178
|
-
|
179
|
-
export class Ping extends LSDReqResMessage('LSD.Ping', {}) {}
|
180
|
-
|
181
|
-
export class Pong extends LSDReqResMessage('LSD.Pong', {}) {}
|
182
|
-
|
183
|
-
export const MessageToAppLeader = Schema.Union(
|
184
|
-
SnapshotReq,
|
185
|
-
LoadDatabaseFileReq,
|
186
|
-
MutationLogReq,
|
187
|
-
ResetAllDataReq,
|
188
|
-
NetworkStatusSubscribe,
|
189
|
-
NetworkStatusUnsubscribe,
|
190
|
-
Disconnect,
|
191
|
-
RunMutationReq,
|
192
|
-
Ping,
|
193
|
-
DatabaseFileInfoReq,
|
194
|
-
SyncHistorySubscribe,
|
195
|
-
SyncHistoryUnsubscribe,
|
196
|
-
SyncingInfoReq,
|
197
|
-
).annotations({ identifier: 'LSD.MessageToAppLeader' })
|
198
|
-
|
199
|
-
export type MessageToAppLeader = typeof MessageToAppLeader.Type
|
200
|
-
|
201
|
-
export const MessageToAppClientSession = Schema.Union(
|
202
|
-
DebugInfoReq,
|
203
|
-
DebugInfoHistorySubscribe,
|
204
|
-
DebugInfoHistoryUnsubscribe,
|
205
|
-
DebugInfoResetReq,
|
206
|
-
DebugInfoRerunQueryReq,
|
207
|
-
ReactivityGraphSubscribe,
|
208
|
-
ReactivityGraphUnsubscribe,
|
209
|
-
LiveQueriesSubscribe,
|
210
|
-
LiveQueriesUnsubscribe,
|
211
|
-
Disconnect,
|
212
|
-
// TODO also introduce a ping/pong protocol for the client session <> devtools connection
|
213
|
-
// Ping,
|
214
|
-
).annotations({ identifier: 'LSD.MessageToAppClientSession' })
|
215
|
-
|
216
|
-
export type MessageToAppClientSession = typeof MessageToAppClientSession.Type
|
217
|
-
|
218
|
-
export const MessageFromAppLeader = Schema.Union(
|
219
|
-
SnapshotRes,
|
220
|
-
LoadDatabaseFileRes,
|
221
|
-
MutationLogRes,
|
222
|
-
ResetAllDataRes,
|
223
|
-
Disconnect,
|
224
|
-
MutationBroadcast,
|
225
|
-
NetworkStatusRes,
|
226
|
-
RunMutationRes,
|
227
|
-
Pong,
|
228
|
-
DatabaseFileInfoRes,
|
229
|
-
SyncHistoryRes,
|
230
|
-
SyncingInfoRes,
|
231
|
-
).annotations({ identifier: 'LSD.MessageFromAppLeader' })
|
232
|
-
|
233
|
-
export type MessageFromAppLeader = typeof MessageFromAppLeader.Type
|
234
|
-
|
235
|
-
export const MessageFromAppClientSession = Schema.Union(
|
236
|
-
DebugInfoRes,
|
237
|
-
DebugInfoHistoryRes,
|
238
|
-
DebugInfoResetRes,
|
239
|
-
DebugInfoRerunQueryRes,
|
240
|
-
ReactivityGraphRes,
|
241
|
-
LiveQueriesRes,
|
242
|
-
Disconnect,
|
243
|
-
// Pong,
|
244
|
-
).annotations({ identifier: 'LSD.MessageFromAppClientSession' })
|
245
|
-
|
246
|
-
export type MessageFromAppClientSession = typeof MessageFromAppClientSession.Type
|
1
|
+
export * as ClientSession from './devtools-messages-client-session.js'
|
2
|
+
export * as Leader from './devtools-messages-leader.js'
|
3
|
+
export * from './devtools-messages-common.js'
|