@livestore/common 0.0.0-snapshot-2b8a9de3ec1a701aca891ebc2c98eb328274ae9e → 0.0.0-snapshot-2c861249e50661661613204300b1fc0d902c2e46

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 (287) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/__tests__/fixture.d.ts +83 -221
  3. package/dist/__tests__/fixture.d.ts.map +1 -1
  4. package/dist/__tests__/fixture.js +33 -11
  5. package/dist/__tests__/fixture.js.map +1 -1
  6. package/dist/adapter-types.d.ts +36 -22
  7. package/dist/adapter-types.d.ts.map +1 -1
  8. package/dist/adapter-types.js +20 -8
  9. package/dist/adapter-types.js.map +1 -1
  10. package/dist/debug-info.d.ts.map +1 -1
  11. package/dist/debug-info.js +1 -0
  12. package/dist/debug-info.js.map +1 -1
  13. package/dist/devtools/devtools-messages-client-session.d.ts +21 -21
  14. package/dist/devtools/devtools-messages-common.d.ts +13 -6
  15. package/dist/devtools/devtools-messages-common.d.ts.map +1 -1
  16. package/dist/devtools/devtools-messages-common.js +6 -0
  17. package/dist/devtools/devtools-messages-common.js.map +1 -1
  18. package/dist/devtools/devtools-messages-leader.d.ts +46 -46
  19. package/dist/devtools/devtools-messages-leader.d.ts.map +1 -1
  20. package/dist/devtools/devtools-messages-leader.js +12 -13
  21. package/dist/devtools/devtools-messages-leader.js.map +1 -1
  22. package/dist/index.d.ts +2 -5
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/index.js +2 -5
  25. package/dist/index.js.map +1 -1
  26. package/dist/leader-thread/LeaderSyncProcessor.d.ts +34 -12
  27. package/dist/leader-thread/LeaderSyncProcessor.d.ts.map +1 -1
  28. package/dist/leader-thread/LeaderSyncProcessor.js +284 -226
  29. package/dist/leader-thread/LeaderSyncProcessor.js.map +1 -1
  30. package/dist/leader-thread/apply-event.d.ts +16 -0
  31. package/dist/leader-thread/apply-event.d.ts.map +1 -0
  32. package/dist/leader-thread/apply-event.js +122 -0
  33. package/dist/leader-thread/apply-event.js.map +1 -0
  34. package/dist/leader-thread/eventlog.d.ts +27 -0
  35. package/dist/leader-thread/eventlog.d.ts.map +1 -0
  36. package/dist/leader-thread/eventlog.js +123 -0
  37. package/dist/leader-thread/eventlog.js.map +1 -0
  38. package/dist/leader-thread/leader-worker-devtools.d.ts.map +1 -1
  39. package/dist/leader-thread/leader-worker-devtools.js +22 -23
  40. package/dist/leader-thread/leader-worker-devtools.js.map +1 -1
  41. package/dist/leader-thread/make-leader-thread-layer.d.ts +16 -4
  42. package/dist/leader-thread/make-leader-thread-layer.d.ts.map +1 -1
  43. package/dist/leader-thread/make-leader-thread-layer.js +36 -41
  44. package/dist/leader-thread/make-leader-thread-layer.js.map +1 -1
  45. package/dist/leader-thread/mod.d.ts +1 -1
  46. package/dist/leader-thread/mod.d.ts.map +1 -1
  47. package/dist/leader-thread/mod.js +1 -1
  48. package/dist/leader-thread/mod.js.map +1 -1
  49. package/dist/leader-thread/recreate-db.d.ts.map +1 -1
  50. package/dist/leader-thread/recreate-db.js +7 -7
  51. package/dist/leader-thread/recreate-db.js.map +1 -1
  52. package/dist/leader-thread/types.d.ts +40 -25
  53. package/dist/leader-thread/types.d.ts.map +1 -1
  54. package/dist/leader-thread/types.js.map +1 -1
  55. package/dist/materializer-helper.d.ts +23 -0
  56. package/dist/materializer-helper.d.ts.map +1 -0
  57. package/dist/materializer-helper.js +70 -0
  58. package/dist/materializer-helper.js.map +1 -0
  59. package/dist/query-builder/api.d.ts +55 -50
  60. package/dist/query-builder/api.d.ts.map +1 -1
  61. package/dist/query-builder/api.js +3 -5
  62. package/dist/query-builder/api.js.map +1 -1
  63. package/dist/query-builder/astToSql.d.ts.map +1 -1
  64. package/dist/query-builder/astToSql.js +59 -37
  65. package/dist/query-builder/astToSql.js.map +1 -1
  66. package/dist/query-builder/impl.d.ts +2 -3
  67. package/dist/query-builder/impl.d.ts.map +1 -1
  68. package/dist/query-builder/impl.js +47 -43
  69. package/dist/query-builder/impl.js.map +1 -1
  70. package/dist/query-builder/impl.test.d.ts +86 -1
  71. package/dist/query-builder/impl.test.d.ts.map +1 -1
  72. package/dist/query-builder/impl.test.js +223 -36
  73. package/dist/query-builder/impl.test.js.map +1 -1
  74. package/dist/rehydrate-from-eventlog.d.ts +15 -0
  75. package/dist/rehydrate-from-eventlog.d.ts.map +1 -0
  76. package/dist/{rehydrate-from-mutationlog.js → rehydrate-from-eventlog.js} +27 -28
  77. package/dist/rehydrate-from-eventlog.js.map +1 -0
  78. package/dist/schema/EventDef.d.ts +136 -0
  79. package/dist/schema/EventDef.d.ts.map +1 -0
  80. package/dist/schema/EventDef.js +58 -0
  81. package/dist/schema/EventDef.js.map +1 -0
  82. package/dist/schema/EventId.d.ts +10 -1
  83. package/dist/schema/EventId.d.ts.map +1 -1
  84. package/dist/schema/EventId.js +24 -3
  85. package/dist/schema/EventId.js.map +1 -1
  86. package/dist/schema/LiveStoreEvent.d.ts +255 -0
  87. package/dist/schema/LiveStoreEvent.d.ts.map +1 -0
  88. package/dist/schema/LiveStoreEvent.js +118 -0
  89. package/dist/schema/LiveStoreEvent.js.map +1 -0
  90. package/dist/schema/client-document-def.d.ts +223 -0
  91. package/dist/schema/client-document-def.d.ts.map +1 -0
  92. package/dist/schema/client-document-def.js +164 -0
  93. package/dist/schema/client-document-def.js.map +1 -0
  94. package/dist/schema/client-document-def.test.d.ts +2 -0
  95. package/dist/schema/client-document-def.test.d.ts.map +1 -0
  96. package/dist/schema/client-document-def.test.js +161 -0
  97. package/dist/schema/client-document-def.test.js.map +1 -0
  98. package/dist/schema/db-schema/dsl/mod.d.ts.map +1 -1
  99. package/dist/schema/events.d.ts +2 -0
  100. package/dist/schema/events.d.ts.map +1 -0
  101. package/dist/schema/events.js +2 -0
  102. package/dist/schema/events.js.map +1 -0
  103. package/dist/schema/mod.d.ts +4 -3
  104. package/dist/schema/mod.d.ts.map +1 -1
  105. package/dist/schema/mod.js +4 -3
  106. package/dist/schema/mod.js.map +1 -1
  107. package/dist/schema/schema.d.ts +26 -22
  108. package/dist/schema/schema.d.ts.map +1 -1
  109. package/dist/schema/schema.js +45 -43
  110. package/dist/schema/schema.js.map +1 -1
  111. package/dist/schema/sqlite-state.d.ts +12 -0
  112. package/dist/schema/sqlite-state.d.ts.map +1 -0
  113. package/dist/schema/sqlite-state.js +36 -0
  114. package/dist/schema/sqlite-state.js.map +1 -0
  115. package/dist/schema/system-tables.d.ts +121 -85
  116. package/dist/schema/system-tables.d.ts.map +1 -1
  117. package/dist/schema/system-tables.js +68 -43
  118. package/dist/schema/system-tables.js.map +1 -1
  119. package/dist/schema/table-def.d.ts +26 -96
  120. package/dist/schema/table-def.d.ts.map +1 -1
  121. package/dist/schema/table-def.js +14 -64
  122. package/dist/schema/table-def.js.map +1 -1
  123. package/dist/schema/view.d.ts +3 -0
  124. package/dist/schema/view.d.ts.map +1 -0
  125. package/dist/schema/view.js +3 -0
  126. package/dist/schema/view.js.map +1 -0
  127. package/dist/schema-management/common.d.ts +4 -4
  128. package/dist/schema-management/common.d.ts.map +1 -1
  129. package/dist/schema-management/migrations.d.ts.map +1 -1
  130. package/dist/schema-management/migrations.js +6 -6
  131. package/dist/schema-management/migrations.js.map +1 -1
  132. package/dist/schema-management/validate-mutation-defs.d.ts +3 -3
  133. package/dist/schema-management/validate-mutation-defs.d.ts.map +1 -1
  134. package/dist/schema-management/validate-mutation-defs.js +17 -17
  135. package/dist/schema-management/validate-mutation-defs.js.map +1 -1
  136. package/dist/sync/ClientSessionSyncProcessor.d.ts +16 -8
  137. package/dist/sync/ClientSessionSyncProcessor.d.ts.map +1 -1
  138. package/dist/sync/ClientSessionSyncProcessor.js +50 -43
  139. package/dist/sync/ClientSessionSyncProcessor.js.map +1 -1
  140. package/dist/sync/next/facts.d.ts +19 -19
  141. package/dist/sync/next/facts.d.ts.map +1 -1
  142. package/dist/sync/next/facts.js +2 -2
  143. package/dist/sync/next/facts.js.map +1 -1
  144. package/dist/sync/next/history-dag-common.d.ts +3 -3
  145. package/dist/sync/next/history-dag-common.d.ts.map +1 -1
  146. package/dist/sync/next/history-dag-common.js +1 -1
  147. package/dist/sync/next/history-dag-common.js.map +1 -1
  148. package/dist/sync/next/history-dag.js +1 -1
  149. package/dist/sync/next/history-dag.js.map +1 -1
  150. package/dist/sync/next/rebase-events.d.ts +7 -7
  151. package/dist/sync/next/rebase-events.d.ts.map +1 -1
  152. package/dist/sync/next/rebase-events.js +5 -5
  153. package/dist/sync/next/rebase-events.js.map +1 -1
  154. package/dist/sync/next/test/compact-events.calculator.test.js +38 -33
  155. package/dist/sync/next/test/compact-events.calculator.test.js.map +1 -1
  156. package/dist/sync/next/test/compact-events.test.js +71 -71
  157. package/dist/sync/next/test/compact-events.test.js.map +1 -1
  158. package/dist/sync/next/test/{mutation-fixtures.d.ts → event-fixtures.d.ts} +25 -25
  159. package/dist/sync/next/test/event-fixtures.d.ts.map +1 -0
  160. package/dist/sync/next/test/{mutation-fixtures.js → event-fixtures.js} +60 -25
  161. package/dist/sync/next/test/event-fixtures.js.map +1 -0
  162. package/dist/sync/next/test/mod.d.ts +1 -1
  163. package/dist/sync/next/test/mod.d.ts.map +1 -1
  164. package/dist/sync/next/test/mod.js +1 -1
  165. package/dist/sync/next/test/mod.js.map +1 -1
  166. package/dist/sync/sync.d.ts +8 -7
  167. package/dist/sync/sync.d.ts.map +1 -1
  168. package/dist/sync/sync.js.map +1 -1
  169. package/dist/sync/syncstate.d.ts +69 -93
  170. package/dist/sync/syncstate.d.ts.map +1 -1
  171. package/dist/sync/syncstate.js +143 -146
  172. package/dist/sync/syncstate.js.map +1 -1
  173. package/dist/sync/syncstate.test.js +208 -289
  174. package/dist/sync/syncstate.test.js.map +1 -1
  175. package/dist/sync/validate-push-payload.d.ts +2 -2
  176. package/dist/sync/validate-push-payload.d.ts.map +1 -1
  177. package/dist/sync/validate-push-payload.js.map +1 -1
  178. package/dist/version.d.ts +1 -1
  179. package/dist/version.js +1 -1
  180. package/package.json +2 -2
  181. package/src/__tests__/fixture.ts +36 -15
  182. package/src/adapter-types.ts +34 -23
  183. package/src/debug-info.ts +1 -0
  184. package/src/devtools/devtools-messages-common.ts +9 -0
  185. package/src/devtools/devtools-messages-leader.ts +14 -15
  186. package/src/index.ts +2 -5
  187. package/src/leader-thread/LeaderSyncProcessor.ts +485 -389
  188. package/src/leader-thread/apply-event.ts +197 -0
  189. package/src/leader-thread/eventlog.ts +199 -0
  190. package/src/leader-thread/leader-worker-devtools.ts +23 -25
  191. package/src/leader-thread/make-leader-thread-layer.ts +68 -61
  192. package/src/leader-thread/mod.ts +1 -1
  193. package/src/leader-thread/recreate-db.ts +7 -8
  194. package/src/leader-thread/types.ts +39 -29
  195. package/src/materializer-helper.ts +110 -0
  196. package/src/query-builder/api.ts +76 -102
  197. package/src/query-builder/astToSql.ts +68 -39
  198. package/src/query-builder/impl.test.ts +239 -42
  199. package/src/query-builder/impl.ts +66 -54
  200. package/src/{rehydrate-from-mutationlog.ts → rehydrate-from-eventlog.ts} +37 -40
  201. package/src/schema/EventDef.ts +216 -0
  202. package/src/schema/EventId.ts +30 -4
  203. package/src/schema/LiveStoreEvent.ts +239 -0
  204. package/src/schema/client-document-def.test.ts +188 -0
  205. package/src/schema/client-document-def.ts +436 -0
  206. package/src/schema/db-schema/dsl/mod.ts +0 -1
  207. package/src/schema/events.ts +1 -0
  208. package/src/schema/mod.ts +4 -3
  209. package/src/schema/schema.ts +78 -68
  210. package/src/schema/sqlite-state.ts +62 -0
  211. package/src/schema/system-tables.ts +54 -46
  212. package/src/schema/table-def.ts +51 -209
  213. package/src/schema/view.ts +2 -0
  214. package/src/schema-management/common.ts +4 -4
  215. package/src/schema-management/migrations.ts +8 -9
  216. package/src/schema-management/validate-mutation-defs.ts +22 -24
  217. package/src/sync/ClientSessionSyncProcessor.ts +66 -53
  218. package/src/sync/next/facts.ts +31 -32
  219. package/src/sync/next/history-dag-common.ts +4 -4
  220. package/src/sync/next/history-dag.ts +1 -1
  221. package/src/sync/next/rebase-events.ts +13 -13
  222. package/src/sync/next/test/compact-events.calculator.test.ts +45 -45
  223. package/src/sync/next/test/compact-events.test.ts +73 -73
  224. package/src/sync/next/test/event-fixtures.ts +219 -0
  225. package/src/sync/next/test/mod.ts +1 -1
  226. package/src/sync/sync.ts +9 -12
  227. package/src/sync/syncstate.test.ts +236 -323
  228. package/src/sync/syncstate.ts +218 -203
  229. package/src/sync/validate-push-payload.ts +2 -2
  230. package/src/version.ts +1 -1
  231. package/tsconfig.json +1 -0
  232. package/dist/derived-mutations.d.ts +0 -109
  233. package/dist/derived-mutations.d.ts.map +0 -1
  234. package/dist/derived-mutations.js +0 -54
  235. package/dist/derived-mutations.js.map +0 -1
  236. package/dist/derived-mutations.test.d.ts +0 -2
  237. package/dist/derived-mutations.test.d.ts.map +0 -1
  238. package/dist/derived-mutations.test.js +0 -93
  239. package/dist/derived-mutations.test.js.map +0 -1
  240. package/dist/init-singleton-tables.d.ts +0 -4
  241. package/dist/init-singleton-tables.d.ts.map +0 -1
  242. package/dist/init-singleton-tables.js +0 -16
  243. package/dist/init-singleton-tables.js.map +0 -1
  244. package/dist/leader-thread/apply-mutation.d.ts +0 -11
  245. package/dist/leader-thread/apply-mutation.d.ts.map +0 -1
  246. package/dist/leader-thread/apply-mutation.js +0 -115
  247. package/dist/leader-thread/apply-mutation.js.map +0 -1
  248. package/dist/leader-thread/mutationlog.d.ts +0 -11
  249. package/dist/leader-thread/mutationlog.d.ts.map +0 -1
  250. package/dist/leader-thread/mutationlog.js +0 -31
  251. package/dist/leader-thread/mutationlog.js.map +0 -1
  252. package/dist/leader-thread/pull-queue-set.d.ts +0 -7
  253. package/dist/leader-thread/pull-queue-set.d.ts.map +0 -1
  254. package/dist/leader-thread/pull-queue-set.js +0 -48
  255. package/dist/leader-thread/pull-queue-set.js.map +0 -1
  256. package/dist/mutation.d.ts +0 -20
  257. package/dist/mutation.d.ts.map +0 -1
  258. package/dist/mutation.js +0 -68
  259. package/dist/mutation.js.map +0 -1
  260. package/dist/query-info.d.ts +0 -41
  261. package/dist/query-info.d.ts.map +0 -1
  262. package/dist/query-info.js +0 -7
  263. package/dist/query-info.js.map +0 -1
  264. package/dist/rehydrate-from-mutationlog.d.ts +0 -14
  265. package/dist/rehydrate-from-mutationlog.d.ts.map +0 -1
  266. package/dist/rehydrate-from-mutationlog.js.map +0 -1
  267. package/dist/schema/MutationEvent.d.ts +0 -202
  268. package/dist/schema/MutationEvent.d.ts.map +0 -1
  269. package/dist/schema/MutationEvent.js +0 -105
  270. package/dist/schema/MutationEvent.js.map +0 -1
  271. package/dist/schema/mutations.d.ts +0 -115
  272. package/dist/schema/mutations.d.ts.map +0 -1
  273. package/dist/schema/mutations.js +0 -42
  274. package/dist/schema/mutations.js.map +0 -1
  275. package/dist/sync/next/test/mutation-fixtures.d.ts.map +0 -1
  276. package/dist/sync/next/test/mutation-fixtures.js.map +0 -1
  277. package/src/derived-mutations.test.ts +0 -101
  278. package/src/derived-mutations.ts +0 -170
  279. package/src/init-singleton-tables.ts +0 -24
  280. package/src/leader-thread/apply-mutation.ts +0 -187
  281. package/src/leader-thread/mutationlog.ts +0 -49
  282. package/src/leader-thread/pull-queue-set.ts +0 -67
  283. package/src/mutation.ts +0 -108
  284. package/src/query-info.ts +0 -83
  285. package/src/schema/MutationEvent.ts +0 -224
  286. package/src/schema/mutations.ts +0 -193
  287. package/src/sync/next/test/mutation-fixtures.ts +0 -228
@@ -1,25 +1,24 @@
1
1
  import { Schema } from '@livestore/utils/effect';
2
2
  import { SqliteDsl } from './db-schema/mod.js';
3
- import type { FromTable } from './table-def.js';
4
3
  export declare const SCHEMA_META_TABLE = "__livestore_schema";
5
4
  export declare const schemaMetaTable: import("./table-def.js").TableDef<{
6
5
  name: "__livestore_schema";
7
6
  columns: {
8
- tableName: {
7
+ readonly tableName: {
9
8
  columnType: "text";
10
9
  schema: Schema.Schema<string, string, never>;
11
10
  default: import("effect/Option").None<never>;
12
11
  nullable: false;
13
12
  primaryKey: true;
14
13
  };
15
- schemaHash: {
14
+ readonly schemaHash: {
16
15
  columnType: "integer";
17
16
  schema: Schema.Schema<number, number, never>;
18
17
  default: import("effect/Option").None<never>;
19
18
  nullable: false;
20
19
  primaryKey: false;
21
20
  };
22
- updatedAt: {
21
+ readonly updatedAt: {
23
22
  columnType: "text";
24
23
  schema: Schema.Schema<string, string, never>;
25
24
  default: import("effect/Option").None<never>;
@@ -30,10 +29,7 @@ export declare const schemaMetaTable: import("./table-def.js").TableDef<{
30
29
  indexes?: ReadonlyArray<SqliteDsl.Index>;
31
30
  ast: import("./db-schema/ast/sqlite.js").Table;
32
31
  }, {
33
- isSingleton: false;
34
- disableAutomaticIdColumn: true;
35
- deriveMutations: never;
36
- isSingleColumn: false;
32
+ isClientDocumentTable: false;
37
33
  requiredInsertColumnNames: "tableName" | "schemaHash" | "updatedAt";
38
34
  }, Schema.Schema<{
39
35
  readonly tableName: string;
@@ -44,26 +40,26 @@ export declare const schemaMetaTable: import("./table-def.js").TableDef<{
44
40
  readonly schemaHash: number;
45
41
  readonly updatedAt: string;
46
42
  }, never>>;
47
- export type SchemaMetaRow = FromTable.RowDecoded<typeof schemaMetaTable>;
48
- export declare const SCHEMA_MUTATIONS_META_TABLE = "__livestore_schema_mutations";
49
- export declare const schemaMutationsMetaTable: import("./table-def.js").TableDef<{
50
- name: "__livestore_schema_mutations";
43
+ export type SchemaMetaRow = typeof schemaMetaTable.Type;
44
+ export declare const SCHEMA_EVENT_DEFS_META_TABLE = "__livestore_schema_event_defs";
45
+ export declare const schemaEventDefsMetaTable: import("./table-def.js").TableDef<{
46
+ name: "__livestore_schema_event_defs";
51
47
  columns: {
52
- mutationName: {
48
+ readonly eventName: {
53
49
  columnType: "text";
54
50
  schema: Schema.Schema<string, string, never>;
55
51
  default: import("effect/Option").None<never>;
56
52
  nullable: false;
57
53
  primaryKey: true;
58
54
  };
59
- schemaHash: {
55
+ readonly schemaHash: {
60
56
  columnType: "integer";
61
57
  schema: Schema.Schema<number, number, never>;
62
58
  default: import("effect/Option").None<never>;
63
59
  nullable: false;
64
60
  primaryKey: false;
65
61
  };
66
- updatedAt: {
62
+ readonly updatedAt: {
67
63
  columnType: "text";
68
64
  schema: Schema.Schema<string, string, never>;
69
65
  default: import("effect/Option").None<never>;
@@ -74,21 +70,18 @@ export declare const schemaMutationsMetaTable: import("./table-def.js").TableDef
74
70
  indexes?: ReadonlyArray<SqliteDsl.Index>;
75
71
  ast: import("./db-schema/ast/sqlite.js").Table;
76
72
  }, {
77
- isSingleton: false;
78
- disableAutomaticIdColumn: true;
79
- deriveMutations: never;
80
- isSingleColumn: false;
81
- requiredInsertColumnNames: "schemaHash" | "updatedAt" | "mutationName";
73
+ isClientDocumentTable: false;
74
+ requiredInsertColumnNames: "schemaHash" | "updatedAt" | "eventName";
82
75
  }, Schema.Schema<{
83
- readonly mutationName: string;
76
+ readonly eventName: string;
84
77
  readonly schemaHash: number;
85
78
  readonly updatedAt: string;
86
79
  }, {
87
- readonly mutationName: string;
80
+ readonly eventName: string;
88
81
  readonly schemaHash: number;
89
82
  readonly updatedAt: string;
90
83
  }, never>>;
91
- export type SchemaMutationsMetaRow = FromTable.RowDecoded<typeof schemaMutationsMetaTable>;
84
+ export type SchemaEventDefsMetaRow = typeof schemaEventDefsMetaTable.Type;
92
85
  /**
93
86
  * Table which stores SQLite changeset blobs which is used for rolling back
94
87
  * read-model state during rebasing.
@@ -97,28 +90,28 @@ export declare const SESSION_CHANGESET_META_TABLE = "__livestore_session_changes
97
90
  export declare const sessionChangesetMetaTable: import("./table-def.js").TableDef<{
98
91
  name: "__livestore_session_changeset";
99
92
  columns: {
100
- idGlobal: {
93
+ readonly idGlobal: {
101
94
  columnType: "integer";
102
95
  schema: Schema.Schema<number & import("effect/Brand").Brand<"GlobalEventId">, number, never>;
103
96
  default: import("effect/Option").None<never>;
104
97
  nullable: false;
105
98
  primaryKey: false;
106
99
  };
107
- idClient: {
100
+ readonly idClient: {
108
101
  columnType: "integer";
109
102
  schema: Schema.Schema<number & import("effect/Brand").Brand<"ClientEventId">, number, never>;
110
103
  default: import("effect/Option").None<never>;
111
104
  nullable: false;
112
105
  primaryKey: false;
113
106
  };
114
- changeset: {
107
+ readonly changeset: {
115
108
  columnType: "blob";
116
109
  schema: Schema.Schema<Uint8Array<ArrayBufferLike> | null, Uint8Array<ArrayBufferLike> | null, never>;
117
110
  default: import("effect/Option").None<never>;
118
111
  nullable: true;
119
112
  primaryKey: false;
120
113
  };
121
- debug: {
114
+ readonly debug: {
122
115
  columnType: "text";
123
116
  schema: Schema.Schema<unknown, string | null, never>;
124
117
  default: import("effect/Option").Some<any> | import("effect/Option").None<never>;
@@ -129,10 +122,7 @@ export declare const sessionChangesetMetaTable: import("./table-def.js").TableDe
129
122
  indexes?: ReadonlyArray<SqliteDsl.Index>;
130
123
  ast: import("./db-schema/ast/sqlite.js").Table;
131
124
  }, {
132
- isSingleton: false;
133
- disableAutomaticIdColumn: true;
134
- deriveMutations: never;
135
- isSingleColumn: false;
125
+ isClientDocumentTable: false;
136
126
  requiredInsertColumnNames: "idGlobal" | "idClient";
137
127
  }, Schema.Schema<{
138
128
  readonly idGlobal: number & import("effect/Brand").Brand<"GlobalEventId">;
@@ -145,25 +135,57 @@ export declare const sessionChangesetMetaTable: import("./table-def.js").TableDe
145
135
  readonly changeset: Uint8Array<ArrayBufferLike> | null;
146
136
  readonly debug: string | null;
147
137
  }, never>>;
148
- export type SessionChangesetMetaRow = FromTable.RowDecoded<typeof sessionChangesetMetaTable>;
138
+ export type SessionChangesetMetaRow = typeof sessionChangesetMetaTable.Type;
139
+ export declare const LEADER_MERGE_COUNTER_TABLE = "__livestore_leader_merge_counter";
140
+ export declare const leaderMergeCounterTable: import("./table-def.js").TableDef<{
141
+ name: "__livestore_leader_merge_counter";
142
+ columns: {
143
+ readonly id: {
144
+ columnType: "integer";
145
+ schema: Schema.Schema<0, 0, never>;
146
+ default: import("effect/Option").None<never>;
147
+ nullable: false;
148
+ primaryKey: true;
149
+ };
150
+ readonly mergeCounter: {
151
+ columnType: "integer";
152
+ schema: Schema.Schema<number, number, never>;
153
+ default: import("effect/Option").None<never>;
154
+ nullable: false;
155
+ primaryKey: true;
156
+ };
157
+ };
158
+ indexes?: ReadonlyArray<SqliteDsl.Index>;
159
+ ast: import("./db-schema/ast/sqlite.js").Table;
160
+ }, {
161
+ isClientDocumentTable: false;
162
+ requiredInsertColumnNames: "id" | "mergeCounter";
163
+ }, Schema.Schema<{
164
+ readonly id: 0;
165
+ readonly mergeCounter: number;
166
+ }, {
167
+ readonly id: 0;
168
+ readonly mergeCounter: number;
169
+ }, never>>;
170
+ export type LeaderMergeCounterRow = typeof leaderMergeCounterTable.Type;
149
171
  export declare const systemTables: (import("./table-def.js").TableDef<{
150
172
  name: "__livestore_schema";
151
173
  columns: {
152
- tableName: {
174
+ readonly tableName: {
153
175
  columnType: "text";
154
176
  schema: Schema.Schema<string, string, never>;
155
177
  default: import("effect/Option").None<never>;
156
178
  nullable: false;
157
179
  primaryKey: true;
158
180
  };
159
- schemaHash: {
181
+ readonly schemaHash: {
160
182
  columnType: "integer";
161
183
  schema: Schema.Schema<number, number, never>;
162
184
  default: import("effect/Option").None<never>;
163
185
  nullable: false;
164
186
  primaryKey: false;
165
187
  };
166
- updatedAt: {
188
+ readonly updatedAt: {
167
189
  columnType: "text";
168
190
  schema: Schema.Schema<string, string, never>;
169
191
  default: import("effect/Option").None<never>;
@@ -174,10 +196,7 @@ export declare const systemTables: (import("./table-def.js").TableDef<{
174
196
  indexes?: ReadonlyArray<SqliteDsl.Index>;
175
197
  ast: import("./db-schema/ast/sqlite.js").Table;
176
198
  }, {
177
- isSingleton: false;
178
- disableAutomaticIdColumn: true;
179
- deriveMutations: never;
180
- isSingleColumn: false;
199
+ isClientDocumentTable: false;
181
200
  requiredInsertColumnNames: "tableName" | "schemaHash" | "updatedAt";
182
201
  }, Schema.Schema<{
183
202
  readonly tableName: string;
@@ -188,23 +207,23 @@ export declare const systemTables: (import("./table-def.js").TableDef<{
188
207
  readonly schemaHash: number;
189
208
  readonly updatedAt: string;
190
209
  }, never>> | import("./table-def.js").TableDef<{
191
- name: "__livestore_schema_mutations";
210
+ name: "__livestore_schema_event_defs";
192
211
  columns: {
193
- mutationName: {
212
+ readonly eventName: {
194
213
  columnType: "text";
195
214
  schema: Schema.Schema<string, string, never>;
196
215
  default: import("effect/Option").None<never>;
197
216
  nullable: false;
198
217
  primaryKey: true;
199
218
  };
200
- schemaHash: {
219
+ readonly schemaHash: {
201
220
  columnType: "integer";
202
221
  schema: Schema.Schema<number, number, never>;
203
222
  default: import("effect/Option").None<never>;
204
223
  nullable: false;
205
224
  primaryKey: false;
206
225
  };
207
- updatedAt: {
226
+ readonly updatedAt: {
208
227
  columnType: "text";
209
228
  schema: Schema.Schema<string, string, never>;
210
229
  default: import("effect/Option").None<never>;
@@ -215,44 +234,41 @@ export declare const systemTables: (import("./table-def.js").TableDef<{
215
234
  indexes?: ReadonlyArray<SqliteDsl.Index>;
216
235
  ast: import("./db-schema/ast/sqlite.js").Table;
217
236
  }, {
218
- isSingleton: false;
219
- disableAutomaticIdColumn: true;
220
- deriveMutations: never;
221
- isSingleColumn: false;
222
- requiredInsertColumnNames: "schemaHash" | "updatedAt" | "mutationName";
237
+ isClientDocumentTable: false;
238
+ requiredInsertColumnNames: "schemaHash" | "updatedAt" | "eventName";
223
239
  }, Schema.Schema<{
224
- readonly mutationName: string;
240
+ readonly eventName: string;
225
241
  readonly schemaHash: number;
226
242
  readonly updatedAt: string;
227
243
  }, {
228
- readonly mutationName: string;
244
+ readonly eventName: string;
229
245
  readonly schemaHash: number;
230
246
  readonly updatedAt: string;
231
247
  }, never>> | import("./table-def.js").TableDef<{
232
248
  name: "__livestore_session_changeset";
233
249
  columns: {
234
- idGlobal: {
250
+ readonly idGlobal: {
235
251
  columnType: "integer";
236
252
  schema: Schema.Schema<number & import("effect/Brand").Brand<"GlobalEventId">, number, never>;
237
253
  default: import("effect/Option").None<never>;
238
254
  nullable: false;
239
255
  primaryKey: false;
240
256
  };
241
- idClient: {
257
+ readonly idClient: {
242
258
  columnType: "integer";
243
259
  schema: Schema.Schema<number & import("effect/Brand").Brand<"ClientEventId">, number, never>;
244
260
  default: import("effect/Option").None<never>;
245
261
  nullable: false;
246
262
  primaryKey: false;
247
263
  };
248
- changeset: {
264
+ readonly changeset: {
249
265
  columnType: "blob";
250
266
  schema: Schema.Schema<Uint8Array<ArrayBufferLike> | null, Uint8Array<ArrayBufferLike> | null, never>;
251
267
  default: import("effect/Option").None<never>;
252
268
  nullable: true;
253
269
  primaryKey: false;
254
270
  };
255
- debug: {
271
+ readonly debug: {
256
272
  columnType: "text";
257
273
  schema: Schema.Schema<unknown, string | null, never>;
258
274
  default: import("effect/Option").Some<any> | import("effect/Option").None<never>;
@@ -263,10 +279,7 @@ export declare const systemTables: (import("./table-def.js").TableDef<{
263
279
  indexes?: ReadonlyArray<SqliteDsl.Index>;
264
280
  ast: import("./db-schema/ast/sqlite.js").Table;
265
281
  }, {
266
- isSingleton: false;
267
- disableAutomaticIdColumn: true;
268
- deriveMutations: never;
269
- isSingleColumn: false;
282
+ isClientDocumentTable: false;
270
283
  requiredInsertColumnNames: "idGlobal" | "idClient";
271
284
  }, Schema.Schema<{
272
285
  readonly idGlobal: number & import("effect/Brand").Brand<"GlobalEventId">;
@@ -278,77 +291,106 @@ export declare const systemTables: (import("./table-def.js").TableDef<{
278
291
  readonly idClient: number;
279
292
  readonly changeset: Uint8Array<ArrayBufferLike> | null;
280
293
  readonly debug: string | null;
294
+ }, never>> | import("./table-def.js").TableDef<{
295
+ name: "__livestore_leader_merge_counter";
296
+ columns: {
297
+ readonly id: {
298
+ columnType: "integer";
299
+ schema: Schema.Schema<0, 0, never>;
300
+ default: import("effect/Option").None<never>;
301
+ nullable: false;
302
+ primaryKey: true;
303
+ };
304
+ readonly mergeCounter: {
305
+ columnType: "integer";
306
+ schema: Schema.Schema<number, number, never>;
307
+ default: import("effect/Option").None<never>;
308
+ nullable: false;
309
+ primaryKey: true;
310
+ };
311
+ };
312
+ indexes?: ReadonlyArray<SqliteDsl.Index>;
313
+ ast: import("./db-schema/ast/sqlite.js").Table;
314
+ }, {
315
+ isClientDocumentTable: false;
316
+ requiredInsertColumnNames: "id" | "mergeCounter";
317
+ }, Schema.Schema<{
318
+ readonly id: 0;
319
+ readonly mergeCounter: number;
320
+ }, {
321
+ readonly id: 0;
322
+ readonly mergeCounter: number;
281
323
  }, never>>)[];
282
324
  export declare const SyncStatus: Schema.Literal<["synced", "pending", "error", "clientOnly"]>;
283
325
  export type SyncStatus = typeof SyncStatus.Type;
284
- export declare const MUTATION_LOG_META_TABLE = "mutation_log";
285
- export declare const mutationLogMetaTable: import("./table-def.js").TableDef<{
286
- name: "mutation_log";
326
+ export declare const EVENTLOG_META_TABLE = "eventlog";
327
+ export declare const eventlogMetaTable: import("./table-def.js").TableDef<{
328
+ name: "eventlog";
287
329
  columns: {
288
- idGlobal: {
330
+ readonly idGlobal: {
289
331
  columnType: "integer";
290
332
  schema: Schema.Schema<number & import("effect/Brand").Brand<"GlobalEventId">, number, never>;
291
333
  default: import("effect/Option").None<never>;
292
334
  nullable: false;
293
335
  primaryKey: true;
294
336
  };
295
- idClient: {
337
+ readonly idClient: {
296
338
  columnType: "integer";
297
339
  schema: Schema.Schema<number & import("effect/Brand").Brand<"ClientEventId">, number, never>;
298
340
  default: import("effect/Option").None<never>;
299
341
  nullable: false;
300
342
  primaryKey: true;
301
343
  };
302
- parentIdGlobal: {
344
+ readonly parentIdGlobal: {
303
345
  columnType: "integer";
304
346
  schema: Schema.Schema<number & import("effect/Brand").Brand<"GlobalEventId">, number, never>;
305
347
  default: import("effect/Option").None<never>;
306
348
  nullable: false;
307
349
  primaryKey: false;
308
350
  };
309
- parentIdClient: {
351
+ readonly parentIdClient: {
310
352
  columnType: "integer";
311
353
  schema: Schema.Schema<number & import("effect/Brand").Brand<"ClientEventId">, number, never>;
312
354
  default: import("effect/Option").None<never>;
313
355
  nullable: false;
314
356
  primaryKey: false;
315
357
  };
316
- mutation: {
358
+ readonly name: {
317
359
  columnType: "text";
318
360
  schema: Schema.Schema<string, string, never>;
319
361
  default: import("effect/Option").None<never>;
320
362
  nullable: false;
321
363
  primaryKey: false;
322
364
  };
323
- argsJson: {
365
+ readonly argsJson: {
324
366
  columnType: "text";
325
367
  schema: Schema.Schema<any, string, never>;
326
368
  default: import("effect/Option").None<never>;
327
369
  nullable: false;
328
370
  primaryKey: false;
329
371
  };
330
- clientId: {
372
+ readonly clientId: {
331
373
  columnType: "text";
332
374
  schema: Schema.Schema<string, string, never>;
333
375
  default: import("effect/Option").None<never>;
334
376
  nullable: false;
335
377
  primaryKey: false;
336
378
  };
337
- sessionId: {
379
+ readonly sessionId: {
338
380
  columnType: "text";
339
381
  schema: Schema.Schema<string, string, never>;
340
382
  default: import("effect/Option").None<never>;
341
383
  nullable: false;
342
384
  primaryKey: false;
343
385
  };
344
- schemaHash: {
386
+ readonly schemaHash: {
345
387
  columnType: "integer";
346
388
  schema: Schema.Schema<number, number, never>;
347
389
  default: import("effect/Option").None<never>;
348
390
  nullable: false;
349
391
  primaryKey: false;
350
392
  };
351
- syncMetadataJson: {
393
+ readonly syncMetadataJson: {
352
394
  columnType: "text";
353
395
  schema: Schema.Schema<import("effect/Option").None<Schema.JsonValue> | import("effect/Option").Some<Schema.JsonValue>, string, never>;
354
396
  default: import("effect/Option").None<never>;
@@ -359,17 +401,14 @@ export declare const mutationLogMetaTable: import("./table-def.js").TableDef<{
359
401
  indexes?: ReadonlyArray<SqliteDsl.Index>;
360
402
  ast: import("./db-schema/ast/sqlite.js").Table;
361
403
  }, {
362
- isSingleton: false;
363
- disableAutomaticIdColumn: true;
364
- deriveMutations: never;
365
- isSingleColumn: false;
366
- requiredInsertColumnNames: "schemaHash" | "idGlobal" | "idClient" | "mutation" | "clientId" | "sessionId" | "parentIdGlobal" | "parentIdClient" | "argsJson" | "syncMetadataJson";
404
+ isClientDocumentTable: false;
405
+ requiredInsertColumnNames: "name" | "schemaHash" | "idGlobal" | "idClient" | "parentIdGlobal" | "parentIdClient" | "argsJson" | "clientId" | "sessionId" | "syncMetadataJson";
367
406
  }, Schema.Schema<{
368
407
  readonly idGlobal: number & import("effect/Brand").Brand<"GlobalEventId">;
369
408
  readonly idClient: number & import("effect/Brand").Brand<"ClientEventId">;
370
409
  readonly parentIdGlobal: number & import("effect/Brand").Brand<"GlobalEventId">;
371
410
  readonly parentIdClient: number & import("effect/Brand").Brand<"ClientEventId">;
372
- readonly mutation: string;
411
+ readonly name: string;
373
412
  readonly argsJson: any;
374
413
  readonly clientId: string;
375
414
  readonly sessionId: string;
@@ -380,19 +419,19 @@ export declare const mutationLogMetaTable: import("./table-def.js").TableDef<{
380
419
  readonly idClient: number;
381
420
  readonly parentIdGlobal: number;
382
421
  readonly parentIdClient: number;
383
- readonly mutation: string;
422
+ readonly name: string;
384
423
  readonly argsJson: string;
385
424
  readonly clientId: string;
386
425
  readonly sessionId: string;
387
426
  readonly schemaHash: number;
388
427
  readonly syncMetadataJson: string;
389
428
  }, never>>;
390
- export type MutationLogMetaRow = FromTable.RowDecoded<typeof mutationLogMetaTable>;
429
+ export type EventlogMetaRow = typeof eventlogMetaTable.Type;
391
430
  export declare const SYNC_STATUS_TABLE = "__livestore_sync_status";
392
431
  export declare const syncStatusTable: import("./table-def.js").TableDef<{
393
432
  name: "__livestore_sync_status";
394
433
  columns: {
395
- head: {
434
+ readonly head: {
396
435
  columnType: "integer";
397
436
  schema: Schema.Schema<number, number, never>;
398
437
  default: import("effect/Option").None<never>;
@@ -403,15 +442,12 @@ export declare const syncStatusTable: import("./table-def.js").TableDef<{
403
442
  indexes?: ReadonlyArray<SqliteDsl.Index>;
404
443
  ast: import("./db-schema/ast/sqlite.js").Table;
405
444
  }, {
406
- isSingleton: false;
407
- disableAutomaticIdColumn: true;
408
- deriveMutations: never;
409
- isSingleColumn: false;
445
+ isClientDocumentTable: false;
410
446
  requiredInsertColumnNames: "head";
411
447
  }, Schema.Schema<{
412
448
  readonly head: number;
413
449
  }, {
414
450
  readonly head: number;
415
451
  }, never>>;
416
- export type SyncStatusRow = FromTable.RowDecoded<typeof syncStatusTable>;
452
+ export type SyncStatusRow = typeof syncStatusTable.Type;
417
453
  //# sourceMappingURL=system-tables.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"system-tables.d.ts","sourceRoot":"","sources":["../../src/schema/system-tables.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAEhD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAE9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAK/C,eAAO,MAAM,iBAAiB,uBAAuB,CAAA;AAErD,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAS3B,CAAA;AAED,MAAM,MAAM,aAAa,GAAG,SAAS,CAAC,UAAU,CAAC,OAAO,eAAe,CAAC,CAAA;AAExE,eAAO,MAAM,2BAA2B,iCAAiC,CAAA;AAEzE,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UASpC,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG,SAAS,CAAC,UAAU,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAE1F;;;GAGG;AACH,eAAO,MAAM,4BAA4B,kCAAkC,CAAA;AAE3E,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAarC,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG,SAAS,CAAC,UAAU,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAE5F,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAAyE,CAAA;AAIlG,eAAO,MAAM,UAAU,8DAA6D,CAAA;AACpF,MAAM,MAAM,UAAU,GAAG,OAAO,UAAU,CAAC,IAAI,CAAA;AAE/C,eAAO,MAAM,uBAAuB,iBAAiB,CAAA;AAErD,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAqBhC,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG,SAAS,CAAC,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAElF,eAAO,MAAM,iBAAiB,4BAA4B,CAAA;AAE1D,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;UAM3B,CAAA;AAED,MAAM,MAAM,aAAa,GAAG,SAAS,CAAC,UAAU,CAAC,OAAO,eAAe,CAAC,CAAA"}
1
+ {"version":3,"file":"system-tables.d.ts","sourceRoot":"","sources":["../../src/schema/system-tables.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAEhD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAM9C,eAAO,MAAM,iBAAiB,uBAAuB,CAAA;AAErD,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAQ1B,CAAA;AAEF,MAAM,MAAM,aAAa,GAAG,OAAO,eAAe,CAAC,IAAI,CAAA;AAEvD,eAAO,MAAM,4BAA4B,kCAAkC,CAAA;AAE3E,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAQnC,CAAA;AAEF,MAAM,MAAM,sBAAsB,GAAG,OAAO,wBAAwB,CAAC,IAAI,CAAA;AAEzE;;;GAGG;AACH,eAAO,MAAM,4BAA4B,kCAAkC,CAAA;AAE3E,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAUpC,CAAA;AAEF,MAAM,MAAM,uBAAuB,GAAG,OAAO,yBAAyB,CAAC,IAAI,CAAA;AAE3E,eAAO,MAAM,0BAA0B,qCAAqC,CAAA;AAE5E,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAMlC,CAAA;AAEF,MAAM,MAAM,qBAAqB,GAAG,OAAO,uBAAuB,CAAC,IAAI,CAAA;AAEvE,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAKxB,CAAA;AAID,eAAO,MAAM,UAAU,8DAA6D,CAAA;AACpF,MAAM,MAAM,UAAU,GAAG,OAAO,UAAU,CAAC,IAAI,CAAA;AAE/C,eAAO,MAAM,mBAAmB,aAAa,CAAA;AAE7C,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAmB5B,CAAA;AAEF,MAAM,MAAM,eAAe,GAAG,OAAO,iBAAiB,CAAC,IAAI,CAAA;AAE3D,eAAO,MAAM,iBAAiB,4BAA4B,CAAA;AAE1D,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;UAK1B,CAAA;AAEF,MAAM,MAAM,aAAa,GAAG,OAAO,eAAe,CAAC,IAAI,CAAA"}
@@ -2,60 +2,85 @@ import { Schema } from '@livestore/utils/effect';
2
2
  import { SqliteDsl } from './db-schema/mod.js';
3
3
  import * as EventId from './EventId.js';
4
4
  import { table } from './table-def.js';
5
- /// App DB
5
+ /// Read model DB
6
6
  export const SCHEMA_META_TABLE = '__livestore_schema';
7
- export const schemaMetaTable = table(SCHEMA_META_TABLE, {
8
- tableName: SqliteDsl.text({ primaryKey: true }),
9
- schemaHash: SqliteDsl.integer({ nullable: false }),
10
- /** ISO date format */
11
- updatedAt: SqliteDsl.text({ nullable: false }),
12
- }, { disableAutomaticIdColumn: true });
13
- export const SCHEMA_MUTATIONS_META_TABLE = '__livestore_schema_mutations';
14
- export const schemaMutationsMetaTable = table(SCHEMA_MUTATIONS_META_TABLE, {
15
- mutationName: SqliteDsl.text({ primaryKey: true }),
16
- schemaHash: SqliteDsl.integer({ nullable: false }),
17
- /** ISO date format */
18
- updatedAt: SqliteDsl.text({ nullable: false }),
19
- }, { disableAutomaticIdColumn: true });
7
+ export const schemaMetaTable = table({
8
+ name: SCHEMA_META_TABLE,
9
+ columns: {
10
+ tableName: SqliteDsl.text({ primaryKey: true }),
11
+ schemaHash: SqliteDsl.integer({ nullable: false }),
12
+ /** ISO date format */
13
+ updatedAt: SqliteDsl.text({ nullable: false }),
14
+ },
15
+ });
16
+ export const SCHEMA_EVENT_DEFS_META_TABLE = '__livestore_schema_event_defs';
17
+ export const schemaEventDefsMetaTable = table({
18
+ name: SCHEMA_EVENT_DEFS_META_TABLE,
19
+ columns: {
20
+ eventName: SqliteDsl.text({ primaryKey: true }),
21
+ schemaHash: SqliteDsl.integer({ nullable: false }),
22
+ /** ISO date format */
23
+ updatedAt: SqliteDsl.text({ nullable: false }),
24
+ },
25
+ });
20
26
  /**
21
27
  * Table which stores SQLite changeset blobs which is used for rolling back
22
28
  * read-model state during rebasing.
23
29
  */
24
30
  export const SESSION_CHANGESET_META_TABLE = '__livestore_session_changeset';
25
- export const sessionChangesetMetaTable = table(SESSION_CHANGESET_META_TABLE, {
26
- // TODO bring back primary key
27
- idGlobal: SqliteDsl.integer({ schema: EventId.GlobalEventId }),
28
- idClient: SqliteDsl.integer({ schema: EventId.ClientEventId }),
29
- changeset: SqliteDsl.blob({ nullable: true }),
30
- debug: SqliteDsl.json({ nullable: true }),
31
- }, {
32
- disableAutomaticIdColumn: true,
31
+ export const sessionChangesetMetaTable = table({
32
+ name: SESSION_CHANGESET_META_TABLE,
33
+ columns: {
34
+ // TODO bring back primary key
35
+ idGlobal: SqliteDsl.integer({ schema: EventId.GlobalEventId }),
36
+ idClient: SqliteDsl.integer({ schema: EventId.ClientEventId }),
37
+ changeset: SqliteDsl.blob({ nullable: true }),
38
+ debug: SqliteDsl.json({ nullable: true }),
39
+ },
33
40
  indexes: [{ columns: ['idGlobal', 'idClient'], name: 'idx_session_changeset_id' }],
34
41
  });
35
- export const systemTables = [schemaMetaTable, schemaMutationsMetaTable, sessionChangesetMetaTable];
36
- /// Mutation log DB
42
+ export const LEADER_MERGE_COUNTER_TABLE = '__livestore_leader_merge_counter';
43
+ export const leaderMergeCounterTable = table({
44
+ name: LEADER_MERGE_COUNTER_TABLE,
45
+ columns: {
46
+ id: SqliteDsl.integer({ primaryKey: true, schema: Schema.Literal(0) }),
47
+ mergeCounter: SqliteDsl.integer({ primaryKey: true }),
48
+ },
49
+ });
50
+ export const systemTables = [
51
+ schemaMetaTable,
52
+ schemaEventDefsMetaTable,
53
+ sessionChangesetMetaTable,
54
+ leaderMergeCounterTable,
55
+ ];
56
+ /// Eventlog DB
37
57
  export const SyncStatus = Schema.Literal('synced', 'pending', 'error', 'clientOnly');
38
- export const MUTATION_LOG_META_TABLE = 'mutation_log';
39
- export const mutationLogMetaTable = table(MUTATION_LOG_META_TABLE, {
40
- idGlobal: SqliteDsl.integer({ primaryKey: true, schema: EventId.GlobalEventId }),
41
- idClient: SqliteDsl.integer({ primaryKey: true, schema: EventId.ClientEventId }),
42
- parentIdGlobal: SqliteDsl.integer({ schema: EventId.GlobalEventId }),
43
- parentIdClient: SqliteDsl.integer({ schema: EventId.ClientEventId }),
44
- mutation: SqliteDsl.text({}),
45
- argsJson: SqliteDsl.text({ schema: Schema.parseJson(Schema.Any) }),
46
- clientId: SqliteDsl.text({}),
47
- sessionId: SqliteDsl.text({}),
48
- schemaHash: SqliteDsl.integer({}),
49
- syncMetadataJson: SqliteDsl.text({ schema: Schema.parseJson(Schema.Option(Schema.JsonValue)) }),
50
- }, {
51
- disableAutomaticIdColumn: true,
58
+ export const EVENTLOG_META_TABLE = 'eventlog';
59
+ export const eventlogMetaTable = table({
60
+ name: EVENTLOG_META_TABLE,
61
+ columns: {
62
+ // TODO Adjust modeling so a global event never needs a client id component
63
+ idGlobal: SqliteDsl.integer({ primaryKey: true, schema: EventId.GlobalEventId }),
64
+ idClient: SqliteDsl.integer({ primaryKey: true, schema: EventId.ClientEventId }),
65
+ parentIdGlobal: SqliteDsl.integer({ schema: EventId.GlobalEventId }),
66
+ parentIdClient: SqliteDsl.integer({ schema: EventId.ClientEventId }),
67
+ name: SqliteDsl.text({}),
68
+ argsJson: SqliteDsl.text({ schema: Schema.parseJson(Schema.Any) }),
69
+ clientId: SqliteDsl.text({}),
70
+ sessionId: SqliteDsl.text({}),
71
+ schemaHash: SqliteDsl.integer({}),
72
+ syncMetadataJson: SqliteDsl.text({ schema: Schema.parseJson(Schema.Option(Schema.JsonValue)) }),
73
+ },
52
74
  indexes: [
53
- { columns: ['idGlobal'], name: 'idx_idGlobal' },
54
- { columns: ['idGlobal', 'idClient'], name: 'idx_mutationlog_id' },
75
+ { columns: ['idGlobal'], name: 'idx_eventlog_idGlobal' },
76
+ { columns: ['idGlobal', 'idClient'], name: 'idx_eventlog_id' },
55
77
  ],
56
78
  });
57
79
  export const SYNC_STATUS_TABLE = '__livestore_sync_status';
58
- export const syncStatusTable = table(SYNC_STATUS_TABLE, {
59
- head: SqliteDsl.integer({ primaryKey: true }),
60
- }, { disableAutomaticIdColumn: true });
80
+ export const syncStatusTable = table({
81
+ name: SYNC_STATUS_TABLE,
82
+ columns: {
83
+ head: SqliteDsl.integer({ primaryKey: true }),
84
+ },
85
+ });
61
86
  //# sourceMappingURL=system-tables.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"system-tables.js","sourceRoot":"","sources":["../../src/schema/system-tables.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"system-tables.js","sourceRoot":"","sources":["../../src/schema/system-tables.ts"],"names":[],"mappings":"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"}