@livestore/common 0.4.0-dev.8 → 0.4.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 (518) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/ClientSessionLeaderThreadProxy.d.ts +27 -12
  3. package/dist/ClientSessionLeaderThreadProxy.d.ts.map +1 -1
  4. package/dist/ClientSessionLeaderThreadProxy.js.map +1 -1
  5. package/dist/WorkerTransportError.d.ts +11 -0
  6. package/dist/WorkerTransportError.d.ts.map +1 -0
  7. package/dist/WorkerTransportError.js +11 -0
  8. package/dist/WorkerTransportError.js.map +1 -0
  9. package/dist/adapter-types.d.ts +37 -7
  10. package/dist/adapter-types.d.ts.map +1 -1
  11. package/dist/adapter-types.js +27 -1
  12. package/dist/adapter-types.js.map +1 -1
  13. package/dist/bounded-collections.d.ts.map +1 -1
  14. package/dist/bounded-collections.js +6 -4
  15. package/dist/bounded-collections.js.map +1 -1
  16. package/dist/debug-info.d.ts.map +1 -1
  17. package/dist/debug-info.js +33 -6
  18. package/dist/debug-info.js.map +1 -1
  19. package/dist/devtools/devtools-compatibility.test.d.ts +2 -0
  20. package/dist/devtools/devtools-compatibility.test.d.ts.map +1 -0
  21. package/dist/devtools/devtools-compatibility.test.js +15 -0
  22. package/dist/devtools/devtools-compatibility.test.js.map +1 -0
  23. package/dist/devtools/devtools-messages-client-session.d.ts +55 -24
  24. package/dist/devtools/devtools-messages-client-session.d.ts.map +1 -1
  25. package/dist/devtools/devtools-messages-client-session.js +22 -5
  26. package/dist/devtools/devtools-messages-client-session.js.map +1 -1
  27. package/dist/devtools/devtools-messages-common.d.ts +11 -14
  28. package/dist/devtools/devtools-messages-common.d.ts.map +1 -1
  29. package/dist/devtools/devtools-messages-common.js +7 -9
  30. package/dist/devtools/devtools-messages-common.js.map +1 -1
  31. package/dist/devtools/devtools-messages-leader.d.ts +65 -30
  32. package/dist/devtools/devtools-messages-leader.d.ts.map +1 -1
  33. package/dist/devtools/devtools-messages-leader.js +29 -11
  34. package/dist/devtools/devtools-messages-leader.js.map +1 -1
  35. package/dist/devtools/devtools-sessioninfo.d.ts +14 -2
  36. package/dist/devtools/devtools-sessioninfo.d.ts.map +1 -1
  37. package/dist/devtools/devtools-sessioninfo.js +7 -4
  38. package/dist/devtools/devtools-sessioninfo.js.map +1 -1
  39. package/dist/devtools/mod.d.ts +13 -2
  40. package/dist/devtools/mod.d.ts.map +1 -1
  41. package/dist/devtools/mod.js +10 -3
  42. package/dist/devtools/mod.js.map +1 -1
  43. package/dist/errors.d.ts +48 -18
  44. package/dist/errors.d.ts.map +1 -1
  45. package/dist/errors.js +20 -12
  46. package/dist/errors.js.map +1 -1
  47. package/dist/index.d.ts +4 -1
  48. package/dist/index.d.ts.map +1 -1
  49. package/dist/index.js +4 -1
  50. package/dist/index.js.map +1 -1
  51. package/dist/leader-thread/LeaderSyncProcessor.d.ts +53 -6
  52. package/dist/leader-thread/LeaderSyncProcessor.d.ts.map +1 -1
  53. package/dist/leader-thread/LeaderSyncProcessor.js +325 -257
  54. package/dist/leader-thread/LeaderSyncProcessor.js.map +1 -1
  55. package/dist/leader-thread/RejectedPushError.d.ts +107 -0
  56. package/dist/leader-thread/RejectedPushError.d.ts.map +1 -0
  57. package/dist/leader-thread/RejectedPushError.js +78 -0
  58. package/dist/leader-thread/RejectedPushError.js.map +1 -0
  59. package/dist/leader-thread/connection.js +1 -1
  60. package/dist/leader-thread/connection.js.map +1 -1
  61. package/dist/leader-thread/eventlog.d.ts +19 -14
  62. package/dist/leader-thread/eventlog.d.ts.map +1 -1
  63. package/dist/leader-thread/eventlog.js +78 -18
  64. package/dist/leader-thread/eventlog.js.map +1 -1
  65. package/dist/leader-thread/leader-worker-devtools.d.ts +1 -2
  66. package/dist/leader-thread/leader-worker-devtools.d.ts.map +1 -1
  67. package/dist/leader-thread/leader-worker-devtools.js +90 -58
  68. package/dist/leader-thread/leader-worker-devtools.js.map +1 -1
  69. package/dist/leader-thread/make-leader-thread-layer.d.ts +15 -7
  70. package/dist/leader-thread/make-leader-thread-layer.d.ts.map +1 -1
  71. package/dist/leader-thread/make-leader-thread-layer.js +49 -17
  72. package/dist/leader-thread/make-leader-thread-layer.js.map +1 -1
  73. package/dist/leader-thread/make-leader-thread-layer.test.d.ts +2 -0
  74. package/dist/leader-thread/make-leader-thread-layer.test.d.ts.map +1 -0
  75. package/dist/leader-thread/make-leader-thread-layer.test.js +32 -0
  76. package/dist/leader-thread/make-leader-thread-layer.test.js.map +1 -0
  77. package/dist/leader-thread/materialize-event.d.ts +1 -1
  78. package/dist/leader-thread/materialize-event.d.ts.map +1 -1
  79. package/dist/leader-thread/materialize-event.js +28 -9
  80. package/dist/leader-thread/materialize-event.js.map +1 -1
  81. package/dist/leader-thread/mod.d.ts +1 -0
  82. package/dist/leader-thread/mod.d.ts.map +1 -1
  83. package/dist/leader-thread/mod.js +1 -0
  84. package/dist/leader-thread/mod.js.map +1 -1
  85. package/dist/leader-thread/recreate-db.d.ts +2 -2
  86. package/dist/leader-thread/recreate-db.d.ts.map +1 -1
  87. package/dist/leader-thread/recreate-db.js +6 -6
  88. package/dist/leader-thread/recreate-db.js.map +1 -1
  89. package/dist/leader-thread/shutdown-channel.d.ts +2 -2
  90. package/dist/leader-thread/shutdown-channel.d.ts.map +1 -1
  91. package/dist/leader-thread/shutdown-channel.js +2 -2
  92. package/dist/leader-thread/shutdown-channel.js.map +1 -1
  93. package/dist/leader-thread/stream-events.d.ts +56 -0
  94. package/dist/leader-thread/stream-events.d.ts.map +1 -0
  95. package/dist/leader-thread/stream-events.js +167 -0
  96. package/dist/leader-thread/stream-events.js.map +1 -0
  97. package/dist/leader-thread/types.d.ts +95 -17
  98. package/dist/leader-thread/types.d.ts.map +1 -1
  99. package/dist/leader-thread/types.js +13 -0
  100. package/dist/leader-thread/types.js.map +1 -1
  101. package/dist/logging.d.ts +40 -0
  102. package/dist/logging.d.ts.map +1 -0
  103. package/dist/logging.js +33 -0
  104. package/dist/logging.js.map +1 -0
  105. package/dist/make-client-session.d.ts +5 -3
  106. package/dist/make-client-session.d.ts.map +1 -1
  107. package/dist/make-client-session.js +7 -4
  108. package/dist/make-client-session.js.map +1 -1
  109. package/dist/materializer-helper.d.ts +6 -6
  110. package/dist/materializer-helper.d.ts.map +1 -1
  111. package/dist/materializer-helper.js +18 -8
  112. package/dist/materializer-helper.js.map +1 -1
  113. package/dist/otel.d.ts +2 -1
  114. package/dist/otel.d.ts.map +1 -1
  115. package/dist/otel.js +7 -2
  116. package/dist/otel.js.map +1 -1
  117. package/dist/rematerialize-from-eventlog.d.ts +3 -3
  118. package/dist/rematerialize-from-eventlog.d.ts.map +1 -1
  119. package/dist/rematerialize-from-eventlog.js +40 -29
  120. package/dist/rematerialize-from-eventlog.js.map +1 -1
  121. package/dist/schema/EventDef/define.d.ts +161 -0
  122. package/dist/schema/EventDef/define.d.ts.map +1 -0
  123. package/dist/schema/EventDef/define.js +140 -0
  124. package/dist/schema/EventDef/define.js.map +1 -0
  125. package/dist/schema/EventDef/deprecated.d.ts +99 -0
  126. package/dist/schema/EventDef/deprecated.d.ts.map +1 -0
  127. package/dist/schema/EventDef/deprecated.js +144 -0
  128. package/dist/schema/EventDef/deprecated.js.map +1 -0
  129. package/dist/schema/EventDef/deprecated.test.d.ts +2 -0
  130. package/dist/schema/EventDef/deprecated.test.d.ts.map +1 -0
  131. package/dist/schema/EventDef/deprecated.test.js +95 -0
  132. package/dist/schema/EventDef/deprecated.test.js.map +1 -0
  133. package/dist/schema/EventDef/event-def.d.ts +110 -0
  134. package/dist/schema/EventDef/event-def.d.ts.map +1 -0
  135. package/dist/schema/EventDef/event-def.js +2 -0
  136. package/dist/schema/EventDef/event-def.js.map +1 -0
  137. package/dist/schema/EventDef/facts.d.ts +118 -0
  138. package/dist/schema/EventDef/facts.d.ts.map +1 -0
  139. package/dist/schema/EventDef/facts.js +53 -0
  140. package/dist/schema/EventDef/facts.js.map +1 -0
  141. package/dist/schema/EventDef/materializer.d.ts +155 -0
  142. package/dist/schema/EventDef/materializer.d.ts.map +1 -0
  143. package/dist/schema/EventDef/materializer.js +83 -0
  144. package/dist/schema/EventDef/materializer.js.map +1 -0
  145. package/dist/schema/EventDef/mod.d.ts +6 -0
  146. package/dist/schema/EventDef/mod.d.ts.map +1 -0
  147. package/dist/schema/EventDef/mod.js +6 -0
  148. package/dist/schema/EventDef/mod.js.map +1 -0
  149. package/dist/schema/EventSequenceNumber/client.d.ts +136 -0
  150. package/dist/schema/EventSequenceNumber/client.d.ts.map +1 -0
  151. package/dist/schema/EventSequenceNumber/client.js +193 -0
  152. package/dist/schema/EventSequenceNumber/client.js.map +1 -0
  153. package/dist/schema/EventSequenceNumber/global.d.ts +15 -0
  154. package/dist/schema/EventSequenceNumber/global.d.ts.map +1 -0
  155. package/dist/schema/EventSequenceNumber/global.js +14 -0
  156. package/dist/schema/EventSequenceNumber/global.js.map +1 -0
  157. package/dist/schema/EventSequenceNumber/mod.d.ts +37 -0
  158. package/dist/schema/EventSequenceNumber/mod.d.ts.map +1 -0
  159. package/dist/schema/EventSequenceNumber/mod.js +37 -0
  160. package/dist/schema/EventSequenceNumber/mod.js.map +1 -0
  161. package/dist/schema/EventSequenceNumber.test.js +44 -44
  162. package/dist/schema/EventSequenceNumber.test.js.map +1 -1
  163. package/dist/schema/{LiveStoreEvent.d.ts → LiveStoreEvent/client.d.ts} +102 -111
  164. package/dist/schema/LiveStoreEvent/client.d.ts.map +1 -0
  165. package/dist/schema/LiveStoreEvent/client.js +176 -0
  166. package/dist/schema/LiveStoreEvent/client.js.map +1 -0
  167. package/dist/schema/LiveStoreEvent/client.test.d.ts +2 -0
  168. package/dist/schema/LiveStoreEvent/client.test.d.ts.map +1 -0
  169. package/dist/schema/LiveStoreEvent/client.test.js +111 -0
  170. package/dist/schema/LiveStoreEvent/client.test.js.map +1 -0
  171. package/dist/schema/LiveStoreEvent/for-event-def.d.ts +52 -0
  172. package/dist/schema/LiveStoreEvent/for-event-def.d.ts.map +1 -0
  173. package/dist/schema/LiveStoreEvent/for-event-def.js +2 -0
  174. package/dist/schema/LiveStoreEvent/for-event-def.js.map +1 -0
  175. package/dist/schema/LiveStoreEvent/global.d.ts +36 -0
  176. package/dist/schema/LiveStoreEvent/global.d.ts.map +1 -0
  177. package/dist/schema/LiveStoreEvent/global.js +31 -0
  178. package/dist/schema/LiveStoreEvent/global.js.map +1 -0
  179. package/dist/schema/LiveStoreEvent/input.d.ts +46 -0
  180. package/dist/schema/LiveStoreEvent/input.d.ts.map +1 -0
  181. package/dist/schema/LiveStoreEvent/input.js +26 -0
  182. package/dist/schema/LiveStoreEvent/input.js.map +1 -0
  183. package/dist/schema/LiveStoreEvent/mod.d.ts +5 -0
  184. package/dist/schema/LiveStoreEvent/mod.d.ts.map +1 -0
  185. package/dist/schema/LiveStoreEvent/mod.js +5 -0
  186. package/dist/schema/LiveStoreEvent/mod.js.map +1 -0
  187. package/dist/schema/events.d.ts +1 -1
  188. package/dist/schema/events.d.ts.map +1 -1
  189. package/dist/schema/events.js +1 -1
  190. package/dist/schema/events.js.map +1 -1
  191. package/dist/schema/mod.d.ts +6 -4
  192. package/dist/schema/mod.d.ts.map +1 -1
  193. package/dist/schema/mod.js +5 -4
  194. package/dist/schema/mod.js.map +1 -1
  195. package/dist/schema/schema.d.ts +16 -1
  196. package/dist/schema/schema.d.ts.map +1 -1
  197. package/dist/schema/schema.js +32 -4
  198. package/dist/schema/schema.js.map +1 -1
  199. package/dist/schema/state/sqlite/client-document-def.d.ts +2 -1
  200. package/dist/schema/state/sqlite/client-document-def.d.ts.map +1 -1
  201. package/dist/schema/state/sqlite/client-document-def.js +36 -15
  202. package/dist/schema/state/sqlite/client-document-def.js.map +1 -1
  203. package/dist/schema/state/sqlite/client-document-def.test.js +121 -2
  204. package/dist/schema/state/sqlite/client-document-def.test.js.map +1 -1
  205. package/dist/schema/state/sqlite/column-annotations.d.ts.map +1 -1
  206. package/dist/schema/state/sqlite/column-annotations.js +1 -1
  207. package/dist/schema/state/sqlite/column-annotations.js.map +1 -1
  208. package/dist/schema/state/sqlite/column-annotations.test.js +2 -2
  209. package/dist/schema/state/sqlite/column-annotations.test.js.map +1 -1
  210. package/dist/schema/state/sqlite/column-def.d.ts.map +1 -1
  211. package/dist/schema/state/sqlite/column-def.js +96 -47
  212. package/dist/schema/state/sqlite/column-def.js.map +1 -1
  213. package/dist/schema/state/sqlite/column-def.test.js +51 -12
  214. package/dist/schema/state/sqlite/column-def.test.js.map +1 -1
  215. package/dist/schema/state/sqlite/column-spec.d.ts.map +1 -1
  216. package/dist/schema/state/sqlite/column-spec.js +30 -12
  217. package/dist/schema/state/sqlite/column-spec.js.map +1 -1
  218. package/dist/schema/state/sqlite/column-spec.test.js +24 -15
  219. package/dist/schema/state/sqlite/column-spec.test.js.map +1 -1
  220. package/dist/schema/state/sqlite/db-schema/ast/sqlite.js +2 -2
  221. package/dist/schema/state/sqlite/db-schema/ast/sqlite.js.map +1 -1
  222. package/dist/schema/state/sqlite/db-schema/dsl/field-defs.d.ts +16 -10
  223. package/dist/schema/state/sqlite/db-schema/dsl/field-defs.d.ts.map +1 -1
  224. package/dist/schema/state/sqlite/db-schema/dsl/field-defs.js +15 -4
  225. package/dist/schema/state/sqlite/db-schema/dsl/field-defs.js.map +1 -1
  226. package/dist/schema/state/sqlite/db-schema/dsl/field-defs.test.js +1 -1
  227. package/dist/schema/state/sqlite/db-schema/dsl/field-defs.test.js.map +1 -1
  228. package/dist/schema/state/sqlite/db-schema/dsl/mod.d.ts +1 -1
  229. package/dist/schema/state/sqlite/db-schema/dsl/mod.d.ts.map +1 -1
  230. package/dist/schema/state/sqlite/db-schema/dsl/mod.js +1 -1
  231. package/dist/schema/state/sqlite/db-schema/dsl/mod.js.map +1 -1
  232. package/dist/schema/state/sqlite/mod.d.ts +2 -2
  233. package/dist/schema/state/sqlite/mod.d.ts.map +1 -1
  234. package/dist/schema/state/sqlite/mod.js +5 -7
  235. package/dist/schema/state/sqlite/mod.js.map +1 -1
  236. package/dist/schema/state/sqlite/query-builder/api.d.ts +51 -22
  237. package/dist/schema/state/sqlite/query-builder/api.d.ts.map +1 -1
  238. package/dist/schema/state/sqlite/query-builder/astToSql.d.ts.map +1 -1
  239. package/dist/schema/state/sqlite/query-builder/astToSql.js +99 -22
  240. package/dist/schema/state/sqlite/query-builder/astToSql.js.map +1 -1
  241. package/dist/schema/state/sqlite/query-builder/impl.d.ts +1 -1
  242. package/dist/schema/state/sqlite/query-builder/impl.d.ts.map +1 -1
  243. package/dist/schema/state/sqlite/query-builder/impl.js +28 -15
  244. package/dist/schema/state/sqlite/query-builder/impl.js.map +1 -1
  245. package/dist/schema/state/sqlite/query-builder/impl.test.js +231 -93
  246. package/dist/schema/state/sqlite/query-builder/impl.test.js.map +1 -1
  247. package/dist/schema/state/sqlite/schema-helpers.d.ts +2 -2
  248. package/dist/schema/state/sqlite/schema-helpers.d.ts.map +1 -1
  249. package/dist/schema/state/sqlite/schema-helpers.js +24 -14
  250. package/dist/schema/state/sqlite/schema-helpers.js.map +1 -1
  251. package/dist/schema/state/sqlite/schema-helpers.test.d.ts +2 -0
  252. package/dist/schema/state/sqlite/schema-helpers.test.d.ts.map +1 -0
  253. package/dist/schema/state/sqlite/schema-helpers.test.js +36 -0
  254. package/dist/schema/state/sqlite/schema-helpers.test.js.map +1 -0
  255. package/dist/schema/state/sqlite/{system-tables.d.ts → system-tables/eventlog-tables.d.ts} +21 -450
  256. package/dist/schema/state/sqlite/system-tables/eventlog-tables.d.ts.map +1 -0
  257. package/dist/schema/state/sqlite/system-tables/eventlog-tables.js +54 -0
  258. package/dist/schema/state/sqlite/system-tables/eventlog-tables.js.map +1 -0
  259. package/dist/schema/state/sqlite/system-tables/mod.d.ts +3 -0
  260. package/dist/schema/state/sqlite/system-tables/mod.d.ts.map +1 -0
  261. package/dist/schema/state/sqlite/system-tables/mod.js +3 -0
  262. package/dist/schema/state/sqlite/system-tables/mod.js.map +1 -0
  263. package/dist/schema/state/sqlite/system-tables/state-tables.d.ts +456 -0
  264. package/dist/schema/state/sqlite/system-tables/state-tables.d.ts.map +1 -0
  265. package/dist/schema/state/sqlite/system-tables/state-tables.js +55 -0
  266. package/dist/schema/state/sqlite/system-tables/state-tables.js.map +1 -0
  267. package/dist/schema/state/sqlite/table-def.d.ts +5 -3
  268. package/dist/schema/state/sqlite/table-def.d.ts.map +1 -1
  269. package/dist/schema/state/sqlite/table-def.js +1 -1
  270. package/dist/schema/state/sqlite/table-def.js.map +1 -1
  271. package/dist/schema/state/sqlite/table-def.test.js +92 -3
  272. package/dist/schema/state/sqlite/table-def.test.js.map +1 -1
  273. package/dist/schema/unknown-events.d.ts +47 -0
  274. package/dist/schema/unknown-events.d.ts.map +1 -0
  275. package/dist/schema/unknown-events.js +69 -0
  276. package/dist/schema/unknown-events.js.map +1 -0
  277. package/dist/schema-management/__tests__/migrations-autoincrement-quoting.test.d.ts +2 -0
  278. package/dist/schema-management/__tests__/migrations-autoincrement-quoting.test.d.ts.map +1 -0
  279. package/dist/schema-management/__tests__/migrations-autoincrement-quoting.test.js +73 -0
  280. package/dist/schema-management/__tests__/migrations-autoincrement-quoting.test.js.map +1 -0
  281. package/dist/schema-management/common.js +2 -2
  282. package/dist/schema-management/common.js.map +1 -1
  283. package/dist/schema-management/migrations.d.ts +32 -2
  284. package/dist/schema-management/migrations.d.ts.map +1 -1
  285. package/dist/schema-management/migrations.js +38 -6
  286. package/dist/schema-management/migrations.js.map +1 -1
  287. package/dist/schema-management/validate-schema.d.ts +3 -3
  288. package/dist/schema-management/validate-schema.d.ts.map +1 -1
  289. package/dist/schema-management/validate-schema.js +2 -2
  290. package/dist/schema-management/validate-schema.js.map +1 -1
  291. package/dist/sql-queries/sql-queries.d.ts.map +1 -1
  292. package/dist/sql-queries/sql-queries.js +18 -6
  293. package/dist/sql-queries/sql-queries.js.map +1 -1
  294. package/dist/sql-queries/sql-query-builder.d.ts.map +1 -1
  295. package/dist/sql-queries/sql-query-builder.js.map +1 -1
  296. package/dist/sqlite-db-helper.js +3 -3
  297. package/dist/sqlite-db-helper.js.map +1 -1
  298. package/dist/sqlite-types.d.ts +5 -5
  299. package/dist/sqlite-types.d.ts.map +1 -1
  300. package/dist/sqlite-types.js.map +1 -1
  301. package/dist/sync/ClientSessionSyncProcessor.d.ts +12 -12
  302. package/dist/sync/ClientSessionSyncProcessor.d.ts.map +1 -1
  303. package/dist/sync/ClientSessionSyncProcessor.js +99 -114
  304. package/dist/sync/ClientSessionSyncProcessor.js.map +1 -1
  305. package/dist/sync/errors.d.ts +0 -33
  306. package/dist/sync/errors.d.ts.map +1 -1
  307. package/dist/sync/errors.js +5 -22
  308. package/dist/sync/errors.js.map +1 -1
  309. package/dist/sync/index.d.ts +2 -0
  310. package/dist/sync/index.d.ts.map +1 -1
  311. package/dist/sync/index.js +2 -0
  312. package/dist/sync/index.js.map +1 -1
  313. package/dist/sync/mock-sync-backend.d.ts +10 -8
  314. package/dist/sync/mock-sync-backend.d.ts.map +1 -1
  315. package/dist/sync/mock-sync-backend.js +71 -69
  316. package/dist/sync/mock-sync-backend.js.map +1 -1
  317. package/dist/sync/next/compact-events.d.ts.map +1 -1
  318. package/dist/sync/next/compact-events.js +11 -12
  319. package/dist/sync/next/compact-events.js.map +1 -1
  320. package/dist/sync/next/facts.d.ts +5 -5
  321. package/dist/sync/next/facts.d.ts.map +1 -1
  322. package/dist/sync/next/facts.js +7 -8
  323. package/dist/sync/next/facts.js.map +1 -1
  324. package/dist/sync/next/history-dag-common.d.ts +54 -15
  325. package/dist/sync/next/history-dag-common.d.ts.map +1 -1
  326. package/dist/sync/next/history-dag-common.js +198 -9
  327. package/dist/sync/next/history-dag-common.js.map +1 -1
  328. package/dist/sync/next/history-dag.d.ts.map +1 -1
  329. package/dist/sync/next/history-dag.js +11 -11
  330. package/dist/sync/next/history-dag.js.map +1 -1
  331. package/dist/sync/next/rebase-events.d.ts +5 -5
  332. package/dist/sync/next/rebase-events.d.ts.map +1 -1
  333. package/dist/sync/next/rebase-events.js +6 -6
  334. package/dist/sync/next/rebase-events.js.map +1 -1
  335. package/dist/sync/next/test/compact-events.calculator.test.js +2 -2
  336. package/dist/sync/next/test/compact-events.calculator.test.js.map +1 -1
  337. package/dist/sync/next/test/compact-events.test.d.ts.map +1 -1
  338. package/dist/sync/next/test/compact-events.test.js +2 -2
  339. package/dist/sync/next/test/compact-events.test.js.map +1 -1
  340. package/dist/sync/next/test/event-fixtures.d.ts +2 -2
  341. package/dist/sync/next/test/event-fixtures.d.ts.map +1 -1
  342. package/dist/sync/next/test/event-fixtures.js +11 -11
  343. package/dist/sync/next/test/event-fixtures.js.map +1 -1
  344. package/dist/sync/sync-backend-kv.d.ts +3 -3
  345. package/dist/sync/sync-backend-kv.d.ts.map +1 -1
  346. package/dist/sync/sync-backend-kv.js +3 -3
  347. package/dist/sync/sync-backend-kv.js.map +1 -1
  348. package/dist/sync/sync-backend.d.ts +33 -13
  349. package/dist/sync/sync-backend.d.ts.map +1 -1
  350. package/dist/sync/sync-backend.js +38 -1
  351. package/dist/sync/sync-backend.js.map +1 -1
  352. package/dist/sync/sync.d.ts +23 -2
  353. package/dist/sync/sync.d.ts.map +1 -1
  354. package/dist/sync/syncstate.d.ts +55 -55
  355. package/dist/sync/syncstate.d.ts.map +1 -1
  356. package/dist/sync/syncstate.js +80 -98
  357. package/dist/sync/syncstate.js.map +1 -1
  358. package/dist/sync/syncstate.test.js +221 -132
  359. package/dist/sync/syncstate.test.js.map +1 -1
  360. package/dist/sync/transport-chunking.d.ts +36 -0
  361. package/dist/sync/transport-chunking.d.ts.map +1 -0
  362. package/dist/sync/transport-chunking.js +56 -0
  363. package/dist/sync/transport-chunking.js.map +1 -0
  364. package/dist/sync/validate-push-payload.d.ts +2 -2
  365. package/dist/sync/validate-push-payload.d.ts.map +1 -1
  366. package/dist/sync/validate-push-payload.js +4 -6
  367. package/dist/sync/validate-push-payload.js.map +1 -1
  368. package/dist/testing/event-factory.d.ts +68 -0
  369. package/dist/testing/event-factory.d.ts.map +1 -0
  370. package/dist/testing/event-factory.js +78 -0
  371. package/dist/testing/event-factory.js.map +1 -0
  372. package/dist/testing/mod.d.ts +2 -0
  373. package/dist/testing/mod.d.ts.map +1 -0
  374. package/dist/testing/mod.js +2 -0
  375. package/dist/testing/mod.js.map +1 -0
  376. package/dist/util.js +2 -2
  377. package/dist/util.js.map +1 -1
  378. package/dist/version.d.ts +24 -5
  379. package/dist/version.d.ts.map +1 -1
  380. package/dist/version.js +25 -8
  381. package/dist/version.js.map +1 -1
  382. package/package.json +69 -16
  383. package/src/ClientSessionLeaderThreadProxy.ts +27 -12
  384. package/src/WorkerTransportError.ts +12 -0
  385. package/src/adapter-types.ts +50 -7
  386. package/src/bounded-collections.ts +6 -5
  387. package/src/debug-info.ts +37 -6
  388. package/src/devtools/devtools-compatibility.test.ts +18 -0
  389. package/src/devtools/devtools-messages-client-session.ts +22 -4
  390. package/src/devtools/devtools-messages-common.ts +7 -12
  391. package/src/devtools/devtools-messages-leader.ts +29 -10
  392. package/src/devtools/devtools-sessioninfo.ts +8 -5
  393. package/src/devtools/mod.ts +11 -2
  394. package/src/errors.ts +32 -24
  395. package/src/index.ts +4 -1
  396. package/src/leader-thread/LeaderSyncProcessor.ts +523 -373
  397. package/src/leader-thread/RejectedPushError.ts +106 -0
  398. package/src/leader-thread/connection.ts +1 -1
  399. package/src/leader-thread/eventlog.ts +112 -39
  400. package/src/leader-thread/leader-worker-devtools.ts +201 -120
  401. package/src/leader-thread/make-leader-thread-layer.test.ts +44 -0
  402. package/src/leader-thread/make-leader-thread-layer.ts +125 -40
  403. package/src/leader-thread/materialize-event.ts +40 -10
  404. package/src/leader-thread/mod.ts +1 -0
  405. package/src/leader-thread/recreate-db.ts +7 -7
  406. package/src/leader-thread/shutdown-channel.ts +4 -8
  407. package/src/leader-thread/stream-events.ts +206 -0
  408. package/src/leader-thread/types.ts +68 -18
  409. package/src/logging.ts +62 -0
  410. package/src/make-client-session.ts +11 -5
  411. package/src/materializer-helper.ts +27 -16
  412. package/src/otel.ts +13 -2
  413. package/src/rematerialize-from-eventlog.ts +61 -51
  414. package/src/schema/EventDef/define.ts +217 -0
  415. package/src/schema/EventDef/deprecated.test.ts +129 -0
  416. package/src/schema/EventDef/deprecated.ts +175 -0
  417. package/src/schema/EventDef/event-def.ts +125 -0
  418. package/src/schema/EventDef/facts.ts +135 -0
  419. package/src/schema/EventDef/materializer.ts +172 -0
  420. package/src/schema/EventDef/mod.ts +5 -0
  421. package/src/schema/EventSequenceNumber/client.ts +257 -0
  422. package/src/schema/EventSequenceNumber/global.ts +19 -0
  423. package/src/schema/EventSequenceNumber/mod.ts +37 -0
  424. package/src/schema/EventSequenceNumber.test.ts +72 -53
  425. package/src/schema/LiveStoreEvent/client.test.ts +129 -0
  426. package/src/schema/LiveStoreEvent/client.ts +235 -0
  427. package/src/schema/LiveStoreEvent/for-event-def.ts +60 -0
  428. package/src/schema/LiveStoreEvent/global.ts +45 -0
  429. package/src/schema/LiveStoreEvent/input.ts +63 -0
  430. package/src/schema/LiveStoreEvent/mod.ts +4 -0
  431. package/src/schema/events.ts +1 -1
  432. package/src/schema/mod.ts +6 -4
  433. package/src/schema/schema.ts +46 -5
  434. package/src/schema/state/sqlite/client-document-def.test.ts +144 -5
  435. package/src/schema/state/sqlite/client-document-def.ts +47 -34
  436. package/src/schema/state/sqlite/column-annotations.test.ts +3 -2
  437. package/src/schema/state/sqlite/column-annotations.ts +2 -1
  438. package/src/schema/state/sqlite/column-def.test.ts +66 -12
  439. package/src/schema/state/sqlite/column-def.ts +119 -47
  440. package/src/schema/state/sqlite/column-spec.test.ts +32 -17
  441. package/src/schema/state/sqlite/column-spec.ts +37 -11
  442. package/src/schema/state/sqlite/db-schema/ast/sqlite.ts +2 -2
  443. package/src/schema/state/sqlite/db-schema/dsl/field-defs.test.ts +2 -1
  444. package/src/schema/state/sqlite/db-schema/dsl/field-defs.ts +41 -15
  445. package/src/schema/state/sqlite/db-schema/dsl/mod.ts +13 -19
  446. package/src/schema/state/sqlite/mod.ts +7 -8
  447. package/src/schema/state/sqlite/query-builder/api.ts +55 -17
  448. package/src/schema/state/sqlite/query-builder/astToSql.ts +110 -21
  449. package/src/schema/state/sqlite/query-builder/impl.test.ts +267 -93
  450. package/src/schema/state/sqlite/query-builder/impl.ts +26 -13
  451. package/src/schema/state/sqlite/schema-helpers.test.ts +44 -0
  452. package/src/schema/state/sqlite/schema-helpers.ts +30 -22
  453. package/src/schema/state/sqlite/system-tables/eventlog-tables.ts +64 -0
  454. package/src/schema/state/sqlite/system-tables/mod.ts +2 -0
  455. package/src/schema/state/sqlite/system-tables/state-tables.ts +69 -0
  456. package/src/schema/state/sqlite/table-def.test.ts +114 -3
  457. package/src/schema/state/sqlite/table-def.ts +16 -22
  458. package/src/schema/unknown-events.ts +131 -0
  459. package/src/schema-management/__tests__/migrations-autoincrement-quoting.test.ts +88 -0
  460. package/src/schema-management/common.ts +2 -2
  461. package/src/schema-management/migrations.ts +42 -9
  462. package/src/schema-management/validate-schema.ts +3 -3
  463. package/src/sql-queries/sql-queries.ts +18 -6
  464. package/src/sql-queries/sql-query-builder.ts +1 -0
  465. package/src/sqlite-db-helper.ts +3 -3
  466. package/src/sqlite-types.ts +6 -5
  467. package/src/sync/ClientSessionSyncProcessor.ts +152 -142
  468. package/src/sync/errors.ts +12 -24
  469. package/src/sync/index.ts +2 -0
  470. package/src/sync/mock-sync-backend.ts +146 -104
  471. package/src/sync/next/compact-events.ts +10 -11
  472. package/src/sync/next/facts.ts +13 -14
  473. package/src/sync/next/history-dag-common.ts +280 -26
  474. package/src/sync/next/history-dag.ts +17 -13
  475. package/src/sync/next/rebase-events.ts +12 -12
  476. package/src/sync/next/test/compact-events.calculator.test.ts +3 -2
  477. package/src/sync/next/test/compact-events.test.ts +4 -3
  478. package/src/sync/next/test/event-fixtures.ts +13 -13
  479. package/src/sync/sync-backend-kv.ts +4 -3
  480. package/src/sync/sync-backend.ts +66 -17
  481. package/src/sync/sync.ts +24 -2
  482. package/src/sync/syncstate.test.ts +583 -419
  483. package/src/sync/syncstate.ts +127 -122
  484. package/src/sync/transport-chunking.ts +90 -0
  485. package/src/sync/validate-push-payload.ts +6 -8
  486. package/src/testing/event-factory.ts +131 -0
  487. package/src/testing/mod.ts +1 -0
  488. package/src/util.ts +2 -2
  489. package/src/version.ts +33 -8
  490. package/dist/schema/EventDef.d.ts +0 -126
  491. package/dist/schema/EventDef.d.ts.map +0 -1
  492. package/dist/schema/EventDef.js +0 -46
  493. package/dist/schema/EventDef.js.map +0 -1
  494. package/dist/schema/EventSequenceNumber.d.ts +0 -80
  495. package/dist/schema/EventSequenceNumber.d.ts.map +0 -1
  496. package/dist/schema/EventSequenceNumber.js +0 -139
  497. package/dist/schema/EventSequenceNumber.js.map +0 -1
  498. package/dist/schema/LiveStoreEvent.d.ts.map +0 -1
  499. package/dist/schema/LiveStoreEvent.js +0 -147
  500. package/dist/schema/LiveStoreEvent.js.map +0 -1
  501. package/dist/schema/state/sqlite/system-tables.d.ts.map +0 -1
  502. package/dist/schema/state/sqlite/system-tables.js +0 -81
  503. package/dist/schema/state/sqlite/system-tables.js.map +0 -1
  504. package/dist/sync/next/graphology.d.ts +0 -8
  505. package/dist/sync/next/graphology.d.ts.map +0 -1
  506. package/dist/sync/next/graphology.js +0 -30
  507. package/dist/sync/next/graphology.js.map +0 -1
  508. package/dist/sync/next/graphology_.d.ts +0 -3
  509. package/dist/sync/next/graphology_.d.ts.map +0 -1
  510. package/dist/sync/next/graphology_.js +0 -3
  511. package/dist/sync/next/graphology_.js.map +0 -1
  512. package/src/schema/EventDef.ts +0 -222
  513. package/src/schema/EventSequenceNumber.ts +0 -199
  514. package/src/schema/LiveStoreEvent.ts +0 -286
  515. package/src/schema/state/sqlite/system-tables.ts +0 -106
  516. package/src/sync/next/ambient.d.ts +0 -3
  517. package/src/sync/next/graphology.ts +0 -41
  518. package/src/sync/next/graphology_.ts +0 -2
@@ -1,33 +1,48 @@
1
- import type { Effect, Stream } from '@livestore/utils/effect';
1
+ import type { Effect, Stream, Subscribable } from '@livestore/utils/effect';
2
+ import type { StorageMode } from './adapter-types.ts';
2
3
  import type { MigrationsReport } from './defs.ts';
3
4
  import type * as Devtools from './devtools/mod.ts';
4
- import type { UnexpectedError } from './errors.ts';
5
- import type * as EventSequenceNumber from './schema/EventSequenceNumber.ts';
5
+ import type { StreamEventsOptions } from './leader-thread/types.ts';
6
+ import type * as EventSequenceNumber from './schema/EventSequenceNumber/mod.ts';
6
7
  import type { LiveStoreEvent } from './schema/mod.ts';
7
- import type { LeaderAheadError } from './sync/sync.ts';
8
+ import type { RejectedPushError } from './leader-thread/RejectedPushError.ts';
9
+ import type { SyncBackend } from './sync/sync.ts';
8
10
  import type { PayloadUpstream, SyncState } from './sync/syncstate.ts';
9
11
  export interface ClientSessionLeaderThreadProxy {
10
12
  events: {
11
13
  pull: (args: {
12
- cursor: EventSequenceNumber.EventSequenceNumber;
14
+ cursor: EventSequenceNumber.Client.Composite;
13
15
  }) => Stream.Stream<{
14
16
  payload: typeof PayloadUpstream.Type;
15
- }, UnexpectedError>;
17
+ }>;
16
18
  /** It's important that a client session doesn't call `push` concurrently. */
17
- push(batch: ReadonlyArray<LiveStoreEvent.AnyEncoded>): Effect.Effect<void, UnexpectedError | LeaderAheadError>;
19
+ push(batch: ReadonlyArray<LiveStoreEvent.Client.Encoded>): Effect.Effect<void, RejectedPushError>;
20
+ /** Stream events with filtering */
21
+ stream(options: StreamEventsOptions): Stream.Stream<LiveStoreEvent.Client.Encoded>;
18
22
  };
19
23
  /** The initial state after the leader thread has booted */
20
24
  readonly initialState: {
21
25
  /** The latest event sequence number during boot. Used for the client session to resume syncing. */
22
- readonly leaderHead: EventSequenceNumber.EventSequenceNumber;
26
+ readonly leaderHead: EventSequenceNumber.Client.Composite;
23
27
  /** The migrations report from the leader thread */
24
28
  readonly migrationsReport: MigrationsReport;
29
+ /**
30
+ * Indicates how data is being stored.
31
+ * - `persisted`: Data is persisted to disk (e.g., via OPFS)
32
+ * - `in-memory`: Data is only stored in memory and will be lost on page refresh (e.g., private browsing)
33
+ */
34
+ readonly storageMode: StorageMode;
25
35
  };
26
- export: Effect.Effect<Uint8Array<ArrayBuffer>, UnexpectedError>;
27
- getEventlogData: Effect.Effect<Uint8Array<ArrayBuffer>, UnexpectedError>;
28
- getSyncState: Effect.Effect<SyncState, UnexpectedError>;
36
+ export: Effect.Effect<Uint8Array<ArrayBuffer>>;
37
+ getEventlogData: Effect.Effect<Uint8Array<ArrayBuffer>>;
38
+ syncState: Subscribable.Subscribable<SyncState>;
29
39
  /** For debugging purposes it can be useful to manually trigger devtools messages (e.g. to reset the database) */
30
- sendDevtoolsMessage: (message: Devtools.Leader.MessageToApp) => Effect.Effect<void, UnexpectedError>;
40
+ sendDevtoolsMessage: (message: Devtools.Leader.MessageToApp) => Effect.Effect<void>;
41
+ /**
42
+ * Reactive stream describing the connectivity between the leader and its upstream sync backend.
43
+ * Includes raw connection state, last transition timestamp, and devtools overrides (latch state).
44
+ */
45
+ networkStatus: Subscribable.Subscribable<SyncBackend.NetworkStatus>;
31
46
  }
32
47
  export declare const of: (proxy: ClientSessionLeaderThreadProxy, options?: {
33
48
  overrides?: (original: ClientSessionLeaderThreadProxy) => Partial<ClientSessionLeaderThreadProxy>;
@@ -1 +1 @@
1
- {"version":3,"file":"ClientSessionLeaderThreadProxy.d.ts","sourceRoot":"","sources":["../src/ClientSessionLeaderThreadProxy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAE7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AACjD,OAAO,KAAK,KAAK,QAAQ,MAAM,mBAAmB,CAAA;AAClD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,KAAK,KAAK,mBAAmB,MAAM,iCAAiC,CAAA;AAC3E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AACrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAErE,MAAM,WAAW,8BAA8B;IAC7C,MAAM,EAAE;QACN,IAAI,EAAE,CAAC,IAAI,EAAE;YACX,MAAM,EAAE,mBAAmB,CAAC,mBAAmB,CAAA;SAChD,KAAK,MAAM,CAAC,MAAM,CAAC;YAAE,OAAO,EAAE,OAAO,eAAe,CAAC,IAAI,CAAA;SAAE,EAAE,eAAe,CAAC,CAAA;QAC9E,6EAA6E;QAC7E,IAAI,CAAC,KAAK,EAAE,aAAa,CAAC,cAAc,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe,GAAG,gBAAgB,CAAC,CAAA;KAC/G,CAAA;IACD,2DAA2D;IAC3D,QAAQ,CAAC,YAAY,EAAE;QACrB,mGAAmG;QACnG,QAAQ,CAAC,UAAU,EAAE,mBAAmB,CAAC,mBAAmB,CAAA;QAC5D,mDAAmD;QACnD,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAA;KAC5C,CAAA;IACD,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,eAAe,CAAC,CAAA;IAC/D,eAAe,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,eAAe,CAAC,CAAA;IACxE,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,eAAe,CAAC,CAAA;IACvD,iHAAiH;IACjH,mBAAmB,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,YAAY,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe,CAAC,CAAA;CACrG;AAED,eAAO,MAAM,EAAE,GACb,OAAO,8BAA8B,EACrC,UAAU;IAAE,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,8BAA8B,KAAK,OAAO,CAAC,8BAA8B,CAAC,CAAA;CAAE,KAC9G,8BAIF,CAAA"}
1
+ {"version":3,"file":"ClientSessionLeaderThreadProxy.d.ts","sourceRoot":"","sources":["../src/ClientSessionLeaderThreadProxy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAE3E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AACjD,OAAO,KAAK,KAAK,QAAQ,MAAM,mBAAmB,CAAA;AAClD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AACnE,OAAO,KAAK,KAAK,mBAAmB,MAAM,qCAAqC,CAAA;AAC/E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AACrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAA;AAC7E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAErE,MAAM,WAAW,8BAA8B;IAC7C,MAAM,EAAE;QACN,IAAI,EAAE,CAAC,IAAI,EAAE;YACX,MAAM,EAAE,mBAAmB,CAAC,MAAM,CAAC,SAAS,CAAA;SAC7C,KAAK,MAAM,CAAC,MAAM,CAAC;YAAE,OAAO,EAAE,OAAO,eAAe,CAAC,IAAI,CAAA;SAAE,CAAC,CAAA;QAC7D,6EAA6E;QAC7E,IAAI,CAAC,KAAK,EAAE,aAAa,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAA;QACjG,mCAAmC;QACnC,MAAM,CAAC,OAAO,EAAE,mBAAmB,GAAG,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;KACnF,CAAA;IACD,2DAA2D;IAC3D,QAAQ,CAAC,YAAY,EAAE;QACrB,mGAAmG;QACnG,QAAQ,CAAC,UAAU,EAAE,mBAAmB,CAAC,MAAM,CAAC,SAAS,CAAA;QACzD,mDAAmD;QACnD,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAA;QAC3C;;;;WAIG;QACH,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAA;KAClC,CAAA;IACD,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAA;IAC9C,eAAe,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAA;IACvD,SAAS,EAAE,YAAY,CAAC,YAAY,CAAC,SAAS,CAAC,CAAA;IAC/C,iHAAiH;IACjH,mBAAmB,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,YAAY,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACnF;;;OAGG;IACH,aAAa,EAAE,YAAY,CAAC,YAAY,CAAC,WAAW,CAAC,aAAa,CAAC,CAAA;CACpE;AAED,eAAO,MAAM,EAAE,GACb,OAAO,8BAA8B,EACrC,UAAU;IAAE,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,8BAA8B,KAAK,OAAO,CAAC,8BAA8B,CAAC,CAAA;CAAE,KAC9G,8BAIF,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"ClientSessionLeaderThreadProxy.js","sourceRoot":"","sources":["../src/ClientSessionLeaderThreadProxy.ts"],"names":[],"mappings":"AAgCA,MAAM,CAAC,MAAM,EAAE,GAAG,CAChB,KAAqC,EACrC,OAA+G,EAC/E,EAAE;IAClC,IAAI,OAAO,EAAE,SAAS,KAAK,SAAS;QAAE,OAAO,KAAK,CAAA;IAElD,OAAO,EAAE,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAA;AAClD,CAAC,CAAA"}
1
+ {"version":3,"file":"ClientSessionLeaderThreadProxy.js","sourceRoot":"","sources":["../src/ClientSessionLeaderThreadProxy.ts"],"names":[],"mappings":"AA+CA,MAAM,CAAC,MAAM,EAAE,GAAG,CAChB,KAAqC,EACrC,OAA+G,EAC/E,EAAE;IAClC,IAAI,OAAO,EAAE,SAAS,KAAK,SAAS;QAAE,OAAO,KAAK,CAAA;IAElD,OAAO,EAAE,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAA;AAClD,CAAC,CAAA"}
@@ -0,0 +1,11 @@
1
+ import { ParseResult, WorkerError } from '@livestore/utils/effect';
2
+ /**
3
+ * Type guard that identifies infrastructure errors from the Effect Worker transport layer.
4
+ *
5
+ * @remarks
6
+ *
7
+ * These errors ({@link WorkerError.WorkerError}, {@link ParseResult.ParseError}) represent communication failures between
8
+ * threads/processes — not application-level failures.
9
+ */
10
+ export declare const isWorkerTransportError: (e: unknown) => e is WorkerError.WorkerError | ParseResult.ParseError;
11
+ //# sourceMappingURL=WorkerTransportError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkerTransportError.d.ts","sourceRoot":"","sources":["../src/WorkerTransportError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAElE;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,WAAW,CAAC,WAAW,GAAG,WAAW,CAAC,UAClC,CAAA"}
@@ -0,0 +1,11 @@
1
+ import { ParseResult, WorkerError } from '@livestore/utils/effect';
2
+ /**
3
+ * Type guard that identifies infrastructure errors from the Effect Worker transport layer.
4
+ *
5
+ * @remarks
6
+ *
7
+ * These errors ({@link WorkerError.WorkerError}, {@link ParseResult.ParseError}) represent communication failures between
8
+ * threads/processes — not application-level failures.
9
+ */
10
+ export const isWorkerTransportError = (e) => ParseResult.isParseError(e) || WorkerError.isWorkerError(e);
11
+ //# sourceMappingURL=WorkerTransportError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkerTransportError.js","sourceRoot":"","sources":["../src/WorkerTransportError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAElE;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAU,EAAyD,EAAE,CAC1G,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,CAAA"}
@@ -1,14 +1,19 @@
1
1
  import { type Effect, type Exit, type Queue, Schema, type Scope, type SubscriptionRef, type WebChannel } from '@livestore/utils/effect';
2
2
  import type { ClientSessionLeaderThreadProxy } from './ClientSessionLeaderThreadProxy.ts';
3
3
  import type * as Devtools from './devtools/mod.ts';
4
- import type { IntentionalShutdownCause, MaterializeError, UnexpectedError } from './errors.ts';
4
+ import type { IntentionalShutdownCause, MaterializeError, UnknownError } from './errors.ts';
5
5
  import type { LiveStoreSchema } from './schema/mod.ts';
6
6
  import type { SqliteDb } from './sqlite-types.ts';
7
- import type { IsOfflineError, SyncError } from './sync/index.js';
7
+ import type { BackendIdMismatchError } from './sync/index.ts';
8
8
  export * as ClientSessionLeaderThreadProxy from './ClientSessionLeaderThreadProxy.ts';
9
9
  export * from './defs.ts';
10
10
  export * from './errors.ts';
11
11
  export * from './sqlite-types.ts';
12
+ /**
13
+ * Runtime handle to an active LiveStore client session within the current process.
14
+ * Provides direct access to the embedded SQLite database, leader thread bridge,
15
+ * and lifecycle controls useful for application-level coordination.
16
+ */
12
17
  export interface ClientSession {
13
18
  /** SQLite database with synchronous API running in the same thread (usually in-memory) */
14
19
  sqliteDb: SqliteDb;
@@ -23,7 +28,7 @@ export interface ClientSession {
23
28
  sessionId: string;
24
29
  /** Status info whether current session is leader or not */
25
30
  lockStatus: SubscriptionRef.SubscriptionRef<LockStatus>;
26
- shutdown: (cause: Exit.Exit<IntentionalShutdownCause, UnexpectedError | SyncError | MaterializeError>) => Effect.Effect<void>;
31
+ shutdown: (cause: Exit.Exit<IntentionalShutdownCause, UnknownError | MaterializeError | BackendIdMismatchError>) => Effect.Effect<void>;
27
32
  /** A proxy API to communicate with the leader thread */
28
33
  leaderThread: ClientSessionLeaderThreadProxy;
29
34
  /** A unique identifier for the current instance of the client session. Used for debugging purposes. */
@@ -34,6 +39,25 @@ export declare const BootStateProgress: Schema.Struct<{
34
39
  done: typeof Schema.Number;
35
40
  total: typeof Schema.Number;
36
41
  }>;
42
+ /**
43
+ * Describes known reasons why LiveStore boot may encounter storage issues.
44
+ *
45
+ * @remarks
46
+ * - `private-browsing`: OPFS unavailable due to private/incognito browsing mode (Safari, Firefox)
47
+ * - `storage-unavailable`: OPFS access denied for other reasons (permissions, quota)
48
+ * - `unknown`: Unexpected error during storage initialization
49
+ */
50
+ export declare const BootWarningReason: Schema.Literal<["private-browsing", "storage-unavailable", "unknown"]>;
51
+ export type BootWarningReason = typeof BootWarningReason.Type;
52
+ /**
53
+ * Describes the storage mode the store is operating in.
54
+ *
55
+ * @remarks
56
+ * - `persisted`: Data is persisted to disk (e.g., via OPFS)
57
+ * - `in-memory`: Data is only stored in memory and will be lost on page refresh
58
+ */
59
+ export declare const StorageMode: Schema.Literal<["persisted", "in-memory"]>;
60
+ export type StorageMode = typeof StorageMode.Type;
37
61
  export declare const BootStatus: Schema.Union<[Schema.Struct<{
38
62
  stage: Schema.Literal<["loading"]>;
39
63
  }>, Schema.Struct<{
@@ -56,6 +80,10 @@ export declare const BootStatus: Schema.Union<[Schema.Struct<{
56
80
  }>;
57
81
  }>, Schema.Struct<{
58
82
  stage: Schema.Literal<["done"]>;
83
+ }>, Schema.Struct<{
84
+ stage: Schema.Literal<["warning"]>;
85
+ reason: Schema.Literal<["private-browsing", "storage-unavailable", "unknown"]>;
86
+ message: typeof Schema.String;
59
87
  }>]>;
60
88
  export type BootStatus = typeof BootStatus.Type;
61
89
  /**
@@ -104,21 +132,23 @@ export type MigrationHooks = {
104
132
  export type MigrationHook = (db: SqliteDb) => void | Promise<void> | Effect.Effect<void, unknown>;
105
133
  export interface ClientSessionDevtoolsChannel extends WebChannel.WebChannel<Devtools.ClientSession.MessageToApp, Devtools.ClientSession.MessageFromApp> {
106
134
  }
107
- export type ConnectDevtoolsToStore = (storeDevtoolsChannel: ClientSessionDevtoolsChannel) => Effect.Effect<void, UnexpectedError, Scope.Scope>;
108
- export type Adapter = (args: AdapterArgs) => Effect.Effect<ClientSession, UnexpectedError, Scope.Scope>;
135
+ export type ConnectDevtoolsToStore = (storeDevtoolsChannel: ClientSessionDevtoolsChannel) => Effect.Effect<void, UnknownError, Scope.Scope>;
136
+ export type Adapter = (args: AdapterArgs) => Effect.Effect<ClientSession, UnknownError, Scope.Scope>;
109
137
  export interface AdapterArgs {
110
138
  schema: LiveStoreSchema;
111
139
  storeId: string;
112
140
  devtoolsEnabled: boolean;
113
141
  debugInstanceId: string;
114
142
  bootStatusQueue: Queue.Queue<BootStatus>;
115
- shutdown: (exit: Exit.Exit<IntentionalShutdownCause, UnexpectedError | SyncError | MaterializeError | IsOfflineError>) => Effect.Effect<void>;
143
+ shutdown: (exit: Exit.Exit<IntentionalShutdownCause, UnknownError | MaterializeError | BackendIdMismatchError>) => Effect.Effect<void>;
116
144
  connectDevtoolsToStore: ConnectDevtoolsToStore;
117
145
  /**
118
146
  * Payload that will be passed to the sync backend when connecting
119
147
  *
120
148
  * @default undefined
121
149
  */
122
- syncPayload: Schema.JsonValue | undefined;
150
+ syncPayloadSchema: Schema.Schema<any> | undefined;
151
+ /** Encoded representation of the sync payload matching `syncPayloadSchema`. */
152
+ syncPayloadEncoded: Schema.JsonValue | undefined;
123
153
  }
124
154
  //# sourceMappingURL=adapter-types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"adapter-types.d.ts","sourceRoot":"","sources":["../src/adapter-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter-types.d.ts","sourceRoot":"","sources":["../src/adapter-types.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,33 @@ export const BootStateProgress = Schema.Struct({
7
7
  done: Schema.Number,
8
8
  total: Schema.Number,
9
9
  });
10
- export const BootStatus = Schema.Union(Schema.Struct({ stage: Schema.Literal('loading') }), Schema.Struct({ stage: Schema.Literal('migrating'), progress: BootStateProgress }), Schema.Struct({ stage: Schema.Literal('rehydrating'), progress: BootStateProgress }), Schema.Struct({ stage: Schema.Literal('syncing'), progress: BootStateProgress }), Schema.Struct({ stage: Schema.Literal('done') })).annotations({ title: 'BootStatus' });
10
+ /**
11
+ * Describes known reasons why LiveStore boot may encounter storage issues.
12
+ *
13
+ * @remarks
14
+ * - `private-browsing`: OPFS unavailable due to private/incognito browsing mode (Safari, Firefox)
15
+ * - `storage-unavailable`: OPFS access denied for other reasons (permissions, quota)
16
+ * - `unknown`: Unexpected error during storage initialization
17
+ */
18
+ export const BootWarningReason = Schema.Literal('private-browsing', 'storage-unavailable', 'unknown');
19
+ /**
20
+ * Describes the storage mode the store is operating in.
21
+ *
22
+ * @remarks
23
+ * - `persisted`: Data is persisted to disk (e.g., via OPFS)
24
+ * - `in-memory`: Data is only stored in memory and will be lost on page refresh
25
+ */
26
+ export const StorageMode = Schema.Literal('persisted', 'in-memory');
27
+ export const BootStatus = Schema.Union(Schema.Struct({ stage: Schema.Literal('loading') }), Schema.Struct({ stage: Schema.Literal('migrating'), progress: BootStateProgress }), Schema.Struct({ stage: Schema.Literal('rehydrating'), progress: BootStateProgress }), Schema.Struct({ stage: Schema.Literal('syncing'), progress: BootStateProgress }), Schema.Struct({ stage: Schema.Literal('done') }),
28
+ /**
29
+ * Indicates a non-fatal issue occurred during boot that may degrade functionality.
30
+ * LiveStore continues running but without full capabilities (e.g., no persistence).
31
+ */
32
+ Schema.Struct({
33
+ stage: Schema.Literal('warning'),
34
+ reason: BootWarningReason,
35
+ message: Schema.String,
36
+ })).annotations({ title: 'BootStatus' });
11
37
  /**
12
38
  * Can be used in queries to refer to the current session id.
13
39
  * Will be replaced with the actual session id at runtime
@@ -1 +1 @@
1
- {"version":3,"file":"adapter-types.js","sourceRoot":"","sources":["../src/adapter-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,MAAM,GAIP,MAAM,yBAAyB,CAAA;AAShC,OAAO,KAAK,8BAA8B,MAAM,qCAAqC,CAAA;AACrF,cAAc,WAAW,CAAA;AACzB,cAAc,aAAa,CAAA;AAC3B,cAAc,mBAAmB,CAAA;AAqBjC,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC;IAC7C,IAAI,EAAE,MAAM,CAAC,MAAM;IACnB,KAAK,EAAE,MAAM,CAAC,MAAM;CACrB,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CACpC,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,EACnD,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC,EAClF,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC,EACpF,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC,EAChF,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CACjD,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAA;AAItC;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAA"}
1
+ {"version":3,"file":"adapter-types.js","sourceRoot":"","sources":["../src/adapter-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,MAAM,GAIP,MAAM,yBAAyB,CAAA;AAShC,OAAO,KAAK,8BAA8B,MAAM,qCAAqC,CAAA;AACrF,cAAc,WAAW,CAAA;AACzB,cAAc,aAAa,CAAA;AAC3B,cAAc,mBAAmB,CAAA;AA6BjC,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC;IAC7C,IAAI,EAAE,MAAM,CAAC,MAAM;IACnB,KAAK,EAAE,MAAM,CAAC,MAAM;CACrB,CAAC,CAAA;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC,OAAO,CAAC,kBAAkB,EAAE,qBAAqB,EAAE,SAAS,CAAC,CAAA;AAGrG;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,WAAW,CAAC,CAAA;AAGnE,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CACpC,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,EACnD,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC,EAClF,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC,EACpF,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC,EAChF,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;AAChD;;;GAGG;AACH,MAAM,CAAC,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;IAChC,MAAM,EAAE,iBAAiB;IACzB,OAAO,EAAE,MAAM,CAAC,MAAM;CACvB,CAAC,CACH,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAA;AAItC;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"bounded-collections.d.ts","sourceRoot":"","sources":["../src/bounded-collections.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,qBAAa,QAAQ,CAAC,CAAC,EAAE,CAAC;;gBAIZ,SAAS,EAAE,MAAM;IAI7B,OAAO,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC,GAAG,SAAS,CAAA;IAEjD,GAAG,GAAI,KAAK,CAAC,EAAE,OAAO,CAAC,UAWtB;IAED,GAAG,GAAI,KAAK,CAAC,KAAG,CAAC,GAAG,SAAS,CAE5B;IAED,MAAM,GAAI,KAAK,CAAC,UAEf;IAED,IAAI,uBAEH;CACF;AAED,qBAAa,QAAQ,CAAC,CAAC;;gBAGT,SAAS,EAAE,MAAM;IAW7B,OAAO,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC,GAAG,SAAS,CAAA;IAEvC,GAAG,GAAI,GAAG,CAAC,UAET;IAEF,CAAC,MAAM,CAAC,QAAQ,CAAC,uBAEhB;CACF;AAED,qBAAa,UAAU,CAAC,CAAC;;IAEhB,SAAS,EAAE,MAAM,CAAA;gBAEZ,SAAS,EAAE,MAAM;IAI7B,MAAM,CAAC,IAAI,GAAI,GAAC,EAAE,WAAW,MAAM,EAAE,UAAS,QAAQ,CAAC,GAAC,CAAM,KAAG,UAAU,CAAC,GAAC,CAAC,CAM7E;IAED,OAAO,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC,GAAG,SAAS,CAAA;IAEvC,IAAI,GAAI,GAAG,CAAC,UAQX;IAED,GAAG,GAAI,OAAO,MAAM,KAAG,CAAC,GAAG,SAAS,CAEnC;IAED,MAAM,GAAI,OAAO,MAAM,UAEtB;IAED,IAAI,MAAM,WAET;IAED,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAO,gBAAgB,CAAC,CAAC,CAAC,CAE1C;IAED,GAAG,GAAI,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAG,CAAC,EAAE,CAE9B;IAED,KAAK,aAEJ;IAED,IAAI,GAAI,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,MAAM,SAElC;CACF"}
1
+ {"version":3,"file":"bounded-collections.d.ts","sourceRoot":"","sources":["../src/bounded-collections.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,qBAAa,QAAQ,CAAC,CAAC,EAAE,CAAC;;gBAIZ,SAAS,EAAE,MAAM;IAI7B,OAAO,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC,GAAG,SAAS,CAAA;IAEjD,GAAG,GAAI,KAAK,CAAC,EAAE,OAAO,CAAC,UAYtB;IAED,GAAG,GAAI,KAAK,CAAC,KAAG,CAAC,GAAG,SAAS,CAE5B;IAED,MAAM,GAAI,KAAK,CAAC,UAEf;IAED,IAAI,uBAEH;CACF;AAED,qBAAa,QAAQ,CAAC,CAAC;;gBAGT,SAAS,EAAE,MAAM;IAW7B,OAAO,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC,GAAG,SAAS,CAAA;IAEvC,GAAG,GAAI,GAAG,CAAC,UAET;IAEF,CAAC,MAAM,CAAC,QAAQ,CAAC,uBAEhB;CACF;AAED,qBAAa,UAAU,CAAC,CAAC;;IAEhB,SAAS,EAAE,MAAM,CAAA;gBAEZ,SAAS,EAAE,MAAM;IAI7B,MAAM,CAAC,IAAI,GAAI,GAAC,EAAE,WAAW,MAAM,EAAE,UAAS,QAAQ,CAAC,GAAC,CAAM,KAAG,UAAU,CAAC,GAAC,CAAC,CAM7E;IAED,OAAO,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC,GAAG,SAAS,CAAA;IAEvC,IAAI,GAAI,GAAG,CAAC,UAQX;IAED,GAAG,GAAI,OAAO,MAAM,KAAG,CAAC,GAAG,SAAS,CAEnC;IAED,MAAM,GAAI,OAAO,MAAM,UAEtB;IAED,IAAI,MAAM,WAET;IAED,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAO,gBAAgB,CAAC,CAAC,CAAC,CAE1C;IAED,GAAG,GAAI,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAG,CAAC,EAAE,CAE9B;IAED,KAAK,aAEJ;IAED,IAAI,GAAI,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,MAAM,SAElC;CACF"}
@@ -14,9 +14,11 @@ export class BoundMap {
14
14
  // console.log(this.#map.size, this.#sizeLimit);
15
15
  if (this.#map.size > this.#sizeLimit) {
16
16
  const firstKey = this.#map.keys().next().value;
17
+ if (firstKey === undefined)
18
+ return;
17
19
  const deletedValue = this.#map.get(firstKey);
18
20
  this.#map.delete(firstKey);
19
- if (this.onEvict) {
21
+ if (this.onEvict !== undefined) {
20
22
  this.onEvict(firstKey, deletedValue);
21
23
  }
22
24
  }
@@ -38,7 +40,7 @@ export class BoundSet {
38
40
  this.#map.onEvict = this.#onEvict;
39
41
  }
40
42
  #onEvict = (v) => {
41
- if (this.onEvict) {
43
+ if (this.onEvict !== undefined) {
42
44
  this.onEvict(v);
43
45
  }
44
46
  };
@@ -68,7 +70,7 @@ export class BoundArray {
68
70
  this.#array.push(v);
69
71
  if (this.#array.length > this.sizeLimit) {
70
72
  const first = this.#array.shift();
71
- if (first && this.onEvict) {
73
+ if (first !== undefined && this.onEvict !== undefined) {
72
74
  this.onEvict(first);
73
75
  }
74
76
  }
@@ -92,7 +94,7 @@ export class BoundArray {
92
94
  this.#array = [];
93
95
  };
94
96
  sort = (fn) => {
95
- return this.#array.sort(fn);
97
+ return this.#array.toSorted(fn);
96
98
  };
97
99
  }
98
100
  //# sourceMappingURL=bounded-collections.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bounded-collections.js","sourceRoot":"","sources":["../src/bounded-collections.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bounded-collections.js","sourceRoot":"","sources":["../src/bounded-collections.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,OAAO,QAAQ;IACnB,IAAI,GAAG,IAAI,GAAG,EAAQ,CAAA;IACtB,UAAU,CAAQ;IAElB,YAAY,SAAiB;QAC3B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAA;IAC7B,CAAC;IAED,OAAO,CAA0C;IAEjD,GAAG,GAAG,CAAC,GAAM,EAAE,KAAQ,EAAE,EAAE;QACzB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QACzB,gDAAgD;QAChD,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAA;YAC9C,IAAI,QAAQ,KAAK,SAAS;gBAAE,OAAM;YAClC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAA;YAC7C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;YAC1B,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC/B,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAA;YACtC,CAAC;QACH,CAAC;IACH,CAAC,CAAA;IAED,GAAG,GAAG,CAAC,GAAM,EAAiB,EAAE;QAC9B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAC3B,CAAC,CAAA;IAED,MAAM,GAAG,CAAC,GAAM,EAAE,EAAE;QAClB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IACvB,CAAC,CAAA;IAED,IAAI,GAAG,GAAG,EAAE;QACV,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;IACzB,CAAC,CAAA;CACF;AAED,MAAM,OAAO,QAAQ;IACnB,IAAI,CAAgB;IAEpB,YAAY,SAAiB;QAC3B,IAAI,CAAC,IAAI,GAAG,IAAI,QAAQ,CAAC,SAAS,CAAC,CAAA;QACnC,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAA;IACnC,CAAC;IAED,QAAQ,GAAG,CAAC,CAAI,EAAE,EAAE;QAClB,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;IACH,CAAC,CAAA;IAED,OAAO,CAAgC;IAEvC,GAAG,GAAG,CAAC,CAAI,EAAE,EAAE;QACb,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IACrB,CAAC,CAAC;IAEF,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,EAAE;QACvB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;IACzB,CAAC,CAAA;CACF;AAED,MAAM,OAAO,UAAU;IACrB,MAAM,GAAQ,EAAE,CAAA;IACT,SAAS,CAAQ;IAExB,YAAY,SAAiB;QAC3B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;IAC5B,CAAC;IAED,MAAM,CAAC,IAAI,GAAG,CAAI,SAAiB,EAAE,UAAuB,EAAE,EAAiB,EAAE;QAC/E,MAAM,CAAC,GAAG,IAAI,UAAU,CAAI,SAAS,CAAC,CAAA;QACtC,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACX,CAAC;QACD,OAAO,CAAC,CAAA;IACV,CAAC,CAAA;IAED,OAAO,CAAgC;IAEvC,IAAI,GAAG,CAAC,CAAI,EAAE,EAAE;QACd,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACnB,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YACxC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;YACjC,IAAI,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;gBACtD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;YACrB,CAAC;QACH,CAAC;IACH,CAAC,CAAA;IAED,GAAG,GAAG,CAAC,KAAa,EAAiB,EAAE;QACrC,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAC3B,CAAC,CAAA;IAED,MAAM,GAAG,CAAC,KAAa,EAAE,EAAE;QACzB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;IAC9B,CAAC,CAAA;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAA;IAC3B,CAAC;IAED,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAwB,EAAE;QAC5C,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAA;IACvC,CAAC,CAAA;IAED,GAAG,GAAG,CAAI,EAAe,EAAO,EAAE;QAChC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IAC5B,CAAC,CAAA;IAED,KAAK,GAAG,GAAG,EAAE;QACX,IAAI,CAAC,MAAM,GAAG,EAAE,CAAA;IAClB,CAAC,CAAA;IAED,IAAI,GAAG,CAAC,EAA2B,EAAE,EAAE;QACrC,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;IACjC,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"debug-info.d.ts","sourceRoot":"","sources":["../src/debug-info.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAE7D,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAE9C,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,kBAAkB,GAAG,SAAS,CAAA;IAC1C,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC1B,gBAAgB,EAAE,mBAAmB,CAAA;CACtC,CAAA;AAED,eAAO,MAAM,aAAa;;;;;;;EAOxB,CAAA;AA+BF,eAAO,MAAM,gBAAgB,GAAI,WAAW,EAAE,WAAW,EAAE,UAAU,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC;;;2EAWzG,CAAA;AAEH,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAKpB,CAAA;AAEF,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAC,IAAI,CAAA;AAE7C,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAA4B,CAAA;AACzD,MAAM,MAAM,gBAAgB,GAAG,OAAO,gBAAgB,CAAC,IAAI,CAAA"}
1
+ {"version":3,"file":"debug-info.d.ts","sourceRoot":"","sources":["../src/debug-info.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAE7D,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAE9C,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,kBAAkB,GAAG,SAAS,CAAA;IAC1C,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC1B,gBAAgB,EAAE,mBAAmB,CAAA;CACtC,CAAA;AAED,eAAO,MAAM,aAAa;;;;;;;EAOxB,CAAA;AA8DF,eAAO,MAAM,gBAAgB,GAAI,WAAW,EAAE,WAAW,EAAE,UAAU,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC;;;2EAWzG,CAAA;AAEH,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAKpB,CAAA;AAEF,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAC,IAAI,CAAA;AAE7C,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAA4B,CAAA;AACzD,MAAM,MAAM,gBAAgB,GAAG,OAAO,gBAAgB,CAAC,IAAI,CAAA"}
@@ -10,18 +10,24 @@ export const SlowQueryInfo = Schema.Struct({
10
10
  queriedTables: Schema.ReadonlySet(Schema.String),
11
11
  startTimePerfNow: Schema.Number,
12
12
  });
13
+ const getSizeLimit = (value) => typeof value.sizeLimit === 'number'
14
+ ? value.sizeLimit
15
+ : Number.POSITIVE_INFINITY;
16
+ const isBoundArrayLike = (value) => value instanceof BoundArray ||
17
+ (value !== null && typeof value === 'object' && typeof value.sizeLimit === 'number');
13
18
  const BoundArraySchemaFromSelf = (item) => Schema.declare([item], {
14
19
  decode: (item) => (input, parseOptions, ast) => {
15
- if (input instanceof BoundArray) {
20
+ if (isBoundArrayLike(input) === true) {
16
21
  const elements = ParseResult.decodeUnknown(Schema.Array(item))([...input], parseOptions);
17
- return ParseResult.map(elements, (as) => BoundArray.make(input.sizeLimit, as));
22
+ return ParseResult.map(elements, (as) => BoundArray.make(getSizeLimit(input), as));
18
23
  }
19
24
  return ParseResult.fail(new ParseResult.Type(ast, input));
20
25
  },
21
26
  encode: (item) => (input, parseOptions, ast) => {
22
- if (input instanceof BoundArray) {
23
- const elements = ParseResult.encodeUnknown(Schema.Array(item))([...input], parseOptions);
24
- return ParseResult.map(elements, (is) => BoundArray.make(input.sizeLimit, is));
27
+ if (isBoundArrayLike(input) === true) {
28
+ const items = [...input];
29
+ const elements = ParseResult.encodeUnknown(Schema.Array(item))(items, parseOptions);
30
+ return ParseResult.map(elements, (is) => BoundArray.make(getSizeLimit(input), is));
25
31
  }
26
32
  return ParseResult.fail(new ParseResult.Type(ast, input));
27
33
  },
@@ -29,7 +35,28 @@ const BoundArraySchemaFromSelf = (item) => Schema.declare([item], {
29
35
  description: `BoundArray<${Schema.format(item)}>`,
30
36
  pretty: () => (_) => `BoundArray(${_.length})`,
31
37
  arbitrary: () => (fc) => fc.anything(),
32
- equivalence: () => (a, b) => a === b,
38
+ equivalence: () => {
39
+ const elementEquivalence = Schema.equivalence(item);
40
+ return (a, b) => {
41
+ if (a === b) {
42
+ return true;
43
+ }
44
+ if (isBoundArrayLike(a) === false || isBoundArrayLike(b) === false) {
45
+ return false;
46
+ }
47
+ if (getSizeLimit(a) !== getSizeLimit(b) || a.length !== b.length) {
48
+ return false;
49
+ }
50
+ const itemsA = [...a];
51
+ const itemsB = [...b];
52
+ for (let i = 0; i < itemsA.length; i++) {
53
+ if (elementEquivalence(itemsA[i], itemsB[i]) === false) {
54
+ return false;
55
+ }
56
+ }
57
+ return true;
58
+ };
59
+ },
33
60
  });
34
61
  export const BoundArraySchema = (elSchema) => Schema.transform(Schema.Struct({
35
62
  size: Schema.Number,
@@ -1 +1 @@
1
- {"version":3,"file":"debug-info.js","sourceRoot":"","sources":["../src/debug-info.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"debug-info.js","sourceRoot":"","sources":["../src/debug-info.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=devtools-compatibility.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"devtools-compatibility.test.d.ts","sourceRoot":"","sources":["../../src/devtools/devtools-compatibility.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,15 @@
1
+ import { describe, expect, it } from 'vitest';
2
+ import { isDevtoolsProtocolVersionSupported, resolveDevtoolsProtocolVersion } from "../version.js";
3
+ describe('DevTools protocol compatibility', () => {
4
+ it('treats legacy pings without a protocol version as protocol 1', () => {
5
+ expect(resolveDevtoolsProtocolVersion(undefined)).toBe(1);
6
+ expect(isDevtoolsProtocolVersionSupported(undefined, [1])).toBe(true);
7
+ });
8
+ it('accepts supported protocol versions independent of package version', () => {
9
+ expect(isDevtoolsProtocolVersionSupported(1, [1])).toBe(true);
10
+ });
11
+ it('rejects unsupported protocol versions', () => {
12
+ expect(isDevtoolsProtocolVersionSupported(2, [1])).toBe(false);
13
+ });
14
+ });
15
+ //# sourceMappingURL=devtools-compatibility.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"devtools-compatibility.test.js","sourceRoot":"","sources":["../../src/devtools/devtools-compatibility.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAE7C,OAAO,EAAE,kCAAkC,EAAE,8BAA8B,EAAE,MAAM,eAAe,CAAA;AAElG,QAAQ,CAAC,iCAAiC,EAAE,GAAG,EAAE;IAC/C,EAAE,CAAC,8DAA8D,EAAE,GAAG,EAAE;QACtE,MAAM,CAAC,8BAA8B,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACzD,MAAM,CAAC,kCAAkC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACvE,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,oEAAoE,EAAE,GAAG,EAAE;QAC5E,MAAM,CAAC,kCAAkC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC/D,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,MAAM,CAAC,kCAAkC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAChE,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}