@livestore/common 0.4.0 → 0.5.0-dev.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (421) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/ClientSessionLeaderThreadProxy.d.ts +1 -1
  3. package/dist/ClientSessionLeaderThreadProxy.d.ts.map +1 -1
  4. package/dist/MaterializationJournal.d.ts +44 -0
  5. package/dist/MaterializationJournal.d.ts.map +1 -0
  6. package/dist/MaterializationJournal.js +112 -0
  7. package/dist/MaterializationJournal.js.map +1 -0
  8. package/dist/StateHead.d.ts +26 -0
  9. package/dist/StateHead.d.ts.map +1 -0
  10. package/dist/StateHead.js +50 -0
  11. package/dist/StateHead.js.map +1 -0
  12. package/dist/WorkerTransportError.d.ts +3 -3
  13. package/dist/WorkerTransportError.d.ts.map +1 -1
  14. package/dist/WorkerTransportError.js +3 -3
  15. package/dist/WorkerTransportError.js.map +1 -1
  16. package/dist/__tests__/fixture.d.ts +1 -1
  17. package/dist/__tests__/fixture.d.ts.map +1 -1
  18. package/dist/__tests__/fixture.js +3 -3
  19. package/dist/__tests__/fixture.js.map +1 -1
  20. package/dist/adapter-types.d.ts +29 -57
  21. package/dist/adapter-types.d.ts.map +1 -1
  22. package/dist/adapter-types.js +20 -37
  23. package/dist/adapter-types.js.map +1 -1
  24. package/dist/debug-info.d.ts +56 -56
  25. package/dist/debug-info.d.ts.map +1 -1
  26. package/dist/debug-info.js +28 -41
  27. package/dist/debug-info.js.map +1 -1
  28. package/dist/defs.d.ts +9 -9
  29. package/dist/defs.js +2 -2
  30. package/dist/devtools/devtools-compatibility.test.js +1 -0
  31. package/dist/devtools/devtools-compatibility.test.js.map +1 -1
  32. package/dist/devtools/devtools-messages-client-session.d.ts +520 -332
  33. package/dist/devtools/devtools-messages-client-session.d.ts.map +1 -1
  34. package/dist/devtools/devtools-messages-client-session.js +76 -74
  35. package/dist/devtools/devtools-messages-client-session.js.map +1 -1
  36. package/dist/devtools/devtools-messages-common.d.ts +27 -27
  37. package/dist/devtools/devtools-messages-common.d.ts.map +1 -1
  38. package/dist/devtools/devtools-messages-common.js +5 -5
  39. package/dist/devtools/devtools-messages-common.js.map +1 -1
  40. package/dist/devtools/devtools-messages-leader.d.ts +405 -343
  41. package/dist/devtools/devtools-messages-leader.d.ts.map +1 -1
  42. package/dist/devtools/devtools-messages-leader.js +101 -89
  43. package/dist/devtools/devtools-messages-leader.js.map +1 -1
  44. package/dist/devtools/devtools-sessioninfo.d.ts +18 -19
  45. package/dist/devtools/devtools-sessioninfo.d.ts.map +1 -1
  46. package/dist/devtools/devtools-sessioninfo.js +8 -5
  47. package/dist/devtools/devtools-sessioninfo.js.map +1 -1
  48. package/dist/devtools/mod.d.ts +4 -5
  49. package/dist/devtools/mod.d.ts.map +1 -1
  50. package/dist/devtools/mod.js +9 -5
  51. package/dist/devtools/mod.js.map +1 -1
  52. package/dist/errors.d.ts +45 -69
  53. package/dist/errors.d.ts.map +1 -1
  54. package/dist/errors.js +18 -16
  55. package/dist/errors.js.map +1 -1
  56. package/dist/index.d.ts +4 -1
  57. package/dist/index.d.ts.map +1 -1
  58. package/dist/index.js +4 -1
  59. package/dist/index.js.map +1 -1
  60. package/dist/leader-thread/LeaderSyncProcessor.d.ts +66 -18
  61. package/dist/leader-thread/LeaderSyncProcessor.d.ts.map +1 -1
  62. package/dist/leader-thread/LeaderSyncProcessor.js +519 -461
  63. package/dist/leader-thread/LeaderSyncProcessor.js.map +1 -1
  64. package/dist/leader-thread/RejectedPushError.d.ts +67 -36
  65. package/dist/leader-thread/RejectedPushError.d.ts.map +1 -1
  66. package/dist/leader-thread/RejectedPushError.js +24 -5
  67. package/dist/leader-thread/RejectedPushError.js.map +1 -1
  68. package/dist/leader-thread/connection.d.ts +1 -0
  69. package/dist/leader-thread/connection.d.ts.map +1 -1
  70. package/dist/leader-thread/connection.js +9 -8
  71. package/dist/leader-thread/connection.js.map +1 -1
  72. package/dist/leader-thread/eventlog.d.ts +4 -4
  73. package/dist/leader-thread/eventlog.d.ts.map +1 -1
  74. package/dist/leader-thread/eventlog.js +6 -6
  75. package/dist/leader-thread/eventlog.js.map +1 -1
  76. package/dist/leader-thread/leader-worker-devtools.d.ts +1 -1
  77. package/dist/leader-thread/leader-worker-devtools.d.ts.map +1 -1
  78. package/dist/leader-thread/leader-worker-devtools.js +33 -17
  79. package/dist/leader-thread/leader-worker-devtools.js.map +1 -1
  80. package/dist/leader-thread/make-leader-thread-layer.d.ts +9 -5
  81. package/dist/leader-thread/make-leader-thread-layer.d.ts.map +1 -1
  82. package/dist/leader-thread/make-leader-thread-layer.js +25 -35
  83. package/dist/leader-thread/make-leader-thread-layer.js.map +1 -1
  84. package/dist/leader-thread/make-leader-thread-layer.test.js +7 -7
  85. package/dist/leader-thread/make-leader-thread-layer.test.js.map +1 -1
  86. package/dist/leader-thread/materialize-event.d.ts +2 -1
  87. package/dist/leader-thread/materialize-event.d.ts.map +1 -1
  88. package/dist/leader-thread/materialize-event.js +4 -0
  89. package/dist/leader-thread/materialize-event.js.map +1 -1
  90. package/dist/leader-thread/recreate-db.d.ts.map +1 -1
  91. package/dist/leader-thread/recreate-db.js +18 -39
  92. package/dist/leader-thread/recreate-db.js.map +1 -1
  93. package/dist/leader-thread/shutdown-channel.d.ts +2 -6
  94. package/dist/leader-thread/shutdown-channel.d.ts.map +1 -1
  95. package/dist/leader-thread/shutdown-channel.js +2 -3
  96. package/dist/leader-thread/shutdown-channel.js.map +1 -1
  97. package/dist/leader-thread/stream-events.d.ts +4 -7
  98. package/dist/leader-thread/stream-events.d.ts.map +1 -1
  99. package/dist/leader-thread/stream-events.js +13 -16
  100. package/dist/leader-thread/stream-events.js.map +1 -1
  101. package/dist/leader-thread/types.d.ts +32 -69
  102. package/dist/leader-thread/types.d.ts.map +1 -1
  103. package/dist/leader-thread/types.js +5 -5
  104. package/dist/leader-thread/types.js.map +1 -1
  105. package/dist/logging.d.ts +5 -30
  106. package/dist/logging.d.ts.map +1 -1
  107. package/dist/logging.js +1 -32
  108. package/dist/logging.js.map +1 -1
  109. package/dist/make-client-session.d.ts +1 -2
  110. package/dist/make-client-session.d.ts.map +1 -1
  111. package/dist/make-client-session.js +3 -3
  112. package/dist/make-client-session.js.map +1 -1
  113. package/dist/materializer-helper.d.ts +0 -1
  114. package/dist/materializer-helper.d.ts.map +1 -1
  115. package/dist/materializer-helper.js +7 -35
  116. package/dist/materializer-helper.js.map +1 -1
  117. package/dist/otel.d.ts +2 -3
  118. package/dist/otel.d.ts.map +1 -1
  119. package/dist/otel.js +2 -7
  120. package/dist/otel.js.map +1 -1
  121. package/dist/rematerialize-from-eventlog.d.ts.map +1 -1
  122. package/dist/rematerialize-from-eventlog.js +28 -26
  123. package/dist/rematerialize-from-eventlog.js.map +1 -1
  124. package/dist/schema/EventDef/define.d.ts +4 -4
  125. package/dist/schema/EventDef/define.d.ts.map +1 -1
  126. package/dist/schema/EventDef/define.js +5 -5
  127. package/dist/schema/EventDef/define.js.map +1 -1
  128. package/dist/schema/EventDef/define.test.d.ts +2 -0
  129. package/dist/schema/EventDef/define.test.d.ts.map +1 -0
  130. package/dist/schema/EventDef/define.test.js +23 -0
  131. package/dist/schema/EventDef/define.test.js.map +1 -0
  132. package/dist/schema/EventDef/deprecated.d.ts +8 -13
  133. package/dist/schema/EventDef/deprecated.d.ts.map +1 -1
  134. package/dist/schema/EventDef/deprecated.js +12 -13
  135. package/dist/schema/EventDef/deprecated.js.map +1 -1
  136. package/dist/schema/EventDef/deprecated.test.js +1 -1
  137. package/dist/schema/EventDef/deprecated.test.js.map +1 -1
  138. package/dist/schema/EventDef/event-def.d.ts +1 -1
  139. package/dist/schema/EventDef/event-def.d.ts.map +1 -1
  140. package/dist/schema/EventSequenceNumber/client.d.ts +12 -12
  141. package/dist/schema/EventSequenceNumber/client.d.ts.map +1 -1
  142. package/dist/schema/EventSequenceNumber/client.js +8 -9
  143. package/dist/schema/EventSequenceNumber/client.js.map +1 -1
  144. package/dist/schema/EventSequenceNumber/global.d.ts +2 -2
  145. package/dist/schema/EventSequenceNumber/global.d.ts.map +1 -1
  146. package/dist/schema/EventSequenceNumber/global.js +1 -1
  147. package/dist/schema/EventSequenceNumber/global.js.map +1 -1
  148. package/dist/schema/EventSequenceNumber.test.js +5 -5
  149. package/dist/schema/EventSequenceNumber.test.js.map +1 -1
  150. package/dist/schema/LiveStoreEvent/client.d.ts +50 -179
  151. package/dist/schema/LiveStoreEvent/client.d.ts.map +1 -1
  152. package/dist/schema/LiveStoreEvent/client.js +32 -29
  153. package/dist/schema/LiveStoreEvent/client.js.map +1 -1
  154. package/dist/schema/LiveStoreEvent/client.test.js +11 -2
  155. package/dist/schema/LiveStoreEvent/client.test.js.map +1 -1
  156. package/dist/schema/LiveStoreEvent/for-event-def.d.ts +7 -7
  157. package/dist/schema/LiveStoreEvent/for-event-def.d.ts.map +1 -1
  158. package/dist/schema/LiveStoreEvent/global.d.ts +6 -6
  159. package/dist/schema/LiveStoreEvent/global.d.ts.map +1 -1
  160. package/dist/schema/LiveStoreEvent/global.js +1 -1
  161. package/dist/schema/LiveStoreEvent/global.js.map +1 -1
  162. package/dist/schema/LiveStoreEvent/input.d.ts +5 -5
  163. package/dist/schema/LiveStoreEvent/input.d.ts.map +1 -1
  164. package/dist/schema/LiveStoreEvent/input.js +3 -3
  165. package/dist/schema/LiveStoreEvent/input.js.map +1 -1
  166. package/dist/schema/mod.d.ts +1 -0
  167. package/dist/schema/mod.d.ts.map +1 -1
  168. package/dist/schema/mod.js +1 -0
  169. package/dist/schema/mod.js.map +1 -1
  170. package/dist/schema/schema.d.ts.map +1 -1
  171. package/dist/schema/schema.js +3 -2
  172. package/dist/schema/schema.js.map +1 -1
  173. package/dist/schema/state/sqlite/client-document-def.d.ts +12 -17
  174. package/dist/schema/state/sqlite/client-document-def.d.ts.map +1 -1
  175. package/dist/schema/state/sqlite/client-document-def.js +23 -20
  176. package/dist/schema/state/sqlite/client-document-def.js.map +1 -1
  177. package/dist/schema/state/sqlite/client-document-def.test.js +29 -8
  178. package/dist/schema/state/sqlite/client-document-def.test.js.map +1 -1
  179. package/dist/schema/state/sqlite/column-annotations.d.ts +13 -13
  180. package/dist/schema/state/sqlite/column-annotations.d.ts.map +1 -1
  181. package/dist/schema/state/sqlite/column-annotations.js +13 -15
  182. package/dist/schema/state/sqlite/column-annotations.js.map +1 -1
  183. package/dist/schema/state/sqlite/column-annotations.test.js +19 -43
  184. package/dist/schema/state/sqlite/column-annotations.test.js.map +1 -1
  185. package/dist/schema/state/sqlite/column-def.d.ts +1 -1
  186. package/dist/schema/state/sqlite/column-def.d.ts.map +1 -1
  187. package/dist/schema/state/sqlite/column-def.js +57 -31
  188. package/dist/schema/state/sqlite/column-def.js.map +1 -1
  189. package/dist/schema/state/sqlite/column-def.test.js +118 -72
  190. package/dist/schema/state/sqlite/column-def.test.js.map +1 -1
  191. package/dist/schema/state/sqlite/column-spec.js.map +1 -1
  192. package/dist/schema/state/sqlite/column-spec.test.js +2 -2
  193. package/dist/schema/state/sqlite/db-schema/ast/sqlite.d.ts +2 -2
  194. package/dist/schema/state/sqlite/db-schema/ast/sqlite.d.ts.map +1 -1
  195. package/dist/schema/state/sqlite/db-schema/ast/sqlite.js +13 -4
  196. package/dist/schema/state/sqlite/db-schema/ast/sqlite.js.map +1 -1
  197. package/dist/schema/state/sqlite/db-schema/dsl/field-defs.d.ts +9 -9
  198. package/dist/schema/state/sqlite/db-schema/dsl/field-defs.d.ts.map +1 -1
  199. package/dist/schema/state/sqlite/db-schema/dsl/field-defs.js +8 -13
  200. package/dist/schema/state/sqlite/db-schema/dsl/field-defs.js.map +1 -1
  201. package/dist/schema/state/sqlite/db-schema/dsl/field-defs.test.js +27 -16
  202. package/dist/schema/state/sqlite/db-schema/dsl/field-defs.test.js.map +1 -1
  203. package/dist/schema/state/sqlite/db-schema/dsl/mod.d.ts +13 -11
  204. package/dist/schema/state/sqlite/db-schema/dsl/mod.d.ts.map +1 -1
  205. package/dist/schema/state/sqlite/db-schema/dsl/mod.js +5 -3
  206. package/dist/schema/state/sqlite/db-schema/dsl/mod.js.map +1 -1
  207. package/dist/schema/state/sqlite/mod.d.ts +1 -3
  208. package/dist/schema/state/sqlite/mod.d.ts.map +1 -1
  209. package/dist/schema/state/sqlite/mod.js +1 -1
  210. package/dist/schema/state/sqlite/mod.js.map +1 -1
  211. package/dist/schema/state/sqlite/persistence.d.ts +11 -0
  212. package/dist/schema/state/sqlite/persistence.d.ts.map +1 -0
  213. package/dist/schema/state/sqlite/persistence.js +10 -0
  214. package/dist/schema/state/sqlite/persistence.js.map +1 -0
  215. package/dist/schema/state/sqlite/query-builder/api.d.ts +7 -7
  216. package/dist/schema/state/sqlite/query-builder/api.d.ts.map +1 -1
  217. package/dist/schema/state/sqlite/query-builder/astToSql.d.ts.map +1 -1
  218. package/dist/schema/state/sqlite/query-builder/astToSql.js +27 -23
  219. package/dist/schema/state/sqlite/query-builder/astToSql.js.map +1 -1
  220. package/dist/schema/state/sqlite/query-builder/impl.d.ts +3 -1
  221. package/dist/schema/state/sqlite/query-builder/impl.d.ts.map +1 -1
  222. package/dist/schema/state/sqlite/query-builder/impl.js +16 -14
  223. package/dist/schema/state/sqlite/query-builder/impl.js.map +1 -1
  224. package/dist/schema/state/sqlite/query-builder/impl.test.js +362 -596
  225. package/dist/schema/state/sqlite/query-builder/impl.test.js.map +1 -1
  226. package/dist/schema/state/sqlite/schema-helpers.js +1 -1
  227. package/dist/schema/state/sqlite/schema-helpers.js.map +1 -1
  228. package/dist/schema/state/sqlite/system-tables/eventlog-tables.d.ts +102 -134
  229. package/dist/schema/state/sqlite/system-tables/eventlog-tables.d.ts.map +1 -1
  230. package/dist/schema/state/sqlite/system-tables/eventlog-tables.js +2 -2
  231. package/dist/schema/state/sqlite/system-tables/eventlog-tables.js.map +1 -1
  232. package/dist/schema/state/sqlite/system-tables/state-tables.d.ts +328 -106
  233. package/dist/schema/state/sqlite/system-tables/state-tables.d.ts.map +1 -1
  234. package/dist/schema/state/sqlite/system-tables/state-tables.js +33 -1
  235. package/dist/schema/state/sqlite/system-tables/state-tables.js.map +1 -1
  236. package/dist/schema/state/sqlite/table-def.d.ts +16 -19
  237. package/dist/schema/state/sqlite/table-def.d.ts.map +1 -1
  238. package/dist/schema/state/sqlite/table-def.js +53 -3
  239. package/dist/schema/state/sqlite/table-def.js.map +1 -1
  240. package/dist/schema/state/sqlite/table-def.test.js +153 -36
  241. package/dist/schema/state/sqlite/table-def.test.js.map +1 -1
  242. package/dist/schema/unknown-events.d.ts.map +1 -1
  243. package/dist/schema/unknown-events.js +2 -1
  244. package/dist/schema/unknown-events.js.map +1 -1
  245. package/dist/schema-management/__tests__/migrations-autoincrement-quoting.test.js +2 -2
  246. package/dist/session-id-symbol.d.ts +29 -0
  247. package/dist/session-id-symbol.d.ts.map +1 -0
  248. package/dist/session-id-symbol.js +44 -0
  249. package/dist/session-id-symbol.js.map +1 -0
  250. package/dist/sql-queries/sql-queries.d.ts.map +1 -1
  251. package/dist/sql-queries/sql-queries.js +8 -10
  252. package/dist/sql-queries/sql-queries.js.map +1 -1
  253. package/dist/sql-queries/types.d.ts +6 -7
  254. package/dist/sql-queries/types.d.ts.map +1 -1
  255. package/dist/sql-queries/types.js.map +1 -1
  256. package/dist/sqlite-db-helper.d.ts +21 -1
  257. package/dist/sqlite-db-helper.d.ts.map +1 -1
  258. package/dist/sqlite-db-helper.js +37 -2
  259. package/dist/sqlite-db-helper.js.map +1 -1
  260. package/dist/sqlite-types.d.ts +3 -6
  261. package/dist/sqlite-types.d.ts.map +1 -1
  262. package/dist/sqlite-types.js +3 -3
  263. package/dist/sqlite-types.js.map +1 -1
  264. package/dist/sync/ClientSessionSyncProcessor.d.ts +38 -16
  265. package/dist/sync/ClientSessionSyncProcessor.d.ts.map +1 -1
  266. package/dist/sync/ClientSessionSyncProcessor.js +196 -66
  267. package/dist/sync/ClientSessionSyncProcessor.js.map +1 -1
  268. package/dist/sync/errors.d.ts +12 -18
  269. package/dist/sync/errors.d.ts.map +1 -1
  270. package/dist/sync/errors.js +2 -2
  271. package/dist/sync/errors.js.map +1 -1
  272. package/dist/sync/mock-sync-backend.d.ts +2 -3
  273. package/dist/sync/mock-sync-backend.d.ts.map +1 -1
  274. package/dist/sync/mock-sync-backend.js +54 -33
  275. package/dist/sync/mock-sync-backend.js.map +1 -1
  276. package/dist/sync/mock-sync-backend.test.d.ts +2 -0
  277. package/dist/sync/mock-sync-backend.test.d.ts.map +1 -0
  278. package/dist/sync/mock-sync-backend.test.js +49 -0
  279. package/dist/sync/mock-sync-backend.test.js.map +1 -0
  280. package/dist/sync/next/history-dag-common.d.ts +4 -0
  281. package/dist/sync/next/history-dag-common.d.ts.map +1 -1
  282. package/dist/sync/next/history-dag-common.js +52 -31
  283. package/dist/sync/next/history-dag-common.js.map +1 -1
  284. package/dist/sync/next/history-dag.d.ts.map +1 -1
  285. package/dist/sync/next/history-dag.js +2 -1
  286. package/dist/sync/next/history-dag.js.map +1 -1
  287. package/dist/sync/next/test/compact-events.calculator.test.js +2 -2
  288. package/dist/sync/next/test/event-fixtures.d.ts +7 -7
  289. package/dist/sync/next/test/event-fixtures.js +1 -1
  290. package/dist/sync/next/test/event-fixtures.js.map +1 -1
  291. package/dist/sync/next/test/history-dag-common.test.d.ts +2 -0
  292. package/dist/sync/next/test/history-dag-common.test.d.ts.map +1 -0
  293. package/dist/sync/next/test/history-dag-common.test.js +73 -0
  294. package/dist/sync/next/test/history-dag-common.test.js.map +1 -0
  295. package/dist/sync/sync-backend-kv.d.ts.map +1 -1
  296. package/dist/sync/sync-backend-kv.js +4 -2
  297. package/dist/sync/sync-backend-kv.js.map +1 -1
  298. package/dist/sync/sync-backend.d.ts +15 -15
  299. package/dist/sync/sync-backend.d.ts.map +1 -1
  300. package/dist/sync/sync-backend.js +9 -5
  301. package/dist/sync/sync-backend.js.map +1 -1
  302. package/dist/sync/sync.d.ts +1 -1
  303. package/dist/sync/sync.d.ts.map +1 -1
  304. package/dist/sync/syncstate.d.ts +97 -173
  305. package/dist/sync/syncstate.d.ts.map +1 -1
  306. package/dist/sync/syncstate.js +34 -37
  307. package/dist/sync/syncstate.js.map +1 -1
  308. package/dist/sync/syncstate.test.js +100 -61
  309. package/dist/sync/syncstate.test.js.map +1 -1
  310. package/dist/sync/transport-chunking.d.ts +15 -16
  311. package/dist/sync/transport-chunking.d.ts.map +1 -1
  312. package/dist/sync/transport-chunking.js +23 -32
  313. package/dist/sync/transport-chunking.js.map +1 -1
  314. package/dist/util.d.ts +11 -4
  315. package/dist/util.d.ts.map +1 -1
  316. package/dist/util.js +19 -2
  317. package/dist/util.js.map +1 -1
  318. package/dist/version.d.ts.map +1 -1
  319. package/dist/version.js.map +1 -1
  320. package/package.json +19 -37
  321. package/src/ClientSessionLeaderThreadProxy.ts +1 -1
  322. package/src/MaterializationJournal.ts +184 -0
  323. package/src/StateHead.ts +80 -0
  324. package/src/WorkerTransportError.ts +4 -4
  325. package/src/__tests__/fixture.ts +3 -3
  326. package/src/adapter-types.ts +24 -61
  327. package/src/debug-info.ts +50 -70
  328. package/src/defs.ts +2 -2
  329. package/src/devtools/devtools-compatibility.test.ts +1 -0
  330. package/src/devtools/devtools-messages-client-session.ts +56 -65
  331. package/src/devtools/devtools-messages-common.ts +12 -11
  332. package/src/devtools/devtools-messages-leader.ts +71 -69
  333. package/src/devtools/devtools-sessioninfo.ts +13 -11
  334. package/src/devtools/mod.ts +4 -5
  335. package/src/errors.ts +46 -34
  336. package/src/index.ts +8 -1
  337. package/src/leader-thread/LeaderSyncProcessor.ts +794 -691
  338. package/src/leader-thread/RejectedPushError.ts +40 -27
  339. package/src/leader-thread/connection.ts +12 -8
  340. package/src/leader-thread/eventlog.ts +7 -7
  341. package/src/leader-thread/leader-worker-devtools.ts +37 -19
  342. package/src/leader-thread/make-leader-thread-layer.test.ts +7 -7
  343. package/src/leader-thread/make-leader-thread-layer.ts +56 -53
  344. package/src/leader-thread/materialize-event.ts +13 -8
  345. package/src/leader-thread/recreate-db.ts +24 -59
  346. package/src/leader-thread/shutdown-channel.ts +3 -14
  347. package/src/leader-thread/stream-events.ts +104 -101
  348. package/src/leader-thread/types.ts +24 -62
  349. package/src/logging.ts +5 -52
  350. package/src/make-client-session.ts +6 -6
  351. package/src/materializer-helper.ts +8 -37
  352. package/src/otel.ts +5 -14
  353. package/src/rematerialize-from-eventlog.ts +97 -94
  354. package/src/schema/EventDef/define.test.ts +28 -0
  355. package/src/schema/EventDef/define.ts +20 -19
  356. package/src/schema/EventDef/deprecated.test.ts +1 -8
  357. package/src/schema/EventDef/deprecated.ts +17 -20
  358. package/src/schema/EventDef/event-def.ts +2 -4
  359. package/src/schema/EventSequenceNumber/client.ts +8 -9
  360. package/src/schema/EventSequenceNumber/global.ts +1 -1
  361. package/src/schema/EventSequenceNumber.test.ts +5 -5
  362. package/src/schema/LiveStoreEvent/client.test.ts +17 -4
  363. package/src/schema/LiveStoreEvent/client.ts +36 -35
  364. package/src/schema/LiveStoreEvent/for-event-def.ts +7 -7
  365. package/src/schema/LiveStoreEvent/global.ts +1 -1
  366. package/src/schema/LiveStoreEvent/input.ts +6 -6
  367. package/src/schema/mod.ts +1 -0
  368. package/src/schema/schema.ts +3 -2
  369. package/src/schema/state/sqlite/client-document-def.test.ts +32 -13
  370. package/src/schema/state/sqlite/client-document-def.ts +95 -80
  371. package/src/schema/state/sqlite/column-annotations.test.ts +26 -45
  372. package/src/schema/state/sqlite/column-annotations.ts +26 -30
  373. package/src/schema/state/sqlite/column-def.test.ts +132 -77
  374. package/src/schema/state/sqlite/column-def.ts +72 -37
  375. package/src/schema/state/sqlite/column-spec.test.ts +2 -2
  376. package/src/schema/state/sqlite/column-spec.ts +3 -2
  377. package/src/schema/state/sqlite/db-schema/ast/sqlite.ts +15 -5
  378. package/src/schema/state/sqlite/db-schema/dsl/__snapshots__/field-defs.test.ts.snap +123 -63
  379. package/src/schema/state/sqlite/db-schema/dsl/field-defs.test.ts +35 -16
  380. package/src/schema/state/sqlite/db-schema/dsl/field-defs.ts +25 -31
  381. package/src/schema/state/sqlite/db-schema/dsl/mod.ts +35 -21
  382. package/src/schema/state/sqlite/mod.ts +2 -4
  383. package/src/schema/state/sqlite/persistence.ts +11 -0
  384. package/src/schema/state/sqlite/query-builder/api.ts +9 -9
  385. package/src/schema/state/sqlite/query-builder/astToSql.ts +31 -26
  386. package/src/schema/state/sqlite/query-builder/impl.test.ts +433 -669
  387. package/src/schema/state/sqlite/query-builder/impl.ts +19 -15
  388. package/src/schema/state/sqlite/schema-helpers.ts +1 -1
  389. package/src/schema/state/sqlite/system-tables/eventlog-tables.ts +2 -2
  390. package/src/schema/state/sqlite/system-tables/state-tables.ts +41 -1
  391. package/src/schema/state/sqlite/table-def.test.ts +204 -66
  392. package/src/schema/state/sqlite/table-def.ts +96 -45
  393. package/src/schema/unknown-events.ts +3 -2
  394. package/src/schema-management/__tests__/migrations-autoincrement-quoting.test.ts +2 -2
  395. package/src/session-id-symbol.ts +59 -0
  396. package/src/sql-queries/sql-queries.ts +8 -12
  397. package/src/sql-queries/types.ts +6 -7
  398. package/src/sqlite-db-helper.ts +64 -2
  399. package/src/sqlite-types.ts +5 -8
  400. package/src/sync/ClientSessionSyncProcessor.ts +303 -119
  401. package/src/sync/errors.ts +14 -12
  402. package/src/sync/mock-sync-backend.test.ts +78 -0
  403. package/src/sync/mock-sync-backend.ts +93 -47
  404. package/src/sync/next/history-dag-common.ts +60 -34
  405. package/src/sync/next/history-dag.ts +4 -1
  406. package/src/sync/next/test/compact-events.calculator.test.ts +2 -2
  407. package/src/sync/next/test/event-fixtures.ts +1 -1
  408. package/src/sync/next/test/history-dag-common.test.ts +87 -0
  409. package/src/sync/sync-backend-kv.ts +4 -2
  410. package/src/sync/sync-backend.ts +15 -15
  411. package/src/sync/sync.ts +1 -1
  412. package/src/sync/syncstate.test.ts +191 -140
  413. package/src/sync/syncstate.ts +63 -53
  414. package/src/sync/transport-chunking.ts +34 -39
  415. package/src/util.ts +18 -9
  416. package/src/version.ts +1 -2
  417. package/dist/sql-queries/misc.d.ts +0 -2
  418. package/dist/sql-queries/misc.d.ts.map +0 -1
  419. package/dist/sql-queries/misc.js +0 -2
  420. package/dist/sql-queries/misc.js.map +0 -1
  421. package/src/sql-queries/misc.ts +0 -2
package/src/debug-info.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /// <reference lib="dom" />
2
- import { ParseResult, Schema } from '@livestore/utils/effect'
2
+ import { Schema, SchemaGetter, Struct } from '@livestore/utils/effect'
3
3
 
4
4
  import { BoundArray } from './bounded-collections.ts'
5
5
  import { PreparedBindValues } from './util.ts'
@@ -16,93 +16,73 @@ export type SlowQueryInfo = {
16
16
  export const SlowQueryInfo = Schema.Struct({
17
17
  queryStr: Schema.String,
18
18
  bindValues: Schema.UndefinedOr(PreparedBindValues),
19
- durationMs: Schema.Number,
20
- rowsCount: Schema.UndefinedOr(Schema.Number),
19
+ durationMs: Schema.Finite,
20
+ rowsCount: Schema.UndefinedOr(Schema.Finite),
21
21
  queriedTables: Schema.ReadonlySet(Schema.String),
22
- startTimePerfNow: Schema.Number,
22
+ startTimePerfNow: Schema.Finite,
23
23
  })
24
24
 
25
- const getSizeLimit = (value: unknown): number =>
26
- typeof (value as { sizeLimit?: number }).sizeLimit === 'number'
27
- ? (value as { sizeLimit: number }).sizeLimit
28
- : Number.POSITIVE_INFINITY
25
+ const isBoundArrayLike = <A>(value: unknown): value is BoundArray<A> => value instanceof BoundArray
29
26
 
30
- const isBoundArrayLike = (value: unknown): value is BoundArray<unknown> =>
31
- value instanceof BoundArray ||
32
- (value !== null && typeof value === 'object' && typeof (value as { sizeLimit?: number }).sizeLimit === 'number')
33
-
34
- const BoundArraySchemaFromSelf = <A, I, R>(
35
- item: Schema.Schema<A, I, R>,
36
- ): Schema.Schema<BoundArray<A>, BoundArray<I>, R> =>
37
- Schema.declare(
38
- [item],
39
- {
40
- decode: (item) => (input, parseOptions, ast) => {
41
- if (isBoundArrayLike(input) === true) {
42
- const elements = ParseResult.decodeUnknown(Schema.Array(item))([...input], parseOptions)
43
- return ParseResult.map(elements, (as): BoundArray<A> => BoundArray.make(getSizeLimit(input), as))
27
+ const BoundArraySchemaFromSelf = <A, I, RD, RE>(
28
+ item: Schema.Codec<A, I, RD, RE>,
29
+ ): Schema.Codec<BoundArray<A>, BoundArray<A>> =>
30
+ Schema.declare<BoundArray<A>>(isBoundArrayLike, {
31
+ identifier: 'BoundArray',
32
+ expected: 'BoundArray',
33
+ description: 'Bounded array',
34
+ toFormatter: () => (_) => `BoundArray(${_.length})`,
35
+ toArbitrary: () => (fc) => {
36
+ const itemArbitrary = Schema.toArbitrary(item)(fc)
37
+ return fc
38
+ .integer({ min: 0, max: 100 })
39
+ .chain((sizeLimit) =>
40
+ fc.array(itemArbitrary, { maxLength: sizeLimit }).map((items) => BoundArray.make(sizeLimit, items)),
41
+ )
42
+ },
43
+ toEquivalence: () => {
44
+ const elementEquivalence = Schema.toEquivalence(item)
45
+ return (a, b) => {
46
+ if (a === b) {
47
+ return true
44
48
  }
45
- return ParseResult.fail(new ParseResult.Type(ast, input))
46
- },
47
- encode: (item) => (input, parseOptions, ast) => {
48
- if (isBoundArrayLike(input) === true) {
49
- const items = [...input]
50
- const elements = ParseResult.encodeUnknown(Schema.Array(item))(items, parseOptions)
51
- return ParseResult.map(elements, (is): BoundArray<I> => BoundArray.make(getSizeLimit(input), is))
49
+ if (isBoundArrayLike(a) === false || isBoundArrayLike(b) === false) {
50
+ return false
52
51
  }
53
- return ParseResult.fail(new ParseResult.Type(ast, input))
54
- },
55
- },
56
- {
57
- description: `BoundArray<${Schema.format(item)}>`,
58
- pretty: () => (_) => `BoundArray(${_.length})`,
59
- arbitrary: () => (fc) => fc.anything() as any,
60
- equivalence: () => {
61
- const elementEquivalence = Schema.equivalence(item)
62
- return (a: unknown, b: unknown) => {
63
- if (a === b) {
64
- return true
65
- }
66
- if (isBoundArrayLike(a) === false || isBoundArrayLike(b) === false) {
67
- return false
68
- }
69
- if (getSizeLimit(a) !== getSizeLimit(b) || a.length !== b.length) {
52
+ if (a.sizeLimit !== b.sizeLimit || a.length !== b.length) {
53
+ return false
54
+ }
55
+ const itemsA = [...a]
56
+ const itemsB = [...b]
57
+ for (let i = 0; i < itemsA.length; i++) {
58
+ if (elementEquivalence(itemsA[i]!, itemsB[i]!) === false) {
70
59
  return false
71
60
  }
72
- const itemsA = [...a]
73
- const itemsB = [...b]
74
- for (let i = 0; i < itemsA.length; i++) {
75
- if (elementEquivalence(itemsA[i] as any, itemsB[i] as any) === false) {
76
- return false
77
- }
78
- }
79
- return true
80
61
  }
81
- },
62
+ return true
63
+ }
82
64
  },
83
- )
65
+ })
84
66
 
85
- export const BoundArraySchema = <ItemDecoded, ItemEncoded>(elSchema: Schema.Schema<ItemDecoded, ItemEncoded>) =>
86
- Schema.transform(
87
- Schema.Struct({
88
- size: Schema.Number,
89
- items: Schema.Array(elSchema),
67
+ export const BoundArraySchema = <ItemDecoded, ItemEncoded>(elSchema: Schema.Codec<ItemDecoded, ItemEncoded>) =>
68
+ Schema.Struct({
69
+ size: Schema.Finite,
70
+ items: Schema.Array(elSchema),
71
+ }).pipe(
72
+ Schema.decodeTo(BoundArraySchemaFromSelf(Schema.toType(elSchema)), {
73
+ decode: SchemaGetter.transform((_) => BoundArray.make(_.size, _.items)),
74
+ encode: SchemaGetter.transform((_) => ({ size: _.sizeLimit, items: [..._] })),
90
75
  }),
91
- BoundArraySchemaFromSelf(Schema.typeSchema(elSchema)),
92
- {
93
- encode: (_) => ({ size: _.sizeLimit, items: [..._] }),
94
- decode: (_) => BoundArray.make(_.size, _.items),
95
- },
96
76
  )
97
77
 
98
78
  export const DebugInfo = Schema.Struct({
99
79
  slowQueries: BoundArraySchema(SlowQueryInfo),
100
- queryFrameDuration: Schema.Number,
101
- queryFrameCount: Schema.Number,
102
- events: BoundArraySchema(Schema.Tuple(Schema.String, Schema.Any)),
80
+ queryFrameDuration: Schema.Finite,
81
+ queryFrameCount: Schema.Finite,
82
+ events: BoundArraySchema(Schema.Tuple([Schema.String, Schema.Any])),
103
83
  })
104
84
 
105
85
  export type DebugInfo = typeof DebugInfo.Type
106
86
 
107
- export const MutableDebugInfo = Schema.mutable(DebugInfo)
87
+ export const MutableDebugInfo = DebugInfo.mapFields(Struct.map(Schema.mutableKey))
108
88
  export type MutableDebugInfo = typeof MutableDebugInfo.Type
package/src/defs.ts CHANGED
@@ -3,8 +3,8 @@ import { Schema } from '@livestore/utils/effect'
3
3
  export const MigrationsReportEntry = Schema.Struct({
4
4
  tableName: Schema.String,
5
5
  hashes: Schema.Struct({
6
- expected: Schema.Number,
7
- actual: Schema.optional(Schema.Number),
6
+ expected: Schema.Finite,
7
+ actual: Schema.optional(Schema.Finite),
8
8
  }),
9
9
  })
10
10
 
@@ -2,6 +2,7 @@ import { describe, expect, it } from 'vitest'
2
2
 
3
3
  import { isDevtoolsProtocolVersionSupported, resolveDevtoolsProtocolVersion } from '../version.ts'
4
4
 
5
+ /** Verifies: LS.SYS.DT-R02, LS.SYS.VER.PROTO-R01 */
5
6
  describe('DevTools protocol compatibility', () => {
6
7
  it('treats legacy pings without a protocol version as protocol 1', () => {
7
8
  expect(resolveDevtoolsProtocolVersion(undefined)).toBe(1)
@@ -5,128 +5,119 @@ import { EventSequenceNumber } from '../schema/mod.ts'
5
5
  import { PreparedBindValues } from '../util.ts'
6
6
  import { LSDClientSessionChannelMessage, LSDClientSessionReqResMessage } from './devtools-messages-common.ts'
7
7
 
8
- export class DebugInfoReq extends LSDClientSessionReqResMessage('LSD.ClientSession.DebugInfoReq', {}) {}
8
+ export const DebugInfoReq = LSDClientSessionReqResMessage('LSD.ClientSession.DebugInfoReq', {})
9
9
 
10
- export class DebugInfoRes extends LSDClientSessionReqResMessage('LSD.ClientSession.DebugInfoRes', {
10
+ export const DebugInfoRes = LSDClientSessionReqResMessage('LSD.ClientSession.DebugInfoRes', {
11
11
  debugInfo: DebugInfo,
12
- }) {}
12
+ })
13
13
 
14
- export class DebugInfoHistorySubscribe extends LSDClientSessionReqResMessage(
15
- 'LSD.ClientSession.DebugInfoHistorySubscribe',
16
- {
17
- subscriptionId: Schema.String,
18
- },
19
- ) {}
14
+ export const DebugInfoHistorySubscribe = LSDClientSessionReqResMessage('LSD.ClientSession.DebugInfoHistorySubscribe', {
15
+ subscriptionId: Schema.String,
16
+ })
20
17
 
21
- export class DebugInfoHistoryRes extends LSDClientSessionReqResMessage('LSD.ClientSession.DebugInfoHistoryRes', {
18
+ export const DebugInfoHistoryRes = LSDClientSessionReqResMessage('LSD.ClientSession.DebugInfoHistoryRes', {
22
19
  debugInfoHistory: Schema.Array(DebugInfo),
23
20
  subscriptionId: Schema.String,
24
- }) {}
21
+ })
25
22
 
26
- export class DebugInfoHistoryUnsubscribe extends LSDClientSessionReqResMessage(
23
+ export const DebugInfoHistoryUnsubscribe = LSDClientSessionReqResMessage(
27
24
  'LSD.ClientSession.DebugInfoHistoryUnsubscribe',
28
25
  {
29
26
  subscriptionId: Schema.String,
30
27
  },
31
- ) {}
28
+ )
32
29
 
33
- export class DebugInfoResetReq extends LSDClientSessionReqResMessage('LSD.ClientSession.DebugInfoResetReq', {}) {}
30
+ export const DebugInfoResetReq = LSDClientSessionReqResMessage('LSD.ClientSession.DebugInfoResetReq', {})
34
31
 
35
- export class DebugInfoResetRes extends LSDClientSessionReqResMessage('LSD.ClientSession.DebugInfoResetRes', {}) {}
32
+ export const DebugInfoResetRes = LSDClientSessionReqResMessage('LSD.ClientSession.DebugInfoResetRes', {})
36
33
 
37
- export class DebugInfoRerunQueryReq extends LSDClientSessionReqResMessage('LSD.ClientSession.DebugInfoRerunQueryReq', {
34
+ export const DebugInfoRerunQueryReq = LSDClientSessionReqResMessage('LSD.ClientSession.DebugInfoRerunQueryReq', {
38
35
  queryStr: Schema.String,
39
36
  bindValues: Schema.UndefinedOr(PreparedBindValues),
40
37
  queriedTables: Schema.ReadonlySet(Schema.String),
41
- }) {}
38
+ })
42
39
 
43
- export class DebugInfoRerunQueryRes extends LSDClientSessionReqResMessage(
44
- 'LSD.ClientSession.DebugInfoRerunQueryRes',
45
- {},
46
- ) {}
40
+ export const DebugInfoRerunQueryRes = LSDClientSessionReqResMessage('LSD.ClientSession.DebugInfoRerunQueryRes', {})
47
41
 
48
- export class SyncHeadSubscribe extends LSDClientSessionReqResMessage('LSD.ClientSession.SyncHeadSubscribe', {
42
+ export const SyncHeadSubscribe = LSDClientSessionReqResMessage('LSD.ClientSession.SyncHeadSubscribe', {
49
43
  subscriptionId: Schema.String,
50
- }) {}
51
- export class SyncHeadUnsubscribe extends LSDClientSessionReqResMessage('LSD.ClientSession.SyncHeadUnsubscribe', {
44
+ })
45
+ export const SyncHeadUnsubscribe = LSDClientSessionReqResMessage('LSD.ClientSession.SyncHeadUnsubscribe', {
52
46
  subscriptionId: Schema.String,
53
- }) {}
54
- export class SyncHeadRes extends LSDClientSessionReqResMessage('LSD.ClientSession.SyncHeadRes', {
47
+ })
48
+ export const SyncHeadRes = LSDClientSessionReqResMessage('LSD.ClientSession.SyncHeadRes', {
55
49
  local: EventSequenceNumber.Client.Composite,
56
50
  upstream: EventSequenceNumber.Client.Composite,
57
51
  subscriptionId: Schema.String,
58
- }) {}
52
+ })
59
53
 
60
- export class ReactivityGraphSubscribe extends LSDClientSessionReqResMessage(
61
- 'LSD.ClientSession.ReactivityGraphSubscribe',
62
- {
63
- includeResults: Schema.Boolean,
64
- subscriptionId: Schema.String,
65
- },
66
- ) {}
54
+ export const ReactivityGraphSubscribe = LSDClientSessionReqResMessage('LSD.ClientSession.ReactivityGraphSubscribe', {
55
+ includeResults: Schema.Boolean,
56
+ subscriptionId: Schema.String,
57
+ })
67
58
 
68
- export class ReactivityGraphUnsubscribe extends LSDClientSessionReqResMessage(
59
+ export const ReactivityGraphUnsubscribe = LSDClientSessionReqResMessage(
69
60
  'LSD.ClientSession.ReactivityGraphUnsubscribe',
70
61
  {
71
62
  subscriptionId: Schema.String,
72
63
  },
73
- ) {}
64
+ )
74
65
 
75
- export class ReactivityGraphRes extends LSDClientSessionReqResMessage('LSD.ClientSession.ReactivityGraphRes', {
66
+ export const ReactivityGraphRes = LSDClientSessionReqResMessage('LSD.ClientSession.ReactivityGraphRes', {
76
67
  reactivityGraph: Schema.Any,
77
68
  subscriptionId: Schema.String,
78
- }) {}
69
+ })
79
70
 
80
- export class LiveQueriesSubscribe extends LSDClientSessionReqResMessage('LSD.ClientSession.LiveQueriesSubscribe', {
71
+ export const LiveQueriesSubscribe = LSDClientSessionReqResMessage('LSD.ClientSession.LiveQueriesSubscribe', {
81
72
  subscriptionId: Schema.String,
82
- }) {}
73
+ })
83
74
 
84
- export class LiveQueriesUnsubscribe extends LSDClientSessionReqResMessage('LSD.ClientSession.LiveQueriesUnsubscribe', {
75
+ export const LiveQueriesUnsubscribe = LSDClientSessionReqResMessage('LSD.ClientSession.LiveQueriesUnsubscribe', {
85
76
  subscriptionId: Schema.String,
86
- }) {}
77
+ })
87
78
 
88
- export class SerializedLiveQuery extends Schema.Struct({
89
- _tag: Schema.Literal('computed', 'db', 'graphql', 'signal'),
90
- id: Schema.Number,
79
+ export const SerializedLiveQuery = Schema.Struct({
80
+ _tag: Schema.Literals(['computed', 'db', 'graphql', 'signal']),
81
+ id: Schema.Finite,
91
82
  label: Schema.String,
92
83
  hash: Schema.String,
93
- runs: Schema.Number,
94
- executionTimes: Schema.Array(Schema.Number),
84
+ runs: Schema.Finite,
85
+ executionTimes: Schema.Array(Schema.Finite),
95
86
  lastestResult: Schema.Any,
96
87
  activeSubscriptions: Schema.Array(
97
88
  Schema.Struct({ frames: Schema.Array(Schema.Struct({ name: Schema.String, filePath: Schema.String })) }),
98
89
  ),
99
- }) {}
90
+ })
100
91
 
101
- export class LiveQueriesRes extends LSDClientSessionReqResMessage('LSD.ClientSession.LiveQueriesRes', {
92
+ export const LiveQueriesRes = LSDClientSessionReqResMessage('LSD.ClientSession.LiveQueriesRes', {
102
93
  liveQueries: Schema.Array(SerializedLiveQuery),
103
94
  subscriptionId: Schema.String,
104
- }) {}
95
+ })
105
96
 
106
- export class Ping extends LSDClientSessionReqResMessage('LSD.ClientSession.Ping', {
107
- devtoolsProtocolVersion: Schema.optional(Schema.Number),
108
- }) {}
97
+ export const Ping = LSDClientSessionReqResMessage('LSD.ClientSession.Ping', {
98
+ devtoolsProtocolVersion: Schema.optional(Schema.Finite),
99
+ })
109
100
 
110
- export class Pong extends LSDClientSessionReqResMessage('LSD.ClientSession.Pong', {
111
- devtoolsProtocolVersion: Schema.optional(Schema.Number),
112
- }) {}
101
+ export const Pong = LSDClientSessionReqResMessage('LSD.ClientSession.Pong', {
102
+ devtoolsProtocolVersion: Schema.optional(Schema.Finite),
103
+ })
113
104
 
114
105
  /**
115
106
  * Sent by the app when the DevTools protocol isn't compatible.
116
107
  * Contains package versions for display and protocol versions for the actual compatibility decision.
117
108
  */
118
- export class VersionMismatch extends LSDClientSessionReqResMessage('LSD.ClientSession.VersionMismatch', {
109
+ export const VersionMismatch = LSDClientSessionReqResMessage('LSD.ClientSession.VersionMismatch', {
119
110
  /** The version running in the app */
120
111
  appVersion: Schema.String,
121
112
  /** The version that was sent by DevTools (that caused the mismatch) */
122
113
  receivedVersion: Schema.String,
123
- appDevtoolsProtocolVersion: Schema.Number,
124
- receivedDevtoolsProtocolVersion: Schema.optional(Schema.Number),
125
- }) {}
114
+ appDevtoolsProtocolVersion: Schema.Finite,
115
+ receivedDevtoolsProtocolVersion: Schema.optional(Schema.Finite),
116
+ })
126
117
 
127
- export class Disconnect extends LSDClientSessionChannelMessage('LSD.ClientSession.Disconnect', {}) {}
118
+ export const Disconnect = LSDClientSessionChannelMessage('LSD.ClientSession.Disconnect', {})
128
119
 
129
- export const MessageToApp = Schema.Union(
120
+ export const MessageToApp = Schema.Union([
130
121
  DebugInfoReq,
131
122
  DebugInfoHistorySubscribe,
132
123
  DebugInfoHistoryUnsubscribe,
@@ -140,11 +131,11 @@ export const MessageToApp = Schema.Union(
140
131
  Ping,
141
132
  SyncHeadSubscribe,
142
133
  SyncHeadUnsubscribe,
143
- ).annotations({ identifier: 'LSD.ClientSession.MessageToApp' })
134
+ ]).annotate({ identifier: 'LSD.ClientSession.MessageToApp' })
144
135
 
145
136
  export type MessageToApp = typeof MessageToApp.Type
146
137
 
147
- export const MessageFromApp = Schema.Union(
138
+ export const MessageFromApp = Schema.Union([
148
139
  DebugInfoRes,
149
140
  DebugInfoHistoryRes,
150
141
  DebugInfoResetRes,
@@ -155,6 +146,6 @@ export const MessageFromApp = Schema.Union(
155
146
  Pong,
156
147
  VersionMismatch,
157
148
  SyncHeadRes,
158
- ).annotations({ identifier: 'LSD.ClientSession.MessageFromApp' })
149
+ ]).annotate({ identifier: 'LSD.ClientSession.MessageFromApp' })
159
150
 
160
151
  export type MessageFromApp = typeof MessageFromApp.Type
@@ -15,7 +15,7 @@ export const LSDMessage = <Tag extends string, Fields extends Schema.Struct.Fiel
15
15
  Schema.TaggedStruct(tag, {
16
16
  liveStoreVersion,
17
17
  ...fields,
18
- }).annotations({ identifier: tag })
18
+ }).annotate({ identifier: tag })
19
19
 
20
20
  export const LSDChannelMessage = <Tag extends string, Fields extends Schema.Struct.Fields>(tag: Tag, fields: Fields) =>
21
21
  LSDMessage(tag, {
@@ -87,23 +87,24 @@ export const LeaderReqResMessage = <
87
87
  requestId,
88
88
  liveStoreVersion,
89
89
  ...fields.success,
90
- }).annotations({ identifier: `${tag}.Response.Success` })
90
+ }).annotate({ identifier: `${tag}.Response.Success` })
91
91
 
92
- const Error = fields.error !== undefined
93
- ? Schema.TaggedStruct(`${tag}.Response.Error`, {
94
- requestId,
95
- liveStoreVersion,
96
- ...fields.error,
97
- }).annotations({ identifier: `${tag}.Response.Error` })
98
- : Schema.Never
92
+ const Error =
93
+ fields.error !== undefined
94
+ ? Schema.TaggedStruct(`${tag}.Response.Error`, {
95
+ requestId,
96
+ liveStoreVersion,
97
+ ...fields.error,
98
+ }).annotate({ identifier: `${tag}.Response.Error` })
99
+ : Schema.Never
99
100
 
100
101
  return {
101
102
  Request: Schema.TaggedStruct(`${tag}.Request`, {
102
103
  requestId,
103
104
  liveStoreVersion,
104
105
  ...fields.payload,
105
- }).annotations({ identifier: `${tag}.Request` }),
106
- Response: Schema.Union(Success, Error),
106
+ }).annotate({ identifier: `${tag}.Request` }),
107
+ Response: Schema.Union([Success, Error]),
107
108
  Success,
108
109
  Error,
109
110
  } as any