@livestore/common 0.4.0-dev.20 → 0.4.0-dev.22
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 +10 -0
- package/dist/ClientSessionLeaderThreadProxy.d.ts.map +1 -1
- package/dist/ClientSessionLeaderThreadProxy.js.map +1 -1
- package/dist/adapter-types.d.ts +23 -0
- package/dist/adapter-types.d.ts.map +1 -1
- package/dist/adapter-types.js +27 -1
- package/dist/adapter-types.js.map +1 -1
- package/dist/devtools/devtools-messages-client-session.d.ts +42 -22
- package/dist/devtools/devtools-messages-client-session.d.ts.map +1 -1
- package/dist/devtools/devtools-messages-client-session.js +12 -1
- package/dist/devtools/devtools-messages-client-session.js.map +1 -1
- package/dist/devtools/devtools-messages-common.d.ts +12 -6
- package/dist/devtools/devtools-messages-common.d.ts.map +1 -1
- package/dist/devtools/devtools-messages-common.js +7 -2
- package/dist/devtools/devtools-messages-common.js.map +1 -1
- package/dist/devtools/devtools-messages-leader.d.ts +47 -25
- package/dist/devtools/devtools-messages-leader.d.ts.map +1 -1
- package/dist/devtools/devtools-messages-leader.js +13 -1
- package/dist/devtools/devtools-messages-leader.js.map +1 -1
- package/dist/leader-thread/LeaderSyncProcessor.d.ts +33 -0
- package/dist/leader-thread/LeaderSyncProcessor.d.ts.map +1 -1
- package/dist/leader-thread/LeaderSyncProcessor.js +12 -12
- package/dist/leader-thread/LeaderSyncProcessor.js.map +1 -1
- package/dist/leader-thread/eventlog.d.ts +6 -1
- package/dist/leader-thread/eventlog.d.ts.map +1 -1
- package/dist/leader-thread/eventlog.js +59 -2
- package/dist/leader-thread/eventlog.js.map +1 -1
- package/dist/leader-thread/leader-worker-devtools.js +38 -6
- package/dist/leader-thread/leader-worker-devtools.js.map +1 -1
- package/dist/leader-thread/make-leader-thread-layer.d.ts +4 -2
- package/dist/leader-thread/make-leader-thread-layer.d.ts.map +1 -1
- package/dist/leader-thread/make-leader-thread-layer.js +5 -1
- package/dist/leader-thread/make-leader-thread-layer.js.map +1 -1
- package/dist/leader-thread/materialize-event.d.ts.map +1 -1
- package/dist/leader-thread/materialize-event.js +3 -0
- package/dist/leader-thread/materialize-event.js.map +1 -1
- package/dist/leader-thread/mod.d.ts +1 -0
- package/dist/leader-thread/mod.d.ts.map +1 -1
- package/dist/leader-thread/mod.js +1 -0
- package/dist/leader-thread/mod.js.map +1 -1
- package/dist/leader-thread/stream-events.d.ts +56 -0
- package/dist/leader-thread/stream-events.d.ts.map +1 -0
- package/dist/leader-thread/stream-events.js +166 -0
- package/dist/leader-thread/stream-events.js.map +1 -0
- package/dist/leader-thread/types.d.ts +77 -1
- package/dist/leader-thread/types.d.ts.map +1 -1
- package/dist/leader-thread/types.js +13 -0
- package/dist/leader-thread/types.js.map +1 -1
- package/dist/otel.d.ts +2 -1
- package/dist/otel.d.ts.map +1 -1
- package/dist/otel.js +5 -0
- package/dist/otel.js.map +1 -1
- package/dist/schema/EventDef/define.d.ts +14 -0
- package/dist/schema/EventDef/define.d.ts.map +1 -1
- package/dist/schema/EventDef/define.js +1 -0
- package/dist/schema/EventDef/define.js.map +1 -1
- package/dist/schema/EventDef/deprecated.d.ts +99 -0
- package/dist/schema/EventDef/deprecated.d.ts.map +1 -0
- package/dist/schema/EventDef/deprecated.js +144 -0
- package/dist/schema/EventDef/deprecated.js.map +1 -0
- package/dist/schema/EventDef/deprecated.test.d.ts +2 -0
- package/dist/schema/EventDef/deprecated.test.d.ts.map +1 -0
- package/dist/schema/EventDef/deprecated.test.js +95 -0
- package/dist/schema/EventDef/deprecated.test.js.map +1 -0
- package/dist/schema/EventDef/event-def.d.ts +4 -0
- package/dist/schema/EventDef/event-def.d.ts.map +1 -1
- package/dist/schema/EventDef/mod.d.ts +1 -0
- package/dist/schema/EventDef/mod.d.ts.map +1 -1
- package/dist/schema/EventDef/mod.js +1 -0
- package/dist/schema/EventDef/mod.js.map +1 -1
- package/dist/schema/LiveStoreEvent/client.d.ts +6 -6
- package/dist/schema/state/sqlite/client-document-def.d.ts +1 -0
- package/dist/schema/state/sqlite/client-document-def.d.ts.map +1 -1
- package/dist/schema/state/sqlite/client-document-def.js +17 -8
- package/dist/schema/state/sqlite/client-document-def.js.map +1 -1
- package/dist/schema/state/sqlite/client-document-def.test.js +120 -1
- package/dist/schema/state/sqlite/client-document-def.test.js.map +1 -1
- package/dist/schema/state/sqlite/column-def.test.js +2 -3
- package/dist/schema/state/sqlite/column-def.test.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.map +1 -1
- package/dist/schema/state/sqlite/query-builder/api.d.ts +29 -12
- 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 +71 -1
- package/dist/schema/state/sqlite/query-builder/astToSql.js.map +1 -1
- package/dist/schema/state/sqlite/query-builder/impl.test.js +109 -1
- package/dist/schema/state/sqlite/query-builder/impl.test.js.map +1 -1
- package/dist/schema/state/sqlite/table-def.d.ts.map +1 -1
- package/dist/sync/ClientSessionSyncProcessor.d.ts.map +1 -1
- package/dist/sync/ClientSessionSyncProcessor.js +6 -2
- package/dist/sync/ClientSessionSyncProcessor.js.map +1 -1
- package/dist/version.d.ts +7 -1
- package/dist/version.d.ts.map +1 -1
- package/dist/version.js +8 -1
- package/dist/version.js.map +1 -1
- package/package.json +4 -4
- package/src/ClientSessionLeaderThreadProxy.ts +10 -0
- package/src/adapter-types.ts +30 -0
- package/src/devtools/devtools-messages-client-session.ts +12 -0
- package/src/devtools/devtools-messages-common.ts +7 -3
- package/src/devtools/devtools-messages-leader.ts +13 -0
- package/src/leader-thread/LeaderSyncProcessor.ts +116 -42
- package/src/leader-thread/eventlog.ts +80 -4
- package/src/leader-thread/leader-worker-devtools.ts +52 -6
- package/src/leader-thread/make-leader-thread-layer.ts +8 -0
- package/src/leader-thread/materialize-event.ts +4 -0
- package/src/leader-thread/mod.ts +1 -0
- package/src/leader-thread/stream-events.ts +201 -0
- package/src/leader-thread/types.ts +49 -1
- package/src/otel.ts +10 -0
- package/src/schema/EventDef/define.ts +16 -0
- package/src/schema/EventDef/deprecated.test.ts +128 -0
- package/src/schema/EventDef/deprecated.ts +175 -0
- package/src/schema/EventDef/event-def.ts +5 -0
- package/src/schema/EventDef/mod.ts +1 -0
- package/src/schema/state/sqlite/client-document-def.test.ts +140 -2
- package/src/schema/state/sqlite/client-document-def.ts +25 -26
- package/src/schema/state/sqlite/column-def.test.ts +2 -3
- package/src/schema/state/sqlite/db-schema/dsl/mod.ts +10 -16
- package/src/schema/state/sqlite/query-builder/api.ts +31 -4
- package/src/schema/state/sqlite/query-builder/astToSql.ts +81 -1
- package/src/schema/state/sqlite/query-builder/impl.test.ts +141 -1
- package/src/schema/state/sqlite/table-def.ts +9 -8
- package/src/sync/ClientSessionSyncProcessor.ts +26 -13
- package/src/version.ts +9 -1
|
@@ -381,14 +381,15 @@ export declare namespace SchemaToColumns {
|
|
|
381
381
|
export type ColumnDefForType<TEncoded, TType> = SqliteDsl.ColumnDefinition<TEncoded, TType>
|
|
382
382
|
|
|
383
383
|
// Create columns type from schema Type and Encoded
|
|
384
|
-
export type FromTypes<TType, TEncoded> =
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
384
|
+
export type FromTypes<TType, TEncoded> =
|
|
385
|
+
TEncoded extends Record<string, any>
|
|
386
|
+
? {
|
|
387
|
+
[K in keyof TEncoded]-?: ColumnDefForType<
|
|
388
|
+
TEncoded[K],
|
|
389
|
+
TType extends Record<string, any> ? (K extends keyof TType ? TType[K] : TEncoded[K]) : TEncoded[K]
|
|
390
|
+
>
|
|
391
|
+
}
|
|
392
|
+
: SqliteDsl.Columns
|
|
392
393
|
}
|
|
393
394
|
|
|
394
395
|
export declare namespace TableDefInput {
|
|
@@ -22,6 +22,11 @@ import * as LiveStoreEvent from '../schema/LiveStoreEvent/mod.ts'
|
|
|
22
22
|
import type { LiveStoreSchema } from '../schema/mod.ts'
|
|
23
23
|
import * as SyncState from './syncstate.ts'
|
|
24
24
|
|
|
25
|
+
// WORKAROUND: @effect/opentelemetry mis-parses `Span.addEvent(name, attributes)` and treats the attributes object as a
|
|
26
|
+
// time input, causing `TypeError: {} is not iterable` at runtime.
|
|
27
|
+
// Upstream: https://github.com/Effect-TS/effect/pull/5929
|
|
28
|
+
// TODO: simplify back to the 2-arg overload once the upstream fix is released and adopted.
|
|
29
|
+
|
|
25
30
|
/**
|
|
26
31
|
* Rebase behaviour:
|
|
27
32
|
* - We continously pull events from the leader and apply them to the local store.
|
|
@@ -245,13 +250,17 @@ export const makeClientSessionSyncProcessor = ({
|
|
|
245
250
|
syncStateRef.current = mergeResult.newSyncState
|
|
246
251
|
|
|
247
252
|
if (mergeResult._tag === 'rebase') {
|
|
248
|
-
span.addEvent(
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
253
|
+
span.addEvent(
|
|
254
|
+
'merge:pull:rebase',
|
|
255
|
+
{
|
|
256
|
+
payloadTag: payload._tag,
|
|
257
|
+
payload: TRACE_VERBOSE ? JSON.stringify(payload) : undefined,
|
|
258
|
+
newEventsCount: mergeResult.newEvents.length,
|
|
259
|
+
rollbackCount: mergeResult.rollbackEvents.length,
|
|
260
|
+
res: TRACE_VERBOSE ? JSON.stringify(mergeResult) : undefined,
|
|
261
|
+
},
|
|
262
|
+
undefined,
|
|
263
|
+
)
|
|
255
264
|
|
|
256
265
|
debugInfo.rebaseCount++
|
|
257
266
|
|
|
@@ -290,12 +299,16 @@ export const makeClientSessionSyncProcessor = ({
|
|
|
290
299
|
|
|
291
300
|
yield* FiberHandle.run(leaderPushingFiberHandle, backgroundLeaderPushing)
|
|
292
301
|
} else {
|
|
293
|
-
span.addEvent(
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
302
|
+
span.addEvent(
|
|
303
|
+
'merge:pull:advance',
|
|
304
|
+
{
|
|
305
|
+
payloadTag: payload._tag,
|
|
306
|
+
payload: TRACE_VERBOSE ? JSON.stringify(payload) : undefined,
|
|
307
|
+
newEventsCount: mergeResult.newEvents.length,
|
|
308
|
+
res: TRACE_VERBOSE ? JSON.stringify(mergeResult) : undefined,
|
|
309
|
+
},
|
|
310
|
+
undefined,
|
|
311
|
+
)
|
|
299
312
|
|
|
300
313
|
debugInfo.advanceCount++
|
|
301
314
|
}
|
package/src/version.ts
CHANGED
|
@@ -2,7 +2,15 @@
|
|
|
2
2
|
// import packageJson from '../package.json' with { type: 'json' }
|
|
3
3
|
// export const liveStoreVersion = packageJson.version
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
const _liveStoreVersion = '0.4.0-dev.22' as const
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Current LiveStore version used for DevTools version compatibility checks.
|
|
9
|
+
*
|
|
10
|
+
* Can be overridden at runtime via `globalThis.__LIVESTORE_VERSION_OVERRIDE__` for testing purposes.
|
|
11
|
+
* This allows Playwright tests to simulate version mismatch scenarios without rebuilding.
|
|
12
|
+
*/
|
|
13
|
+
export const liveStoreVersion: string = (globalThis as any).__LIVESTORE_VERSION_OVERRIDE__ ?? _liveStoreVersion
|
|
6
14
|
|
|
7
15
|
/**
|
|
8
16
|
* CRITICAL: Increment this version whenever you modify client-side EVENTLOG table schemas.
|