@livestore/common 0.3.0-dev.32 → 0.3.0-dev.34

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 (236) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/adapter-types.d.ts +5 -9
  3. package/dist/adapter-types.d.ts.map +1 -1
  4. package/dist/adapter-types.js.map +1 -1
  5. package/dist/devtools/devtools-messages-client-session.d.ts +22 -21
  6. package/dist/devtools/devtools-messages-client-session.d.ts.map +1 -1
  7. package/dist/devtools/devtools-messages-client-session.js +1 -0
  8. package/dist/devtools/devtools-messages-client-session.js.map +1 -1
  9. package/dist/devtools/devtools-messages-common.d.ts +6 -6
  10. package/dist/devtools/devtools-messages-leader.d.ts +25 -25
  11. package/dist/devtools/devtools-messages-leader.js +1 -1
  12. package/dist/devtools/devtools-messages-leader.js.map +1 -1
  13. package/dist/index.d.ts +3 -3
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +3 -3
  16. package/dist/index.js.map +1 -1
  17. package/dist/leader-thread/LeaderSyncProcessor.d.ts +4 -4
  18. package/dist/leader-thread/LeaderSyncProcessor.d.ts.map +1 -1
  19. package/dist/leader-thread/LeaderSyncProcessor.js +21 -17
  20. package/dist/leader-thread/LeaderSyncProcessor.js.map +1 -1
  21. package/dist/leader-thread/apply-event.d.ts +4 -4
  22. package/dist/leader-thread/apply-event.d.ts.map +1 -1
  23. package/dist/leader-thread/apply-event.js +9 -9
  24. package/dist/leader-thread/apply-event.js.map +1 -1
  25. package/dist/leader-thread/eventlog.d.ts.map +1 -1
  26. package/dist/leader-thread/eventlog.js +11 -15
  27. package/dist/leader-thread/eventlog.js.map +1 -1
  28. package/dist/leader-thread/leader-worker-devtools.js +13 -12
  29. package/dist/leader-thread/leader-worker-devtools.js.map +1 -1
  30. package/dist/leader-thread/make-leader-thread-layer.d.ts +2 -2
  31. package/dist/leader-thread/make-leader-thread-layer.d.ts.map +1 -1
  32. package/dist/leader-thread/make-leader-thread-layer.js +11 -18
  33. package/dist/leader-thread/make-leader-thread-layer.js.map +1 -1
  34. package/dist/leader-thread/materialize-event.d.ts +16 -0
  35. package/dist/leader-thread/materialize-event.d.ts.map +1 -0
  36. package/dist/leader-thread/materialize-event.js +103 -0
  37. package/dist/leader-thread/materialize-event.js.map +1 -0
  38. package/dist/leader-thread/recreate-db.d.ts.map +1 -1
  39. package/dist/leader-thread/recreate-db.js +9 -17
  40. package/dist/leader-thread/recreate-db.js.map +1 -1
  41. package/dist/leader-thread/types.d.ts +5 -5
  42. package/dist/leader-thread/types.d.ts.map +1 -1
  43. package/dist/materializer-helper.d.ts.map +1 -1
  44. package/dist/materializer-helper.js +1 -1
  45. package/dist/materializer-helper.js.map +1 -1
  46. package/dist/query-builder/api.d.ts +4 -4
  47. package/dist/query-builder/api.d.ts.map +1 -1
  48. package/dist/query-builder/impl.d.ts +2 -2
  49. package/dist/query-builder/impl.test.d.ts +5 -5
  50. package/dist/query-builder/mod.d.ts +2 -2
  51. package/dist/rehydrate-from-eventlog.d.ts +1 -1
  52. package/dist/rehydrate-from-eventlog.d.ts.map +1 -1
  53. package/dist/rehydrate-from-eventlog.js +6 -7
  54. package/dist/rehydrate-from-eventlog.js.map +1 -1
  55. package/dist/rematerialize-from-eventlog.d.ts +14 -0
  56. package/dist/rematerialize-from-eventlog.d.ts.map +1 -0
  57. package/dist/rematerialize-from-eventlog.js +64 -0
  58. package/dist/rematerialize-from-eventlog.js.map +1 -0
  59. package/dist/schema/EventDef.d.ts +1 -1
  60. package/dist/schema/EventDef.d.ts.map +1 -1
  61. package/dist/schema/EventId.test.js +1 -1
  62. package/dist/schema/EventId.test.js.map +1 -1
  63. package/dist/schema/client-document-def.d.ts +2 -2
  64. package/dist/schema/db-schema/dsl/mod.d.ts +3 -3
  65. package/dist/schema/db-schema/mod.d.ts +2 -2
  66. package/dist/schema/mod.d.ts +4 -4
  67. package/dist/schema/mod.d.ts.map +1 -1
  68. package/dist/schema/mod.js +4 -4
  69. package/dist/schema/mod.js.map +1 -1
  70. package/dist/schema/schema-helpers.d.ts +1 -1
  71. package/dist/schema/schema.d.ts +12 -14
  72. package/dist/schema/schema.d.ts.map +1 -1
  73. package/dist/schema/schema.js +5 -28
  74. package/dist/schema/schema.js.map +1 -1
  75. package/dist/schema/state/mod.d.ts +3 -0
  76. package/dist/schema/state/mod.d.ts.map +1 -0
  77. package/dist/schema/state/mod.js +3 -0
  78. package/dist/schema/state/mod.js.map +1 -0
  79. package/dist/schema/state/sqlite/client-document-def.d.ts +223 -0
  80. package/dist/schema/state/sqlite/client-document-def.d.ts.map +1 -0
  81. package/dist/schema/state/sqlite/client-document-def.js +170 -0
  82. package/dist/schema/state/sqlite/client-document-def.js.map +1 -0
  83. package/dist/schema/state/sqlite/client-document-def.test.d.ts +2 -0
  84. package/dist/schema/state/sqlite/client-document-def.test.d.ts.map +1 -0
  85. package/dist/schema/state/sqlite/client-document-def.test.js +201 -0
  86. package/dist/schema/state/sqlite/client-document-def.test.js.map +1 -0
  87. package/dist/schema/state/sqlite/db-schema/ast/sqlite.d.ts +69 -0
  88. package/dist/schema/state/sqlite/db-schema/ast/sqlite.d.ts.map +1 -0
  89. package/dist/schema/state/sqlite/db-schema/ast/sqlite.js +71 -0
  90. package/dist/schema/state/sqlite/db-schema/ast/sqlite.js.map +1 -0
  91. package/dist/schema/state/sqlite/db-schema/ast/validate.d.ts +3 -0
  92. package/dist/schema/state/sqlite/db-schema/ast/validate.d.ts.map +1 -0
  93. package/dist/schema/state/sqlite/db-schema/ast/validate.js +12 -0
  94. package/dist/schema/state/sqlite/db-schema/ast/validate.js.map +1 -0
  95. package/dist/schema/state/sqlite/db-schema/dsl/field-defs.d.ts +90 -0
  96. package/dist/schema/state/sqlite/db-schema/dsl/field-defs.d.ts.map +1 -0
  97. package/dist/schema/state/sqlite/db-schema/dsl/field-defs.js +87 -0
  98. package/dist/schema/state/sqlite/db-schema/dsl/field-defs.js.map +1 -0
  99. package/dist/schema/state/sqlite/db-schema/dsl/field-defs.test.d.ts +2 -0
  100. package/dist/schema/state/sqlite/db-schema/dsl/field-defs.test.d.ts.map +1 -0
  101. package/dist/schema/state/sqlite/db-schema/dsl/field-defs.test.js +29 -0
  102. package/dist/schema/state/sqlite/db-schema/dsl/field-defs.test.js.map +1 -0
  103. package/dist/schema/state/sqlite/db-schema/dsl/mod.d.ts +90 -0
  104. package/dist/schema/state/sqlite/db-schema/dsl/mod.d.ts.map +1 -0
  105. package/dist/schema/state/sqlite/db-schema/dsl/mod.js +41 -0
  106. package/dist/schema/state/sqlite/db-schema/dsl/mod.js.map +1 -0
  107. package/dist/schema/state/sqlite/db-schema/hash.d.ts +2 -0
  108. package/dist/schema/state/sqlite/db-schema/hash.d.ts.map +1 -0
  109. package/dist/schema/state/sqlite/db-schema/hash.js +14 -0
  110. package/dist/schema/state/sqlite/db-schema/hash.js.map +1 -0
  111. package/dist/schema/state/sqlite/db-schema/mod.d.ts +3 -0
  112. package/dist/schema/state/sqlite/db-schema/mod.d.ts.map +1 -0
  113. package/dist/schema/state/sqlite/db-schema/mod.js +3 -0
  114. package/dist/schema/state/sqlite/db-schema/mod.js.map +1 -0
  115. package/dist/schema/state/sqlite/mod.d.ts +17 -0
  116. package/dist/schema/state/sqlite/mod.d.ts.map +1 -0
  117. package/dist/schema/state/sqlite/mod.js +41 -0
  118. package/dist/schema/state/sqlite/mod.js.map +1 -0
  119. package/dist/schema/state/sqlite/query-builder/api.d.ts +293 -0
  120. package/dist/schema/state/sqlite/query-builder/api.d.ts.map +1 -0
  121. package/dist/schema/state/sqlite/query-builder/api.js +6 -0
  122. package/dist/schema/state/sqlite/query-builder/api.js.map +1 -0
  123. package/dist/schema/state/sqlite/query-builder/astToSql.d.ts +7 -0
  124. package/dist/schema/state/sqlite/query-builder/astToSql.d.ts.map +1 -0
  125. package/dist/schema/state/sqlite/query-builder/astToSql.js +190 -0
  126. package/dist/schema/state/sqlite/query-builder/astToSql.js.map +1 -0
  127. package/dist/schema/state/sqlite/query-builder/impl.d.ts +7 -0
  128. package/dist/schema/state/sqlite/query-builder/impl.d.ts.map +1 -0
  129. package/dist/schema/state/sqlite/query-builder/impl.js +286 -0
  130. package/dist/schema/state/sqlite/query-builder/impl.js.map +1 -0
  131. package/dist/schema/state/sqlite/query-builder/impl.test.d.ts +87 -0
  132. package/dist/schema/state/sqlite/query-builder/impl.test.d.ts.map +1 -0
  133. package/dist/schema/state/sqlite/query-builder/impl.test.js +554 -0
  134. package/dist/schema/state/sqlite/query-builder/impl.test.js.map +1 -0
  135. package/dist/schema/state/sqlite/query-builder/mod.d.ts +17 -0
  136. package/dist/schema/state/sqlite/query-builder/mod.d.ts.map +1 -0
  137. package/dist/schema/state/sqlite/query-builder/mod.js +17 -0
  138. package/dist/schema/state/sqlite/query-builder/mod.js.map +1 -0
  139. package/dist/schema/state/sqlite/schema-helpers.d.ts +4 -0
  140. package/dist/schema/state/sqlite/schema-helpers.d.ts.map +1 -0
  141. package/dist/schema/state/sqlite/schema-helpers.js +30 -0
  142. package/dist/schema/state/sqlite/schema-helpers.js.map +1 -0
  143. package/dist/schema/state/sqlite/sqlite-state.d.ts +12 -0
  144. package/dist/schema/state/sqlite/sqlite-state.d.ts.map +1 -0
  145. package/dist/schema/state/sqlite/sqlite-state.js +36 -0
  146. package/dist/schema/state/sqlite/sqlite-state.js.map +1 -0
  147. package/dist/schema/state/sqlite/system-tables.d.ts +574 -0
  148. package/dist/schema/state/sqlite/system-tables.d.ts.map +1 -0
  149. package/dist/schema/state/sqlite/system-tables.js +87 -0
  150. package/dist/schema/state/sqlite/system-tables.js.map +1 -0
  151. package/dist/schema/state/sqlite/table-def.d.ts +84 -0
  152. package/dist/schema/state/sqlite/table-def.d.ts.map +1 -0
  153. package/dist/schema/state/sqlite/table-def.js +36 -0
  154. package/dist/schema/state/sqlite/table-def.js.map +1 -0
  155. package/dist/schema/state/state.d.ts +3 -0
  156. package/dist/schema/state/state.d.ts.map +1 -0
  157. package/dist/schema/state/state.js +3 -0
  158. package/dist/schema/state/state.js.map +1 -0
  159. package/dist/schema/state.d.ts +3 -0
  160. package/dist/schema/state.d.ts.map +1 -0
  161. package/dist/schema/state.js +3 -0
  162. package/dist/schema/state.js.map +1 -0
  163. package/dist/schema/system-tables.d.ts +7 -433
  164. package/dist/schema/system-tables.d.ts.map +1 -1
  165. package/dist/schema/system-tables.js +1 -1
  166. package/dist/schema/system-tables.js.map +1 -1
  167. package/dist/schema/table-def.d.ts +2 -2
  168. package/dist/schema-management/migrations.d.ts +1 -1
  169. package/dist/schema-management/migrations.d.ts.map +1 -1
  170. package/dist/schema-management/migrations.js +14 -12
  171. package/dist/schema-management/migrations.js.map +1 -1
  172. package/dist/schema-management/validate-schema.d.ts +8 -0
  173. package/dist/schema-management/validate-schema.d.ts.map +1 -0
  174. package/dist/schema-management/validate-schema.js +39 -0
  175. package/dist/schema-management/validate-schema.js.map +1 -0
  176. package/dist/sql-queries/sql-queries.d.ts +1 -1
  177. package/dist/sql-queries/sql-queries.d.ts.map +1 -1
  178. package/dist/sql-queries/sql-query-builder.d.ts +1 -1
  179. package/dist/sql-queries/sql-query-builder.d.ts.map +1 -1
  180. package/dist/sql-queries/types.d.ts +1 -1
  181. package/dist/sql-queries/types.d.ts.map +1 -1
  182. package/dist/sync/ClientSessionSyncProcessor.d.ts +3 -3
  183. package/dist/sync/ClientSessionSyncProcessor.d.ts.map +1 -1
  184. package/dist/sync/ClientSessionSyncProcessor.js +6 -6
  185. package/dist/sync/ClientSessionSyncProcessor.js.map +1 -1
  186. package/dist/sync/syncstate.d.ts +2 -2
  187. package/dist/version.d.ts +1 -1
  188. package/dist/version.js +1 -1
  189. package/package.json +9 -3
  190. package/src/adapter-types.ts +4 -10
  191. package/src/devtools/devtools-messages-client-session.ts +1 -0
  192. package/src/devtools/devtools-messages-leader.ts +1 -1
  193. package/src/index.ts +3 -3
  194. package/src/leader-thread/LeaderSyncProcessor.ts +28 -30
  195. package/src/leader-thread/eventlog.ts +12 -17
  196. package/src/leader-thread/leader-worker-devtools.ts +15 -12
  197. package/src/leader-thread/make-leader-thread-layer.ts +15 -21
  198. package/src/leader-thread/{apply-event.ts → materialize-event.ts} +22 -28
  199. package/src/leader-thread/recreate-db.ts +9 -21
  200. package/src/leader-thread/types.ts +5 -5
  201. package/src/materializer-helper.ts +1 -1
  202. package/src/{rehydrate-from-eventlog.ts → rematerialize-from-eventlog.ts} +41 -38
  203. package/src/schema/EventDef.ts +1 -1
  204. package/src/schema/EventId.test.ts +1 -1
  205. package/src/schema/mod.ts +4 -4
  206. package/src/schema/schema.ts +18 -52
  207. package/src/schema/state/mod.ts +2 -0
  208. package/src/schema/{client-document-def.test.ts → state/sqlite/client-document-def.test.ts} +2 -2
  209. package/src/schema/{client-document-def.ts → state/sqlite/client-document-def.ts} +6 -6
  210. package/src/schema/{sqlite-state.ts → state/sqlite/mod.ts} +17 -6
  211. package/src/{query-builder → schema/state/sqlite/query-builder}/api.ts +21 -22
  212. package/src/{query-builder → schema/state/sqlite/query-builder}/astToSql.ts +3 -3
  213. package/src/{query-builder → schema/state/sqlite/query-builder}/impl.test.ts +1 -1
  214. package/src/{query-builder → schema/state/sqlite/query-builder}/impl.ts +3 -4
  215. package/src/schema/{schema-helpers.ts → state/sqlite/schema-helpers.ts} +1 -1
  216. package/src/schema/{system-tables.ts → state/sqlite/system-tables.ts} +6 -5
  217. package/src/schema/{table-def.ts → state/sqlite/table-def.ts} +2 -2
  218. package/src/schema-management/migrations.ts +17 -15
  219. package/src/sql-queries/sql-queries.ts +1 -1
  220. package/src/sql-queries/sql-query-builder.ts +1 -1
  221. package/src/sql-queries/types.ts +1 -1
  222. package/src/sync/ClientSessionSyncProcessor.ts +7 -7
  223. package/src/version.ts +1 -1
  224. package/src/schema/view.ts +0 -2
  225. package/tmp/pack.tgz +0 -0
  226. package/tsconfig.json +0 -12
  227. /package/src/schema/{db-schema → state/sqlite/db-schema}/ast/sqlite.ts +0 -0
  228. /package/src/schema/{db-schema → state/sqlite/db-schema}/ast/validate.ts +0 -0
  229. /package/src/schema/{db-schema → state/sqlite/db-schema}/dsl/__snapshots__/field-defs.test.ts.snap +0 -0
  230. /package/src/schema/{db-schema → state/sqlite/db-schema}/dsl/field-defs.test.ts +0 -0
  231. /package/src/schema/{db-schema → state/sqlite/db-schema}/dsl/field-defs.ts +0 -0
  232. /package/src/schema/{db-schema → state/sqlite/db-schema}/dsl/mod.ts +0 -0
  233. /package/src/schema/{db-schema → state/sqlite/db-schema}/hash.ts +0 -0
  234. /package/src/schema/{db-schema → state/sqlite/db-schema}/mod.ts +0 -0
  235. /package/src/{query-builder → schema/state/sqlite/query-builder}/mod.ts +0 -0
  236. /package/src/schema-management/{validate-mutation-defs.ts → validate-schema.ts} +0 -0
@@ -1,453 +1,27 @@
1
1
  import { Schema } from '@livestore/utils/effect';
2
- import { SqliteDsl } from './db-schema/mod.js';
3
2
  export declare const SCHEMA_META_TABLE = "__livestore_schema";
4
- export declare const schemaMetaTable: import("./table-def.js").TableDef<{
5
- name: "__livestore_schema";
6
- columns: {
7
- readonly tableName: {
8
- columnType: "text";
9
- schema: Schema.Schema<string, string, never>;
10
- default: import("effect/Option").None<never>;
11
- nullable: false;
12
- primaryKey: true;
13
- };
14
- readonly schemaHash: {
15
- columnType: "integer";
16
- schema: Schema.Schema<number, number, never>;
17
- default: import("effect/Option").None<never>;
18
- nullable: false;
19
- primaryKey: false;
20
- };
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
- };
28
- };
29
- indexes?: ReadonlyArray<SqliteDsl.Index>;
30
- ast: import("./db-schema/ast/sqlite.js").Table;
31
- }, {
32
- isClientDocumentTable: false;
33
- requiredInsertColumnNames: "tableName" | "schemaHash" | "updatedAt";
34
- }, Schema.Schema<{
35
- readonly tableName: string;
36
- readonly schemaHash: number;
37
- readonly updatedAt: string;
38
- }, {
39
- readonly tableName: string;
40
- readonly schemaHash: number;
41
- readonly updatedAt: string;
42
- }, never>>;
3
+ export declare const schemaMetaTable: any;
43
4
  export type SchemaMetaRow = typeof schemaMetaTable.Type;
44
5
  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";
47
- columns: {
48
- readonly eventName: {
49
- columnType: "text";
50
- schema: Schema.Schema<string, string, never>;
51
- default: import("effect/Option").None<never>;
52
- nullable: false;
53
- primaryKey: true;
54
- };
55
- readonly schemaHash: {
56
- columnType: "integer";
57
- schema: Schema.Schema<number, number, never>;
58
- default: import("effect/Option").None<never>;
59
- nullable: false;
60
- primaryKey: false;
61
- };
62
- readonly updatedAt: {
63
- columnType: "text";
64
- schema: Schema.Schema<string, string, never>;
65
- default: import("effect/Option").None<never>;
66
- nullable: false;
67
- primaryKey: false;
68
- };
69
- };
70
- indexes?: ReadonlyArray<SqliteDsl.Index>;
71
- ast: import("./db-schema/ast/sqlite.js").Table;
72
- }, {
73
- isClientDocumentTable: false;
74
- requiredInsertColumnNames: "schemaHash" | "updatedAt" | "eventName";
75
- }, Schema.Schema<{
76
- readonly eventName: string;
77
- readonly schemaHash: number;
78
- readonly updatedAt: string;
79
- }, {
80
- readonly eventName: string;
81
- readonly schemaHash: number;
82
- readonly updatedAt: string;
83
- }, never>>;
6
+ export declare const schemaEventDefsMetaTable: any;
84
7
  export type SchemaEventDefsMetaRow = typeof schemaEventDefsMetaTable.Type;
85
8
  /**
86
9
  * Table which stores SQLite changeset blobs which is used for rolling back
87
10
  * read-model state during rebasing.
88
11
  */
89
12
  export declare const SESSION_CHANGESET_META_TABLE = "__livestore_session_changeset";
90
- export declare const sessionChangesetMetaTable: import("./table-def.js").TableDef<{
91
- name: "__livestore_session_changeset";
92
- columns: {
93
- readonly idGlobal: {
94
- columnType: "integer";
95
- schema: Schema.Schema<number & import("effect/Brand").Brand<"GlobalEventId">, number, never>;
96
- default: import("effect/Option").None<never>;
97
- nullable: false;
98
- primaryKey: false;
99
- };
100
- readonly idClient: {
101
- columnType: "integer";
102
- schema: Schema.Schema<number & import("effect/Brand").Brand<"ClientEventId">, number, never>;
103
- default: import("effect/Option").None<never>;
104
- nullable: false;
105
- primaryKey: false;
106
- };
107
- readonly changeset: {
108
- columnType: "blob";
109
- schema: Schema.Schema<Uint8Array<ArrayBufferLike> | null, Uint8Array<ArrayBufferLike> | null, never>;
110
- default: import("effect/Option").None<never>;
111
- nullable: true;
112
- primaryKey: false;
113
- };
114
- readonly debug: {
115
- columnType: "text";
116
- schema: Schema.Schema<unknown, string | null, never>;
117
- default: import("effect/Option").Some<any> | import("effect/Option").None<never>;
118
- nullable: true;
119
- primaryKey: false;
120
- };
121
- };
122
- indexes?: ReadonlyArray<SqliteDsl.Index>;
123
- ast: import("./db-schema/ast/sqlite.js").Table;
124
- }, {
125
- isClientDocumentTable: false;
126
- requiredInsertColumnNames: "idGlobal" | "idClient";
127
- }, Schema.Schema<{
128
- readonly idGlobal: number & import("effect/Brand").Brand<"GlobalEventId">;
129
- readonly idClient: number & import("effect/Brand").Brand<"ClientEventId">;
130
- readonly changeset: Uint8Array<ArrayBufferLike> | null;
131
- readonly debug: unknown;
132
- }, {
133
- readonly idGlobal: number;
134
- readonly idClient: number;
135
- readonly changeset: Uint8Array<ArrayBufferLike> | null;
136
- readonly debug: string | null;
137
- }, never>>;
13
+ export declare const sessionChangesetMetaTable: any;
138
14
  export type SessionChangesetMetaRow = typeof sessionChangesetMetaTable.Type;
139
15
  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>>;
16
+ export declare const leaderMergeCounterTable: any;
170
17
  export type LeaderMergeCounterRow = typeof leaderMergeCounterTable.Type;
171
- export declare const systemTables: (import("./table-def.js").TableDef<{
172
- name: "__livestore_schema";
173
- columns: {
174
- readonly tableName: {
175
- columnType: "text";
176
- schema: Schema.Schema<string, string, never>;
177
- default: import("effect/Option").None<never>;
178
- nullable: false;
179
- primaryKey: true;
180
- };
181
- readonly schemaHash: {
182
- columnType: "integer";
183
- schema: Schema.Schema<number, number, never>;
184
- default: import("effect/Option").None<never>;
185
- nullable: false;
186
- primaryKey: false;
187
- };
188
- readonly updatedAt: {
189
- columnType: "text";
190
- schema: Schema.Schema<string, string, never>;
191
- default: import("effect/Option").None<never>;
192
- nullable: false;
193
- primaryKey: false;
194
- };
195
- };
196
- indexes?: ReadonlyArray<SqliteDsl.Index>;
197
- ast: import("./db-schema/ast/sqlite.js").Table;
198
- }, {
199
- isClientDocumentTable: false;
200
- requiredInsertColumnNames: "tableName" | "schemaHash" | "updatedAt";
201
- }, Schema.Schema<{
202
- readonly tableName: string;
203
- readonly schemaHash: number;
204
- readonly updatedAt: string;
205
- }, {
206
- readonly tableName: string;
207
- readonly schemaHash: number;
208
- readonly updatedAt: string;
209
- }, never>> | import("./table-def.js").TableDef<{
210
- name: "__livestore_schema_event_defs";
211
- columns: {
212
- readonly eventName: {
213
- columnType: "text";
214
- schema: Schema.Schema<string, string, never>;
215
- default: import("effect/Option").None<never>;
216
- nullable: false;
217
- primaryKey: true;
218
- };
219
- readonly schemaHash: {
220
- columnType: "integer";
221
- schema: Schema.Schema<number, number, never>;
222
- default: import("effect/Option").None<never>;
223
- nullable: false;
224
- primaryKey: false;
225
- };
226
- readonly updatedAt: {
227
- columnType: "text";
228
- schema: Schema.Schema<string, string, never>;
229
- default: import("effect/Option").None<never>;
230
- nullable: false;
231
- primaryKey: false;
232
- };
233
- };
234
- indexes?: ReadonlyArray<SqliteDsl.Index>;
235
- ast: import("./db-schema/ast/sqlite.js").Table;
236
- }, {
237
- isClientDocumentTable: false;
238
- requiredInsertColumnNames: "schemaHash" | "updatedAt" | "eventName";
239
- }, Schema.Schema<{
240
- readonly eventName: string;
241
- readonly schemaHash: number;
242
- readonly updatedAt: string;
243
- }, {
244
- readonly eventName: string;
245
- readonly schemaHash: number;
246
- readonly updatedAt: string;
247
- }, never>> | import("./table-def.js").TableDef<{
248
- name: "__livestore_session_changeset";
249
- columns: {
250
- readonly idGlobal: {
251
- columnType: "integer";
252
- schema: Schema.Schema<number & import("effect/Brand").Brand<"GlobalEventId">, number, never>;
253
- default: import("effect/Option").None<never>;
254
- nullable: false;
255
- primaryKey: false;
256
- };
257
- readonly idClient: {
258
- columnType: "integer";
259
- schema: Schema.Schema<number & import("effect/Brand").Brand<"ClientEventId">, number, never>;
260
- default: import("effect/Option").None<never>;
261
- nullable: false;
262
- primaryKey: false;
263
- };
264
- readonly changeset: {
265
- columnType: "blob";
266
- schema: Schema.Schema<Uint8Array<ArrayBufferLike> | null, Uint8Array<ArrayBufferLike> | null, never>;
267
- default: import("effect/Option").None<never>;
268
- nullable: true;
269
- primaryKey: false;
270
- };
271
- readonly debug: {
272
- columnType: "text";
273
- schema: Schema.Schema<unknown, string | null, never>;
274
- default: import("effect/Option").Some<any> | import("effect/Option").None<never>;
275
- nullable: true;
276
- primaryKey: false;
277
- };
278
- };
279
- indexes?: ReadonlyArray<SqliteDsl.Index>;
280
- ast: import("./db-schema/ast/sqlite.js").Table;
281
- }, {
282
- isClientDocumentTable: false;
283
- requiredInsertColumnNames: "idGlobal" | "idClient";
284
- }, Schema.Schema<{
285
- readonly idGlobal: number & import("effect/Brand").Brand<"GlobalEventId">;
286
- readonly idClient: number & import("effect/Brand").Brand<"ClientEventId">;
287
- readonly changeset: Uint8Array<ArrayBufferLike> | null;
288
- readonly debug: unknown;
289
- }, {
290
- readonly idGlobal: number;
291
- readonly idClient: number;
292
- readonly changeset: Uint8Array<ArrayBufferLike> | null;
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;
323
- }, never>>)[];
18
+ export declare const systemTables: any[];
324
19
  export declare const SyncStatus: Schema.Literal<["synced", "pending", "error", "clientOnly"]>;
325
20
  export type SyncStatus = typeof SyncStatus.Type;
326
21
  export declare const EVENTLOG_META_TABLE = "eventlog";
327
- export declare const eventlogMetaTable: import("./table-def.js").TableDef<{
328
- name: "eventlog";
329
- columns: {
330
- readonly idGlobal: {
331
- columnType: "integer";
332
- schema: Schema.Schema<number & import("effect/Brand").Brand<"GlobalEventId">, number, never>;
333
- default: import("effect/Option").None<never>;
334
- nullable: false;
335
- primaryKey: true;
336
- };
337
- readonly idClient: {
338
- columnType: "integer";
339
- schema: Schema.Schema<number & import("effect/Brand").Brand<"ClientEventId">, number, never>;
340
- default: import("effect/Option").None<never>;
341
- nullable: false;
342
- primaryKey: true;
343
- };
344
- readonly parentIdGlobal: {
345
- columnType: "integer";
346
- schema: Schema.Schema<number & import("effect/Brand").Brand<"GlobalEventId">, number, never>;
347
- default: import("effect/Option").None<never>;
348
- nullable: false;
349
- primaryKey: false;
350
- };
351
- readonly parentIdClient: {
352
- columnType: "integer";
353
- schema: Schema.Schema<number & import("effect/Brand").Brand<"ClientEventId">, number, never>;
354
- default: import("effect/Option").None<never>;
355
- nullable: false;
356
- primaryKey: false;
357
- };
358
- readonly name: {
359
- columnType: "text";
360
- schema: Schema.Schema<string, string, never>;
361
- default: import("effect/Option").None<never>;
362
- nullable: false;
363
- primaryKey: false;
364
- };
365
- readonly argsJson: {
366
- columnType: "text";
367
- schema: Schema.Schema<any, string, never>;
368
- default: import("effect/Option").None<never>;
369
- nullable: false;
370
- primaryKey: false;
371
- };
372
- readonly clientId: {
373
- columnType: "text";
374
- schema: Schema.Schema<string, string, never>;
375
- default: import("effect/Option").None<never>;
376
- nullable: false;
377
- primaryKey: false;
378
- };
379
- readonly sessionId: {
380
- columnType: "text";
381
- schema: Schema.Schema<string, string, never>;
382
- default: import("effect/Option").None<never>;
383
- nullable: false;
384
- primaryKey: false;
385
- };
386
- readonly schemaHash: {
387
- columnType: "integer";
388
- schema: Schema.Schema<number, number, never>;
389
- default: import("effect/Option").None<never>;
390
- nullable: false;
391
- primaryKey: false;
392
- };
393
- readonly syncMetadataJson: {
394
- columnType: "text";
395
- schema: Schema.Schema<import("effect/Option").None<Schema.JsonValue> | import("effect/Option").Some<Schema.JsonValue>, string, never>;
396
- default: import("effect/Option").None<never>;
397
- nullable: false;
398
- primaryKey: false;
399
- };
400
- };
401
- indexes?: ReadonlyArray<SqliteDsl.Index>;
402
- ast: import("./db-schema/ast/sqlite.js").Table;
403
- }, {
404
- isClientDocumentTable: false;
405
- requiredInsertColumnNames: "name" | "schemaHash" | "idGlobal" | "idClient" | "parentIdGlobal" | "parentIdClient" | "argsJson" | "clientId" | "sessionId" | "syncMetadataJson";
406
- }, Schema.Schema<{
407
- readonly idGlobal: number & import("effect/Brand").Brand<"GlobalEventId">;
408
- readonly idClient: number & import("effect/Brand").Brand<"ClientEventId">;
409
- readonly parentIdGlobal: number & import("effect/Brand").Brand<"GlobalEventId">;
410
- readonly parentIdClient: number & import("effect/Brand").Brand<"ClientEventId">;
411
- readonly name: string;
412
- readonly argsJson: any;
413
- readonly clientId: string;
414
- readonly sessionId: string;
415
- readonly schemaHash: number;
416
- readonly syncMetadataJson: import("effect/Option").None<Schema.JsonValue> | import("effect/Option").Some<Schema.JsonValue>;
417
- }, {
418
- readonly idGlobal: number;
419
- readonly idClient: number;
420
- readonly parentIdGlobal: number;
421
- readonly parentIdClient: number;
422
- readonly name: string;
423
- readonly argsJson: string;
424
- readonly clientId: string;
425
- readonly sessionId: string;
426
- readonly schemaHash: number;
427
- readonly syncMetadataJson: string;
428
- }, never>>;
22
+ export declare const eventlogMetaTable: any;
429
23
  export type EventlogMetaRow = typeof eventlogMetaTable.Type;
430
24
  export declare const SYNC_STATUS_TABLE = "__livestore_sync_status";
431
- export declare const syncStatusTable: import("./table-def.js").TableDef<{
432
- name: "__livestore_sync_status";
433
- columns: {
434
- readonly head: {
435
- columnType: "integer";
436
- schema: Schema.Schema<number, number, never>;
437
- default: import("effect/Option").None<never>;
438
- nullable: false;
439
- primaryKey: true;
440
- };
441
- };
442
- indexes?: ReadonlyArray<SqliteDsl.Index>;
443
- ast: import("./db-schema/ast/sqlite.js").Table;
444
- }, {
445
- isClientDocumentTable: false;
446
- requiredInsertColumnNames: "head";
447
- }, Schema.Schema<{
448
- readonly head: number;
449
- }, {
450
- readonly head: number;
451
- }, never>>;
25
+ export declare const syncStatusTable: any;
452
26
  export type SyncStatusRow = typeof syncStatusTable.Type;
453
27
  //# 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;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"}
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;AAQhD,eAAO,MAAM,iBAAiB,uBAAuB,CAAA;AAErD,eAAO,MAAM,eAAe,KAQ1B,CAAA;AAEF,MAAM,MAAM,aAAa,GAAG,OAAO,eAAe,CAAC,IAAI,CAAA;AAEvD,eAAO,MAAM,4BAA4B,kCAAkC,CAAA;AAE3E,eAAO,MAAM,wBAAwB,KAQnC,CAAA;AAEF,MAAM,MAAM,sBAAsB,GAAG,OAAO,wBAAwB,CAAC,IAAI,CAAA;AAEzE;;;GAGG;AACH,eAAO,MAAM,4BAA4B,kCAAkC,CAAA;AAE3E,eAAO,MAAM,yBAAyB,KAUpC,CAAA;AAEF,MAAM,MAAM,uBAAuB,GAAG,OAAO,yBAAyB,CAAC,IAAI,CAAA;AAE3E,eAAO,MAAM,0BAA0B,qCAAqC,CAAA;AAE5E,eAAO,MAAM,uBAAuB,KAMlC,CAAA;AAEF,MAAM,MAAM,qBAAqB,GAAG,OAAO,uBAAuB,CAAC,IAAI,CAAA;AAEvE,eAAO,MAAM,YAAY,OAKxB,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,KAmB5B,CAAA;AAEF,MAAM,MAAM,eAAe,GAAG,OAAO,iBAAiB,CAAC,IAAI,CAAA;AAE3D,eAAO,MAAM,iBAAiB,4BAA4B,CAAA;AAE1D,eAAO,MAAM,eAAe,KAK1B,CAAA;AAEF,MAAM,MAAM,aAAa,GAAG,OAAO,eAAe,CAAC,IAAI,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import { Schema } from '@livestore/utils/effect';
2
- import { SqliteDsl } from './db-schema/mod.js';
3
2
  import * as EventId from './EventId.js';
3
+ import { SqliteDsl } from './state/sqlite/db-schema/mod.js';
4
4
  import { table } from './table-def.js';
5
5
  /// Read model DB
6
6
  export const SCHEMA_META_TABLE = '__livestore_schema';
@@ -1 +1 @@
1
- {"version":3,"file":"system-tables.js","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;AAC9C,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AAEtC,iBAAiB;AAEjB,MAAM,CAAC,MAAM,iBAAiB,GAAG,oBAAoB,CAAA;AAErD,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,CAAC;IACnC,IAAI,EAAE,iBAAiB;IACvB,OAAO,EAAE;QACP,SAAS,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;QAC/C,UAAU,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QAClD,sBAAsB;QACtB,SAAS,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;KAC/C;CACF,CAAC,CAAA;AAIF,MAAM,CAAC,MAAM,4BAA4B,GAAG,+BAA+B,CAAA;AAE3E,MAAM,CAAC,MAAM,wBAAwB,GAAG,KAAK,CAAC;IAC5C,IAAI,EAAE,4BAA4B;IAClC,OAAO,EAAE;QACP,SAAS,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;QAC/C,UAAU,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QAClD,sBAAsB;QACtB,SAAS,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;KAC/C;CACF,CAAC,CAAA;AAIF;;;GAGG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,+BAA+B,CAAA;AAE3E,MAAM,CAAC,MAAM,yBAAyB,GAAG,KAAK,CAAC;IAC7C,IAAI,EAAE,4BAA4B;IAClC,OAAO,EAAE;QACP,8BAA8B;QAC9B,QAAQ,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC;QAC9D,QAAQ,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC;QAC9D,SAAS,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAC7C,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;KAC1C;IACD,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,IAAI,EAAE,0BAA0B,EAAE,CAAC;CACnF,CAAC,CAAA;AAIF,MAAM,CAAC,MAAM,0BAA0B,GAAG,kCAAkC,CAAA;AAE5E,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,CAAC;IAC3C,IAAI,EAAE,0BAA0B;IAChC,OAAO,EAAE;QACP,EAAE,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,YAAY,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;KACtD;CACF,CAAC,CAAA;AAIF,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,eAAe;IACf,wBAAwB;IACxB,yBAAyB;IACzB,uBAAuB;CACxB,CAAA;AAED,eAAe;AAEf,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,CAAC,CAAA;AAGpF,MAAM,CAAC,MAAM,mBAAmB,GAAG,UAAU,CAAA;AAE7C,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,CAAC;IACrC,IAAI,EAAE,mBAAmB;IACzB,OAAO,EAAE;QACP,2EAA2E;QAC3E,QAAQ,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC;QAChF,QAAQ,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC;QAChF,cAAc,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC;QACpE,cAAc,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC;QACpE,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,UAAU,CAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE;QACxD,EAAE,OAAO,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE;KAC/D;CACF,CAAC,CAAA;AAIF,MAAM,CAAC,MAAM,iBAAiB,GAAG,yBAAyB,CAAA;AAE1D,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;KAC9C;CACF,CAAC,CAAA"}
1
+ {"version":3,"file":"system-tables.js","sourceRoot":"","sources":["../../src/schema/system-tables.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { type Nullable } from '@livestore/utils';
2
2
  import type { Schema, Types } from '@livestore/utils/effect';
3
- import type { QueryBuilder } from '../query-builder/mod.js';
4
- import { SqliteDsl } from './db-schema/mod.js';
3
+ import type { QueryBuilder } from './state/sqlite/query-builder/mod.ts';
4
+ import { SqliteDsl } from './state/sqlite/db-schema/mod.ts';
5
5
  export declare const blob: SqliteDsl.ColDefFn<"blob">, boolean: SqliteDsl.SpecializedColDefFn<"integer", false, boolean>, column: <TColumnType extends SqliteDsl.FieldColumnType>(columnType: TColumnType) => SqliteDsl.ColDefFn<TColumnType>, datetime: SqliteDsl.SpecializedColDefFn<"text", false, Date>, integer: SqliteDsl.ColDefFn<"integer">, isColumnDefinition: (value: unknown) => value is SqliteDsl.ColumnDefinition<any, any>, json: SqliteDsl.SpecializedColDefFn<"text", true, unknown>, real: SqliteDsl.ColDefFn<"real">, text: SqliteDsl.ColDefFn<"text">;
6
6
  export type StateType = 'singleton' | 'dynamic';
7
7
  export type DefaultSqliteTableDef = SqliteDsl.TableDefinition<string, SqliteDsl.Columns>;
@@ -1,7 +1,7 @@
1
1
  import { Effect } from '@livestore/utils/effect';
2
2
  import type { MigrationsReport, SqliteDb, UnexpectedError } from '../adapter-types.js';
3
- import { SqliteAst } from '../schema/db-schema/mod.js';
4
3
  import type { LiveStoreSchema } from '../schema/mod.js';
4
+ import { SqliteAst } from '../schema/state/sqlite/db-schema/mod.js';
5
5
  import type { SchemaManager } from './common.js';
6
6
  export declare const makeSchemaManager: (db: SqliteDb) => Effect.Effect<SchemaManager>;
7
7
  export declare const migrateDb: ({ db, schema, onProgress, }: {
@@ -1 +1 @@
1
- {"version":3,"file":"migrations.d.ts","sourceRoot":"","sources":["../../src/schema-management/migrations.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAA0B,MAAM,yBAAyB,CAAA;AAExE,OAAO,KAAK,EAAE,gBAAgB,EAAyB,QAAQ,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAC7G,OAAO,EAAE,SAAS,EAAa,MAAM,4BAA4B,CAAA;AACjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAUvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAMhD,eAAO,MAAM,iBAAiB,GAAI,IAAI,QAAQ,KAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAuBxE,CAAA;AAGJ,eAAO,MAAM,SAAS,GAAI,6BAIvB;IACD,EAAE,EAAE,QAAQ,CAAA;IACZ,MAAM,EAAE,eAAe,CAAA;IACvB,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;CAC5E,KAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,eAAe,CAyD/C,CAAA;AAEJ,eAAO,MAAM,YAAY,GAAI,yDAM1B;IACD,EAAE,EAAE,QAAQ,CAAA;IACZ,QAAQ,EAAE,SAAS,CAAC,KAAK,CAAA;IACzB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,mBAAmB,GAAG,sBAAsB,CAAA;IACvD,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB,sCAqCE,CAAA;AAOH,eAAO,MAAM,cAAc,GAAI,UAAU,SAAS,CAAC,KAAK,WAQvD,CAAA"}
1
+ {"version":3,"file":"migrations.d.ts","sourceRoot":"","sources":["../../src/schema-management/migrations.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAA0B,MAAM,yBAAyB,CAAA;AAExE,OAAO,KAAK,EAAE,gBAAgB,EAAyB,QAAQ,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAC7G,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AACvD,OAAO,EAAE,SAAS,EAAa,MAAM,yCAAyC,CAAA;AAU9E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAMhD,eAAO,MAAM,iBAAiB,GAAI,IAAI,QAAQ,KAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAuBxE,CAAA;AAGJ,eAAO,MAAM,SAAS,GAAI,6BAIvB;IACD,EAAE,EAAE,QAAQ,CAAA;IACZ,MAAM,EAAE,eAAe,CAAA;IACvB,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;CAC5E,KAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,eAAe,CA2D/C,CAAA;AAEJ,eAAO,MAAM,YAAY,GAAI,yDAM1B;IACD,EAAE,EAAE,QAAQ,CAAA;IACZ,QAAQ,EAAE,SAAS,CAAC,KAAK,CAAA;IACzB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,mBAAmB,GAAG,sBAAsB,CAAA;IACvD,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB,sCAqCE,CAAA;AAOH,eAAO,MAAM,cAAc,GAAI,UAAU,SAAS,CAAC,KAAK,WAQvD,CAAA"}
@@ -1,10 +1,10 @@
1
1
  import { memoizeByStringifyArgs } from '@livestore/utils';
2
2
  import { Effect, Schema as EffectSchema } from '@livestore/utils/effect';
3
- import { SqliteAst, SqliteDsl } from '../schema/db-schema/mod.js';
4
- import { SCHEMA_EVENT_DEFS_META_TABLE, SCHEMA_META_TABLE, schemaEventDefsMetaTable, schemaMetaTable, systemTables, } from '../schema/system-tables.js';
3
+ import { SqliteAst, SqliteDsl } from '../schema/state/sqlite/db-schema/mod.js';
4
+ import { isStateSystemTable, SCHEMA_EVENT_DEFS_META_TABLE, SCHEMA_META_TABLE, schemaEventDefsMetaTable, stateSystemTables, } from '../schema/state/sqlite/system-tables.js';
5
5
  import { sql } from '../util.js';
6
6
  import { dbExecute, dbSelect } from './common.js';
7
- import { validateSchema } from './validate-mutation-defs.js';
7
+ import { validateSchema } from './validate-schema.js';
8
8
  const getMemoizedTimestamp = memoizeByStringifyArgs(() => new Date().toISOString());
9
9
  export const makeSchemaManager = (db) => Effect.gen(function* () {
10
10
  yield* migrateTable({
@@ -25,21 +25,23 @@ export const makeSchemaManager = (db) => Effect.gen(function* () {
25
25
  });
26
26
  // TODO more graceful DB migration (e.g. backup DB before destructive migrations)
27
27
  export const migrateDb = ({ db, schema, onProgress, }) => Effect.gen(function* () {
28
- yield* migrateTable({
29
- db,
30
- tableAst: schemaMetaTable.sqliteDef.ast,
31
- behaviour: 'create-if-not-exists',
32
- });
28
+ for (const tableDef of stateSystemTables) {
29
+ yield* migrateTable({
30
+ db,
31
+ tableAst: tableDef.sqliteDef.ast,
32
+ behaviour: 'create-if-not-exists',
33
+ });
34
+ }
33
35
  // TODO enforce that migrating tables isn't allowed once the store is running
34
36
  const schemaManager = yield* makeSchemaManager(db);
35
37
  yield* validateSchema(schema, schemaManager);
36
38
  const schemaMetaRows = dbSelect(db, sql `SELECT * FROM ${SCHEMA_META_TABLE}`);
37
39
  const dbSchemaHashByTable = Object.fromEntries(schemaMetaRows.map(({ tableName, schemaHash }) => [tableName, schemaHash]));
38
- const tableDefs = new Set([
40
+ const tableDefs = [
39
41
  // NOTE it's important the `SCHEMA_META_TABLE` comes first since we're writing to it below
40
- ...systemTables,
41
- ...Array.from(schema.tables.values()).filter((_) => _.sqliteDef.name !== SCHEMA_META_TABLE),
42
- ]);
42
+ ...stateSystemTables,
43
+ ...Array.from(schema.state.sqlite.tables.values()).filter((_) => !isStateSystemTable(_.sqliteDef.name)),
44
+ ];
43
45
  const tablesToMigrate = new Set();
44
46
  const migrationsReportEntries = [];
45
47
  for (const tableDef of tableDefs) {
@@ -1 +1 @@
1
- {"version":3,"file":"migrations.js","sourceRoot":"","sources":["../../src/schema-management/migrations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"migrations.js","sourceRoot":"","sources":["../../src/schema-management/migrations.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { Effect } from '@livestore/utils/effect';
2
+ import { UnexpectedError } from '../adapter-types.js';
3
+ import type { EventDef } from '../schema/EventDef.js';
4
+ import type { LiveStoreSchema } from '../schema/mod.js';
5
+ import type { EventDefInfo, SchemaManager } from './common.js';
6
+ export declare const validateSchema: (schema: LiveStoreSchema, schemaManager: SchemaManager) => Effect.Effect<void, UnexpectedError, never>;
7
+ export declare const validateEventDef: (eventDef: EventDef.AnyWithoutFn, schemaManager: SchemaManager, registeredEventDefInfo: EventDefInfo | undefined) => void;
8
+ //# sourceMappingURL=validate-schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-schema.d.ts","sourceRoot":"","sources":["../../src/schema-management/validate-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAU,MAAM,yBAAyB,CAAA;AAExD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AACrD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAE9D,eAAO,MAAM,cAAc,GAAI,QAAQ,eAAe,EAAE,eAAe,aAAa,gDAsBhF,CAAA;AAEJ,eAAO,MAAM,gBAAgB,GAC3B,UAAU,QAAQ,CAAC,YAAY,EAC/B,eAAe,aAAa,EAC5B,wBAAwB,YAAY,GAAG,SAAS,SA0BjD,CAAA"}
@@ -0,0 +1,39 @@
1
+ import { Effect, Schema } from '@livestore/utils/effect';
2
+ import { UnexpectedError } from '../adapter-types.js';
3
+ export const validateSchema = (schema, schemaManager) => Effect.gen(function* () {
4
+ // Validate mutation definitions
5
+ const registeredEventDefInfos = schemaManager.getEventDefInfos();
6
+ const missingEventDefs = registeredEventDefInfos.filter((registeredEventDefInfo) => !schema.eventsDefsMap.has(registeredEventDefInfo.eventName));
7
+ if (missingEventDefs.length > 0) {
8
+ yield* new UnexpectedError({
9
+ cause: `Missing mutation definitions: ${missingEventDefs.map((info) => info.eventName).join(', ')}`,
10
+ });
11
+ }
12
+ for (const [, eventDef] of schema.eventsDefsMap) {
13
+ const registeredEventDefInfo = registeredEventDefInfos.find((info) => info.eventName === eventDef.name);
14
+ validateEventDef(eventDef, schemaManager, registeredEventDefInfo);
15
+ }
16
+ // Validate table schemas
17
+ });
18
+ export const validateEventDef = (eventDef, schemaManager, registeredEventDefInfo) => {
19
+ const schemaHash = Schema.hash(eventDef.schema);
20
+ if (registeredEventDefInfo === undefined) {
21
+ schemaManager.setEventDefInfo({
22
+ schemaHash,
23
+ eventName: eventDef.name,
24
+ });
25
+ return;
26
+ }
27
+ if (schemaHash === registeredEventDefInfo.schemaHash)
28
+ return;
29
+ // TODO bring back some form of schema compatibility check (see https://github.com/livestorejs/livestore/issues/69)
30
+ // const newSchemaIsCompatibleWithOldSchema = Schema.isSubType(jsonSchemaDefFromMgmtStore, eventDef.schema)
31
+ // if (!newSchemaIsCompatibleWithOldSchema) {
32
+ // shouldNeverHappen(`Schema for mutation ${eventDef.name} has changed in an incompatible way`)
33
+ // }
34
+ schemaManager.setEventDefInfo({
35
+ schemaHash,
36
+ eventName: eventDef.name,
37
+ });
38
+ };
39
+ //# sourceMappingURL=validate-schema.js.map