@livestore/common 0.3.0-dev.25 → 0.3.0-dev.27

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 (104) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/adapter-types.d.ts +13 -12
  3. package/dist/adapter-types.d.ts.map +1 -1
  4. package/dist/adapter-types.js +5 -6
  5. package/dist/adapter-types.js.map +1 -1
  6. package/dist/devtools/devtools-messages-client-session.d.ts +21 -21
  7. package/dist/devtools/devtools-messages-common.d.ts +13 -6
  8. package/dist/devtools/devtools-messages-common.d.ts.map +1 -1
  9. package/dist/devtools/devtools-messages-common.js +6 -0
  10. package/dist/devtools/devtools-messages-common.js.map +1 -1
  11. package/dist/devtools/devtools-messages-leader.d.ts +25 -25
  12. package/dist/devtools/devtools-messages-leader.d.ts.map +1 -1
  13. package/dist/devtools/devtools-messages-leader.js +1 -2
  14. package/dist/devtools/devtools-messages-leader.js.map +1 -1
  15. package/dist/leader-thread/LeaderSyncProcessor.d.ts +15 -6
  16. package/dist/leader-thread/LeaderSyncProcessor.d.ts.map +1 -1
  17. package/dist/leader-thread/LeaderSyncProcessor.js +229 -207
  18. package/dist/leader-thread/LeaderSyncProcessor.js.map +1 -1
  19. package/dist/leader-thread/apply-mutation.d.ts +14 -9
  20. package/dist/leader-thread/apply-mutation.d.ts.map +1 -1
  21. package/dist/leader-thread/apply-mutation.js +43 -36
  22. package/dist/leader-thread/apply-mutation.js.map +1 -1
  23. package/dist/leader-thread/leader-worker-devtools.d.ts +1 -1
  24. package/dist/leader-thread/leader-worker-devtools.d.ts.map +1 -1
  25. package/dist/leader-thread/leader-worker-devtools.js +4 -5
  26. package/dist/leader-thread/leader-worker-devtools.js.map +1 -1
  27. package/dist/leader-thread/make-leader-thread-layer.d.ts.map +1 -1
  28. package/dist/leader-thread/make-leader-thread-layer.js +21 -33
  29. package/dist/leader-thread/make-leader-thread-layer.js.map +1 -1
  30. package/dist/leader-thread/mod.d.ts +1 -1
  31. package/dist/leader-thread/mod.d.ts.map +1 -1
  32. package/dist/leader-thread/mod.js +1 -1
  33. package/dist/leader-thread/mod.js.map +1 -1
  34. package/dist/leader-thread/mutationlog.d.ts +19 -3
  35. package/dist/leader-thread/mutationlog.d.ts.map +1 -1
  36. package/dist/leader-thread/mutationlog.js +105 -12
  37. package/dist/leader-thread/mutationlog.js.map +1 -1
  38. package/dist/leader-thread/pull-queue-set.d.ts +1 -1
  39. package/dist/leader-thread/pull-queue-set.d.ts.map +1 -1
  40. package/dist/leader-thread/pull-queue-set.js +6 -16
  41. package/dist/leader-thread/pull-queue-set.js.map +1 -1
  42. package/dist/leader-thread/recreate-db.d.ts.map +1 -1
  43. package/dist/leader-thread/recreate-db.js +4 -3
  44. package/dist/leader-thread/recreate-db.js.map +1 -1
  45. package/dist/leader-thread/types.d.ts +34 -19
  46. package/dist/leader-thread/types.d.ts.map +1 -1
  47. package/dist/leader-thread/types.js.map +1 -1
  48. package/dist/rehydrate-from-mutationlog.d.ts +5 -4
  49. package/dist/rehydrate-from-mutationlog.d.ts.map +1 -1
  50. package/dist/rehydrate-from-mutationlog.js +7 -9
  51. package/dist/rehydrate-from-mutationlog.js.map +1 -1
  52. package/dist/schema/EventId.d.ts +9 -0
  53. package/dist/schema/EventId.d.ts.map +1 -1
  54. package/dist/schema/EventId.js +17 -2
  55. package/dist/schema/EventId.js.map +1 -1
  56. package/dist/schema/MutationEvent.d.ts +78 -25
  57. package/dist/schema/MutationEvent.d.ts.map +1 -1
  58. package/dist/schema/MutationEvent.js +25 -12
  59. package/dist/schema/MutationEvent.js.map +1 -1
  60. package/dist/schema/schema.js +1 -1
  61. package/dist/schema/schema.js.map +1 -1
  62. package/dist/schema/system-tables.d.ts +67 -0
  63. package/dist/schema/system-tables.d.ts.map +1 -1
  64. package/dist/schema/system-tables.js +12 -1
  65. package/dist/schema/system-tables.js.map +1 -1
  66. package/dist/sync/ClientSessionSyncProcessor.d.ts +9 -1
  67. package/dist/sync/ClientSessionSyncProcessor.d.ts.map +1 -1
  68. package/dist/sync/ClientSessionSyncProcessor.js +49 -43
  69. package/dist/sync/ClientSessionSyncProcessor.js.map +1 -1
  70. package/dist/sync/sync.d.ts +6 -5
  71. package/dist/sync/sync.d.ts.map +1 -1
  72. package/dist/sync/sync.js.map +1 -1
  73. package/dist/sync/syncstate.d.ts +60 -84
  74. package/dist/sync/syncstate.d.ts.map +1 -1
  75. package/dist/sync/syncstate.js +127 -136
  76. package/dist/sync/syncstate.js.map +1 -1
  77. package/dist/sync/syncstate.test.js +205 -276
  78. package/dist/sync/syncstate.test.js.map +1 -1
  79. package/dist/version.d.ts +1 -1
  80. package/dist/version.js +1 -1
  81. package/package.json +2 -2
  82. package/src/adapter-types.ts +11 -13
  83. package/src/devtools/devtools-messages-common.ts +9 -0
  84. package/src/devtools/devtools-messages-leader.ts +1 -2
  85. package/src/leader-thread/LeaderSyncProcessor.ts +399 -364
  86. package/src/leader-thread/apply-mutation.ts +81 -71
  87. package/src/leader-thread/leader-worker-devtools.ts +5 -7
  88. package/src/leader-thread/make-leader-thread-layer.ts +26 -41
  89. package/src/leader-thread/mod.ts +1 -1
  90. package/src/leader-thread/mutationlog.ts +166 -13
  91. package/src/leader-thread/recreate-db.ts +4 -3
  92. package/src/leader-thread/types.ts +33 -23
  93. package/src/rehydrate-from-mutationlog.ts +12 -12
  94. package/src/schema/EventId.ts +20 -2
  95. package/src/schema/MutationEvent.ts +32 -16
  96. package/src/schema/schema.ts +1 -1
  97. package/src/schema/system-tables.ts +20 -1
  98. package/src/sync/ClientSessionSyncProcessor.ts +59 -47
  99. package/src/sync/sync.ts +6 -9
  100. package/src/sync/syncstate.test.ts +239 -315
  101. package/src/sync/syncstate.ts +191 -188
  102. package/src/version.ts +1 -1
  103. package/tmp/pack.tgz +0 -0
  104. package/src/leader-thread/pull-queue-set.ts +0 -67
@@ -1 +1 @@
1
- {"version":3,"file":"devtools-messages-leader.js","sourceRoot":"","sources":["../../src/devtools/devtools-messages-leader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"devtools-messages-leader.js","sourceRoot":"","sources":["../../src/devtools/devtools-messages-leader.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ import { UnexpectedError } from '../adapter-types.js';
5
5
  import type { LiveStoreSchema } from '../schema/mod.js';
6
6
  import type { InitialBlockingSyncContext, LeaderSyncProcessor } from './types.js';
7
7
  export declare const BACKEND_PUSH_BATCH_SIZE = 50;
8
+ export declare const LOCAL_PUSH_BATCH_SIZE = 10;
8
9
  /**
9
10
  * The LeaderSyncProcessor manages synchronization of mutations between
10
11
  * the local state and the sync backend, ensuring efficient and orderly processing.
@@ -12,28 +13,36 @@ export declare const BACKEND_PUSH_BATCH_SIZE = 50;
12
13
  * In the LeaderSyncProcessor, pulling always has precedence over pushing.
13
14
  *
14
15
  * Responsibilities:
15
- * - Queueing incoming local mutations in a localPushMailbox.
16
+ * - Queueing incoming local mutations in a localPushesQueue.
16
17
  * - Broadcasting mutations to client sessions via pull queues.
17
18
  * - Pushing mutations to the sync backend.
18
19
  *
19
20
  * Notes:
20
21
  *
21
22
  * local push processing:
22
- * - localPushMailbox:
23
+ * - localPushesQueue:
23
24
  * - Maintains events in ascending order.
24
25
  * - Uses `Deferred` objects to resolve/reject events based on application success.
25
- * - Processes events from the mailbox, applying mutations in batches.
26
+ * - Processes events from the queue, applying mutations in batches.
26
27
  * - Controlled by a `Latch` to manage execution flow.
27
28
  * - The latch closes on pull receipt and re-opens post-pull completion.
28
29
  * - Processes up to `maxBatchSize` events per cycle.
29
30
  *
31
+ * Currently we're advancing the db read model and mutation log in lockstep, but we could also decouple this in the future
32
+ *
33
+ * Tricky concurrency scenarios:
34
+ * - Queued local push batches becoming invalid due to a prior local push item being rejected.
35
+ * Solution: Introduce a generation number for local push batches which is used to filter out old batches items in case of rejection.
36
+ *
30
37
  */
31
- export declare const makeLeaderSyncProcessor: ({ schema, dbMissing, dbMutationLog, clientId, initialBlockingSyncContext, onError, }: {
38
+ export declare const makeLeaderSyncProcessor: ({ schema, dbMutationLogMissing, dbMutationLog, dbReadModel, dbReadModelMissing, initialBlockingSyncContext, onError, }: {
32
39
  schema: LiveStoreSchema;
33
40
  /** Only used to know whether we can safely query dbMutationLog during setup execution */
34
- dbMissing: boolean;
41
+ dbMutationLogMissing: boolean;
35
42
  dbMutationLog: SqliteDb;
36
- clientId: string;
43
+ dbReadModel: SqliteDb;
44
+ /** Only used to know whether we can safely query dbReadModel during setup execution */
45
+ dbReadModelMissing: boolean;
37
46
  initialBlockingSyncContext: InitialBlockingSyncContext;
38
47
  onError: "shutdown" | "ignore";
39
48
  }) => Effect.Effect<LeaderSyncProcessor, UnexpectedError, Scope.Scope>;
@@ -1 +1 @@
1
- {"version":3,"file":"LeaderSyncProcessor.d.ts","sourceRoot":"","sources":["../../src/leader-thread/LeaderSyncProcessor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAc,KAAK,EAAU,MAAM,yBAAyB,CAAA;AACxE,OAAO,EAGL,MAAM,EAUP,MAAM,yBAAyB,CAAA;AAGhC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,KAAK,EAAE,eAAe,EAA2B,MAAM,kBAAkB,CAAA;AAgBhF,OAAO,KAAK,EAAE,0BAA0B,EAAmB,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAGlG,eAAO,MAAM,uBAAuB,KAAK,CAAA;AAQzC;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,uBAAuB,GAAI,sFAOrC;IACD,MAAM,EAAE,eAAe,CAAA;IACvB,yFAAyF;IACzF,SAAS,EAAE,OAAO,CAAA;IAClB,aAAa,EAAE,QAAQ,CAAA;IACvB,QAAQ,EAAE,MAAM,CAAA;IAChB,0BAA0B,EAAE,0BAA0B,CAAA;IACtD,OAAO,EAAE,UAAU,GAAG,QAAQ,CAAA;CAC/B,KAAG,MAAM,CAAC,MAAM,CAAC,mBAAmB,EAAE,eAAe,EAAE,KAAK,CAAC,KAAK,CAuO/D,CAAA"}
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,EASP,MAAM,yBAAyB,CAAA;AAGhC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAavD,OAAO,KAAK,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAGjF,eAAO,MAAM,uBAAuB,KAAK,CAAA;AACzC,eAAO,MAAM,qBAAqB,KAAK,CAAA;AASvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,uBAAuB,GAAI,wHAQrC;IACD,MAAM,EAAE,eAAe,CAAA;IACvB,yFAAyF;IACzF,oBAAoB,EAAE,OAAO,CAAA;IAC7B,aAAa,EAAE,QAAQ,CAAA;IACvB,WAAW,EAAE,QAAQ,CAAA;IACrB,uFAAuF;IACvF,kBAAkB,EAAE,OAAO,CAAA;IAC3B,0BAA0B,EAAE,0BAA0B,CAAA;IACtD,OAAO,EAAE,UAAU,GAAG,QAAQ,CAAA;CAC/B,KAAG,MAAM,CAAC,MAAM,CAAC,mBAAmB,EAAE,eAAe,EAAE,KAAK,CAAC,KAAK,CAgR/D,CAAA"}