@livestore/common 0.2.0-dev.2 → 0.3.0-dev.0

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 (244) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/__tests__/fixture.d.ts +163 -1
  3. package/dist/__tests__/fixture.d.ts.map +1 -1
  4. package/dist/__tests__/fixture.js +3 -1
  5. package/dist/__tests__/fixture.js.map +1 -1
  6. package/dist/adapter-types.d.ts +53 -38
  7. package/dist/adapter-types.d.ts.map +1 -1
  8. package/dist/adapter-types.js +5 -7
  9. package/dist/adapter-types.js.map +1 -1
  10. package/dist/bounded-collections.d.ts +2 -2
  11. package/dist/bounded-collections.d.ts.map +1 -1
  12. package/dist/debug-info.d.ts +13 -13
  13. package/dist/derived-mutations.d.ts +1 -1
  14. package/dist/derived-mutations.d.ts.map +1 -1
  15. package/dist/devtools/devtools-bridge.d.ts +2 -2
  16. package/dist/devtools/devtools-bridge.d.ts.map +1 -1
  17. package/dist/devtools/devtools-messages.d.ts +84 -196
  18. package/dist/devtools/devtools-messages.d.ts.map +1 -1
  19. package/dist/devtools/devtools-messages.js +55 -61
  20. package/dist/devtools/devtools-messages.js.map +1 -1
  21. package/dist/devtools/index.d.ts.map +1 -1
  22. package/dist/devtools/index.js +1 -2
  23. package/dist/devtools/index.js.map +1 -1
  24. package/dist/index.d.ts +2 -1
  25. package/dist/index.d.ts.map +1 -1
  26. package/dist/index.js +2 -1
  27. package/dist/index.js.map +1 -1
  28. package/dist/init-singleton-tables.d.ts +1 -1
  29. package/dist/init-singleton-tables.d.ts.map +1 -1
  30. package/dist/leader-thread/apply-mutation.d.ts +8 -0
  31. package/dist/leader-thread/apply-mutation.d.ts.map +1 -0
  32. package/dist/leader-thread/apply-mutation.js +95 -0
  33. package/dist/leader-thread/apply-mutation.js.map +1 -0
  34. package/dist/leader-thread/connection.d.ts +11 -0
  35. package/dist/leader-thread/connection.d.ts.map +1 -0
  36. package/dist/leader-thread/connection.js +44 -0
  37. package/dist/leader-thread/connection.js.map +1 -0
  38. package/dist/leader-thread/leader-sync-processor.d.ts +47 -0
  39. package/dist/leader-thread/leader-sync-processor.d.ts.map +1 -0
  40. package/dist/leader-thread/leader-sync-processor.js +422 -0
  41. package/dist/leader-thread/leader-sync-processor.js.map +1 -0
  42. package/dist/leader-thread/leader-worker-devtools.d.ts +6 -0
  43. package/dist/leader-thread/leader-worker-devtools.d.ts.map +1 -0
  44. package/dist/leader-thread/leader-worker-devtools.js +216 -0
  45. package/dist/leader-thread/leader-worker-devtools.js.map +1 -0
  46. package/dist/leader-thread/make-leader-thread-layer.d.ts +20 -0
  47. package/dist/leader-thread/make-leader-thread-layer.d.ts.map +1 -0
  48. package/dist/leader-thread/make-leader-thread-layer.js +106 -0
  49. package/dist/leader-thread/make-leader-thread-layer.js.map +1 -0
  50. package/dist/leader-thread/mod.d.ts +7 -0
  51. package/dist/leader-thread/mod.d.ts.map +1 -0
  52. package/dist/leader-thread/mod.js +7 -0
  53. package/dist/leader-thread/mod.js.map +1 -0
  54. package/dist/leader-thread/mutationlog.d.ts +23 -0
  55. package/dist/leader-thread/mutationlog.d.ts.map +1 -0
  56. package/dist/leader-thread/mutationlog.js +27 -0
  57. package/dist/leader-thread/mutationlog.js.map +1 -0
  58. package/dist/leader-thread/pull-queue-set.d.ts +7 -0
  59. package/dist/leader-thread/pull-queue-set.d.ts.map +1 -0
  60. package/dist/leader-thread/pull-queue-set.js +39 -0
  61. package/dist/leader-thread/pull-queue-set.js.map +1 -0
  62. package/dist/leader-thread/recreate-db.d.ts +7 -0
  63. package/dist/leader-thread/recreate-db.d.ts.map +1 -0
  64. package/dist/leader-thread/recreate-db.js +69 -0
  65. package/dist/leader-thread/recreate-db.js.map +1 -0
  66. package/dist/leader-thread/shutdown-channel.d.ts +15 -0
  67. package/dist/leader-thread/shutdown-channel.d.ts.map +1 -0
  68. package/dist/leader-thread/shutdown-channel.js +7 -0
  69. package/dist/leader-thread/shutdown-channel.js.map +1 -0
  70. package/dist/leader-thread/types.d.ts +87 -0
  71. package/dist/leader-thread/types.d.ts.map +1 -0
  72. package/dist/leader-thread/types.js +11 -0
  73. package/dist/leader-thread/types.js.map +1 -0
  74. package/dist/mutation.d.ts +3 -4
  75. package/dist/mutation.d.ts.map +1 -1
  76. package/dist/mutation.js +0 -14
  77. package/dist/mutation.js.map +1 -1
  78. package/dist/otel.d.ts +7 -0
  79. package/dist/otel.d.ts.map +1 -0
  80. package/dist/otel.js +11 -0
  81. package/dist/otel.js.map +1 -0
  82. package/dist/query-builder/api.d.ts +2 -2
  83. package/dist/query-builder/api.d.ts.map +1 -1
  84. package/dist/query-builder/api.js.map +1 -1
  85. package/dist/query-builder/impl.d.ts +1 -1
  86. package/dist/query-builder/impl.d.ts.map +1 -1
  87. package/dist/query-builder/impl.js +23 -5
  88. package/dist/query-builder/impl.js.map +1 -1
  89. package/dist/query-builder/impl.test.js +30 -1
  90. package/dist/query-builder/impl.test.js.map +1 -1
  91. package/dist/query-info.d.ts +1 -1
  92. package/dist/query-info.d.ts.map +1 -1
  93. package/dist/rehydrate-from-mutationlog.d.ts +1 -1
  94. package/dist/rehydrate-from-mutationlog.d.ts.map +1 -1
  95. package/dist/rehydrate-from-mutationlog.js +6 -6
  96. package/dist/rehydrate-from-mutationlog.js.map +1 -1
  97. package/dist/schema/EventId.d.ts +37 -0
  98. package/dist/schema/EventId.d.ts.map +1 -0
  99. package/dist/schema/EventId.js +30 -0
  100. package/dist/schema/EventId.js.map +1 -0
  101. package/dist/schema/MutationEvent.d.ts +191 -0
  102. package/dist/schema/MutationEvent.d.ts.map +1 -0
  103. package/dist/schema/MutationEvent.js +56 -0
  104. package/dist/schema/MutationEvent.js.map +1 -0
  105. package/dist/schema/mod.d.ts +8 -0
  106. package/dist/schema/mod.d.ts.map +1 -0
  107. package/dist/schema/mod.js +8 -0
  108. package/dist/schema/mod.js.map +1 -0
  109. package/dist/schema/mutations.d.ts +3 -123
  110. package/dist/schema/mutations.d.ts.map +1 -1
  111. package/dist/schema/mutations.js +0 -26
  112. package/dist/schema/mutations.js.map +1 -1
  113. package/dist/schema/{index.d.ts → schema.d.ts} +1 -5
  114. package/dist/schema/schema.d.ts.map +1 -0
  115. package/dist/schema/{index.js → schema.js} +1 -5
  116. package/dist/schema/schema.js.map +1 -0
  117. package/dist/schema/system-tables.d.ts +55 -29
  118. package/dist/schema/system-tables.d.ts.map +1 -1
  119. package/dist/schema/system-tables.js +10 -5
  120. package/dist/schema/system-tables.js.map +1 -1
  121. package/dist/schema-management/migrations.d.ts +1 -1
  122. package/dist/schema-management/migrations.d.ts.map +1 -1
  123. package/dist/schema-management/migrations.js +6 -1
  124. package/dist/schema-management/migrations.js.map +1 -1
  125. package/dist/schema-management/validate-mutation-defs.d.ts +1 -1
  126. package/dist/schema-management/validate-mutation-defs.d.ts.map +1 -1
  127. package/dist/sync/client-session-sync-processor.d.ts +45 -0
  128. package/dist/sync/client-session-sync-processor.d.ts.map +1 -0
  129. package/dist/sync/client-session-sync-processor.js +131 -0
  130. package/dist/sync/client-session-sync-processor.js.map +1 -0
  131. package/dist/sync/index.d.ts +2 -0
  132. package/dist/sync/index.d.ts.map +1 -1
  133. package/dist/sync/index.js +2 -0
  134. package/dist/sync/index.js.map +1 -1
  135. package/dist/sync/next/compact-events.d.ts +1 -1
  136. package/dist/sync/next/compact-events.d.ts.map +1 -1
  137. package/dist/sync/next/compact-events.js +2 -1
  138. package/dist/sync/next/compact-events.js.map +1 -1
  139. package/dist/sync/next/facts.d.ts +5 -5
  140. package/dist/sync/next/facts.d.ts.map +1 -1
  141. package/dist/sync/next/facts.js +1 -1
  142. package/dist/sync/next/facts.js.map +1 -1
  143. package/dist/sync/next/history-dag-common.d.ts +30 -0
  144. package/dist/sync/next/history-dag-common.d.ts.map +1 -0
  145. package/dist/sync/next/history-dag-common.js +20 -0
  146. package/dist/sync/next/history-dag-common.js.map +1 -0
  147. package/dist/sync/next/history-dag.d.ts +4 -27
  148. package/dist/sync/next/history-dag.d.ts.map +1 -1
  149. package/dist/sync/next/history-dag.js +1 -19
  150. package/dist/sync/next/history-dag.js.map +1 -1
  151. package/dist/sync/next/mod.d.ts +1 -0
  152. package/dist/sync/next/mod.d.ts.map +1 -1
  153. package/dist/sync/next/mod.js +1 -0
  154. package/dist/sync/next/mod.js.map +1 -1
  155. package/dist/sync/next/rebase-events.d.ts +3 -2
  156. package/dist/sync/next/rebase-events.d.ts.map +1 -1
  157. package/dist/sync/next/rebase-events.js.map +1 -1
  158. package/dist/sync/next/test/compact-events.test.d.ts.map +1 -1
  159. package/dist/sync/next/test/compact-events.test.js +2 -1
  160. package/dist/sync/next/test/compact-events.test.js.map +1 -1
  161. package/dist/sync/next/test/mutation-fixtures.d.ts +1 -1
  162. package/dist/sync/next/test/mutation-fixtures.d.ts.map +1 -1
  163. package/dist/sync/next/test/mutation-fixtures.js +4 -3
  164. package/dist/sync/next/test/mutation-fixtures.js.map +1 -1
  165. package/dist/sync/sync.d.ts +33 -12
  166. package/dist/sync/sync.d.ts.map +1 -1
  167. package/dist/sync/sync.js +10 -1
  168. package/dist/sync/sync.js.map +1 -1
  169. package/dist/sync/syncstate.d.ts +123 -0
  170. package/dist/sync/syncstate.d.ts.map +1 -0
  171. package/dist/sync/syncstate.js +248 -0
  172. package/dist/sync/syncstate.js.map +1 -0
  173. package/dist/sync/syncstate.test.d.ts +2 -0
  174. package/dist/sync/syncstate.test.d.ts.map +1 -0
  175. package/dist/sync/syncstate.test.js +399 -0
  176. package/dist/sync/syncstate.test.js.map +1 -0
  177. package/dist/sync/validate-push-payload.d.ts +5 -0
  178. package/dist/sync/validate-push-payload.d.ts.map +1 -0
  179. package/dist/sync/validate-push-payload.js +15 -0
  180. package/dist/sync/validate-push-payload.js.map +1 -0
  181. package/dist/util.d.ts +2 -2
  182. package/dist/util.d.ts.map +1 -1
  183. package/dist/version.d.ts +2 -2
  184. package/dist/version.d.ts.map +1 -1
  185. package/dist/version.js +2 -2
  186. package/dist/version.js.map +1 -1
  187. package/package.json +13 -6
  188. package/src/__tests__/fixture.ts +5 -1
  189. package/src/adapter-types.ts +60 -34
  190. package/src/derived-mutations.test.ts +1 -1
  191. package/src/derived-mutations.ts +1 -1
  192. package/src/devtools/devtools-bridge.ts +2 -2
  193. package/src/devtools/devtools-messages.ts +70 -74
  194. package/src/devtools/index.ts +1 -2
  195. package/src/index.ts +2 -1
  196. package/src/init-singleton-tables.ts +1 -1
  197. package/src/leader-thread/apply-mutation.ts +143 -0
  198. package/src/leader-thread/connection.ts +67 -0
  199. package/src/leader-thread/leader-sync-processor.ts +666 -0
  200. package/src/leader-thread/leader-worker-devtools.ts +358 -0
  201. package/src/leader-thread/make-leader-thread-layer.ts +192 -0
  202. package/src/leader-thread/mod.ts +6 -0
  203. package/src/leader-thread/mutationlog.ts +42 -0
  204. package/src/leader-thread/pull-queue-set.ts +58 -0
  205. package/src/leader-thread/recreate-db.ts +109 -0
  206. package/src/leader-thread/shutdown-channel.ts +13 -0
  207. package/src/leader-thread/types.ts +129 -0
  208. package/src/mutation.ts +3 -21
  209. package/src/otel.ts +20 -0
  210. package/src/query-builder/api.ts +3 -2
  211. package/src/query-builder/impl.test.ts +35 -1
  212. package/src/query-builder/impl.ts +23 -6
  213. package/src/query-info.ts +1 -1
  214. package/src/rehydrate-from-mutationlog.ts +7 -11
  215. package/src/schema/EventId.ts +46 -0
  216. package/src/schema/MutationEvent.ts +161 -0
  217. package/src/schema/mod.ts +7 -0
  218. package/src/schema/mutations.ts +5 -126
  219. package/src/schema/{index.ts → schema.ts} +0 -5
  220. package/src/schema/system-tables.ts +18 -5
  221. package/src/schema-management/migrations.ts +9 -2
  222. package/src/schema-management/validate-mutation-defs.ts +1 -1
  223. package/src/sync/client-session-sync-processor.ts +207 -0
  224. package/src/sync/index.ts +2 -0
  225. package/src/sync/next/compact-events.ts +3 -2
  226. package/src/sync/next/facts.ts +11 -5
  227. package/src/sync/next/history-dag-common.ts +44 -0
  228. package/src/sync/next/history-dag.ts +3 -45
  229. package/src/sync/next/mod.ts +1 -0
  230. package/src/sync/next/rebase-events.ts +6 -5
  231. package/src/sync/next/test/compact-events.test.ts +3 -2
  232. package/src/sync/next/test/mutation-fixtures.ts +7 -6
  233. package/src/sync/sync.ts +32 -12
  234. package/src/sync/syncstate.test.ts +464 -0
  235. package/src/sync/syncstate.ts +385 -0
  236. package/src/sync/validate-push-payload.ts +18 -0
  237. package/src/version.ts +2 -2
  238. package/dist/schema/index.d.ts.map +0 -1
  239. package/dist/schema/index.js.map +0 -1
  240. package/dist/sync/next-mutation-event-id-pair.d.ts +0 -14
  241. package/dist/sync/next-mutation-event-id-pair.d.ts.map +0 -1
  242. package/dist/sync/next-mutation-event-id-pair.js +0 -13
  243. package/dist/sync/next-mutation-event-id-pair.js.map +0 -1
  244. package/src/sync/next-mutation-event-id-pair.ts +0 -20
@@ -1,7 +1,7 @@
1
1
  import { Schema, Transferable } from '@livestore/utils/effect';
2
2
  import { NetworkStatus } from '../adapter-types.js';
3
3
  import { DebugInfo } from '../debug-info.js';
4
- import { mutationEventSchemaEncodedAny } from '../schema/mutations.js';
4
+ import * as MutationEvent from '../schema/MutationEvent.js';
5
5
  import { PreparedBindValues } from '../util.js';
6
6
  import { liveStoreVersion as pkgVersion } from '../version.js';
7
7
  const requestId = Schema.String;
@@ -12,84 +12,92 @@ const LSDMessage = (tag, fields) => Schema.TaggedStruct(tag, {
12
12
  ...fields,
13
13
  }).annotations({ identifier: tag });
14
14
  const LSDChannelMessage = (tag, fields) => LSDMessage(tag, {
15
+ ...fields,
16
+ });
17
+ const LSDStoreChannelMessage = (tag, fields) => LSDMessage(tag, {
15
18
  appHostId,
16
19
  ...fields,
17
20
  });
21
+ const LSDStoreReqResMessage = (tag, fields) => LSDMessage(tag, {
22
+ appHostId,
23
+ requestId,
24
+ ...fields,
25
+ });
18
26
  const LSDReqResMessage = (tag, fields) => LSDChannelMessage(tag, {
19
27
  requestId,
20
28
  ...fields,
21
29
  });
22
- export class SnapshotReq extends LSDReqResMessage('LSD.SnapshotReq', {}) {
30
+ export class SnapshotReq extends LSDReqResMessage('LSD.Leader.SnapshotReq', {}) {
23
31
  }
24
- export class SnapshotRes extends LSDReqResMessage('LSD.SnapshotRes', {
32
+ export class SnapshotRes extends LSDReqResMessage('LSD.Leader.SnapshotRes', {
25
33
  snapshot: Transferable.Uint8Array,
26
34
  }) {
27
35
  }
28
- export class LoadDatabaseFileReq extends LSDReqResMessage('LSD.LoadDatabaseFileReq', {
36
+ export class LoadDatabaseFileReq extends LSDReqResMessage('LSD.Leader.LoadDatabaseFileReq', {
29
37
  data: Transferable.Uint8Array,
30
38
  }) {
31
39
  }
32
- export class LoadDatabaseFileRes extends LSDReqResMessage('LSD.LoadDatabaseFileRes', {
40
+ export class LoadDatabaseFileRes extends LSDReqResMessage('LSD.Leader.LoadDatabaseFileRes', {
33
41
  status: Schema.Literal('ok', 'unsupported-file', 'unsupported-database'),
34
42
  }) {
35
43
  }
36
- export class DebugInfoReq extends LSDReqResMessage('LSD.DebugInfoReq', {}) {
44
+ export class DebugInfoReq extends LSDStoreReqResMessage('LSD.DebugInfoReq', {}) {
37
45
  }
38
- export class DebugInfoRes extends LSDReqResMessage('LSD.DebugInfoRes', {
46
+ export class DebugInfoRes extends LSDStoreReqResMessage('LSD.DebugInfoRes', {
39
47
  debugInfo: DebugInfo,
40
48
  }) {
41
49
  }
42
- export class DebugInfoHistorySubscribe extends LSDReqResMessage('LSD.DebugInfoHistorySubscribe', {}) {
50
+ export class DebugInfoHistorySubscribe extends LSDStoreReqResMessage('LSD.DebugInfoHistorySubscribe', {}) {
43
51
  }
44
- export class DebugInfoHistoryRes extends LSDReqResMessage('LSD.DebugInfoHistoryRes', {
52
+ export class DebugInfoHistoryRes extends LSDStoreReqResMessage('LSD.DebugInfoHistoryRes', {
45
53
  debugInfoHistory: Schema.Array(DebugInfo),
46
54
  }) {
47
55
  }
48
- export class DebugInfoHistoryUnsubscribe extends LSDReqResMessage('LSD.DebugInfoHistoryUnsubscribe', {}) {
56
+ export class DebugInfoHistoryUnsubscribe extends LSDStoreReqResMessage('LSD.DebugInfoHistoryUnsubscribe', {}) {
49
57
  }
50
- export class DebugInfoResetReq extends LSDReqResMessage('LSD.DebugInfoResetReq', {}) {
58
+ export class DebugInfoResetReq extends LSDStoreReqResMessage('LSD.DebugInfoResetReq', {}) {
51
59
  }
52
- export class DebugInfoResetRes extends LSDReqResMessage('LSD.DebugInfoResetRes', {}) {
60
+ export class DebugInfoResetRes extends LSDStoreReqResMessage('LSD.DebugInfoResetRes', {}) {
53
61
  }
54
- export class DebugInfoRerunQueryReq extends LSDReqResMessage('LSD.DebugInfoRerunQueryReq', {
62
+ export class DebugInfoRerunQueryReq extends LSDStoreReqResMessage('LSD.DebugInfoRerunQueryReq', {
55
63
  queryStr: Schema.String,
56
64
  bindValues: Schema.UndefinedOr(PreparedBindValues),
57
65
  queriedTables: Schema.ReadonlySet(Schema.String),
58
66
  }) {
59
67
  }
60
- export class DebugInfoRerunQueryRes extends LSDReqResMessage('LSD.DebugInfoRerunQueryRes', {}) {
68
+ export class DebugInfoRerunQueryRes extends LSDStoreReqResMessage('LSD.DebugInfoRerunQueryRes', {}) {
61
69
  }
62
- export class MutationBroadcast extends LSDMessage('LSD.MutationBroadcast', {
63
- mutationEventEncoded: mutationEventSchemaEncodedAny,
64
- persisted: Schema.Boolean,
70
+ // TODO refactor this to use push/pull semantics
71
+ export class MutationBroadcast extends LSDMessage('LSD.Leader.MutationBroadcast', {
72
+ mutationEventEncoded: MutationEvent.EncodedAny,
65
73
  }) {
66
74
  }
67
- export class RunMutationReq extends LSDReqResMessage('LSD.RunMutationReq', {
68
- mutationEventEncoded: mutationEventSchemaEncodedAny.pipe(Schema.omit('id', 'parentId')),
69
- persisted: Schema.Boolean,
75
+ // TODO refactor this to use push/pull semantics
76
+ export class RunMutationReq extends LSDReqResMessage('LSD.Leader.RunMutationReq', {
77
+ mutationEventEncoded: MutationEvent.EncodedAny.pipe(Schema.omit('id', 'parentId')),
70
78
  }) {
71
79
  }
72
- export class RunMutationRes extends LSDReqResMessage('LSD.RunMutationRes', {}) {
80
+ export class RunMutationRes extends LSDReqResMessage('LSD.Leader.RunMutationRes', {}) {
73
81
  }
74
- export class MutationLogReq extends LSDReqResMessage('LSD.MutationLogReq', {}) {
82
+ export class MutationLogReq extends LSDReqResMessage('LSD.Leader.MutationLogReq', {}) {
75
83
  }
76
- export class MutationLogRes extends LSDReqResMessage('LSD.MutationLogRes', {
84
+ export class MutationLogRes extends LSDReqResMessage('LSD.Leader.MutationLogRes', {
77
85
  mutationLog: Transferable.Uint8Array,
78
86
  }) {
79
87
  }
80
- export class ReactivityGraphSubscribe extends LSDReqResMessage('LSD.ReactivityGraphSubscribe', {
88
+ export class ReactivityGraphSubscribe extends LSDStoreReqResMessage('LSD.ReactivityGraphSubscribe', {
81
89
  includeResults: Schema.Boolean,
82
90
  }) {
83
91
  }
84
- export class ReactivityGraphUnsubscribe extends LSDReqResMessage('LSD.ReactivityGraphUnsubscribe', {}) {
92
+ export class ReactivityGraphUnsubscribe extends LSDStoreReqResMessage('LSD.ReactivityGraphUnsubscribe', {}) {
85
93
  }
86
- export class ReactivityGraphRes extends LSDReqResMessage('LSD.ReactivityGraphRes', {
94
+ export class ReactivityGraphRes extends LSDStoreReqResMessage('LSD.ReactivityGraphRes', {
87
95
  reactivityGraph: Schema.Any,
88
96
  }) {
89
97
  }
90
- export class LiveQueriesSubscribe extends LSDReqResMessage('LSD.LiveQueriesSubscribe', {}) {
98
+ export class LiveQueriesSubscribe extends LSDStoreReqResMessage('LSD.LiveQueriesSubscribe', {}) {
91
99
  }
92
- export class LiveQueriesUnsubscribe extends LSDReqResMessage('LSD.LiveQueriesUnsubscribe', {}) {
100
+ export class LiveQueriesUnsubscribe extends LSDStoreReqResMessage('LSD.LiveQueriesUnsubscribe', {}) {
93
101
  }
94
102
  export class SerializedLiveQuery extends Schema.Struct({
95
103
  _tag: Schema.Literal('computed', 'db', 'graphql'),
@@ -101,78 +109,64 @@ export class SerializedLiveQuery extends Schema.Struct({
101
109
  activeSubscriptions: Schema.Array(Schema.Struct({ frames: Schema.Array(Schema.Struct({ name: Schema.String, filePath: Schema.String })) })),
102
110
  }) {
103
111
  }
104
- export class LiveQueriesRes extends LSDReqResMessage('LSD.LiveQueriesRes', {
112
+ export class LiveQueriesRes extends LSDStoreReqResMessage('LSD.LiveQueriesRes', {
105
113
  liveQueries: Schema.Array(SerializedLiveQuery),
106
114
  }) {
107
115
  }
108
- export class ResetAllDataReq extends LSDReqResMessage('LSD.ResetAllDataReq', {
116
+ export class ResetAllDataReq extends LSDReqResMessage('LSD.Leader.ResetAllDataReq', {
109
117
  mode: Schema.Literal('all-data', 'only-app-db'),
110
118
  }) {
111
119
  }
112
- export class ResetAllDataRes extends LSDReqResMessage('LSD.ResetAllDataRes', {}) {
120
+ export class ResetAllDataRes extends LSDReqResMessage('LSD.Leader.ResetAllDataRes', {}) {
113
121
  }
114
- export class DatabaseFileInfoReq extends LSDReqResMessage('LSD.DatabaseFileInfoReq', {}) {
122
+ export class DatabaseFileInfoReq extends LSDReqResMessage('LSD.Leader.DatabaseFileInfoReq', {}) {
115
123
  }
116
124
  export class DatabaseFileInfo extends Schema.Struct({
117
125
  fileSize: Schema.Number,
118
126
  persistenceInfo: Schema.Struct({ fileName: Schema.String }, { key: Schema.String, value: Schema.Any }),
119
127
  }) {
120
128
  }
121
- export class DatabaseFileInfoRes extends LSDReqResMessage('LSD.DatabaseFileInfoRes', {
129
+ export class DatabaseFileInfoRes extends LSDReqResMessage('LSD.Leader.DatabaseFileInfoRes', {
122
130
  db: DatabaseFileInfo,
123
131
  mutationLog: DatabaseFileInfo,
124
132
  }) {
125
133
  }
126
- export class MessagePortForStoreReq extends LSDReqResMessage('LSD.MessagePortForStoreReq', {}) {
134
+ export class NetworkStatusSubscribe extends LSDReqResMessage('LSD.Leader.NetworkStatusSubscribe', {}) {
127
135
  }
128
- export class MessagePortForStoreRes extends LSDReqResMessage('LSD.MessagePortForStoreRes', {
129
- port: Transferable.MessagePort,
130
- }) {
136
+ export class NetworkStatusUnsubscribe extends LSDReqResMessage('LSD.Leader.NetworkStatusUnsubscribe', {}) {
131
137
  }
132
- export class NetworkStatusSubscribe extends LSDReqResMessage('LSD.NetworkStatusSubscribe', {}) {
133
- }
134
- export class NetworkStatusUnsubscribe extends LSDReqResMessage('LSD.NetworkStatusUnsubscribe', {}) {
135
- }
136
- export class NetworkStatusRes extends LSDReqResMessage('LSD.NetworkStatusRes', {
138
+ export class NetworkStatusRes extends LSDReqResMessage('LSD.Leader.NetworkStatusRes', {
137
139
  networkStatus: NetworkStatus,
138
140
  }) {
139
141
  }
140
- export class SyncingInfoReq extends LSDReqResMessage('LSD.SyncingInfoReq', {}) {
142
+ export class SyncingInfoReq extends LSDReqResMessage('LSD.Leader.SyncingInfoReq', {}) {
141
143
  }
142
144
  export class SyncingInfo extends Schema.Struct({
143
145
  enabled: Schema.Boolean,
144
146
  metadata: Schema.Record({ key: Schema.String, value: Schema.Any }),
145
147
  }) {
146
148
  }
147
- export class SyncingInfoRes extends LSDReqResMessage('LSD.SyncingInfoRes', {
149
+ export class SyncingInfoRes extends LSDReqResMessage('LSD.Leader.SyncingInfoRes', {
148
150
  syncingInfo: SyncingInfo,
149
151
  }) {
150
152
  }
151
- export class SyncHistorySubscribe extends LSDReqResMessage('LSD.SyncHistorySubscribe', {}) {
153
+ export class SyncHistorySubscribe extends LSDReqResMessage('LSD.Leader.SyncHistorySubscribe', {}) {
152
154
  }
153
- export class SyncHistoryUnsubscribe extends LSDReqResMessage('LSD.SyncHistoryUnsubscribe', {}) {
155
+ export class SyncHistoryUnsubscribe extends LSDReqResMessage('LSD.Leader.SyncHistoryUnsubscribe', {}) {
154
156
  }
155
- export class SyncHistoryRes extends LSDReqResMessage('LSD.SyncHistoryRes', {
156
- mutationEventEncoded: mutationEventSchemaEncodedAny,
157
+ export class SyncHistoryRes extends LSDReqResMessage('LSD.Leader.SyncHistoryRes', {
158
+ mutationEventEncoded: MutationEvent.EncodedAny,
157
159
  metadata: Schema.Option(Schema.JsonValue),
158
160
  }) {
159
161
  }
160
- export class DevtoolsReady extends LSDMessage('LSD.DevtoolsReady', {}) {
161
- }
162
- export class DevtoolsConnected extends LSDChannelMessage('LSD.DevtoolsConnected', {}) {
163
- }
164
- export class AppHostReady extends LSDChannelMessage('LSD.AppHostReady', {
165
- isLeader: Schema.Boolean,
166
- }) {
167
- }
168
- export class Disconnect extends LSDChannelMessage('LSD.Disconnect', {}) {
162
+ export class Disconnect extends LSDStoreChannelMessage('LSD.Disconnect', {}) {
169
163
  }
170
164
  export class Ping extends LSDReqResMessage('LSD.Ping', {}) {
171
165
  }
172
166
  export class Pong extends LSDReqResMessage('LSD.Pong', {}) {
173
167
  }
174
- export const MessageToAppHostCoordinator = Schema.Union(SnapshotReq, LoadDatabaseFileReq, MutationLogReq, ResetAllDataReq, MessagePortForStoreRes, NetworkStatusSubscribe, NetworkStatusUnsubscribe, DevtoolsReady, Disconnect, DevtoolsConnected, RunMutationReq, Ping, DatabaseFileInfoReq, SyncHistorySubscribe, SyncHistoryUnsubscribe, SyncingInfoReq).annotations({ identifier: 'LSD.MessageToAppHostCoordinator' });
175
- export const MessageToAppHostStore = Schema.Union(DebugInfoReq, DebugInfoHistorySubscribe, DebugInfoHistoryUnsubscribe, DebugInfoResetReq, DebugInfoRerunQueryReq, ReactivityGraphSubscribe, ReactivityGraphUnsubscribe, LiveQueriesSubscribe, LiveQueriesUnsubscribe).annotations({ identifier: 'LSD.MessageToAppHostStore' });
176
- export const MessageFromAppHostCoordinator = Schema.Union(SnapshotRes, LoadDatabaseFileRes, MutationLogRes, ResetAllDataRes, MessagePortForStoreReq, Disconnect, MutationBroadcast, AppHostReady, NetworkStatusRes, RunMutationRes, Pong, DatabaseFileInfoRes, SyncHistoryRes, SyncingInfoRes).annotations({ identifier: 'LSD.MessageFromAppHostCoordinator' });
177
- export const MessageFromAppHostStore = Schema.Union(DebugInfoRes, DebugInfoHistoryRes, DebugInfoResetRes, DebugInfoRerunQueryRes, ReactivityGraphRes, LiveQueriesRes).annotations({ identifier: 'LSD.MessageFromAppHostStore' });
168
+ export const MessageToAppLeader = Schema.Union(SnapshotReq, LoadDatabaseFileReq, MutationLogReq, ResetAllDataReq, NetworkStatusSubscribe, NetworkStatusUnsubscribe, Disconnect, RunMutationReq, Ping, DatabaseFileInfoReq, SyncHistorySubscribe, SyncHistoryUnsubscribe, SyncingInfoReq).annotations({ identifier: 'LSD.MessageToAppLeader' });
169
+ export const MessageToAppClientSession = Schema.Union(DebugInfoReq, DebugInfoHistorySubscribe, DebugInfoHistoryUnsubscribe, DebugInfoResetReq, DebugInfoRerunQueryReq, ReactivityGraphSubscribe, ReactivityGraphUnsubscribe, LiveQueriesSubscribe, LiveQueriesUnsubscribe, Disconnect).annotations({ identifier: 'LSD.MessageToAppClientSession' });
170
+ export const MessageFromAppLeader = Schema.Union(SnapshotRes, LoadDatabaseFileRes, MutationLogRes, ResetAllDataRes, Disconnect, MutationBroadcast, NetworkStatusRes, RunMutationRes, Pong, DatabaseFileInfoRes, SyncHistoryRes, SyncingInfoRes).annotations({ identifier: 'LSD.MessageFromAppLeader' });
171
+ export const MessageFromAppClientSession = Schema.Union(DebugInfoRes, DebugInfoHistoryRes, DebugInfoResetRes, DebugInfoRerunQueryRes, ReactivityGraphRes, LiveQueriesRes, Disconnect).annotations({ identifier: 'LSD.MessageFromAppClientSession' });
178
172
  //# sourceMappingURL=devtools-messages.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"devtools-messages.js","sourceRoot":"","sources":["../../src/devtools/devtools-messages.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"devtools-messages.js","sourceRoot":"","sources":["../../src/devtools/devtools-messages.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/devtools/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAE5D,cAAc,wBAAwB,CAAA;AACtC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,sBAAsB,CAAA;AAEpC,yBAAiB,SAAS,CAAC;;;;;IACzB,MAAM,OAAO,YAAa,SAAQ,iBAIhC;KAAG;;;;IAEL,MAAM,OAAO,aAAc,SAAQ,kBAEjC;KAAG;;;;QAKH;;;WAGG;;;;;IANL,MAAM,OAAO,iBAAkB,SAAQ,sBAUrC;KAAG;;;;IAEL,MAAM,OAAO,qBAAsB,SAAQ,0BAEzC;KAAG;;IAML,MAAM,OAAO,GAAI,SAAQ,QAAmF;KAAG;IAE/G,MAAM,CAAC,MAAM,oBAAoB,SACzB,MAAM,KACX,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,GAAG,CAAC,IAAI,EAAE,OAAO,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAKxF,CAAA;;CACL"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/devtools/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAE5D,cAAc,wBAAwB,CAAA;AACtC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,sBAAsB,CAAA;AAEpC,yBAAiB,SAAS,CAAC;;;;;IACzB,MAAM,OAAO,YAAa,SAAQ,iBAIhC;KAAG;;;;IAEL,MAAM,OAAO,aAAc,SAAQ,kBAEjC;KAAG;;;;QAKH;;;WAGG;;;;;IANL,MAAM,OAAO,iBAAkB,SAAQ,sBAUrC;KAAG;;;;IAEL,MAAM,OAAO,qBAAsB,SAAQ,0BAEzC;KAAG;;IAML,MAAM,OAAO,GAAI,SAAQ,QAAmF;KAAG;IAE/G,MAAM,CAAC,MAAM,oBAAoB,SACzB,MAAM,KACX,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,GAAG,CAAC,IAAI,EAAE,OAAO,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAIxF,CAAA;;CACL"}
@@ -42,8 +42,7 @@ export var WebBridge;
42
42
  WebBridge.All = All;
43
43
  WebBridge.makeBroadcastChannel = (key) => WebChannel.broadcastChannel({
44
44
  channelName: `livestore-web-bridge-devtools${key ? `-${key}` : ''}`,
45
- listenSchema: All,
46
- sendSchema: All,
45
+ schema: All,
47
46
  });
48
47
  })(WebBridge || (WebBridge = {}));
49
48
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/devtools/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAE5D,cAAc,wBAAwB,CAAA;AACtC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,sBAAsB,CAAA;AAEpC,MAAM,KAAW,SAAS,CAyCzB;AAzCD,WAAiB,SAAS;IACxB,MAAa,YAAa,SAAQ,MAAM,CAAC,YAAY,CAAC,4BAA4B,EAAE;QAClF,SAAS,EAAE,MAAM,CAAC,MAAM;QACxB,0BAA0B;QAC1B,QAAQ,EAAE,MAAM,CAAC,OAAO;KACzB,CAAC;KAAG;IAJQ,sBAAY,eAIpB,CAAA;IAEL,MAAa,aAAc,SAAQ,MAAM,CAAC,YAAY,CAAC,6BAA6B,EAAE;QACpF,UAAU,EAAE,MAAM,CAAC,MAAM;KAC1B,CAAC;KAAG;IAFQ,uBAAa,gBAErB,CAAA;IAEL,MAAa,iBAAkB,SAAQ,MAAM,CAAC,YAAY,CAAC,iCAAiC,EAAE;QAC5F,UAAU,EAAE,MAAM,CAAC,MAAM;QACzB,SAAS,EAAE,MAAM,CAAC,MAAM;QACxB;;;WAGG;QACH,WAAW,EAAE,MAAM,CAAC,MAAM;QAC1B,QAAQ,EAAE,MAAM,CAAC,OAAO;QACxB,OAAO,EAAE,MAAM,CAAC,MAAM;KACvB,CAAC;KAAG;IAVQ,2BAAiB,oBAUzB,CAAA;IAEL,MAAa,qBAAsB,SAAQ,MAAM,CAAC,YAAY,CAAC,qCAAqC,EAAE;QACpG,SAAS,EAAE,MAAM,CAAC,MAAM;KACzB,CAAC;KAAG;IAFQ,+BAAqB,wBAE7B,CAAA;IAEL,4GAA4G;IAC5G,8BAA8B;IAC9B,QAAQ;IAER,MAAa,GAAI,SAAQ,MAAM,CAAC,KAAK,CAAC,YAAY,EAAE,aAAa,EAAE,iBAAiB,EAAE,qBAAqB,CAAC;KAAG;IAAlG,aAAG,MAA+F,CAAA;IAElG,8BAAoB,GAAG,CAClC,GAAY,EACgF,EAAE,CAC9F,UAAU,CAAC,gBAAgB,CAAC;QAC1B,WAAW,EAAE,gCAAgC,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;QACnE,YAAY,EAAE,GAAG;QACjB,UAAU,EAAE,GAAG;KAChB,CAAC,CAAA;AACN,CAAC,EAzCgB,SAAS,KAAT,SAAS,QAyCzB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/devtools/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAE5D,cAAc,wBAAwB,CAAA;AACtC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,sBAAsB,CAAA;AAEpC,MAAM,KAAW,SAAS,CAwCzB;AAxCD,WAAiB,SAAS;IACxB,MAAa,YAAa,SAAQ,MAAM,CAAC,YAAY,CAAC,4BAA4B,EAAE;QAClF,SAAS,EAAE,MAAM,CAAC,MAAM;QACxB,0BAA0B;QAC1B,QAAQ,EAAE,MAAM,CAAC,OAAO;KACzB,CAAC;KAAG;IAJQ,sBAAY,eAIpB,CAAA;IAEL,MAAa,aAAc,SAAQ,MAAM,CAAC,YAAY,CAAC,6BAA6B,EAAE;QACpF,UAAU,EAAE,MAAM,CAAC,MAAM;KAC1B,CAAC;KAAG;IAFQ,uBAAa,gBAErB,CAAA;IAEL,MAAa,iBAAkB,SAAQ,MAAM,CAAC,YAAY,CAAC,iCAAiC,EAAE;QAC5F,UAAU,EAAE,MAAM,CAAC,MAAM;QACzB,SAAS,EAAE,MAAM,CAAC,MAAM;QACxB;;;WAGG;QACH,WAAW,EAAE,MAAM,CAAC,MAAM;QAC1B,QAAQ,EAAE,MAAM,CAAC,OAAO;QACxB,OAAO,EAAE,MAAM,CAAC,MAAM;KACvB,CAAC;KAAG;IAVQ,2BAAiB,oBAUzB,CAAA;IAEL,MAAa,qBAAsB,SAAQ,MAAM,CAAC,YAAY,CAAC,qCAAqC,EAAE;QACpG,SAAS,EAAE,MAAM,CAAC,MAAM;KACzB,CAAC;KAAG;IAFQ,+BAAqB,wBAE7B,CAAA;IAEL,4GAA4G;IAC5G,8BAA8B;IAC9B,QAAQ;IAER,MAAa,GAAI,SAAQ,MAAM,CAAC,KAAK,CAAC,YAAY,EAAE,aAAa,EAAE,iBAAiB,EAAE,qBAAqB,CAAC;KAAG;IAAlG,aAAG,MAA+F,CAAA;IAElG,8BAAoB,GAAG,CAClC,GAAY,EACgF,EAAE,CAC9F,UAAU,CAAC,gBAAgB,CAAC;QAC1B,WAAW,EAAE,gCAAgC,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;QACnE,MAAM,EAAE,GAAG;KACZ,CAAC,CAAA;AACN,CAAC,EAxCgB,SAAS,KAAT,SAAS,QAwCzB"}
package/dist/index.d.ts CHANGED
@@ -1,7 +1,6 @@
1
1
  export * from './schema/system-tables.js';
2
2
  export * from './util.js';
3
3
  export * from './adapter-types.js';
4
- export * from './sync/next-mutation-event-id-pair.js';
5
4
  export * from './schema-management/migrations.js';
6
5
  export * from './mutation.js';
7
6
  export * from './init-singleton-tables.js';
@@ -14,6 +13,8 @@ export * from './debug-info.js';
14
13
  export * from './bounded-collections.js';
15
14
  export * from './version.js';
16
15
  export * from './query-builder/mod.js';
16
+ export * from './sync/syncstate.js';
17
+ export * from './otel.js';
17
18
  declare global {
18
19
  interface LiveStoreGlobal {
19
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAA;AACzC,cAAc,WAAW,CAAA;AACzB,cAAc,oBAAoB,CAAA;AAClC,cAAc,uCAAuC,CAAA;AACrD,cAAc,mCAAmC,CAAA;AACjD,cAAc,eAAe,CAAA;AAC7B,cAAc,4BAA4B,CAAA;AAC1C,cAAc,iCAAiC,CAAA;AAC/C,cAAc,iBAAiB,CAAA;AAC/B,cAAc,wBAAwB,CAAA;AACtC,cAAc,iBAAiB,CAAA;AAC/B,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAA;AAC/C,cAAc,iBAAiB,CAAA;AAC/B,cAAc,0BAA0B,CAAA;AACxC,cAAc,cAAc,CAAA;AAC5B,cAAc,wBAAwB,CAAA;AAEtC,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,eAAe;KAExB;CACF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAA;AACzC,cAAc,WAAW,CAAA;AACzB,cAAc,oBAAoB,CAAA;AAClC,cAAc,mCAAmC,CAAA;AACjD,cAAc,eAAe,CAAA;AAC7B,cAAc,4BAA4B,CAAA;AAC1C,cAAc,iCAAiC,CAAA;AAC/C,cAAc,iBAAiB,CAAA;AAC/B,cAAc,wBAAwB,CAAA;AACtC,cAAc,iBAAiB,CAAA;AAC/B,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAA;AAC/C,cAAc,iBAAiB,CAAA;AAC/B,cAAc,0BAA0B,CAAA;AACxC,cAAc,cAAc,CAAA;AAC5B,cAAc,wBAAwB,CAAA;AACtC,cAAc,qBAAqB,CAAA;AACnC,cAAc,WAAW,CAAA;AAEzB,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,eAAe;KAExB;CACF"}
package/dist/index.js CHANGED
@@ -1,7 +1,6 @@
1
1
  export * from './schema/system-tables.js';
2
2
  export * from './util.js';
3
3
  export * from './adapter-types.js';
4
- export * from './sync/next-mutation-event-id-pair.js';
5
4
  export * from './schema-management/migrations.js';
6
5
  export * from './mutation.js';
7
6
  export * from './init-singleton-tables.js';
@@ -14,4 +13,6 @@ export * from './debug-info.js';
14
13
  export * from './bounded-collections.js';
15
14
  export * from './version.js';
16
15
  export * from './query-builder/mod.js';
16
+ export * from './sync/syncstate.js';
17
+ export * from './otel.js';
17
18
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAA;AACzC,cAAc,WAAW,CAAA;AACzB,cAAc,oBAAoB,CAAA;AAClC,cAAc,uCAAuC,CAAA;AACrD,cAAc,mCAAmC,CAAA;AACjD,cAAc,eAAe,CAAA;AAC7B,cAAc,4BAA4B,CAAA;AAC1C,cAAc,iCAAiC,CAAA;AAC/C,cAAc,iBAAiB,CAAA;AAC/B,cAAc,wBAAwB,CAAA;AACtC,cAAc,iBAAiB,CAAA;AAC/B,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAA;AAC/C,cAAc,iBAAiB,CAAA;AAC/B,cAAc,0BAA0B,CAAA;AACxC,cAAc,cAAc,CAAA;AAC5B,cAAc,wBAAwB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAA;AACzC,cAAc,WAAW,CAAA;AACzB,cAAc,oBAAoB,CAAA;AAClC,cAAc,mCAAmC,CAAA;AACjD,cAAc,eAAe,CAAA;AAC7B,cAAc,4BAA4B,CAAA;AAC1C,cAAc,iCAAiC,CAAA;AAC/C,cAAc,iBAAiB,CAAA;AAC/B,cAAc,wBAAwB,CAAA;AACtC,cAAc,iBAAiB,CAAA;AAC/B,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAA;AAC/C,cAAc,iBAAiB,CAAA;AAC/B,cAAc,0BAA0B,CAAA;AACxC,cAAc,cAAc,CAAA;AAC5B,cAAc,wBAAwB,CAAA;AACtC,cAAc,qBAAqB,CAAA;AACnC,cAAc,WAAW,CAAA"}
@@ -1,4 +1,4 @@
1
1
  import type { SynchronousDatabase } from './adapter-types.js';
2
- import type { LiveStoreSchema } from './schema/index.js';
2
+ import type { LiveStoreSchema } from './schema/mod.js';
3
3
  export declare const initializeSingletonTables: (schema: LiveStoreSchema, db: SynchronousDatabase) => void;
4
4
  //# sourceMappingURL=init-singleton-tables.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"init-singleton-tables.d.ts","sourceRoot":"","sources":["../src/init-singleton-tables.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAIxD,eAAO,MAAM,yBAAyB,WAAY,eAAe,MAAM,mBAAmB,SAkBzF,CAAA"}
1
+ {"version":3,"file":"init-singleton-tables.d.ts","sourceRoot":"","sources":["../src/init-singleton-tables.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAItD,eAAO,MAAM,yBAAyB,WAAY,eAAe,MAAM,mBAAmB,SAkBzF,CAAA"}
@@ -0,0 +1,8 @@
1
+ import type { Scope } from '@livestore/utils/effect';
2
+ import { Effect } from '@livestore/utils/effect';
3
+ import type { SqliteError, UnexpectedError } from '../index.js';
4
+ import type { MutationEvent } from '../schema/mod.js';
5
+ import { LeaderThreadCtx } from './types.js';
6
+ export type ApplyMutation = (mutationEventEncoded: MutationEvent.AnyEncoded) => Effect.Effect<void, SqliteError | UnexpectedError>;
7
+ export declare const makeApplyMutation: Effect.Effect<ApplyMutation, never, Scope.Scope | LeaderThreadCtx>;
8
+ //# sourceMappingURL=apply-mutation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apply-mutation.d.ts","sourceRoot":"","sources":["../../src/leader-thread/apply-mutation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAA;AACpD,OAAO,EAAE,MAAM,EAAkB,MAAM,yBAAyB,CAAA;AAEhE,OAAO,KAAK,EAAE,WAAW,EAAuB,eAAe,EAAE,MAAM,aAAa,CAAA;AAQpF,OAAO,KAAK,EAAmB,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAGtE,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAE5C,MAAM,MAAM,aAAa,GAAG,CAC1B,oBAAoB,EAAE,aAAa,CAAC,UAAU,KAC3C,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,GAAG,eAAe,CAAC,CAAA;AAEvD,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,eAAe,CAyEhG,CAAA"}
@@ -0,0 +1,95 @@
1
+ import { memoizeByRef, shouldNeverHappen } from '@livestore/utils';
2
+ import { Effect, Option, Schema } from '@livestore/utils/effect';
3
+ import { getExecArgsFromMutation, MUTATION_LOG_META_TABLE, mutationLogMetaTable, SESSION_CHANGESET_META_TABLE, sessionChangesetMetaTable, } from '../index.js';
4
+ import { insertRow } from '../sql-queries/index.js';
5
+ import { execSql, execSqlPrepared } from './connection.js';
6
+ import { LeaderThreadCtx } from './types.js';
7
+ export const makeApplyMutation = Effect.gen(function* () {
8
+ const leaderThreadCtx = yield* LeaderThreadCtx;
9
+ const shouldExcludeMutationFromLog = makeShouldExcludeMutationFromLog(leaderThreadCtx.schema);
10
+ const mutationDefSchemaHashMap = new Map(
11
+ // TODO Running `Schema.hash` can be a bottleneck for larger schemas. There is an opportunity to run this
12
+ // at build time and lookup the pre-computed hash at runtime.
13
+ // Also see https://github.com/Effect-TS/effect/issues/2719
14
+ [...leaderThreadCtx.schema.mutations.entries()].map(([k, v]) => [k, Schema.hash(v.schema)]));
15
+ return (mutationEventEncoded) => Effect.gen(function* () {
16
+ const { mutationEventSchema, schema, db, dbLog } = leaderThreadCtx;
17
+ const mutationEventDecoded = Schema.decodeUnknownSync(mutationEventSchema)(mutationEventEncoded);
18
+ const mutationName = mutationEventDecoded.mutation;
19
+ const mutationDef = schema.mutations.get(mutationName) ?? shouldNeverHappen(`Unknown mutation: ${mutationName}`);
20
+ const execArgsArr = getExecArgsFromMutation({ mutationDef, mutationEventDecoded });
21
+ // console.group('[@livestore/common:leader-thread:applyMutation]', { mutationName })
22
+ const session = db.session();
23
+ for (const { statementSql, bindValues } of execArgsArr) {
24
+ // console.debug(mutationName, statementSql, bindValues)
25
+ // TODO use cached prepared statements instead of exec
26
+ yield* execSqlPrepared(db, statementSql, bindValues);
27
+ }
28
+ const changeset = session.changeset();
29
+ session.finish();
30
+ // NOTE for no-op mutations (e.g. if the state didn't change) the changeset will be empty
31
+ // TODO possibly write a null value instead of omitting the row
32
+ if (changeset !== undefined && changeset.length > 0) {
33
+ // TODO use prepared statements
34
+ yield* execSql(db, ...insertRow({
35
+ tableName: SESSION_CHANGESET_META_TABLE,
36
+ columns: sessionChangesetMetaTable.sqliteDef.columns,
37
+ values: {
38
+ idGlobal: mutationEventEncoded.id.global,
39
+ idLocal: mutationEventEncoded.id.local,
40
+ changeset,
41
+ debug: execArgsArr,
42
+ },
43
+ }));
44
+ }
45
+ // console.groupEnd()
46
+ // write to mutation_log
47
+ const excludeFromMutationLog = shouldExcludeMutationFromLog(mutationName, mutationEventDecoded);
48
+ if (excludeFromMutationLog === false) {
49
+ yield* insertIntoMutationLog(mutationEventEncoded, dbLog, mutationDefSchemaHashMap);
50
+ }
51
+ else {
52
+ // console.debug('[@livestore/common:leader-thread] skipping mutation log write', mutation, statementSql, bindValues)
53
+ }
54
+ }).pipe(Effect.withSpan(`@livestore/common:leader-thread:applyMutation`, {
55
+ attributes: {
56
+ mutationName: mutationEventEncoded.mutation,
57
+ mutationId: mutationEventEncoded.id,
58
+ 'span.label': mutationEventEncoded.mutation,
59
+ },
60
+ }));
61
+ });
62
+ const insertIntoMutationLog = (mutationEventEncoded, dbLog, mutationDefSchemaHashMap) => Effect.gen(function* () {
63
+ const mutationName = mutationEventEncoded.mutation;
64
+ const mutationDefSchemaHash = mutationDefSchemaHashMap.get(mutationName) ?? shouldNeverHappen(`Unknown mutation: ${mutationName}`);
65
+ // TODO use prepared statements
66
+ yield* execSql(dbLog, ...insertRow({
67
+ tableName: MUTATION_LOG_META_TABLE,
68
+ columns: mutationLogMetaTable.sqliteDef.columns,
69
+ values: {
70
+ idGlobal: mutationEventEncoded.id.global,
71
+ idLocal: mutationEventEncoded.id.local,
72
+ parentIdGlobal: mutationEventEncoded.parentId.global,
73
+ parentIdLocal: mutationEventEncoded.parentId.local,
74
+ mutation: mutationEventEncoded.mutation,
75
+ argsJson: mutationEventEncoded.args ?? {},
76
+ schemaHash: mutationDefSchemaHash,
77
+ syncMetadataJson: Option.none(),
78
+ },
79
+ }));
80
+ });
81
+ // TODO let's consider removing this "should exclude" mechanism in favour of log compaction etc
82
+ const makeShouldExcludeMutationFromLog = memoizeByRef((schema) => {
83
+ const migrationOptions = schema.migrationOptions;
84
+ const mutationLogExclude = migrationOptions.strategy === 'from-mutation-log'
85
+ ? (migrationOptions.excludeMutations ?? new Set(['livestore.RawSql']))
86
+ : new Set(['livestore.RawSql']);
87
+ return (mutationName, mutationEventDecoded) => {
88
+ if (mutationLogExclude.has(mutationName))
89
+ return true;
90
+ const mutationDef = schema.mutations.get(mutationName) ?? shouldNeverHappen(`Unknown mutation: ${mutationName}`);
91
+ const execArgsArr = getExecArgsFromMutation({ mutationDef, mutationEventDecoded });
92
+ return execArgsArr.some((_) => _.statementSql.includes('__livestore'));
93
+ };
94
+ });
95
+ //# sourceMappingURL=apply-mutation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apply-mutation.js","sourceRoot":"","sources":["../../src/leader-thread/apply-mutation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAElE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAGhE,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,oBAAoB,EACpB,4BAA4B,EAC5B,yBAAyB,GAC1B,MAAM,aAAa,CAAA;AAEpB,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACnD,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAM5C,MAAM,CAAC,MAAM,iBAAiB,GAAuE,MAAM,CAAC,GAAG,CAC7G,QAAQ,CAAC;IACP,MAAM,eAAe,GAAG,KAAK,CAAC,CAAC,eAAe,CAAA;IAC9C,MAAM,4BAA4B,GAAG,gCAAgC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAA;IAE7F,MAAM,wBAAwB,GAAG,IAAI,GAAG;IACtC,yGAAyG;IACzG,6DAA6D;IAC7D,2DAA2D;IAC3D,CAAC,GAAG,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAU,CAAC,CACrG,CAAA;IAED,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAC9B,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,MAAM,EAAE,mBAAmB,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,eAAe,CAAA;QAClE,MAAM,oBAAoB,GAAG,MAAM,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,CAAC,oBAAoB,CAAC,CAAA;QAEhG,MAAM,YAAY,GAAG,oBAAoB,CAAC,QAAQ,CAAA;QAClD,MAAM,WAAW,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,iBAAiB,CAAC,qBAAqB,YAAY,EAAE,CAAC,CAAA;QAEhH,MAAM,WAAW,GAAG,uBAAuB,CAAC,EAAE,WAAW,EAAE,oBAAoB,EAAE,CAAC,CAAA;QAElF,qFAAqF;QAErF,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,EAAE,CAAA;QAE5B,KAAK,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,IAAI,WAAW,EAAE,CAAC;YACvD,wDAAwD;YACxD,sDAAsD;YACtD,KAAK,CAAC,CAAC,eAAe,CAAC,EAAE,EAAE,YAAY,EAAE,UAAU,CAAC,CAAA;QACtD,CAAC;QAED,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,EAAE,CAAA;QACrC,OAAO,CAAC,MAAM,EAAE,CAAA;QAChB,yFAAyF;QACzF,+DAA+D;QAC/D,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpD,+BAA+B;YAC/B,KAAK,CAAC,CAAC,OAAO,CACZ,EAAE,EACF,GAAG,SAAS,CAAC;gBACX,SAAS,EAAE,4BAA4B;gBACvC,OAAO,EAAE,yBAAyB,CAAC,SAAS,CAAC,OAAO;gBACpD,MAAM,EAAE;oBACN,QAAQ,EAAE,oBAAoB,CAAC,EAAE,CAAC,MAAM;oBACxC,OAAO,EAAE,oBAAoB,CAAC,EAAE,CAAC,KAAK;oBACtC,SAAS;oBACT,KAAK,EAAE,WAAW;iBACnB;aACF,CAAC,CACH,CAAA;QACH,CAAC;QAED,qBAAqB;QAErB,wBAAwB;QACxB,MAAM,sBAAsB,GAAG,4BAA4B,CAAC,YAAY,EAAE,oBAAoB,CAAC,CAAA;QAC/F,IAAI,sBAAsB,KAAK,KAAK,EAAE,CAAC;YACrC,KAAK,CAAC,CAAC,qBAAqB,CAAC,oBAAoB,EAAE,KAAK,EAAE,wBAAwB,CAAC,CAAA;QACrF,CAAC;aAAM,CAAC;YACN,uHAAuH;QACzH,CAAC;IACH,CAAC,CAAC,CAAC,IAAI,CACL,MAAM,CAAC,QAAQ,CAAC,+CAA+C,EAAE;QAC/D,UAAU,EAAE;YACV,YAAY,EAAE,oBAAoB,CAAC,QAAQ;YAC3C,UAAU,EAAE,oBAAoB,CAAC,EAAE;YACnC,YAAY,EAAE,oBAAoB,CAAC,QAAQ;SAC5C;KACF,CAAC,CAEH,CAAA;AACL,CAAC,CACF,CAAA;AAED,MAAM,qBAAqB,GAAG,CAC5B,oBAA8C,EAC9C,KAA0B,EAC1B,wBAA6C,EAC7C,EAAE,CACF,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,YAAY,GAAG,oBAAoB,CAAC,QAAQ,CAAA;IAClD,MAAM,qBAAqB,GACzB,wBAAwB,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,iBAAiB,CAAC,qBAAqB,YAAY,EAAE,CAAC,CAAA;IAEtG,+BAA+B;IAC/B,KAAK,CAAC,CAAC,OAAO,CACZ,KAAK,EACL,GAAG,SAAS,CAAC;QACX,SAAS,EAAE,uBAAuB;QAClC,OAAO,EAAE,oBAAoB,CAAC,SAAS,CAAC,OAAO;QAC/C,MAAM,EAAE;YACN,QAAQ,EAAE,oBAAoB,CAAC,EAAE,CAAC,MAAM;YACxC,OAAO,EAAE,oBAAoB,CAAC,EAAE,CAAC,KAAK;YACtC,cAAc,EAAE,oBAAoB,CAAC,QAAQ,CAAC,MAAM;YACpD,aAAa,EAAE,oBAAoB,CAAC,QAAQ,CAAC,KAAK;YAClD,QAAQ,EAAE,oBAAoB,CAAC,QAAQ;YACvC,QAAQ,EAAE,oBAAoB,CAAC,IAAI,IAAI,EAAE;YACzC,UAAU,EAAE,qBAAqB;YACjC,gBAAgB,EAAE,MAAM,CAAC,IAAI,EAAE;SAChC;KACF,CAAC,CACH,CAAA;AACH,CAAC,CAAC,CAAA;AAEJ,+FAA+F;AAC/F,MAAM,gCAAgC,GAAG,YAAY,CAAC,CAAC,MAAuB,EAAE,EAAE;IAChF,MAAM,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAA;IAChD,MAAM,kBAAkB,GACtB,gBAAgB,CAAC,QAAQ,KAAK,mBAAmB;QAC/C,CAAC,CAAC,CAAC,gBAAgB,CAAC,gBAAgB,IAAI,IAAI,GAAG,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC;QACtE,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAA;IAEnC,OAAO,CAAC,YAAoB,EAAE,oBAAuC,EAAW,EAAE;QAChF,IAAI,kBAAkB,CAAC,GAAG,CAAC,YAAY,CAAC;YAAE,OAAO,IAAI,CAAA;QAErD,MAAM,WAAW,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,iBAAiB,CAAC,qBAAqB,YAAY,EAAE,CAAC,CAAA;QAChH,MAAM,WAAW,GAAG,uBAAuB,CAAC,EAAE,WAAW,EAAE,oBAAoB,EAAE,CAAC,CAAA;QAElF,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAA;IACxE,CAAC,CAAA;AACH,CAAC,CAAC,CAAA"}
@@ -0,0 +1,11 @@
1
+ import { Effect } from '@livestore/utils/effect';
2
+ import type { SynchronousDatabase } from '../adapter-types.js';
3
+ import { SqliteError } from '../adapter-types.js';
4
+ import type { BindValues } from '../sql-queries/index.js';
5
+ import type { PreparedBindValues } from '../util.js';
6
+ export declare const configureConnection: (syncDb: SynchronousDatabase, { fkEnabled }: {
7
+ fkEnabled: boolean;
8
+ }) => Effect.Effect<void, SqliteError, never>;
9
+ export declare const execSql: (syncDb: SynchronousDatabase, sql: string, bind: BindValues) => Effect.Effect<void, SqliteError, never>;
10
+ export declare const execSqlPrepared: (syncDb: SynchronousDatabase, sql: string, bindValues: PreparedBindValues) => Effect.Effect<void, SqliteError, never>;
11
+ //# sourceMappingURL=connection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../src/leader-thread/connection.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAEhD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAQpD,eAAO,MAAM,mBAAmB,WAAY,mBAAmB,iBAAiB;IAAE,SAAS,EAAE,OAAO,CAAA;CAAE,4CASnG,CAAA;AAEH,eAAO,MAAM,OAAO,WAAY,mBAAmB,OAAO,MAAM,QAAQ,UAAU,4CAajF,CAAA;AAYD,eAAO,MAAM,eAAe,WAAY,mBAAmB,OAAO,MAAM,cAAc,kBAAkB,4CAgBvG,CAAA"}
@@ -0,0 +1,44 @@
1
+ // import type { WaSqlite } from '@livestore/sqlite-wasm'
2
+ import { Effect } from '@livestore/utils/effect';
3
+ import { SqliteError } from '../adapter-types.js';
4
+ import { prepareBindValues, sql } from '../util.js';
5
+ export const configureConnection = (syncDb, { fkEnabled }) => execSql(syncDb, sql `
6
+ PRAGMA page_size=8192;
7
+ PRAGMA journal_mode=MEMORY;
8
+ ${fkEnabled ? sql `PRAGMA foreign_keys='ON';` : sql `PRAGMA foreign_keys='OFF';`}
9
+ `, {});
10
+ export const execSql = (syncDb, sql, bind) => {
11
+ const bindValues = prepareBindValues(bind, sql);
12
+ return Effect.try({
13
+ try: () => syncDb.execute(sql, bindValues),
14
+ catch: (cause) => new SqliteError({ cause, query: { bindValues, sql }, code: cause.code }),
15
+ }).pipe(Effect.asVoid,
16
+ // Effect.logDuration(`@livestore/common:execSql:${sql}`),
17
+ Effect.withSpan(`@livestore/common:execSql`, {
18
+ attributes: { 'span.label': sql, sql, bindValueKeys: Object.keys(bindValues) },
19
+ }));
20
+ };
21
+ // const selectSqlPrepared = <T>(stmt: PreparedStatement, bind: BindValues) => {
22
+ // const bindValues = prepareBindValues(bind, stmt.sql)
23
+ // return Effect.try({
24
+ // try: () => stmt.select<T>(bindValues),
25
+ // catch: (cause) =>
26
+ // new SqliteError({ cause, query: { bindValues, sql: stmt.sql }, code: (cause as WaSqlite.SQLiteError).code }),
27
+ // })
28
+ // }
29
+ // TODO actually use prepared statements
30
+ export const execSqlPrepared = (syncDb, sql, bindValues) => {
31
+ return Effect.try({
32
+ try: () => syncDb.execute(sql, bindValues),
33
+ catch: (cause) => new SqliteError({ cause, query: { bindValues, sql }, code: cause.code }),
34
+ }).pipe(Effect.asVoid,
35
+ // Effect.logDuration(`@livestore/common:execSqlPrepared:${sql}`),
36
+ Effect.withSpan(`@livestore/common:execSqlPrepared`, {
37
+ attributes: {
38
+ 'span.label': sql,
39
+ sql,
40
+ bindValueKeys: Object.keys(bindValues),
41
+ },
42
+ }));
43
+ };
44
+ //# sourceMappingURL=connection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/leader-thread/connection.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAGhD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAGjD,OAAO,EAAE,iBAAiB,EAAE,GAAG,EAAE,MAAM,YAAY,CAAA;AAOnD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,MAA2B,EAAE,EAAE,SAAS,EAA0B,EAAE,EAAE,CACxG,OAAO,CACL,MAAM,EACN,GAAG,CAAA;;;MAGD,SAAS,CAAC,CAAC,CAAC,GAAG,CAAA,2BAA2B,CAAC,CAAC,CAAC,GAAG,CAAA,4BAA4B;GAC/E,EACC,EAAE,CACH,CAAA;AAEH,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,MAA2B,EAAE,GAAW,EAAE,IAAgB,EAAE,EAAE;IACpF,MAAM,UAAU,GAAG,iBAAiB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IAC/C,OAAO,MAAM,CAAC,GAAG,CAAC;QAChB,GAAG,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC;QAC1C,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CACf,IAAI,WAAW,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE,IAAI,EAAG,KAA8B,CAAC,IAAI,EAAE,CAAC;KACrG,CAAC,CAAC,IAAI,CACL,MAAM,CAAC,MAAM;IACb,0DAA0D;IAC1D,MAAM,CAAC,QAAQ,CAAC,2BAA2B,EAAE;QAC3C,UAAU,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,GAAG,EAAE,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;KAC/E,CAAC,CACH,CAAA;AACH,CAAC,CAAA;AAED,gFAAgF;AAChF,yDAAyD;AACzD,wBAAwB;AACxB,6CAA6C;AAC7C,wBAAwB;AACxB,sHAAsH;AACtH,OAAO;AACP,IAAI;AAEJ,wCAAwC;AACxC,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,MAA2B,EAAE,GAAW,EAAE,UAA8B,EAAE,EAAE;IAC1G,OAAO,MAAM,CAAC,GAAG,CAAC;QAChB,GAAG,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC;QAC1C,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CACf,IAAI,WAAW,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE,IAAI,EAAG,KAA8B,CAAC,IAAI,EAAE,CAAC;KACrG,CAAC,CAAC,IAAI,CACL,MAAM,CAAC,MAAM;IACb,kEAAkE;IAClE,MAAM,CAAC,QAAQ,CAAC,mCAAmC,EAAE;QACnD,UAAU,EAAE;YACV,YAAY,EAAE,GAAG;YACjB,GAAG;YACH,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;SACvC;KACF,CAAC,CACH,CAAA;AACH,CAAC,CAAA"}
@@ -0,0 +1,47 @@
1
+ import type { Scope } from '@livestore/utils/effect';
2
+ import { Effect } from '@livestore/utils/effect';
3
+ import type { SynchronousDatabase } from '../adapter-types.js';
4
+ import { UnexpectedError } from '../adapter-types.js';
5
+ import type { LiveStoreSchema } from '../schema/mod.js';
6
+ import type { InitialBlockingSyncContext, SyncProcessor } from './types.js';
7
+ /**
8
+ * The general idea of the sync processor is to "follow the sync state"
9
+ * and apply/rollback mutations as needed to the read model and mutation log.
10
+ * The leader sync processor is also responsible for
11
+ * - broadcasting mutations to client sessions via the pull queues.
12
+ * - pushing mutations to the sync backend
13
+ *
14
+ * In the leader sync processor, pulling always has precedence over pushing.
15
+ *
16
+ * External events:
17
+ * - Mutation pushed from client session
18
+ * - Mutation pushed from devtools (via pushPartial)
19
+ * - Mutation pulled from sync backend
20
+ *
21
+ * The machine can be in the following states:
22
+ * - in-sync: fully synced with remote, now idling
23
+ * - applying-syncstate-advance (with pointer to current progress in case of rebase interrupt)
24
+ *
25
+ * Transitions:
26
+ * - in-sync -> applying-syncstate-advance
27
+ * - applying-syncstate-advance -> in-sync
28
+ * - applying-syncstate-advance -> applying-syncstate-advance (need to interrupt previous operation)
29
+ *
30
+ * Queuing vs interrupting behaviour:
31
+ * - Operations caused by pull can never be interrupted
32
+ * - Incoming pull can interrupt current push
33
+ * - Incoming pull needs to wait to previous pull to finish
34
+ * - Incoming push needs to wait to previous push to finish
35
+ *
36
+ * Backend pushing:
37
+ * - continously push to backend
38
+ * - only interrupted and restarted on rebase
39
+ */
40
+ export declare const makeLeaderSyncProcessor: ({ schema, dbMissing, dbLog, initialBlockingSyncContext, }: {
41
+ schema: LiveStoreSchema;
42
+ /** Only used to know whether we can safely query dbLog during setup execution */
43
+ dbMissing: boolean;
44
+ dbLog: SynchronousDatabase;
45
+ initialBlockingSyncContext: InitialBlockingSyncContext;
46
+ }) => Effect.Effect<SyncProcessor, UnexpectedError, Scope.Scope>;
47
+ //# sourceMappingURL=leader-sync-processor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"leader-sync-processor.d.ts","sourceRoot":"","sources":["../../src/leader-thread/leader-sync-processor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAc,KAAK,EAAE,MAAM,yBAAyB,CAAA;AAChE,OAAO,EAGL,MAAM,EAUP,MAAM,yBAAyB,CAAA;AAGhC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,KAAK,EAAE,eAAe,EAA2B,MAAM,kBAAkB,CAAA;AAehF,OAAO,KAAK,EAAE,0BAA0B,EAAmB,aAAa,EAAE,MAAM,YAAY,CAAA;AAuB5F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,eAAO,MAAM,uBAAuB,8DAKjC;IACD,MAAM,EAAE,eAAe,CAAA;IACvB,iFAAiF;IACjF,SAAS,EAAE,OAAO,CAAA;IAClB,KAAK,EAAE,mBAAmB,CAAA;IAC1B,0BAA0B,EAAE,0BAA0B,CAAA;CACvD,KAAG,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,eAAe,EAAE,KAAK,CAAC,KAAK,CAoOzD,CAAA"}