@livestore/common 0.4.0-dev.13 → 0.4.0-dev.15

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.
Files changed (77) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/adapter-types.d.ts +4 -2
  3. package/dist/adapter-types.d.ts.map +1 -1
  4. package/dist/debug-info.d.ts.map +1 -1
  5. package/dist/debug-info.js +33 -6
  6. package/dist/debug-info.js.map +1 -1
  7. package/dist/devtools/devtools-messages-client-session.d.ts +21 -21
  8. package/dist/devtools/devtools-messages-common.d.ts +6 -6
  9. package/dist/devtools/devtools-messages-leader.d.ts +24 -24
  10. package/dist/devtools/devtools-sessioninfo.d.ts +12 -0
  11. package/dist/devtools/devtools-sessioninfo.d.ts.map +1 -1
  12. package/dist/devtools/devtools-sessioninfo.js +6 -0
  13. package/dist/devtools/devtools-sessioninfo.js.map +1 -1
  14. package/dist/devtools/mod.d.ts +13 -2
  15. package/dist/devtools/mod.d.ts.map +1 -1
  16. package/dist/devtools/mod.js +10 -3
  17. package/dist/devtools/mod.js.map +1 -1
  18. package/dist/leader-thread/LeaderSyncProcessor.js +2 -2
  19. package/dist/leader-thread/LeaderSyncProcessor.js.map +1 -1
  20. package/dist/leader-thread/make-leader-thread-layer.d.ts +5 -4
  21. package/dist/leader-thread/make-leader-thread-layer.d.ts.map +1 -1
  22. package/dist/leader-thread/make-leader-thread-layer.js +4 -3
  23. package/dist/leader-thread/make-leader-thread-layer.js.map +1 -1
  24. package/dist/make-client-session.d.ts +3 -1
  25. package/dist/make-client-session.d.ts.map +1 -1
  26. package/dist/make-client-session.js +5 -2
  27. package/dist/make-client-session.js.map +1 -1
  28. package/dist/schema/EventSequenceNumber.d.ts +10 -4
  29. package/dist/schema/EventSequenceNumber.d.ts.map +1 -1
  30. package/dist/schema/EventSequenceNumber.js +10 -6
  31. package/dist/schema/EventSequenceNumber.js.map +1 -1
  32. package/dist/schema/EventSequenceNumber.test.js +7 -7
  33. package/dist/schema/LiveStoreEvent.d.ts +4 -4
  34. package/dist/schema/LiveStoreEvent.js +4 -4
  35. package/dist/schema/state/sqlite/column-spec.d.ts.map +1 -1
  36. package/dist/schema/state/sqlite/column-spec.js +22 -8
  37. package/dist/schema/state/sqlite/column-spec.js.map +1 -1
  38. package/dist/schema/state/sqlite/column-spec.test.js +13 -14
  39. package/dist/schema/state/sqlite/column-spec.test.js.map +1 -1
  40. package/dist/schema-management/__tests__/migrations-autoincrement-quoting.test.d.ts +2 -0
  41. package/dist/schema-management/__tests__/migrations-autoincrement-quoting.test.d.ts.map +1 -0
  42. package/dist/schema-management/__tests__/migrations-autoincrement-quoting.test.js +73 -0
  43. package/dist/schema-management/__tests__/migrations-autoincrement-quoting.test.js.map +1 -0
  44. package/dist/schema-management/migrations.js +6 -4
  45. package/dist/schema-management/migrations.js.map +1 -1
  46. package/dist/sync/sync-backend.d.ts +3 -3
  47. package/dist/sync/sync-backend.d.ts.map +1 -1
  48. package/dist/sync/sync.d.ts +3 -2
  49. package/dist/sync/sync.d.ts.map +1 -1
  50. package/dist/sync/syncstate.d.ts +2 -2
  51. package/dist/sync/syncstate.d.ts.map +1 -1
  52. package/dist/sync/syncstate.js +9 -4
  53. package/dist/sync/syncstate.js.map +1 -1
  54. package/dist/sync/syncstate.test.js +36 -0
  55. package/dist/sync/syncstate.test.js.map +1 -1
  56. package/dist/version.d.ts +1 -1
  57. package/dist/version.js +1 -1
  58. package/package.json +4 -4
  59. package/src/adapter-types.ts +4 -2
  60. package/src/debug-info.ts +37 -6
  61. package/src/devtools/devtools-sessioninfo.ts +6 -0
  62. package/src/devtools/mod.ts +11 -2
  63. package/src/leader-thread/LeaderSyncProcessor.ts +2 -2
  64. package/src/leader-thread/make-leader-thread-layer.ts +10 -4
  65. package/src/make-client-session.ts +7 -1
  66. package/src/schema/EventSequenceNumber.test.ts +7 -7
  67. package/src/schema/EventSequenceNumber.ts +13 -7
  68. package/src/schema/LiveStoreEvent.ts +4 -4
  69. package/src/schema/state/sqlite/column-spec.test.ts +13 -16
  70. package/src/schema/state/sqlite/column-spec.ts +29 -9
  71. package/src/schema-management/__tests__/migrations-autoincrement-quoting.test.ts +86 -0
  72. package/src/schema-management/migrations.ts +6 -4
  73. package/src/sync/sync-backend.ts +4 -4
  74. package/src/sync/sync.ts +3 -2
  75. package/src/sync/syncstate.test.ts +42 -0
  76. package/src/sync/syncstate.ts +11 -4
  77. package/src/version.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"syncstate.test.js","sourceRoot":"","sources":["../../src/sync/syncstate.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"syncstate.test.js","sourceRoot":"","sources":["../../src/sync/syncstate.test.ts"],"names":[],"mappings":"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"}
package/dist/version.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export declare const liveStoreVersion: "0.4.0-dev.13";
1
+ export declare const liveStoreVersion: "0.4.0-dev.15";
2
2
  /**
3
3
  * CRITICAL: Increment this version whenever you modify client-side EVENTLOG table schemas.
4
4
  *
package/dist/version.js CHANGED
@@ -1,7 +1,7 @@
1
1
  // TODO bring back when Expo and Playwright supports `with` imports
2
2
  // import packageJson from '../package.json' with { type: 'json' }
3
3
  // export const liveStoreVersion = packageJson.version
4
- export const liveStoreVersion = '0.4.0-dev.13';
4
+ export const liveStoreVersion = '0.4.0-dev.15';
5
5
  /**
6
6
  * CRITICAL: Increment this version whenever you modify client-side EVENTLOG table schemas.
7
7
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@livestore/common",
3
- "version": "0.4.0-dev.13",
3
+ "version": "0.4.0-dev.15",
4
4
  "type": "module",
5
5
  "sideEffects": false,
6
6
  "exports": {
@@ -15,12 +15,12 @@
15
15
  },
16
16
  "dependencies": {
17
17
  "@opentelemetry/api": "1.9.0",
18
- "@livestore/utils": "0.4.0-dev.13",
19
- "@livestore/webmesh": "0.4.0-dev.13"
18
+ "@livestore/utils": "0.4.0-dev.15",
19
+ "@livestore/webmesh": "0.4.0-dev.15"
20
20
  },
21
21
  "devDependencies": {
22
22
  "vitest": "3.2.4",
23
- "@livestore/utils-dev": "0.4.0-dev.13"
23
+ "@livestore/utils-dev": "0.4.0-dev.15"
24
24
  },
25
25
  "files": [
26
26
  "package.json",
@@ -13,7 +13,7 @@ import type * as Devtools from './devtools/mod.ts'
13
13
  import type { IntentionalShutdownCause, MaterializeError, UnexpectedError } from './errors.ts'
14
14
  import type { LiveStoreSchema } from './schema/mod.ts'
15
15
  import type { SqliteDb } from './sqlite-types.ts'
16
- import type { IsOfflineError, SyncError } from './sync/index.js'
16
+ import type { IsOfflineError, SyncError } from './sync/index.ts'
17
17
 
18
18
  export * as ClientSessionLeaderThreadProxy from './ClientSessionLeaderThreadProxy.ts'
19
19
  export * from './defs.ts'
@@ -138,5 +138,7 @@ export interface AdapterArgs {
138
138
  *
139
139
  * @default undefined
140
140
  */
141
- syncPayload: Schema.JsonValue | undefined
141
+ syncPayloadSchema: Schema.Schema<any> | undefined
142
+ /** Encoded representation of the sync payload matching `syncPayloadSchema`. */
143
+ syncPayloadEncoded: Schema.JsonValue | undefined
142
144
  }
package/src/debug-info.ts CHANGED
@@ -22,6 +22,15 @@ export const SlowQueryInfo = Schema.Struct({
22
22
  startTimePerfNow: Schema.Number,
23
23
  })
24
24
 
25
+ const getSizeLimit = (value: unknown): number =>
26
+ typeof (value as { sizeLimit?: number }).sizeLimit === 'number'
27
+ ? (value as { sizeLimit: number }).sizeLimit
28
+ : Number.POSITIVE_INFINITY
29
+
30
+ const isBoundArrayLike = (value: unknown): value is BoundArray<unknown> =>
31
+ value instanceof BoundArray ||
32
+ (value !== null && typeof value === 'object' && typeof (value as { sizeLimit?: number }).sizeLimit === 'number')
33
+
25
34
  const BoundArraySchemaFromSelf = <A, I, R>(
26
35
  item: Schema.Schema<A, I, R>,
27
36
  ): Schema.Schema<BoundArray<A>, BoundArray<I>, R> =>
@@ -29,16 +38,17 @@ const BoundArraySchemaFromSelf = <A, I, R>(
29
38
  [item],
30
39
  {
31
40
  decode: (item) => (input, parseOptions, ast) => {
32
- if (input instanceof BoundArray) {
41
+ if (isBoundArrayLike(input)) {
33
42
  const elements = ParseResult.decodeUnknown(Schema.Array(item))([...input], parseOptions)
34
- return ParseResult.map(elements, (as): BoundArray<A> => BoundArray.make(input.sizeLimit, as))
43
+ return ParseResult.map(elements, (as): BoundArray<A> => BoundArray.make(getSizeLimit(input), as))
35
44
  }
36
45
  return ParseResult.fail(new ParseResult.Type(ast, input))
37
46
  },
38
47
  encode: (item) => (input, parseOptions, ast) => {
39
- if (input instanceof BoundArray) {
40
- const elements = ParseResult.encodeUnknown(Schema.Array(item))([...input], parseOptions)
41
- return ParseResult.map(elements, (is): BoundArray<I> => BoundArray.make(input.sizeLimit, is))
48
+ if (isBoundArrayLike(input)) {
49
+ const items = [...input]
50
+ const elements = ParseResult.encodeUnknown(Schema.Array(item))(items, parseOptions)
51
+ return ParseResult.map(elements, (is): BoundArray<I> => BoundArray.make(getSizeLimit(input), is))
42
52
  }
43
53
  return ParseResult.fail(new ParseResult.Type(ast, input))
44
54
  },
@@ -47,7 +57,28 @@ const BoundArraySchemaFromSelf = <A, I, R>(
47
57
  description: `BoundArray<${Schema.format(item)}>`,
48
58
  pretty: () => (_) => `BoundArray(${_.length})`,
49
59
  arbitrary: () => (fc) => fc.anything() as any,
50
- equivalence: () => (a, b) => a === b,
60
+ equivalence: () => {
61
+ const elementEquivalence = Schema.equivalence(item)
62
+ return (a: unknown, b: unknown) => {
63
+ if (a === b) {
64
+ return true
65
+ }
66
+ if (!isBoundArrayLike(a) || !isBoundArrayLike(b)) {
67
+ return false
68
+ }
69
+ if (getSizeLimit(a) !== getSizeLimit(b) || a.length !== b.length) {
70
+ return false
71
+ }
72
+ const itemsA = [...a]
73
+ const itemsB = [...b]
74
+ for (let i = 0; i < itemsA.length; i++) {
75
+ if (!elementEquivalence(itemsA[i] as any, itemsB[i] as any)) {
76
+ return false
77
+ }
78
+ }
79
+ return true
80
+ }
81
+ },
51
82
  },
52
83
  )
53
84
 
@@ -21,6 +21,12 @@ export const SessionInfo = Schema.TaggedStruct('SessionInfo', {
21
21
  sessionId: Schema.String,
22
22
  schemaAlias: Schema.String,
23
23
  isLeader: Schema.Boolean,
24
+ /**
25
+ * Browser origin that produced this SessionInfo (for example, 'http://localhost:5173').
26
+ * Set by browser-based publishers so DevTools can defensively filter by origin.
27
+ * Currently only needed by the browser extension; non‑browser publishers typically set `undefined`.
28
+ */
29
+ origin: Schema.UndefinedOr(Schema.String),
24
30
  })
25
31
  export type SessionInfo = typeof SessionInfo.Type
26
32
 
@@ -34,7 +34,15 @@ export const makeNodeName = {
34
34
  }
35
35
 
36
36
  export const makeChannelName = {
37
- sessionInfo: () => `session-info`,
37
+ /**
38
+ * SessionInfo channel for DevTools discovery.
39
+ * When an `origin` is provided, it is incorporated into the channel name to scope
40
+ * broadcasts per origin (e.g. `session-info::http%3A%2F%2Flocalhost%3A5173`).
41
+ * The `origin` is currently required only for the browser extension path; non‑browser
42
+ * publishers can pass `undefined` to use the legacy global channel name.
43
+ */
44
+ sessionInfo: ({ origin }: { origin: string | undefined }) =>
45
+ origin ? `session-info::${encodeURIComponent(origin)}` : `session-info`,
38
46
  devtoolsClientSession: ({ storeId, clientId, sessionId }: { storeId: string; clientId: string; sessionId: string }) =>
39
47
  `devtools-channel(client-session-${storeId}-${clientId}-${sessionId})`,
40
48
  devtoolsClientLeader: ({ storeId, clientId, sessionId }: { storeId: string; clientId: string; sessionId: string }) =>
@@ -52,8 +60,9 @@ export const isChannelName = {
52
60
 
53
61
  export const makeSessionInfoBroadcastChannel = (
54
62
  webmeshNode: MeshNode,
63
+ options: { origin: string | undefined },
55
64
  ): Effect.Effect<WebChannel.WebChannel<SessionInfo.Message, SessionInfo.Message>, never, Scope.Scope> =>
56
65
  webmeshNode.makeBroadcastChannel({
57
- channelName: makeChannelName.sessionInfo(),
66
+ channelName: makeChannelName.sessionInfo({ origin: options?.origin }),
58
67
  schema: SessionInfo.Message,
59
68
  })
@@ -247,7 +247,7 @@ export const makeLeaderSyncProcessor = ({
247
247
  // Rehydrate sync queue
248
248
  if (initialSyncState.pending.length > 0) {
249
249
  const globalPendingEvents = initialSyncState.pending
250
- // Don't sync clientOnly events
250
+ // Don't sync client-local events
251
251
  .filter((eventEncoded) => {
252
252
  const eventDef = schema.eventsDefsMap.get(eventEncoded.name)
253
253
  return eventDef === undefined ? true : eventDef.options.clientOnly === false
@@ -562,7 +562,7 @@ const backgroundApplyLocalPushes = ({
562
562
  mergeResult: TRACE_VERBOSE ? JSON.stringify(mergeResult) : undefined,
563
563
  })
564
564
 
565
- // Don't sync clientOnly events
565
+ // Don't sync client-local events
566
566
  const filteredBatch = mergeResult.newEvents.filter((eventEncoded) => {
567
567
  const eventDef = schema.eventsDefsMap.get(eventEncoded.name)
568
568
  return eventDef === undefined ? true : eventDef.options.clientOnly === false
@@ -1,5 +1,5 @@
1
1
  import { omitUndefineds, shouldNeverHappen } from '@livestore/utils'
2
- import type { HttpClient, Schema, Scope } from '@livestore/utils/effect'
2
+ import type { HttpClient, Scope } from '@livestore/utils/effect'
3
3
  import {
4
4
  Deferred,
5
5
  Effect,
@@ -7,6 +7,7 @@ import {
7
7
  Layer,
8
8
  PlatformError,
9
9
  Queue,
10
+ Schema,
10
11
  Stream,
11
12
  Subscribable,
12
13
  SubscriptionRef,
@@ -44,7 +45,8 @@ import { LeaderThreadCtx } from './types.ts'
44
45
 
45
46
  export interface MakeLeaderThreadLayerParams {
46
47
  storeId: string
47
- syncPayload: Schema.JsonValue | undefined
48
+ syncPayloadSchema: Schema.Schema<any> | undefined
49
+ syncPayloadEncoded: Schema.JsonValue | undefined
48
50
  clientId: string
49
51
  schema: LiveStoreSchema
50
52
  makeSqliteDb: MakeSqliteDb
@@ -70,7 +72,8 @@ export const makeLeaderThreadLayer = ({
70
72
  schema,
71
73
  storeId,
72
74
  clientId,
73
- syncPayload,
75
+ syncPayloadSchema = Schema.JsonValue,
76
+ syncPayloadEncoded,
74
77
  makeSqliteDb,
75
78
  syncOptions,
76
79
  dbState,
@@ -81,6 +84,9 @@ export const makeLeaderThreadLayer = ({
81
84
  testing,
82
85
  }: MakeLeaderThreadLayerParams): Layer.Layer<LeaderThreadCtx, UnexpectedError, Scope.Scope | HttpClient.HttpClient> =>
83
86
  Effect.gen(function* () {
87
+ const syncPayloadDecoded =
88
+ syncPayloadEncoded === undefined ? undefined : yield* Schema.decodeUnknown(syncPayloadSchema)(syncPayloadEncoded)
89
+
84
90
  const bootStatusQueue = yield* Queue.unbounded<BootStatus>().pipe(Effect.acquireRelease(Queue.shutdown))
85
91
 
86
92
  const dbEventlogMissing = !hasEventlogTables(dbEventlog)
@@ -93,7 +99,7 @@ export const makeLeaderThreadLayer = ({
93
99
  const syncBackend =
94
100
  syncOptions?.backend === undefined
95
101
  ? undefined
96
- : yield* syncOptions.backend({ storeId, clientId, payload: syncPayload }).pipe(
102
+ : yield* syncOptions.backend({ storeId, clientId, payload: syncPayloadDecoded }).pipe(
97
103
  Effect.provide(
98
104
  Layer.succeed(
99
105
  KeyValueStore.KeyValueStore,
@@ -33,6 +33,7 @@ export const makeClientSession = <R>({
33
33
  webmeshMode,
34
34
  registerBeforeUnload,
35
35
  debugInstanceId,
36
+ origin,
36
37
  }: AdapterArgs & {
37
38
  clientId: string
38
39
  sessionId: string
@@ -46,6 +47,8 @@ export const makeClientSession = <R>({
46
47
  }) => Effect.Effect<void, UnexpectedError, Scope.Scope | R>
47
48
  webmeshMode: 'direct' | 'proxy'
48
49
  registerBeforeUnload: (onBeforeUnload: () => void) => () => void
50
+ /** Browser origin of the client session; used for origin-scoped DevTools mesh channels */
51
+ origin: string | undefined
49
52
  }): Effect.Effect<ClientSession, never, Scope.Scope | R> =>
50
53
  Effect.gen(function* () {
51
54
  const devtools: ClientSession['devtools'] = devtoolsEnabled
@@ -67,11 +70,14 @@ export const makeClientSession = <R>({
67
70
  sessionId,
68
71
  schemaAlias,
69
72
  isLeader,
73
+ origin,
70
74
  })
71
75
 
72
76
  yield* connectWebmeshNode({ webmeshNode, sessionInfo })
73
77
 
74
- const sessionInfoBroadcastChannel = yield* Devtools.makeSessionInfoBroadcastChannel(webmeshNode)
78
+ const sessionInfoBroadcastChannel = yield* Devtools.makeSessionInfoBroadcastChannel(webmeshNode, {
79
+ origin,
80
+ })
75
81
 
76
82
  yield* Devtools.SessionInfo.provideSessionInfo({
77
83
  webChannel: sessionInfoBroadcastChannel,
@@ -44,12 +44,12 @@ Vitest.describe('EventSequenceNumber', () => {
44
44
  expect(EventSequenceNumber.toString(EventSequenceNumber.make({ global: 0, client: 0, rebaseGeneration: 1 }))).toBe(
45
45
  'e0r1',
46
46
  )
47
- expect(EventSequenceNumber.toString(EventSequenceNumber.make({ global: 0, client: 1 }))).toBe('e0+1')
47
+ expect(EventSequenceNumber.toString(EventSequenceNumber.make({ global: 0, client: 1 }))).toBe('e0.1')
48
48
  expect(EventSequenceNumber.toString(EventSequenceNumber.make({ global: 0, client: 1, rebaseGeneration: 1 }))).toBe(
49
- 'e0+1r1',
49
+ 'e0.1r1',
50
50
  )
51
51
  expect(EventSequenceNumber.toString(EventSequenceNumber.make({ global: 5, client: 3, rebaseGeneration: 2 }))).toBe(
52
- 'e5+3r2',
52
+ 'e5.3r2',
53
53
  )
54
54
  })
55
55
 
@@ -59,11 +59,11 @@ Vitest.describe('EventSequenceNumber', () => {
59
59
  expect(EventSequenceNumber.fromString('e0r1')).toStrictEqual(
60
60
  EventSequenceNumber.make({ global: 0, client: 0, rebaseGeneration: 1 }),
61
61
  )
62
- expect(EventSequenceNumber.fromString('e0+1')).toStrictEqual(EventSequenceNumber.make({ global: 0, client: 1 }))
63
- expect(EventSequenceNumber.fromString('e0+1r1')).toStrictEqual(
62
+ expect(EventSequenceNumber.fromString('e0.1')).toStrictEqual(EventSequenceNumber.make({ global: 0, client: 1 }))
63
+ expect(EventSequenceNumber.fromString('e0.1r1')).toStrictEqual(
64
64
  EventSequenceNumber.make({ global: 0, client: 1, rebaseGeneration: 1 }),
65
65
  )
66
- expect(EventSequenceNumber.fromString('e5+3r2')).toStrictEqual(
66
+ expect(EventSequenceNumber.fromString('e5.3r2')).toStrictEqual(
67
67
  EventSequenceNumber.make({ global: 5, client: 3, rebaseGeneration: 2 }),
68
68
  )
69
69
 
@@ -74,7 +74,7 @@ Vitest.describe('EventSequenceNumber', () => {
74
74
  expect(() => EventSequenceNumber.fromString('eabc')).toThrow(
75
75
  'Invalid event sequence number string: invalid number format',
76
76
  )
77
- expect(() => EventSequenceNumber.fromString('e0+abc')).toThrow(
77
+ expect(() => EventSequenceNumber.fromString('e0.abc')).toThrow(
78
78
  'Invalid event sequence number string: invalid number format',
79
79
  )
80
80
  expect(() => EventSequenceNumber.fromString('e0rabc')).toThrow(
@@ -16,7 +16,9 @@ export const rebaseGenerationDefault = 0
16
16
  * LiveStore event sequence number value consisting of a globally unique event sequence number
17
17
  * and a client sequence number.
18
18
  *
19
- * The client sequence number is only used for clientOnly events and starts from 0 for each global sequence number.
19
+ * The client sequence number is only used for client-local events and starts from 0 for each global sequence number.
20
+ *
21
+ * For event notation documentation, see: contributor-docs/events-notation.md
20
22
  */
21
23
  export type EventSequenceNumber = {
22
24
  global: GlobalEventSequenceNumber
@@ -38,7 +40,7 @@ export type EventSequenceNumberInput =
38
40
  */
39
41
  export const EventSequenceNumber = Schema.Struct({
40
42
  global: GlobalEventSequenceNumber,
41
- /** Only increments for clientOnly events */
43
+ /** Only increments for client-local events */
42
44
  client: ClientEventSequenceNumber,
43
45
 
44
46
  // TODO also provide a way to see "confirmation level" of event (e.g. confirmed by leader/sync backend)
@@ -66,18 +68,22 @@ export const compare = (a: EventSequenceNumber, b: EventSequenceNumber) => {
66
68
 
67
69
  /**
68
70
  * Convert an event sequence number to a string representation.
71
+ *
72
+ * For notation documentation, see: contributor-docs/events-notation.md
69
73
  */
70
74
  export const toString = (seqNum: EventSequenceNumber) => {
71
75
  const rebaseGenerationStr = seqNum.rebaseGeneration > 0 ? `r${seqNum.rebaseGeneration}` : ''
72
76
  return seqNum.client === 0
73
77
  ? `e${seqNum.global}${rebaseGenerationStr}`
74
- : `e${seqNum.global}+${seqNum.client}${rebaseGenerationStr}`
78
+ : `e${seqNum.global}.${seqNum.client}${rebaseGenerationStr}`
75
79
  }
76
80
 
77
81
  /**
78
82
  * Convert a string representation of an event sequence number to an event sequence number.
79
- * Parses strings in the format: e{global}[+{client}][r{rebaseGeneration}]
80
- * Examples: "e0", "e0r1", "e0+1", "e0+1r1"
83
+ * Parses strings in the format: e{global}[.{client}][r{rebaseGeneration}]
84
+ * Examples: "e0", "e0r1", "e0.1", "e0.1r1"
85
+ *
86
+ * For full notation documentation, see: contributor-docs/events-notation.md
81
87
  */
82
88
  export const fromString = (str: string): EventSequenceNumber => {
83
89
  if (!str.startsWith('e')) {
@@ -97,7 +103,7 @@ export const fromString = (str: string): EventSequenceNumber => {
97
103
  }
98
104
 
99
105
  // Parse global and client parts
100
- const parts = withoutRebase.split('+')
106
+ const parts = withoutRebase.split('.')
101
107
 
102
108
  // Validate that parts contain only digits (and possibly empty for client)
103
109
  if (parts[0] === '' || !/^\d+$/.test(parts[0]!)) {
@@ -196,7 +202,7 @@ export const nextPair = ({
196
202
  client: clientDefault,
197
203
  rebaseGeneration: rebaseGeneration ?? seqNum.rebaseGeneration,
198
204
  },
199
- // NOTE we always point to `client: 0` for non-clientOnly events
205
+ // NOTE we always point to `client: 0` for non-client-local events
200
206
  parentSeqNum: { global: seqNum.global, client: clientDefault, rebaseGeneration: seqNum.rebaseGeneration },
201
207
  }
202
208
  }
@@ -216,16 +216,16 @@ export class EncodedWithMeta extends Schema.Class<EncodedWithMeta>('LiveStoreEve
216
216
  * the resulting event num will be e4 → e3
217
217
  *
218
218
  * Example: (client event)
219
- * For event e2+1 → e2 which should be rebased on event e3 → e2
220
- * the resulting event num will be e3+1 → e3
219
+ * For event e2.1 → e2 which should be rebased on event e3 → e2
220
+ * the resulting event num will be e3.1 → e3
221
221
  *
222
- * Syntax: e2+2 → e2+1
222
+ * Syntax: e2.2 → e2.1
223
223
  * ^ ^ ^ ^
224
224
  * | | | +- client parent number
225
225
  * | | +--- global parent number
226
226
  * | +-- client number
227
227
  * +---- global number
228
- * Client num is ommitted for global events
228
+ * Client num is omitted for global events
229
229
  */
230
230
  rebase = ({
231
231
  parentSeqNum,
@@ -56,9 +56,9 @@ describe('makeColumnSpec', () => {
56
56
  )
57
57
 
58
58
  const result = makeColumnSpec(table)
59
- expect(result).toMatchInlineSnapshot(`"'order' integer not null , 'group' text "`)
60
- expect(result).toContain("'order'")
61
- expect(result).toContain("'group'")
59
+ expect(result).toMatchInlineSnapshot(`""order" integer not null , "group" text "`)
60
+ expect(result).toContain('"order"')
61
+ expect(result).toContain('"group"')
62
62
  })
63
63
 
64
64
  it('should handle basic columns with primary keys', () => {
@@ -69,8 +69,7 @@ describe('makeColumnSpec', () => {
69
69
  )
70
70
 
71
71
  const result = makeColumnSpec(table)
72
- expect(result).toMatchInlineSnapshot(`"'id' text not null , 'name' text , PRIMARY KEY ('id')"`)
73
- expect(result).toContain("PRIMARY KEY ('id')")
72
+ expect(result).toMatchInlineSnapshot(`""id" text primary key , "name" text "`)
74
73
  })
75
74
 
76
75
  it('should handle multi-column primary keys', () => {
@@ -85,9 +84,9 @@ describe('makeColumnSpec', () => {
85
84
 
86
85
  const result = makeColumnSpec(table)
87
86
  expect(result).toMatchInlineSnapshot(
88
- `"'tenant_id' text not null , 'user_id' text not null , PRIMARY KEY ('tenant_id', 'user_id')"`,
87
+ `""tenant_id" text not null , "user_id" text not null , PRIMARY KEY ("tenant_id", "user_id")"`,
89
88
  )
90
- expect(result).toContain("PRIMARY KEY ('tenant_id', 'user_id')")
89
+ expect(result).toContain('PRIMARY KEY ("tenant_id", "user_id")')
91
90
  })
92
91
 
93
92
  it('should handle auto-increment columns', () => {
@@ -101,9 +100,9 @@ describe('makeColumnSpec', () => {
101
100
  )
102
101
 
103
102
  const result = makeColumnSpec(table)
104
- expect(result).toMatchInlineSnapshot(`"'id' integer not null autoincrement , 'title' text , PRIMARY KEY ('id')"`)
103
+ expect(result).toMatchInlineSnapshot(`""id" integer primary key autoincrement , "title" text "`)
105
104
  expect(result).toContain('autoincrement')
106
- expect(result).toContain("PRIMARY KEY ('id')")
105
+ expect(result).not.toContain("PRIMARY KEY ('id')")
107
106
  })
108
107
 
109
108
  it('should handle columns with default values', () => {
@@ -121,7 +120,7 @@ describe('makeColumnSpec', () => {
121
120
 
122
121
  const result = makeColumnSpec(table)
123
122
  expect(result).toMatchInlineSnapshot(
124
- `"'id' integer not null , 'name' text not null , 'price' real default 0, 'active' integer default true, 'description' text default 'No description', PRIMARY KEY ('id')"`,
123
+ `""id" integer primary key , "name" text not null , "price" real default 0, "active" integer default true, "description" text default 'No description'"`,
125
124
  )
126
125
  expect(result).toContain('default 0')
127
126
  expect(result).toContain('default true')
@@ -141,7 +140,7 @@ describe('makeColumnSpec', () => {
141
140
 
142
141
  const result = makeColumnSpec(table)
143
142
  expect(result).toMatchInlineSnapshot(
144
- `"'id' integer not null , 'created_at' text default CURRENT_TIMESTAMP, 'random_value' real default RANDOM(), PRIMARY KEY ('id')"`,
143
+ `""id" integer primary key , "created_at" text default CURRENT_TIMESTAMP, "random_value" real default RANDOM()"`,
145
144
  )
146
145
  expect(result).toContain('default CURRENT_TIMESTAMP')
147
146
  expect(result).toContain('default RANDOM()')
@@ -158,9 +157,7 @@ describe('makeColumnSpec', () => {
158
157
  )
159
158
 
160
159
  const result = makeColumnSpec(table)
161
- expect(result).toMatchInlineSnapshot(
162
- `"'id' integer not null , 'optional_text' text default null, PRIMARY KEY ('id')"`,
163
- )
160
+ expect(result).toMatchInlineSnapshot(`""id" integer primary key , "optional_text" text default null"`)
164
161
  expect(result).toContain('default null')
165
162
  })
166
163
 
@@ -190,7 +187,7 @@ describe('makeColumnSpec', () => {
190
187
 
191
188
  const result = makeColumnSpec(table)
192
189
  expect(result).toMatchInlineSnapshot(
193
- `"'id' integer not null autoincrement , 'name' text not null default 'Unnamed', 'created_at' text not null default CURRENT_TIMESTAMP, 'status' text default 'pending', PRIMARY KEY ('id')"`,
190
+ `""id" integer primary key autoincrement , "name" text not null default 'Unnamed', "created_at" text not null default CURRENT_TIMESTAMP, "status" text default 'pending'"`,
194
191
  )
195
192
  })
196
193
 
@@ -213,7 +210,7 @@ describe('makeColumnSpec', () => {
213
210
  const result = makeColumnSpec(table)
214
211
  // The makeColumnSpec function only generates column specifications, not indexes
215
212
  expect(result).toMatchInlineSnapshot(
216
- `"'id' integer not null autoincrement , 'email' text not null , 'username' text not null , 'created_at' text default CURRENT_TIMESTAMP, PRIMARY KEY ('id')"`,
213
+ `""id" integer primary key autoincrement , "email" text not null , "username" text not null , "created_at" text default CURRENT_TIMESTAMP"`,
217
214
  )
218
215
  // Verify the table has the indexes (even though they're not in the column spec)
219
216
  expect(table.indexes).toHaveLength(3)