@livestore/common 0.3.0-dev.27 → 0.3.0-dev.29

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