@livestore/common 0.4.0-dev.0 → 0.4.0-dev.10

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 (255) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/ClientSessionLeaderThreadProxy.d.ts +7 -2
  3. package/dist/ClientSessionLeaderThreadProxy.d.ts.map +1 -1
  4. package/dist/ClientSessionLeaderThreadProxy.js.map +1 -1
  5. package/dist/adapter-types.d.ts +9 -3
  6. package/dist/adapter-types.d.ts.map +1 -1
  7. package/dist/adapter-types.js.map +1 -1
  8. package/dist/devtools/devtools-messages-client-session.d.ts +21 -21
  9. package/dist/devtools/devtools-messages-common.d.ts +7 -14
  10. package/dist/devtools/devtools-messages-common.d.ts.map +1 -1
  11. package/dist/devtools/devtools-messages-common.js +1 -6
  12. package/dist/devtools/devtools-messages-common.js.map +1 -1
  13. package/dist/devtools/devtools-messages-leader.d.ts +27 -25
  14. package/dist/devtools/devtools-messages-leader.d.ts.map +1 -1
  15. package/dist/errors.d.ts +47 -5
  16. package/dist/errors.d.ts.map +1 -1
  17. package/dist/errors.js +22 -3
  18. package/dist/errors.js.map +1 -1
  19. package/dist/leader-thread/LeaderSyncProcessor.d.ts +7 -3
  20. package/dist/leader-thread/LeaderSyncProcessor.d.ts.map +1 -1
  21. package/dist/leader-thread/LeaderSyncProcessor.js +122 -49
  22. package/dist/leader-thread/LeaderSyncProcessor.js.map +1 -1
  23. package/dist/leader-thread/eventlog.d.ts +4 -10
  24. package/dist/leader-thread/eventlog.d.ts.map +1 -1
  25. package/dist/leader-thread/eventlog.js +4 -6
  26. package/dist/leader-thread/eventlog.js.map +1 -1
  27. package/dist/leader-thread/leader-worker-devtools.d.ts +1 -1
  28. package/dist/leader-thread/leader-worker-devtools.js +6 -2
  29. package/dist/leader-thread/leader-worker-devtools.js.map +1 -1
  30. package/dist/leader-thread/make-leader-thread-layer.d.ts +1 -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 +68 -19
  33. package/dist/leader-thread/make-leader-thread-layer.js.map +1 -1
  34. package/dist/leader-thread/make-leader-thread-layer.test.d.ts +2 -0
  35. package/dist/leader-thread/make-leader-thread-layer.test.d.ts.map +1 -0
  36. package/dist/leader-thread/make-leader-thread-layer.test.js +32 -0
  37. package/dist/leader-thread/make-leader-thread-layer.test.js.map +1 -0
  38. package/dist/leader-thread/materialize-event.d.ts +2 -2
  39. package/dist/leader-thread/materialize-event.d.ts.map +1 -1
  40. package/dist/leader-thread/materialize-event.js +23 -9
  41. package/dist/leader-thread/materialize-event.js.map +1 -1
  42. package/dist/leader-thread/recreate-db.d.ts +2 -3
  43. package/dist/leader-thread/recreate-db.d.ts.map +1 -1
  44. package/dist/leader-thread/recreate-db.js +1 -1
  45. package/dist/leader-thread/recreate-db.js.map +1 -1
  46. package/dist/leader-thread/shutdown-channel.d.ts +2 -2
  47. package/dist/leader-thread/shutdown-channel.d.ts.map +1 -1
  48. package/dist/leader-thread/shutdown-channel.js +2 -2
  49. package/dist/leader-thread/shutdown-channel.js.map +1 -1
  50. package/dist/leader-thread/types.d.ts +7 -5
  51. package/dist/leader-thread/types.d.ts.map +1 -1
  52. package/dist/leader-thread/types.js.map +1 -1
  53. package/dist/materializer-helper.d.ts +1 -1
  54. package/dist/materializer-helper.d.ts.map +1 -1
  55. package/dist/materializer-helper.js +20 -4
  56. package/dist/materializer-helper.js.map +1 -1
  57. package/dist/rematerialize-from-eventlog.d.ts +1 -1
  58. package/dist/rematerialize-from-eventlog.d.ts.map +1 -1
  59. package/dist/rematerialize-from-eventlog.js +25 -16
  60. package/dist/rematerialize-from-eventlog.js.map +1 -1
  61. package/dist/schema/EventDef.d.ts +3 -0
  62. package/dist/schema/EventDef.d.ts.map +1 -1
  63. package/dist/schema/EventDef.js.map +1 -1
  64. package/dist/schema/LiveStoreEvent.d.ts +1 -1
  65. package/dist/schema/LiveStoreEvent.d.ts.map +1 -1
  66. package/dist/schema/LiveStoreEvent.js +1 -2
  67. package/dist/schema/LiveStoreEvent.js.map +1 -1
  68. package/dist/schema/mod.d.ts +2 -0
  69. package/dist/schema/mod.d.ts.map +1 -1
  70. package/dist/schema/mod.js +1 -0
  71. package/dist/schema/mod.js.map +1 -1
  72. package/dist/schema/schema.d.ts +15 -0
  73. package/dist/schema/schema.d.ts.map +1 -1
  74. package/dist/schema/schema.js +26 -1
  75. package/dist/schema/schema.js.map +1 -1
  76. package/dist/schema/state/sqlite/client-document-def.d.ts +35 -5
  77. package/dist/schema/state/sqlite/client-document-def.d.ts.map +1 -1
  78. package/dist/schema/state/sqlite/client-document-def.js +95 -4
  79. package/dist/schema/state/sqlite/client-document-def.js.map +1 -1
  80. package/dist/schema/state/sqlite/client-document-def.test.js +16 -0
  81. package/dist/schema/state/sqlite/client-document-def.test.js.map +1 -1
  82. package/dist/schema/state/sqlite/column-annotations.d.ts.map +1 -1
  83. package/dist/schema/state/sqlite/column-annotations.js +14 -6
  84. package/dist/schema/state/sqlite/column-annotations.js.map +1 -1
  85. package/dist/schema/state/sqlite/column-def.d.ts +19 -0
  86. package/dist/schema/state/sqlite/column-def.d.ts.map +1 -0
  87. package/dist/schema/state/sqlite/column-def.js +179 -0
  88. package/dist/schema/state/sqlite/column-def.js.map +1 -0
  89. package/dist/schema/state/sqlite/column-def.test.d.ts +2 -0
  90. package/dist/schema/state/sqlite/column-def.test.d.ts.map +1 -0
  91. package/dist/schema/state/sqlite/column-def.test.js +572 -0
  92. package/dist/schema/state/sqlite/column-def.test.js.map +1 -0
  93. package/dist/schema/state/sqlite/db-schema/ast/sqlite.d.ts +2 -1
  94. package/dist/schema/state/sqlite/db-schema/ast/sqlite.d.ts.map +1 -1
  95. package/dist/schema/state/sqlite/db-schema/ast/sqlite.js +23 -6
  96. package/dist/schema/state/sqlite/db-schema/ast/sqlite.js.map +1 -1
  97. package/dist/schema/state/sqlite/db-schema/dsl/mod.d.ts.map +1 -1
  98. package/dist/schema/state/sqlite/db-schema/dsl/mod.js +2 -1
  99. package/dist/schema/state/sqlite/db-schema/dsl/mod.js.map +1 -1
  100. package/dist/schema/state/sqlite/mod.d.ts +1 -1
  101. package/dist/schema/state/sqlite/mod.d.ts.map +1 -1
  102. package/dist/schema/state/sqlite/mod.js +1 -1
  103. package/dist/schema/state/sqlite/mod.js.map +1 -1
  104. package/dist/schema/state/sqlite/query-builder/api.d.ts +5 -2
  105. package/dist/schema/state/sqlite/query-builder/api.d.ts.map +1 -1
  106. package/dist/schema/state/sqlite/query-builder/impl.d.ts.map +1 -1
  107. package/dist/schema/state/sqlite/query-builder/impl.js +6 -2
  108. package/dist/schema/state/sqlite/query-builder/impl.js.map +1 -1
  109. package/dist/schema/state/sqlite/query-builder/impl.test.js +137 -2
  110. package/dist/schema/state/sqlite/query-builder/impl.test.js.map +1 -1
  111. package/dist/schema/state/sqlite/system-tables.d.ts +42 -6
  112. package/dist/schema/state/sqlite/system-tables.d.ts.map +1 -1
  113. package/dist/schema/state/sqlite/system-tables.js +2 -0
  114. package/dist/schema/state/sqlite/system-tables.js.map +1 -1
  115. package/dist/schema/state/sqlite/table-def.d.ts +6 -8
  116. package/dist/schema/state/sqlite/table-def.d.ts.map +1 -1
  117. package/dist/schema/state/sqlite/table-def.js +4 -211
  118. package/dist/schema/state/sqlite/table-def.js.map +1 -1
  119. package/dist/schema/state/sqlite/table-def.test.js +59 -453
  120. package/dist/schema/state/sqlite/table-def.test.js.map +1 -1
  121. package/dist/schema/unknown-events.d.ts +47 -0
  122. package/dist/schema/unknown-events.d.ts.map +1 -0
  123. package/dist/schema/unknown-events.js +69 -0
  124. package/dist/schema/unknown-events.js.map +1 -0
  125. package/dist/sql-queries/sql-query-builder.d.ts.map +1 -1
  126. package/dist/sql-queries/sql-query-builder.js +2 -1
  127. package/dist/sql-queries/sql-query-builder.js.map +1 -1
  128. package/dist/sync/ClientSessionSyncProcessor.d.ts +9 -11
  129. package/dist/sync/ClientSessionSyncProcessor.d.ts.map +1 -1
  130. package/dist/sync/ClientSessionSyncProcessor.js +35 -33
  131. package/dist/sync/ClientSessionSyncProcessor.js.map +1 -1
  132. package/dist/sync/errors.d.ts +61 -0
  133. package/dist/sync/errors.d.ts.map +1 -0
  134. package/dist/sync/errors.js +36 -0
  135. package/dist/sync/errors.js.map +1 -0
  136. package/dist/sync/index.d.ts +3 -0
  137. package/dist/sync/index.d.ts.map +1 -1
  138. package/dist/sync/index.js +3 -0
  139. package/dist/sync/index.js.map +1 -1
  140. package/dist/sync/mock-sync-backend.d.ts +23 -0
  141. package/dist/sync/mock-sync-backend.d.ts.map +1 -0
  142. package/dist/sync/mock-sync-backend.js +114 -0
  143. package/dist/sync/mock-sync-backend.js.map +1 -0
  144. package/dist/sync/next/compact-events.d.ts.map +1 -1
  145. package/dist/sync/next/compact-events.js +4 -5
  146. package/dist/sync/next/compact-events.js.map +1 -1
  147. package/dist/sync/next/facts.d.ts.map +1 -1
  148. package/dist/sync/next/facts.js +1 -2
  149. package/dist/sync/next/facts.js.map +1 -1
  150. package/dist/sync/next/history-dag-common.d.ts +50 -11
  151. package/dist/sync/next/history-dag-common.d.ts.map +1 -1
  152. package/dist/sync/next/history-dag-common.js +193 -4
  153. package/dist/sync/next/history-dag-common.js.map +1 -1
  154. package/dist/sync/next/history-dag.d.ts.map +1 -1
  155. package/dist/sync/next/history-dag.js +3 -1
  156. package/dist/sync/next/history-dag.js.map +1 -1
  157. package/dist/sync/sync-backend-kv.d.ts +7 -0
  158. package/dist/sync/sync-backend-kv.d.ts.map +1 -0
  159. package/dist/sync/sync-backend-kv.js +18 -0
  160. package/dist/sync/sync-backend-kv.js.map +1 -0
  161. package/dist/sync/sync-backend.d.ts +105 -0
  162. package/dist/sync/sync-backend.d.ts.map +1 -0
  163. package/dist/sync/sync-backend.js +61 -0
  164. package/dist/sync/sync-backend.js.map +1 -0
  165. package/dist/sync/sync.d.ts +6 -84
  166. package/dist/sync/sync.d.ts.map +1 -1
  167. package/dist/sync/sync.js +2 -27
  168. package/dist/sync/sync.js.map +1 -1
  169. package/dist/sync/transport-chunking.d.ts +36 -0
  170. package/dist/sync/transport-chunking.d.ts.map +1 -0
  171. package/dist/sync/transport-chunking.js +56 -0
  172. package/dist/sync/transport-chunking.js.map +1 -0
  173. package/dist/sync/validate-push-payload.d.ts +1 -1
  174. package/dist/sync/validate-push-payload.d.ts.map +1 -1
  175. package/dist/sync/validate-push-payload.js +6 -6
  176. package/dist/sync/validate-push-payload.js.map +1 -1
  177. package/dist/testing/event-factory.d.ts +68 -0
  178. package/dist/testing/event-factory.d.ts.map +1 -0
  179. package/dist/testing/event-factory.js +80 -0
  180. package/dist/testing/event-factory.js.map +1 -0
  181. package/dist/testing/mod.d.ts +2 -0
  182. package/dist/testing/mod.d.ts.map +1 -0
  183. package/dist/testing/mod.js +2 -0
  184. package/dist/testing/mod.js.map +1 -0
  185. package/dist/version.d.ts +2 -2
  186. package/dist/version.d.ts.map +1 -1
  187. package/dist/version.js +2 -2
  188. package/dist/version.js.map +1 -1
  189. package/package.json +7 -8
  190. package/src/ClientSessionLeaderThreadProxy.ts +7 -2
  191. package/src/adapter-types.ts +13 -3
  192. package/src/devtools/devtools-messages-common.ts +1 -8
  193. package/src/errors.ts +33 -4
  194. package/src/leader-thread/LeaderSyncProcessor.ts +179 -57
  195. package/src/leader-thread/eventlog.ts +10 -6
  196. package/src/leader-thread/leader-worker-devtools.ts +6 -2
  197. package/src/leader-thread/make-leader-thread-layer.test.ts +44 -0
  198. package/src/leader-thread/make-leader-thread-layer.ts +137 -26
  199. package/src/leader-thread/materialize-event.ts +34 -9
  200. package/src/leader-thread/recreate-db.ts +11 -3
  201. package/src/leader-thread/shutdown-channel.ts +16 -2
  202. package/src/leader-thread/types.ts +7 -5
  203. package/src/materializer-helper.ts +22 -5
  204. package/src/rematerialize-from-eventlog.ts +33 -23
  205. package/src/schema/EventDef.ts +3 -0
  206. package/src/schema/LiveStoreEvent.ts +1 -2
  207. package/src/schema/mod.ts +2 -0
  208. package/src/schema/schema.ts +37 -1
  209. package/src/schema/state/sqlite/client-document-def.test.ts +17 -0
  210. package/src/schema/state/sqlite/client-document-def.ts +117 -5
  211. package/src/schema/state/sqlite/column-annotations.ts +16 -6
  212. package/src/schema/state/sqlite/column-def.test.ts +722 -0
  213. package/src/schema/state/sqlite/column-def.ts +215 -0
  214. package/src/schema/state/sqlite/db-schema/ast/sqlite.ts +26 -6
  215. package/src/schema/state/sqlite/db-schema/dsl/mod.ts +2 -1
  216. package/src/schema/state/sqlite/mod.ts +1 -0
  217. package/src/schema/state/sqlite/query-builder/api.ts +7 -2
  218. package/src/schema/state/sqlite/query-builder/impl.test.ts +187 -6
  219. package/src/schema/state/sqlite/query-builder/impl.ts +8 -2
  220. package/src/schema/state/sqlite/system-tables.ts +2 -0
  221. package/src/schema/state/sqlite/table-def.test.ts +74 -569
  222. package/src/schema/state/sqlite/table-def.ts +13 -262
  223. package/src/schema/unknown-events.ts +131 -0
  224. package/src/sql-queries/sql-query-builder.ts +2 -1
  225. package/src/sync/ClientSessionSyncProcessor.ts +55 -49
  226. package/src/sync/errors.ts +38 -0
  227. package/src/sync/index.ts +3 -0
  228. package/src/sync/mock-sync-backend.ts +184 -0
  229. package/src/sync/next/compact-events.ts +4 -5
  230. package/src/sync/next/facts.ts +1 -3
  231. package/src/sync/next/history-dag-common.ts +272 -21
  232. package/src/sync/next/history-dag.ts +3 -1
  233. package/src/sync/sync-backend-kv.ts +22 -0
  234. package/src/sync/sync-backend.ts +185 -0
  235. package/src/sync/sync.ts +6 -89
  236. package/src/sync/transport-chunking.ts +90 -0
  237. package/src/sync/validate-push-payload.ts +6 -7
  238. package/src/testing/event-factory.ts +133 -0
  239. package/src/testing/mod.ts +1 -0
  240. package/src/version.ts +2 -2
  241. package/dist/schema-management/migrations.test.d.ts +0 -2
  242. package/dist/schema-management/migrations.test.d.ts.map +0 -1
  243. package/dist/schema-management/migrations.test.js +0 -52
  244. package/dist/schema-management/migrations.test.js.map +0 -1
  245. package/dist/sync/next/graphology.d.ts +0 -8
  246. package/dist/sync/next/graphology.d.ts.map +0 -1
  247. package/dist/sync/next/graphology.js +0 -30
  248. package/dist/sync/next/graphology.js.map +0 -1
  249. package/dist/sync/next/graphology_.d.ts +0 -3
  250. package/dist/sync/next/graphology_.d.ts.map +0 -1
  251. package/dist/sync/next/graphology_.js +0 -3
  252. package/dist/sync/next/graphology_.js.map +0 -1
  253. package/src/sync/next/ambient.d.ts +0 -3
  254. package/src/sync/next/graphology.ts +0 -41
  255. package/src/sync/next/graphology_.ts +0 -2
@@ -7,4 +7,6 @@ export * as State from './state/mod.ts';
7
7
  export { SqliteAst, SqliteDsl } from './state/sqlite/db-schema/mod.ts';
8
8
  export * from './state/sqlite/schema-helpers.ts';
9
9
  export * as SystemTables from './state/sqlite/system-tables.ts';
10
+ export type { UnknownEvents } from './unknown-events.ts';
11
+ export { normalizeUnknownEventHandling, resolveEventDef } from './unknown-events.ts';
10
12
  //# sourceMappingURL=mod.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../src/schema/mod.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,OAAO,KAAK,mBAAmB,MAAM,0BAA0B,CAAA;AAC/D,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA;AACrD,cAAc,aAAa,CAAA;AAC3B,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAA;AACvC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAA;AACtE,cAAc,kCAAkC,CAAA;AAChD,OAAO,KAAK,YAAY,MAAM,iCAAiC,CAAA"}
1
+ {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../src/schema/mod.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,OAAO,KAAK,mBAAmB,MAAM,0BAA0B,CAAA;AAC/D,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA;AACrD,cAAc,aAAa,CAAA;AAC3B,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAA;AACvC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAA;AACtE,cAAc,kCAAkC,CAAA;AAChD,OAAO,KAAK,YAAY,MAAM,iCAAiC,CAAA;AAC/D,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACxD,OAAO,EAAE,6BAA6B,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA"}
@@ -7,4 +7,5 @@ export * as State from "./state/mod.js";
7
7
  export { SqliteAst, SqliteDsl } from "./state/sqlite/db-schema/mod.js";
8
8
  export * from "./state/sqlite/schema-helpers.js";
9
9
  export * as SystemTables from "./state/sqlite/system-tables.js";
10
+ export { normalizeUnknownEventHandling, resolveEventDef } from "./unknown-events.js";
10
11
  //# sourceMappingURL=mod.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mod.js","sourceRoot":"","sources":["../../src/schema/mod.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,OAAO,KAAK,mBAAmB,MAAM,0BAA0B,CAAA;AAC/D,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA;AACrD,cAAc,aAAa,CAAA;AAC3B,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAA;AACvC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAA;AACtE,cAAc,kCAAkC,CAAA;AAChD,OAAO,KAAK,YAAY,MAAM,iCAAiC,CAAA"}
1
+ {"version":3,"file":"mod.js","sourceRoot":"","sources":["../../src/schema/mod.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,OAAO,KAAK,mBAAmB,MAAM,0BAA0B,CAAA;AAC/D,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA;AACrD,cAAc,aAAa,CAAA;AAC3B,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAA;AACvC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAA;AACtE,cAAc,kCAAkC,CAAA;AAChD,OAAO,KAAK,YAAY,MAAM,iCAAiC,CAAA;AAE/D,OAAO,EAAE,6BAA6B,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA"}
@@ -2,8 +2,10 @@ import type { MigrationOptions } from '../adapter-types.ts';
2
2
  import type { EventDef, EventDefRecord, Materializer } from './EventDef.ts';
3
3
  import type { SqliteDsl } from './state/sqlite/db-schema/mod.ts';
4
4
  import type { TableDef } from './state/sqlite/table-def.ts';
5
+ import type { UnknownEvents } from './unknown-events.ts';
5
6
  export declare const LiveStoreSchemaSymbol: unique symbol;
6
7
  export type LiveStoreSchemaSymbol = typeof LiveStoreSchemaSymbol;
8
+ export declare const UNKNOWN_EVENT_SCHEMA_HASH = -1;
7
9
  export interface LiveStoreSchema<TDbSchema extends SqliteDsl.DbSchema = SqliteDsl.DbSchema, TEventsDefRecord extends EventDefRecord = EventDefRecord> {
8
10
  readonly LiveStoreSchemaSymbol: LiveStoreSchemaSymbol;
9
11
  /** Only used on type-level */
@@ -12,6 +14,7 @@ export interface LiveStoreSchema<TDbSchema extends SqliteDsl.DbSchema = SqliteDs
12
14
  readonly _EventDefMapType: TEventsDefRecord;
13
15
  readonly state: InternalState;
14
16
  readonly eventsDefsMap: Map<string, EventDef.AnyWithoutFn>;
17
+ readonly unknownEventHandling: UnknownEvents.HandlingConfig;
15
18
  readonly devtools: {
16
19
  /** @default 'default' */
17
20
  readonly alias: string;
@@ -20,6 +23,14 @@ export interface LiveStoreSchema<TDbSchema extends SqliteDsl.DbSchema = SqliteDs
20
23
  export declare namespace LiveStoreSchema {
21
24
  type Any = LiveStoreSchema<any, any>;
22
25
  }
26
+ /**
27
+ * Runtime type guard for LiveStoreSchema.
28
+ *
29
+ * The guard intentionally performs lightweight structural checks that are
30
+ * stable across implementations. It verifies the identifying symbol marker
31
+ * and the presence of core maps/state used at runtime.
32
+ */
33
+ export declare const isLiveStoreSchema: (value: unknown) => value is LiveStoreSchema<any, any>;
23
34
  export interface InternalState {
24
35
  readonly sqlite: {
25
36
  readonly tables: Map<string, TableDef.Any>;
@@ -41,6 +52,10 @@ export interface InputSchema {
41
52
  */
42
53
  readonly alias?: string;
43
54
  };
55
+ /**
56
+ * Configures how unknown events should be handled. Defaults to `{ strategy: 'warn' }`.
57
+ */
58
+ readonly unknownEventHandling?: UnknownEvents.HandlingConfig;
44
59
  }
45
60
  export declare const makeSchema: <TInputSchema extends InputSchema>(
46
61
  /** Note when using the object-notation for tables/events, the object keys are ignored and not used as table/mutation names */
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/schema/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/schema/schema.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,30 @@
1
1
  import { isReadonlyArray, shouldNeverHappen } from '@livestore/utils';
2
2
  import { tableIsClientDocumentTable } from "./state/sqlite/client-document-def.js";
3
3
  import { stateSystemTables } from "./state/sqlite/system-tables.js";
4
+ import { normalizeUnknownEventHandling } from "./unknown-events.js";
4
5
  export const LiveStoreSchemaSymbol = Symbol.for('livestore.LiveStoreSchema');
6
+ export const UNKNOWN_EVENT_SCHEMA_HASH = -1;
7
+ /**
8
+ * Runtime type guard for LiveStoreSchema.
9
+ *
10
+ * The guard intentionally performs lightweight structural checks that are
11
+ * stable across implementations. It verifies the identifying symbol marker
12
+ * and the presence of core maps/state used at runtime.
13
+ */
14
+ export const isLiveStoreSchema = (value) => {
15
+ if (typeof value !== 'object' || value === null)
16
+ return false;
17
+ const v = value;
18
+ // Identity marker must match exactly
19
+ if (v.LiveStoreSchemaSymbol !== LiveStoreSchemaSymbol)
20
+ return false;
21
+ // Core structures used at runtime
22
+ const hasEventsMap = v.eventsDefsMap instanceof Map;
23
+ const hasStateSqliteTables = v.state?.sqlite?.tables instanceof Map;
24
+ const hasStateMaterializers = v.state?.materializers instanceof Map;
25
+ const hasDevtoolsAlias = typeof v.devtools?.alias === 'string';
26
+ return hasEventsMap && hasStateSqliteTables && hasStateMaterializers && hasDevtoolsAlias;
27
+ };
5
28
  export const makeSchema = (
6
29
  /** Note when using the object-notation for tables/events, the object keys are ignored and not used as table/mutation names */
7
30
  inputSchema) => {
@@ -29,12 +52,14 @@ inputSchema) => {
29
52
  eventsDefsMap.set(tableDef.set.name, tableDef.set);
30
53
  }
31
54
  }
55
+ const unknownEventHandling = normalizeUnknownEventHandling(inputSchema.unknownEventHandling);
32
56
  return {
33
57
  LiveStoreSchemaSymbol,
34
58
  _DbSchemaType: Symbol.for('livestore.DbSchemaType'),
35
59
  _EventDefMapType: Symbol.for('livestore.EventDefMapType'),
36
60
  state,
37
61
  eventsDefsMap,
62
+ unknownEventHandling,
38
63
  devtools: {
39
64
  alias: inputSchema.devtools?.alias ?? 'default',
40
65
  },
@@ -43,7 +68,7 @@ inputSchema) => {
43
68
  export const getEventDef = (schema, eventName) => {
44
69
  const eventDef = schema.eventsDefsMap.get(eventName);
45
70
  if (eventDef === undefined) {
46
- return shouldNeverHappen(`No mutation definition found for \`${eventName}\`.`);
71
+ return shouldNeverHappen(`No event definition found for \`${eventName}\`.`);
47
72
  }
48
73
  const materializer = schema.state.materializers.get(eventName);
49
74
  if (materializer === undefined) {
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/schema/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAIrE,OAAO,EAAE,0BAA0B,EAAE,MAAM,uCAAuC,CAAA;AAElF,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AAGnE,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAM,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAA;AAkD5E,MAAM,CAAC,MAAM,UAAU,GAAG;AACxB,8HAA8H;AAC9H,WAAyB,EACmB,EAAE;IAC9C,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAA;IAC/B,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAA;IAE9C,KAAK,MAAM,QAAQ,IAAI,iBAAiB,EAAE,CAAC;QACzC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;IAC/C,CAAC;IAED,MAAM,aAAa,GAAG,IAAI,GAAG,EAAiC,CAAA;IAE9D,IAAI,eAAe,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;QACxC,KAAK,MAAM,QAAQ,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;YAC1C,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;QAC5C,CAAC;IACH,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,CAAC;YAC/D,IAAI,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrC,iBAAiB,CAAC,yBAAyB,QAAQ,CAAC,IAAI,uCAAuC,CAAC,CAAA;YAClG,CAAC;YACD,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;QAC5C,CAAC;IACH,CAAC;IAED,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;QACvC,IAAI,0BAA0B,CAAC,QAAQ,CAAC,IAAI,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC;YAC3F,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAA;QACpD,CAAC;IACH,CAAC;IAED,OAAO;QACL,qBAAqB;QACrB,aAAa,EAAE,MAAM,CAAC,GAAG,CAAC,wBAAwB,CAAQ;QAC1D,gBAAgB,EAAE,MAAM,CAAC,GAAG,CAAC,2BAA2B,CAAQ;QAChE,KAAK;QACL,aAAa;QACb,QAAQ,EAAE;YACR,KAAK,EAAE,WAAW,CAAC,QAAQ,EAAE,KAAK,IAAI,SAAS;SAChD;KACwB,CAAA;AAC7B,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,MAAe,EACf,SAAiB,EAIjB,EAAE;IACF,MAAM,QAAQ,GAAG,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;IACpD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,iBAAiB,CAAC,sCAAsC,SAAS,KAAK,CAAC,CAAA;IAChF,CAAC;IACD,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;IAC9D,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,iBAAiB,CAAC,+BAA+B,SAAS,KAAK,CAAC,CAAA;IACzE,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAA;AACnC,CAAC,CAAA"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/schema/schema.ts"],"names":[],"mappings":"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"}
@@ -34,6 +34,34 @@ export declare const clientDocument: <TName extends string, TType, TEncoded, con
34
34
  schema: Schema.Schema<TType, TEncoded>;
35
35
  } & TOptions) => ClientDocumentTableDef<TName, TType, TEncoded, Types.Simplify<ClientDocumentTableOptions.WithDefaults<TOptions>>>;
36
36
  export declare const mergeDefaultValues: <T>(defaultValues: T, explicitDefaultValues: T) => T;
37
+ /**
38
+ * Creates an optimistic schema that accepts historical event formats
39
+ * and transforms them to the current schema, preserving data and intent.
40
+ *
41
+ * Decision Matrix for Schema Changes:
42
+ *
43
+ * | Change Type | Partial Set | Full Set | Strategy |
44
+ * |---------------------|---------------------|----------------------------------|-------------------------|
45
+ * | **Compatible Changes** |
46
+ * | Add optional field | Preserve existing | Preserve existing, new field undefined | Direct decode or merge |
47
+ * | Add required field | Preserve existing | Preserve existing, new field from default | Merge with defaults |
48
+ * | **Incompatible Changes** |
49
+ * | Remove field | Drop removed field | Drop removed field, preserve others | Filter & decode |
50
+ * | Type change | Use default for field | Use default for changed field | Selective merge |
51
+ * | Rename field | Use default | Use default (can't detect rename) | Fall back to default |
52
+ * | **Edge Cases** |
53
+ * | Empty event | Return {} | Return full default | Fallback handling |
54
+ * | Invalid structure | Return {} | Return full default | Fallback handling |
55
+ */
56
+ export declare const createOptimisticEventSchema: ({ valueSchema, defaultValue, partialSet, }: {
57
+ valueSchema: Schema.Schema<any, any>;
58
+ defaultValue: any;
59
+ partialSet: boolean;
60
+ }) => Schema.transform<typeof Schema.Unknown, Schema.Schema<any, any, never> | Schema.SchemaClass<{
61
+ [x: string]: any;
62
+ }, {
63
+ [x: string]: any;
64
+ }, never>>;
37
65
  export declare const deriveEventAndMaterializer: ({ name, valueSchema, defaultValue, partialSet, }: {
38
66
  name: string;
39
67
  valueSchema: Schema.Schema<any, any>;
@@ -44,14 +72,14 @@ export declare const deriveEventAndMaterializer: ({ name, valueSchema, defaultVa
44
72
  readonly value: any;
45
73
  readonly id: string | typeof SessionIdSymbol;
46
74
  }, {
47
- readonly value: any;
75
+ readonly value: unknown;
48
76
  readonly id: string | typeof SessionIdSymbol;
49
77
  }, true>;
50
78
  materializer: Materializer<EventDef<`${string}Set`, {
51
79
  readonly value: any;
52
80
  readonly id: string | typeof SessionIdSymbol;
53
81
  }, {
54
- readonly value: any;
82
+ readonly value: unknown;
55
83
  readonly id: string | typeof SessionIdSymbol;
56
84
  }, true>>;
57
85
  };
@@ -68,7 +96,7 @@ export type ClientDocumentTableOptions<TType> = {
68
96
  };
69
97
  };
70
98
  export declare namespace ClientDocumentTableOptions {
71
- type Input<TType> = {
99
+ export type Input<TType> = {
72
100
  /**
73
101
  * Whether to allow for partial set operations. Only applies if the schema is a struct.
74
102
  *
@@ -80,13 +108,15 @@ export declare namespace ClientDocumentTableOptions {
80
108
  value: TType;
81
109
  };
82
110
  };
83
- type WithDefaults<TInput extends Input<any>> = {
84
- partialSet: TInput['partialSet'] extends false ? false : true;
111
+ type IsStructLike<T> = T extends {} ? true : false;
112
+ export type WithDefaults<TInput extends Input<any>> = {
113
+ partialSet: TInput['partialSet'] extends false ? false : IsStructLike<TInput['default']['value']> extends true ? true : false;
85
114
  default: {
86
115
  id: TInput['default']['id'] extends string | SessionIdSymbol ? TInput['default']['id'] : undefined;
87
116
  value: TInput['default']['value'];
88
117
  };
89
118
  };
119
+ export {};
90
120
  }
91
121
  export type ClientDocumentTableDef<TName extends string, TType, TEncoded, TOptions extends ClientDocumentTableOptions<TType>> = TableDef<ClientDocumentTableDef.SqliteDef<TName, TType>, {
92
122
  isClientDocumentTable: true;
@@ -1 +1 @@
1
- {"version":3,"file":"client-document-def.d.ts","sourceRoot":"","sources":["../../../../src/schema/state/sqlite/client-document-def.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client-document-def.d.ts","sourceRoot":"","sources":["../../../../src/schema/state/sqlite/client-document-def.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { shouldNeverHappen } from '@livestore/utils';
2
- import { Schema, SchemaAST } from '@livestore/utils/effect';
2
+ import { Schema } from '@livestore/utils/effect';
3
3
  import { SessionIdSymbol } from "../../../adapter-types.js";
4
4
  import { sql } from "../../../util.js";
5
5
  import { defineEvent, defineMaterializer } from "../../EventDef.js";
@@ -38,9 +38,15 @@ export const clientDocument = ({ name, schema: valueSchema, ...inputOptions }) =
38
38
  value: inputOptions.default.value,
39
39
  },
40
40
  };
41
+ // Column needs optimistic schema to read historical data formats
42
+ const optimisticColumnSchema = createOptimisticEventSchema({
43
+ valueSchema,
44
+ defaultValue: options.default.value,
45
+ partialSet: false, // Column always stores full documents
46
+ });
41
47
  const columns = {
42
48
  id: SqliteDsl.text({ primaryKey: true }),
43
- value: SqliteDsl.json({ schema: valueSchema }),
49
+ value: SqliteDsl.json({ schema: optimisticColumnSchema }),
44
50
  };
45
51
  const tableDef = table({ name, columns });
46
52
  // @ts-expect-error TODO properly type this
@@ -97,12 +103,97 @@ export const mergeDefaultValues = (defaultValues, explicitDefaultValues) => {
97
103
  return acc;
98
104
  }, {});
99
105
  };
106
+ /**
107
+ * Creates an optimistic schema that accepts historical event formats
108
+ * and transforms them to the current schema, preserving data and intent.
109
+ *
110
+ * Decision Matrix for Schema Changes:
111
+ *
112
+ * | Change Type | Partial Set | Full Set | Strategy |
113
+ * |---------------------|---------------------|----------------------------------|-------------------------|
114
+ * | **Compatible Changes** |
115
+ * | Add optional field | Preserve existing | Preserve existing, new field undefined | Direct decode or merge |
116
+ * | Add required field | Preserve existing | Preserve existing, new field from default | Merge with defaults |
117
+ * | **Incompatible Changes** |
118
+ * | Remove field | Drop removed field | Drop removed field, preserve others | Filter & decode |
119
+ * | Type change | Use default for field | Use default for changed field | Selective merge |
120
+ * | Rename field | Use default | Use default (can't detect rename) | Fall back to default |
121
+ * | **Edge Cases** |
122
+ * | Empty event | Return {} | Return full default | Fallback handling |
123
+ * | Invalid structure | Return {} | Return full default | Fallback handling |
124
+ */
125
+ export const createOptimisticEventSchema = ({ valueSchema, defaultValue, partialSet, }) => {
126
+ const targetSchema = partialSet ? Schema.partial(valueSchema) : valueSchema;
127
+ return Schema.transform(Schema.Unknown, // Accept any historical event structure
128
+ targetSchema, // Output current schema
129
+ {
130
+ decode: (eventValue) => {
131
+ // Try direct decode first (for current schema events)
132
+ try {
133
+ return Schema.decodeUnknownSync(targetSchema)(eventValue);
134
+ }
135
+ catch {
136
+ // Optimistic decoding for historical events
137
+ // Handle null/undefined/non-object cases
138
+ if (typeof eventValue !== 'object' || eventValue === null) {
139
+ console.warn(`Client document: Non-object event value, using ${partialSet ? 'empty partial' : 'defaults'}`);
140
+ return partialSet ? {} : defaultValue;
141
+ }
142
+ if (partialSet) {
143
+ // For partial sets: only preserve fields that exist in new schema
144
+ const partialResult = {};
145
+ let hasValidFields = false;
146
+ for (const [key, value] of Object.entries(eventValue)) {
147
+ if (key in defaultValue) {
148
+ partialResult[key] = value;
149
+ hasValidFields = true;
150
+ }
151
+ // Drop fields that don't exist in new schema
152
+ }
153
+ if (hasValidFields) {
154
+ try {
155
+ return Schema.decodeUnknownSync(targetSchema)(partialResult);
156
+ }
157
+ catch {
158
+ // Even filtered fields don't match schema
159
+ console.warn('Client document: Partial fields incompatible, returning empty partial');
160
+ return {};
161
+ }
162
+ }
163
+ return {};
164
+ }
165
+ else {
166
+ // Full set: merge old data with new defaults
167
+ const merged = { ...defaultValue };
168
+ // Override defaults with valid fields from old event
169
+ for (const [key, value] of Object.entries(eventValue)) {
170
+ if (key in defaultValue) {
171
+ merged[key] = value;
172
+ }
173
+ // Drop fields that don't exist in new schema
174
+ }
175
+ // Try to decode the merged value
176
+ try {
177
+ return Schema.decodeUnknownSync(valueSchema)(merged);
178
+ }
179
+ catch {
180
+ // Merged value still doesn't match (e.g., type changes)
181
+ // Fall back to pure defaults
182
+ console.warn('Client document: Could not preserve event data, using defaults');
183
+ return defaultValue;
184
+ }
185
+ }
186
+ }
187
+ },
188
+ encode: (value) => value, // Pass-through for encoding
189
+ });
190
+ };
100
191
  export const deriveEventAndMaterializer = ({ name, valueSchema, defaultValue, partialSet, }) => {
101
192
  const derivedSetEventDef = defineEvent({
102
193
  name: `${name}Set`,
103
194
  schema: Schema.Struct({
104
195
  id: Schema.Union(Schema.String, Schema.UniqueSymbolFromSelf(SessionIdSymbol)),
105
- value: partialSet ? Schema.partial(valueSchema) : valueSchema,
196
+ value: createOptimisticEventSchema({ valueSchema, defaultValue, partialSet }),
106
197
  }).annotations({ title: `${name}Set:Args` }),
107
198
  clientOnly: true,
108
199
  derived: true,
@@ -112,7 +203,7 @@ export const deriveEventAndMaterializer = ({ name, valueSchema, defaultValue, pa
112
203
  return shouldNeverHappen(`SessionIdSymbol needs to be replaced before materializing the set event`);
113
204
  }
114
205
  // Override the full value if it's not an object or no partial set is allowed
115
- const schemaProps = SchemaAST.getPropertySignatures(valueSchema.ast);
206
+ const schemaProps = Schema.getResolvedPropertySignatures(valueSchema);
116
207
  if (schemaProps.length === 0 || partialSet === false) {
117
208
  const valueColJsonSchema = Schema.parseJson(valueSchema);
118
209
  const encodedInsertValue = Schema.encodeSyncDebug(valueColJsonSchema)(value ?? defaultValue);
@@ -1 +1 @@
1
- {"version":3,"file":"client-document-def.js","sourceRoot":"","sources":["../../../../src/schema/state/sqlite/client-document-def.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client-document-def.js","sourceRoot":"","sources":["../../../../src/schema/state/sqlite/client-document-def.ts"],"names":[],"mappings":"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"}
@@ -43,6 +43,7 @@ describe('client document table', () => {
43
43
  currentFacts: new Map(),
44
44
  query: {}, // unused
45
45
  eventDef: Doc[ClientDocumentTableDefSymbol].derived.setEventDef,
46
+ event: {}, // unused in this test
46
47
  });
47
48
  };
48
49
  test('string value', () => {
@@ -189,6 +190,21 @@ describe('client document table', () => {
189
190
  }
190
191
  `);
191
192
  });
193
+ test('any value (Schema.Any) should fully replace', () => {
194
+ expect(forSchema(Schema.Any, { a: 1 }, 'id1')).toMatchInlineSnapshot(`
195
+ {
196
+ "bindValues": [
197
+ "id1",
198
+ "{"a":1}",
199
+ "{"a":1}",
200
+ ],
201
+ "sql": "INSERT INTO 'test' (id, value) VALUES (?, ?) ON CONFLICT (id) DO UPDATE SET value = ?",
202
+ "writeTables": Set {
203
+ "test",
204
+ },
205
+ }
206
+ `);
207
+ });
192
208
  });
193
209
  });
194
210
  const patchId = (muationEvent) => {
@@ -1 +1 @@
1
- {"version":3,"file":"client-document-def.test.js","sourceRoot":"","sources":["../../../../src/schema/state/sqlite/client-document-def.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client-document-def.test.js","sourceRoot":"","sources":["../../../../src/schema/state/sqlite/client-document-def.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"column-annotations.d.ts","sourceRoot":"","sources":["../../../../src/schema/state/sqlite/column-annotations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAErD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAEnD,eAAO,MAAM,YAAY,eAA+D,CAAA;AAExF,eAAO,MAAM,UAAU,eAA+D,CAAA;AAEtF,eAAO,MAAM,OAAO,eAA2D,CAAA;AAE/E,eAAO,MAAM,aAAa,eAAkE,CAAA;AAE5F,eAAO,MAAM,MAAM,eAA0D,CAAA;AAkB7E;;GAEG;AACH,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,KACnB,CAAC,CAAA;AAEnD;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE;IAC3B,CAAC,IAAI,EAAE,SAAS,CAAC,eAAe,GAAG,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,CAAA;IAEhF,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,eAAe,GAAG,CAAC,CAAA;CAI5E,CAAA;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,KACrB,CAAC,CAAA;AAEpD;;GAEG;AACH,eAAO,MAAM,UAAU,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,KAA+C,CAAC,CAAA;AAEjH;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE;IAExB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,CAAC,CAAA;IAC3D,CAAC,KAAK,EAAE,OAAO,GAAG,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,CAAA;CACqD,CAAA"}
1
+ {"version":3,"file":"column-annotations.d.ts","sourceRoot":"","sources":["../../../../src/schema/state/sqlite/column-annotations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAErD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAEnD,eAAO,MAAM,YAAY,eAA+D,CAAA;AAExF,eAAO,MAAM,UAAU,eAA+D,CAAA;AAEtF,eAAO,MAAM,OAAO,eAA2D,CAAA;AAE/E,eAAO,MAAM,aAAa,eAAkE,CAAA;AAE5F,eAAO,MAAM,MAAM,eAA0D,CAAA;AAkB7E;;GAEG;AACH,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,MACjB,CAAA;AAEpD;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE;IAC3B,CAAC,IAAI,EAAE,SAAS,CAAC,eAAe,GAAG,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,CAAA;IAEhF,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,eAAe,GAAG,CAAC,CAAA;CAI5E,CAAA;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,MACnB,CAAA;AAErD;;GAEG;AACH,eAAO,MAAM,UAAU,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,MAAiD,CAAA;AAElH;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE;IAExB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,CAAC,CAAA;IAC3D,CAAC,KAAK,EAAE,OAAO,GAAG,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,CAAA;CACsD,CAAA"}
@@ -1,4 +1,4 @@
1
- import { dual } from '@livestore/utils/effect';
1
+ import { dual, Option, SchemaAST } from '@livestore/utils/effect';
2
2
  export const PrimaryKeyId = Symbol.for('livestore/state/sqlite/annotations/primary-key');
3
3
  export const ColumnType = Symbol.for('livestore/state/sqlite/annotations/column-type');
4
4
  export const Default = Symbol.for('livestore/state/sqlite/annotations/default');
@@ -21,30 +21,38 @@ Here are the knobs you can turn per-column when you CREATE TABLE (or ALTER TABLE
21
21
  /**
22
22
  * Adds a primary key annotation to a schema.
23
23
  */
24
- export const withPrimaryKey = (schema) => schema.annotations({ [PrimaryKeyId]: true });
24
+ export const withPrimaryKey = (schema) => applyAnnotations(schema, { [PrimaryKeyId]: true });
25
25
  /**
26
26
  * Adds a column type annotation to a schema.
27
27
  */
28
28
  export const withColumnType = dual(2, (schema, type) => {
29
29
  validateSchemaColumnTypeCompatibility(schema, type);
30
- return schema.annotations({ [ColumnType]: type });
30
+ return applyAnnotations(schema, { [ColumnType]: type });
31
31
  });
32
32
  /**
33
33
  * Adds an auto-increment annotation to a schema.
34
34
  */
35
- export const withAutoIncrement = (schema) => schema.annotations({ [AutoIncrement]: true });
35
+ export const withAutoIncrement = (schema) => applyAnnotations(schema, { [AutoIncrement]: true });
36
36
  /**
37
37
  * Adds a unique constraint annotation to a schema.
38
38
  */
39
- export const withUnique = (schema) => schema.annotations({ [Unique]: true });
39
+ export const withUnique = (schema) => applyAnnotations(schema, { [Unique]: true });
40
40
  /**
41
41
  * Adds a default value annotation to a schema.
42
42
  */
43
- export const withDefault = dual(2, (schema, value) => schema.annotations({ [Default]: value }));
43
+ export const withDefault = dual(2, (schema, value) => applyAnnotations(schema, { [Default]: value }));
44
44
  /**
45
45
  * Validates that a schema is compatible with the specified SQLite column type
46
46
  */
47
47
  const validateSchemaColumnTypeCompatibility = (_schema, _columnType) => {
48
48
  // TODO actually implement this
49
49
  };
50
+ const applyAnnotations = (schema, overrides) => {
51
+ const identifier = SchemaAST.getIdentifierAnnotation(schema.ast);
52
+ const shouldPreserveIdentifier = Option.isSome(identifier) && !(SchemaAST.IdentifierAnnotationId in overrides);
53
+ const annotations = shouldPreserveIdentifier
54
+ ? { ...overrides, [SchemaAST.IdentifierAnnotationId]: identifier.value }
55
+ : overrides;
56
+ return schema.annotations(annotations);
57
+ };
50
58
  //# sourceMappingURL=column-annotations.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"column-annotations.js","sourceRoot":"","sources":["../../../../src/schema/state/sqlite/column-annotations.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAA;AAG9C,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAA;AAExF,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAA;AAEtF,MAAM,CAAC,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAA;AAE/E,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAA;AAE5F,MAAM,CAAC,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAA;AAE7E,8EAA8E;AAE9E;;;;;;;;;;;;EAYE;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAA8B,MAAS,EAAE,EAAE,CACvE,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAM,CAAA;AAEnD;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAIvB,IAAI,CAAC,CAAC,EAAE,CAA8B,MAAS,EAAE,IAA+B,EAAE,EAAE;IACtF,qCAAqC,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IACnD,OAAO,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,CAAM,CAAA;AACxD,CAAC,CAAC,CAAA;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAA8B,MAAS,EAAE,EAAE,CAC1E,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,CAAM,CAAA;AAEpD;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAA8B,MAAS,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAM,CAAA;AAEjH;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAIpB,IAAI,CAAC,CAAC,EAAE,CAA8B,MAAS,EAAE,KAAc,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAM,CAAC,CAAA;AAEtH;;GAEG;AACH,MAAM,qCAAqC,GAAG,CAC5C,OAA0B,EAC1B,WAAsC,EAChC,EAAE;IACR,+BAA+B;AACjC,CAAC,CAAA"}
1
+ {"version":3,"file":"column-annotations.js","sourceRoot":"","sources":["../../../../src/schema/state/sqlite/column-annotations.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAGjE,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAA;AAExF,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAA;AAEtF,MAAM,CAAC,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAA;AAE/E,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAA;AAE5F,MAAM,CAAC,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAA;AAE7E,8EAA8E;AAE9E;;;;;;;;;;;;EAYE;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAA8B,MAAS,EAAE,EAAE,CACvE,gBAAgB,CAAC,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;AAEpD;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAIvB,IAAI,CAAC,CAAC,EAAE,CAA8B,MAAS,EAAE,IAA+B,EAAE,EAAE;IACtF,qCAAqC,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IACnD,OAAO,gBAAgB,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;AACzD,CAAC,CAAC,CAAA;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAA8B,MAAS,EAAE,EAAE,CAC1E,gBAAgB,CAAC,MAAM,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;AAErD;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAA8B,MAAS,EAAE,EAAE,CAAC,gBAAgB,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;AAElH;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAIpB,IAAI,CAAC,CAAC,EAAE,CAA8B,MAAS,EAAE,KAAc,EAAE,EAAE,CAAC,gBAAgB,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;AAEvH;;GAEG;AACH,MAAM,qCAAqC,GAAG,CAC5C,OAA0B,EAC1B,WAAsC,EAChC,EAAE;IACR,+BAA+B;AACjC,CAAC,CAAA;AAED,MAAM,gBAAgB,GAAG,CAA8B,MAAS,EAAE,SAAuC,EAAK,EAAE;IAC9G,MAAM,UAAU,GAAG,SAAS,CAAC,uBAAuB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IAChE,MAAM,wBAAwB,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,sBAAsB,IAAI,SAAS,CAAC,CAAA;IAC9G,MAAM,WAAW,GAAiC,wBAAwB;QACxE,CAAC,CAAC,EAAE,GAAG,SAAS,EAAE,CAAC,SAAS,CAAC,sBAAsB,CAAC,EAAE,UAAU,CAAC,KAAK,EAAE;QACxE,CAAC,CAAC,SAAS,CAAA;IAEb,OAAO,MAAM,CAAC,WAAW,CAAC,WAAW,CAAM,CAAA;AAC7C,CAAC,CAAA"}
@@ -0,0 +1,19 @@
1
+ import { Schema, SchemaAST } from '@livestore/utils/effect';
2
+ import { SqliteDsl } from './db-schema/mod.ts';
3
+ /**
4
+ * Maps a schema to a SQLite column definition, respecting column annotations.
5
+ *
6
+ * Note: When used with schema-based table definitions, optional fields (| undefined)
7
+ * are transformed to nullable fields (| null) to match SQLite's NULL semantics.
8
+ * Fields with both null and undefined will emit a warning as this is a lossy conversion.
9
+ */
10
+ export declare const getColumnDefForSchema: (schema: Schema.Schema.AnyNoContext, propertySignature?: SchemaAST.PropertySignature, forceNullable?: boolean) => SqliteDsl.ColumnDefinition.Any;
11
+ /**
12
+ * Maps schema property signatures to SQLite column definitions.
13
+ * Optional fields (| undefined) become nullable columns (| null).
14
+ */
15
+ export declare const schemaFieldsToColumns: (propertySignatures: ReadonlyArray<SchemaAST.PropertySignature>) => {
16
+ columns: SqliteDsl.Columns;
17
+ uniqueColumns: string[];
18
+ };
19
+ //# sourceMappingURL=column-def.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"column-def.d.ts","sourceRoot":"","sources":["../../../../src/schema/state/sqlite/column-def.ts"],"names":[],"mappings":"AACA,OAAO,EAAU,MAAM,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAGnE,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAE9C;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,GAChC,QAAQ,MAAM,CAAC,MAAM,CAAC,YAAY,EAClC,oBAAoB,SAAS,CAAC,iBAAiB,EAC/C,uBAAqB,KACpB,SAAS,CAAC,gBAAgB,CAAC,GA8B7B,CAAA;AAaD;;;GAGG;AACH,eAAO,MAAM,qBAAqB,GAChC,oBAAoB,aAAa,CAAC,SAAS,CAAC,iBAAiB,CAAC,KAC7D;IAAE,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC;IAAC,aAAa,EAAE,MAAM,EAAE,CAAA;CAwCvD,CAAA"}