@livestore/common 0.4.0-dev.1 → 0.4.0-dev.11

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 (263) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/ClientSessionLeaderThreadProxy.d.ts +8 -3
  3. package/dist/ClientSessionLeaderThreadProxy.d.ts.map +1 -1
  4. package/dist/ClientSessionLeaderThreadProxy.js.map +1 -1
  5. package/dist/adapter-types.d.ts +9 -3
  6. package/dist/adapter-types.d.ts.map +1 -1
  7. package/dist/adapter-types.js.map +1 -1
  8. package/dist/devtools/devtools-messages-client-session.d.ts +21 -21
  9. package/dist/devtools/devtools-messages-common.d.ts +7 -14
  10. package/dist/devtools/devtools-messages-common.d.ts.map +1 -1
  11. package/dist/devtools/devtools-messages-common.js +1 -6
  12. package/dist/devtools/devtools-messages-common.js.map +1 -1
  13. package/dist/devtools/devtools-messages-leader.d.ts +27 -25
  14. package/dist/devtools/devtools-messages-leader.d.ts.map +1 -1
  15. package/dist/errors.d.ts +47 -5
  16. package/dist/errors.d.ts.map +1 -1
  17. package/dist/errors.js +22 -3
  18. package/dist/errors.js.map +1 -1
  19. package/dist/leader-thread/LeaderSyncProcessor.d.ts +7 -3
  20. package/dist/leader-thread/LeaderSyncProcessor.d.ts.map +1 -1
  21. package/dist/leader-thread/LeaderSyncProcessor.js +135 -52
  22. package/dist/leader-thread/LeaderSyncProcessor.js.map +1 -1
  23. package/dist/leader-thread/eventlog.d.ts +4 -10
  24. package/dist/leader-thread/eventlog.d.ts.map +1 -1
  25. package/dist/leader-thread/eventlog.js +4 -6
  26. package/dist/leader-thread/eventlog.js.map +1 -1
  27. package/dist/leader-thread/leader-worker-devtools.d.ts +1 -1
  28. package/dist/leader-thread/leader-worker-devtools.js +6 -2
  29. package/dist/leader-thread/leader-worker-devtools.js.map +1 -1
  30. package/dist/leader-thread/make-leader-thread-layer.d.ts +1 -2
  31. package/dist/leader-thread/make-leader-thread-layer.d.ts.map +1 -1
  32. package/dist/leader-thread/make-leader-thread-layer.js +68 -19
  33. package/dist/leader-thread/make-leader-thread-layer.js.map +1 -1
  34. package/dist/leader-thread/make-leader-thread-layer.test.d.ts +2 -0
  35. package/dist/leader-thread/make-leader-thread-layer.test.d.ts.map +1 -0
  36. package/dist/leader-thread/make-leader-thread-layer.test.js +32 -0
  37. package/dist/leader-thread/make-leader-thread-layer.test.js.map +1 -0
  38. package/dist/leader-thread/materialize-event.d.ts +2 -2
  39. package/dist/leader-thread/materialize-event.d.ts.map +1 -1
  40. package/dist/leader-thread/materialize-event.js +23 -9
  41. package/dist/leader-thread/materialize-event.js.map +1 -1
  42. package/dist/leader-thread/recreate-db.d.ts +2 -3
  43. package/dist/leader-thread/recreate-db.d.ts.map +1 -1
  44. package/dist/leader-thread/recreate-db.js +1 -1
  45. package/dist/leader-thread/recreate-db.js.map +1 -1
  46. package/dist/leader-thread/shutdown-channel.d.ts +2 -2
  47. package/dist/leader-thread/shutdown-channel.d.ts.map +1 -1
  48. package/dist/leader-thread/shutdown-channel.js +2 -2
  49. package/dist/leader-thread/shutdown-channel.js.map +1 -1
  50. package/dist/leader-thread/types.d.ts +7 -5
  51. package/dist/leader-thread/types.d.ts.map +1 -1
  52. package/dist/leader-thread/types.js.map +1 -1
  53. package/dist/materializer-helper.d.ts +1 -1
  54. package/dist/materializer-helper.d.ts.map +1 -1
  55. package/dist/materializer-helper.js +20 -4
  56. package/dist/materializer-helper.js.map +1 -1
  57. package/dist/rematerialize-from-eventlog.d.ts +1 -1
  58. package/dist/rematerialize-from-eventlog.d.ts.map +1 -1
  59. package/dist/rematerialize-from-eventlog.js +25 -16
  60. package/dist/rematerialize-from-eventlog.js.map +1 -1
  61. package/dist/schema/EventDef.d.ts +3 -0
  62. package/dist/schema/EventDef.d.ts.map +1 -1
  63. package/dist/schema/EventDef.js.map +1 -1
  64. package/dist/schema/EventSequenceNumber.d.ts +4 -1
  65. package/dist/schema/EventSequenceNumber.d.ts.map +1 -1
  66. package/dist/schema/EventSequenceNumber.js +4 -1
  67. package/dist/schema/EventSequenceNumber.js.map +1 -1
  68. package/dist/schema/EventSequenceNumber.test.js +2 -2
  69. package/dist/schema/LiveStoreEvent.d.ts +1 -1
  70. package/dist/schema/LiveStoreEvent.d.ts.map +1 -1
  71. package/dist/schema/LiveStoreEvent.js +1 -2
  72. package/dist/schema/LiveStoreEvent.js.map +1 -1
  73. package/dist/schema/mod.d.ts +2 -0
  74. package/dist/schema/mod.d.ts.map +1 -1
  75. package/dist/schema/mod.js +1 -0
  76. package/dist/schema/mod.js.map +1 -1
  77. package/dist/schema/schema.d.ts +15 -0
  78. package/dist/schema/schema.d.ts.map +1 -1
  79. package/dist/schema/schema.js +26 -1
  80. package/dist/schema/schema.js.map +1 -1
  81. package/dist/schema/state/sqlite/client-document-def.d.ts +35 -5
  82. package/dist/schema/state/sqlite/client-document-def.d.ts.map +1 -1
  83. package/dist/schema/state/sqlite/client-document-def.js +95 -4
  84. package/dist/schema/state/sqlite/client-document-def.js.map +1 -1
  85. package/dist/schema/state/sqlite/client-document-def.test.js +16 -0
  86. package/dist/schema/state/sqlite/client-document-def.test.js.map +1 -1
  87. package/dist/schema/state/sqlite/column-annotations.d.ts.map +1 -1
  88. package/dist/schema/state/sqlite/column-annotations.js +14 -6
  89. package/dist/schema/state/sqlite/column-annotations.js.map +1 -1
  90. package/dist/schema/state/sqlite/column-def.d.ts +6 -2
  91. package/dist/schema/state/sqlite/column-def.d.ts.map +1 -1
  92. package/dist/schema/state/sqlite/column-def.js +128 -185
  93. package/dist/schema/state/sqlite/column-def.js.map +1 -1
  94. package/dist/schema/state/sqlite/column-def.test.js +116 -73
  95. package/dist/schema/state/sqlite/column-def.test.js.map +1 -1
  96. package/dist/schema/state/sqlite/db-schema/ast/sqlite.d.ts +2 -1
  97. package/dist/schema/state/sqlite/db-schema/ast/sqlite.d.ts.map +1 -1
  98. package/dist/schema/state/sqlite/db-schema/ast/sqlite.js +23 -6
  99. package/dist/schema/state/sqlite/db-schema/ast/sqlite.js.map +1 -1
  100. package/dist/schema/state/sqlite/db-schema/dsl/mod.d.ts.map +1 -1
  101. package/dist/schema/state/sqlite/db-schema/dsl/mod.js +2 -1
  102. package/dist/schema/state/sqlite/db-schema/dsl/mod.js.map +1 -1
  103. package/dist/schema/state/sqlite/mod.d.ts +1 -1
  104. package/dist/schema/state/sqlite/mod.d.ts.map +1 -1
  105. package/dist/schema/state/sqlite/mod.js +1 -1
  106. package/dist/schema/state/sqlite/mod.js.map +1 -1
  107. package/dist/schema/state/sqlite/query-builder/api.d.ts +5 -2
  108. package/dist/schema/state/sqlite/query-builder/api.d.ts.map +1 -1
  109. package/dist/schema/state/sqlite/query-builder/impl.d.ts.map +1 -1
  110. package/dist/schema/state/sqlite/query-builder/impl.js +6 -2
  111. package/dist/schema/state/sqlite/query-builder/impl.js.map +1 -1
  112. package/dist/schema/state/sqlite/query-builder/impl.test.js +137 -2
  113. package/dist/schema/state/sqlite/query-builder/impl.test.js.map +1 -1
  114. package/dist/schema/state/sqlite/system-tables.d.ts +42 -6
  115. package/dist/schema/state/sqlite/system-tables.d.ts.map +1 -1
  116. package/dist/schema/state/sqlite/system-tables.js +2 -0
  117. package/dist/schema/state/sqlite/system-tables.js.map +1 -1
  118. package/dist/schema/state/sqlite/table-def.d.ts +4 -4
  119. package/dist/schema/state/sqlite/table-def.d.ts.map +1 -1
  120. package/dist/schema/state/sqlite/table-def.js +2 -2
  121. package/dist/schema/state/sqlite/table-def.js.map +1 -1
  122. package/dist/schema/state/sqlite/table-def.test.js +87 -2
  123. package/dist/schema/state/sqlite/table-def.test.js.map +1 -1
  124. package/dist/schema/unknown-events.d.ts +47 -0
  125. package/dist/schema/unknown-events.d.ts.map +1 -0
  126. package/dist/schema/unknown-events.js +69 -0
  127. package/dist/schema/unknown-events.js.map +1 -0
  128. package/dist/sql-queries/sql-query-builder.d.ts.map +1 -1
  129. package/dist/sql-queries/sql-query-builder.js +2 -1
  130. package/dist/sql-queries/sql-query-builder.js.map +1 -1
  131. package/dist/sync/ClientSessionSyncProcessor.d.ts +9 -11
  132. package/dist/sync/ClientSessionSyncProcessor.d.ts.map +1 -1
  133. package/dist/sync/ClientSessionSyncProcessor.js +36 -33
  134. package/dist/sync/ClientSessionSyncProcessor.js.map +1 -1
  135. package/dist/sync/errors.d.ts +61 -0
  136. package/dist/sync/errors.d.ts.map +1 -0
  137. package/dist/sync/errors.js +36 -0
  138. package/dist/sync/errors.js.map +1 -0
  139. package/dist/sync/index.d.ts +3 -0
  140. package/dist/sync/index.d.ts.map +1 -1
  141. package/dist/sync/index.js +3 -0
  142. package/dist/sync/index.js.map +1 -1
  143. package/dist/sync/mock-sync-backend.d.ts +23 -0
  144. package/dist/sync/mock-sync-backend.d.ts.map +1 -0
  145. package/dist/sync/mock-sync-backend.js +114 -0
  146. package/dist/sync/mock-sync-backend.js.map +1 -0
  147. package/dist/sync/next/compact-events.d.ts.map +1 -1
  148. package/dist/sync/next/compact-events.js +4 -5
  149. package/dist/sync/next/compact-events.js.map +1 -1
  150. package/dist/sync/next/facts.d.ts.map +1 -1
  151. package/dist/sync/next/facts.js +1 -2
  152. package/dist/sync/next/facts.js.map +1 -1
  153. package/dist/sync/next/history-dag-common.d.ts +50 -11
  154. package/dist/sync/next/history-dag-common.d.ts.map +1 -1
  155. package/dist/sync/next/history-dag-common.js +193 -4
  156. package/dist/sync/next/history-dag-common.js.map +1 -1
  157. package/dist/sync/next/history-dag.d.ts.map +1 -1
  158. package/dist/sync/next/history-dag.js +3 -1
  159. package/dist/sync/next/history-dag.js.map +1 -1
  160. package/dist/sync/sync-backend-kv.d.ts +7 -0
  161. package/dist/sync/sync-backend-kv.d.ts.map +1 -0
  162. package/dist/sync/sync-backend-kv.js +18 -0
  163. package/dist/sync/sync-backend-kv.js.map +1 -0
  164. package/dist/sync/sync-backend.d.ts +105 -0
  165. package/dist/sync/sync-backend.d.ts.map +1 -0
  166. package/dist/sync/sync-backend.js +61 -0
  167. package/dist/sync/sync-backend.js.map +1 -0
  168. package/dist/sync/sync.d.ts +6 -84
  169. package/dist/sync/sync.d.ts.map +1 -1
  170. package/dist/sync/sync.js +2 -27
  171. package/dist/sync/sync.js.map +1 -1
  172. package/dist/sync/syncstate.test.js +16 -15
  173. package/dist/sync/syncstate.test.js.map +1 -1
  174. package/dist/sync/transport-chunking.d.ts +36 -0
  175. package/dist/sync/transport-chunking.d.ts.map +1 -0
  176. package/dist/sync/transport-chunking.js +56 -0
  177. package/dist/sync/transport-chunking.js.map +1 -0
  178. package/dist/sync/validate-push-payload.d.ts +1 -1
  179. package/dist/sync/validate-push-payload.d.ts.map +1 -1
  180. package/dist/sync/validate-push-payload.js +6 -6
  181. package/dist/sync/validate-push-payload.js.map +1 -1
  182. package/dist/testing/event-factory.d.ts +68 -0
  183. package/dist/testing/event-factory.d.ts.map +1 -0
  184. package/dist/testing/event-factory.js +80 -0
  185. package/dist/testing/event-factory.js.map +1 -0
  186. package/dist/testing/mod.d.ts +2 -0
  187. package/dist/testing/mod.d.ts.map +1 -0
  188. package/dist/testing/mod.js +2 -0
  189. package/dist/testing/mod.js.map +1 -0
  190. package/dist/version.d.ts +2 -2
  191. package/dist/version.d.ts.map +1 -1
  192. package/dist/version.js +2 -2
  193. package/dist/version.js.map +1 -1
  194. package/package.json +7 -8
  195. package/src/ClientSessionLeaderThreadProxy.ts +8 -3
  196. package/src/adapter-types.ts +13 -3
  197. package/src/devtools/devtools-messages-common.ts +1 -8
  198. package/src/errors.ts +33 -4
  199. package/src/leader-thread/LeaderSyncProcessor.ts +204 -63
  200. package/src/leader-thread/eventlog.ts +10 -6
  201. package/src/leader-thread/leader-worker-devtools.ts +6 -2
  202. package/src/leader-thread/make-leader-thread-layer.test.ts +44 -0
  203. package/src/leader-thread/make-leader-thread-layer.ts +137 -26
  204. package/src/leader-thread/materialize-event.ts +34 -9
  205. package/src/leader-thread/recreate-db.ts +11 -3
  206. package/src/leader-thread/shutdown-channel.ts +16 -2
  207. package/src/leader-thread/types.ts +7 -5
  208. package/src/materializer-helper.ts +22 -5
  209. package/src/rematerialize-from-eventlog.ts +33 -23
  210. package/src/schema/EventDef.ts +3 -0
  211. package/src/schema/EventSequenceNumber.test.ts +2 -2
  212. package/src/schema/EventSequenceNumber.ts +5 -2
  213. package/src/schema/LiveStoreEvent.ts +1 -2
  214. package/src/schema/mod.ts +2 -0
  215. package/src/schema/schema.ts +37 -1
  216. package/src/schema/state/sqlite/client-document-def.test.ts +17 -0
  217. package/src/schema/state/sqlite/client-document-def.ts +117 -5
  218. package/src/schema/state/sqlite/column-annotations.ts +16 -6
  219. package/src/schema/state/sqlite/column-def.test.ts +150 -93
  220. package/src/schema/state/sqlite/column-def.ts +136 -203
  221. package/src/schema/state/sqlite/db-schema/ast/sqlite.ts +26 -6
  222. package/src/schema/state/sqlite/db-schema/dsl/mod.ts +2 -1
  223. package/src/schema/state/sqlite/mod.ts +1 -0
  224. package/src/schema/state/sqlite/query-builder/api.ts +7 -2
  225. package/src/schema/state/sqlite/query-builder/impl.test.ts +187 -6
  226. package/src/schema/state/sqlite/query-builder/impl.ts +8 -2
  227. package/src/schema/state/sqlite/system-tables.ts +2 -0
  228. package/src/schema/state/sqlite/table-def.test.ts +112 -2
  229. package/src/schema/state/sqlite/table-def.ts +9 -8
  230. package/src/schema/unknown-events.ts +131 -0
  231. package/src/sql-queries/sql-query-builder.ts +2 -1
  232. package/src/sync/ClientSessionSyncProcessor.ts +56 -49
  233. package/src/sync/errors.ts +38 -0
  234. package/src/sync/index.ts +3 -0
  235. package/src/sync/mock-sync-backend.ts +184 -0
  236. package/src/sync/next/compact-events.ts +4 -5
  237. package/src/sync/next/facts.ts +1 -3
  238. package/src/sync/next/history-dag-common.ts +272 -21
  239. package/src/sync/next/history-dag.ts +3 -1
  240. package/src/sync/sync-backend-kv.ts +22 -0
  241. package/src/sync/sync-backend.ts +185 -0
  242. package/src/sync/sync.ts +6 -89
  243. package/src/sync/syncstate.test.ts +17 -15
  244. package/src/sync/transport-chunking.ts +90 -0
  245. package/src/sync/validate-push-payload.ts +6 -7
  246. package/src/testing/event-factory.ts +133 -0
  247. package/src/testing/mod.ts +1 -0
  248. package/src/version.ts +2 -2
  249. package/dist/schema-management/migrations.test.d.ts +0 -2
  250. package/dist/schema-management/migrations.test.d.ts.map +0 -1
  251. package/dist/schema-management/migrations.test.js +0 -52
  252. package/dist/schema-management/migrations.test.js.map +0 -1
  253. package/dist/sync/next/graphology.d.ts +0 -8
  254. package/dist/sync/next/graphology.d.ts.map +0 -1
  255. package/dist/sync/next/graphology.js +0 -30
  256. package/dist/sync/next/graphology.js.map +0 -1
  257. package/dist/sync/next/graphology_.d.ts +0 -3
  258. package/dist/sync/next/graphology_.d.ts.map +0 -1
  259. package/dist/sync/next/graphology_.js +0 -3
  260. package/dist/sync/next/graphology_.js.map +0 -1
  261. package/src/sync/next/ambient.d.ts +0 -3
  262. package/src/sync/next/graphology.ts +0 -41
  263. package/src/sync/next/graphology_.ts +0 -2
@@ -3,10 +3,10 @@ import * as EventSequenceNumber from "../schema/EventSequenceNumber.js";
3
3
  import * as LiveStoreEvent from "../schema/LiveStoreEvent.js";
4
4
  import * as SyncState from "./syncstate.js";
5
5
  class TestEvent extends LiveStoreEvent.EncodedWithMeta {
6
- payload;
7
- isClient;
8
- constructor(seqNum, parentSeqNum, payload, isClient) {
9
- super({
6
+ payload = 'uninitialized';
7
+ isClient = false;
8
+ static new = (seqNum, parentSeqNum, payload, isClient) => {
9
+ const event = new TestEvent({
10
10
  seqNum: EventSequenceNumber.make(seqNum),
11
11
  parentSeqNum: EventSequenceNumber.make(parentSeqNum),
12
12
  name: 'a',
@@ -14,20 +14,21 @@ class TestEvent extends LiveStoreEvent.EncodedWithMeta {
14
14
  clientId: 'static-local-id',
15
15
  sessionId: 'static-session-id',
16
16
  });
17
- this.payload = payload;
18
- this.isClient = isClient;
19
- }
17
+ event.payload = payload;
18
+ event.isClient = isClient;
19
+ return event;
20
+ };
20
21
  rebase_ = (parentSeqNum, rebaseGeneration) => {
21
22
  return this.rebase({ parentSeqNum, isClient: this.isClient, rebaseGeneration });
22
23
  };
23
24
  }
24
- const e0_1 = new TestEvent({ global: 0, client: 1 }, EventSequenceNumber.ROOT, 'a', true);
25
- const e1_0 = new TestEvent({ global: 1, client: 0 }, EventSequenceNumber.ROOT, 'a', false);
26
- const e1_1 = new TestEvent({ global: 1, client: 1 }, e1_0.seqNum, 'a', true);
27
- const e1_2 = new TestEvent({ global: 1, client: 2 }, e1_1.seqNum, 'a', true);
28
- const e1_3 = new TestEvent({ global: 1, client: 3 }, e1_2.seqNum, 'a', true);
29
- const e2_0 = new TestEvent({ global: 2, client: 0 }, e1_0.seqNum, 'a', false);
30
- const e2_1 = new TestEvent({ global: 2, client: 1 }, e2_0.seqNum, 'a', true);
25
+ const e0_1 = TestEvent.new({ global: 0, client: 1 }, EventSequenceNumber.ROOT, 'a', true);
26
+ const e1_0 = TestEvent.new({ global: 1, client: 0 }, EventSequenceNumber.ROOT, 'a', false);
27
+ const e1_1 = TestEvent.new({ global: 1, client: 1 }, e1_0.seqNum, 'a', true);
28
+ const e1_2 = TestEvent.new({ global: 1, client: 2 }, e1_1.seqNum, 'a', true);
29
+ const e1_3 = TestEvent.new({ global: 1, client: 3 }, e1_2.seqNum, 'a', true);
30
+ const e2_0 = TestEvent.new({ global: 2, client: 0 }, e1_0.seqNum, 'a', false);
31
+ const e2_1 = TestEvent.new({ global: 2, client: 1 }, e2_0.seqNum, 'a', true);
31
32
  const isEqualEvent = LiveStoreEvent.isEqualEncoded;
32
33
  const isClientEvent = (event) => event.isClient;
33
34
  describe('syncstate', () => {
@@ -290,7 +291,7 @@ describe('syncstate', () => {
290
291
  expectEventArraysEqual(result.newEvents, [e1_1, e1_0_e1_2]);
291
292
  });
292
293
  it('should rebase different event with same id', () => {
293
- const e2_0_b = new TestEvent({ global: 1, client: 0 }, e1_0.seqNum, '1_0_b', false);
294
+ const e2_0_b = TestEvent.new({ global: 1, client: 0 }, e1_0.seqNum, '1_0_b', false);
294
295
  const syncState = new SyncState.SyncState({
295
296
  pending: [e2_0_b],
296
297
  upstreamHead: EventSequenceNumber.ROOT,
@@ -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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"}
@@ -0,0 +1,36 @@
1
+ import { Chunk, Effect, Schema } from '@livestore/utils/effect';
2
+ /**
3
+ * Configuration describing how to break a chunk into smaller payload-safe chunks.
4
+ */
5
+ export interface ChunkingOptions<A> {
6
+ /** Maximum number of items that may appear in any emitted chunk. */
7
+ readonly maxItems: number;
8
+ /** Maximum encoded byte size allowed for any emitted chunk. */
9
+ readonly maxBytes: number;
10
+ /**
11
+ * Callback that produces a JSON-serialisable structure whose byte size should
12
+ * fit within {@link maxBytes}. This lets callers control framing overhead.
13
+ */
14
+ readonly encode: (items: ReadonlyArray<A>) => unknown;
15
+ /**
16
+ * Optional custom measurement function. When provided it overrides the
17
+ * default {@link JSON.stringify}-based measurement logic.
18
+ */
19
+ readonly measure?: (items: ReadonlyArray<A>) => number;
20
+ }
21
+ declare const OversizeChunkItemError_base: Schema.TaggedErrorClass<OversizeChunkItemError, "OversizeChunkItemError", {
22
+ readonly _tag: Schema.tag<"OversizeChunkItemError">;
23
+ } & {
24
+ size: typeof Schema.Number;
25
+ maxBytes: typeof Schema.Number;
26
+ }>;
27
+ /**
28
+ * Derives a function that splits an input chunk into sub-chunks confined by
29
+ * both item count and encoded byte size limits. Designed for transports with
30
+ * strict frame caps (e.g. Cloudflare hibernated WebSockets).
31
+ */
32
+ export declare class OversizeChunkItemError extends OversizeChunkItemError_base {
33
+ }
34
+ export declare const splitChunkBySize: <A>(options: ChunkingOptions<A>) => (chunk: Chunk.Chunk<A>) => Effect.Effect<Chunk.Chunk<Chunk.Chunk<A>>, OversizeChunkItemError>;
35
+ export {};
36
+ //# sourceMappingURL=transport-chunking.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transport-chunking.d.ts","sourceRoot":"","sources":["../../src/sync/transport-chunking.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAI/D;;GAEG;AACH,MAAM,WAAW,eAAe,CAAC,CAAC;IAChC,oEAAoE;IACpE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,+DAA+D;IAC/D,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,OAAO,CAAA;IACrD;;;OAGG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,MAAM,CAAA;CACvD;;;;;;;AAED;;;;GAIG;AACH,qBAAa,sBAAuB,SAAQ,2BAG1C;CAAG;AAEL,eAAO,MAAM,gBAAgB,GAC1B,CAAC,EAAE,SAAS,eAAe,CAAC,CAAC,CAAC,MAC9B,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,sBAAsB,CAqDtF,CAAA"}
@@ -0,0 +1,56 @@
1
+ import { Chunk, Effect, Schema } from '@livestore/utils/effect';
2
+ const textEncoder = new TextEncoder();
3
+ /**
4
+ * Derives a function that splits an input chunk into sub-chunks confined by
5
+ * both item count and encoded byte size limits. Designed for transports with
6
+ * strict frame caps (e.g. Cloudflare hibernated WebSockets).
7
+ */
8
+ export class OversizeChunkItemError extends Schema.TaggedError()('OversizeChunkItemError', {
9
+ size: Schema.Number,
10
+ maxBytes: Schema.Number,
11
+ }) {
12
+ }
13
+ export const splitChunkBySize = (options) => (chunk) => Effect.gen(function* () {
14
+ const maxItems = Math.max(1, options.maxItems);
15
+ const maxBytes = Math.max(1, options.maxBytes);
16
+ const encode = options.encode;
17
+ const measure = options.measure;
18
+ const computeSize = (items) => {
19
+ if (measure !== undefined) {
20
+ return measure(items);
21
+ }
22
+ const encoded = encode(items);
23
+ return textEncoder.encode(JSON.stringify(encoded)).byteLength;
24
+ };
25
+ const items = Chunk.toReadonlyArray(chunk);
26
+ if (items.length === 0) {
27
+ return Chunk.fromIterable([]);
28
+ }
29
+ const result = [];
30
+ let current = [];
31
+ const flushCurrent = () => {
32
+ if (current.length > 0) {
33
+ result.push(Chunk.fromIterable(current));
34
+ current = [];
35
+ }
36
+ };
37
+ for (const item of items) {
38
+ current.push(item);
39
+ const exceedsLimit = current.length > maxItems || computeSize(current) > maxBytes;
40
+ if (exceedsLimit) {
41
+ // remove the item we just added and emit the previous chunk if it exists
42
+ const last = current.pop();
43
+ flushCurrent();
44
+ if (last !== undefined) {
45
+ current = [last];
46
+ const singleItemTooLarge = computeSize(current) > maxBytes;
47
+ if (singleItemTooLarge || current.length > maxItems) {
48
+ return yield* new OversizeChunkItemError({ size: computeSize([last]), maxBytes });
49
+ }
50
+ }
51
+ }
52
+ }
53
+ flushCurrent();
54
+ return Chunk.fromIterable(result);
55
+ });
56
+ //# sourceMappingURL=transport-chunking.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transport-chunking.js","sourceRoot":"","sources":["../../src/sync/transport-chunking.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAE/D,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAA;AAsBrC;;;;GAIG;AACH,MAAM,OAAO,sBAAuB,SAAQ,MAAM,CAAC,WAAW,EAA0B,CAAC,wBAAwB,EAAE;IACjH,IAAI,EAAE,MAAM,CAAC,MAAM;IACnB,QAAQ,EAAE,MAAM,CAAC,MAAM;CACxB,CAAC;CAAG;AAEL,MAAM,CAAC,MAAM,gBAAgB,GAC3B,CAAI,OAA2B,EAAE,EAAE,CACnC,CAAC,KAAqB,EAAsE,EAAE,CAC5F,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC9C,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;IAC7B,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAA;IAE/B,MAAM,WAAW,GAAG,CAAC,KAAuB,EAAE,EAAE;QAC9C,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,OAAO,OAAO,CAAC,KAAK,CAAC,CAAA;QACvB,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;QAC7B,OAAO,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAA;IAC/D,CAAC,CAAA;IAED,MAAM,KAAK,GAAG,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,CAAA;IAC1C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,KAAK,CAAC,YAAY,CAAiB,EAAE,CAAC,CAAA;IAC/C,CAAC;IAED,MAAM,MAAM,GAA0B,EAAE,CAAA;IACxC,IAAI,OAAO,GAAa,EAAE,CAAA;IAE1B,MAAM,YAAY,GAAG,GAAG,EAAE;QACxB,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAA;YACxC,OAAO,GAAG,EAAE,CAAA;QACd,CAAC;IACH,CAAC,CAAA;IAED,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAClB,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,GAAG,QAAQ,IAAI,WAAW,CAAC,OAAO,CAAC,GAAG,QAAQ,CAAA;QAEjF,IAAI,YAAY,EAAE,CAAC;YACjB,yEAAyE;YACzE,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,EAAG,CAAA;YAC3B,YAAY,EAAE,CAAA;YAEd,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,OAAO,GAAG,CAAC,IAAI,CAAC,CAAA;gBAChB,MAAM,kBAAkB,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,QAAQ,CAAA;gBAC1D,IAAI,kBAAkB,IAAI,OAAO,CAAC,MAAM,GAAG,QAAQ,EAAE,CAAC;oBACpD,OAAO,KAAK,CAAC,CAAC,IAAI,sBAAsB,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAA;gBACnF,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,YAAY,EAAE,CAAA;IAEd,OAAO,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;AACnC,CAAC,CAAC,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import { Effect } from '@livestore/utils/effect';
2
- import type { EventSequenceNumber, LiveStoreEvent } from '../schema/mod.ts';
2
+ import { EventSequenceNumber, type LiveStoreEvent } from '../schema/mod.ts';
3
3
  import { InvalidPushError } from './sync.ts';
4
4
  export declare const validatePushPayload: (batch: ReadonlyArray<LiveStoreEvent.AnyEncodedGlobal>, currentEventSequenceNumber: EventSequenceNumber.GlobalEventSequenceNumber) => Effect.Effect<undefined, InvalidPushError, never>;
5
5
  //# sourceMappingURL=validate-push-payload.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"validate-push-payload.d.ts","sourceRoot":"","sources":["../../src/sync/validate-push-payload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAEhD,OAAO,KAAK,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAC3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AAG5C,eAAO,MAAM,mBAAmB,GAC9B,OAAO,aAAa,CAAC,cAAc,CAAC,gBAAgB,CAAC,EACrD,4BAA4B,mBAAmB,CAAC,yBAAyB,sDAYvE,CAAA"}
1
+ {"version":3,"file":"validate-push-payload.d.ts","sourceRoot":"","sources":["../../src/sync/validate-push-payload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAEhD,OAAO,EAAE,mBAAmB,EAAE,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAC3E,OAAO,EAAE,gBAAgB,EAAoB,MAAM,WAAW,CAAA;AAG9D,eAAO,MAAM,mBAAmB,GAC9B,OAAO,aAAa,CAAC,cAAc,CAAC,gBAAgB,CAAC,EACrD,4BAA4B,mBAAmB,CAAC,yBAAyB,sDAWvE,CAAA"}
@@ -1,14 +1,14 @@
1
1
  import { Effect } from '@livestore/utils/effect';
2
- import { InvalidPushError } from "./sync.js";
2
+ import { EventSequenceNumber } from "../schema/mod.js";
3
+ import { InvalidPushError, ServerAheadError } from "./sync.js";
3
4
  // TODO proper batch validation
4
5
  export const validatePushPayload = (batch, currentEventSequenceNumber) => Effect.gen(function* () {
5
6
  if (batch[0].seqNum <= currentEventSequenceNumber) {
6
7
  return yield* InvalidPushError.make({
7
- reason: {
8
- _tag: 'ServerAhead',
9
- minimumExpectedNum: currentEventSequenceNumber + 1,
10
- providedNum: batch[0].seqNum,
11
- },
8
+ cause: new ServerAheadError({
9
+ minimumExpectedNum: EventSequenceNumber.globalEventSequenceNumber(currentEventSequenceNumber + 1),
10
+ providedNum: EventSequenceNumber.globalEventSequenceNumber(batch[0].seqNum),
11
+ }),
12
12
  });
13
13
  }
14
14
  });
@@ -1 +1 @@
1
- {"version":3,"file":"validate-push-payload.js","sourceRoot":"","sources":["../../src/sync/validate-push-payload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAGhD,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AAE5C,+BAA+B;AAC/B,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,KAAqD,EACrD,0BAAyE,EACzE,EAAE,CACF,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,IAAI,KAAK,CAAC,CAAC,CAAE,CAAC,MAAM,IAAI,0BAA0B,EAAE,CAAC;QACnD,OAAO,KAAK,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC;YAClC,MAAM,EAAE;gBACN,IAAI,EAAE,aAAa;gBACnB,kBAAkB,EAAE,0BAA0B,GAAG,CAAC;gBAClD,WAAW,EAAE,KAAK,CAAC,CAAC,CAAE,CAAC,MAAM;aAC9B;SACF,CAAC,CAAA;IACJ,CAAC;AACH,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"validate-push-payload.js","sourceRoot":"","sources":["../../src/sync/validate-push-payload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAEhD,OAAO,EAAE,mBAAmB,EAAuB,MAAM,kBAAkB,CAAA;AAC3E,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AAE9D,+BAA+B;AAC/B,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,KAAqD,EACrD,0BAAyE,EACzE,EAAE,CACF,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,IAAI,KAAK,CAAC,CAAC,CAAE,CAAC,MAAM,IAAI,0BAA0B,EAAE,CAAC;QACnD,OAAO,KAAK,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC;YAClC,KAAK,EAAE,IAAI,gBAAgB,CAAC;gBAC1B,kBAAkB,EAAE,mBAAmB,CAAC,yBAAyB,CAAC,0BAA0B,GAAG,CAAC,CAAC;gBACjG,WAAW,EAAE,mBAAmB,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC;aAC7E,CAAC;SACH,CAAC,CAAA;IACJ,CAAC;AACH,CAAC,CAAC,CAAA"}
@@ -0,0 +1,68 @@
1
+ /**
2
+ * Helpers for synthesizing LiveStore events in tests while keeping track of
3
+ * sequence numbers, parent pointers, and authoring client identity. Inspired
4
+ * by the effect-based schema utilities, the factory exposes a namespaced API
5
+ * where each event definition maps to a helper with `next`, `advanceTo`, and
6
+ * `setParent` functions that share a single sequence stream.
7
+ *
8
+ * @example
9
+ * ```ts
10
+ * import { EventFactory } from '@livestore/common/testing'
11
+ * import { events } from './schema'
12
+ *
13
+ * const eventFactory = EventFactory.makeFactory(events)({
14
+ * client: EventFactory.clientIdentity('test-client'),
15
+ * startSeq: 1,
16
+ * initialParent: 'root',
17
+ * })
18
+ *
19
+ * const bootstrap = eventFactory.todoCreated.next({
20
+ * id: 'todo-1',
21
+ * text: 'write tests',
22
+ * completed: false,
23
+ * })
24
+ *
25
+ * eventFactory.todoCreated.advanceTo(42)
26
+ * const branched = eventFactory.todoUpdated.next({
27
+ * id: 'todo-1',
28
+ * text: 'ship feature',
29
+ * completed: true,
30
+ * })
31
+ * ```
32
+ */
33
+ import type { EventDef } from '../schema/EventDef.ts';
34
+ import * as LiveStoreEvent from '../schema/LiveStoreEvent.ts';
35
+ export interface ClientIdentity {
36
+ clientId: string;
37
+ sessionId: string;
38
+ }
39
+ export declare const clientIdentity: (label: string, session?: string) => ClientIdentity;
40
+ export type SequenceValue = 'root' | number;
41
+ type EventFactoriesArgs<TDefs extends Record<string, EventDef.Any>> = {
42
+ [K in keyof TDefs]: Parameters<TDefs[K]>[0];
43
+ };
44
+ type EventFactories<TDefs extends Record<string, EventDef.Any>, TResult> = {
45
+ [K in keyof TDefs]: {
46
+ next: (args: EventFactoriesArgs<TDefs>[K]) => TResult;
47
+ advanceTo: (seq: number, parent?: SequenceValue) => void;
48
+ setParent: (parent: SequenceValue) => void;
49
+ current: () => {
50
+ seq: number;
51
+ parent: SequenceValue;
52
+ };
53
+ };
54
+ };
55
+ export interface EventFactoriesConfig {
56
+ client: ClientIdentity;
57
+ /**
58
+ * @default 1
59
+ */
60
+ startSeq?: number;
61
+ /**
62
+ * @default 0 (root)
63
+ */
64
+ initialParent?: SequenceValue;
65
+ }
66
+ export declare const makeFactory: <TDefs extends Record<string, EventDef.Any>>(eventDefs: TDefs) => ({ client, startSeq, initialParent, }: EventFactoriesConfig) => EventFactories<TDefs, LiveStoreEvent.AnyEncodedGlobal>;
67
+ export {};
68
+ //# sourceMappingURL=event-factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-factory.d.ts","sourceRoot":"","sources":["../../src/testing/event-factory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAIH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAErD,OAAO,KAAK,cAAc,MAAM,6BAA6B,CAAA;AAE7D,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,eAAO,MAAM,cAAc,GAAI,OAAO,MAAM,EAAE,gBAA4B,KAAG,cAG3E,CAAA;AAEF,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,MAAM,CAAA;AAE3C,KAAK,kBAAkB,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,IAAI;KACnE,CAAC,IAAI,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAC5C,CAAA;AAED,KAAK,cAAc,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,IAAI;KACxE,CAAC,IAAI,MAAM,KAAK,GAAG;QAClB,IAAI,EAAE,CAAC,IAAI,EAAE,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,OAAO,CAAA;QACrD,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,aAAa,KAAK,IAAI,CAAA;QACxD,SAAS,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,CAAA;QAC1C,OAAO,EAAE,MAAM;YAAE,GAAG,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,aAAa,CAAA;SAAE,CAAA;KACtD;CACF,CAAA;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,cAAc,CAAA;IACtB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB;;OAEG;IACH,aAAa,CAAC,EAAE,aAAa,CAAA;CAC9B;AAED,eAAO,MAAM,WAAW,GACrB,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,WAAW,KAAK,MAC5D,sCAIE,oBAAoB,KAAG,cAAc,CAAC,KAAK,EAAE,cAAc,CAAC,gBAAgB,CAkD9E,CAAA"}
@@ -0,0 +1,80 @@
1
+ /**
2
+ * Helpers for synthesizing LiveStore events in tests while keeping track of
3
+ * sequence numbers, parent pointers, and authoring client identity. Inspired
4
+ * by the effect-based schema utilities, the factory exposes a namespaced API
5
+ * where each event definition maps to a helper with `next`, `advanceTo`, and
6
+ * `setParent` functions that share a single sequence stream.
7
+ *
8
+ * @example
9
+ * ```ts
10
+ * import { EventFactory } from '@livestore/common/testing'
11
+ * import { events } from './schema'
12
+ *
13
+ * const eventFactory = EventFactory.makeFactory(events)({
14
+ * client: EventFactory.clientIdentity('test-client'),
15
+ * startSeq: 1,
16
+ * initialParent: 'root',
17
+ * })
18
+ *
19
+ * const bootstrap = eventFactory.todoCreated.next({
20
+ * id: 'todo-1',
21
+ * text: 'write tests',
22
+ * completed: false,
23
+ * })
24
+ *
25
+ * eventFactory.todoCreated.advanceTo(42)
26
+ * const branched = eventFactory.todoUpdated.next({
27
+ * id: 'todo-1',
28
+ * text: 'ship feature',
29
+ * completed: true,
30
+ * })
31
+ * ```
32
+ */
33
+ import { Schema } from '@livestore/utils/effect';
34
+ import * as EventSequenceNumber from "../schema/EventSequenceNumber.js";
35
+ import * as LiveStoreEvent from "../schema/LiveStoreEvent.js";
36
+ export const clientIdentity = (label, session = `${label}-session`) => ({
37
+ clientId: label,
38
+ sessionId: session,
39
+ });
40
+ export const makeFactory = (eventDefs) => ({ client, startSeq = 1, initialParent = 'root', }) => {
41
+ let nextSeq = startSeq;
42
+ let parentRef = initialParent;
43
+ const advanceTo = (seq, parent = 'root') => {
44
+ nextSeq = seq;
45
+ parentRef = parent;
46
+ };
47
+ const setParent = (parent) => {
48
+ parentRef = parent;
49
+ };
50
+ const current = () => ({ seq: nextSeq, parent: parentRef });
51
+ const factories = {};
52
+ for (const [name, eventDef] of Object.entries(eventDefs)) {
53
+ const next = (args) => {
54
+ const decoded = eventDef(args);
55
+ const encodedArgs = Schema.encodeSync(eventDef.schema)(decoded.args);
56
+ const encoded = eventDef.encoded(encodedArgs);
57
+ const event = LiveStoreEvent.AnyEncodedGlobal.make({
58
+ name: encoded.name,
59
+ args: encoded.args,
60
+ seqNum: EventSequenceNumber.globalEventSequenceNumber(nextSeq),
61
+ parentSeqNum: parentRef === 'root'
62
+ ? EventSequenceNumber.ROOT.global
63
+ : EventSequenceNumber.globalEventSequenceNumber(parentRef),
64
+ clientId: client.clientId,
65
+ sessionId: client.sessionId,
66
+ });
67
+ parentRef = nextSeq;
68
+ nextSeq = nextSeq + 1;
69
+ return event;
70
+ };
71
+ factories[name] = {
72
+ next,
73
+ advanceTo,
74
+ setParent,
75
+ current,
76
+ };
77
+ }
78
+ return factories;
79
+ };
80
+ //# sourceMappingURL=event-factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-factory.js","sourceRoot":"","sources":["../../src/testing/event-factory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAGhD,OAAO,KAAK,mBAAmB,MAAM,kCAAkC,CAAA;AACvE,OAAO,KAAK,cAAc,MAAM,6BAA6B,CAAA;AAO7D,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAa,EAAE,OAAO,GAAG,GAAG,KAAK,UAAU,EAAkB,EAAE,CAAC,CAAC;IAC9F,QAAQ,EAAE,KAAK;IACf,SAAS,EAAE,OAAO;CACnB,CAAC,CAAA;AA6BF,MAAM,CAAC,MAAM,WAAW,GACtB,CAA6C,SAAgB,EAAE,EAAE,CACjE,CAAC,EACC,MAAM,EACN,QAAQ,GAAG,CAAC,EACZ,aAAa,GAAG,MAAM,GACD,EAA0D,EAAE;IACjF,IAAI,OAAO,GAAG,QAAQ,CAAA;IACtB,IAAI,SAAS,GAAkB,aAAa,CAAA;IAE5C,MAAM,SAAS,GAAG,CAAC,GAAW,EAAE,SAAwB,MAAM,EAAE,EAAE;QAChE,OAAO,GAAG,GAAG,CAAA;QACb,SAAS,GAAG,MAAM,CAAA;IACpB,CAAC,CAAA;IAED,MAAM,SAAS,GAAG,CAAC,MAAqB,EAAE,EAAE;QAC1C,SAAS,GAAG,MAAM,CAAA;IACpB,CAAC,CAAA;IAED,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAA;IAE3D,MAAM,SAAS,GAAoE,EAAE,CAAA;IAErF,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAwC,EAAE,CAAC;QAChG,MAAM,IAAI,GAAG,CAAC,IAA4C,EAAE,EAAE;YAC5D,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAA;YAC9B,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;YACpE,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;YAE7C,MAAM,KAAK,GAAG,cAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC;gBACjD,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,MAAM,EAAE,mBAAmB,CAAC,yBAAyB,CAAC,OAAO,CAAC;gBAC9D,YAAY,EACV,SAAS,KAAK,MAAM;oBAClB,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM;oBACjC,CAAC,CAAC,mBAAmB,CAAC,yBAAyB,CAAC,SAAS,CAAC;gBAC9D,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,SAAS,EAAE,MAAM,CAAC,SAAS;aAC5B,CAAC,CAAA;YAEF,SAAS,GAAG,OAAO,CAAA;YACnB,OAAO,GAAG,OAAO,GAAG,CAAC,CAAA;YAErB,OAAO,KAAK,CAAA;QACd,CAAC,CAAA;QAED,SAAS,CAAC,IAAI,CAAC,GAAG;YAChB,IAAI;YACJ,SAAS;YACT,SAAS;YACT,OAAO;SAC+D,CAAA;IAC1E,CAAC;IAED,OAAO,SAAmE,CAAA;AAC5E,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export * as EventFactory from './event-factory.ts';
2
+ //# sourceMappingURL=mod.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../src/testing/mod.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAA"}
@@ -0,0 +1,2 @@
1
+ export * as EventFactory from "./event-factory.js";
2
+ //# sourceMappingURL=mod.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mod.js","sourceRoot":"","sources":["../../src/testing/mod.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAA"}
package/dist/version.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export declare const liveStoreVersion: "0.4.0-dev.1";
1
+ export declare const liveStoreVersion: "0.4.0-dev.11";
2
2
  /**
3
3
  * This version number is incremented whenever the internal storage format changes in a breaking way.
4
4
  * Whenever this version changes, LiveStore will start with fresh database files. Old database files are not deleted.
@@ -6,5 +6,5 @@ export declare const liveStoreVersion: "0.4.0-dev.1";
6
6
  * While LiveStore is in beta, this might happen more frequently.
7
7
  * In the future, LiveStore will provide a migration path for older database files to avoid the impression of data loss.
8
8
  */
9
- export declare const liveStoreStorageFormatVersion = 5;
9
+ export declare const liveStoreStorageFormatVersion = 6;
10
10
  //# sourceMappingURL=version.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,gBAAgB,EAAG,aAAsB,CAAA;AAEtD;;;;;;GAMG;AACH,eAAO,MAAM,6BAA6B,IAAI,CAAA"}
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,gBAAgB,EAAG,cAAuB,CAAA;AAEvD;;;;;;GAMG;AACH,eAAO,MAAM,6BAA6B,IAAI,CAAA"}
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.1';
4
+ export const liveStoreVersion = '0.4.0-dev.11';
5
5
  /**
6
6
  * This version number is incremented whenever the internal storage format changes in a breaking way.
7
7
  * Whenever this version changes, LiveStore will start with fresh database files. Old database files are not deleted.
@@ -9,5 +9,5 @@ export const liveStoreVersion = '0.4.0-dev.1';
9
9
  * While LiveStore is in beta, this might happen more frequently.
10
10
  * In the future, LiveStore will provide a migration path for older database files to avoid the impression of data loss.
11
11
  */
12
- export const liveStoreStorageFormatVersion = 5;
12
+ export const liveStoreStorageFormatVersion = 6;
13
13
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,kEAAkE;AAClE,sDAAsD;AAEtD,MAAM,CAAC,MAAM,gBAAgB,GAAG,aAAsB,CAAA;AAEtD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,CAAA"}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,kEAAkE;AAClE,sDAAsD;AAEtD,MAAM,CAAC,MAAM,gBAAgB,GAAG,cAAuB,CAAA;AAEvD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@livestore/common",
3
- "version": "0.4.0-dev.1",
3
+ "version": "0.4.0-dev.11",
4
4
  "type": "module",
5
5
  "sideEffects": false,
6
6
  "exports": {
@@ -8,20 +8,19 @@
8
8
  "./sql-queries": "./dist/sql-queries/index.js",
9
9
  "./leader-thread": "./dist/leader-thread/mod.js",
10
10
  "./schema": "./dist/schema/mod.js",
11
+ "./sync": "./dist/sync/index.js",
11
12
  "./sync/next": "./dist/sync/next/mod.js",
12
- "./sync/next/test": "./dist/sync/next/test/mod.js"
13
+ "./sync/next/test": "./dist/sync/next/test/mod.js",
14
+ "./testing": "./dist/testing/mod.js"
13
15
  },
14
16
  "dependencies": {
15
17
  "@opentelemetry/api": "1.9.0",
16
- "graphology": "0.26.0-alpha1",
17
- "graphology-dag": "0.4.1",
18
- "graphology-types": "0.24.8",
19
- "@livestore/webmesh": "0.4.0-dev.1",
20
- "@livestore/utils": "0.4.0-dev.1"
18
+ "@livestore/utils": "0.4.0-dev.11",
19
+ "@livestore/webmesh": "0.4.0-dev.11"
21
20
  },
22
21
  "devDependencies": {
23
22
  "vitest": "3.2.4",
24
- "@livestore/utils-dev": "0.4.0-dev.1"
23
+ "@livestore/utils-dev": "0.4.0-dev.11"
25
24
  },
26
25
  "files": [
27
26
  "package.json",
@@ -1,11 +1,11 @@
1
- import type { Effect, Stream } from '@livestore/utils/effect'
1
+ import type { Effect, Stream, Subscribable } from '@livestore/utils/effect'
2
2
 
3
3
  import type { MigrationsReport } from './defs.ts'
4
4
  import type * as Devtools from './devtools/mod.ts'
5
5
  import type { UnexpectedError } from './errors.ts'
6
6
  import type * as EventSequenceNumber from './schema/EventSequenceNumber.ts'
7
7
  import type { LiveStoreEvent } from './schema/mod.ts'
8
- import type { LeaderAheadError } from './sync/sync.ts'
8
+ import type { LeaderAheadError, SyncBackend } from './sync/sync.ts'
9
9
  import type { PayloadUpstream, SyncState } from './sync/syncstate.ts'
10
10
 
11
11
  export interface ClientSessionLeaderThreadProxy {
@@ -25,9 +25,14 @@ export interface ClientSessionLeaderThreadProxy {
25
25
  }
26
26
  export: Effect.Effect<Uint8Array<ArrayBuffer>, UnexpectedError>
27
27
  getEventlogData: Effect.Effect<Uint8Array<ArrayBuffer>, UnexpectedError>
28
- getSyncState: Effect.Effect<SyncState, UnexpectedError>
28
+ syncState: Subscribable.Subscribable<SyncState, UnexpectedError>
29
29
  /** For debugging purposes it can be useful to manually trigger devtools messages (e.g. to reset the database) */
30
30
  sendDevtoolsMessage: (message: Devtools.Leader.MessageToApp) => Effect.Effect<void, UnexpectedError>
31
+ /**
32
+ * Reactive stream describing the connectivity between the leader and its upstream sync backend.
33
+ * Includes raw connection state, last transition timestamp, and devtools overrides (latch state).
34
+ */
35
+ networkStatus: Subscribable.Subscribable<SyncBackend.NetworkStatus>
31
36
  }
32
37
 
33
38
  export const of = (
@@ -10,15 +10,21 @@ import {
10
10
 
11
11
  import type { ClientSessionLeaderThreadProxy } from './ClientSessionLeaderThreadProxy.ts'
12
12
  import type * as Devtools from './devtools/mod.ts'
13
- import type { IntentionalShutdownCause, SyncError, UnexpectedError } from './errors.ts'
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
17
 
17
18
  export * as ClientSessionLeaderThreadProxy from './ClientSessionLeaderThreadProxy.ts'
18
19
  export * from './defs.ts'
19
20
  export * from './errors.ts'
20
21
  export * from './sqlite-types.ts'
21
22
 
23
+ /**
24
+ * Runtime handle to an active LiveStore client session within the current process.
25
+ * Provides direct access to the embedded SQLite database, leader thread bridge,
26
+ * and lifecycle controls useful for application-level coordination.
27
+ */
22
28
  export interface ClientSession {
23
29
  /** SQLite database with synchronous API running in the same thread (usually in-memory) */
24
30
  sqliteDb: SqliteDb
@@ -27,7 +33,9 @@ export interface ClientSession {
27
33
  sessionId: string
28
34
  /** Status info whether current session is leader or not */
29
35
  lockStatus: SubscriptionRef.SubscriptionRef<LockStatus>
30
- shutdown: (cause: Exit.Exit<IntentionalShutdownCause, UnexpectedError | SyncError>) => Effect.Effect<void>
36
+ shutdown: (
37
+ cause: Exit.Exit<IntentionalShutdownCause, UnexpectedError | SyncError | MaterializeError>,
38
+ ) => Effect.Effect<void>
31
39
  /** A proxy API to communicate with the leader thread */
32
40
  leaderThread: ClientSessionLeaderThreadProxy
33
41
  /** A unique identifier for the current instance of the client session. Used for debugging purposes. */
@@ -121,7 +129,9 @@ export interface AdapterArgs {
121
129
  devtoolsEnabled: boolean
122
130
  debugInstanceId: string
123
131
  bootStatusQueue: Queue.Queue<BootStatus>
124
- shutdown: (exit: Exit.Exit<IntentionalShutdownCause, UnexpectedError | SyncError>) => Effect.Effect<void>
132
+ shutdown: (
133
+ exit: Exit.Exit<IntentionalShutdownCause, UnexpectedError | SyncError | MaterializeError | IsOfflineError>,
134
+ ) => Effect.Effect<void>
125
135
  connectDevtoolsToStore: ConnectDevtoolsToStore
126
136
  /**
127
137
  * Payload that will be passed to the sync backend when connecting