@livestore/common 0.5.0-dev.0 → 0.5.0-dev.1

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 (302) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/ClientSessionLeaderThreadProxy.d.ts.map +1 -1
  3. package/dist/MaterializationJournal.d.ts +2 -2
  4. package/dist/MaterializationJournal.d.ts.map +1 -1
  5. package/dist/MaterializationJournal.js +7 -7
  6. package/dist/StateHead.d.ts +1 -1
  7. package/dist/StateHead.d.ts.map +1 -1
  8. package/dist/StateHead.js +4 -4
  9. package/dist/WorkerTransportError.d.ts.map +1 -1
  10. package/dist/__tests__/fixture.d.ts +7 -7
  11. package/dist/__tests__/fixture.js +2 -2
  12. package/dist/adapter-types.d.ts +4 -0
  13. package/dist/adapter-types.d.ts.map +1 -1
  14. package/dist/adapter-types.js +4 -4
  15. package/dist/bounded-collections.d.ts.map +1 -1
  16. package/dist/bounded-collections.js.map +1 -1
  17. package/dist/debug-info.d.ts.map +1 -1
  18. package/dist/debug-info.js +9 -8
  19. package/dist/debug-info.js.map +1 -1
  20. package/dist/defs.d.ts +4 -4
  21. package/dist/defs.js +2 -2
  22. package/dist/devtools/devtools-compatibility.test.js +1 -1
  23. package/dist/devtools/devtools-messages-client-session.d.ts +4 -4
  24. package/dist/devtools/devtools-messages-client-session.js +4 -4
  25. package/dist/devtools/devtools-messages-common.d.ts.map +1 -1
  26. package/dist/devtools/devtools-messages-common.js +1 -1
  27. package/dist/devtools/devtools-messages-leader.d.ts +9 -9
  28. package/dist/devtools/devtools-messages-leader.js +4 -4
  29. package/dist/devtools/devtools-messages.js +3 -3
  30. package/dist/devtools/devtools-sessioninfo.d.ts.map +1 -1
  31. package/dist/devtools/mod.d.ts.map +1 -1
  32. package/dist/devtools/mod.js +3 -3
  33. package/dist/errors.d.ts +4 -4
  34. package/dist/errors.d.ts.map +1 -1
  35. package/dist/errors.js +1 -1
  36. package/dist/errors.js.map +1 -1
  37. package/dist/index.js +22 -22
  38. package/dist/leader-thread/LeaderSyncProcessor.d.ts +27 -6
  39. package/dist/leader-thread/LeaderSyncProcessor.d.ts.map +1 -1
  40. package/dist/leader-thread/LeaderSyncProcessor.js +65 -55
  41. package/dist/leader-thread/LeaderSyncProcessor.js.map +1 -1
  42. package/dist/leader-thread/RejectedPushError.d.ts +9 -9
  43. package/dist/leader-thread/RejectedPushError.d.ts.map +1 -1
  44. package/dist/leader-thread/RejectedPushError.js +1 -1
  45. package/dist/leader-thread/connection.d.ts.map +1 -1
  46. package/dist/leader-thread/connection.js +2 -2
  47. package/dist/leader-thread/eventlog.d.ts +11 -1
  48. package/dist/leader-thread/eventlog.d.ts.map +1 -1
  49. package/dist/leader-thread/eventlog.js +13 -13
  50. package/dist/leader-thread/eventlog.js.map +1 -1
  51. package/dist/leader-thread/leader-worker-devtools.d.ts +1 -1
  52. package/dist/leader-thread/leader-worker-devtools.d.ts.map +1 -1
  53. package/dist/leader-thread/leader-worker-devtools.js +4 -4
  54. package/dist/leader-thread/leader-worker-devtools.js.map +1 -1
  55. package/dist/leader-thread/make-leader-thread-layer.d.ts +6 -0
  56. package/dist/leader-thread/make-leader-thread-layer.d.ts.map +1 -1
  57. package/dist/leader-thread/make-leader-thread-layer.js +43 -29
  58. package/dist/leader-thread/make-leader-thread-layer.js.map +1 -1
  59. package/dist/leader-thread/make-leader-thread-layer.test.js +2 -2
  60. package/dist/leader-thread/materialize-event.d.ts.map +1 -1
  61. package/dist/leader-thread/materialize-event.js +9 -9
  62. package/dist/leader-thread/mod.js +9 -9
  63. package/dist/leader-thread/recreate-db.d.ts +5 -1
  64. package/dist/leader-thread/recreate-db.d.ts.map +1 -1
  65. package/dist/leader-thread/recreate-db.js +21 -25
  66. package/dist/leader-thread/recreate-db.js.map +1 -1
  67. package/dist/leader-thread/shutdown-channel.js +1 -1
  68. package/dist/leader-thread/stream-events.d.ts.map +1 -1
  69. package/dist/leader-thread/stream-events.js +3 -5
  70. package/dist/leader-thread/stream-events.js.map +1 -1
  71. package/dist/leader-thread/types.d.ts +6 -4
  72. package/dist/leader-thread/types.d.ts.map +1 -1
  73. package/dist/leader-thread/types.js +5 -1
  74. package/dist/leader-thread/types.js.map +1 -1
  75. package/dist/make-client-session.d.ts +1 -1
  76. package/dist/make-client-session.d.ts.map +1 -1
  77. package/dist/make-client-session.js +2 -2
  78. package/dist/materializer-helper.d.ts.map +1 -1
  79. package/dist/materializer-helper.js +4 -4
  80. package/dist/materializer-helper.js.map +1 -1
  81. package/dist/otel.d.ts.map +1 -1
  82. package/dist/rematerialize-from-eventlog.d.ts +3 -1
  83. package/dist/rematerialize-from-eventlog.d.ts.map +1 -1
  84. package/dist/rematerialize-from-eventlog.js +16 -9
  85. package/dist/rematerialize-from-eventlog.js.map +1 -1
  86. package/dist/schema/EventDef/define.d.ts +2 -2
  87. package/dist/schema/EventDef/define.d.ts.map +1 -1
  88. package/dist/schema/EventDef/define.test.js +1 -1
  89. package/dist/schema/EventDef/deprecated.d.ts +1 -1
  90. package/dist/schema/EventDef/deprecated.d.ts.map +1 -1
  91. package/dist/schema/EventDef/deprecated.test.js +2 -2
  92. package/dist/schema/EventDef/facts.d.ts.map +1 -1
  93. package/dist/schema/EventDef/materializer.d.ts +2 -2
  94. package/dist/schema/EventDef/materializer.d.ts.map +1 -1
  95. package/dist/schema/EventDef/mod.js +5 -5
  96. package/dist/schema/EventSequenceNumber/client.d.ts +3 -8
  97. package/dist/schema/EventSequenceNumber/client.d.ts.map +1 -1
  98. package/dist/schema/EventSequenceNumber/client.js +12 -15
  99. package/dist/schema/EventSequenceNumber/client.js.map +1 -1
  100. package/dist/schema/EventSequenceNumber/mod.js +2 -2
  101. package/dist/schema/EventSequenceNumber.test.js +1 -1
  102. package/dist/schema/LiveStoreEvent/client.d.ts +8 -8
  103. package/dist/schema/LiveStoreEvent/client.d.ts.map +1 -1
  104. package/dist/schema/LiveStoreEvent/client.js +1 -1
  105. package/dist/schema/LiveStoreEvent/client.js.map +1 -1
  106. package/dist/schema/LiveStoreEvent/client.test.js +2 -2
  107. package/dist/schema/LiveStoreEvent/global.d.ts.map +1 -1
  108. package/dist/schema/LiveStoreEvent/global.js +1 -1
  109. package/dist/schema/LiveStoreEvent/input.d.ts +1 -1
  110. package/dist/schema/LiveStoreEvent/input.d.ts.map +1 -1
  111. package/dist/schema/LiveStoreEvent/mod.js +4 -4
  112. package/dist/schema/events.js +1 -1
  113. package/dist/schema/mod.js +11 -11
  114. package/dist/schema/schema.d.ts +1 -1
  115. package/dist/schema/schema.d.ts.map +1 -1
  116. package/dist/schema/schema.js +3 -3
  117. package/dist/schema/state/mod.js +2 -2
  118. package/dist/schema/state/sqlite/client-document-def.d.ts +1 -1
  119. package/dist/schema/state/sqlite/client-document-def.d.ts.map +1 -1
  120. package/dist/schema/state/sqlite/client-document-def.js +8 -8
  121. package/dist/schema/state/sqlite/client-document-def.js.map +1 -1
  122. package/dist/schema/state/sqlite/client-document-def.test.js +24 -10
  123. package/dist/schema/state/sqlite/client-document-def.test.js.map +1 -1
  124. package/dist/schema/state/sqlite/column-annotations.d.ts.map +1 -1
  125. package/dist/schema/state/sqlite/column-annotations.test.js +1 -1
  126. package/dist/schema/state/sqlite/column-def.d.ts.map +1 -1
  127. package/dist/schema/state/sqlite/column-def.js +17 -3
  128. package/dist/schema/state/sqlite/column-def.js.map +1 -1
  129. package/dist/schema/state/sqlite/column-def.test.js +60 -5
  130. package/dist/schema/state/sqlite/column-def.test.js.map +1 -1
  131. package/dist/schema/state/sqlite/column-spec.d.ts.map +1 -1
  132. package/dist/schema/state/sqlite/column-spec.js +1 -1
  133. package/dist/schema/state/sqlite/column-spec.test.js +2 -2
  134. package/dist/schema/state/sqlite/column-spec.test.js.map +1 -1
  135. package/dist/schema/state/sqlite/db-schema/ast/fingerprint-digest.d.ts +3 -0
  136. package/dist/schema/state/sqlite/db-schema/ast/fingerprint-digest.d.ts.map +1 -0
  137. package/dist/schema/state/sqlite/db-schema/ast/fingerprint-digest.js +5 -0
  138. package/dist/schema/state/sqlite/db-schema/ast/fingerprint-digest.js.map +1 -0
  139. package/dist/schema/state/sqlite/db-schema/ast/fingerprint.d.ts +5 -0
  140. package/dist/schema/state/sqlite/db-schema/ast/fingerprint.d.ts.map +1 -0
  141. package/dist/schema/state/sqlite/db-schema/ast/fingerprint.js +183 -0
  142. package/dist/schema/state/sqlite/db-schema/ast/fingerprint.js.map +1 -0
  143. package/dist/schema/state/sqlite/db-schema/ast/fingerprint.test.d.ts +2 -0
  144. package/dist/schema/state/sqlite/db-schema/ast/fingerprint.test.d.ts.map +1 -0
  145. package/dist/schema/state/sqlite/db-schema/ast/fingerprint.test.js +142 -0
  146. package/dist/schema/state/sqlite/db-schema/ast/fingerprint.test.js.map +1 -0
  147. package/dist/schema/state/sqlite/db-schema/ast/sqlite.d.ts +1 -6
  148. package/dist/schema/state/sqlite/db-schema/ast/sqlite.d.ts.map +1 -1
  149. package/dist/schema/state/sqlite/db-schema/ast/sqlite.js +1 -82
  150. package/dist/schema/state/sqlite/db-schema/ast/sqlite.js.map +1 -1
  151. package/dist/schema/state/sqlite/db-schema/ast/validate.d.ts.map +1 -1
  152. package/dist/schema/state/sqlite/db-schema/dsl/field-defs.d.ts.map +1 -1
  153. package/dist/schema/state/sqlite/db-schema/dsl/field-defs.js +2 -1
  154. package/dist/schema/state/sqlite/db-schema/dsl/field-defs.js.map +1 -1
  155. package/dist/schema/state/sqlite/db-schema/dsl/field-defs.test.js +1 -1
  156. package/dist/schema/state/sqlite/db-schema/dsl/mod.d.ts.map +1 -1
  157. package/dist/schema/state/sqlite/db-schema/dsl/mod.js +1 -1
  158. package/dist/schema/state/sqlite/db-schema/has-json-string-encoding.d.ts +3 -0
  159. package/dist/schema/state/sqlite/db-schema/has-json-string-encoding.d.ts.map +1 -0
  160. package/dist/schema/state/sqlite/db-schema/has-json-string-encoding.js +6 -0
  161. package/dist/schema/state/sqlite/db-schema/has-json-string-encoding.js.map +1 -0
  162. package/dist/schema/state/sqlite/db-schema/mod.js +2 -2
  163. package/dist/schema/state/sqlite/mod.d.ts.map +1 -1
  164. package/dist/schema/state/sqlite/mod.js +10 -9
  165. package/dist/schema/state/sqlite/mod.js.map +1 -1
  166. package/dist/schema/state/sqlite/persistence.d.ts.map +1 -1
  167. package/dist/schema/state/sqlite/query-builder/api.d.ts.map +1 -1
  168. package/dist/schema/state/sqlite/query-builder/astToSql.d.ts.map +1 -1
  169. package/dist/schema/state/sqlite/query-builder/astToSql.js +2 -7
  170. package/dist/schema/state/sqlite/query-builder/astToSql.js.map +1 -1
  171. package/dist/schema/state/sqlite/query-builder/impl.d.ts +1 -3
  172. package/dist/schema/state/sqlite/query-builder/impl.d.ts.map +1 -1
  173. package/dist/schema/state/sqlite/query-builder/impl.js +2 -2
  174. package/dist/schema/state/sqlite/query-builder/impl.js.map +1 -1
  175. package/dist/schema/state/sqlite/query-builder/impl.test.js +2 -2
  176. package/dist/schema/state/sqlite/query-builder/mod.js +2 -2
  177. package/dist/schema/state/sqlite/schema-helpers.d.ts.map +1 -1
  178. package/dist/schema/state/sqlite/schema-helpers.js +1 -1
  179. package/dist/schema/state/sqlite/schema-helpers.test.js +2 -2
  180. package/dist/schema/state/sqlite/system-tables/eventlog-tables.js +3 -3
  181. package/dist/schema/state/sqlite/system-tables/mod.js +2 -2
  182. package/dist/schema/state/sqlite/system-tables/state-tables.d.ts +60 -17
  183. package/dist/schema/state/sqlite/system-tables/state-tables.d.ts.map +1 -1
  184. package/dist/schema/state/sqlite/system-tables/state-tables.js +14 -5
  185. package/dist/schema/state/sqlite/system-tables/state-tables.js.map +1 -1
  186. package/dist/schema/state/sqlite/table-def.d.ts +1 -1
  187. package/dist/schema/state/sqlite/table-def.d.ts.map +1 -1
  188. package/dist/schema/state/sqlite/table-def.js +24 -8
  189. package/dist/schema/state/sqlite/table-def.js.map +1 -1
  190. package/dist/schema/state/sqlite/table-def.test.js +54 -1
  191. package/dist/schema/state/sqlite/table-def.test.js.map +1 -1
  192. package/dist/schema/unknown-events.d.ts.map +1 -1
  193. package/dist/schema/unknown-events.js +1 -1
  194. package/dist/schema/unknown-events.js.map +1 -1
  195. package/dist/schema-management/__tests__/migrations-autoincrement-quoting.test.js +26 -4
  196. package/dist/schema-management/__tests__/migrations-autoincrement-quoting.test.js.map +1 -1
  197. package/dist/schema-management/common.d.ts.map +1 -1
  198. package/dist/schema-management/common.js +2 -2
  199. package/dist/schema-management/migrations.d.ts +4 -4
  200. package/dist/schema-management/migrations.d.ts.map +1 -1
  201. package/dist/schema-management/migrations.js +9 -9
  202. package/dist/schema-management/migrations.js.map +1 -1
  203. package/dist/schema-management/validate-schema.d.ts.map +1 -1
  204. package/dist/schema-management/validate-schema.js +1 -1
  205. package/dist/session-id-symbol.d.ts.map +1 -1
  206. package/dist/sql-queries/index.js +3 -3
  207. package/dist/sql-queries/sql-queries.d.ts.map +1 -1
  208. package/dist/sql-queries/sql-queries.js +3 -3
  209. package/dist/sql-queries/sql-queries.js.map +1 -1
  210. package/dist/sql-queries/sql-query-builder.d.ts.map +1 -1
  211. package/dist/sql-queries/sql-query-builder.js +1 -1
  212. package/dist/sql-queries/types.d.ts.map +1 -1
  213. package/dist/sqlite-db-helper.d.ts +2 -2
  214. package/dist/sqlite-db-helper.d.ts.map +1 -1
  215. package/dist/sqlite-db-helper.js +2 -2
  216. package/dist/sync/ClientSessionSyncProcessor.d.ts +3 -3
  217. package/dist/sync/ClientSessionSyncProcessor.d.ts.map +1 -1
  218. package/dist/sync/ClientSessionSyncProcessor.js +7 -7
  219. package/dist/sync/errors.js +1 -1
  220. package/dist/sync/index.js +6 -6
  221. package/dist/sync/mock-sync-backend.d.ts.map +1 -1
  222. package/dist/sync/mock-sync-backend.js +4 -4
  223. package/dist/sync/mock-sync-backend.test.js +2 -2
  224. package/dist/sync/next/compact-events.d.ts.map +1 -1
  225. package/dist/sync/next/compact-events.js +3 -3
  226. package/dist/sync/next/facts.d.ts.map +1 -1
  227. package/dist/sync/next/facts.js +1 -1
  228. package/dist/sync/next/history-dag-common.d.ts +1 -1
  229. package/dist/sync/next/history-dag-common.d.ts.map +1 -1
  230. package/dist/sync/next/history-dag-common.js +1 -1
  231. package/dist/sync/next/history-dag.d.ts.map +1 -1
  232. package/dist/sync/next/history-dag.js +3 -3
  233. package/dist/sync/next/mod.js +5 -5
  234. package/dist/sync/next/rebase-events.d.ts.map +1 -1
  235. package/dist/sync/next/rebase-events.js +2 -2
  236. package/dist/sync/next/test/compact-events.calculator.test.js +4 -4
  237. package/dist/sync/next/test/compact-events.test.js +4 -4
  238. package/dist/sync/next/test/event-fixtures.d.ts +1 -1
  239. package/dist/sync/next/test/event-fixtures.d.ts.map +1 -1
  240. package/dist/sync/next/test/event-fixtures.js +5 -5
  241. package/dist/sync/next/test/history-dag-common.test.js +2 -2
  242. package/dist/sync/next/test/mod.js +1 -1
  243. package/dist/sync/sync-backend-kv.js +1 -1
  244. package/dist/sync/sync-backend.d.ts.map +1 -1
  245. package/dist/sync/sync-backend.js +1 -1
  246. package/dist/sync/sync.js +2 -2
  247. package/dist/sync/syncstate.d.ts +3 -3
  248. package/dist/sync/syncstate.d.ts.map +1 -1
  249. package/dist/sync/syncstate.js +2 -2
  250. package/dist/sync/syncstate.js.map +1 -1
  251. package/dist/sync/syncstate.test.js +3 -3
  252. package/dist/sync/transport-chunking.d.ts.map +1 -1
  253. package/dist/sync/validate-push-payload.d.ts.map +1 -1
  254. package/dist/sync/validate-push-payload.js +2 -2
  255. package/dist/testing/event-factory.d.ts.map +1 -1
  256. package/dist/testing/event-factory.js +2 -2
  257. package/dist/testing/event-factory.js.map +1 -1
  258. package/dist/testing/mod.js +1 -1
  259. package/dist/util.d.ts.map +1 -1
  260. package/dist/util.js +1 -0
  261. package/dist/util.js.map +1 -1
  262. package/dist/version.d.ts.map +1 -1
  263. package/dist/version.js.map +1 -1
  264. package/package.json +40 -39
  265. package/src/adapter-types.ts +4 -0
  266. package/src/debug-info.ts +11 -8
  267. package/src/defs.ts +2 -2
  268. package/src/leader-thread/LeaderSyncProcessor.ts +121 -97
  269. package/src/leader-thread/eventlog.ts +13 -5
  270. package/src/leader-thread/leader-worker-devtools.ts +1 -1
  271. package/src/leader-thread/make-leader-thread-layer.ts +49 -23
  272. package/src/leader-thread/recreate-db.ts +26 -25
  273. package/src/leader-thread/stream-events.ts +1 -3
  274. package/src/leader-thread/types.ts +5 -0
  275. package/src/materializer-helper.ts +1 -1
  276. package/src/rematerialize-from-eventlog.ts +28 -13
  277. package/src/schema/EventSequenceNumber/client.ts +12 -15
  278. package/src/schema/schema.ts +1 -1
  279. package/src/schema/state/sqlite/client-document-def.test.ts +23 -7
  280. package/src/schema/state/sqlite/client-document-def.ts +2 -2
  281. package/src/schema/state/sqlite/column-def.test.ts +84 -3
  282. package/src/schema/state/sqlite/column-def.ts +16 -1
  283. package/src/schema/state/sqlite/db-schema/ast/fingerprint-digest.ts +6 -0
  284. package/src/schema/state/sqlite/db-schema/ast/fingerprint.test.ts +209 -0
  285. package/src/schema/state/sqlite/db-schema/ast/fingerprint.ts +225 -0
  286. package/src/schema/state/sqlite/db-schema/ast/sqlite.ts +1 -90
  287. package/src/schema/state/sqlite/db-schema/dsl/field-defs.ts +1 -0
  288. package/src/schema/state/sqlite/db-schema/has-json-string-encoding.ts +9 -0
  289. package/src/schema/state/sqlite/mod.ts +2 -1
  290. package/src/schema/state/sqlite/query-builder/astToSql.ts +1 -8
  291. package/src/schema/state/sqlite/system-tables/state-tables.ts +13 -2
  292. package/src/schema/state/sqlite/table-def.test.ts +66 -0
  293. package/src/schema/state/sqlite/table-def.ts +21 -5
  294. package/src/schema-management/__tests__/migrations-autoincrement-quoting.test.ts +33 -2
  295. package/src/schema-management/migrations.ts +7 -6
  296. package/src/sql-queries/sql-queries.ts +1 -1
  297. package/src/util.ts +1 -0
  298. package/dist/schema/state/sqlite/db-schema/hash.d.ts +0 -2
  299. package/dist/schema/state/sqlite/db-schema/hash.d.ts.map +0 -1
  300. package/dist/schema/state/sqlite/db-schema/hash.js +0 -15
  301. package/dist/schema/state/sqlite/db-schema/hash.js.map +0 -1
  302. package/src/schema/state/sqlite/db-schema/hash.ts +0 -13
package/dist/index.js CHANGED
@@ -1,23 +1,23 @@
1
- export * from "./adapter-types.js";
2
- export * from "./bounded-collections.js";
3
- export * from "./debug-info.js";
4
- export * as Devtools from "./devtools/mod.js";
5
- export * from "./leader-thread/RejectedPushError.js";
6
- export * as LogConfig from "./logging.js";
7
- export * from "./make-client-session.js";
8
- export * as MaterializationJournal from "./MaterializationJournal.js";
9
- export * from "./materializer-helper.js";
10
- export * from "./otel.js";
11
- export * from "./rematerialize-from-eventlog.js";
12
- export * from "./schema/state/sqlite/query-builder/mod.js";
13
- export * from "./schema/state/sqlite/system-tables/mod.js";
14
- export * from "./schema-management/migrations.js";
15
- export { resolveSessionIdSymbolInBindValues, SessionIdSymbol, } from "./session-id-symbol.js";
16
- export * as SqliteDbHelper from "./sqlite-db-helper.js";
17
- export * as StateHead from "./StateHead.js";
18
- export * from "./sync/index.js";
19
- export * as SyncState from "./sync/syncstate.js";
20
- export * from "./util.js";
21
- export * from "./version.js";
22
- export * from "./WorkerTransportError.js";
1
+ export * from './adapter-types.js';
2
+ export * from './bounded-collections.js';
3
+ export * from './debug-info.js';
4
+ export * as Devtools from './devtools/mod.js';
5
+ export * from './leader-thread/RejectedPushError.js';
6
+ export * as LogConfig from './logging.js';
7
+ export * from './make-client-session.js';
8
+ export * as MaterializationJournal from './MaterializationJournal.js';
9
+ export * from './materializer-helper.js';
10
+ export * from './otel.js';
11
+ export * from './rematerialize-from-eventlog.js';
12
+ export * from './schema/state/sqlite/query-builder/mod.js';
13
+ export * from './schema/state/sqlite/system-tables/mod.js';
14
+ export * from './schema-management/migrations.js';
15
+ export { resolveSessionIdSymbolInBindValues, SessionIdSymbol, } from './session-id-symbol.js';
16
+ export * as SqliteDbHelper from './sqlite-db-helper.js';
17
+ export * as StateHead from './StateHead.js';
18
+ export * from './sync/index.js';
19
+ export * as SyncState from './sync/syncstate.js';
20
+ export * from './util.js';
21
+ export * from './version.js';
22
+ export * from './WorkerTransportError.js';
23
23
  //# sourceMappingURL=index.js.map
@@ -1,14 +1,15 @@
1
- import { type HttpClient, type Scope, Context, Effect, Layer, Queue, Stream, Subscribable } from '@livestore/utils/effect';
1
+ import { type HttpClient, type Latch, type Scope, type Tracer, Context, Effect, Layer, Queue, Stream, Subscribable } from '@livestore/utils/effect';
2
2
  import { type SqliteDb } from '../adapter-types.ts';
3
3
  import type { UnknownEventError } from '../errors.ts';
4
4
  import type { LiveStoreSchema } from '../schema/mod.ts';
5
5
  import { EventSequenceNumber, LiveStoreEvent } from '../schema/mod.ts';
6
6
  import * as StateHead from '../StateHead.ts';
7
+ import type { SyncBackend } from '../sync/sync.ts';
7
8
  import * as SyncState from '../sync/syncstate.ts';
8
9
  import { type RejectedPushError } from './RejectedPushError.ts';
9
- import type { InitialBlockingSyncContext } from './types.ts';
10
- import { LeaderThreadCtx } from './types.ts';
11
- export declare const TypeId: "~@livestore/common/LeaderSyncProcessor";
10
+ import type { ShutdownChannel } from './shutdown-channel.ts';
11
+ import type { InitialBlockingSyncContext, MaterializeEvent } from './types.ts';
12
+ export declare const TypeId: '~@livestore/common/LeaderSyncProcessor';
12
13
  export type TypeId = typeof TypeId;
13
14
  declare const LeaderSyncProcessor_base: Context.ServiceClass<LeaderSyncProcessor, "@livestore/common/LeaderSyncProcessor", Service>;
14
15
  /**
@@ -73,12 +74,13 @@ export interface Service {
73
74
  }) => Effect.Effect<void, UnknownEventError>;
74
75
  readonly boot: Effect.Effect<{
75
76
  initialLeaderHead: EventSequenceNumber.Client.Composite;
76
- }, never, LeaderThreadCtx | Scope.Scope | HttpClient.HttpClient>;
77
+ }, never, Scope.Scope | HttpClient.HttpClient>;
77
78
  readonly syncState: Subscribable.Subscribable<SyncState.SyncState>;
78
79
  }
79
80
  interface Options {
80
81
  readonly schema: LiveStoreSchema;
81
- readonly dbState: SqliteDb;
82
+ /** Complete runtime capabilities supplied before the processor is constructed. */
83
+ readonly runtime: Runtime;
82
84
  readonly initialBlockingSyncContext: InitialBlockingSyncContext;
83
85
  /** Initial sync state rehydrated from the persisted eventlog or initial sync state */
84
86
  readonly initialSyncState: SyncState.SyncState;
@@ -148,12 +150,31 @@ interface Options {
148
150
  readonly testing: {
149
151
  readonly delays?: {
150
152
  readonly localPushProcessing?: Effect.Effect<void>;
153
+ readonly backendPullReconnect?: (fallbackMs: number) => number;
151
154
  };
152
155
  readonly hooks?: {
153
156
  readonly localPushAdmitted?: (events: ReadonlyArray<LiveStoreEvent.Client.EncodedWithMeta>) => Effect.Effect<void>;
157
+ /** Observes connectivity after the offline wait has subscribed, allowing tests to synchronize without sleeps. */
158
+ readonly backendPullReconnectWait?: (state: {
159
+ isConnected: boolean;
160
+ fallbackMs: number;
161
+ }) => Effect.Effect<void>;
154
162
  };
155
163
  };
156
164
  }
165
+ /**
166
+ * Runtime capabilities used by sync processing. Keeping these explicit prevents the processor from
167
+ * depending on the outward-facing leader aggregate that contains the processor itself.
168
+ */
169
+ interface Runtime {
170
+ readonly dbState: SqliteDb;
171
+ readonly dbEventlog: SqliteDb;
172
+ readonly materializeEvent: MaterializeEvent;
173
+ readonly syncBackend: SyncBackend.SyncBackend | undefined;
174
+ readonly shutdownChannel: ShutdownChannel;
175
+ readonly devtoolsLatch: Latch.Latch | undefined;
176
+ readonly span: Tracer.Span | undefined;
177
+ }
157
178
  export declare const make: (args_0: Options) => Effect.Effect<Service, never, Scope.Scope | StateHead.StateHead>;
158
179
  export declare const layer: (options: Options) => Layer.Layer<LeaderSyncProcessor, never, StateHead.StateHead>;
159
180
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"LeaderSyncProcessor.d.ts","sourceRoot":"","sources":["../../src/leader-thread/LeaderSyncProcessor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LeaderSyncProcessor.d.ts","sourceRoot":"","sources":["../../src/leader-thread/LeaderSyncProcessor.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,16 @@
1
1
  import { casesHandled, LS_DEV, TRACE_VERBOSE } from '@livestore/utils';
2
- import { Cause, Context, Deferred, Duration, Effect, Exit, FiberHandle, Layer, Option, Predicate, Queue, ReadonlyArray, References, Result, Schedule, Schema, Semaphore, Stream, Subscribable, SubscriptionRef, TxQueue, } from '@livestore/utils/effect';
3
- import { MaterializeError, UnknownError } from "../adapter-types.js";
4
- import { IntentionalShutdownCause } from "../errors.js";
5
- import { makeMaterializerHash } from "../materializer-helper.js";
6
- import { EventSequenceNumber, LiveStoreEvent, resolveEventDef, SystemTables } from "../schema/mod.js";
7
- import { EVENTLOG_META_TABLE, SYNC_STATUS_TABLE } from "../schema/state/sqlite/system-tables/eventlog-tables.js";
8
- import * as StateHead from "../StateHead.js";
9
- import * as SyncState from "../sync/syncstate.js";
10
- import { sql } from "../util.js";
11
- import * as Eventlog from "./eventlog.js";
12
- import { rollback } from "./materialize-event.js";
13
- import { isRejectedPushError, LeaderAheadError, NonContiguousBatchError, NonMonotonicBatchError, StaleRebaseGenerationError, } from "./RejectedPushError.js";
14
- import { LeaderThreadCtx } from "./types.js";
2
+ import { Cause, Context, Deferred, Duration, Effect, Exit, FiberHandle, Layer, Option, Predicate, Queue, Random, ReadonlyArray, References, Result, Schedule, Schema, Semaphore, Stream, Subscribable, SubscriptionRef, TxQueue, } from '@livestore/utils/effect';
3
+ import { MaterializeError, UnknownError } from '../adapter-types.js';
4
+ import { IntentionalShutdownCause } from '../errors.js';
5
+ import { makeMaterializerHash } from '../materializer-helper.js';
6
+ import { EventSequenceNumber, LiveStoreEvent, resolveEventDef, SystemTables } from '../schema/mod.js';
7
+ import { EVENTLOG_META_TABLE, SYNC_STATUS_TABLE } from '../schema/state/sqlite/system-tables/eventlog-tables.js';
8
+ import * as StateHead from '../StateHead.js';
9
+ import * as SyncState from '../sync/syncstate.js';
10
+ import { sql } from '../util.js';
11
+ import * as Eventlog from './eventlog.js';
12
+ import { rollback } from './materialize-event.js';
13
+ import { isRejectedPushError, LeaderAheadError, NonContiguousBatchError, NonMonotonicBatchError, StaleRebaseGenerationError, } from './RejectedPushError.js';
15
14
  export const TypeId = '~@livestore/common/LeaderSyncProcessor';
16
15
  /**
17
16
  * The LeaderSyncProcessor manages synchronization of events between
@@ -45,18 +44,16 @@ export const TypeId = '~@livestore/common/LeaderSyncProcessor';
45
44
  */
46
45
  export class LeaderSyncProcessor extends Context.Service()('@livestore/common/LeaderSyncProcessor') {
47
46
  }
48
- export const make = Effect.fnUntraced(function* ({ schema, dbState, initialBlockingSyncContext, initialSyncState, onError, onBackendIdMismatch, livePull, params, testing, }) {
47
+ export const make = Effect.fnUntraced(function* ({ schema, runtime, initialBlockingSyncContext, initialSyncState, onError, onBackendIdMismatch, livePull, params, testing, }) {
49
48
  const stateHead = yield* StateHead.StateHead;
49
+ const { dbState, dbEventlog, devtoolsLatch, materializeEvent, shutdownChannel, span, syncBackend } = runtime;
50
50
  const syncBackendPushQueue = yield* TxQueue.unbounded();
51
51
  const localPushBatchSize = params.localPushBatchSize ?? 10;
52
52
  const backendPushBatchSize = params.backendPushBatchSize ?? 50;
53
53
  const syncStateSref = yield* SubscriptionRef.make(undefined);
54
54
  const isClientOnlyEvent = (eventEncoded) => schema.eventsDefsMap.get(eventEncoded.name)?.options.clientOnly ?? false;
55
55
  const connectedClientSessionPullQueues = yield* makePullQueueSet;
56
- // This context depends on data from `boot`, we should find a better implementation to avoid this ref indirection.
57
- const ctxRef = {
58
- current: undefined,
59
- };
56
+ const materializeEventsBatch = makeMaterializeEventsBatch({ dbState, dbEventlog, materializeEvent });
60
57
  const localPushesQueue = yield* TxQueue.unbounded();
61
58
  // Reservations cover admitted pushes from validation until they are applied or rejected. The Set's
62
59
  // insertion order mirrors admission order, so its last relevant item is the optimistic sequence head.
@@ -105,7 +102,7 @@ export const make = Effect.fnUntraced(function* ({ schema, dbState, initialBlock
105
102
  const currentRebaseGeneration = syncState.localHead.rebaseGeneration;
106
103
  // Since the rebase generation might have changed since enqueuing, we need to filter out items with older generation
107
104
  // It's important that we filter after acquiring the localPushBackendPullMutex, otherwise we might filter with the old generation
108
- const [droppedItems, filteredItems] = ReadonlyArray.partition(batchItems, (batchItem) => batchItem[0].seqNum.rebaseGeneration >= currentRebaseGeneration
105
+ const [filteredItems, droppedItems] = ReadonlyArray.partition(batchItems, (batchItem) => batchItem[0].seqNum.rebaseGeneration >= currentRebaseGeneration
109
106
  ? Result.succeed(batchItem)
110
107
  : Result.fail(batchItem));
111
108
  if (droppedItems.length > 0) {
@@ -154,7 +151,7 @@ export const make = Effect.fnUntraced(function* ({ schema, dbState, initialBlock
154
151
  const remainingLocalPushes = yield* snapshotTxQueue(localPushesQueue);
155
152
  if (LS_DEV === true && remainingLocalPushes.length > 0) {
156
153
  console.log('localPushesQueue is not empty', remainingLocalPushes.length);
157
- // oxlint-disable-next-line eslint(no-debugger) -- intentional breakpoint for unexpected queue state
154
+ // oxlint-disable-next-line no-debugger -- intentional breakpoint for unexpected queue state
158
155
  debugger;
159
156
  }
160
157
  const allDeferredsToReject = [
@@ -207,8 +204,7 @@ export const make = Effect.fnUntraced(function* ({ schema, dbState, initialBlock
207
204
  }).pipe(localPushBackendPullMutex.withPermits(1));
208
205
  }
209
206
  });
210
- const backgroundBackendPulling = Effect.fn('@livestore/common:LeaderSyncProcessor:backend-pulling')(function* ({ restartBackendPushing, }) {
211
- const { syncBackend, dbState: db, dbEventlog, schema } = yield* LeaderThreadCtx;
207
+ const backgroundBackendPulling = Effect.fn('@livestore/common:LeaderSyncProcessor:backend-pulling')(function* ({ restartBackendPushing, onPullSuccess, }) {
212
208
  if (syncBackend === undefined)
213
209
  return;
214
210
  let pullMutexHeld = false;
@@ -220,8 +216,8 @@ export const make = Effect.fnUntraced(function* ({ schema, dbState, initialBlock
220
216
  });
221
217
  const isPullPaginationComplete = (pageInfo) => pageInfo._tag === 'NoMore';
222
218
  const onNewPullChunk = (newEvents, pageInfo) => Effect.gen(function* () {
223
- if (ctxRef.current?.devtoolsLatch !== undefined) {
224
- yield* ctxRef.current.devtoolsLatch.await;
219
+ if (devtoolsLatch !== undefined) {
220
+ yield* devtoolsLatch.await;
225
221
  }
226
222
  if (newEvents.length === 0) {
227
223
  if (isPullPaginationComplete(pageInfo) === true) {
@@ -263,7 +259,7 @@ export const make = Effect.fnUntraced(function* ({ schema, dbState, initialBlock
263
259
  yield* restartBackendPushing(globalOrUnknownRebasedPendingEvents);
264
260
  if (mergeResult.rollbackEvents.length > 0) {
265
261
  yield* rollback({
266
- dbState: db,
262
+ dbState,
267
263
  dbEventlog,
268
264
  eventNumsToRollback: mergeResult.rollbackEvents.map((_) => _.seqNum),
269
265
  });
@@ -292,11 +288,11 @@ export const make = Effect.fnUntraced(function* ({ schema, dbState, initialBlock
292
288
  // `mergeResult.confirmedEvents` don't contain the correct sync metadata, so we need to use
293
289
  // `newEvents` instead which we filter via `mergeResult.confirmedEvents`
294
290
  const confirmedNewEvents = newEvents.filter((event) => mergeResult.confirmedEvents.some((confirmedEvent) => EventSequenceNumber.Client.isEqual(event.seqNum, confirmedEvent.seqNum)));
295
- yield* Eventlog.updateSyncMetadata(confirmedNewEvents).pipe(Effect.orDieDebugger);
291
+ yield* Eventlog.updateSyncMetadataForDb(dbEventlog, confirmedNewEvents).pipe(Effect.orDieDebugger);
296
292
  }
297
293
  }
298
294
  // Removes the changeset rows which are no longer needed as we'll never have to rollback beyond this point
299
- trimChangesetRows(db, newBackendHead);
295
+ trimChangesetRows(dbState, newBackendHead);
300
296
  // The backend merge may advance or rebase the authoritative head. Realign the admission
301
297
  // fence now so newly arriving pushes are validated against that history, not the pre-pull head.
302
298
  yield* reconcilePushHead(mergeResult.newSyncState.localHead);
@@ -314,11 +310,15 @@ export const make = Effect.fnUntraced(function* ({ schema, dbState, initialBlock
314
310
  }
315
311
  });
316
312
  const syncState = yield* Effect.fromNullishOr(yield* SubscriptionRef.get(syncStateSref)).pipe(Effect.orDieDebugger);
317
- const cursorInfo = yield* Eventlog.getSyncBackendCursorInfo({ remoteHead: syncState.upstreamHead.global });
313
+ const cursorInfo = yield* Eventlog.getSyncBackendCursorInfoForDb(dbEventlog, {
314
+ remoteHead: syncState.upstreamHead.global,
315
+ });
318
316
  const hashMaterializerResult = makeMaterializerHash({ schema, dbState });
319
317
  yield* syncBackend.pull(cursorInfo, { live: livePull }).pipe(
320
318
  // TODO only take from queue while connected
321
319
  Stream.tap(({ batch, pageInfo }) => Effect.gen(function* () {
320
+ // Any response (including an empty batch) proves backend contact, even with stale connectivity.
321
+ onPullSuccess();
322
322
  // NOTE we only want to take process events when the sync backend is connected
323
323
  // (e.g. needed for simulating being offline)
324
324
  // TODO remove when there's a better way to handle this in stream above
@@ -336,15 +336,14 @@ export const make = Effect.fnUntraced(function* ({ schema, dbState, initialBlock
336
336
  yield* Effect.logDebug('backend-pulling finished', { livePull });
337
337
  });
338
338
  const backgroundBackendPushing = Effect.gen(function* () {
339
- const { syncBackend } = yield* LeaderThreadCtx;
340
339
  if (syncBackend === undefined)
341
340
  return;
342
341
  while (true) {
343
342
  yield* SubscriptionRef.waitUntil(syncBackend.isConnected, (isConnected) => isConnected === true);
344
343
  const queueItems = yield* TxQueue.takeBetween(syncBackendPushQueue, 1, backendPushBatchSize);
345
344
  yield* SubscriptionRef.waitUntil(syncBackend.isConnected, (isConnected) => isConnected === true);
346
- if (ctxRef.current?.devtoolsLatch !== undefined) {
347
- yield* ctxRef.current.devtoolsLatch.await;
345
+ if (devtoolsLatch !== undefined) {
346
+ yield* devtoolsLatch.await;
348
347
  }
349
348
  yield* Effect.spanEvent('backend-push', {
350
349
  batchSize: queueItems.length,
@@ -407,26 +406,18 @@ export const make = Effect.fnUntraced(function* ({ schema, dbState, initialBlock
407
406
  yield* testing.hooks.localPushAdmitted(newEvents);
408
407
  }
409
408
  }).pipe(Effect.uninterruptible));
410
- yield* Effect.all(deferreds.map(Deferred.await));
409
+ yield* Effect.forEach(deferreds, Deferred.await);
411
410
  }).pipe(Effect.withSpan('@livestore/common:LeaderSyncProcessor:push', {
412
411
  attributes: {
413
412
  batchSize: newEvents.length,
414
413
  batch: TRACE_VERBOSE === true ? newEvents : undefined,
415
414
  },
416
- links: ctxRef.current?.span !== undefined ? [{ span: ctxRef.current.span, attributes: {} }] : undefined,
415
+ links: span !== undefined ? [{ span, attributes: {} }] : undefined,
417
416
  }));
418
417
  return LeaderSyncProcessor.of({
419
418
  [TypeId]: TypeId,
420
419
  // Starts various background loops
421
420
  boot: Effect.gen(function* () {
422
- const span = yield* Effect.currentSpan.pipe(Effect.orDie);
423
- const { devtools, shutdownChannel } = yield* LeaderThreadCtx;
424
- const services = yield* Effect.context();
425
- ctxRef.current = {
426
- span,
427
- devtoolsLatch: devtools.enabled === true ? devtools.syncBackendLatch : undefined,
428
- services,
429
- };
430
421
  /** State transitions need to happen atomically, so we use a Ref to track the state */
431
422
  yield* SubscriptionRef.set(syncStateSref, initialSyncState);
432
423
  // Rehydrate sync queue
@@ -438,7 +429,7 @@ export const make = Effect.fnUntraced(function* ({ schema, dbState, initialBlock
438
429
  yield* TxQueue.offerAll(syncBackendPushQueue, globalOrUnknownPendingEvents);
439
430
  }
440
431
  }
441
- const handleBackendIdMismatchError = (error) => handleBackendIdMismatch({ error, onBackendIdMismatch, shutdownChannel });
432
+ const handleBackendIdMismatchError = (error) => handleBackendIdMismatch({ error, onBackendIdMismatch, shutdownChannel, dbEventlog, dbState });
442
433
  const maybeShutdownOnError = (cause) => Effect.gen(function* () {
443
434
  if (onError === 'ignore') {
444
435
  if (LS_DEV === true) {
@@ -455,7 +446,11 @@ export const make = Effect.fnUntraced(function* ({ schema, dbState, initialBlock
455
446
  const backendPushingFiberHandle = yield* FiberHandle.make();
456
447
  const backendPushingEffect = backgroundBackendPushing.pipe(Effect.catchTag('BackendIdMismatchError', handleBackendIdMismatchError), Effect.catchCause(maybeShutdownOnError));
457
448
  yield* FiberHandle.run(backendPushingFiberHandle, backendPushingEffect);
449
+ let offlinePullFallbackMs = 1_000;
458
450
  yield* backgroundBackendPulling({
451
+ onPullSuccess: () => {
452
+ offlinePullFallbackMs = 1_000;
453
+ },
459
454
  restartBackendPushing: (filteredRebasedPending) => Effect.gen(function* () {
460
455
  // Stop current pushing fiber
461
456
  yield* FiberHandle.clear(backendPushingFiberHandle);
@@ -465,10 +460,27 @@ export const make = Effect.fnUntraced(function* ({ schema, dbState, initialBlock
465
460
  // Restart pushing fiber
466
461
  yield* FiberHandle.run(backendPushingFiberHandle, backendPushingEffect);
467
462
  }),
468
- }).pipe(Effect.retry({
469
- // Retry pulling when we've lost connection to the sync backend
470
- // We're using `until` with a refinement instead of `while` to narrow `IsOfflineError` out of the error type.
471
- // See https://github.com/Effect-TS/effect/issues/6122
463
+ }).pipe(Effect.tapError((error) => {
464
+ if (error._tag !== 'IsOfflineError' || syncBackend === undefined)
465
+ return Effect.void;
466
+ const isConnected = syncBackend.isConnected;
467
+ return Effect.gen(function* () {
468
+ // Wake immediately on reconnection. Probe on a capped fallback timer if connectivity is stale.
469
+ const jitter = yield* Random.nextBetween(0.8, 1.2);
470
+ const fallbackMs = testing.delays?.backendPullReconnect?.(offlinePullFallbackMs * jitter) ?? offlinePullFallbackMs * jitter;
471
+ offlinePullFallbackMs = Math.min(offlinePullFallbackMs * 2, 30_000);
472
+ // A stale initial true is not a reconnect. Watch false→true even while the fallback timer is pending.
473
+ const waitHook = testing.hooks?.backendPullReconnectWait;
474
+ const changes = SubscriptionRef.changes(isConnected);
475
+ const observedChanges = waitHook === undefined
476
+ ? changes
477
+ : changes.pipe(Stream.tap((value) => waitHook({ isConnected: value, fallbackMs })));
478
+ const reconnected = yield* observedChanges.pipe(Stream.dropWhile((value) => value === true), Stream.filter((value) => value === true), Stream.runHead, Effect.as(true), Effect.timeoutOrElse({ duration: fallbackMs, orElse: () => Effect.succeed(false) }));
479
+ if (reconnected === true)
480
+ offlinePullFallbackMs = 1_000;
481
+ });
482
+ }), Effect.retry({
483
+ // The unbounded offline-only retry keeps IsOfflineError out of the terminal error channel.
472
484
  until: (error) => error._tag !== 'IsOfflineError',
473
485
  }), Effect.catchTag('BackendIdMismatchError', handleBackendIdMismatchError), Effect.catchCause(maybeShutdownOnError),
474
486
  // Needed to avoid `Fiber terminated with an unhandled error` logs which seem to happen because of the `Effect.retry` above.
@@ -509,7 +521,7 @@ export const make = Effect.fnUntraced(function* ({ schema, dbState, initialBlock
509
521
  // pushPartial constructs the event sequence number internally, so these errors should never happen.
510
522
  Effect.catchIf(isRejectedPushError, Effect.die)),
511
523
  pull: ({ cursor }) => Effect.gen(function* () {
512
- const queue = yield* Effect.fromNullishOr(ctxRef.current?.services).pipe(Effect.orDieDebugger, Effect.flatMap((services) => connectedClientSessionPullQueues.makeQueue(cursor).pipe(Effect.provide(services))));
524
+ const queue = yield* connectedClientSessionPullQueues.makeQueue(cursor);
513
525
  return Stream.fromQueue(queue);
514
526
  }).pipe(Stream.unwrap),
515
527
  /*
@@ -526,7 +538,7 @@ export const make = Effect.fnUntraced(function* ({ schema, dbState, initialBlock
526
538
  - full new state db snapshot in the "rebase" case
527
539
  - downside: importing the snapshot is expensive
528
540
  */
529
- pullQueue: ({ cursor }) => Effect.fromNullishOr(ctxRef.current?.services).pipe(Effect.orDieDebugger, Effect.flatMap((services) => connectedClientSessionPullQueues.makeQueue(cursor).pipe(Effect.provide(services)))),
541
+ pullQueue: ({ cursor }) => connectedClientSessionPullQueues.makeQueue(cursor),
530
542
  syncState: Subscribable.make({
531
543
  get: SubscriptionRef.get(syncStateSref).pipe(Effect.flatMap(Effect.fromNullishOr), Effect.orDieDebugger),
532
544
  changes: SubscriptionRef.changes(syncStateSref).pipe(Stream.filter(Predicate.isNotUndefined)),
@@ -535,16 +547,15 @@ export const make = Effect.fnUntraced(function* ({ schema, dbState, initialBlock
535
547
  });
536
548
  export const layer = (options) => Layer.effect(LeaderSyncProcessor, make(options));
537
549
  // TODO how to handle errors gracefully
538
- const materializeEventsBatch = ({ batchItems }) => Effect.gen(function* () {
539
- const { dbState: db, dbEventlog, materializeEvent } = yield* LeaderThreadCtx;
550
+ const makeMaterializeEventsBatch = ({ dbState, dbEventlog, materializeEvent, }) => ({ batchItems }) => Effect.gen(function* () {
540
551
  // NOTE We always start a transaction to ensure consistency between db and eventlog (even for single-item batches)
541
- db.execute('BEGIN TRANSACTION', undefined); // Start the transaction
552
+ dbState.execute('BEGIN TRANSACTION', undefined); // Start the transaction
542
553
  dbEventlog.execute('BEGIN TRANSACTION', undefined); // Start the transaction
543
554
  yield* Effect.addFinalizer((exit) => Effect.gen(function* () {
544
555
  if (Exit.isSuccess(exit) === true)
545
556
  return;
546
557
  // Rollback in case of an error
547
- db.execute('ROLLBACK', undefined);
558
+ dbState.execute('ROLLBACK', undefined);
548
559
  dbEventlog.execute('ROLLBACK', undefined);
549
560
  }));
550
561
  for (let i = 0; i < batchItems.length; i++) {
@@ -552,7 +563,7 @@ const materializeEventsBatch = ({ batchItems }) => Effect.gen(function* () {
552
563
  batchItems[i].meta.sessionChangeset = sessionChangeset;
553
564
  batchItems[i].meta.materializerHashLeader = hash;
554
565
  }
555
- db.execute('COMMIT', undefined); // Commit the transaction
566
+ dbState.execute('COMMIT', undefined); // Commit the transaction
556
567
  dbEventlog.execute('COMMIT', undefined); // Commit the transaction
557
568
  }).pipe(Effect.uninterruptible, Effect.scoped, Effect.withSpan('@livestore/common:LeaderSyncProcessor:materializeEventItems', {
558
569
  attributes: { batchSize: batchItems.length },
@@ -717,8 +728,7 @@ const isSameSequencePosition = (left, right) => left.global === right.global &&
717
728
  * Handles a BackendIdMismatchError based on the configured behavior.
718
729
  * This occurs when the sync backend has been reset and has a new identity.
719
730
  */
720
- const handleBackendIdMismatch = Effect.fn('@livestore/common:LeaderSyncProcessor:handleBackendIdMismatch')(function* ({ error, onBackendIdMismatch, shutdownChannel, }) {
721
- const { dbEventlog, dbState } = yield* LeaderThreadCtx;
731
+ const handleBackendIdMismatch = Effect.fn('@livestore/common:LeaderSyncProcessor:handleBackendIdMismatch')(function* ({ error, onBackendIdMismatch, shutdownChannel, dbEventlog, dbState, }) {
722
732
  if (onBackendIdMismatch === 'reset') {
723
733
  yield* Effect.logWarning('Sync backend identity changed (backend was reset). Clearing local storage and shutting down.', error);
724
734
  // Clear local databases so the client can start fresh on next boot
@@ -1 +1 @@
1
- {"version":3,"file":"LeaderSyncProcessor.js","sourceRoot":"","sources":["../../src/leader-thread/LeaderSyncProcessor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LeaderSyncProcessor.js","sourceRoot":"","sources":["../../src/leader-thread/LeaderSyncProcessor.ts"],"names":[],"mappings":"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"}