@rocicorp/zero 0.0.202410041722 → 0.1.2024100802

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 (338) hide show
  1. package/out/btree/src/mod.d.ts +2 -0
  2. package/out/btree/src/mod.d.ts.map +1 -0
  3. package/out/btree/src/mod.js +2 -0
  4. package/out/btree/src/mod.js.map +1 -0
  5. package/out/datadog/src/mod.js +2 -0
  6. package/out/datadog/src/mod.js.map +1 -0
  7. package/out/react.js +9 -3
  8. package/out/react.js.map +3 -3
  9. package/out/replicache/src/btree/node.d.ts.map +1 -1
  10. package/out/replicache/src/config.d.ts.map +1 -1
  11. package/out/replicache/src/connection-loop.d.ts.map +1 -1
  12. package/out/replicache/src/cookies.d.ts.map +1 -1
  13. package/out/replicache/src/dag/gc.d.ts.map +1 -1
  14. package/out/replicache/src/dag/lazy-store.d.ts.map +1 -1
  15. package/out/replicache/src/db/scan.d.ts.map +1 -1
  16. package/out/replicache/src/frozen-json.d.ts.map +1 -1
  17. package/out/replicache/src/get-default-puller.d.ts.map +1 -1
  18. package/out/replicache/src/hash.d.ts.map +1 -1
  19. package/out/replicache/src/http-request-info.d.ts.map +1 -1
  20. package/out/replicache/src/index-defs.d.ts.map +1 -1
  21. package/out/replicache/src/kv/store.d.ts.map +1 -1
  22. package/out/replicache/src/kv/write-impl-base.d.ts.map +1 -1
  23. package/out/replicache/src/mod.d.ts.map +1 -1
  24. package/out/replicache/src/mutation-recovery.d.ts.map +1 -1
  25. package/out/replicache/src/patch-operation.d.ts.map +1 -1
  26. package/out/replicache/src/pending-mutations.d.ts.map +1 -1
  27. package/out/replicache/src/persist/client-groups.d.ts.map +1 -1
  28. package/out/replicache/src/persist/clients.d.ts.map +1 -1
  29. package/out/replicache/src/puller.d.ts.map +1 -1
  30. package/out/replicache/src/replicache-impl.d.ts.map +1 -1
  31. package/out/replicache/src/replicache.d.ts.map +1 -1
  32. package/out/replicache/src/scan-iterator.d.ts.map +1 -1
  33. package/out/replicache/src/subscriptions.d.ts +1 -1
  34. package/out/replicache/src/subscriptions.d.ts.map +1 -1
  35. package/out/replicache/src/sync/ids.d.ts.map +1 -1
  36. package/out/replicache/src/sync/patch.d.ts.map +1 -1
  37. package/out/replicache/src/sync/pull.d.ts.map +1 -1
  38. package/out/replicache/src/sync/push.d.ts.map +1 -1
  39. package/out/replicache/src/sync/request-id.d.ts.map +1 -1
  40. package/out/replicache/src/transactions.d.ts.map +1 -1
  41. package/out/replicache/src/types.d.ts.map +1 -1
  42. package/out/zero/src/cli.js +0 -0
  43. package/out/zero/src/react.d.ts +1 -1
  44. package/out/zero/src/react.d.ts.map +1 -1
  45. package/out/zero/src/server/change-streamer.d.ts.map +1 -1
  46. package/out/zero/src/server/change-streamer.js.map +1 -1
  47. package/out/zero/src/server/main.d.ts.map +1 -1
  48. package/out/zero/src/server/main.js.map +1 -1
  49. package/out/zero/src/server/replicator.d.ts.map +1 -1
  50. package/out/zero/src/server/replicator.js.map +1 -1
  51. package/out/zero/src/server/syncer.d.ts.map +1 -1
  52. package/out/zero/src/server/syncer.js.map +1 -1
  53. package/out/zero/src/zero.d.ts +1 -1
  54. package/out/zero/src/zero.d.ts.map +1 -1
  55. package/out/zero-cache/src/config/zero-config.d.ts +21 -21
  56. package/out/zero-cache/src/config/zero-config.d.ts.map +1 -1
  57. package/out/zero-cache/src/config/zero-config.js +30 -20
  58. package/out/zero-cache/src/config/zero-config.js.map +1 -1
  59. package/out/zero-cache/src/db/lite-tables.d.ts.map +1 -1
  60. package/out/zero-cache/src/db/lite-tables.js.map +1 -1
  61. package/out/zero-cache/src/db/migration-lite.d.ts.map +1 -1
  62. package/out/zero-cache/src/db/migration-lite.js.map +1 -1
  63. package/out/zero-cache/src/db/migration.d.ts.map +1 -1
  64. package/out/zero-cache/src/db/migration.js.map +1 -1
  65. package/out/zero-cache/src/db/statements.d.ts +1 -0
  66. package/out/zero-cache/src/db/statements.d.ts.map +1 -1
  67. package/out/zero-cache/src/db/statements.js +3 -0
  68. package/out/zero-cache/src/db/statements.js.map +1 -1
  69. package/out/zero-cache/src/db/transaction-pool.js.map +1 -1
  70. package/out/zero-cache/src/server/change-streamer.d.ts.map +1 -1
  71. package/out/zero-cache/src/server/change-streamer.js +5 -5
  72. package/out/zero-cache/src/server/change-streamer.js.map +1 -1
  73. package/out/zero-cache/src/server/life-cycle.d.ts +38 -0
  74. package/out/zero-cache/src/server/life-cycle.d.ts.map +1 -0
  75. package/out/zero-cache/src/server/life-cycle.js +110 -0
  76. package/out/zero-cache/src/server/life-cycle.js.map +1 -0
  77. package/out/zero-cache/src/server/logging.js +1 -1
  78. package/out/zero-cache/src/server/logging.js.map +1 -1
  79. package/out/zero-cache/src/server/main.js +18 -16
  80. package/out/zero-cache/src/server/main.js.map +1 -1
  81. package/out/zero-cache/src/server/replicator.d.ts.map +1 -1
  82. package/out/zero-cache/src/server/replicator.js +12 -11
  83. package/out/zero-cache/src/server/replicator.js.map +1 -1
  84. package/out/zero-cache/src/server/syncer.d.ts.map +1 -1
  85. package/out/zero-cache/src/server/syncer.js +9 -8
  86. package/out/zero-cache/src/server/syncer.js.map +1 -1
  87. package/out/zero-cache/src/services/change-streamer/change-streamer-http.d.ts +2 -2
  88. package/out/zero-cache/src/services/change-streamer/change-streamer-http.d.ts.map +1 -1
  89. package/out/zero-cache/src/services/change-streamer/change-streamer-http.js +5 -5
  90. package/out/zero-cache/src/services/change-streamer/change-streamer-http.js.map +1 -1
  91. package/out/zero-cache/src/services/change-streamer/change-streamer-service.d.ts +2 -2
  92. package/out/zero-cache/src/services/change-streamer/change-streamer-service.d.ts.map +1 -1
  93. package/out/zero-cache/src/services/change-streamer/change-streamer-service.js +2 -2
  94. package/out/zero-cache/src/services/change-streamer/change-streamer-service.js.map +1 -1
  95. package/out/zero-cache/src/services/change-streamer/change-streamer.d.ts +1 -1
  96. package/out/zero-cache/src/services/change-streamer/change-streamer.d.ts.map +1 -1
  97. package/out/zero-cache/src/services/change-streamer/pg/change-source.d.ts.map +1 -1
  98. package/out/zero-cache/src/services/change-streamer/pg/change-source.js +10 -5
  99. package/out/zero-cache/src/services/change-streamer/pg/change-source.js.map +1 -1
  100. package/out/zero-cache/src/services/change-streamer/pg/initial-sync.d.ts.map +1 -1
  101. package/out/zero-cache/src/services/change-streamer/pg/initial-sync.js +4 -4
  102. package/out/zero-cache/src/services/change-streamer/pg/initial-sync.js.map +1 -1
  103. package/out/zero-cache/src/services/change-streamer/pg/lsn.d.ts +1 -1
  104. package/out/zero-cache/src/services/change-streamer/pg/lsn.d.ts.map +1 -1
  105. package/out/zero-cache/src/services/change-streamer/pg/lsn.js +1 -1
  106. package/out/zero-cache/src/services/change-streamer/pg/lsn.js.map +1 -1
  107. package/out/zero-cache/src/services/change-streamer/pg/schema/create.d.ts +1 -1
  108. package/out/zero-cache/src/services/change-streamer/pg/schema/create.d.ts.map +1 -1
  109. package/out/zero-cache/src/services/change-streamer/pg/schema/create.js +1 -1
  110. package/out/zero-cache/src/services/change-streamer/pg/schema/create.js.map +1 -1
  111. package/out/zero-cache/src/services/change-streamer/pg/schema/ddl.d.ts +1 -1
  112. package/out/zero-cache/src/services/change-streamer/pg/schema/ddl.d.ts.map +1 -1
  113. package/out/zero-cache/src/services/change-streamer/pg/schema/ddl.js.map +1 -1
  114. package/out/zero-cache/src/services/change-streamer/pg/schema/lite.d.ts +1 -1
  115. package/out/zero-cache/src/services/change-streamer/pg/schema/lite.d.ts.map +1 -1
  116. package/out/zero-cache/src/services/change-streamer/pg/schema/lite.js +2 -2
  117. package/out/zero-cache/src/services/change-streamer/pg/schema/lite.js.map +1 -1
  118. package/out/zero-cache/src/services/change-streamer/pg/schema/published.d.ts +1 -1
  119. package/out/zero-cache/src/services/change-streamer/pg/schema/published.d.ts.map +1 -1
  120. package/out/zero-cache/src/services/change-streamer/pg/schema/published.js.map +1 -1
  121. package/out/zero-cache/src/services/change-streamer/pg/schema/zero.d.ts +1 -1
  122. package/out/zero-cache/src/services/change-streamer/pg/schema/zero.d.ts.map +1 -1
  123. package/out/zero-cache/src/services/change-streamer/pg/sync-schema.js +1 -1
  124. package/out/zero-cache/src/services/change-streamer/pg/sync-schema.js.map +1 -1
  125. package/out/zero-cache/src/services/change-streamer/schema/change.d.ts +2 -2
  126. package/out/zero-cache/src/services/change-streamer/schema/change.d.ts.map +1 -1
  127. package/out/zero-cache/src/services/change-streamer/schema/tables.d.ts +1 -1
  128. package/out/zero-cache/src/services/change-streamer/schema/tables.d.ts.map +1 -1
  129. package/out/zero-cache/src/services/change-streamer/schema/tables.js.map +1 -1
  130. package/out/zero-cache/src/services/change-streamer/storer.d.ts +1 -1
  131. package/out/zero-cache/src/services/change-streamer/storer.d.ts.map +1 -1
  132. package/out/zero-cache/src/services/change-streamer/storer.js +1 -1
  133. package/out/zero-cache/src/services/change-streamer/storer.js.map +1 -1
  134. package/out/zero-cache/src/services/change-streamer/subscriber.d.ts +1 -1
  135. package/out/zero-cache/src/services/change-streamer/subscriber.d.ts.map +1 -1
  136. package/out/zero-cache/src/services/change-streamer/subscriber.js +1 -1
  137. package/out/zero-cache/src/services/change-streamer/subscriber.js.map +1 -1
  138. package/out/zero-cache/src/services/dispatcher/connect-params.d.ts +1 -0
  139. package/out/zero-cache/src/services/dispatcher/connect-params.d.ts.map +1 -1
  140. package/out/zero-cache/src/services/dispatcher/connect-params.js +3 -1
  141. package/out/zero-cache/src/services/dispatcher/connect-params.js.map +1 -1
  142. package/out/zero-cache/src/services/dispatcher/dispatcher.d.ts +1 -1
  143. package/out/zero-cache/src/services/dispatcher/dispatcher.js +2 -2
  144. package/out/zero-cache/src/services/dispatcher/dispatcher.js.map +1 -1
  145. package/out/zero-cache/src/services/limiter/sliding-window-limiter.d.ts.map +1 -1
  146. package/out/zero-cache/src/services/limiter/sliding-window-limiter.js +15 -8
  147. package/out/zero-cache/src/services/limiter/sliding-window-limiter.js.map +1 -1
  148. package/out/zero-cache/src/services/mutagen/mutagen.d.ts +8 -4
  149. package/out/zero-cache/src/services/mutagen/mutagen.d.ts.map +1 -1
  150. package/out/zero-cache/src/services/mutagen/mutagen.js +23 -14
  151. package/out/zero-cache/src/services/mutagen/mutagen.js.map +1 -1
  152. package/out/zero-cache/src/services/mutagen/write-authorizer.d.ts.map +1 -1
  153. package/out/zero-cache/src/services/mutagen/write-authorizer.js +1 -1
  154. package/out/zero-cache/src/services/mutagen/write-authorizer.js.map +1 -1
  155. package/out/zero-cache/src/services/replicator/incremental-sync.d.ts +7 -6
  156. package/out/zero-cache/src/services/replicator/incremental-sync.d.ts.map +1 -1
  157. package/out/zero-cache/src/services/replicator/incremental-sync.js +35 -29
  158. package/out/zero-cache/src/services/replicator/incremental-sync.js.map +1 -1
  159. package/out/zero-cache/src/services/replicator/replicator.d.ts +4 -13
  160. package/out/zero-cache/src/services/replicator/replicator.d.ts.map +1 -1
  161. package/out/zero-cache/src/services/replicator/replicator.js +2 -2
  162. package/out/zero-cache/src/services/replicator/replicator.js.map +1 -1
  163. package/out/zero-cache/src/services/replicator/schema/change-log.d.ts +4 -4
  164. package/out/zero-cache/src/services/replicator/schema/change-log.d.ts.map +1 -1
  165. package/out/zero-cache/src/services/replicator/schema/change-log.js +3 -3
  166. package/out/zero-cache/src/services/replicator/schema/change-log.js.map +1 -1
  167. package/out/zero-cache/src/services/replicator/schema/replication-state.d.ts +1 -1
  168. package/out/zero-cache/src/services/replicator/schema/replication-state.d.ts.map +1 -1
  169. package/out/zero-cache/src/services/replicator/schema/replication-state.js +1 -1
  170. package/out/zero-cache/src/services/replicator/schema/replication-state.js.map +1 -1
  171. package/out/zero-cache/src/services/runner.d.ts +2 -5
  172. package/out/zero-cache/src/services/runner.d.ts.map +1 -1
  173. package/out/zero-cache/src/services/runner.js +4 -22
  174. package/out/zero-cache/src/services/runner.js.map +1 -1
  175. package/out/zero-cache/src/services/running-state.d.ts.map +1 -1
  176. package/out/zero-cache/src/services/running-state.js.map +1 -1
  177. package/out/zero-cache/src/services/service.d.ts +8 -0
  178. package/out/zero-cache/src/services/service.d.ts.map +1 -1
  179. package/out/zero-cache/src/services/view-syncer/client-handler.d.ts +3 -2
  180. package/out/zero-cache/src/services/view-syncer/client-handler.d.ts.map +1 -1
  181. package/out/zero-cache/src/services/view-syncer/client-handler.js +14 -3
  182. package/out/zero-cache/src/services/view-syncer/client-handler.js.map +1 -1
  183. package/out/zero-cache/src/services/view-syncer/cvr-store.d.ts.map +1 -1
  184. package/out/zero-cache/src/services/view-syncer/cvr-store.js +1 -1
  185. package/out/zero-cache/src/services/view-syncer/cvr-store.js.map +1 -1
  186. package/out/zero-cache/src/services/view-syncer/cvr.d.ts +1 -1
  187. package/out/zero-cache/src/services/view-syncer/cvr.d.ts.map +1 -1
  188. package/out/zero-cache/src/services/view-syncer/cvr.js +1 -1
  189. package/out/zero-cache/src/services/view-syncer/cvr.js.map +1 -1
  190. package/out/zero-cache/src/services/view-syncer/database-storage.d.ts.map +1 -1
  191. package/out/zero-cache/src/services/view-syncer/database-storage.js.map +1 -1
  192. package/out/zero-cache/src/services/view-syncer/pipeline-driver.d.ts +10 -5
  193. package/out/zero-cache/src/services/view-syncer/pipeline-driver.d.ts.map +1 -1
  194. package/out/zero-cache/src/services/view-syncer/pipeline-driver.js +26 -16
  195. package/out/zero-cache/src/services/view-syncer/pipeline-driver.js.map +1 -1
  196. package/out/zero-cache/src/services/view-syncer/schema/cvr.js +1 -1
  197. package/out/zero-cache/src/services/view-syncer/schema/cvr.js.map +1 -1
  198. package/out/zero-cache/src/services/view-syncer/schema/types.d.ts.map +1 -1
  199. package/out/zero-cache/src/services/view-syncer/schema/types.js.map +1 -1
  200. package/out/zero-cache/src/services/view-syncer/snapshotter.d.ts +24 -13
  201. package/out/zero-cache/src/services/view-syncer/snapshotter.d.ts.map +1 -1
  202. package/out/zero-cache/src/services/view-syncer/snapshotter.js +16 -27
  203. package/out/zero-cache/src/services/view-syncer/snapshotter.js.map +1 -1
  204. package/out/zero-cache/src/services/view-syncer/view-syncer.d.ts +3 -0
  205. package/out/zero-cache/src/services/view-syncer/view-syncer.d.ts.map +1 -1
  206. package/out/zero-cache/src/services/view-syncer/view-syncer.js +28 -44
  207. package/out/zero-cache/src/services/view-syncer/view-syncer.js.map +1 -1
  208. package/out/zero-cache/src/types/bigint-json.d.ts.map +1 -1
  209. package/out/zero-cache/src/types/bigint-json.js.map +1 -1
  210. package/out/zero-cache/src/types/error-for-client.d.ts.map +1 -1
  211. package/out/zero-cache/src/types/lexi-version.js.map +1 -1
  212. package/out/zero-cache/src/types/lite.d.ts.map +1 -1
  213. package/out/zero-cache/src/types/processes.d.ts +1 -1
  214. package/out/zero-cache/src/types/processes.d.ts.map +1 -1
  215. package/out/zero-cache/src/types/processes.js +8 -14
  216. package/out/zero-cache/src/types/processes.js.map +1 -1
  217. package/out/zero-cache/src/types/row-key.js.map +1 -1
  218. package/out/zero-cache/src/types/schema-versions.d.ts +8 -0
  219. package/out/zero-cache/src/types/schema-versions.d.ts.map +1 -0
  220. package/out/zero-cache/src/types/schema-versions.js +21 -0
  221. package/out/zero-cache/src/types/schema-versions.js.map +1 -0
  222. package/out/zero-cache/src/types/streams.d.ts.map +1 -1
  223. package/out/zero-cache/src/types/streams.js.map +1 -1
  224. package/out/zero-cache/src/types/timeout.js.map +1 -1
  225. package/out/zero-cache/src/workers/connection.d.ts.map +1 -1
  226. package/out/zero-cache/src/workers/connection.js +6 -6
  227. package/out/zero-cache/src/workers/connection.js.map +1 -1
  228. package/out/zero-cache/src/workers/replicator.d.ts +4 -4
  229. package/out/zero-cache/src/workers/replicator.d.ts.map +1 -1
  230. package/out/zero-cache/src/workers/replicator.js +3 -31
  231. package/out/zero-cache/src/workers/replicator.js.map +1 -1
  232. package/out/zero-cache/src/workers/syncer.d.ts +12 -4
  233. package/out/zero-cache/src/workers/syncer.d.ts.map +1 -1
  234. package/out/zero-cache/src/workers/syncer.js +34 -2
  235. package/out/zero-cache/src/workers/syncer.js.map +1 -1
  236. package/out/zero-client/src/client/context.d.ts +4 -4
  237. package/out/zero-client/src/client/context.d.ts.map +1 -1
  238. package/out/zero-client/src/client/crud.d.ts.map +1 -1
  239. package/out/zero-client/src/client/keys.d.ts.map +1 -1
  240. package/out/zero-client/src/client/log-options.d.ts +1 -1
  241. package/out/zero-client/src/client/log-options.d.ts.map +1 -1
  242. package/out/zero-client/src/client/metrics.d.ts.map +1 -1
  243. package/out/zero-client/src/client/options.d.ts +1 -1
  244. package/out/zero-client/src/client/options.d.ts.map +1 -1
  245. package/out/zero-client/src/client/query-manager.d.ts +5 -3
  246. package/out/zero-client/src/client/query-manager.d.ts.map +1 -1
  247. package/out/zero-client/src/client/replicache-types.d.ts +1 -1
  248. package/out/zero-client/src/client/replicache-types.d.ts.map +1 -1
  249. package/out/zero-client/src/client/server-error.d.ts.map +1 -1
  250. package/out/zero-client/src/client/server-option.d.ts.map +1 -1
  251. package/out/zero-client/src/client/zero-poke-handler.d.ts +2 -2
  252. package/out/zero-client/src/client/zero-poke-handler.d.ts.map +1 -1
  253. package/out/zero-client/src/client/zero.d.ts +2 -2
  254. package/out/zero-client/src/client/zero.d.ts.map +1 -1
  255. package/out/zero-client/src/mod.d.ts +2 -2
  256. package/out/zero-client/src/mod.d.ts.map +1 -1
  257. package/out/zero-client/src/util/socket.d.ts.map +1 -1
  258. package/out/zero-protocol/src/ast.d.ts.map +1 -1
  259. package/out/zero-protocol/src/ast.js.map +1 -1
  260. package/out/zero-protocol/src/change-desired-queries.d.ts.map +1 -1
  261. package/out/zero-protocol/src/change-desired-queries.js.map +1 -1
  262. package/out/zero-protocol/src/clients-patch.d.ts.map +1 -1
  263. package/out/zero-protocol/src/clients-patch.js.map +1 -1
  264. package/out/zero-protocol/src/connect.d.ts.map +1 -1
  265. package/out/zero-protocol/src/connect.js.map +1 -1
  266. package/out/zero-protocol/src/delete-clients.d.ts.map +1 -1
  267. package/out/zero-protocol/src/delete-clients.js.map +1 -1
  268. package/out/zero-protocol/src/down.d.ts +6 -2
  269. package/out/zero-protocol/src/down.d.ts.map +1 -1
  270. package/out/zero-protocol/src/down.js.map +1 -1
  271. package/out/zero-protocol/src/entities-patch.d.ts +6 -6
  272. package/out/zero-protocol/src/entities-patch.d.ts.map +1 -1
  273. package/out/zero-protocol/src/entities-patch.js.map +1 -1
  274. package/out/zero-protocol/src/entity.d.ts.map +1 -1
  275. package/out/zero-protocol/src/entity.js.map +1 -1
  276. package/out/zero-protocol/src/error.d.ts +2 -1
  277. package/out/zero-protocol/src/error.d.ts.map +1 -1
  278. package/out/zero-protocol/src/error.js +2 -1
  279. package/out/zero-protocol/src/error.js.map +1 -1
  280. package/out/zero-protocol/src/ping.d.ts.map +1 -1
  281. package/out/zero-protocol/src/ping.js.map +1 -1
  282. package/out/zero-protocol/src/poke.d.ts +12 -4
  283. package/out/zero-protocol/src/poke.d.ts.map +1 -1
  284. package/out/zero-protocol/src/poke.js +4 -0
  285. package/out/zero-protocol/src/poke.js.map +1 -1
  286. package/out/zero-protocol/src/pong.d.ts.map +1 -1
  287. package/out/zero-protocol/src/pong.js.map +1 -1
  288. package/out/zero-protocol/src/pull.d.ts.map +1 -1
  289. package/out/zero-protocol/src/pull.js.map +1 -1
  290. package/out/zero-protocol/src/push.d.ts +25 -25
  291. package/out/zero-protocol/src/push.d.ts.map +1 -1
  292. package/out/zero-protocol/src/push.js.map +1 -1
  293. package/out/zero-protocol/src/queries-patch.d.ts.map +1 -1
  294. package/out/zero-protocol/src/queries-patch.js.map +1 -1
  295. package/out/zero-protocol/src/up.d.ts +4 -4
  296. package/out/zero-protocol/src/up.d.ts.map +1 -1
  297. package/out/zero-protocol/src/up.js.map +1 -1
  298. package/out/zero-protocol/src/version.d.ts.map +1 -1
  299. package/out/zero-protocol/src/version.js.map +1 -1
  300. package/out/zero-react/src/use-query.d.ts +1 -1
  301. package/out/zero-react/src/use-query.d.ts.map +1 -1
  302. package/out/zero-react/src/use-zero.d.ts +1 -1
  303. package/out/zero-react/src/use-zero.d.ts.map +1 -1
  304. package/out/zero.js +98 -24
  305. package/out/zero.js.map +4 -4
  306. package/out/zql/src/zql/ast/ast.js.map +1 -1
  307. package/out/zql/src/zql/builder/builder.d.ts.map +1 -1
  308. package/out/zql/src/zql/builder/builder.js.map +1 -1
  309. package/out/zql/src/zql/builder/filter.js.map +1 -1
  310. package/out/zql/src/zql/builder/like.js.map +1 -1
  311. package/out/zql/src/zql/ivm/array-view.d.ts.map +1 -1
  312. package/out/zql/src/zql/ivm/data.d.ts.map +1 -1
  313. package/out/zql/src/zql/ivm/data.js +1 -1
  314. package/out/zql/src/zql/ivm/data.js.map +1 -1
  315. package/out/zql/src/zql/ivm/filter.js.map +1 -1
  316. package/out/zql/src/zql/ivm/join.js.map +1 -1
  317. package/out/zql/src/zql/ivm/memory-source.d.ts.map +1 -1
  318. package/out/zql/src/zql/ivm/memory-source.js +1 -1
  319. package/out/zql/src/zql/ivm/memory-source.js.map +1 -1
  320. package/out/zql/src/zql/ivm/memory-storage.d.ts.map +1 -1
  321. package/out/zql/src/zql/ivm/operator.d.ts.map +1 -1
  322. package/out/zql/src/zql/ivm/skip.js.map +1 -1
  323. package/out/zql/src/zql/ivm/take.js.map +1 -1
  324. package/out/zql/src/zql/query/query-impl.d.ts +4 -1
  325. package/out/zql/src/zql/query/query-impl.d.ts.map +1 -1
  326. package/out/zql/src/zql/query/query.d.ts +2 -1
  327. package/out/zql/src/zql/query/query.d.ts.map +1 -1
  328. package/out/zql/src/zql/query/typed-view.d.ts.map +1 -1
  329. package/out/zqlite/src/internal/statement-cache.js.map +1 -1
  330. package/out/zqlite/src/table-source.d.ts +1 -1
  331. package/out/zqlite/src/table-source.d.ts.map +1 -1
  332. package/out/zqlite/src/table-source.js +1 -1
  333. package/out/zqlite/src/table-source.js.map +1 -1
  334. package/package.json +5 -5
  335. package/out/zero-cache/src/services/replicator/checkpointer.d.ts +0 -79
  336. package/out/zero-cache/src/services/replicator/checkpointer.d.ts.map +0 -1
  337. package/out/zero-cache/src/services/replicator/checkpointer.js +0 -124
  338. package/out/zero-cache/src/services/replicator/checkpointer.js.map +0 -1
package/package.json CHANGED
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "name": "@rocicorp/zero",
3
- "version": "0.0.202410041722+d0f469",
3
+ "version": "0.1.2024100802+9b60ed",
4
4
  "scripts": {
5
5
  "prepack": "rm -rf deps && mkdir -p deps/sqlite3 && cp -r ../../deps/sqlite3/* deps/sqlite3/",
6
6
  "preinstall": "node tool/install-sqlite3.js",
7
7
  "build": "rm -rf out && npm run build-server && npm run build-client",
8
8
  "build-client": "tsc -p tsconfig.client.json && tsc-alias -p tsconfig.client.json && node tool/build.js",
9
- "build-server": "tsc -p tsconfig.server.json && tsc-alias -p tsconfig.server.json",
10
- "check-types": "tsc --noEmit",
11
- "check-types:watch": "tsc --noEmit --watch",
9
+ "build-server": "tsc -p tsconfig.server.json && tsc-alias -p tsconfig.server.json && chmod +x out/zero/src/cli.js",
10
+ "check-types": "tsc",
11
+ "check-types:watch": "tsc --watch",
12
12
  "format": "prettier --write .",
13
13
  "check-format": "prettier --check .",
14
14
  "lint": "eslint --ext .ts,.tsx,.js,.jsx src/"
@@ -75,7 +75,7 @@
75
75
  "tool/install-sqlite3.js"
76
76
  ],
77
77
  "eslintConfig": {
78
- "extends": "@rocicorp/eslint-config"
78
+ "extends": "../../eslint-config.json"
79
79
  },
80
80
  "prettier": "@rocicorp/prettier-config"
81
81
  }
@@ -1,79 +0,0 @@
1
- import { LogContext } from '@rocicorp/logger';
2
- import { Notifier } from './notifier.js';
3
- /**
4
- * A `Checkpointer` is consulted by the Replicator after each commit and given
5
- * the opportunity to perform a blocking WAL checkpoint before the Replicator
6
- * continues processing the replication stream.
7
- */
8
- export interface Checkpointer {
9
- maybeCheckpoint(numCommittedChanges: number, notifier: Notifier): Promise<void>;
10
- stop(): void;
11
- }
12
- /**
13
- * The `NULL_CHECKPOINTER` is suitable for an environment in which checkpoints are
14
- * handled by an external entity, such as a `litestream replicate` process.
15
- */
16
- export declare const NULL_CHECKPOINTER: Checkpointer;
17
- export type CheckpointerConfig = {
18
- /**
19
- * The number of outstanding frames or changes at which a blocking
20
- * checkpoint is triggered.
21
- *
22
- * Defaults to 200.
23
- */
24
- threshold?: number;
25
- /**
26
- * The base timeout to block on an active checkpoint. This timeout is increased
27
- * in proportion to the size of WAL divided by the `threshold`. For example, if
28
- * the size of the WAL is twice the `threshold`, the timeout will be doubled.
29
- *
30
- * This dynamic timeout algorithm reduces the amount of system-wide pausing in
31
- * the common case, even in the presence of occasional, long-held locks due to
32
- * events like a long hydration. If checkpoint is not able to start within the
33
- * timeout, the checkpointer gives up and allows the system to progress. As the
34
- * size of the WAL grows, the checkpointer will wait for longer timeouts to ensure
35
- * that the checkpointing eventually succeeds.
36
- *
37
- * Defaults to 200 milliseconds.
38
- */
39
- baseCheckpointTimeoutMs?: number;
40
- /**
41
- * A regular interval at which passive checkpoints are attempted. This allows an
42
- * idle task (i.e. no sync connections) to clean up outside of the
43
- * replication path.
44
- *
45
- * Defaults to one minute.
46
- */
47
- passiveCheckpointPeriodMs?: number;
48
- };
49
- /**
50
- * The `WALCheckpointer` executes checkpoints when the number of WAL log entries
51
- * exceeds a configurable threshold. It does this by:
52
- *
53
- * 1. Broadcasting a `maintenance` ReplicaState message to signal view-syncers to
54
- * release their locks.
55
- * 2. Executing `wal_checkpoint(TRUNCATE)` with a busy_timeout proportional to
56
- * the outstanding log size.
57
- * 3. Broadcasting a `version-ready` ReplicaState message to signal view-syncers to
58
- * reestablish their locks.
59
- *
60
- * Points of interest:
61
- *
62
- * * The checkpointer waits for the `maintenance` broadcast to be sent to over
63
- * IPC channels (in-process blocking), but does not request or wait for ACKs from
64
- * the view syncers. This is because the `wal_checkpoint(TRUNCATE)` command itself
65
- * will block until all read locks are released, up to the configured `busy_timeout`.
66
- *
67
- * * After performing the checkpoint, however, the checkpointer _does_ request ACKs
68
- * from view-syncers to confirm that they have reestablished their snapshots. There
69
- * is otherwise no way to know when it is safe to continue replication. This is
70
- * expected to be very fast, but to avoid pathological cases the wait is capped at
71
- * 100ms.
72
- */
73
- export declare class WALCheckpointer implements Checkpointer {
74
- #private;
75
- constructor(lc: LogContext, replicaDbFile: string, cfg?: CheckpointerConfig);
76
- stop(): void;
77
- maybeCheckpoint(changes: number, notifier: Notifier): Promise<void>;
78
- }
79
- //# sourceMappingURL=checkpointer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"checkpointer.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/replicator/checkpointer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAM5C,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAC;AAEvC;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B,eAAe,CACb,mBAAmB,EAAE,MAAM,EAC3B,QAAQ,EAAE,QAAQ,GACjB,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB,IAAI,IAAI,IAAI,CAAC;CACd;AAED;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,YAGtB,CAAC;AAEX,MAAM,MAAM,kBAAkB,GAAG;IAC/B;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;;;;;;;;;OAaG;IACH,uBAAuB,CAAC,EAAE,MAAM,CAAC;IAEjC;;;;;;OAMG;IACH,yBAAyB,CAAC,EAAE,MAAM,CAAC;CACpC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,eAAgB,YAAW,YAAY;;gBAWhD,EAAE,EAAE,UAAU,EACd,aAAa,EAAE,MAAM,EACrB,GAAG,GAAE,kBAAuB;IA4B9B,IAAI;IAKE,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ;CAwE1D"}
@@ -1,124 +0,0 @@
1
- import { LogContext } from '@rocicorp/logger';
2
- import { assert } from '../../../../shared/src/asserts.js';
3
- import { randInt } from '../../../../shared/src/rand.js';
4
- import { promiseVoid } from '../../../../shared/src/resolved-promises.js';
5
- import { orTimeout } from '../../../../zero-cache/src/types/timeout.js';
6
- import { Database } from '../../../../zqlite/src/db.js';
7
- import { Notifier } from './notifier.js';
8
- /**
9
- * The `NULL_CHECKPOINTER` is suitable for an environment in which checkpoints are
10
- * handled by an external entity, such as a `litestream replicate` process.
11
- */
12
- export const NULL_CHECKPOINTER = {
13
- maybeCheckpoint: () => promiseVoid,
14
- stop: () => { },
15
- };
16
- /**
17
- * The `WALCheckpointer` executes checkpoints when the number of WAL log entries
18
- * exceeds a configurable threshold. It does this by:
19
- *
20
- * 1. Broadcasting a `maintenance` ReplicaState message to signal view-syncers to
21
- * release their locks.
22
- * 2. Executing `wal_checkpoint(TRUNCATE)` with a busy_timeout proportional to
23
- * the outstanding log size.
24
- * 3. Broadcasting a `version-ready` ReplicaState message to signal view-syncers to
25
- * reestablish their locks.
26
- *
27
- * Points of interest:
28
- *
29
- * * The checkpointer waits for the `maintenance` broadcast to be sent to over
30
- * IPC channels (in-process blocking), but does not request or wait for ACKs from
31
- * the view syncers. This is because the `wal_checkpoint(TRUNCATE)` command itself
32
- * will block until all read locks are released, up to the configured `busy_timeout`.
33
- *
34
- * * After performing the checkpoint, however, the checkpointer _does_ request ACKs
35
- * from view-syncers to confirm that they have reestablished their snapshots. There
36
- * is otherwise no way to know when it is safe to continue replication. This is
37
- * expected to be very fast, but to avoid pathological cases the wait is capped at
38
- * 100ms.
39
- */
40
- export class WALCheckpointer {
41
- #lc;
42
- #db;
43
- #threshold;
44
- #baseCheckpointTimeoutMs;
45
- #passiveCheckpointTimer;
46
- #logSize = 0;
47
- #outstandingChanges = 0;
48
- constructor(lc, replicaDbFile, cfg = {}) {
49
- const { threshold = 200, baseCheckpointTimeoutMs = 10, passiveCheckpointPeriodMs = 60_000, } = cfg;
50
- assert(threshold > 0 &&
51
- baseCheckpointTimeoutMs > 0 &&
52
- passiveCheckpointPeriodMs > 0, `Invalid config ${JSON.stringify(cfg)}`);
53
- const db = new Database(lc, replicaDbFile);
54
- db.pragma('journal_mode = WAL');
55
- this.#lc = lc.withContext('component', 'wal-checkpointer');
56
- this.#db = db;
57
- this.#threshold = threshold;
58
- this.#baseCheckpointTimeoutMs = baseCheckpointTimeoutMs;
59
- this.#passiveCheckpointTimer = setInterval(() => this.#checkpoint('PASSIVE'), passiveCheckpointPeriodMs);
60
- }
61
- stop() {
62
- clearTimeout(this.#passiveCheckpointTimer);
63
- this.#lc.info?.('stopped');
64
- }
65
- async maybeCheckpoint(changes, notifier) {
66
- this.#outstandingChanges += changes;
67
- // Simplification: changes and frames equivalently w.r.t. the threshold.
68
- if (Math.max(this.#outstandingChanges, this.#logSize) >= this.#threshold) {
69
- // If no read locks are held, a PASSIVE checkpoint may suffice.
70
- // Regardless of success, #logSize gets updated to determine if a
71
- // blocking checkpoint is warranted.
72
- this.#checkpoint('PASSIVE');
73
- }
74
- if (this.#logSize >= this.#threshold) {
75
- const logSize = this.#logSize;
76
- const t0 = Date.now();
77
- await this.#enterMaintenanceMode(notifier);
78
- const t1 = Date.now();
79
- // The timeout is proportional to the size of the log compared to the threshold.
80
- const timeout = (this.#logSize / this.#threshold) * this.#baseCheckpointTimeoutMs;
81
- const result = this.#checkpoint('TRUNCATE', timeout);
82
- const t2 = Date.now();
83
- await this.#exitMaintenanceMode(notifier);
84
- const t3 = Date.now();
85
- this.#lc.info?.(`WAL(busy=${timeout}ms): pre=${t1 - t0}ms checkpoint=${t2 - t1}ms post=${t3 - t2}ms logSize=${logSize} result`, result);
86
- }
87
- }
88
- async #enterMaintenanceMode(notifier) {
89
- await Promise.all(notifier.notifySubscribers({ state: 'maintenance' }));
90
- }
91
- async #exitMaintenanceMode(notifier) {
92
- // Request an ACK when exiting maintenance mode to maximize the chance of
93
- // view syncers re-establishing snapshots at the same version. This is expected
94
- // to be very fast (single-digit milliseconds).
95
- //
96
- // However, this is also the chance for view syncers to invoke an occasional
97
- // `PRAGMA optimize` call, for which latency may be variable. To avoid holding
98
- // up the replication stream indefinitely, we cap the wait at 100ms.
99
- const result = await orTimeout(Promise.all(notifier.notifySubscribers({
100
- state: 'version-ready',
101
- ack: randomACK(),
102
- })), 100);
103
- if (result === 'timed-out') {
104
- this.#lc.info?.('timed out waiting for view-syncer resumption');
105
- }
106
- }
107
- #checkpoint(mode, timeoutMs) {
108
- if (timeoutMs) {
109
- this.#db.pragma(`busy_timeout = ${timeoutMs}`);
110
- }
111
- const result = checkpoint(this.#db, mode);
112
- this.#logSize = result.log;
113
- this.#outstandingChanges = 0;
114
- return result;
115
- }
116
- }
117
- function checkpoint(db, mode) {
118
- const result = db.pragma(`wal_checkpoint(${mode})`);
119
- return result[0];
120
- }
121
- function randomACK() {
122
- return randInt(Number.MIN_SAFE_INTEGER, Number.MAX_SAFE_INTEGER);
123
- }
124
- //# sourceMappingURL=checkpointer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"checkpointer.js","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/replicator/checkpointer.ts"],"names":[],"mappings":"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"}