@livestore/common 0.3.1 → 0.3.2-dev.1
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 +35 -0
- package/dist/ClientSessionLeaderThreadProxy.d.ts.map +1 -0
- package/dist/ClientSessionLeaderThreadProxy.js +6 -0
- package/dist/ClientSessionLeaderThreadProxy.js.map +1 -0
- package/dist/__tests__/fixture.d.ts +4 -4
- package/dist/__tests__/fixture.js +2 -2
- package/dist/adapter-types.d.ts +11 -162
- package/dist/adapter-types.d.ts.map +1 -1
- package/dist/adapter-types.js +5 -49
- package/dist/adapter-types.js.map +1 -1
- package/dist/debug-info.d.ts +2 -2
- package/dist/debug-info.js +2 -2
- package/dist/defs.d.ts +20 -0
- package/dist/defs.d.ts.map +1 -0
- package/dist/defs.js +12 -0
- package/dist/defs.js.map +1 -0
- package/dist/devtools/devtools-messages-client-session.d.ts +29 -27
- package/dist/devtools/devtools-messages-client-session.d.ts.map +1 -1
- package/dist/devtools/devtools-messages-client-session.js +4 -4
- package/dist/devtools/devtools-messages-common.d.ts +6 -6
- package/dist/devtools/devtools-messages-common.d.ts.map +1 -1
- package/dist/devtools/devtools-messages-common.js +1 -1
- package/dist/devtools/devtools-messages-leader.d.ts +37 -35
- package/dist/devtools/devtools-messages-leader.d.ts.map +1 -1
- package/dist/devtools/devtools-messages-leader.js +4 -4
- package/dist/devtools/devtools-messages.d.ts +3 -3
- package/dist/devtools/devtools-messages.d.ts.map +1 -1
- package/dist/devtools/devtools-messages.js +3 -3
- package/dist/devtools/devtools-messages.js.map +1 -1
- package/dist/devtools/mod.d.ts +3 -3
- package/dist/devtools/mod.js +3 -3
- package/dist/errors.d.ts +50 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +36 -0
- package/dist/errors.js.map +1 -0
- package/dist/index.d.ts +16 -16
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +16 -16
- package/dist/index.js.map +1 -1
- package/dist/leader-thread/LeaderSyncProcessor.d.ts +10 -11
- package/dist/leader-thread/LeaderSyncProcessor.d.ts.map +1 -1
- package/dist/leader-thread/LeaderSyncProcessor.js +122 -132
- package/dist/leader-thread/LeaderSyncProcessor.js.map +1 -1
- package/dist/leader-thread/connection.d.ts +4 -4
- package/dist/leader-thread/connection.js +2 -2
- package/dist/leader-thread/eventlog.d.ts +21 -10
- package/dist/leader-thread/eventlog.d.ts.map +1 -1
- package/dist/leader-thread/eventlog.js +39 -24
- package/dist/leader-thread/eventlog.js.map +1 -1
- package/dist/leader-thread/leader-worker-devtools.d.ts +3 -3
- package/dist/leader-thread/leader-worker-devtools.d.ts.map +1 -1
- package/dist/leader-thread/leader-worker-devtools.js +4 -5
- package/dist/leader-thread/leader-worker-devtools.js.map +1 -1
- package/dist/leader-thread/make-leader-thread-layer.d.ts +7 -7
- package/dist/leader-thread/make-leader-thread-layer.d.ts.map +1 -1
- package/dist/leader-thread/make-leader-thread-layer.js +44 -14
- package/dist/leader-thread/make-leader-thread-layer.js.map +1 -1
- package/dist/leader-thread/materialize-event.d.ts +4 -4
- package/dist/leader-thread/materialize-event.d.ts.map +1 -1
- package/dist/leader-thread/materialize-event.js +14 -8
- package/dist/leader-thread/materialize-event.js.map +1 -1
- package/dist/leader-thread/mod.d.ts +8 -7
- package/dist/leader-thread/mod.d.ts.map +1 -1
- package/dist/leader-thread/mod.js +8 -7
- package/dist/leader-thread/mod.js.map +1 -1
- package/dist/leader-thread/recreate-db.d.ts +14 -7
- package/dist/leader-thread/recreate-db.d.ts.map +1 -1
- package/dist/leader-thread/recreate-db.js +3 -5
- package/dist/leader-thread/recreate-db.js.map +1 -1
- package/dist/leader-thread/shutdown-channel.d.ts +1 -1
- package/dist/leader-thread/shutdown-channel.js +1 -1
- package/dist/leader-thread/types.d.ts +8 -10
- package/dist/leader-thread/types.d.ts.map +1 -1
- package/dist/make-client-session.d.ts +3 -3
- package/dist/make-client-session.d.ts.map +1 -1
- package/dist/make-client-session.js +3 -3
- package/dist/make-client-session.js.map +1 -1
- package/dist/materializer-helper.d.ts +5 -5
- package/dist/materializer-helper.js +5 -5
- package/dist/rematerialize-from-eventlog.d.ts +4 -4
- package/dist/rematerialize-from-eventlog.d.ts.map +1 -1
- package/dist/rematerialize-from-eventlog.js +13 -5
- package/dist/rematerialize-from-eventlog.js.map +1 -1
- package/dist/schema/EventDef.d.ts +5 -5
- package/dist/schema/EventDef.d.ts.map +1 -1
- package/dist/schema/EventDef.js +2 -2
- package/dist/schema/EventDef.js.map +1 -1
- package/dist/schema/EventSequenceNumber.d.ts +20 -2
- package/dist/schema/EventSequenceNumber.d.ts.map +1 -1
- package/dist/schema/EventSequenceNumber.js +71 -19
- package/dist/schema/EventSequenceNumber.js.map +1 -1
- package/dist/schema/EventSequenceNumber.test.js +89 -4
- package/dist/schema/EventSequenceNumber.test.js.map +1 -1
- package/dist/schema/LiveStoreEvent.d.ts +26 -12
- package/dist/schema/LiveStoreEvent.d.ts.map +1 -1
- package/dist/schema/LiveStoreEvent.js +13 -5
- package/dist/schema/LiveStoreEvent.js.map +1 -1
- 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 +9 -9
- package/dist/schema/mod.d.ts.map +1 -1
- package/dist/schema/mod.js +9 -9
- package/dist/schema/mod.js.map +1 -1
- package/dist/schema/schema.d.ts +4 -4
- package/dist/schema/schema.js +3 -3
- package/dist/schema/state/mod.d.ts +2 -2
- package/dist/schema/state/mod.js +2 -2
- package/dist/schema/state/sqlite/client-document-def.d.ts +5 -5
- package/dist/schema/state/sqlite/client-document-def.d.ts.map +1 -1
- package/dist/schema/state/sqlite/client-document-def.js +6 -6
- package/dist/schema/state/sqlite/client-document-def.js.map +1 -1
- package/dist/schema/state/sqlite/client-document-def.test.js +4 -6
- package/dist/schema/state/sqlite/client-document-def.test.js.map +1 -1
- package/dist/schema/state/sqlite/db-schema/ast/sqlite.js +1 -1
- package/dist/schema/state/sqlite/db-schema/ast/validate.d.ts +1 -1
- package/dist/schema/state/sqlite/db-schema/dsl/field-defs.js +2 -2
- package/dist/schema/state/sqlite/db-schema/dsl/field-defs.js.map +1 -1
- package/dist/schema/state/sqlite/db-schema/dsl/field-defs.test.js +1 -1
- package/dist/schema/state/sqlite/db-schema/dsl/mod.d.ts +3 -3
- package/dist/schema/state/sqlite/db-schema/dsl/mod.d.ts.map +1 -1
- package/dist/schema/state/sqlite/db-schema/dsl/mod.js +1 -1
- package/dist/schema/state/sqlite/db-schema/dsl/mod.js.map +1 -1
- package/dist/schema/state/sqlite/db-schema/hash.d.ts.map +1 -1
- package/dist/schema/state/sqlite/db-schema/hash.js +3 -2
- package/dist/schema/state/sqlite/db-schema/hash.js.map +1 -1
- package/dist/schema/state/sqlite/db-schema/mod.d.ts +2 -2
- package/dist/schema/state/sqlite/db-schema/mod.d.ts.map +1 -1
- package/dist/schema/state/sqlite/db-schema/mod.js +2 -2
- package/dist/schema/state/sqlite/db-schema/mod.js.map +1 -1
- package/dist/schema/state/sqlite/mod.d.ts +7 -7
- package/dist/schema/state/sqlite/mod.d.ts.map +1 -1
- package/dist/schema/state/sqlite/mod.js +7 -7
- package/dist/schema/state/sqlite/mod.js.map +1 -1
- package/dist/schema/state/sqlite/query-builder/api.d.ts +40 -13
- package/dist/schema/state/sqlite/query-builder/api.d.ts.map +1 -1
- package/dist/schema/state/sqlite/query-builder/api.js.map +1 -1
- package/dist/schema/state/sqlite/query-builder/astToSql.d.ts +2 -2
- package/dist/schema/state/sqlite/query-builder/astToSql.js +1 -1
- package/dist/schema/state/sqlite/query-builder/impl.d.ts +2 -2
- package/dist/schema/state/sqlite/query-builder/impl.d.ts.map +1 -1
- package/dist/schema/state/sqlite/query-builder/impl.js +20 -25
- package/dist/schema/state/sqlite/query-builder/impl.js.map +1 -1
- package/dist/schema/state/sqlite/query-builder/impl.test.d.ts +1 -81
- package/dist/schema/state/sqlite/query-builder/impl.test.d.ts.map +1 -1
- package/dist/schema/state/sqlite/query-builder/impl.test.js +36 -22
- package/dist/schema/state/sqlite/query-builder/impl.test.js.map +1 -1
- package/dist/schema/state/sqlite/query-builder/mod.d.ts +2 -2
- package/dist/schema/state/sqlite/query-builder/mod.js +2 -2
- package/dist/schema/state/sqlite/schema-helpers.d.ts +1 -1
- package/dist/schema/state/sqlite/schema-helpers.js +1 -1
- package/dist/schema/state/sqlite/system-tables.d.ts +72 -67
- package/dist/schema/state/sqlite/system-tables.d.ts.map +1 -1
- package/dist/schema/state/sqlite/system-tables.js +11 -20
- package/dist/schema/state/sqlite/system-tables.js.map +1 -1
- package/dist/schema/state/sqlite/table-def.d.ts +3 -3
- 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-management/common.d.ts +2 -2
- package/dist/schema-management/common.js +1 -1
- package/dist/schema-management/migrations.d.ts +6 -4
- package/dist/schema-management/migrations.d.ts.map +1 -1
- package/dist/schema-management/migrations.js +5 -5
- package/dist/schema-management/migrations.js.map +1 -1
- package/dist/schema-management/validate-schema.d.ts +4 -4
- package/dist/schema-management/validate-schema.js +1 -1
- package/dist/sql-queries/index.d.ts +3 -3
- package/dist/sql-queries/index.js +3 -3
- package/dist/sql-queries/sql-queries.d.ts +2 -2
- package/dist/sql-queries/sql-queries.d.ts.map +1 -1
- package/dist/sql-queries/sql-queries.js +5 -3
- package/dist/sql-queries/sql-queries.js.map +1 -1
- package/dist/sql-queries/sql-query-builder.d.ts +3 -3
- package/dist/sql-queries/sql-query-builder.js +1 -1
- package/dist/sql-queries/types.d.ts +1 -1
- package/dist/sqlite-db-helper.d.ts +2 -2
- package/dist/sqlite-db-helper.js +1 -1
- package/dist/sqlite-types.d.ts +72 -0
- package/dist/sqlite-types.d.ts.map +1 -0
- package/dist/sqlite-types.js +5 -0
- package/dist/sqlite-types.js.map +1 -0
- package/dist/sync/ClientSessionSyncProcessor.d.ts +22 -7
- package/dist/sync/ClientSessionSyncProcessor.d.ts.map +1 -1
- package/dist/sync/ClientSessionSyncProcessor.js +43 -21
- package/dist/sync/ClientSessionSyncProcessor.js.map +1 -1
- package/dist/sync/index.d.ts +3 -3
- package/dist/sync/index.d.ts.map +1 -1
- package/dist/sync/index.js +3 -3
- package/dist/sync/index.js.map +1 -1
- package/dist/sync/next/compact-events.d.ts +1 -1
- package/dist/sync/next/compact-events.js +4 -4
- package/dist/sync/next/facts.d.ts +3 -3
- package/dist/sync/next/facts.js +2 -2
- package/dist/sync/next/graphology.d.ts.map +1 -1
- package/dist/sync/next/graphology.js +0 -6
- package/dist/sync/next/graphology.js.map +1 -1
- package/dist/sync/next/graphology_.d.ts +1 -1
- package/dist/sync/next/graphology_.d.ts.map +1 -1
- package/dist/sync/next/graphology_.js +1 -1
- package/dist/sync/next/graphology_.js.map +1 -1
- package/dist/sync/next/history-dag-common.d.ts +3 -3
- package/dist/sync/next/history-dag-common.js +2 -2
- package/dist/sync/next/history-dag.d.ts +2 -2
- package/dist/sync/next/history-dag.js +3 -3
- package/dist/sync/next/mod.d.ts +5 -5
- package/dist/sync/next/mod.d.ts.map +1 -1
- package/dist/sync/next/mod.js +5 -5
- package/dist/sync/next/mod.js.map +1 -1
- package/dist/sync/next/rebase-events.d.ts +4 -4
- package/dist/sync/next/rebase-events.d.ts.map +1 -1
- package/dist/sync/next/rebase-events.js +3 -2
- package/dist/sync/next/rebase-events.js.map +1 -1
- package/dist/sync/next/test/compact-events.calculator.test.js +4 -4
- package/dist/sync/next/test/compact-events.test.js +5 -5
- package/dist/sync/next/test/compact-events.test.js.map +1 -1
- package/dist/sync/next/test/event-fixtures.d.ts +3 -3
- package/dist/sync/next/test/event-fixtures.d.ts.map +1 -1
- package/dist/sync/next/test/event-fixtures.js +17 -8
- package/dist/sync/next/test/event-fixtures.js.map +1 -1
- package/dist/sync/next/test/mod.d.ts +1 -1
- package/dist/sync/next/test/mod.js +1 -1
- package/dist/sync/sync.d.ts +6 -4
- package/dist/sync/sync.d.ts.map +1 -1
- package/dist/sync/sync.js +4 -1
- package/dist/sync/sync.js.map +1 -1
- package/dist/sync/syncstate.d.ts +14 -5
- package/dist/sync/syncstate.d.ts.map +1 -1
- package/dist/sync/syncstate.js +25 -12
- package/dist/sync/syncstate.js.map +1 -1
- package/dist/sync/syncstate.test.js +20 -21
- 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.js +1 -1
- package/dist/util.d.ts.map +1 -1
- package/dist/util.js +0 -1
- package/dist/util.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.d.ts.map +1 -1
- package/dist/version.js +1 -1
- package/dist/version.js.map +1 -1
- package/package.json +6 -5
- package/src/ClientSessionLeaderThreadProxy.ts +40 -0
- package/src/__tests__/fixture.ts +2 -2
- package/src/adapter-types.ts +21 -167
- package/src/debug-info.ts +2 -2
- package/src/defs.ts +17 -0
- package/src/devtools/devtools-messages-client-session.ts +4 -4
- package/src/devtools/devtools-messages-common.ts +1 -1
- package/src/devtools/devtools-messages-leader.ts +4 -4
- package/src/devtools/devtools-messages.ts +3 -3
- package/src/devtools/mod.ts +3 -3
- package/src/errors.ts +49 -0
- package/src/index.ts +16 -16
- package/src/leader-thread/LeaderSyncProcessor.ts +154 -193
- package/src/leader-thread/connection.ts +5 -5
- package/src/leader-thread/eventlog.ts +89 -67
- package/src/leader-thread/leader-worker-devtools.ts +5 -6
- package/src/leader-thread/make-leader-thread-layer.ts +64 -20
- package/src/leader-thread/materialize-event.ts +17 -10
- package/src/leader-thread/mod.ts +8 -7
- package/src/leader-thread/recreate-db.ts +101 -93
- package/src/leader-thread/shutdown-channel.ts +1 -1
- package/src/leader-thread/types.ts +10 -15
- package/src/make-client-session.ts +5 -6
- package/src/materializer-helper.ts +11 -11
- package/src/rematerialize-from-eventlog.ts +16 -8
- package/src/schema/EventDef.ts +8 -6
- package/src/schema/EventSequenceNumber.test.ts +121 -4
- package/src/schema/EventSequenceNumber.ts +95 -23
- package/src/schema/LiveStoreEvent.ts +23 -7
- package/src/schema/events.ts +1 -1
- package/src/schema/mod.ts +9 -9
- package/src/schema/schema.ts +7 -7
- package/src/schema/state/mod.ts +2 -2
- package/src/schema/state/sqlite/client-document-def.test.ts +9 -7
- package/src/schema/state/sqlite/client-document-def.ts +45 -33
- package/src/schema/state/sqlite/db-schema/ast/sqlite.ts +1 -1
- package/src/schema/state/sqlite/db-schema/ast/validate.ts +1 -1
- package/src/schema/state/sqlite/db-schema/dsl/field-defs.test.ts +1 -1
- package/src/schema/state/sqlite/db-schema/dsl/field-defs.ts +2 -2
- package/src/schema/state/sqlite/db-schema/dsl/mod.ts +19 -13
- package/src/schema/state/sqlite/db-schema/hash.ts +3 -4
- package/src/schema/state/sqlite/db-schema/mod.ts +2 -2
- package/src/schema/state/sqlite/mod.ts +13 -13
- package/src/schema/state/sqlite/query-builder/api.ts +43 -13
- package/src/schema/state/sqlite/query-builder/astToSql.ts +4 -4
- package/src/schema/state/sqlite/query-builder/impl.test.ts +63 -23
- package/src/schema/state/sqlite/query-builder/impl.ts +23 -28
- package/src/schema/state/sqlite/query-builder/mod.ts +2 -2
- package/src/schema/state/sqlite/schema-helpers.ts +2 -2
- package/src/schema/state/sqlite/system-tables.ts +12 -25
- package/src/schema/state/sqlite/table-def.ts +4 -4
- package/src/schema-management/common.ts +3 -3
- package/src/schema-management/migrations.ts +11 -9
- package/src/schema-management/validate-schema.ts +4 -4
- package/src/sql-queries/index.ts +3 -3
- package/src/sql-queries/sql-queries.ts +6 -4
- package/src/sql-queries/sql-query-builder.ts +4 -4
- package/src/sql-queries/types.ts +1 -1
- package/src/sqlite-db-helper.ts +3 -3
- package/src/sqlite-types.ts +76 -0
- package/src/sync/ClientSessionSyncProcessor.ts +65 -30
- package/src/sync/index.ts +3 -3
- package/src/sync/next/compact-events.ts +5 -5
- package/src/sync/next/facts.ts +4 -4
- package/src/sync/next/graphology.ts +3 -11
- package/src/sync/next/graphology_.ts +1 -1
- package/src/sync/next/history-dag-common.ts +3 -3
- package/src/sync/next/history-dag.ts +3 -3
- package/src/sync/next/mod.ts +5 -5
- package/src/sync/next/rebase-events.ts +7 -6
- package/src/sync/next/test/compact-events.calculator.test.ts +4 -4
- package/src/sync/next/test/compact-events.test.ts +6 -6
- package/src/sync/next/test/event-fixtures.ts +19 -10
- package/src/sync/next/test/mod.ts +1 -1
- package/src/sync/sync.ts +7 -4
- package/src/sync/syncstate.test.ts +25 -22
- package/src/sync/syncstate.ts +33 -12
- package/src/sync/validate-push-payload.ts +2 -2
- package/src/util.ts +0 -1
- package/src/version.ts +1 -1
@@ -1,8 +1,8 @@
|
|
1
1
|
import { Schema, Transferable } from '@livestore/utils/effect';
|
2
|
-
import * as LiveStoreEvent from
|
3
|
-
import { EventSequenceNumber } from
|
4
|
-
import * as SyncState from
|
5
|
-
import { LeaderReqResMessage, LSDMessage, LSDReqResMessage, NetworkStatus } from
|
2
|
+
import * as LiveStoreEvent from "../schema/LiveStoreEvent.js";
|
3
|
+
import { EventSequenceNumber } from "../schema/mod.js";
|
4
|
+
import * as SyncState from "../sync/syncstate.js";
|
5
|
+
import { LeaderReqResMessage, LSDMessage, LSDReqResMessage, NetworkStatus } from "./devtools-messages-common.js";
|
6
6
|
export class ResetAllDataReq extends LSDReqResMessage('LSD.Leader.ResetAllDataReq', {
|
7
7
|
mode: Schema.Literal('all-data', 'only-app-db'),
|
8
8
|
}) {
|
@@ -1,4 +1,4 @@
|
|
1
|
-
export * as ClientSession from './devtools-messages-client-session.
|
2
|
-
export *
|
3
|
-
export * from './devtools-messages-
|
1
|
+
export * as ClientSession from './devtools-messages-client-session.ts';
|
2
|
+
export * from './devtools-messages-common.ts';
|
3
|
+
export * as Leader from './devtools-messages-leader.ts';
|
4
4
|
//# sourceMappingURL=devtools-messages.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"devtools-messages.d.ts","sourceRoot":"","sources":["../../src/devtools/devtools-messages.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,aAAa,MAAM,uCAAuC,CAAA;AACtE,
|
1
|
+
{"version":3,"file":"devtools-messages.d.ts","sourceRoot":"","sources":["../../src/devtools/devtools-messages.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,aAAa,MAAM,uCAAuC,CAAA;AACtE,cAAc,+BAA+B,CAAA;AAC7C,OAAO,KAAK,MAAM,MAAM,+BAA+B,CAAA"}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
export * as ClientSession from
|
2
|
-
export *
|
3
|
-
export * from
|
1
|
+
export * as ClientSession from "./devtools-messages-client-session.js";
|
2
|
+
export * from "./devtools-messages-common.js";
|
3
|
+
export * as Leader from "./devtools-messages-leader.js";
|
4
4
|
//# sourceMappingURL=devtools-messages.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"devtools-messages.js","sourceRoot":"","sources":["../../src/devtools/devtools-messages.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,aAAa,MAAM,uCAAuC,CAAA;AACtE,
|
1
|
+
{"version":3,"file":"devtools-messages.js","sourceRoot":"","sources":["../../src/devtools/devtools-messages.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,aAAa,MAAM,uCAAuC,CAAA;AACtE,cAAc,+BAA+B,CAAA;AAC7C,OAAO,KAAK,MAAM,MAAM,+BAA+B,CAAA"}
|
package/dist/devtools/mod.d.ts
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
import type { Effect, Scope, WebChannel } from '@livestore/utils/effect';
|
2
2
|
import { Schema } from '@livestore/utils/effect';
|
3
3
|
import type { MeshNode } from '@livestore/webmesh';
|
4
|
-
import * as SessionInfo from './devtools-sessioninfo.
|
5
|
-
export * from './devtools-messages.
|
6
|
-
export * as SessionInfo from './devtools-sessioninfo.
|
4
|
+
import * as SessionInfo from './devtools-sessioninfo.ts';
|
5
|
+
export * from './devtools-messages.ts';
|
6
|
+
export * as SessionInfo from './devtools-sessioninfo.ts';
|
7
7
|
export declare const DevtoolsMode: Schema.Union<[Schema.TaggedStruct<"node", {
|
8
8
|
/** WebSocket URL */
|
9
9
|
url: typeof Schema.String;
|
package/dist/devtools/mod.js
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
import { Schema } from '@livestore/utils/effect';
|
2
2
|
import { nanoid } from '@livestore/utils/nanoid';
|
3
|
-
import * as SessionInfo from
|
4
|
-
export * from
|
5
|
-
export * as SessionInfo from
|
3
|
+
import * as SessionInfo from "./devtools-sessioninfo.js";
|
4
|
+
export * from "./devtools-messages.js";
|
5
|
+
export * as SessionInfo from "./devtools-sessioninfo.js";
|
6
6
|
export const DevtoolsMode = Schema.Union(Schema.TaggedStruct('node', {
|
7
7
|
/** WebSocket URL */
|
8
8
|
url: Schema.String,
|
package/dist/errors.d.ts
ADDED
@@ -0,0 +1,50 @@
|
|
1
|
+
import { Effect, Schema, Stream } from '@livestore/utils/effect';
|
2
|
+
declare const UnexpectedError_base: Schema.TaggedErrorClass<UnexpectedError, "LiveStore.UnexpectedError", {
|
3
|
+
readonly _tag: Schema.tag<"LiveStore.UnexpectedError">;
|
4
|
+
} & {
|
5
|
+
cause: typeof Schema.Defect;
|
6
|
+
note: Schema.optional<typeof Schema.String>;
|
7
|
+
payload: Schema.optional<typeof Schema.Any>;
|
8
|
+
}>;
|
9
|
+
export declare class UnexpectedError extends UnexpectedError_base {
|
10
|
+
static mapToUnexpectedError: <A, E, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, UnexpectedError, R>;
|
11
|
+
static mapToUnexpectedErrorStream: <A, E, R>(stream: Stream.Stream<A, E, R>) => Stream.Stream<A, UnexpectedError, R>;
|
12
|
+
}
|
13
|
+
declare const SyncError_base: Schema.TaggedErrorClass<SyncError, "LiveStore.SyncError", {
|
14
|
+
readonly _tag: Schema.tag<"LiveStore.SyncError">;
|
15
|
+
} & {
|
16
|
+
cause: typeof Schema.Defect;
|
17
|
+
}>;
|
18
|
+
export declare class SyncError extends SyncError_base {
|
19
|
+
}
|
20
|
+
declare const IntentionalShutdownCause_base: Schema.TaggedErrorClass<IntentionalShutdownCause, "LiveStore.IntentionalShutdownCause", {
|
21
|
+
readonly _tag: Schema.tag<"LiveStore.IntentionalShutdownCause">;
|
22
|
+
} & {
|
23
|
+
reason: Schema.Literal<["devtools-reset", "devtools-import", "adapter-reset", "manual"]>;
|
24
|
+
}>;
|
25
|
+
export declare class IntentionalShutdownCause extends IntentionalShutdownCause_base {
|
26
|
+
}
|
27
|
+
declare const StoreInterrupted_base: Schema.TaggedErrorClass<StoreInterrupted, "LiveStore.StoreInterrupted", {
|
28
|
+
readonly _tag: Schema.tag<"LiveStore.StoreInterrupted">;
|
29
|
+
} & {
|
30
|
+
reason: typeof Schema.String;
|
31
|
+
}>;
|
32
|
+
export declare class StoreInterrupted extends StoreInterrupted_base {
|
33
|
+
}
|
34
|
+
declare const SqliteError_base: Schema.TaggedErrorClass<SqliteError, "LiveStore.SqliteError", {
|
35
|
+
readonly _tag: Schema.tag<"LiveStore.SqliteError">;
|
36
|
+
} & {
|
37
|
+
query: Schema.optional<Schema.Struct<{
|
38
|
+
sql: typeof Schema.String;
|
39
|
+
bindValues: Schema.Union<[Schema.Record$<typeof Schema.String, typeof Schema.Any>, Schema.Array$<typeof Schema.Any>]>;
|
40
|
+
}>>;
|
41
|
+
/** The SQLite result code */
|
42
|
+
code: Schema.optional<Schema.Union<[typeof Schema.Number, typeof Schema.String]>>;
|
43
|
+
/** The original SQLite3 error */
|
44
|
+
cause: typeof Schema.Defect;
|
45
|
+
note: Schema.optional<typeof Schema.String>;
|
46
|
+
}>;
|
47
|
+
export declare class SqliteError extends SqliteError_base {
|
48
|
+
}
|
49
|
+
export {};
|
50
|
+
//# sourceMappingURL=errors.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;;;;;;;;AAEhE,qBAAa,eAAgB,SAAQ,oBAInC;IACA,MAAM,CAAC,oBAAoB,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,0CAInE;IAEH,MAAM,CAAC,0BAA0B,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,0CAGzE;CACJ;;;;;;AAED,qBAAa,SAAU,SAAQ,cAE7B;CAAG;;;;;;AAEL,qBAAa,wBAAyB,SAAQ,6BAK7C;CAAG;;;;;;AAEJ,qBAAa,gBAAiB,SAAQ,qBAEpC;CAAG;;;;;;;;IASH,6BAA6B;;IAI7B,iCAAiC;;;;AAXnC,qBAAa,WAAY,SAAQ,gBAc/B;CAAG"}
|
package/dist/errors.js
ADDED
@@ -0,0 +1,36 @@
|
|
1
|
+
import { Effect, Schema, Stream } from '@livestore/utils/effect';
|
2
|
+
export class UnexpectedError extends Schema.TaggedError()('LiveStore.UnexpectedError', {
|
3
|
+
cause: Schema.Defect,
|
4
|
+
note: Schema.optional(Schema.String),
|
5
|
+
payload: Schema.optional(Schema.Any),
|
6
|
+
}) {
|
7
|
+
static mapToUnexpectedError = (effect) => effect.pipe(Effect.mapError((cause) => (Schema.is(UnexpectedError)(cause) ? cause : new UnexpectedError({ cause }))), Effect.catchAllDefect((cause) => new UnexpectedError({ cause })));
|
8
|
+
static mapToUnexpectedErrorStream = (stream) => stream.pipe(Stream.mapError((cause) => (Schema.is(UnexpectedError)(cause) ? cause : new UnexpectedError({ cause }))));
|
9
|
+
}
|
10
|
+
export class SyncError extends Schema.TaggedError()('LiveStore.SyncError', {
|
11
|
+
cause: Schema.Defect,
|
12
|
+
}) {
|
13
|
+
}
|
14
|
+
export class IntentionalShutdownCause extends Schema.TaggedError()('LiveStore.IntentionalShutdownCause', {
|
15
|
+
reason: Schema.Literal('devtools-reset', 'devtools-import', 'adapter-reset', 'manual'),
|
16
|
+
}) {
|
17
|
+
}
|
18
|
+
export class StoreInterrupted extends Schema.TaggedError()('LiveStore.StoreInterrupted', {
|
19
|
+
reason: Schema.String,
|
20
|
+
}) {
|
21
|
+
}
|
22
|
+
export class SqliteError extends Schema.TaggedError()('LiveStore.SqliteError', {
|
23
|
+
query: Schema.optional(Schema.Struct({
|
24
|
+
sql: Schema.String,
|
25
|
+
bindValues: Schema.Union(Schema.Record({ key: Schema.String, value: Schema.Any }), Schema.Array(Schema.Any)),
|
26
|
+
})),
|
27
|
+
/** The SQLite result code */
|
28
|
+
// code: Schema.optional(Schema.Number),
|
29
|
+
// Added string support for Expo SQLite (we should refactor this to have a unified error type)
|
30
|
+
code: Schema.optional(Schema.Union(Schema.Number, Schema.String)),
|
31
|
+
/** The original SQLite3 error */
|
32
|
+
cause: Schema.Defect,
|
33
|
+
note: Schema.optional(Schema.String),
|
34
|
+
}) {
|
35
|
+
}
|
36
|
+
//# sourceMappingURL=errors.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAEhE,MAAM,OAAO,eAAgB,SAAQ,MAAM,CAAC,WAAW,EAAmB,CAAC,2BAA2B,EAAE;IACtG,KAAK,EAAE,MAAM,CAAC,MAAM;IACpB,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;IACpC,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC;CACrC,CAAC;IACA,MAAM,CAAC,oBAAoB,GAAG,CAAU,MAA8B,EAAE,EAAE,CACxE,MAAM,CAAC,IAAI,CACT,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,eAAe,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EACxG,MAAM,CAAC,cAAc,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,eAAe,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CACjE,CAAA;IAEH,MAAM,CAAC,0BAA0B,GAAG,CAAU,MAA8B,EAAE,EAAE,CAC9E,MAAM,CAAC,IAAI,CACT,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,eAAe,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CACzG,CAAA;;AAGL,MAAM,OAAO,SAAU,SAAQ,MAAM,CAAC,WAAW,EAAa,CAAC,qBAAqB,EAAE;IACpF,KAAK,EAAE,MAAM,CAAC,MAAM;CACrB,CAAC;CAAG;AAEL,MAAM,OAAO,wBAAyB,SAAQ,MAAM,CAAC,WAAW,EAA4B,CAC1F,oCAAoC,EACpC;IACE,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,gBAAgB,EAAE,iBAAiB,EAAE,eAAe,EAAE,QAAQ,CAAC;CACvF,CACF;CAAG;AAEJ,MAAM,OAAO,gBAAiB,SAAQ,MAAM,CAAC,WAAW,EAAoB,CAAC,4BAA4B,EAAE;IACzG,MAAM,EAAE,MAAM,CAAC,MAAM;CACtB,CAAC;CAAG;AAEL,MAAM,OAAO,WAAY,SAAQ,MAAM,CAAC,WAAW,EAAe,CAAC,uBAAuB,EAAE;IAC1F,KAAK,EAAE,MAAM,CAAC,QAAQ,CACpB,MAAM,CAAC,MAAM,CAAC;QACZ,GAAG,EAAE,MAAM,CAAC,MAAM;QAClB,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;KAC7G,CAAC,CACH;IACD,6BAA6B;IAC7B,wCAAwC;IACxC,8FAA8F;IAC9F,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IACjE,iCAAiC;IACjC,KAAK,EAAE,MAAM,CAAC,MAAM;IACpB,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;CACrC,CAAC;CAAG"}
|
package/dist/index.d.ts
CHANGED
@@ -1,17 +1,17 @@
|
|
1
|
-
export * from './
|
2
|
-
export * from './
|
3
|
-
export * from './
|
4
|
-
export * from './
|
5
|
-
export * from './
|
6
|
-
export * from './
|
7
|
-
export * from './
|
8
|
-
export *
|
9
|
-
export * from './
|
10
|
-
export * from './
|
11
|
-
export * from './
|
12
|
-
export * from './
|
13
|
-
export *
|
14
|
-
export * from './
|
15
|
-
export * from './
|
16
|
-
export *
|
1
|
+
export * from './adapter-types.ts';
|
2
|
+
export * from './bounded-collections.ts';
|
3
|
+
export * from './debug-info.ts';
|
4
|
+
export * as Devtools from './devtools/mod.ts';
|
5
|
+
export * from './make-client-session.ts';
|
6
|
+
export * from './materializer-helper.ts';
|
7
|
+
export * from './otel.ts';
|
8
|
+
export * from './rematerialize-from-eventlog.ts';
|
9
|
+
export * from './schema/state/sqlite/query-builder/mod.ts';
|
10
|
+
export * from './schema/state/sqlite/system-tables.ts';
|
11
|
+
export * from './schema-management/migrations.ts';
|
12
|
+
export * as SqliteDbHelper from './sqlite-db-helper.ts';
|
13
|
+
export * from './sync/index.ts';
|
14
|
+
export * as SyncState from './sync/syncstate.ts';
|
15
|
+
export * from './util.ts';
|
16
|
+
export * from './version.ts';
|
17
17
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAClC,cAAc,0BAA0B,CAAA;AACxC,cAAc,iBAAiB,CAAA;AAC/B,OAAO,KAAK,QAAQ,MAAM,mBAAmB,CAAA;AAC7C,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA;AACxC,cAAc,WAAW,CAAA;AACzB,cAAc,kCAAkC,CAAA;AAChD,cAAc,4CAA4C,CAAA;AAC1D,cAAc,wCAAwC,CAAA;AACtD,cAAc,mCAAmC,CAAA;AACjD,OAAO,KAAK,cAAc,MAAM,uBAAuB,CAAA;AACvD,cAAc,iBAAiB,CAAA;AAC/B,OAAO,KAAK,SAAS,MAAM,qBAAqB,CAAA;AAChD,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA"}
|
package/dist/index.js
CHANGED
@@ -1,17 +1,17 @@
|
|
1
|
-
export * from
|
2
|
-
export * from
|
3
|
-
export * from
|
4
|
-
export * from
|
5
|
-
export * from
|
6
|
-
export * from
|
7
|
-
export * from
|
8
|
-
export *
|
9
|
-
export * from
|
10
|
-
export * from
|
11
|
-
export * from
|
12
|
-
export * from
|
13
|
-
export *
|
14
|
-
export * from
|
15
|
-
export * from
|
16
|
-
export *
|
1
|
+
export * from "./adapter-types.js";
|
2
|
+
export * from "./bounded-collections.js";
|
3
|
+
export * from "./debug-info.js";
|
4
|
+
export * as Devtools from "./devtools/mod.js";
|
5
|
+
export * from "./make-client-session.js";
|
6
|
+
export * from "./materializer-helper.js";
|
7
|
+
export * from "./otel.js";
|
8
|
+
export * from "./rematerialize-from-eventlog.js";
|
9
|
+
export * from "./schema/state/sqlite/query-builder/mod.js";
|
10
|
+
export * from "./schema/state/sqlite/system-tables.js";
|
11
|
+
export * from "./schema-management/migrations.js";
|
12
|
+
export * as SqliteDbHelper from "./sqlite-db-helper.js";
|
13
|
+
export * from "./sync/index.js";
|
14
|
+
export * as SyncState from "./sync/syncstate.js";
|
15
|
+
export * from "./util.js";
|
16
|
+
export * from "./version.js";
|
17
17
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAClC,cAAc,0BAA0B,CAAA;AACxC,cAAc,iBAAiB,CAAA;AAC/B,OAAO,KAAK,QAAQ,MAAM,mBAAmB,CAAA;AAC7C,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA;AACxC,cAAc,WAAW,CAAA;AACzB,cAAc,kCAAkC,CAAA;AAChD,cAAc,4CAA4C,CAAA;AAC1D,cAAc,wCAAwC,CAAA;AACtD,cAAc,mCAAmC,CAAA;AACjD,OAAO,KAAK,cAAc,MAAM,uBAAuB,CAAA;AACvD,cAAc,iBAAiB,CAAA;AAC/B,OAAO,KAAK,SAAS,MAAM,qBAAqB,CAAA;AAChD,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA"}
|
@@ -1,9 +1,10 @@
|
|
1
1
|
import type { Scope } from '@livestore/utils/effect';
|
2
2
|
import { Effect } from '@livestore/utils/effect';
|
3
|
-
import type { SqliteDb } from '../adapter-types.
|
4
|
-
import { UnexpectedError } from '../adapter-types.
|
5
|
-
import type { LiveStoreSchema } from '../schema/mod.
|
6
|
-
import
|
3
|
+
import type { SqliteDb } from '../adapter-types.ts';
|
4
|
+
import { UnexpectedError } from '../adapter-types.ts';
|
5
|
+
import type { LiveStoreSchema } from '../schema/mod.ts';
|
6
|
+
import * as SyncState from '../sync/syncstate.ts';
|
7
|
+
import type { InitialBlockingSyncContext, LeaderSyncProcessor } from './types.ts';
|
7
8
|
/**
|
8
9
|
* The LeaderSyncProcessor manages synchronization of events between
|
9
10
|
* the local state and the sync backend, ensuring efficient and orderly processing.
|
@@ -26,22 +27,20 @@ import type { InitialBlockingSyncContext, LeaderSyncProcessor } from './types.js
|
|
26
27
|
* - The latch closes on pull receipt and re-opens post-pull completion.
|
27
28
|
* - Processes up to `maxBatchSize` events per cycle.
|
28
29
|
*
|
29
|
-
* Currently we're advancing the db
|
30
|
+
* Currently we're advancing the state db and eventlog in lockstep, but we could also decouple this in the future
|
30
31
|
*
|
31
32
|
* Tricky concurrency scenarios:
|
32
33
|
* - Queued local push batches becoming invalid due to a prior local push item being rejected.
|
33
34
|
* Solution: Introduce a generation number for local push batches which is used to filter out old batches items in case of rejection.
|
34
35
|
*
|
36
|
+
* See ClientSessionSyncProcessor for how the leader and session sync processors are similar/different.
|
35
37
|
*/
|
36
|
-
export declare const makeLeaderSyncProcessor: ({ schema,
|
38
|
+
export declare const makeLeaderSyncProcessor: ({ schema, dbState, initialBlockingSyncContext, initialSyncState, onError, params, testing, }: {
|
37
39
|
schema: LiveStoreSchema;
|
38
|
-
/** Only used to know whether we can safely query dbEventlog during setup execution */
|
39
|
-
dbEventlogMissing: boolean;
|
40
|
-
dbEventlog: SqliteDb;
|
41
40
|
dbState: SqliteDb;
|
42
|
-
/** Only used to know whether we can safely query dbState during setup execution */
|
43
|
-
dbStateMissing: boolean;
|
44
41
|
initialBlockingSyncContext: InitialBlockingSyncContext;
|
42
|
+
/** Initial sync state rehydrated from the persisted eventlog or initial sync state */
|
43
|
+
initialSyncState: SyncState.SyncState;
|
45
44
|
onError: "shutdown" | "ignore";
|
46
45
|
params: {
|
47
46
|
/**
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"LeaderSyncProcessor.d.ts","sourceRoot":"","sources":["../../src/leader-thread/LeaderSyncProcessor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAuB,KAAK,EAAU,MAAM,yBAAyB,CAAA;AACjF,OAAO,EAGL,MAAM,
|
1
|
+
{"version":3,"file":"LeaderSyncProcessor.d.ts","sourceRoot":"","sources":["../../src/leader-thread/LeaderSyncProcessor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAuB,KAAK,EAAU,MAAM,yBAAyB,CAAA;AACjF,OAAO,EAGL,MAAM,EAWP,MAAM,yBAAyB,CAAA;AAGhC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAa,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAEhE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAGvD,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAA;AAIjD,OAAO,KAAK,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAQjF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,eAAO,MAAM,uBAAuB,GAAI,8FAQrC;IACD,MAAM,EAAE,eAAe,CAAA;IACvB,OAAO,EAAE,QAAQ,CAAA;IACjB,0BAA0B,EAAE,0BAA0B,CAAA;IACtD,sFAAsF;IACtF,gBAAgB,EAAE,SAAS,CAAC,SAAS,CAAA;IACrC,OAAO,EAAE,UAAU,GAAG,QAAQ,CAAA;IAC9B,MAAM,EAAE;QACN;;WAEG;QACH,kBAAkB,CAAC,EAAE,MAAM,CAAA;QAC3B;;WAEG;QACH,oBAAoB,CAAC,EAAE,MAAM,CAAA;KAC9B,CAAA;IACD,OAAO,EAAE;QACP,MAAM,CAAC,EAAE;YACP,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;SAC1C,CAAA;KACF,CAAA;CACF,KAAG,MAAM,CAAC,MAAM,CAAC,mBAAmB,EAAE,eAAe,EAAE,KAAK,CAAC,KAAK,CA0O/D,CAAA"}
|