@livestore/common 0.4.0 → 0.5.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 (421) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/ClientSessionLeaderThreadProxy.d.ts +1 -1
  3. package/dist/ClientSessionLeaderThreadProxy.d.ts.map +1 -1
  4. package/dist/MaterializationJournal.d.ts +44 -0
  5. package/dist/MaterializationJournal.d.ts.map +1 -0
  6. package/dist/MaterializationJournal.js +112 -0
  7. package/dist/MaterializationJournal.js.map +1 -0
  8. package/dist/StateHead.d.ts +26 -0
  9. package/dist/StateHead.d.ts.map +1 -0
  10. package/dist/StateHead.js +50 -0
  11. package/dist/StateHead.js.map +1 -0
  12. package/dist/WorkerTransportError.d.ts +3 -3
  13. package/dist/WorkerTransportError.d.ts.map +1 -1
  14. package/dist/WorkerTransportError.js +3 -3
  15. package/dist/WorkerTransportError.js.map +1 -1
  16. package/dist/__tests__/fixture.d.ts +1 -1
  17. package/dist/__tests__/fixture.d.ts.map +1 -1
  18. package/dist/__tests__/fixture.js +3 -3
  19. package/dist/__tests__/fixture.js.map +1 -1
  20. package/dist/adapter-types.d.ts +29 -57
  21. package/dist/adapter-types.d.ts.map +1 -1
  22. package/dist/adapter-types.js +20 -37
  23. package/dist/adapter-types.js.map +1 -1
  24. package/dist/debug-info.d.ts +56 -56
  25. package/dist/debug-info.d.ts.map +1 -1
  26. package/dist/debug-info.js +28 -41
  27. package/dist/debug-info.js.map +1 -1
  28. package/dist/defs.d.ts +9 -9
  29. package/dist/defs.js +2 -2
  30. package/dist/devtools/devtools-compatibility.test.js +1 -0
  31. package/dist/devtools/devtools-compatibility.test.js.map +1 -1
  32. package/dist/devtools/devtools-messages-client-session.d.ts +520 -332
  33. package/dist/devtools/devtools-messages-client-session.d.ts.map +1 -1
  34. package/dist/devtools/devtools-messages-client-session.js +76 -74
  35. package/dist/devtools/devtools-messages-client-session.js.map +1 -1
  36. package/dist/devtools/devtools-messages-common.d.ts +27 -27
  37. package/dist/devtools/devtools-messages-common.d.ts.map +1 -1
  38. package/dist/devtools/devtools-messages-common.js +5 -5
  39. package/dist/devtools/devtools-messages-common.js.map +1 -1
  40. package/dist/devtools/devtools-messages-leader.d.ts +405 -343
  41. package/dist/devtools/devtools-messages-leader.d.ts.map +1 -1
  42. package/dist/devtools/devtools-messages-leader.js +101 -89
  43. package/dist/devtools/devtools-messages-leader.js.map +1 -1
  44. package/dist/devtools/devtools-sessioninfo.d.ts +18 -19
  45. package/dist/devtools/devtools-sessioninfo.d.ts.map +1 -1
  46. package/dist/devtools/devtools-sessioninfo.js +8 -5
  47. package/dist/devtools/devtools-sessioninfo.js.map +1 -1
  48. package/dist/devtools/mod.d.ts +4 -5
  49. package/dist/devtools/mod.d.ts.map +1 -1
  50. package/dist/devtools/mod.js +9 -5
  51. package/dist/devtools/mod.js.map +1 -1
  52. package/dist/errors.d.ts +45 -69
  53. package/dist/errors.d.ts.map +1 -1
  54. package/dist/errors.js +18 -16
  55. package/dist/errors.js.map +1 -1
  56. package/dist/index.d.ts +4 -1
  57. package/dist/index.d.ts.map +1 -1
  58. package/dist/index.js +4 -1
  59. package/dist/index.js.map +1 -1
  60. package/dist/leader-thread/LeaderSyncProcessor.d.ts +66 -18
  61. package/dist/leader-thread/LeaderSyncProcessor.d.ts.map +1 -1
  62. package/dist/leader-thread/LeaderSyncProcessor.js +519 -461
  63. package/dist/leader-thread/LeaderSyncProcessor.js.map +1 -1
  64. package/dist/leader-thread/RejectedPushError.d.ts +67 -36
  65. package/dist/leader-thread/RejectedPushError.d.ts.map +1 -1
  66. package/dist/leader-thread/RejectedPushError.js +24 -5
  67. package/dist/leader-thread/RejectedPushError.js.map +1 -1
  68. package/dist/leader-thread/connection.d.ts +1 -0
  69. package/dist/leader-thread/connection.d.ts.map +1 -1
  70. package/dist/leader-thread/connection.js +9 -8
  71. package/dist/leader-thread/connection.js.map +1 -1
  72. package/dist/leader-thread/eventlog.d.ts +4 -4
  73. package/dist/leader-thread/eventlog.d.ts.map +1 -1
  74. package/dist/leader-thread/eventlog.js +6 -6
  75. package/dist/leader-thread/eventlog.js.map +1 -1
  76. package/dist/leader-thread/leader-worker-devtools.d.ts +1 -1
  77. package/dist/leader-thread/leader-worker-devtools.d.ts.map +1 -1
  78. package/dist/leader-thread/leader-worker-devtools.js +33 -17
  79. package/dist/leader-thread/leader-worker-devtools.js.map +1 -1
  80. package/dist/leader-thread/make-leader-thread-layer.d.ts +9 -5
  81. package/dist/leader-thread/make-leader-thread-layer.d.ts.map +1 -1
  82. package/dist/leader-thread/make-leader-thread-layer.js +25 -35
  83. package/dist/leader-thread/make-leader-thread-layer.js.map +1 -1
  84. package/dist/leader-thread/make-leader-thread-layer.test.js +7 -7
  85. package/dist/leader-thread/make-leader-thread-layer.test.js.map +1 -1
  86. package/dist/leader-thread/materialize-event.d.ts +2 -1
  87. package/dist/leader-thread/materialize-event.d.ts.map +1 -1
  88. package/dist/leader-thread/materialize-event.js +4 -0
  89. package/dist/leader-thread/materialize-event.js.map +1 -1
  90. package/dist/leader-thread/recreate-db.d.ts.map +1 -1
  91. package/dist/leader-thread/recreate-db.js +18 -39
  92. package/dist/leader-thread/recreate-db.js.map +1 -1
  93. package/dist/leader-thread/shutdown-channel.d.ts +2 -6
  94. package/dist/leader-thread/shutdown-channel.d.ts.map +1 -1
  95. package/dist/leader-thread/shutdown-channel.js +2 -3
  96. package/dist/leader-thread/shutdown-channel.js.map +1 -1
  97. package/dist/leader-thread/stream-events.d.ts +4 -7
  98. package/dist/leader-thread/stream-events.d.ts.map +1 -1
  99. package/dist/leader-thread/stream-events.js +13 -16
  100. package/dist/leader-thread/stream-events.js.map +1 -1
  101. package/dist/leader-thread/types.d.ts +32 -69
  102. package/dist/leader-thread/types.d.ts.map +1 -1
  103. package/dist/leader-thread/types.js +5 -5
  104. package/dist/leader-thread/types.js.map +1 -1
  105. package/dist/logging.d.ts +5 -30
  106. package/dist/logging.d.ts.map +1 -1
  107. package/dist/logging.js +1 -32
  108. package/dist/logging.js.map +1 -1
  109. package/dist/make-client-session.d.ts +1 -2
  110. package/dist/make-client-session.d.ts.map +1 -1
  111. package/dist/make-client-session.js +3 -3
  112. package/dist/make-client-session.js.map +1 -1
  113. package/dist/materializer-helper.d.ts +0 -1
  114. package/dist/materializer-helper.d.ts.map +1 -1
  115. package/dist/materializer-helper.js +7 -35
  116. package/dist/materializer-helper.js.map +1 -1
  117. package/dist/otel.d.ts +2 -3
  118. package/dist/otel.d.ts.map +1 -1
  119. package/dist/otel.js +2 -7
  120. package/dist/otel.js.map +1 -1
  121. package/dist/rematerialize-from-eventlog.d.ts.map +1 -1
  122. package/dist/rematerialize-from-eventlog.js +28 -26
  123. package/dist/rematerialize-from-eventlog.js.map +1 -1
  124. package/dist/schema/EventDef/define.d.ts +4 -4
  125. package/dist/schema/EventDef/define.d.ts.map +1 -1
  126. package/dist/schema/EventDef/define.js +5 -5
  127. package/dist/schema/EventDef/define.js.map +1 -1
  128. package/dist/schema/EventDef/define.test.d.ts +2 -0
  129. package/dist/schema/EventDef/define.test.d.ts.map +1 -0
  130. package/dist/schema/EventDef/define.test.js +23 -0
  131. package/dist/schema/EventDef/define.test.js.map +1 -0
  132. package/dist/schema/EventDef/deprecated.d.ts +8 -13
  133. package/dist/schema/EventDef/deprecated.d.ts.map +1 -1
  134. package/dist/schema/EventDef/deprecated.js +12 -13
  135. package/dist/schema/EventDef/deprecated.js.map +1 -1
  136. package/dist/schema/EventDef/deprecated.test.js +1 -1
  137. package/dist/schema/EventDef/deprecated.test.js.map +1 -1
  138. package/dist/schema/EventDef/event-def.d.ts +1 -1
  139. package/dist/schema/EventDef/event-def.d.ts.map +1 -1
  140. package/dist/schema/EventSequenceNumber/client.d.ts +12 -12
  141. package/dist/schema/EventSequenceNumber/client.d.ts.map +1 -1
  142. package/dist/schema/EventSequenceNumber/client.js +8 -9
  143. package/dist/schema/EventSequenceNumber/client.js.map +1 -1
  144. package/dist/schema/EventSequenceNumber/global.d.ts +2 -2
  145. package/dist/schema/EventSequenceNumber/global.d.ts.map +1 -1
  146. package/dist/schema/EventSequenceNumber/global.js +1 -1
  147. package/dist/schema/EventSequenceNumber/global.js.map +1 -1
  148. package/dist/schema/EventSequenceNumber.test.js +5 -5
  149. package/dist/schema/EventSequenceNumber.test.js.map +1 -1
  150. package/dist/schema/LiveStoreEvent/client.d.ts +50 -179
  151. package/dist/schema/LiveStoreEvent/client.d.ts.map +1 -1
  152. package/dist/schema/LiveStoreEvent/client.js +32 -29
  153. package/dist/schema/LiveStoreEvent/client.js.map +1 -1
  154. package/dist/schema/LiveStoreEvent/client.test.js +11 -2
  155. package/dist/schema/LiveStoreEvent/client.test.js.map +1 -1
  156. package/dist/schema/LiveStoreEvent/for-event-def.d.ts +7 -7
  157. package/dist/schema/LiveStoreEvent/for-event-def.d.ts.map +1 -1
  158. package/dist/schema/LiveStoreEvent/global.d.ts +6 -6
  159. package/dist/schema/LiveStoreEvent/global.d.ts.map +1 -1
  160. package/dist/schema/LiveStoreEvent/global.js +1 -1
  161. package/dist/schema/LiveStoreEvent/global.js.map +1 -1
  162. package/dist/schema/LiveStoreEvent/input.d.ts +5 -5
  163. package/dist/schema/LiveStoreEvent/input.d.ts.map +1 -1
  164. package/dist/schema/LiveStoreEvent/input.js +3 -3
  165. package/dist/schema/LiveStoreEvent/input.js.map +1 -1
  166. package/dist/schema/mod.d.ts +1 -0
  167. package/dist/schema/mod.d.ts.map +1 -1
  168. package/dist/schema/mod.js +1 -0
  169. package/dist/schema/mod.js.map +1 -1
  170. package/dist/schema/schema.d.ts.map +1 -1
  171. package/dist/schema/schema.js +3 -2
  172. package/dist/schema/schema.js.map +1 -1
  173. package/dist/schema/state/sqlite/client-document-def.d.ts +12 -17
  174. package/dist/schema/state/sqlite/client-document-def.d.ts.map +1 -1
  175. package/dist/schema/state/sqlite/client-document-def.js +23 -20
  176. package/dist/schema/state/sqlite/client-document-def.js.map +1 -1
  177. package/dist/schema/state/sqlite/client-document-def.test.js +29 -8
  178. package/dist/schema/state/sqlite/client-document-def.test.js.map +1 -1
  179. package/dist/schema/state/sqlite/column-annotations.d.ts +13 -13
  180. package/dist/schema/state/sqlite/column-annotations.d.ts.map +1 -1
  181. package/dist/schema/state/sqlite/column-annotations.js +13 -15
  182. package/dist/schema/state/sqlite/column-annotations.js.map +1 -1
  183. package/dist/schema/state/sqlite/column-annotations.test.js +19 -43
  184. package/dist/schema/state/sqlite/column-annotations.test.js.map +1 -1
  185. package/dist/schema/state/sqlite/column-def.d.ts +1 -1
  186. package/dist/schema/state/sqlite/column-def.d.ts.map +1 -1
  187. package/dist/schema/state/sqlite/column-def.js +57 -31
  188. package/dist/schema/state/sqlite/column-def.js.map +1 -1
  189. package/dist/schema/state/sqlite/column-def.test.js +118 -72
  190. package/dist/schema/state/sqlite/column-def.test.js.map +1 -1
  191. package/dist/schema/state/sqlite/column-spec.js.map +1 -1
  192. package/dist/schema/state/sqlite/column-spec.test.js +2 -2
  193. package/dist/schema/state/sqlite/db-schema/ast/sqlite.d.ts +2 -2
  194. package/dist/schema/state/sqlite/db-schema/ast/sqlite.d.ts.map +1 -1
  195. package/dist/schema/state/sqlite/db-schema/ast/sqlite.js +13 -4
  196. package/dist/schema/state/sqlite/db-schema/ast/sqlite.js.map +1 -1
  197. package/dist/schema/state/sqlite/db-schema/dsl/field-defs.d.ts +9 -9
  198. package/dist/schema/state/sqlite/db-schema/dsl/field-defs.d.ts.map +1 -1
  199. package/dist/schema/state/sqlite/db-schema/dsl/field-defs.js +8 -13
  200. package/dist/schema/state/sqlite/db-schema/dsl/field-defs.js.map +1 -1
  201. package/dist/schema/state/sqlite/db-schema/dsl/field-defs.test.js +27 -16
  202. package/dist/schema/state/sqlite/db-schema/dsl/field-defs.test.js.map +1 -1
  203. package/dist/schema/state/sqlite/db-schema/dsl/mod.d.ts +13 -11
  204. package/dist/schema/state/sqlite/db-schema/dsl/mod.d.ts.map +1 -1
  205. package/dist/schema/state/sqlite/db-schema/dsl/mod.js +5 -3
  206. package/dist/schema/state/sqlite/db-schema/dsl/mod.js.map +1 -1
  207. package/dist/schema/state/sqlite/mod.d.ts +1 -3
  208. package/dist/schema/state/sqlite/mod.d.ts.map +1 -1
  209. package/dist/schema/state/sqlite/mod.js +1 -1
  210. package/dist/schema/state/sqlite/mod.js.map +1 -1
  211. package/dist/schema/state/sqlite/persistence.d.ts +11 -0
  212. package/dist/schema/state/sqlite/persistence.d.ts.map +1 -0
  213. package/dist/schema/state/sqlite/persistence.js +10 -0
  214. package/dist/schema/state/sqlite/persistence.js.map +1 -0
  215. package/dist/schema/state/sqlite/query-builder/api.d.ts +7 -7
  216. package/dist/schema/state/sqlite/query-builder/api.d.ts.map +1 -1
  217. package/dist/schema/state/sqlite/query-builder/astToSql.d.ts.map +1 -1
  218. package/dist/schema/state/sqlite/query-builder/astToSql.js +27 -23
  219. package/dist/schema/state/sqlite/query-builder/astToSql.js.map +1 -1
  220. package/dist/schema/state/sqlite/query-builder/impl.d.ts +3 -1
  221. package/dist/schema/state/sqlite/query-builder/impl.d.ts.map +1 -1
  222. package/dist/schema/state/sqlite/query-builder/impl.js +16 -14
  223. package/dist/schema/state/sqlite/query-builder/impl.js.map +1 -1
  224. package/dist/schema/state/sqlite/query-builder/impl.test.js +362 -596
  225. package/dist/schema/state/sqlite/query-builder/impl.test.js.map +1 -1
  226. package/dist/schema/state/sqlite/schema-helpers.js +1 -1
  227. package/dist/schema/state/sqlite/schema-helpers.js.map +1 -1
  228. package/dist/schema/state/sqlite/system-tables/eventlog-tables.d.ts +102 -134
  229. package/dist/schema/state/sqlite/system-tables/eventlog-tables.d.ts.map +1 -1
  230. package/dist/schema/state/sqlite/system-tables/eventlog-tables.js +2 -2
  231. package/dist/schema/state/sqlite/system-tables/eventlog-tables.js.map +1 -1
  232. package/dist/schema/state/sqlite/system-tables/state-tables.d.ts +328 -106
  233. package/dist/schema/state/sqlite/system-tables/state-tables.d.ts.map +1 -1
  234. package/dist/schema/state/sqlite/system-tables/state-tables.js +33 -1
  235. package/dist/schema/state/sqlite/system-tables/state-tables.js.map +1 -1
  236. package/dist/schema/state/sqlite/table-def.d.ts +16 -19
  237. package/dist/schema/state/sqlite/table-def.d.ts.map +1 -1
  238. package/dist/schema/state/sqlite/table-def.js +53 -3
  239. package/dist/schema/state/sqlite/table-def.js.map +1 -1
  240. package/dist/schema/state/sqlite/table-def.test.js +153 -36
  241. package/dist/schema/state/sqlite/table-def.test.js.map +1 -1
  242. package/dist/schema/unknown-events.d.ts.map +1 -1
  243. package/dist/schema/unknown-events.js +2 -1
  244. package/dist/schema/unknown-events.js.map +1 -1
  245. package/dist/schema-management/__tests__/migrations-autoincrement-quoting.test.js +2 -2
  246. package/dist/session-id-symbol.d.ts +29 -0
  247. package/dist/session-id-symbol.d.ts.map +1 -0
  248. package/dist/session-id-symbol.js +44 -0
  249. package/dist/session-id-symbol.js.map +1 -0
  250. package/dist/sql-queries/sql-queries.d.ts.map +1 -1
  251. package/dist/sql-queries/sql-queries.js +8 -10
  252. package/dist/sql-queries/sql-queries.js.map +1 -1
  253. package/dist/sql-queries/types.d.ts +6 -7
  254. package/dist/sql-queries/types.d.ts.map +1 -1
  255. package/dist/sql-queries/types.js.map +1 -1
  256. package/dist/sqlite-db-helper.d.ts +21 -1
  257. package/dist/sqlite-db-helper.d.ts.map +1 -1
  258. package/dist/sqlite-db-helper.js +37 -2
  259. package/dist/sqlite-db-helper.js.map +1 -1
  260. package/dist/sqlite-types.d.ts +3 -6
  261. package/dist/sqlite-types.d.ts.map +1 -1
  262. package/dist/sqlite-types.js +3 -3
  263. package/dist/sqlite-types.js.map +1 -1
  264. package/dist/sync/ClientSessionSyncProcessor.d.ts +38 -16
  265. package/dist/sync/ClientSessionSyncProcessor.d.ts.map +1 -1
  266. package/dist/sync/ClientSessionSyncProcessor.js +196 -66
  267. package/dist/sync/ClientSessionSyncProcessor.js.map +1 -1
  268. package/dist/sync/errors.d.ts +12 -18
  269. package/dist/sync/errors.d.ts.map +1 -1
  270. package/dist/sync/errors.js +2 -2
  271. package/dist/sync/errors.js.map +1 -1
  272. package/dist/sync/mock-sync-backend.d.ts +2 -3
  273. package/dist/sync/mock-sync-backend.d.ts.map +1 -1
  274. package/dist/sync/mock-sync-backend.js +54 -33
  275. package/dist/sync/mock-sync-backend.js.map +1 -1
  276. package/dist/sync/mock-sync-backend.test.d.ts +2 -0
  277. package/dist/sync/mock-sync-backend.test.d.ts.map +1 -0
  278. package/dist/sync/mock-sync-backend.test.js +49 -0
  279. package/dist/sync/mock-sync-backend.test.js.map +1 -0
  280. package/dist/sync/next/history-dag-common.d.ts +4 -0
  281. package/dist/sync/next/history-dag-common.d.ts.map +1 -1
  282. package/dist/sync/next/history-dag-common.js +52 -31
  283. package/dist/sync/next/history-dag-common.js.map +1 -1
  284. package/dist/sync/next/history-dag.d.ts.map +1 -1
  285. package/dist/sync/next/history-dag.js +2 -1
  286. package/dist/sync/next/history-dag.js.map +1 -1
  287. package/dist/sync/next/test/compact-events.calculator.test.js +2 -2
  288. package/dist/sync/next/test/event-fixtures.d.ts +7 -7
  289. package/dist/sync/next/test/event-fixtures.js +1 -1
  290. package/dist/sync/next/test/event-fixtures.js.map +1 -1
  291. package/dist/sync/next/test/history-dag-common.test.d.ts +2 -0
  292. package/dist/sync/next/test/history-dag-common.test.d.ts.map +1 -0
  293. package/dist/sync/next/test/history-dag-common.test.js +73 -0
  294. package/dist/sync/next/test/history-dag-common.test.js.map +1 -0
  295. package/dist/sync/sync-backend-kv.d.ts.map +1 -1
  296. package/dist/sync/sync-backend-kv.js +4 -2
  297. package/dist/sync/sync-backend-kv.js.map +1 -1
  298. package/dist/sync/sync-backend.d.ts +15 -15
  299. package/dist/sync/sync-backend.d.ts.map +1 -1
  300. package/dist/sync/sync-backend.js +9 -5
  301. package/dist/sync/sync-backend.js.map +1 -1
  302. package/dist/sync/sync.d.ts +1 -1
  303. package/dist/sync/sync.d.ts.map +1 -1
  304. package/dist/sync/syncstate.d.ts +97 -173
  305. package/dist/sync/syncstate.d.ts.map +1 -1
  306. package/dist/sync/syncstate.js +34 -37
  307. package/dist/sync/syncstate.js.map +1 -1
  308. package/dist/sync/syncstate.test.js +100 -61
  309. package/dist/sync/syncstate.test.js.map +1 -1
  310. package/dist/sync/transport-chunking.d.ts +15 -16
  311. package/dist/sync/transport-chunking.d.ts.map +1 -1
  312. package/dist/sync/transport-chunking.js +23 -32
  313. package/dist/sync/transport-chunking.js.map +1 -1
  314. package/dist/util.d.ts +11 -4
  315. package/dist/util.d.ts.map +1 -1
  316. package/dist/util.js +19 -2
  317. package/dist/util.js.map +1 -1
  318. package/dist/version.d.ts.map +1 -1
  319. package/dist/version.js.map +1 -1
  320. package/package.json +19 -37
  321. package/src/ClientSessionLeaderThreadProxy.ts +1 -1
  322. package/src/MaterializationJournal.ts +184 -0
  323. package/src/StateHead.ts +80 -0
  324. package/src/WorkerTransportError.ts +4 -4
  325. package/src/__tests__/fixture.ts +3 -3
  326. package/src/adapter-types.ts +24 -61
  327. package/src/debug-info.ts +50 -70
  328. package/src/defs.ts +2 -2
  329. package/src/devtools/devtools-compatibility.test.ts +1 -0
  330. package/src/devtools/devtools-messages-client-session.ts +56 -65
  331. package/src/devtools/devtools-messages-common.ts +12 -11
  332. package/src/devtools/devtools-messages-leader.ts +71 -69
  333. package/src/devtools/devtools-sessioninfo.ts +13 -11
  334. package/src/devtools/mod.ts +4 -5
  335. package/src/errors.ts +46 -34
  336. package/src/index.ts +8 -1
  337. package/src/leader-thread/LeaderSyncProcessor.ts +794 -691
  338. package/src/leader-thread/RejectedPushError.ts +40 -27
  339. package/src/leader-thread/connection.ts +12 -8
  340. package/src/leader-thread/eventlog.ts +7 -7
  341. package/src/leader-thread/leader-worker-devtools.ts +37 -19
  342. package/src/leader-thread/make-leader-thread-layer.test.ts +7 -7
  343. package/src/leader-thread/make-leader-thread-layer.ts +56 -53
  344. package/src/leader-thread/materialize-event.ts +13 -8
  345. package/src/leader-thread/recreate-db.ts +24 -59
  346. package/src/leader-thread/shutdown-channel.ts +3 -14
  347. package/src/leader-thread/stream-events.ts +104 -101
  348. package/src/leader-thread/types.ts +24 -62
  349. package/src/logging.ts +5 -52
  350. package/src/make-client-session.ts +6 -6
  351. package/src/materializer-helper.ts +8 -37
  352. package/src/otel.ts +5 -14
  353. package/src/rematerialize-from-eventlog.ts +97 -94
  354. package/src/schema/EventDef/define.test.ts +28 -0
  355. package/src/schema/EventDef/define.ts +20 -19
  356. package/src/schema/EventDef/deprecated.test.ts +1 -8
  357. package/src/schema/EventDef/deprecated.ts +17 -20
  358. package/src/schema/EventDef/event-def.ts +2 -4
  359. package/src/schema/EventSequenceNumber/client.ts +8 -9
  360. package/src/schema/EventSequenceNumber/global.ts +1 -1
  361. package/src/schema/EventSequenceNumber.test.ts +5 -5
  362. package/src/schema/LiveStoreEvent/client.test.ts +17 -4
  363. package/src/schema/LiveStoreEvent/client.ts +36 -35
  364. package/src/schema/LiveStoreEvent/for-event-def.ts +7 -7
  365. package/src/schema/LiveStoreEvent/global.ts +1 -1
  366. package/src/schema/LiveStoreEvent/input.ts +6 -6
  367. package/src/schema/mod.ts +1 -0
  368. package/src/schema/schema.ts +3 -2
  369. package/src/schema/state/sqlite/client-document-def.test.ts +32 -13
  370. package/src/schema/state/sqlite/client-document-def.ts +95 -80
  371. package/src/schema/state/sqlite/column-annotations.test.ts +26 -45
  372. package/src/schema/state/sqlite/column-annotations.ts +26 -30
  373. package/src/schema/state/sqlite/column-def.test.ts +132 -77
  374. package/src/schema/state/sqlite/column-def.ts +72 -37
  375. package/src/schema/state/sqlite/column-spec.test.ts +2 -2
  376. package/src/schema/state/sqlite/column-spec.ts +3 -2
  377. package/src/schema/state/sqlite/db-schema/ast/sqlite.ts +15 -5
  378. package/src/schema/state/sqlite/db-schema/dsl/__snapshots__/field-defs.test.ts.snap +123 -63
  379. package/src/schema/state/sqlite/db-schema/dsl/field-defs.test.ts +35 -16
  380. package/src/schema/state/sqlite/db-schema/dsl/field-defs.ts +25 -31
  381. package/src/schema/state/sqlite/db-schema/dsl/mod.ts +35 -21
  382. package/src/schema/state/sqlite/mod.ts +2 -4
  383. package/src/schema/state/sqlite/persistence.ts +11 -0
  384. package/src/schema/state/sqlite/query-builder/api.ts +9 -9
  385. package/src/schema/state/sqlite/query-builder/astToSql.ts +31 -26
  386. package/src/schema/state/sqlite/query-builder/impl.test.ts +433 -669
  387. package/src/schema/state/sqlite/query-builder/impl.ts +19 -15
  388. package/src/schema/state/sqlite/schema-helpers.ts +1 -1
  389. package/src/schema/state/sqlite/system-tables/eventlog-tables.ts +2 -2
  390. package/src/schema/state/sqlite/system-tables/state-tables.ts +41 -1
  391. package/src/schema/state/sqlite/table-def.test.ts +204 -66
  392. package/src/schema/state/sqlite/table-def.ts +96 -45
  393. package/src/schema/unknown-events.ts +3 -2
  394. package/src/schema-management/__tests__/migrations-autoincrement-quoting.test.ts +2 -2
  395. package/src/session-id-symbol.ts +59 -0
  396. package/src/sql-queries/sql-queries.ts +8 -12
  397. package/src/sql-queries/types.ts +6 -7
  398. package/src/sqlite-db-helper.ts +64 -2
  399. package/src/sqlite-types.ts +5 -8
  400. package/src/sync/ClientSessionSyncProcessor.ts +303 -119
  401. package/src/sync/errors.ts +14 -12
  402. package/src/sync/mock-sync-backend.test.ts +78 -0
  403. package/src/sync/mock-sync-backend.ts +93 -47
  404. package/src/sync/next/history-dag-common.ts +60 -34
  405. package/src/sync/next/history-dag.ts +4 -1
  406. package/src/sync/next/test/compact-events.calculator.test.ts +2 -2
  407. package/src/sync/next/test/event-fixtures.ts +1 -1
  408. package/src/sync/next/test/history-dag-common.test.ts +87 -0
  409. package/src/sync/sync-backend-kv.ts +4 -2
  410. package/src/sync/sync-backend.ts +15 -15
  411. package/src/sync/sync.ts +1 -1
  412. package/src/sync/syncstate.test.ts +191 -140
  413. package/src/sync/syncstate.ts +63 -53
  414. package/src/sync/transport-chunking.ts +34 -39
  415. package/src/util.ts +18 -9
  416. package/src/version.ts +1 -2
  417. package/dist/sql-queries/misc.d.ts +0 -2
  418. package/dist/sql-queries/misc.d.ts.map +0 -1
  419. package/dist/sql-queries/misc.js +0 -2
  420. package/dist/sql-queries/misc.js.map +0 -1
  421. package/src/sql-queries/misc.ts +0 -2
@@ -11,7 +11,7 @@ export declare const SCHEMA_META_TABLE = "__livestore_schema";
11
11
  export declare const schemaMetaTable: import("../table-def.ts").TableDef<import("../table-def.ts").SqliteTableDefForInput<"__livestore_schema", {
12
12
  readonly tableName: {
13
13
  columnType: "text";
14
- schema: import("effect/Schema").Schema<string, string, never>;
14
+ schema: import("effect/Schema").Codec<string, string, never, never>;
15
15
  default: import("effect/Option").None<never>;
16
16
  nullable: false;
17
17
  primaryKey: true;
@@ -19,7 +19,7 @@ export declare const schemaMetaTable: import("../table-def.ts").TableDef<import(
19
19
  };
20
20
  readonly schemaHash: {
21
21
  columnType: "integer";
22
- schema: import("effect/Schema").Schema<number, number, never>;
22
+ schema: import("effect/Schema").Codec<number, number, never, never>;
23
23
  default: import("effect/Option").None<never>;
24
24
  nullable: false;
25
25
  primaryKey: false;
@@ -28,7 +28,7 @@ export declare const schemaMetaTable: import("../table-def.ts").TableDef<import(
28
28
  /** ISO date format */
29
29
  readonly updatedAt: {
30
30
  columnType: "text";
31
- schema: import("effect/Schema").Schema<string, string, never>;
31
+ schema: import("effect/Schema").Codec<string, string, never, never>;
32
32
  default: import("effect/Option").None<never>;
33
33
  nullable: false;
34
34
  primaryKey: false;
@@ -37,7 +37,7 @@ export declare const schemaMetaTable: import("../table-def.ts").TableDef<import(
37
37
  }>, import("../table-def.ts").WithDefaults<{
38
38
  readonly tableName: {
39
39
  columnType: "text";
40
- schema: import("effect/Schema").Schema<string, string, never>;
40
+ schema: import("effect/Schema").Codec<string, string, never, never>;
41
41
  default: import("effect/Option").None<never>;
42
42
  nullable: false;
43
43
  primaryKey: true;
@@ -45,7 +45,7 @@ export declare const schemaMetaTable: import("../table-def.ts").TableDef<import(
45
45
  };
46
46
  readonly schemaHash: {
47
47
  columnType: "integer";
48
- schema: import("effect/Schema").Schema<number, number, never>;
48
+ schema: import("effect/Schema").Codec<number, number, never, never>;
49
49
  default: import("effect/Option").None<never>;
50
50
  nullable: false;
51
51
  primaryKey: false;
@@ -54,21 +54,17 @@ export declare const schemaMetaTable: import("../table-def.ts").TableDef<import(
54
54
  /** ISO date format */
55
55
  readonly updatedAt: {
56
56
  columnType: "text";
57
- schema: import("effect/Schema").Schema<string, string, never>;
57
+ schema: import("effect/Schema").Codec<string, string, never, never>;
58
58
  default: import("effect/Option").None<never>;
59
59
  nullable: false;
60
60
  primaryKey: false;
61
61
  autoIncrement: false;
62
62
  };
63
- }>, import("effect/Schema").Schema<{
64
- readonly tableName: string;
65
- readonly schemaHash: number;
66
- readonly updatedAt: string;
67
- }, {
68
- readonly tableName: string;
69
- readonly schemaHash: number;
70
- readonly updatedAt: string;
71
- }, never>>;
63
+ }>, import("effect/Schema").Struct<{
64
+ readonly tableName: import("effect/Schema").Codec<string, string, never, never>;
65
+ readonly schemaHash: import("effect/Schema").Codec<number, number, never, never>;
66
+ readonly updatedAt: import("effect/Schema").Codec<string, string, never, never>;
67
+ }>>;
72
68
  export type SchemaMetaRow = typeof schemaMetaTable.Type;
73
69
  export declare const SCHEMA_EVENT_DEFS_META_TABLE = "__livestore_schema_event_defs";
74
70
  /**
@@ -77,7 +73,7 @@ export declare const SCHEMA_EVENT_DEFS_META_TABLE = "__livestore_schema_event_de
77
73
  export declare const schemaEventDefsMetaTable: import("../table-def.ts").TableDef<import("../table-def.ts").SqliteTableDefForInput<"__livestore_schema_event_defs", {
78
74
  readonly eventName: {
79
75
  columnType: "text";
80
- schema: import("effect/Schema").Schema<string, string, never>;
76
+ schema: import("effect/Schema").Codec<string, string, never, never>;
81
77
  default: import("effect/Option").None<never>;
82
78
  nullable: false;
83
79
  primaryKey: true;
@@ -85,7 +81,7 @@ export declare const schemaEventDefsMetaTable: import("../table-def.ts").TableDe
85
81
  };
86
82
  readonly schemaHash: {
87
83
  columnType: "integer";
88
- schema: import("effect/Schema").Schema<number, number, never>;
84
+ schema: import("effect/Schema").Codec<number, number, never, never>;
89
85
  default: import("effect/Option").None<never>;
90
86
  nullable: false;
91
87
  primaryKey: false;
@@ -94,7 +90,7 @@ export declare const schemaEventDefsMetaTable: import("../table-def.ts").TableDe
94
90
  /** ISO date format */
95
91
  readonly updatedAt: {
96
92
  columnType: "text";
97
- schema: import("effect/Schema").Schema<string, string, never>;
93
+ schema: import("effect/Schema").Codec<string, string, never, never>;
98
94
  default: import("effect/Option").None<never>;
99
95
  nullable: false;
100
96
  primaryKey: false;
@@ -103,7 +99,7 @@ export declare const schemaEventDefsMetaTable: import("../table-def.ts").TableDe
103
99
  }>, import("../table-def.ts").WithDefaults<{
104
100
  readonly eventName: {
105
101
  columnType: "text";
106
- schema: import("effect/Schema").Schema<string, string, never>;
102
+ schema: import("effect/Schema").Codec<string, string, never, never>;
107
103
  default: import("effect/Option").None<never>;
108
104
  nullable: false;
109
105
  primaryKey: true;
@@ -111,7 +107,7 @@ export declare const schemaEventDefsMetaTable: import("../table-def.ts").TableDe
111
107
  };
112
108
  readonly schemaHash: {
113
109
  columnType: "integer";
114
- schema: import("effect/Schema").Schema<number, number, never>;
110
+ schema: import("effect/Schema").Codec<number, number, never, never>;
115
111
  default: import("effect/Option").None<never>;
116
112
  nullable: false;
117
113
  primaryKey: false;
@@ -120,22 +116,99 @@ export declare const schemaEventDefsMetaTable: import("../table-def.ts").TableDe
120
116
  /** ISO date format */
121
117
  readonly updatedAt: {
122
118
  columnType: "text";
123
- schema: import("effect/Schema").Schema<string, string, never>;
119
+ schema: import("effect/Schema").Codec<string, string, never, never>;
124
120
  default: import("effect/Option").None<never>;
125
121
  nullable: false;
126
122
  primaryKey: false;
127
123
  autoIncrement: false;
128
124
  };
129
- }>, import("effect/Schema").Schema<{
130
- readonly eventName: string;
131
- readonly schemaHash: number;
132
- readonly updatedAt: string;
133
- }, {
134
- readonly eventName: string;
135
- readonly schemaHash: number;
136
- readonly updatedAt: string;
137
- }, never>>;
125
+ }>, import("effect/Schema").Struct<{
126
+ readonly eventName: import("effect/Schema").Codec<string, string, never, never>;
127
+ readonly schemaHash: import("effect/Schema").Codec<number, number, never, never>;
128
+ readonly updatedAt: import("effect/Schema").Codec<string, string, never, never>;
129
+ }>>;
138
130
  export type SchemaEventDefsMetaRow = typeof schemaEventDefsMetaTable.Type;
131
+ export declare const STATE_HEAD_META_TABLE = "__livestore_state_head";
132
+ /**
133
+ * Single-row marker for the latest event sequence number reflected by the state DB.
134
+ *
135
+ * @remarks
136
+ * This is separate from the session changeset table because confirmed changesets
137
+ * can be removed after they are no longer needed for rollback.
138
+ */
139
+ export declare const stateHeadMetaTable: import("../table-def.ts").TableDef<import("../table-def.ts").SqliteTableDefForInput<"__livestore_state_head", {
140
+ readonly id: {
141
+ columnType: "integer";
142
+ schema: import("effect/Schema").Codec<number, number, never, never>;
143
+ default: import("effect/Option").None<never>;
144
+ nullable: false;
145
+ primaryKey: true;
146
+ autoIncrement: false;
147
+ };
148
+ readonly seqNumGlobal: {
149
+ columnType: "integer";
150
+ schema: import("effect/Schema").Codec<number & import("effect/Brand").Brand<"GlobalEventSequenceNumber">, number, never, never>;
151
+ default: import("effect/Option").None<never>;
152
+ nullable: false;
153
+ primaryKey: false;
154
+ autoIncrement: false;
155
+ };
156
+ readonly seqNumClient: {
157
+ columnType: "integer";
158
+ schema: import("effect/Schema").Codec<number & import("effect/Brand").Brand<"ClientEventSequenceNumber">, number, never, never>;
159
+ default: import("effect/Option").None<never>;
160
+ nullable: false;
161
+ primaryKey: false;
162
+ autoIncrement: false;
163
+ };
164
+ readonly seqNumRebaseGeneration: {
165
+ columnType: "integer";
166
+ schema: import("effect/Schema").Codec<number, number, never, never>;
167
+ default: import("effect/Option").None<never>;
168
+ nullable: false;
169
+ primaryKey: false;
170
+ autoIncrement: false;
171
+ };
172
+ }>, import("../table-def.ts").WithDefaults<{
173
+ readonly id: {
174
+ columnType: "integer";
175
+ schema: import("effect/Schema").Codec<number, number, never, never>;
176
+ default: import("effect/Option").None<never>;
177
+ nullable: false;
178
+ primaryKey: true;
179
+ autoIncrement: false;
180
+ };
181
+ readonly seqNumGlobal: {
182
+ columnType: "integer";
183
+ schema: import("effect/Schema").Codec<number & import("effect/Brand").Brand<"GlobalEventSequenceNumber">, number, never, never>;
184
+ default: import("effect/Option").None<never>;
185
+ nullable: false;
186
+ primaryKey: false;
187
+ autoIncrement: false;
188
+ };
189
+ readonly seqNumClient: {
190
+ columnType: "integer";
191
+ schema: import("effect/Schema").Codec<number & import("effect/Brand").Brand<"ClientEventSequenceNumber">, number, never, never>;
192
+ default: import("effect/Option").None<never>;
193
+ nullable: false;
194
+ primaryKey: false;
195
+ autoIncrement: false;
196
+ };
197
+ readonly seqNumRebaseGeneration: {
198
+ columnType: "integer";
199
+ schema: import("effect/Schema").Codec<number, number, never, never>;
200
+ default: import("effect/Option").None<never>;
201
+ nullable: false;
202
+ primaryKey: false;
203
+ autoIncrement: false;
204
+ };
205
+ }>, import("effect/Schema").Struct<{
206
+ readonly id: import("effect/Schema").Codec<number, number, never, never>;
207
+ readonly seqNumGlobal: import("effect/Schema").Codec<number & import("effect/Brand").Brand<"GlobalEventSequenceNumber">, number, never, never>;
208
+ readonly seqNumClient: import("effect/Schema").Codec<number & import("effect/Brand").Brand<"ClientEventSequenceNumber">, number, never, never>;
209
+ readonly seqNumRebaseGeneration: import("effect/Schema").Codec<number, number, never, never>;
210
+ }>>;
211
+ export type StateHeadMetaRow = typeof stateHeadMetaTable.Type;
139
212
  /**
140
213
  * Table which stores SQLite changeset blobs which is used for rolling back
141
214
  * read-model state during rebasing.
@@ -144,7 +217,7 @@ export declare const SESSION_CHANGESET_META_TABLE = "__livestore_session_changes
144
217
  export declare const sessionChangesetMetaTable: import("../table-def.ts").TableDef<import("../table-def.ts").SqliteTableDefForInput<"__livestore_session_changeset", {
145
218
  readonly seqNumGlobal: {
146
219
  columnType: "integer";
147
- schema: import("effect/Schema").Schema<number & import("effect/Brand").Brand<"GlobalEventSequenceNumber">, number, never>;
220
+ schema: import("effect/Schema").Codec<number & import("effect/Brand").Brand<"GlobalEventSequenceNumber">, number, never, never>;
148
221
  default: import("effect/Option").None<never>;
149
222
  nullable: false;
150
223
  primaryKey: false;
@@ -152,7 +225,7 @@ export declare const sessionChangesetMetaTable: import("../table-def.ts").TableD
152
225
  };
153
226
  readonly seqNumClient: {
154
227
  columnType: "integer";
155
- schema: import("effect/Schema").Schema<number & import("effect/Brand").Brand<"ClientEventSequenceNumber">, number, never>;
228
+ schema: import("effect/Schema").Codec<number & import("effect/Brand").Brand<"ClientEventSequenceNumber">, number, never, never>;
156
229
  default: import("effect/Option").None<never>;
157
230
  nullable: false;
158
231
  primaryKey: false;
@@ -160,7 +233,7 @@ export declare const sessionChangesetMetaTable: import("../table-def.ts").TableD
160
233
  };
161
234
  readonly seqNumRebaseGeneration: {
162
235
  columnType: "integer";
163
- schema: import("effect/Schema").Schema<number, number, never>;
236
+ schema: import("effect/Schema").Codec<number, number, never, never>;
164
237
  default: import("effect/Option").None<never>;
165
238
  nullable: false;
166
239
  primaryKey: false;
@@ -168,7 +241,7 @@ export declare const sessionChangesetMetaTable: import("../table-def.ts").TableD
168
241
  };
169
242
  readonly changeset: {
170
243
  columnType: "blob";
171
- schema: import("effect/Schema").Schema<Uint8Array<ArrayBuffer> | null, Uint8Array<ArrayBuffer> | null, never>;
244
+ schema: import("effect/Schema").Codec<Uint8Array<ArrayBuffer> | null, Uint8Array<ArrayBuffer> | null, never, never>;
172
245
  default: import("effect/Option").None<never>;
173
246
  nullable: true;
174
247
  primaryKey: false;
@@ -176,7 +249,7 @@ export declare const sessionChangesetMetaTable: import("../table-def.ts").TableD
176
249
  };
177
250
  readonly debug: {
178
251
  columnType: "text";
179
- schema: import("effect/Schema").Schema<unknown, string | null, never>;
252
+ schema: import("effect/Schema").Codec<unknown, string | null, never, never>;
180
253
  default: import("effect/Option").Some<any> | import("effect/Option").None<never>;
181
254
  nullable: true;
182
255
  primaryKey: false;
@@ -185,7 +258,7 @@ export declare const sessionChangesetMetaTable: import("../table-def.ts").TableD
185
258
  }>, import("../table-def.ts").WithDefaults<{
186
259
  readonly seqNumGlobal: {
187
260
  columnType: "integer";
188
- schema: import("effect/Schema").Schema<number & import("effect/Brand").Brand<"GlobalEventSequenceNumber">, number, never>;
261
+ schema: import("effect/Schema").Codec<number & import("effect/Brand").Brand<"GlobalEventSequenceNumber">, number, never, never>;
189
262
  default: import("effect/Option").None<never>;
190
263
  nullable: false;
191
264
  primaryKey: false;
@@ -193,7 +266,7 @@ export declare const sessionChangesetMetaTable: import("../table-def.ts").TableD
193
266
  };
194
267
  readonly seqNumClient: {
195
268
  columnType: "integer";
196
- schema: import("effect/Schema").Schema<number & import("effect/Brand").Brand<"ClientEventSequenceNumber">, number, never>;
269
+ schema: import("effect/Schema").Codec<number & import("effect/Brand").Brand<"ClientEventSequenceNumber">, number, never, never>;
197
270
  default: import("effect/Option").None<never>;
198
271
  nullable: false;
199
272
  primaryKey: false;
@@ -201,7 +274,7 @@ export declare const sessionChangesetMetaTable: import("../table-def.ts").TableD
201
274
  };
202
275
  readonly seqNumRebaseGeneration: {
203
276
  columnType: "integer";
204
- schema: import("effect/Schema").Schema<number, number, never>;
277
+ schema: import("effect/Schema").Codec<number, number, never, never>;
205
278
  default: import("effect/Option").None<never>;
206
279
  nullable: false;
207
280
  primaryKey: false;
@@ -209,7 +282,7 @@ export declare const sessionChangesetMetaTable: import("../table-def.ts").TableD
209
282
  };
210
283
  readonly changeset: {
211
284
  columnType: "blob";
212
- schema: import("effect/Schema").Schema<Uint8Array<ArrayBuffer> | null, Uint8Array<ArrayBuffer> | null, never>;
285
+ schema: import("effect/Schema").Codec<Uint8Array<ArrayBuffer> | null, Uint8Array<ArrayBuffer> | null, never, never>;
213
286
  default: import("effect/Option").None<never>;
214
287
  nullable: true;
215
288
  primaryKey: false;
@@ -217,30 +290,122 @@ export declare const sessionChangesetMetaTable: import("../table-def.ts").TableD
217
290
  };
218
291
  readonly debug: {
219
292
  columnType: "text";
220
- schema: import("effect/Schema").Schema<unknown, string | null, never>;
293
+ schema: import("effect/Schema").Codec<unknown, string | null, never, never>;
221
294
  default: import("effect/Option").Some<any> | import("effect/Option").None<never>;
222
295
  nullable: true;
223
296
  primaryKey: false;
224
297
  autoIncrement: false;
225
298
  };
226
- }>, import("effect/Schema").Schema<{
227
- readonly seqNumGlobal: number & import("effect/Brand").Brand<"GlobalEventSequenceNumber">;
228
- readonly seqNumClient: number & import("effect/Brand").Brand<"ClientEventSequenceNumber">;
229
- readonly seqNumRebaseGeneration: number;
230
- readonly changeset: Uint8Array<ArrayBuffer> | null;
231
- readonly debug: unknown;
232
- }, {
233
- readonly seqNumGlobal: number;
234
- readonly seqNumClient: number;
235
- readonly seqNumRebaseGeneration: number;
236
- readonly changeset: Uint8Array<ArrayBuffer> | null;
237
- readonly debug: string | null;
238
- }, never>>;
299
+ }>, import("effect/Schema").Struct<{
300
+ readonly seqNumGlobal: import("effect/Schema").Codec<number & import("effect/Brand").Brand<"GlobalEventSequenceNumber">, number, never, never>;
301
+ readonly seqNumClient: import("effect/Schema").Codec<number & import("effect/Brand").Brand<"ClientEventSequenceNumber">, number, never, never>;
302
+ readonly seqNumRebaseGeneration: import("effect/Schema").Codec<number, number, never, never>;
303
+ readonly changeset: import("effect/Schema").Codec<Uint8Array<ArrayBuffer> | null, Uint8Array<ArrayBuffer> | null, never, never>;
304
+ readonly debug: import("effect/Schema").Codec<unknown, string | null, never, never>;
305
+ }>>;
239
306
  export type SessionChangesetMetaRow = typeof sessionChangesetMetaTable.Type;
307
+ export declare const MATERIALIZATION_JOURNAL_META_TABLE = "__livestore_session_changeset";
308
+ /**
309
+ * Materialization journal used to roll back state database changes during rebasing.
310
+ *
311
+ * @remarks
312
+ * This aliases the legacy table definition until all session changeset consumers
313
+ * have adopted the journal service.
314
+ */
315
+ export declare const materializationJournalMetaTable: import("../table-def.ts").TableDef<import("../table-def.ts").SqliteTableDefForInput<"__livestore_session_changeset", {
316
+ readonly seqNumGlobal: {
317
+ columnType: "integer";
318
+ schema: import("effect/Schema").Codec<number & import("effect/Brand").Brand<"GlobalEventSequenceNumber">, number, never, never>;
319
+ default: import("effect/Option").None<never>;
320
+ nullable: false;
321
+ primaryKey: false;
322
+ autoIncrement: false;
323
+ };
324
+ readonly seqNumClient: {
325
+ columnType: "integer";
326
+ schema: import("effect/Schema").Codec<number & import("effect/Brand").Brand<"ClientEventSequenceNumber">, number, never, never>;
327
+ default: import("effect/Option").None<never>;
328
+ nullable: false;
329
+ primaryKey: false;
330
+ autoIncrement: false;
331
+ };
332
+ readonly seqNumRebaseGeneration: {
333
+ columnType: "integer";
334
+ schema: import("effect/Schema").Codec<number, number, never, never>;
335
+ default: import("effect/Option").None<never>;
336
+ nullable: false;
337
+ primaryKey: false;
338
+ autoIncrement: false;
339
+ };
340
+ readonly changeset: {
341
+ columnType: "blob";
342
+ schema: import("effect/Schema").Codec<Uint8Array<ArrayBuffer> | null, Uint8Array<ArrayBuffer> | null, never, never>;
343
+ default: import("effect/Option").None<never>;
344
+ nullable: true;
345
+ primaryKey: false;
346
+ autoIncrement: false;
347
+ };
348
+ readonly debug: {
349
+ columnType: "text";
350
+ schema: import("effect/Schema").Codec<unknown, string | null, never, never>;
351
+ default: import("effect/Option").Some<any> | import("effect/Option").None<never>;
352
+ nullable: true;
353
+ primaryKey: false;
354
+ autoIncrement: false;
355
+ };
356
+ }>, import("../table-def.ts").WithDefaults<{
357
+ readonly seqNumGlobal: {
358
+ columnType: "integer";
359
+ schema: import("effect/Schema").Codec<number & import("effect/Brand").Brand<"GlobalEventSequenceNumber">, number, never, never>;
360
+ default: import("effect/Option").None<never>;
361
+ nullable: false;
362
+ primaryKey: false;
363
+ autoIncrement: false;
364
+ };
365
+ readonly seqNumClient: {
366
+ columnType: "integer";
367
+ schema: import("effect/Schema").Codec<number & import("effect/Brand").Brand<"ClientEventSequenceNumber">, number, never, never>;
368
+ default: import("effect/Option").None<never>;
369
+ nullable: false;
370
+ primaryKey: false;
371
+ autoIncrement: false;
372
+ };
373
+ readonly seqNumRebaseGeneration: {
374
+ columnType: "integer";
375
+ schema: import("effect/Schema").Codec<number, number, never, never>;
376
+ default: import("effect/Option").None<never>;
377
+ nullable: false;
378
+ primaryKey: false;
379
+ autoIncrement: false;
380
+ };
381
+ readonly changeset: {
382
+ columnType: "blob";
383
+ schema: import("effect/Schema").Codec<Uint8Array<ArrayBuffer> | null, Uint8Array<ArrayBuffer> | null, never, never>;
384
+ default: import("effect/Option").None<never>;
385
+ nullable: true;
386
+ primaryKey: false;
387
+ autoIncrement: false;
388
+ };
389
+ readonly debug: {
390
+ columnType: "text";
391
+ schema: import("effect/Schema").Codec<unknown, string | null, never, never>;
392
+ default: import("effect/Option").Some<any> | import("effect/Option").None<never>;
393
+ nullable: true;
394
+ primaryKey: false;
395
+ autoIncrement: false;
396
+ };
397
+ }>, import("effect/Schema").Struct<{
398
+ readonly seqNumGlobal: import("effect/Schema").Codec<number & import("effect/Brand").Brand<"GlobalEventSequenceNumber">, number, never, never>;
399
+ readonly seqNumClient: import("effect/Schema").Codec<number & import("effect/Brand").Brand<"ClientEventSequenceNumber">, number, never, never>;
400
+ readonly seqNumRebaseGeneration: import("effect/Schema").Codec<number, number, never, never>;
401
+ readonly changeset: import("effect/Schema").Codec<Uint8Array<ArrayBuffer> | null, Uint8Array<ArrayBuffer> | null, never, never>;
402
+ readonly debug: import("effect/Schema").Codec<unknown, string | null, never, never>;
403
+ }>>;
404
+ export type MaterializationJournalMetaRow = SessionChangesetMetaRow;
240
405
  export declare const stateSystemTables: readonly [import("../table-def.ts").TableDef<import("../table-def.ts").SqliteTableDefForInput<"__livestore_schema", {
241
406
  readonly tableName: {
242
407
  columnType: "text";
243
- schema: import("effect/Schema").Schema<string, string, never>;
408
+ schema: import("effect/Schema").Codec<string, string, never, never>;
244
409
  default: import("effect/Option").None<never>;
245
410
  nullable: false;
246
411
  primaryKey: true;
@@ -248,7 +413,7 @@ export declare const stateSystemTables: readonly [import("../table-def.ts").Tabl
248
413
  };
249
414
  readonly schemaHash: {
250
415
  columnType: "integer";
251
- schema: import("effect/Schema").Schema<number, number, never>;
416
+ schema: import("effect/Schema").Codec<number, number, never, never>;
252
417
  default: import("effect/Option").None<never>;
253
418
  nullable: false;
254
419
  primaryKey: false;
@@ -257,7 +422,7 @@ export declare const stateSystemTables: readonly [import("../table-def.ts").Tabl
257
422
  /** ISO date format */
258
423
  readonly updatedAt: {
259
424
  columnType: "text";
260
- schema: import("effect/Schema").Schema<string, string, never>;
425
+ schema: import("effect/Schema").Codec<string, string, never, never>;
261
426
  default: import("effect/Option").None<never>;
262
427
  nullable: false;
263
428
  primaryKey: false;
@@ -266,7 +431,7 @@ export declare const stateSystemTables: readonly [import("../table-def.ts").Tabl
266
431
  }>, import("../table-def.ts").WithDefaults<{
267
432
  readonly tableName: {
268
433
  columnType: "text";
269
- schema: import("effect/Schema").Schema<string, string, never>;
434
+ schema: import("effect/Schema").Codec<string, string, never, never>;
270
435
  default: import("effect/Option").None<never>;
271
436
  nullable: false;
272
437
  primaryKey: true;
@@ -274,7 +439,7 @@ export declare const stateSystemTables: readonly [import("../table-def.ts").Tabl
274
439
  };
275
440
  readonly schemaHash: {
276
441
  columnType: "integer";
277
- schema: import("effect/Schema").Schema<number, number, never>;
442
+ schema: import("effect/Schema").Codec<number, number, never, never>;
278
443
  default: import("effect/Option").None<never>;
279
444
  nullable: false;
280
445
  primaryKey: false;
@@ -283,24 +448,20 @@ export declare const stateSystemTables: readonly [import("../table-def.ts").Tabl
283
448
  /** ISO date format */
284
449
  readonly updatedAt: {
285
450
  columnType: "text";
286
- schema: import("effect/Schema").Schema<string, string, never>;
451
+ schema: import("effect/Schema").Codec<string, string, never, never>;
287
452
  default: import("effect/Option").None<never>;
288
453
  nullable: false;
289
454
  primaryKey: false;
290
455
  autoIncrement: false;
291
456
  };
292
- }>, import("effect/Schema").Schema<{
293
- readonly tableName: string;
294
- readonly schemaHash: number;
295
- readonly updatedAt: string;
296
- }, {
297
- readonly tableName: string;
298
- readonly schemaHash: number;
299
- readonly updatedAt: string;
300
- }, never>>, import("../table-def.ts").TableDef<import("../table-def.ts").SqliteTableDefForInput<"__livestore_schema_event_defs", {
457
+ }>, import("effect/Schema").Struct<{
458
+ readonly tableName: import("effect/Schema").Codec<string, string, never, never>;
459
+ readonly schemaHash: import("effect/Schema").Codec<number, number, never, never>;
460
+ readonly updatedAt: import("effect/Schema").Codec<string, string, never, never>;
461
+ }>>, import("../table-def.ts").TableDef<import("../table-def.ts").SqliteTableDefForInput<"__livestore_schema_event_defs", {
301
462
  readonly eventName: {
302
463
  columnType: "text";
303
- schema: import("effect/Schema").Schema<string, string, never>;
464
+ schema: import("effect/Schema").Codec<string, string, never, never>;
304
465
  default: import("effect/Option").None<never>;
305
466
  nullable: false;
306
467
  primaryKey: true;
@@ -308,7 +469,7 @@ export declare const stateSystemTables: readonly [import("../table-def.ts").Tabl
308
469
  };
309
470
  readonly schemaHash: {
310
471
  columnType: "integer";
311
- schema: import("effect/Schema").Schema<number, number, never>;
472
+ schema: import("effect/Schema").Codec<number, number, never, never>;
312
473
  default: import("effect/Option").None<never>;
313
474
  nullable: false;
314
475
  primaryKey: false;
@@ -317,7 +478,7 @@ export declare const stateSystemTables: readonly [import("../table-def.ts").Tabl
317
478
  /** ISO date format */
318
479
  readonly updatedAt: {
319
480
  columnType: "text";
320
- schema: import("effect/Schema").Schema<string, string, never>;
481
+ schema: import("effect/Schema").Codec<string, string, never, never>;
321
482
  default: import("effect/Option").None<never>;
322
483
  nullable: false;
323
484
  primaryKey: false;
@@ -326,7 +487,7 @@ export declare const stateSystemTables: readonly [import("../table-def.ts").Tabl
326
487
  }>, import("../table-def.ts").WithDefaults<{
327
488
  readonly eventName: {
328
489
  columnType: "text";
329
- schema: import("effect/Schema").Schema<string, string, never>;
490
+ schema: import("effect/Schema").Codec<string, string, never, never>;
330
491
  default: import("effect/Option").None<never>;
331
492
  nullable: false;
332
493
  primaryKey: true;
@@ -334,7 +495,7 @@ export declare const stateSystemTables: readonly [import("../table-def.ts").Tabl
334
495
  };
335
496
  readonly schemaHash: {
336
497
  columnType: "integer";
337
- schema: import("effect/Schema").Schema<number, number, never>;
498
+ schema: import("effect/Schema").Codec<number, number, never, never>;
338
499
  default: import("effect/Option").None<never>;
339
500
  nullable: false;
340
501
  primaryKey: false;
@@ -343,24 +504,91 @@ export declare const stateSystemTables: readonly [import("../table-def.ts").Tabl
343
504
  /** ISO date format */
344
505
  readonly updatedAt: {
345
506
  columnType: "text";
346
- schema: import("effect/Schema").Schema<string, string, never>;
507
+ schema: import("effect/Schema").Codec<string, string, never, never>;
508
+ default: import("effect/Option").None<never>;
509
+ nullable: false;
510
+ primaryKey: false;
511
+ autoIncrement: false;
512
+ };
513
+ }>, import("effect/Schema").Struct<{
514
+ readonly eventName: import("effect/Schema").Codec<string, string, never, never>;
515
+ readonly schemaHash: import("effect/Schema").Codec<number, number, never, never>;
516
+ readonly updatedAt: import("effect/Schema").Codec<string, string, never, never>;
517
+ }>>, import("../table-def.ts").TableDef<import("../table-def.ts").SqliteTableDefForInput<"__livestore_state_head", {
518
+ readonly id: {
519
+ columnType: "integer";
520
+ schema: import("effect/Schema").Codec<number, number, never, never>;
521
+ default: import("effect/Option").None<never>;
522
+ nullable: false;
523
+ primaryKey: true;
524
+ autoIncrement: false;
525
+ };
526
+ readonly seqNumGlobal: {
527
+ columnType: "integer";
528
+ schema: import("effect/Schema").Codec<number & import("effect/Brand").Brand<"GlobalEventSequenceNumber">, number, never, never>;
529
+ default: import("effect/Option").None<never>;
530
+ nullable: false;
531
+ primaryKey: false;
532
+ autoIncrement: false;
533
+ };
534
+ readonly seqNumClient: {
535
+ columnType: "integer";
536
+ schema: import("effect/Schema").Codec<number & import("effect/Brand").Brand<"ClientEventSequenceNumber">, number, never, never>;
537
+ default: import("effect/Option").None<never>;
538
+ nullable: false;
539
+ primaryKey: false;
540
+ autoIncrement: false;
541
+ };
542
+ readonly seqNumRebaseGeneration: {
543
+ columnType: "integer";
544
+ schema: import("effect/Schema").Codec<number, number, never, never>;
545
+ default: import("effect/Option").None<never>;
546
+ nullable: false;
547
+ primaryKey: false;
548
+ autoIncrement: false;
549
+ };
550
+ }>, import("../table-def.ts").WithDefaults<{
551
+ readonly id: {
552
+ columnType: "integer";
553
+ schema: import("effect/Schema").Codec<number, number, never, never>;
554
+ default: import("effect/Option").None<never>;
555
+ nullable: false;
556
+ primaryKey: true;
557
+ autoIncrement: false;
558
+ };
559
+ readonly seqNumGlobal: {
560
+ columnType: "integer";
561
+ schema: import("effect/Schema").Codec<number & import("effect/Brand").Brand<"GlobalEventSequenceNumber">, number, never, never>;
562
+ default: import("effect/Option").None<never>;
563
+ nullable: false;
564
+ primaryKey: false;
565
+ autoIncrement: false;
566
+ };
567
+ readonly seqNumClient: {
568
+ columnType: "integer";
569
+ schema: import("effect/Schema").Codec<number & import("effect/Brand").Brand<"ClientEventSequenceNumber">, number, never, never>;
570
+ default: import("effect/Option").None<never>;
571
+ nullable: false;
572
+ primaryKey: false;
573
+ autoIncrement: false;
574
+ };
575
+ readonly seqNumRebaseGeneration: {
576
+ columnType: "integer";
577
+ schema: import("effect/Schema").Codec<number, number, never, never>;
347
578
  default: import("effect/Option").None<never>;
348
579
  nullable: false;
349
580
  primaryKey: false;
350
581
  autoIncrement: false;
351
582
  };
352
- }>, import("effect/Schema").Schema<{
353
- readonly eventName: string;
354
- readonly schemaHash: number;
355
- readonly updatedAt: string;
356
- }, {
357
- readonly eventName: string;
358
- readonly schemaHash: number;
359
- readonly updatedAt: string;
360
- }, never>>, import("../table-def.ts").TableDef<import("../table-def.ts").SqliteTableDefForInput<"__livestore_session_changeset", {
583
+ }>, import("effect/Schema").Struct<{
584
+ readonly id: import("effect/Schema").Codec<number, number, never, never>;
585
+ readonly seqNumGlobal: import("effect/Schema").Codec<number & import("effect/Brand").Brand<"GlobalEventSequenceNumber">, number, never, never>;
586
+ readonly seqNumClient: import("effect/Schema").Codec<number & import("effect/Brand").Brand<"ClientEventSequenceNumber">, number, never, never>;
587
+ readonly seqNumRebaseGeneration: import("effect/Schema").Codec<number, number, never, never>;
588
+ }>>, import("../table-def.ts").TableDef<import("../table-def.ts").SqliteTableDefForInput<"__livestore_session_changeset", {
361
589
  readonly seqNumGlobal: {
362
590
  columnType: "integer";
363
- schema: import("effect/Schema").Schema<number & import("effect/Brand").Brand<"GlobalEventSequenceNumber">, number, never>;
591
+ schema: import("effect/Schema").Codec<number & import("effect/Brand").Brand<"GlobalEventSequenceNumber">, number, never, never>;
364
592
  default: import("effect/Option").None<never>;
365
593
  nullable: false;
366
594
  primaryKey: false;
@@ -368,7 +596,7 @@ export declare const stateSystemTables: readonly [import("../table-def.ts").Tabl
368
596
  };
369
597
  readonly seqNumClient: {
370
598
  columnType: "integer";
371
- schema: import("effect/Schema").Schema<number & import("effect/Brand").Brand<"ClientEventSequenceNumber">, number, never>;
599
+ schema: import("effect/Schema").Codec<number & import("effect/Brand").Brand<"ClientEventSequenceNumber">, number, never, never>;
372
600
  default: import("effect/Option").None<never>;
373
601
  nullable: false;
374
602
  primaryKey: false;
@@ -376,7 +604,7 @@ export declare const stateSystemTables: readonly [import("../table-def.ts").Tabl
376
604
  };
377
605
  readonly seqNumRebaseGeneration: {
378
606
  columnType: "integer";
379
- schema: import("effect/Schema").Schema<number, number, never>;
607
+ schema: import("effect/Schema").Codec<number, number, never, never>;
380
608
  default: import("effect/Option").None<never>;
381
609
  nullable: false;
382
610
  primaryKey: false;
@@ -384,7 +612,7 @@ export declare const stateSystemTables: readonly [import("../table-def.ts").Tabl
384
612
  };
385
613
  readonly changeset: {
386
614
  columnType: "blob";
387
- schema: import("effect/Schema").Schema<Uint8Array<ArrayBuffer> | null, Uint8Array<ArrayBuffer> | null, never>;
615
+ schema: import("effect/Schema").Codec<Uint8Array<ArrayBuffer> | null, Uint8Array<ArrayBuffer> | null, never, never>;
388
616
  default: import("effect/Option").None<never>;
389
617
  nullable: true;
390
618
  primaryKey: false;
@@ -392,7 +620,7 @@ export declare const stateSystemTables: readonly [import("../table-def.ts").Tabl
392
620
  };
393
621
  readonly debug: {
394
622
  columnType: "text";
395
- schema: import("effect/Schema").Schema<unknown, string | null, never>;
623
+ schema: import("effect/Schema").Codec<unknown, string | null, never, never>;
396
624
  default: import("effect/Option").Some<any> | import("effect/Option").None<never>;
397
625
  nullable: true;
398
626
  primaryKey: false;
@@ -401,7 +629,7 @@ export declare const stateSystemTables: readonly [import("../table-def.ts").Tabl
401
629
  }>, import("../table-def.ts").WithDefaults<{
402
630
  readonly seqNumGlobal: {
403
631
  columnType: "integer";
404
- schema: import("effect/Schema").Schema<number & import("effect/Brand").Brand<"GlobalEventSequenceNumber">, number, never>;
632
+ schema: import("effect/Schema").Codec<number & import("effect/Brand").Brand<"GlobalEventSequenceNumber">, number, never, never>;
405
633
  default: import("effect/Option").None<never>;
406
634
  nullable: false;
407
635
  primaryKey: false;
@@ -409,7 +637,7 @@ export declare const stateSystemTables: readonly [import("../table-def.ts").Tabl
409
637
  };
410
638
  readonly seqNumClient: {
411
639
  columnType: "integer";
412
- schema: import("effect/Schema").Schema<number & import("effect/Brand").Brand<"ClientEventSequenceNumber">, number, never>;
640
+ schema: import("effect/Schema").Codec<number & import("effect/Brand").Brand<"ClientEventSequenceNumber">, number, never, never>;
413
641
  default: import("effect/Option").None<never>;
414
642
  nullable: false;
415
643
  primaryKey: false;
@@ -417,7 +645,7 @@ export declare const stateSystemTables: readonly [import("../table-def.ts").Tabl
417
645
  };
418
646
  readonly seqNumRebaseGeneration: {
419
647
  columnType: "integer";
420
- schema: import("effect/Schema").Schema<number, number, never>;
648
+ schema: import("effect/Schema").Codec<number, number, never, never>;
421
649
  default: import("effect/Option").None<never>;
422
650
  nullable: false;
423
651
  primaryKey: false;
@@ -425,7 +653,7 @@ export declare const stateSystemTables: readonly [import("../table-def.ts").Tabl
425
653
  };
426
654
  readonly changeset: {
427
655
  columnType: "blob";
428
- schema: import("effect/Schema").Schema<Uint8Array<ArrayBuffer> | null, Uint8Array<ArrayBuffer> | null, never>;
656
+ schema: import("effect/Schema").Codec<Uint8Array<ArrayBuffer> | null, Uint8Array<ArrayBuffer> | null, never, never>;
429
657
  default: import("effect/Option").None<never>;
430
658
  nullable: true;
431
659
  primaryKey: false;
@@ -433,24 +661,18 @@ export declare const stateSystemTables: readonly [import("../table-def.ts").Tabl
433
661
  };
434
662
  readonly debug: {
435
663
  columnType: "text";
436
- schema: import("effect/Schema").Schema<unknown, string | null, never>;
664
+ schema: import("effect/Schema").Codec<unknown, string | null, never, never>;
437
665
  default: import("effect/Option").Some<any> | import("effect/Option").None<never>;
438
666
  nullable: true;
439
667
  primaryKey: false;
440
668
  autoIncrement: false;
441
669
  };
442
- }>, import("effect/Schema").Schema<{
443
- readonly seqNumGlobal: number & import("effect/Brand").Brand<"GlobalEventSequenceNumber">;
444
- readonly seqNumClient: number & import("effect/Brand").Brand<"ClientEventSequenceNumber">;
445
- readonly seqNumRebaseGeneration: number;
446
- readonly changeset: Uint8Array<ArrayBuffer> | null;
447
- readonly debug: unknown;
448
- }, {
449
- readonly seqNumGlobal: number;
450
- readonly seqNumClient: number;
451
- readonly seqNumRebaseGeneration: number;
452
- readonly changeset: Uint8Array<ArrayBuffer> | null;
453
- readonly debug: string | null;
454
- }, never>>];
670
+ }>, import("effect/Schema").Struct<{
671
+ readonly seqNumGlobal: import("effect/Schema").Codec<number & import("effect/Brand").Brand<"GlobalEventSequenceNumber">, number, never, never>;
672
+ readonly seqNumClient: import("effect/Schema").Codec<number & import("effect/Brand").Brand<"ClientEventSequenceNumber">, number, never, never>;
673
+ readonly seqNumRebaseGeneration: import("effect/Schema").Codec<number, number, never, never>;
674
+ readonly changeset: import("effect/Schema").Codec<Uint8Array<ArrayBuffer> | null, Uint8Array<ArrayBuffer> | null, never, never>;
675
+ readonly debug: import("effect/Schema").Codec<unknown, string | null, never, never>;
676
+ }>>];
455
677
  export declare const isStateSystemTable: (tableName: string) => boolean;
456
678
  //# sourceMappingURL=state-tables.d.ts.map