@livestore/common 0.4.0-dev.9 → 0.4.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 (513) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/ClientSessionLeaderThreadProxy.d.ts +27 -12
  3. package/dist/ClientSessionLeaderThreadProxy.d.ts.map +1 -1
  4. package/dist/ClientSessionLeaderThreadProxy.js.map +1 -1
  5. package/dist/WorkerTransportError.d.ts +11 -0
  6. package/dist/WorkerTransportError.d.ts.map +1 -0
  7. package/dist/WorkerTransportError.js +11 -0
  8. package/dist/WorkerTransportError.js.map +1 -0
  9. package/dist/adapter-types.d.ts +37 -7
  10. package/dist/adapter-types.d.ts.map +1 -1
  11. package/dist/adapter-types.js +27 -1
  12. package/dist/adapter-types.js.map +1 -1
  13. package/dist/bounded-collections.d.ts.map +1 -1
  14. package/dist/bounded-collections.js +6 -4
  15. package/dist/bounded-collections.js.map +1 -1
  16. package/dist/debug-info.d.ts.map +1 -1
  17. package/dist/debug-info.js +33 -6
  18. package/dist/debug-info.js.map +1 -1
  19. package/dist/devtools/devtools-compatibility.test.d.ts +2 -0
  20. package/dist/devtools/devtools-compatibility.test.d.ts.map +1 -0
  21. package/dist/devtools/devtools-compatibility.test.js +15 -0
  22. package/dist/devtools/devtools-compatibility.test.js.map +1 -0
  23. package/dist/devtools/devtools-messages-client-session.d.ts +55 -24
  24. package/dist/devtools/devtools-messages-client-session.d.ts.map +1 -1
  25. package/dist/devtools/devtools-messages-client-session.js +22 -5
  26. package/dist/devtools/devtools-messages-client-session.js.map +1 -1
  27. package/dist/devtools/devtools-messages-common.d.ts +11 -14
  28. package/dist/devtools/devtools-messages-common.d.ts.map +1 -1
  29. package/dist/devtools/devtools-messages-common.js +7 -9
  30. package/dist/devtools/devtools-messages-common.js.map +1 -1
  31. package/dist/devtools/devtools-messages-leader.d.ts +65 -30
  32. package/dist/devtools/devtools-messages-leader.d.ts.map +1 -1
  33. package/dist/devtools/devtools-messages-leader.js +29 -11
  34. package/dist/devtools/devtools-messages-leader.js.map +1 -1
  35. package/dist/devtools/devtools-sessioninfo.d.ts +14 -2
  36. package/dist/devtools/devtools-sessioninfo.d.ts.map +1 -1
  37. package/dist/devtools/devtools-sessioninfo.js +7 -4
  38. package/dist/devtools/devtools-sessioninfo.js.map +1 -1
  39. package/dist/devtools/mod.d.ts +13 -2
  40. package/dist/devtools/mod.d.ts.map +1 -1
  41. package/dist/devtools/mod.js +10 -3
  42. package/dist/devtools/mod.js.map +1 -1
  43. package/dist/errors.d.ts +48 -18
  44. package/dist/errors.d.ts.map +1 -1
  45. package/dist/errors.js +20 -12
  46. package/dist/errors.js.map +1 -1
  47. package/dist/index.d.ts +4 -1
  48. package/dist/index.d.ts.map +1 -1
  49. package/dist/index.js +4 -1
  50. package/dist/index.js.map +1 -1
  51. package/dist/leader-thread/LeaderSyncProcessor.d.ts +53 -6
  52. package/dist/leader-thread/LeaderSyncProcessor.d.ts.map +1 -1
  53. package/dist/leader-thread/LeaderSyncProcessor.js +325 -257
  54. package/dist/leader-thread/LeaderSyncProcessor.js.map +1 -1
  55. package/dist/leader-thread/RejectedPushError.d.ts +107 -0
  56. package/dist/leader-thread/RejectedPushError.d.ts.map +1 -0
  57. package/dist/leader-thread/RejectedPushError.js +78 -0
  58. package/dist/leader-thread/RejectedPushError.js.map +1 -0
  59. package/dist/leader-thread/connection.js +1 -1
  60. package/dist/leader-thread/connection.js.map +1 -1
  61. package/dist/leader-thread/eventlog.d.ts +19 -14
  62. package/dist/leader-thread/eventlog.d.ts.map +1 -1
  63. package/dist/leader-thread/eventlog.js +78 -18
  64. package/dist/leader-thread/eventlog.js.map +1 -1
  65. package/dist/leader-thread/leader-worker-devtools.d.ts +1 -2
  66. package/dist/leader-thread/leader-worker-devtools.d.ts.map +1 -1
  67. package/dist/leader-thread/leader-worker-devtools.js +90 -58
  68. package/dist/leader-thread/leader-worker-devtools.js.map +1 -1
  69. package/dist/leader-thread/make-leader-thread-layer.d.ts +15 -7
  70. package/dist/leader-thread/make-leader-thread-layer.d.ts.map +1 -1
  71. package/dist/leader-thread/make-leader-thread-layer.js +49 -17
  72. package/dist/leader-thread/make-leader-thread-layer.js.map +1 -1
  73. package/dist/leader-thread/make-leader-thread-layer.test.d.ts +2 -0
  74. package/dist/leader-thread/make-leader-thread-layer.test.d.ts.map +1 -0
  75. package/dist/leader-thread/make-leader-thread-layer.test.js +32 -0
  76. package/dist/leader-thread/make-leader-thread-layer.test.js.map +1 -0
  77. package/dist/leader-thread/materialize-event.d.ts +1 -1
  78. package/dist/leader-thread/materialize-event.d.ts.map +1 -1
  79. package/dist/leader-thread/materialize-event.js +28 -9
  80. package/dist/leader-thread/materialize-event.js.map +1 -1
  81. package/dist/leader-thread/mod.d.ts +1 -0
  82. package/dist/leader-thread/mod.d.ts.map +1 -1
  83. package/dist/leader-thread/mod.js +1 -0
  84. package/dist/leader-thread/mod.js.map +1 -1
  85. package/dist/leader-thread/recreate-db.d.ts +2 -2
  86. package/dist/leader-thread/recreate-db.d.ts.map +1 -1
  87. package/dist/leader-thread/recreate-db.js +6 -6
  88. package/dist/leader-thread/recreate-db.js.map +1 -1
  89. package/dist/leader-thread/shutdown-channel.d.ts +2 -2
  90. package/dist/leader-thread/shutdown-channel.d.ts.map +1 -1
  91. package/dist/leader-thread/shutdown-channel.js +2 -2
  92. package/dist/leader-thread/shutdown-channel.js.map +1 -1
  93. package/dist/leader-thread/stream-events.d.ts +56 -0
  94. package/dist/leader-thread/stream-events.d.ts.map +1 -0
  95. package/dist/leader-thread/stream-events.js +167 -0
  96. package/dist/leader-thread/stream-events.js.map +1 -0
  97. package/dist/leader-thread/types.d.ts +95 -17
  98. package/dist/leader-thread/types.d.ts.map +1 -1
  99. package/dist/leader-thread/types.js +13 -0
  100. package/dist/leader-thread/types.js.map +1 -1
  101. package/dist/logging.d.ts +40 -0
  102. package/dist/logging.d.ts.map +1 -0
  103. package/dist/logging.js +33 -0
  104. package/dist/logging.js.map +1 -0
  105. package/dist/make-client-session.d.ts +5 -3
  106. package/dist/make-client-session.d.ts.map +1 -1
  107. package/dist/make-client-session.js +7 -4
  108. package/dist/make-client-session.js.map +1 -1
  109. package/dist/materializer-helper.d.ts +6 -6
  110. package/dist/materializer-helper.d.ts.map +1 -1
  111. package/dist/materializer-helper.js +18 -8
  112. package/dist/materializer-helper.js.map +1 -1
  113. package/dist/otel.d.ts +2 -1
  114. package/dist/otel.d.ts.map +1 -1
  115. package/dist/otel.js +7 -2
  116. package/dist/otel.js.map +1 -1
  117. package/dist/rematerialize-from-eventlog.d.ts +3 -3
  118. package/dist/rematerialize-from-eventlog.d.ts.map +1 -1
  119. package/dist/rematerialize-from-eventlog.js +40 -29
  120. package/dist/rematerialize-from-eventlog.js.map +1 -1
  121. package/dist/schema/EventDef/define.d.ts +161 -0
  122. package/dist/schema/EventDef/define.d.ts.map +1 -0
  123. package/dist/schema/EventDef/define.js +140 -0
  124. package/dist/schema/EventDef/define.js.map +1 -0
  125. package/dist/schema/EventDef/deprecated.d.ts +99 -0
  126. package/dist/schema/EventDef/deprecated.d.ts.map +1 -0
  127. package/dist/schema/EventDef/deprecated.js +144 -0
  128. package/dist/schema/EventDef/deprecated.js.map +1 -0
  129. package/dist/schema/EventDef/deprecated.test.d.ts +2 -0
  130. package/dist/schema/EventDef/deprecated.test.d.ts.map +1 -0
  131. package/dist/schema/EventDef/deprecated.test.js +95 -0
  132. package/dist/schema/EventDef/deprecated.test.js.map +1 -0
  133. package/dist/schema/EventDef/event-def.d.ts +110 -0
  134. package/dist/schema/EventDef/event-def.d.ts.map +1 -0
  135. package/dist/schema/EventDef/event-def.js +2 -0
  136. package/dist/schema/EventDef/event-def.js.map +1 -0
  137. package/dist/schema/EventDef/facts.d.ts +118 -0
  138. package/dist/schema/EventDef/facts.d.ts.map +1 -0
  139. package/dist/schema/EventDef/facts.js +53 -0
  140. package/dist/schema/EventDef/facts.js.map +1 -0
  141. package/dist/schema/EventDef/materializer.d.ts +155 -0
  142. package/dist/schema/EventDef/materializer.d.ts.map +1 -0
  143. package/dist/schema/EventDef/materializer.js +83 -0
  144. package/dist/schema/EventDef/materializer.js.map +1 -0
  145. package/dist/schema/EventDef/mod.d.ts +6 -0
  146. package/dist/schema/EventDef/mod.d.ts.map +1 -0
  147. package/dist/schema/EventDef/mod.js +6 -0
  148. package/dist/schema/EventDef/mod.js.map +1 -0
  149. package/dist/schema/EventSequenceNumber/client.d.ts +136 -0
  150. package/dist/schema/EventSequenceNumber/client.d.ts.map +1 -0
  151. package/dist/schema/EventSequenceNumber/client.js +193 -0
  152. package/dist/schema/EventSequenceNumber/client.js.map +1 -0
  153. package/dist/schema/EventSequenceNumber/global.d.ts +15 -0
  154. package/dist/schema/EventSequenceNumber/global.d.ts.map +1 -0
  155. package/dist/schema/EventSequenceNumber/global.js +14 -0
  156. package/dist/schema/EventSequenceNumber/global.js.map +1 -0
  157. package/dist/schema/EventSequenceNumber/mod.d.ts +37 -0
  158. package/dist/schema/EventSequenceNumber/mod.d.ts.map +1 -0
  159. package/dist/schema/EventSequenceNumber/mod.js +37 -0
  160. package/dist/schema/EventSequenceNumber/mod.js.map +1 -0
  161. package/dist/schema/EventSequenceNumber.test.js +44 -44
  162. package/dist/schema/EventSequenceNumber.test.js.map +1 -1
  163. package/dist/schema/{LiveStoreEvent.d.ts → LiveStoreEvent/client.d.ts} +102 -111
  164. package/dist/schema/LiveStoreEvent/client.d.ts.map +1 -0
  165. package/dist/schema/LiveStoreEvent/client.js +176 -0
  166. package/dist/schema/LiveStoreEvent/client.js.map +1 -0
  167. package/dist/schema/LiveStoreEvent/client.test.d.ts +2 -0
  168. package/dist/schema/LiveStoreEvent/client.test.d.ts.map +1 -0
  169. package/dist/schema/LiveStoreEvent/client.test.js +111 -0
  170. package/dist/schema/LiveStoreEvent/client.test.js.map +1 -0
  171. package/dist/schema/LiveStoreEvent/for-event-def.d.ts +52 -0
  172. package/dist/schema/LiveStoreEvent/for-event-def.d.ts.map +1 -0
  173. package/dist/schema/LiveStoreEvent/for-event-def.js +2 -0
  174. package/dist/schema/LiveStoreEvent/for-event-def.js.map +1 -0
  175. package/dist/schema/LiveStoreEvent/global.d.ts +36 -0
  176. package/dist/schema/LiveStoreEvent/global.d.ts.map +1 -0
  177. package/dist/schema/LiveStoreEvent/global.js +31 -0
  178. package/dist/schema/LiveStoreEvent/global.js.map +1 -0
  179. package/dist/schema/LiveStoreEvent/input.d.ts +46 -0
  180. package/dist/schema/LiveStoreEvent/input.d.ts.map +1 -0
  181. package/dist/schema/LiveStoreEvent/input.js +26 -0
  182. package/dist/schema/LiveStoreEvent/input.js.map +1 -0
  183. package/dist/schema/LiveStoreEvent/mod.d.ts +5 -0
  184. package/dist/schema/LiveStoreEvent/mod.d.ts.map +1 -0
  185. package/dist/schema/LiveStoreEvent/mod.js +5 -0
  186. package/dist/schema/LiveStoreEvent/mod.js.map +1 -0
  187. package/dist/schema/events.d.ts +1 -1
  188. package/dist/schema/events.d.ts.map +1 -1
  189. package/dist/schema/events.js +1 -1
  190. package/dist/schema/events.js.map +1 -1
  191. package/dist/schema/mod.d.ts +6 -4
  192. package/dist/schema/mod.d.ts.map +1 -1
  193. package/dist/schema/mod.js +5 -4
  194. package/dist/schema/mod.js.map +1 -1
  195. package/dist/schema/schema.d.ts +16 -1
  196. package/dist/schema/schema.d.ts.map +1 -1
  197. package/dist/schema/schema.js +32 -4
  198. package/dist/schema/schema.js.map +1 -1
  199. package/dist/schema/state/sqlite/client-document-def.d.ts +2 -1
  200. package/dist/schema/state/sqlite/client-document-def.d.ts.map +1 -1
  201. package/dist/schema/state/sqlite/client-document-def.js +36 -15
  202. package/dist/schema/state/sqlite/client-document-def.js.map +1 -1
  203. package/dist/schema/state/sqlite/client-document-def.test.js +121 -2
  204. package/dist/schema/state/sqlite/client-document-def.test.js.map +1 -1
  205. package/dist/schema/state/sqlite/column-annotations.d.ts.map +1 -1
  206. package/dist/schema/state/sqlite/column-annotations.js +1 -1
  207. package/dist/schema/state/sqlite/column-annotations.js.map +1 -1
  208. package/dist/schema/state/sqlite/column-annotations.test.js +2 -2
  209. package/dist/schema/state/sqlite/column-annotations.test.js.map +1 -1
  210. package/dist/schema/state/sqlite/column-def.d.ts.map +1 -1
  211. package/dist/schema/state/sqlite/column-def.js +96 -47
  212. package/dist/schema/state/sqlite/column-def.js.map +1 -1
  213. package/dist/schema/state/sqlite/column-def.test.js +51 -12
  214. package/dist/schema/state/sqlite/column-def.test.js.map +1 -1
  215. package/dist/schema/state/sqlite/column-spec.d.ts.map +1 -1
  216. package/dist/schema/state/sqlite/column-spec.js +30 -12
  217. package/dist/schema/state/sqlite/column-spec.js.map +1 -1
  218. package/dist/schema/state/sqlite/column-spec.test.js +24 -15
  219. package/dist/schema/state/sqlite/column-spec.test.js.map +1 -1
  220. package/dist/schema/state/sqlite/db-schema/ast/sqlite.js +2 -2
  221. package/dist/schema/state/sqlite/db-schema/ast/sqlite.js.map +1 -1
  222. package/dist/schema/state/sqlite/db-schema/dsl/field-defs.d.ts +16 -10
  223. package/dist/schema/state/sqlite/db-schema/dsl/field-defs.d.ts.map +1 -1
  224. package/dist/schema/state/sqlite/db-schema/dsl/field-defs.js +15 -4
  225. package/dist/schema/state/sqlite/db-schema/dsl/field-defs.js.map +1 -1
  226. package/dist/schema/state/sqlite/db-schema/dsl/field-defs.test.js +1 -1
  227. package/dist/schema/state/sqlite/db-schema/dsl/field-defs.test.js.map +1 -1
  228. package/dist/schema/state/sqlite/db-schema/dsl/mod.d.ts +1 -1
  229. package/dist/schema/state/sqlite/db-schema/dsl/mod.d.ts.map +1 -1
  230. package/dist/schema/state/sqlite/db-schema/dsl/mod.js +1 -1
  231. package/dist/schema/state/sqlite/db-schema/dsl/mod.js.map +1 -1
  232. package/dist/schema/state/sqlite/mod.d.ts +2 -2
  233. package/dist/schema/state/sqlite/mod.d.ts.map +1 -1
  234. package/dist/schema/state/sqlite/mod.js +5 -7
  235. package/dist/schema/state/sqlite/mod.js.map +1 -1
  236. package/dist/schema/state/sqlite/query-builder/api.d.ts +51 -22
  237. package/dist/schema/state/sqlite/query-builder/api.d.ts.map +1 -1
  238. package/dist/schema/state/sqlite/query-builder/astToSql.d.ts.map +1 -1
  239. package/dist/schema/state/sqlite/query-builder/astToSql.js +99 -22
  240. package/dist/schema/state/sqlite/query-builder/astToSql.js.map +1 -1
  241. package/dist/schema/state/sqlite/query-builder/impl.d.ts +1 -1
  242. package/dist/schema/state/sqlite/query-builder/impl.d.ts.map +1 -1
  243. package/dist/schema/state/sqlite/query-builder/impl.js +28 -15
  244. package/dist/schema/state/sqlite/query-builder/impl.js.map +1 -1
  245. package/dist/schema/state/sqlite/query-builder/impl.test.js +231 -93
  246. package/dist/schema/state/sqlite/query-builder/impl.test.js.map +1 -1
  247. package/dist/schema/state/sqlite/schema-helpers.d.ts +2 -2
  248. package/dist/schema/state/sqlite/schema-helpers.d.ts.map +1 -1
  249. package/dist/schema/state/sqlite/schema-helpers.js +24 -14
  250. package/dist/schema/state/sqlite/schema-helpers.js.map +1 -1
  251. package/dist/schema/state/sqlite/schema-helpers.test.d.ts +2 -0
  252. package/dist/schema/state/sqlite/schema-helpers.test.d.ts.map +1 -0
  253. package/dist/schema/state/sqlite/schema-helpers.test.js +36 -0
  254. package/dist/schema/state/sqlite/schema-helpers.test.js.map +1 -0
  255. package/dist/schema/state/sqlite/{system-tables.d.ts → system-tables/eventlog-tables.d.ts} +21 -450
  256. package/dist/schema/state/sqlite/system-tables/eventlog-tables.d.ts.map +1 -0
  257. package/dist/schema/state/sqlite/system-tables/eventlog-tables.js +54 -0
  258. package/dist/schema/state/sqlite/system-tables/eventlog-tables.js.map +1 -0
  259. package/dist/schema/state/sqlite/system-tables/mod.d.ts +3 -0
  260. package/dist/schema/state/sqlite/system-tables/mod.d.ts.map +1 -0
  261. package/dist/schema/state/sqlite/system-tables/mod.js +3 -0
  262. package/dist/schema/state/sqlite/system-tables/mod.js.map +1 -0
  263. package/dist/schema/state/sqlite/system-tables/state-tables.d.ts +456 -0
  264. package/dist/schema/state/sqlite/system-tables/state-tables.d.ts.map +1 -0
  265. package/dist/schema/state/sqlite/system-tables/state-tables.js +55 -0
  266. package/dist/schema/state/sqlite/system-tables/state-tables.js.map +1 -0
  267. package/dist/schema/state/sqlite/table-def.d.ts +5 -3
  268. package/dist/schema/state/sqlite/table-def.d.ts.map +1 -1
  269. package/dist/schema/state/sqlite/table-def.js +1 -1
  270. package/dist/schema/state/sqlite/table-def.js.map +1 -1
  271. package/dist/schema/state/sqlite/table-def.test.js +92 -3
  272. package/dist/schema/state/sqlite/table-def.test.js.map +1 -1
  273. package/dist/schema/unknown-events.d.ts +47 -0
  274. package/dist/schema/unknown-events.d.ts.map +1 -0
  275. package/dist/schema/unknown-events.js +69 -0
  276. package/dist/schema/unknown-events.js.map +1 -0
  277. package/dist/schema-management/__tests__/migrations-autoincrement-quoting.test.d.ts +2 -0
  278. package/dist/schema-management/__tests__/migrations-autoincrement-quoting.test.d.ts.map +1 -0
  279. package/dist/schema-management/__tests__/migrations-autoincrement-quoting.test.js +73 -0
  280. package/dist/schema-management/__tests__/migrations-autoincrement-quoting.test.js.map +1 -0
  281. package/dist/schema-management/common.js +2 -2
  282. package/dist/schema-management/common.js.map +1 -1
  283. package/dist/schema-management/migrations.d.ts +32 -2
  284. package/dist/schema-management/migrations.d.ts.map +1 -1
  285. package/dist/schema-management/migrations.js +38 -6
  286. package/dist/schema-management/migrations.js.map +1 -1
  287. package/dist/schema-management/validate-schema.d.ts +3 -3
  288. package/dist/schema-management/validate-schema.d.ts.map +1 -1
  289. package/dist/schema-management/validate-schema.js +2 -2
  290. package/dist/schema-management/validate-schema.js.map +1 -1
  291. package/dist/sql-queries/sql-queries.d.ts.map +1 -1
  292. package/dist/sql-queries/sql-queries.js +18 -6
  293. package/dist/sql-queries/sql-queries.js.map +1 -1
  294. package/dist/sql-queries/sql-query-builder.d.ts.map +1 -1
  295. package/dist/sql-queries/sql-query-builder.js.map +1 -1
  296. package/dist/sqlite-db-helper.js +3 -3
  297. package/dist/sqlite-db-helper.js.map +1 -1
  298. package/dist/sqlite-types.d.ts +5 -5
  299. package/dist/sqlite-types.d.ts.map +1 -1
  300. package/dist/sqlite-types.js.map +1 -1
  301. package/dist/sync/ClientSessionSyncProcessor.d.ts +12 -12
  302. package/dist/sync/ClientSessionSyncProcessor.d.ts.map +1 -1
  303. package/dist/sync/ClientSessionSyncProcessor.js +99 -114
  304. package/dist/sync/ClientSessionSyncProcessor.js.map +1 -1
  305. package/dist/sync/errors.d.ts +0 -33
  306. package/dist/sync/errors.d.ts.map +1 -1
  307. package/dist/sync/errors.js +5 -22
  308. package/dist/sync/errors.js.map +1 -1
  309. package/dist/sync/index.d.ts +2 -0
  310. package/dist/sync/index.d.ts.map +1 -1
  311. package/dist/sync/index.js +2 -0
  312. package/dist/sync/index.js.map +1 -1
  313. package/dist/sync/mock-sync-backend.d.ts +10 -8
  314. package/dist/sync/mock-sync-backend.d.ts.map +1 -1
  315. package/dist/sync/mock-sync-backend.js +71 -69
  316. package/dist/sync/mock-sync-backend.js.map +1 -1
  317. package/dist/sync/next/compact-events.d.ts.map +1 -1
  318. package/dist/sync/next/compact-events.js +11 -12
  319. package/dist/sync/next/compact-events.js.map +1 -1
  320. package/dist/sync/next/facts.d.ts +5 -5
  321. package/dist/sync/next/facts.d.ts.map +1 -1
  322. package/dist/sync/next/facts.js +7 -8
  323. package/dist/sync/next/facts.js.map +1 -1
  324. package/dist/sync/next/history-dag-common.d.ts +54 -15
  325. package/dist/sync/next/history-dag-common.d.ts.map +1 -1
  326. package/dist/sync/next/history-dag-common.js +198 -9
  327. package/dist/sync/next/history-dag-common.js.map +1 -1
  328. package/dist/sync/next/history-dag.d.ts.map +1 -1
  329. package/dist/sync/next/history-dag.js +11 -11
  330. package/dist/sync/next/history-dag.js.map +1 -1
  331. package/dist/sync/next/rebase-events.d.ts +5 -5
  332. package/dist/sync/next/rebase-events.d.ts.map +1 -1
  333. package/dist/sync/next/rebase-events.js +6 -6
  334. package/dist/sync/next/rebase-events.js.map +1 -1
  335. package/dist/sync/next/test/compact-events.calculator.test.js +2 -2
  336. package/dist/sync/next/test/compact-events.calculator.test.js.map +1 -1
  337. package/dist/sync/next/test/compact-events.test.d.ts.map +1 -1
  338. package/dist/sync/next/test/compact-events.test.js +2 -2
  339. package/dist/sync/next/test/compact-events.test.js.map +1 -1
  340. package/dist/sync/next/test/event-fixtures.d.ts +2 -2
  341. package/dist/sync/next/test/event-fixtures.d.ts.map +1 -1
  342. package/dist/sync/next/test/event-fixtures.js +11 -11
  343. package/dist/sync/next/test/event-fixtures.js.map +1 -1
  344. package/dist/sync/sync-backend-kv.d.ts +3 -3
  345. package/dist/sync/sync-backend-kv.d.ts.map +1 -1
  346. package/dist/sync/sync-backend-kv.js +3 -3
  347. package/dist/sync/sync-backend-kv.js.map +1 -1
  348. package/dist/sync/sync-backend.d.ts +33 -13
  349. package/dist/sync/sync-backend.d.ts.map +1 -1
  350. package/dist/sync/sync-backend.js +38 -1
  351. package/dist/sync/sync-backend.js.map +1 -1
  352. package/dist/sync/sync.d.ts +23 -2
  353. package/dist/sync/sync.d.ts.map +1 -1
  354. package/dist/sync/syncstate.d.ts +55 -55
  355. package/dist/sync/syncstate.d.ts.map +1 -1
  356. package/dist/sync/syncstate.js +80 -98
  357. package/dist/sync/syncstate.js.map +1 -1
  358. package/dist/sync/syncstate.test.js +221 -132
  359. package/dist/sync/syncstate.test.js.map +1 -1
  360. package/dist/sync/transport-chunking.d.ts +36 -0
  361. package/dist/sync/transport-chunking.d.ts.map +1 -0
  362. package/dist/sync/transport-chunking.js +56 -0
  363. package/dist/sync/transport-chunking.js.map +1 -0
  364. package/dist/sync/validate-push-payload.d.ts +2 -2
  365. package/dist/sync/validate-push-payload.d.ts.map +1 -1
  366. package/dist/sync/validate-push-payload.js +4 -6
  367. package/dist/sync/validate-push-payload.js.map +1 -1
  368. package/dist/testing/event-factory.d.ts +3 -3
  369. package/dist/testing/event-factory.d.ts.map +1 -1
  370. package/dist/testing/event-factory.js +5 -7
  371. package/dist/testing/event-factory.js.map +1 -1
  372. package/dist/util.js +2 -2
  373. package/dist/util.js.map +1 -1
  374. package/dist/version.d.ts +24 -5
  375. package/dist/version.d.ts.map +1 -1
  376. package/dist/version.js +25 -8
  377. package/dist/version.js.map +1 -1
  378. package/package.json +67 -15
  379. package/src/ClientSessionLeaderThreadProxy.ts +27 -12
  380. package/src/WorkerTransportError.ts +12 -0
  381. package/src/adapter-types.ts +50 -7
  382. package/src/bounded-collections.ts +6 -5
  383. package/src/debug-info.ts +37 -6
  384. package/src/devtools/devtools-compatibility.test.ts +18 -0
  385. package/src/devtools/devtools-messages-client-session.ts +22 -4
  386. package/src/devtools/devtools-messages-common.ts +7 -12
  387. package/src/devtools/devtools-messages-leader.ts +29 -10
  388. package/src/devtools/devtools-sessioninfo.ts +8 -5
  389. package/src/devtools/mod.ts +11 -2
  390. package/src/errors.ts +32 -24
  391. package/src/index.ts +4 -1
  392. package/src/leader-thread/LeaderSyncProcessor.ts +523 -373
  393. package/src/leader-thread/RejectedPushError.ts +106 -0
  394. package/src/leader-thread/connection.ts +1 -1
  395. package/src/leader-thread/eventlog.ts +112 -39
  396. package/src/leader-thread/leader-worker-devtools.ts +201 -120
  397. package/src/leader-thread/make-leader-thread-layer.test.ts +44 -0
  398. package/src/leader-thread/make-leader-thread-layer.ts +125 -40
  399. package/src/leader-thread/materialize-event.ts +40 -10
  400. package/src/leader-thread/mod.ts +1 -0
  401. package/src/leader-thread/recreate-db.ts +7 -7
  402. package/src/leader-thread/shutdown-channel.ts +4 -8
  403. package/src/leader-thread/stream-events.ts +206 -0
  404. package/src/leader-thread/types.ts +68 -18
  405. package/src/logging.ts +62 -0
  406. package/src/make-client-session.ts +11 -5
  407. package/src/materializer-helper.ts +27 -16
  408. package/src/otel.ts +13 -2
  409. package/src/rematerialize-from-eventlog.ts +61 -51
  410. package/src/schema/EventDef/define.ts +217 -0
  411. package/src/schema/EventDef/deprecated.test.ts +129 -0
  412. package/src/schema/EventDef/deprecated.ts +175 -0
  413. package/src/schema/EventDef/event-def.ts +125 -0
  414. package/src/schema/EventDef/facts.ts +135 -0
  415. package/src/schema/EventDef/materializer.ts +172 -0
  416. package/src/schema/EventDef/mod.ts +5 -0
  417. package/src/schema/EventSequenceNumber/client.ts +257 -0
  418. package/src/schema/EventSequenceNumber/global.ts +19 -0
  419. package/src/schema/EventSequenceNumber/mod.ts +37 -0
  420. package/src/schema/EventSequenceNumber.test.ts +72 -53
  421. package/src/schema/LiveStoreEvent/client.test.ts +129 -0
  422. package/src/schema/LiveStoreEvent/client.ts +235 -0
  423. package/src/schema/LiveStoreEvent/for-event-def.ts +60 -0
  424. package/src/schema/LiveStoreEvent/global.ts +45 -0
  425. package/src/schema/LiveStoreEvent/input.ts +63 -0
  426. package/src/schema/LiveStoreEvent/mod.ts +4 -0
  427. package/src/schema/events.ts +1 -1
  428. package/src/schema/mod.ts +6 -4
  429. package/src/schema/schema.ts +46 -5
  430. package/src/schema/state/sqlite/client-document-def.test.ts +144 -5
  431. package/src/schema/state/sqlite/client-document-def.ts +47 -34
  432. package/src/schema/state/sqlite/column-annotations.test.ts +3 -2
  433. package/src/schema/state/sqlite/column-annotations.ts +2 -1
  434. package/src/schema/state/sqlite/column-def.test.ts +66 -12
  435. package/src/schema/state/sqlite/column-def.ts +119 -47
  436. package/src/schema/state/sqlite/column-spec.test.ts +32 -17
  437. package/src/schema/state/sqlite/column-spec.ts +37 -11
  438. package/src/schema/state/sqlite/db-schema/ast/sqlite.ts +2 -2
  439. package/src/schema/state/sqlite/db-schema/dsl/field-defs.test.ts +2 -1
  440. package/src/schema/state/sqlite/db-schema/dsl/field-defs.ts +41 -15
  441. package/src/schema/state/sqlite/db-schema/dsl/mod.ts +13 -19
  442. package/src/schema/state/sqlite/mod.ts +7 -8
  443. package/src/schema/state/sqlite/query-builder/api.ts +55 -17
  444. package/src/schema/state/sqlite/query-builder/astToSql.ts +110 -21
  445. package/src/schema/state/sqlite/query-builder/impl.test.ts +267 -93
  446. package/src/schema/state/sqlite/query-builder/impl.ts +26 -13
  447. package/src/schema/state/sqlite/schema-helpers.test.ts +44 -0
  448. package/src/schema/state/sqlite/schema-helpers.ts +30 -22
  449. package/src/schema/state/sqlite/system-tables/eventlog-tables.ts +64 -0
  450. package/src/schema/state/sqlite/system-tables/mod.ts +2 -0
  451. package/src/schema/state/sqlite/system-tables/state-tables.ts +69 -0
  452. package/src/schema/state/sqlite/table-def.test.ts +114 -3
  453. package/src/schema/state/sqlite/table-def.ts +16 -22
  454. package/src/schema/unknown-events.ts +131 -0
  455. package/src/schema-management/__tests__/migrations-autoincrement-quoting.test.ts +88 -0
  456. package/src/schema-management/common.ts +2 -2
  457. package/src/schema-management/migrations.ts +42 -9
  458. package/src/schema-management/validate-schema.ts +3 -3
  459. package/src/sql-queries/sql-queries.ts +18 -6
  460. package/src/sql-queries/sql-query-builder.ts +1 -0
  461. package/src/sqlite-db-helper.ts +3 -3
  462. package/src/sqlite-types.ts +6 -5
  463. package/src/sync/ClientSessionSyncProcessor.ts +152 -142
  464. package/src/sync/errors.ts +12 -24
  465. package/src/sync/index.ts +2 -0
  466. package/src/sync/mock-sync-backend.ts +146 -104
  467. package/src/sync/next/compact-events.ts +10 -11
  468. package/src/sync/next/facts.ts +13 -14
  469. package/src/sync/next/history-dag-common.ts +280 -26
  470. package/src/sync/next/history-dag.ts +17 -13
  471. package/src/sync/next/rebase-events.ts +12 -12
  472. package/src/sync/next/test/compact-events.calculator.test.ts +3 -2
  473. package/src/sync/next/test/compact-events.test.ts +4 -3
  474. package/src/sync/next/test/event-fixtures.ts +13 -13
  475. package/src/sync/sync-backend-kv.ts +4 -3
  476. package/src/sync/sync-backend.ts +66 -17
  477. package/src/sync/sync.ts +24 -2
  478. package/src/sync/syncstate.test.ts +583 -419
  479. package/src/sync/syncstate.ts +127 -122
  480. package/src/sync/transport-chunking.ts +90 -0
  481. package/src/sync/validate-push-payload.ts +6 -8
  482. package/src/testing/event-factory.ts +10 -12
  483. package/src/util.ts +2 -2
  484. package/src/version.ts +33 -8
  485. package/dist/schema/EventDef.d.ts +0 -126
  486. package/dist/schema/EventDef.d.ts.map +0 -1
  487. package/dist/schema/EventDef.js +0 -46
  488. package/dist/schema/EventDef.js.map +0 -1
  489. package/dist/schema/EventSequenceNumber.d.ts +0 -80
  490. package/dist/schema/EventSequenceNumber.d.ts.map +0 -1
  491. package/dist/schema/EventSequenceNumber.js +0 -139
  492. package/dist/schema/EventSequenceNumber.js.map +0 -1
  493. package/dist/schema/LiveStoreEvent.d.ts.map +0 -1
  494. package/dist/schema/LiveStoreEvent.js +0 -147
  495. package/dist/schema/LiveStoreEvent.js.map +0 -1
  496. package/dist/schema/state/sqlite/system-tables.d.ts.map +0 -1
  497. package/dist/schema/state/sqlite/system-tables.js +0 -81
  498. package/dist/schema/state/sqlite/system-tables.js.map +0 -1
  499. package/dist/sync/next/graphology.d.ts +0 -8
  500. package/dist/sync/next/graphology.d.ts.map +0 -1
  501. package/dist/sync/next/graphology.js +0 -30
  502. package/dist/sync/next/graphology.js.map +0 -1
  503. package/dist/sync/next/graphology_.d.ts +0 -3
  504. package/dist/sync/next/graphology_.d.ts.map +0 -1
  505. package/dist/sync/next/graphology_.js +0 -3
  506. package/dist/sync/next/graphology_.js.map +0 -1
  507. package/src/schema/EventDef.ts +0 -222
  508. package/src/schema/EventSequenceNumber.ts +0 -199
  509. package/src/schema/LiveStoreEvent.ts +0 -286
  510. package/src/schema/state/sqlite/system-tables.ts +0 -106
  511. package/src/sync/next/ambient.d.ts +0 -3
  512. package/src/sync/next/graphology.ts +0 -41
  513. package/src/sync/next/graphology_.ts +0 -2
@@ -1,449 +1,17 @@
1
1
  import { Schema } from '@livestore/utils/effect';
2
- export declare const SCHEMA_META_TABLE = "__livestore_schema";
3
- export declare const schemaMetaTable: import("./table-def.ts").TableDef<import("./table-def.ts").SqliteTableDefForInput<"__livestore_schema", {
4
- readonly tableName: {
5
- columnType: "text";
6
- schema: Schema.Schema<string, string, never>;
7
- default: import("effect/Option").None<never>;
8
- nullable: false;
9
- primaryKey: true;
10
- autoIncrement: false;
11
- };
12
- readonly schemaHash: {
13
- columnType: "integer";
14
- schema: Schema.Schema<number, number, never>;
15
- default: import("effect/Option").None<never>;
16
- nullable: false;
17
- primaryKey: false;
18
- autoIncrement: false;
19
- };
20
- /** ISO date format */
21
- readonly updatedAt: {
22
- columnType: "text";
23
- schema: Schema.Schema<string, string, never>;
24
- default: import("effect/Option").None<never>;
25
- nullable: false;
26
- primaryKey: false;
27
- autoIncrement: false;
28
- };
29
- }>, import("./table-def.ts").WithDefaults<{
30
- readonly tableName: {
31
- columnType: "text";
32
- schema: Schema.Schema<string, string, never>;
33
- default: import("effect/Option").None<never>;
34
- nullable: false;
35
- primaryKey: true;
36
- autoIncrement: false;
37
- };
38
- readonly schemaHash: {
39
- columnType: "integer";
40
- schema: Schema.Schema<number, number, never>;
41
- default: import("effect/Option").None<never>;
42
- nullable: false;
43
- primaryKey: false;
44
- autoIncrement: false;
45
- };
46
- /** ISO date format */
47
- readonly updatedAt: {
48
- columnType: "text";
49
- schema: Schema.Schema<string, string, never>;
50
- default: import("effect/Option").None<never>;
51
- nullable: false;
52
- primaryKey: false;
53
- autoIncrement: false;
54
- };
55
- }>, Schema.Schema<{
56
- readonly tableName: string;
57
- readonly schemaHash: number;
58
- readonly updatedAt: string;
59
- }, {
60
- readonly tableName: string;
61
- readonly schemaHash: number;
62
- readonly updatedAt: string;
63
- }, never>>;
64
- export type SchemaMetaRow = typeof schemaMetaTable.Type;
65
- export declare const SCHEMA_EVENT_DEFS_META_TABLE = "__livestore_schema_event_defs";
66
- export declare const schemaEventDefsMetaTable: import("./table-def.ts").TableDef<import("./table-def.ts").SqliteTableDefForInput<"__livestore_schema_event_defs", {
67
- readonly eventName: {
68
- columnType: "text";
69
- schema: Schema.Schema<string, string, never>;
70
- default: import("effect/Option").None<never>;
71
- nullable: false;
72
- primaryKey: true;
73
- autoIncrement: false;
74
- };
75
- readonly schemaHash: {
76
- columnType: "integer";
77
- schema: Schema.Schema<number, number, never>;
78
- default: import("effect/Option").None<never>;
79
- nullable: false;
80
- primaryKey: false;
81
- autoIncrement: false;
82
- };
83
- /** ISO date format */
84
- readonly updatedAt: {
85
- columnType: "text";
86
- schema: Schema.Schema<string, string, never>;
87
- default: import("effect/Option").None<never>;
88
- nullable: false;
89
- primaryKey: false;
90
- autoIncrement: false;
91
- };
92
- }>, import("./table-def.ts").WithDefaults<{
93
- readonly eventName: {
94
- columnType: "text";
95
- schema: Schema.Schema<string, string, never>;
96
- default: import("effect/Option").None<never>;
97
- nullable: false;
98
- primaryKey: true;
99
- autoIncrement: false;
100
- };
101
- readonly schemaHash: {
102
- columnType: "integer";
103
- schema: Schema.Schema<number, number, never>;
104
- default: import("effect/Option").None<never>;
105
- nullable: false;
106
- primaryKey: false;
107
- autoIncrement: false;
108
- };
109
- /** ISO date format */
110
- readonly updatedAt: {
111
- columnType: "text";
112
- schema: Schema.Schema<string, string, never>;
113
- default: import("effect/Option").None<never>;
114
- nullable: false;
115
- primaryKey: false;
116
- autoIncrement: false;
117
- };
118
- }>, Schema.Schema<{
119
- readonly eventName: string;
120
- readonly schemaHash: number;
121
- readonly updatedAt: string;
122
- }, {
123
- readonly eventName: string;
124
- readonly schemaHash: number;
125
- readonly updatedAt: string;
126
- }, never>>;
127
- export type SchemaEventDefsMetaRow = typeof schemaEventDefsMetaTable.Type;
128
2
  /**
129
- * Table which stores SQLite changeset blobs which is used for rolling back
130
- * read-model state during rebasing.
3
+ * EVENTLOG DATABASE SYSTEM TABLES
4
+ *
5
+ * ⚠️ CRITICAL: NEVER modify eventlog schemas without bumping `liveStoreStorageFormatVersion`!
6
+ * Eventlog is the source of truth - schema changes cause permanent data loss.
7
+ *
8
+ * TODO: Implement proper eventlog versioning system to prevent accidental data loss
131
9
  */
132
- export declare const SESSION_CHANGESET_META_TABLE = "__livestore_session_changeset";
133
- export declare const sessionChangesetMetaTable: import("./table-def.ts").TableDef<import("./table-def.ts").SqliteTableDefForInput<"__livestore_session_changeset", {
134
- readonly seqNumGlobal: {
135
- columnType: "integer";
136
- schema: Schema.Schema<number & import("effect/Brand").Brand<"GlobalEventSequenceNumber">, number, never>;
137
- default: import("effect/Option").None<never>;
138
- nullable: false;
139
- primaryKey: false;
140
- autoIncrement: false;
141
- };
142
- readonly seqNumClient: {
143
- columnType: "integer";
144
- schema: Schema.Schema<number & import("effect/Brand").Brand<"ClientEventSequenceNumber">, number, never>;
145
- default: import("effect/Option").None<never>;
146
- nullable: false;
147
- primaryKey: false;
148
- autoIncrement: false;
149
- };
150
- readonly seqNumRebaseGeneration: {
151
- columnType: "integer";
152
- schema: Schema.Schema<number, number, never>;
153
- default: import("effect/Option").None<never>;
154
- nullable: false;
155
- primaryKey: false;
156
- autoIncrement: false;
157
- };
158
- readonly changeset: {
159
- columnType: "blob";
160
- schema: Schema.Schema<Uint8Array<ArrayBuffer> | null, Uint8Array<ArrayBuffer> | null, never>;
161
- default: import("effect/Option").None<never>;
162
- nullable: true;
163
- primaryKey: false;
164
- autoIncrement: false;
165
- };
166
- readonly debug: {
167
- columnType: "text";
168
- schema: Schema.Schema<unknown, string | null, never>;
169
- default: import("effect/Option").Some<any> | import("effect/Option").None<never>;
170
- nullable: true;
171
- primaryKey: false;
172
- autoIncrement: false;
173
- };
174
- }>, import("./table-def.ts").WithDefaults<{
175
- readonly seqNumGlobal: {
176
- columnType: "integer";
177
- schema: Schema.Schema<number & import("effect/Brand").Brand<"GlobalEventSequenceNumber">, number, never>;
178
- default: import("effect/Option").None<never>;
179
- nullable: false;
180
- primaryKey: false;
181
- autoIncrement: false;
182
- };
183
- readonly seqNumClient: {
184
- columnType: "integer";
185
- schema: Schema.Schema<number & import("effect/Brand").Brand<"ClientEventSequenceNumber">, number, never>;
186
- default: import("effect/Option").None<never>;
187
- nullable: false;
188
- primaryKey: false;
189
- autoIncrement: false;
190
- };
191
- readonly seqNumRebaseGeneration: {
192
- columnType: "integer";
193
- schema: Schema.Schema<number, number, never>;
194
- default: import("effect/Option").None<never>;
195
- nullable: false;
196
- primaryKey: false;
197
- autoIncrement: false;
198
- };
199
- readonly changeset: {
200
- columnType: "blob";
201
- schema: Schema.Schema<Uint8Array<ArrayBuffer> | null, Uint8Array<ArrayBuffer> | null, never>;
202
- default: import("effect/Option").None<never>;
203
- nullable: true;
204
- primaryKey: false;
205
- autoIncrement: false;
206
- };
207
- readonly debug: {
208
- columnType: "text";
209
- schema: Schema.Schema<unknown, string | null, never>;
210
- default: import("effect/Option").Some<any> | import("effect/Option").None<never>;
211
- nullable: true;
212
- primaryKey: false;
213
- autoIncrement: false;
214
- };
215
- }>, Schema.Schema<{
216
- readonly seqNumGlobal: number & import("effect/Brand").Brand<"GlobalEventSequenceNumber">;
217
- readonly seqNumClient: number & import("effect/Brand").Brand<"ClientEventSequenceNumber">;
218
- readonly seqNumRebaseGeneration: number;
219
- readonly changeset: Uint8Array<ArrayBuffer> | null;
220
- readonly debug: unknown;
221
- }, {
222
- readonly seqNumGlobal: number;
223
- readonly seqNumClient: number;
224
- readonly seqNumRebaseGeneration: number;
225
- readonly changeset: Uint8Array<ArrayBuffer> | null;
226
- readonly debug: string | null;
227
- }, never>>;
228
- export type SessionChangesetMetaRow = typeof sessionChangesetMetaTable.Type;
229
- export declare const stateSystemTables: readonly [import("./table-def.ts").TableDef<import("./table-def.ts").SqliteTableDefForInput<"__livestore_schema", {
230
- readonly tableName: {
231
- columnType: "text";
232
- schema: Schema.Schema<string, string, never>;
233
- default: import("effect/Option").None<never>;
234
- nullable: false;
235
- primaryKey: true;
236
- autoIncrement: false;
237
- };
238
- readonly schemaHash: {
239
- columnType: "integer";
240
- schema: Schema.Schema<number, number, never>;
241
- default: import("effect/Option").None<never>;
242
- nullable: false;
243
- primaryKey: false;
244
- autoIncrement: false;
245
- };
246
- /** ISO date format */
247
- readonly updatedAt: {
248
- columnType: "text";
249
- schema: Schema.Schema<string, string, never>;
250
- default: import("effect/Option").None<never>;
251
- nullable: false;
252
- primaryKey: false;
253
- autoIncrement: false;
254
- };
255
- }>, import("./table-def.ts").WithDefaults<{
256
- readonly tableName: {
257
- columnType: "text";
258
- schema: Schema.Schema<string, string, never>;
259
- default: import("effect/Option").None<never>;
260
- nullable: false;
261
- primaryKey: true;
262
- autoIncrement: false;
263
- };
264
- readonly schemaHash: {
265
- columnType: "integer";
266
- schema: Schema.Schema<number, number, never>;
267
- default: import("effect/Option").None<never>;
268
- nullable: false;
269
- primaryKey: false;
270
- autoIncrement: false;
271
- };
272
- /** ISO date format */
273
- readonly updatedAt: {
274
- columnType: "text";
275
- schema: Schema.Schema<string, string, never>;
276
- default: import("effect/Option").None<never>;
277
- nullable: false;
278
- primaryKey: false;
279
- autoIncrement: false;
280
- };
281
- }>, Schema.Schema<{
282
- readonly tableName: string;
283
- readonly schemaHash: number;
284
- readonly updatedAt: string;
285
- }, {
286
- readonly tableName: string;
287
- readonly schemaHash: number;
288
- readonly updatedAt: string;
289
- }, never>>, import("./table-def.ts").TableDef<import("./table-def.ts").SqliteTableDefForInput<"__livestore_schema_event_defs", {
290
- readonly eventName: {
291
- columnType: "text";
292
- schema: Schema.Schema<string, string, never>;
293
- default: import("effect/Option").None<never>;
294
- nullable: false;
295
- primaryKey: true;
296
- autoIncrement: false;
297
- };
298
- readonly schemaHash: {
299
- columnType: "integer";
300
- schema: Schema.Schema<number, number, never>;
301
- default: import("effect/Option").None<never>;
302
- nullable: false;
303
- primaryKey: false;
304
- autoIncrement: false;
305
- };
306
- /** ISO date format */
307
- readonly updatedAt: {
308
- columnType: "text";
309
- schema: Schema.Schema<string, string, never>;
310
- default: import("effect/Option").None<never>;
311
- nullable: false;
312
- primaryKey: false;
313
- autoIncrement: false;
314
- };
315
- }>, import("./table-def.ts").WithDefaults<{
316
- readonly eventName: {
317
- columnType: "text";
318
- schema: Schema.Schema<string, string, never>;
319
- default: import("effect/Option").None<never>;
320
- nullable: false;
321
- primaryKey: true;
322
- autoIncrement: false;
323
- };
324
- readonly schemaHash: {
325
- columnType: "integer";
326
- schema: Schema.Schema<number, number, never>;
327
- default: import("effect/Option").None<never>;
328
- nullable: false;
329
- primaryKey: false;
330
- autoIncrement: false;
331
- };
332
- /** ISO date format */
333
- readonly updatedAt: {
334
- columnType: "text";
335
- schema: Schema.Schema<string, string, never>;
336
- default: import("effect/Option").None<never>;
337
- nullable: false;
338
- primaryKey: false;
339
- autoIncrement: false;
340
- };
341
- }>, Schema.Schema<{
342
- readonly eventName: string;
343
- readonly schemaHash: number;
344
- readonly updatedAt: string;
345
- }, {
346
- readonly eventName: string;
347
- readonly schemaHash: number;
348
- readonly updatedAt: string;
349
- }, never>>, import("./table-def.ts").TableDef<import("./table-def.ts").SqliteTableDefForInput<"__livestore_session_changeset", {
350
- readonly seqNumGlobal: {
351
- columnType: "integer";
352
- schema: Schema.Schema<number & import("effect/Brand").Brand<"GlobalEventSequenceNumber">, number, never>;
353
- default: import("effect/Option").None<never>;
354
- nullable: false;
355
- primaryKey: false;
356
- autoIncrement: false;
357
- };
358
- readonly seqNumClient: {
359
- columnType: "integer";
360
- schema: Schema.Schema<number & import("effect/Brand").Brand<"ClientEventSequenceNumber">, number, never>;
361
- default: import("effect/Option").None<never>;
362
- nullable: false;
363
- primaryKey: false;
364
- autoIncrement: false;
365
- };
366
- readonly seqNumRebaseGeneration: {
367
- columnType: "integer";
368
- schema: Schema.Schema<number, number, never>;
369
- default: import("effect/Option").None<never>;
370
- nullable: false;
371
- primaryKey: false;
372
- autoIncrement: false;
373
- };
374
- readonly changeset: {
375
- columnType: "blob";
376
- schema: Schema.Schema<Uint8Array<ArrayBuffer> | null, Uint8Array<ArrayBuffer> | null, never>;
377
- default: import("effect/Option").None<never>;
378
- nullable: true;
379
- primaryKey: false;
380
- autoIncrement: false;
381
- };
382
- readonly debug: {
383
- columnType: "text";
384
- schema: Schema.Schema<unknown, string | null, never>;
385
- default: import("effect/Option").Some<any> | import("effect/Option").None<never>;
386
- nullable: true;
387
- primaryKey: false;
388
- autoIncrement: false;
389
- };
390
- }>, import("./table-def.ts").WithDefaults<{
391
- readonly seqNumGlobal: {
392
- columnType: "integer";
393
- schema: Schema.Schema<number & import("effect/Brand").Brand<"GlobalEventSequenceNumber">, number, never>;
394
- default: import("effect/Option").None<never>;
395
- nullable: false;
396
- primaryKey: false;
397
- autoIncrement: false;
398
- };
399
- readonly seqNumClient: {
400
- columnType: "integer";
401
- schema: Schema.Schema<number & import("effect/Brand").Brand<"ClientEventSequenceNumber">, number, never>;
402
- default: import("effect/Option").None<never>;
403
- nullable: false;
404
- primaryKey: false;
405
- autoIncrement: false;
406
- };
407
- readonly seqNumRebaseGeneration: {
408
- columnType: "integer";
409
- schema: Schema.Schema<number, number, never>;
410
- default: import("effect/Option").None<never>;
411
- nullable: false;
412
- primaryKey: false;
413
- autoIncrement: false;
414
- };
415
- readonly changeset: {
416
- columnType: "blob";
417
- schema: Schema.Schema<Uint8Array<ArrayBuffer> | null, Uint8Array<ArrayBuffer> | null, never>;
418
- default: import("effect/Option").None<never>;
419
- nullable: true;
420
- primaryKey: false;
421
- autoIncrement: false;
422
- };
423
- readonly debug: {
424
- columnType: "text";
425
- schema: Schema.Schema<unknown, string | null, never>;
426
- default: import("effect/Option").Some<any> | import("effect/Option").None<never>;
427
- nullable: true;
428
- primaryKey: false;
429
- autoIncrement: false;
430
- };
431
- }>, Schema.Schema<{
432
- readonly seqNumGlobal: number & import("effect/Brand").Brand<"GlobalEventSequenceNumber">;
433
- readonly seqNumClient: number & import("effect/Brand").Brand<"ClientEventSequenceNumber">;
434
- readonly seqNumRebaseGeneration: number;
435
- readonly changeset: Uint8Array<ArrayBuffer> | null;
436
- readonly debug: unknown;
437
- }, {
438
- readonly seqNumGlobal: number;
439
- readonly seqNumClient: number;
440
- readonly seqNumRebaseGeneration: number;
441
- readonly changeset: Uint8Array<ArrayBuffer> | null;
442
- readonly debug: string | null;
443
- }, never>>];
444
- export declare const isStateSystemTable: (tableName: string) => boolean;
445
10
  export declare const EVENTLOG_META_TABLE = "eventlog";
446
- export declare const eventlogMetaTable: import("./table-def.ts").TableDef<import("./table-def.ts").SqliteTableDefForInput<"eventlog", {
11
+ /**
12
+ * Main client-side event log storing all events (global and local/rebased).
13
+ */
14
+ export declare const eventlogMetaTable: import("../table-def.ts").TableDef<import("../table-def.ts").SqliteTableDefForInput<"eventlog", {
447
15
  readonly seqNumGlobal: {
448
16
  columnType: "integer";
449
17
  schema: Schema.Schema<number & import("effect/Brand").Brand<"GlobalEventSequenceNumber">, number, never>;
@@ -541,7 +109,7 @@ export declare const eventlogMetaTable: import("./table-def.ts").TableDef<import
541
109
  primaryKey: false;
542
110
  autoIncrement: false;
543
111
  };
544
- }>, import("./table-def.ts").WithDefaults<{
112
+ }>, import("../table-def.ts").WithDefaults<{
545
113
  readonly seqNumGlobal: {
546
114
  columnType: "integer";
547
115
  schema: Schema.Schema<number & import("effect/Brand").Brand<"GlobalEventSequenceNumber">, number, never>;
@@ -668,7 +236,10 @@ export declare const eventlogMetaTable: import("./table-def.ts").TableDef<import
668
236
  }, never>>;
669
237
  export type EventlogMetaRow = typeof eventlogMetaTable.Type;
670
238
  export declare const SYNC_STATUS_TABLE = "__livestore_sync_status";
671
- export declare const syncStatusTable: import("./table-def.ts").TableDef<import("./table-def.ts").SqliteTableDefForInput<"__livestore_sync_status", {
239
+ /**
240
+ * Tracks sync status including the remote head position and backend identity.
241
+ */
242
+ export declare const syncStatusTable: import("../table-def.ts").TableDef<import("../table-def.ts").SqliteTableDefForInput<"__livestore_sync_status", {
672
243
  readonly head: {
673
244
  columnType: "integer";
674
245
  schema: Schema.Schema<number, number, never>;
@@ -685,7 +256,7 @@ export declare const syncStatusTable: import("./table-def.ts").TableDef<import("
685
256
  primaryKey: false;
686
257
  autoIncrement: false;
687
258
  };
688
- }>, import("./table-def.ts").WithDefaults<{
259
+ }>, import("../table-def.ts").WithDefaults<{
689
260
  readonly head: {
690
261
  columnType: "integer";
691
262
  schema: Schema.Schema<number, number, never>;
@@ -710,7 +281,7 @@ export declare const syncStatusTable: import("./table-def.ts").TableDef<import("
710
281
  readonly backendId: string | null;
711
282
  }, never>>;
712
283
  export type SyncStatusRow = typeof syncStatusTable.Type;
713
- export declare const eventlogSystemTables: readonly [import("./table-def.ts").TableDef<import("./table-def.ts").SqliteTableDefForInput<"eventlog", {
284
+ export declare const eventlogSystemTables: readonly [import("../table-def.ts").TableDef<import("../table-def.ts").SqliteTableDefForInput<"eventlog", {
714
285
  readonly seqNumGlobal: {
715
286
  columnType: "integer";
716
287
  schema: Schema.Schema<number & import("effect/Brand").Brand<"GlobalEventSequenceNumber">, number, never>;
@@ -808,7 +379,7 @@ export declare const eventlogSystemTables: readonly [import("./table-def.ts").Ta
808
379
  primaryKey: false;
809
380
  autoIncrement: false;
810
381
  };
811
- }>, import("./table-def.ts").WithDefaults<{
382
+ }>, import("../table-def.ts").WithDefaults<{
812
383
  readonly seqNumGlobal: {
813
384
  columnType: "integer";
814
385
  schema: Schema.Schema<number & import("effect/Brand").Brand<"GlobalEventSequenceNumber">, number, never>;
@@ -932,7 +503,7 @@ export declare const eventlogSystemTables: readonly [import("./table-def.ts").Ta
932
503
  readonly sessionId: string;
933
504
  readonly schemaHash: number;
934
505
  readonly syncMetadataJson: string;
935
- }, never>>, import("./table-def.ts").TableDef<import("./table-def.ts").SqliteTableDefForInput<"__livestore_sync_status", {
506
+ }, never>>, import("../table-def.ts").TableDef<import("../table-def.ts").SqliteTableDefForInput<"__livestore_sync_status", {
936
507
  readonly head: {
937
508
  columnType: "integer";
938
509
  schema: Schema.Schema<number, number, never>;
@@ -949,7 +520,7 @@ export declare const eventlogSystemTables: readonly [import("./table-def.ts").Ta
949
520
  primaryKey: false;
950
521
  autoIncrement: false;
951
522
  };
952
- }>, import("./table-def.ts").WithDefaults<{
523
+ }>, import("../table-def.ts").WithDefaults<{
953
524
  readonly head: {
954
525
  columnType: "integer";
955
526
  schema: Schema.Schema<number, number, never>;
@@ -973,4 +544,4 @@ export declare const eventlogSystemTables: readonly [import("./table-def.ts").Ta
973
544
  readonly head: number;
974
545
  readonly backendId: string | null;
975
546
  }, never>>];
976
- //# sourceMappingURL=system-tables.d.ts.map
547
+ //# sourceMappingURL=eventlog-tables.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eventlog-tables.d.ts","sourceRoot":"","sources":["../../../../../src/schema/state/sqlite/system-tables/eventlog-tables.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAMhD;;;;;;;GAOG;AAEH,eAAO,MAAM,mBAAmB,aAAa,CAAA;AAE7C;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAU1B,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAA5B,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAY9B,CAAA;AAEF,MAAM,MAAM,eAAe,GAAG,OAAO,iBAAiB,CAAC,IAAI,CAAA;AAE3D,eAAO,MAAM,iBAAiB,4BAA4B,CAAA;AAE1D;;GAEG;AAEH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAO1B,CAAA;AAEF,MAAM,MAAM,aAAa,GAAG,OAAO,eAAe,CAAC,IAAI,CAAA;AAEvD,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAjC7B,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAA5B,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAiCiD,CAAA"}
@@ -0,0 +1,54 @@
1
+ import { Schema } from '@livestore/utils/effect';
2
+ import * as EventSequenceNumber from "../../../EventSequenceNumber/mod.js";
3
+ import { SqliteDsl } from "../db-schema/mod.js";
4
+ import { table } from "../table-def.js";
5
+ /**
6
+ * EVENTLOG DATABASE SYSTEM TABLES
7
+ *
8
+ * ⚠️ CRITICAL: NEVER modify eventlog schemas without bumping `liveStoreStorageFormatVersion`!
9
+ * Eventlog is the source of truth - schema changes cause permanent data loss.
10
+ *
11
+ * TODO: Implement proper eventlog versioning system to prevent accidental data loss
12
+ */
13
+ export const EVENTLOG_META_TABLE = 'eventlog';
14
+ /**
15
+ * Main client-side event log storing all events (global and local/rebased).
16
+ */
17
+ export const eventlogMetaTable = table({
18
+ name: EVENTLOG_META_TABLE,
19
+ columns: {
20
+ // TODO Adjust modeling so a global event never needs a client id component
21
+ seqNumGlobal: SqliteDsl.integer({ primaryKey: true, schema: EventSequenceNumber.Global.Schema }),
22
+ seqNumClient: SqliteDsl.integer({ primaryKey: true, schema: EventSequenceNumber.Client.Schema }),
23
+ seqNumRebaseGeneration: SqliteDsl.integer({ primaryKey: true }),
24
+ parentSeqNumGlobal: SqliteDsl.integer({ schema: EventSequenceNumber.Global.Schema }),
25
+ parentSeqNumClient: SqliteDsl.integer({ schema: EventSequenceNumber.Client.Schema }),
26
+ parentSeqNumRebaseGeneration: SqliteDsl.integer({}),
27
+ /** Event definition name */
28
+ name: SqliteDsl.text({}),
29
+ argsJson: SqliteDsl.text({ schema: Schema.parseJson(Schema.Any) }),
30
+ clientId: SqliteDsl.text({}),
31
+ sessionId: SqliteDsl.text({}),
32
+ schemaHash: SqliteDsl.integer({}),
33
+ syncMetadataJson: SqliteDsl.text({ schema: Schema.parseJson(Schema.Option(Schema.JsonValue)) }),
34
+ },
35
+ indexes: [
36
+ { columns: ['seqNumGlobal'], name: 'idx_eventlog_seqNumGlobal' },
37
+ { columns: ['seqNumGlobal', 'seqNumClient', 'seqNumRebaseGeneration'], name: 'idx_eventlog_seqNum' },
38
+ ],
39
+ });
40
+ export const SYNC_STATUS_TABLE = '__livestore_sync_status';
41
+ /**
42
+ * Tracks sync status including the remote head position and backend identity.
43
+ */
44
+ // TODO support sync backend identity (to detect if sync backend changes)
45
+ export const syncStatusTable = table({
46
+ name: SYNC_STATUS_TABLE,
47
+ columns: {
48
+ head: SqliteDsl.integer({ primaryKey: true }),
49
+ // Null means the sync backend is not yet connected and we haven't yet seen a backend ID
50
+ backendId: SqliteDsl.text({ nullable: true }),
51
+ },
52
+ });
53
+ export const eventlogSystemTables = [eventlogMetaTable, syncStatusTable];
54
+ //# sourceMappingURL=eventlog-tables.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eventlog-tables.js","sourceRoot":"","sources":["../../../../../src/schema/state/sqlite/system-tables/eventlog-tables.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAEhD,OAAO,KAAK,mBAAmB,MAAM,qCAAqC,CAAA;AAC1E,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAEvC;;;;;;;GAOG;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAG,UAAU,CAAA;AAE7C;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,CAAC;IACrC,IAAI,EAAE,mBAAmB;IACzB,OAAO,EAAE;QACP,2EAA2E;QAC3E,YAAY,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,mBAAmB,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QAChG,YAAY,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,mBAAmB,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QAChG,sBAAsB,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;QAC/D,kBAAkB,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,mBAAmB,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACpF,kBAAkB,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,mBAAmB,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACpF,4BAA4B,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;QACnD,4BAA4B;QAC5B,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;QAClE,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,SAAS,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7B,UAAU,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;QACjC,gBAAgB,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;KAChG;IACD,OAAO,EAAE;QACP,EAAE,OAAO,EAAE,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,2BAA2B,EAAE;QAChE,EAAE,OAAO,EAAE,CAAC,cAAc,EAAE,cAAc,EAAE,wBAAwB,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE;KACrG;CACF,CAAC,CAAA;AAIF,MAAM,CAAC,MAAM,iBAAiB,GAAG,yBAAyB,CAAA;AAE1D;;GAEG;AACH,yEAAyE;AACzE,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,CAAC;IACnC,IAAI,EAAE,iBAAiB;IACvB,OAAO,EAAE;QACP,IAAI,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;QAC7C,wFAAwF;QACxF,SAAS,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;KAC9C;CACF,CAAC,CAAA;AAIF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,iBAAiB,EAAE,eAAe,CAAU,CAAA"}
@@ -0,0 +1,3 @@
1
+ export * from './eventlog-tables.ts';
2
+ export * from './state-tables.ts';
3
+ //# sourceMappingURL=mod.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../../../../src/schema/state/sqlite/system-tables/mod.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA;AACpC,cAAc,mBAAmB,CAAA"}
@@ -0,0 +1,3 @@
1
+ export * from "./eventlog-tables.js";
2
+ export * from "./state-tables.js";
3
+ //# sourceMappingURL=mod.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mod.js","sourceRoot":"","sources":["../../../../../src/schema/state/sqlite/system-tables/mod.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA;AACpC,cAAc,mBAAmB,CAAA"}