@rocicorp/zero 0.10.2025010800 → 0.10.2025011400

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 (324) hide show
  1. package/README.md +32 -0
  2. package/out/advanced.js +1 -1
  3. package/out/{chunk-Y6OVFUGE.js → chunk-I5GSZARI.js} +1 -7
  4. package/out/{chunk-Y6OVFUGE.js.map → chunk-I5GSZARI.js.map} +1 -1
  5. package/out/{chunk-PPRTDNXA.js → chunk-TS7IMB6J.js} +785 -1660
  6. package/out/chunk-TS7IMB6J.js.map +7 -0
  7. package/out/react.js +1 -1
  8. package/out/react.js.map +1 -1
  9. package/out/replicache/src/btree/node.d.ts +5 -3
  10. package/out/replicache/src/btree/node.d.ts.map +1 -1
  11. package/out/replicache/src/btree/read.d.ts +4 -1
  12. package/out/replicache/src/btree/read.d.ts.map +1 -1
  13. package/out/replicache/src/btree/write.d.ts +4 -1
  14. package/out/replicache/src/btree/write.d.ts.map +1 -1
  15. package/out/replicache/src/dag/key-type-enum.d.ts +0 -1
  16. package/out/replicache/src/dag/key-type-enum.d.ts.map +1 -1
  17. package/out/replicache/src/db/commit.d.ts +12 -35
  18. package/out/replicache/src/db/commit.d.ts.map +1 -1
  19. package/out/replicache/src/db/index-operation-enum.d.ts +0 -1
  20. package/out/replicache/src/db/index-operation-enum.d.ts.map +1 -1
  21. package/out/replicache/src/db/index.d.ts +4 -1
  22. package/out/replicache/src/db/index.d.ts.map +1 -1
  23. package/out/replicache/src/db/meta-type-enum.d.ts +0 -7
  24. package/out/replicache/src/db/meta-type-enum.d.ts.map +1 -1
  25. package/out/replicache/src/db/read.d.ts +4 -1
  26. package/out/replicache/src/db/read.d.ts.map +1 -1
  27. package/out/replicache/src/db/rebase.d.ts +5 -2
  28. package/out/replicache/src/db/rebase.d.ts.map +1 -1
  29. package/out/replicache/src/db/write.d.ts +8 -6
  30. package/out/replicache/src/db/write.d.ts.map +1 -1
  31. package/out/replicache/src/format-version-enum.d.ts +0 -2
  32. package/out/replicache/src/format-version-enum.d.ts.map +1 -1
  33. package/out/replicache/src/format-version.d.ts +4 -1
  34. package/out/replicache/src/format-version.d.ts.map +1 -1
  35. package/out/replicache/src/get-default-puller.d.ts +1 -3
  36. package/out/replicache/src/get-default-puller.d.ts.map +1 -1
  37. package/out/replicache/src/invoke-kind-enum.d.ts +0 -1
  38. package/out/replicache/src/invoke-kind-enum.d.ts.map +1 -1
  39. package/out/replicache/src/mod.d.ts +5 -5
  40. package/out/replicache/src/mod.d.ts.map +1 -1
  41. package/out/replicache/src/mutation-recovery.d.ts +1 -2
  42. package/out/replicache/src/mutation-recovery.d.ts.map +1 -1
  43. package/out/replicache/src/persist/clients.d.ts +3 -1
  44. package/out/replicache/src/persist/clients.d.ts.map +1 -1
  45. package/out/replicache/src/persist/persist.d.ts +4 -1
  46. package/out/replicache/src/persist/persist.d.ts.map +1 -1
  47. package/out/replicache/src/persist/refresh.d.ts +4 -1
  48. package/out/replicache/src/persist/refresh.d.ts.map +1 -1
  49. package/out/replicache/src/puller.d.ts +2 -20
  50. package/out/replicache/src/puller.d.ts.map +1 -1
  51. package/out/replicache/src/replicache-impl.d.ts +1 -2
  52. package/out/replicache/src/replicache-impl.d.ts.map +1 -1
  53. package/out/replicache/src/subscriptions.d.ts +5 -3
  54. package/out/replicache/src/subscriptions.d.ts.map +1 -1
  55. package/out/replicache/src/sync/diff.d.ts +4 -1
  56. package/out/replicache/src/sync/diff.d.ts.map +1 -1
  57. package/out/replicache/src/sync/handle-pull-response-result-type-enum.d.ts +0 -1
  58. package/out/replicache/src/sync/handle-pull-response-result-type-enum.d.ts.map +1 -1
  59. package/out/replicache/src/sync/pull.d.ts +7 -33
  60. package/out/replicache/src/sync/pull.d.ts.map +1 -1
  61. package/out/replicache/src/sync/push.d.ts +3 -30
  62. package/out/replicache/src/sync/push.d.ts.map +1 -1
  63. package/out/shared/src/enum.d.ts +37 -0
  64. package/out/shared/src/enum.d.ts.map +1 -0
  65. package/out/shared/src/enum.js +2 -0
  66. package/out/shared/src/enum.js.map +1 -0
  67. package/out/shared/src/options.d.ts.map +1 -1
  68. package/out/shared/src/options.js +15 -7
  69. package/out/shared/src/options.js.map +1 -1
  70. package/out/solid.js +30 -36
  71. package/out/solid.js.map +3 -3
  72. package/out/zero/src/change-protocol.d.ts +2 -0
  73. package/out/zero/src/change-protocol.d.ts.map +1 -0
  74. package/out/zero/src/change-protocol.js +2 -0
  75. package/out/zero/src/change-protocol.js.map +1 -0
  76. package/out/zero-cache/src/config/zero-config.d.ts +30 -4
  77. package/out/zero-cache/src/config/zero-config.d.ts.map +1 -1
  78. package/out/zero-cache/src/config/zero-config.js +31 -15
  79. package/out/zero-cache/src/config/zero-config.js.map +1 -1
  80. package/out/zero-cache/src/db/mode-enum.d.ts +5 -0
  81. package/out/zero-cache/src/db/mode-enum.d.ts.map +1 -0
  82. package/out/zero-cache/src/db/mode-enum.js +3 -0
  83. package/out/zero-cache/src/db/mode-enum.js.map +1 -0
  84. package/out/zero-cache/src/db/pg-to-lite.d.ts.map +1 -1
  85. package/out/zero-cache/src/db/pg-to-lite.js +2 -1
  86. package/out/zero-cache/src/db/pg-to-lite.js.map +1 -1
  87. package/out/zero-cache/src/db/postgres-type-class-enum.d.ts +15 -0
  88. package/out/zero-cache/src/db/postgres-type-class-enum.d.ts.map +1 -0
  89. package/out/zero-cache/src/db/postgres-type-class-enum.js +10 -0
  90. package/out/zero-cache/src/db/postgres-type-class-enum.js.map +1 -0
  91. package/out/zero-cache/src/db/specs.d.ts +7 -16
  92. package/out/zero-cache/src/db/specs.d.ts.map +1 -1
  93. package/out/zero-cache/src/db/specs.js +1 -11
  94. package/out/zero-cache/src/db/specs.js.map +1 -1
  95. package/out/zero-cache/src/db/transaction-pool.d.ts +3 -4
  96. package/out/zero-cache/src/db/transaction-pool.d.ts.map +1 -1
  97. package/out/zero-cache/src/db/transaction-pool.js +1 -5
  98. package/out/zero-cache/src/db/transaction-pool.js.map +1 -1
  99. package/out/zero-cache/src/server/change-streamer.d.ts.map +1 -1
  100. package/out/zero-cache/src/server/change-streamer.js +2 -6
  101. package/out/zero-cache/src/server/change-streamer.js.map +1 -1
  102. package/out/zero-cache/src/server/life-cycle.d.ts +3 -2
  103. package/out/zero-cache/src/server/life-cycle.d.ts.map +1 -1
  104. package/out/zero-cache/src/server/life-cycle.js +15 -12
  105. package/out/zero-cache/src/server/life-cycle.js.map +1 -1
  106. package/out/zero-cache/src/server/main.d.ts.map +1 -1
  107. package/out/zero-cache/src/server/main.js +25 -16
  108. package/out/zero-cache/src/server/main.js.map +1 -1
  109. package/out/zero-cache/src/server/multi/config.d.ts +20 -3
  110. package/out/zero-cache/src/server/multi/config.d.ts.map +1 -1
  111. package/out/zero-cache/src/server/multi/config.js +10 -2
  112. package/out/zero-cache/src/server/multi/config.js.map +1 -1
  113. package/out/zero-cache/src/server/multi/main.d.ts.map +1 -1
  114. package/out/zero-cache/src/server/multi/main.js +9 -3
  115. package/out/zero-cache/src/server/multi/main.js.map +1 -1
  116. package/out/zero-cache/src/services/{change-streamer → change-source}/pg/change-source.d.ts +2 -2
  117. package/out/zero-cache/src/services/change-source/pg/change-source.d.ts.map +1 -0
  118. package/out/zero-cache/src/services/{change-streamer → change-source}/pg/change-source.js +18 -49
  119. package/out/zero-cache/src/services/change-source/pg/change-source.js.map +1 -0
  120. package/out/zero-cache/src/services/change-source/pg/initial-sync.d.ts.map +1 -0
  121. package/out/zero-cache/src/services/{change-streamer → change-source}/pg/initial-sync.js +7 -8
  122. package/out/zero-cache/src/services/change-source/pg/initial-sync.js.map +1 -0
  123. package/out/zero-cache/src/services/{change-streamer → change-source}/pg/lsn.d.ts +1 -1
  124. package/out/zero-cache/src/services/change-source/pg/lsn.d.ts.map +1 -0
  125. package/out/zero-cache/src/services/change-source/pg/lsn.js.map +1 -0
  126. package/out/zero-cache/src/services/{change-streamer → change-source}/pg/schema/ddl.d.ts +15 -15
  127. package/out/zero-cache/src/services/change-source/pg/schema/ddl.d.ts.map +1 -0
  128. package/out/zero-cache/src/services/change-source/pg/schema/ddl.js.map +1 -0
  129. package/out/zero-cache/src/services/change-source/pg/schema/init.d.ts.map +1 -0
  130. package/out/zero-cache/src/services/{change-streamer → change-source}/pg/schema/init.js +1 -1
  131. package/out/zero-cache/src/services/change-source/pg/schema/init.js.map +1 -0
  132. package/out/zero-cache/src/services/{change-streamer → change-source}/pg/schema/published.d.ts +6 -6
  133. package/out/zero-cache/src/services/change-source/pg/schema/published.d.ts.map +1 -0
  134. package/out/zero-cache/src/services/change-source/pg/schema/published.js.map +1 -0
  135. package/out/zero-cache/src/services/{change-streamer → change-source}/pg/schema/shard.d.ts +1 -1
  136. package/out/zero-cache/src/services/change-source/pg/schema/shard.d.ts.map +1 -0
  137. package/out/zero-cache/src/services/change-source/pg/schema/shard.js.map +1 -0
  138. package/out/zero-cache/src/services/change-source/pg/schema/validation.d.ts.map +1 -0
  139. package/out/zero-cache/src/services/change-source/pg/schema/validation.js.map +1 -0
  140. package/out/zero-cache/src/services/change-source/pg/shard-config.d.ts.map +1 -0
  141. package/out/zero-cache/src/services/change-source/pg/shard-config.js.map +1 -0
  142. package/out/zero-cache/src/services/change-source/pg/sync-schema.d.ts.map +1 -0
  143. package/out/zero-cache/src/services/{change-streamer → change-source}/pg/sync-schema.js +7 -6
  144. package/out/zero-cache/src/services/change-source/pg/sync-schema.js.map +1 -0
  145. package/out/zero-cache/src/services/change-source/protocol/current/control.d.ts +19 -0
  146. package/out/zero-cache/src/services/change-source/protocol/current/control.d.ts.map +1 -0
  147. package/out/zero-cache/src/services/change-source/protocol/current/control.js +17 -0
  148. package/out/zero-cache/src/services/change-source/protocol/current/control.js.map +1 -0
  149. package/out/zero-cache/src/services/{change-streamer/schema/change.d.ts → change-source/protocol/current/data.d.ts} +28 -23
  150. package/out/zero-cache/src/services/change-source/protocol/current/data.d.ts.map +1 -0
  151. package/out/zero-cache/src/services/{change-streamer/schema/change.js → change-source/protocol/current/data.js} +9 -4
  152. package/out/zero-cache/src/services/change-source/protocol/current/data.js.map +1 -0
  153. package/out/zero-cache/src/services/change-source/protocol/current/downstream.d.ts +475 -0
  154. package/out/zero-cache/src/services/change-source/protocol/current/downstream.d.ts.map +1 -0
  155. package/out/zero-cache/src/services/change-source/protocol/current/downstream.js +23 -0
  156. package/out/zero-cache/src/services/change-source/protocol/current/downstream.js.map +1 -0
  157. package/out/zero-cache/src/services/change-source/protocol/current/mod.d.ts +6 -0
  158. package/out/zero-cache/src/services/change-source/protocol/current/mod.d.ts.map +1 -0
  159. package/out/zero-cache/src/services/change-source/protocol/current/mod.js +6 -0
  160. package/out/zero-cache/src/services/change-source/protocol/current/mod.js.map +1 -0
  161. package/out/zero-cache/src/services/change-source/protocol/current/path.d.ts +20 -0
  162. package/out/zero-cache/src/services/change-source/protocol/current/path.d.ts.map +1 -0
  163. package/out/zero-cache/src/services/change-source/protocol/current/path.js +20 -0
  164. package/out/zero-cache/src/services/change-source/protocol/current/path.js.map +1 -0
  165. package/out/zero-cache/src/services/change-source/protocol/current/upstream.d.ts +17 -0
  166. package/out/zero-cache/src/services/change-source/protocol/current/upstream.d.ts.map +1 -0
  167. package/out/zero-cache/src/services/change-source/protocol/current/upstream.js +12 -0
  168. package/out/zero-cache/src/services/change-source/protocol/current/upstream.js.map +1 -0
  169. package/out/zero-cache/src/services/change-source/protocol/mod.d.ts +2 -0
  170. package/out/zero-cache/src/services/change-source/protocol/mod.d.ts.map +1 -0
  171. package/out/zero-cache/src/services/change-source/protocol/mod.js +5 -0
  172. package/out/zero-cache/src/services/change-source/protocol/mod.js.map +1 -0
  173. package/out/zero-cache/src/services/change-streamer/change-streamer-service.d.ts +3 -159
  174. package/out/zero-cache/src/services/change-streamer/change-streamer-service.d.ts.map +1 -1
  175. package/out/zero-cache/src/services/change-streamer/change-streamer-service.js +22 -22
  176. package/out/zero-cache/src/services/change-streamer/change-streamer-service.js.map +1 -1
  177. package/out/zero-cache/src/services/change-streamer/change-streamer.d.ts +7 -319
  178. package/out/zero-cache/src/services/change-streamer/change-streamer.d.ts.map +1 -1
  179. package/out/zero-cache/src/services/change-streamer/change-streamer.js +3 -18
  180. package/out/zero-cache/src/services/change-streamer/change-streamer.js.map +1 -1
  181. package/out/zero-cache/src/services/change-streamer/error-type-enum.d.ts +9 -0
  182. package/out/zero-cache/src/services/change-streamer/error-type-enum.d.ts.map +1 -0
  183. package/out/zero-cache/src/services/change-streamer/error-type-enum.js +6 -0
  184. package/out/zero-cache/src/services/change-streamer/error-type-enum.js.map +1 -0
  185. package/out/zero-cache/src/services/change-streamer/schema/tables.d.ts +1 -1
  186. package/out/zero-cache/src/services/change-streamer/schema/tables.d.ts.map +1 -1
  187. package/out/zero-cache/src/services/change-streamer/storer.d.ts +1 -1
  188. package/out/zero-cache/src/services/change-streamer/storer.d.ts.map +1 -1
  189. package/out/zero-cache/src/services/change-streamer/storer.js +7 -25
  190. package/out/zero-cache/src/services/change-streamer/storer.js.map +1 -1
  191. package/out/zero-cache/src/services/change-streamer/subscriber.d.ts +5 -1
  192. package/out/zero-cache/src/services/change-streamer/subscriber.d.ts.map +1 -1
  193. package/out/zero-cache/src/services/change-streamer/subscriber.js +2 -1
  194. package/out/zero-cache/src/services/change-streamer/subscriber.js.map +1 -1
  195. package/out/zero-cache/src/services/litestream/commands.d.ts +8 -0
  196. package/out/zero-cache/src/services/litestream/commands.d.ts.map +1 -0
  197. package/out/zero-cache/src/services/litestream/commands.js +61 -0
  198. package/out/zero-cache/src/services/litestream/commands.js.map +1 -0
  199. package/out/zero-cache/src/services/litestream/config.yml +7 -0
  200. package/out/zero-cache/src/services/mutagen/mutagen.d.ts +1 -1
  201. package/out/zero-cache/src/services/mutagen/mutagen.d.ts.map +1 -1
  202. package/out/zero-cache/src/services/mutagen/mutagen.js +5 -4
  203. package/out/zero-cache/src/services/mutagen/mutagen.js.map +1 -1
  204. package/out/zero-cache/src/services/replicator/incremental-sync.d.ts +3 -2
  205. package/out/zero-cache/src/services/replicator/incremental-sync.d.ts.map +1 -1
  206. package/out/zero-cache/src/services/replicator/incremental-sync.js +17 -49
  207. package/out/zero-cache/src/services/replicator/incremental-sync.js.map +1 -1
  208. package/out/zero-cache/src/services/replicator/schema/replication-state.d.ts +3 -4
  209. package/out/zero-cache/src/services/replicator/schema/replication-state.d.ts.map +1 -1
  210. package/out/zero-cache/src/services/replicator/schema/replication-state.js +15 -20
  211. package/out/zero-cache/src/services/replicator/schema/replication-state.js.map +1 -1
  212. package/out/zero-cache/src/services/running-state.d.ts +7 -0
  213. package/out/zero-cache/src/services/running-state.d.ts.map +1 -1
  214. package/out/zero-cache/src/services/running-state.js +8 -1
  215. package/out/zero-cache/src/services/running-state.js.map +1 -1
  216. package/out/zero-cache/src/services/view-syncer/client-handler.js +1 -1
  217. package/out/zero-cache/src/services/view-syncer/client-handler.js.map +1 -1
  218. package/out/zero-cache/src/services/view-syncer/cvr-store.d.ts.map +1 -1
  219. package/out/zero-cache/src/services/view-syncer/cvr-store.js +3 -2
  220. package/out/zero-cache/src/services/view-syncer/cvr-store.js.map +1 -1
  221. package/out/zero-cache/src/services/view-syncer/cvr.d.ts.map +1 -1
  222. package/out/zero-cache/src/services/view-syncer/cvr.js +4 -3
  223. package/out/zero-cache/src/services/view-syncer/cvr.js.map +1 -1
  224. package/out/zero-cache/src/services/view-syncer/pipeline-driver.d.ts.map +1 -1
  225. package/out/zero-cache/src/services/view-syncer/pipeline-driver.js +4 -2
  226. package/out/zero-cache/src/services/view-syncer/pipeline-driver.js.map +1 -1
  227. package/out/zero-cache/src/services/view-syncer/snapshotter.js +3 -3
  228. package/out/zero-cache/src/services/view-syncer/snapshotter.js.map +1 -1
  229. package/out/zero-cache/src/services/view-syncer/view-syncer.d.ts.map +1 -1
  230. package/out/zero-cache/src/services/view-syncer/view-syncer.js +6 -5
  231. package/out/zero-cache/src/services/view-syncer/view-syncer.js.map +1 -1
  232. package/out/zero-cache/src/types/error-for-client.d.ts +2 -2
  233. package/out/zero-cache/src/types/pg.js +2 -2
  234. package/out/zero-cache/src/types/pg.js.map +1 -1
  235. package/out/zero-cache/src/types/processes.d.ts +4 -2
  236. package/out/zero-cache/src/types/processes.d.ts.map +1 -1
  237. package/out/zero-cache/src/types/processes.js.map +1 -1
  238. package/out/zero-cache/src/types/schema-versions.js +1 -1
  239. package/out/zero-cache/src/types/schema-versions.js.map +1 -1
  240. package/out/zero-cache/src/workers/connection.d.ts.map +1 -1
  241. package/out/zero-cache/src/workers/connection.js +2 -1
  242. package/out/zero-cache/src/workers/connection.js.map +1 -1
  243. package/out/zero-cache/src/workers/syncer.js +1 -1
  244. package/out/zero-cache/src/workers/syncer.js.map +1 -1
  245. package/out/zero-client/src/client/connection-state-enum.d.ts +7 -0
  246. package/out/zero-client/src/client/connection-state-enum.d.ts.map +1 -0
  247. package/out/zero-client/src/client/metric-name-enum.d.ts +13 -0
  248. package/out/zero-client/src/client/metric-name-enum.d.ts.map +1 -0
  249. package/out/zero-client/src/client/metrics.d.ts +2 -9
  250. package/out/zero-client/src/client/metrics.d.ts.map +1 -1
  251. package/out/zero-client/src/client/ping-result-enum.d.ts +5 -0
  252. package/out/zero-client/src/client/ping-result-enum.d.ts.map +1 -0
  253. package/out/zero-client/src/client/server-error.d.ts +4 -1
  254. package/out/zero-client/src/client/server-error.d.ts.map +1 -1
  255. package/out/zero-client/src/client/zero.d.ts +4 -5
  256. package/out/zero-client/src/client/zero.d.ts.map +1 -1
  257. package/out/zero-protocol/src/error-kind-enum.d.ts +31 -0
  258. package/out/zero-protocol/src/error-kind-enum.d.ts.map +1 -0
  259. package/out/zero-protocol/src/error-kind-enum.js +20 -0
  260. package/out/zero-protocol/src/error-kind-enum.js.map +1 -0
  261. package/out/zero-protocol/src/error.d.ts +4 -21
  262. package/out/zero-protocol/src/error.d.ts.map +1 -1
  263. package/out/zero-protocol/src/error.js +1 -21
  264. package/out/zero-protocol/src/error.js.map +1 -1
  265. package/out/zero-protocol/src/mutation-type-enum.d.ts +5 -0
  266. package/out/zero-protocol/src/mutation-type-enum.d.ts.map +1 -0
  267. package/out/zero-protocol/src/mutation-type-enum.js +4 -0
  268. package/out/zero-protocol/src/mutation-type-enum.js.map +1 -0
  269. package/out/zero-protocol/src/push.d.ts +8 -12
  270. package/out/zero-protocol/src/push.d.ts.map +1 -1
  271. package/out/zero-protocol/src/push.js +1 -5
  272. package/out/zero-protocol/src/push.js.map +1 -1
  273. package/out/zero-protocol/src/up.d.ts +2 -2
  274. package/out/zero-schema/src/normalize-table-schema.d.ts +4 -3
  275. package/out/zero-schema/src/normalize-table-schema.d.ts.map +1 -1
  276. package/out/zero-schema/src/normalize-table-schema.js +27 -23
  277. package/out/zero-schema/src/normalize-table-schema.js.map +1 -1
  278. package/out/zero-schema/src/normalized-schema.d.ts.map +1 -1
  279. package/out/zero-schema/src/normalized-schema.js +19 -2
  280. package/out/zero-schema/src/normalized-schema.js.map +1 -1
  281. package/out/zero-schema/src/schema.d.ts +1 -1
  282. package/out/zero-schema/src/schema.d.ts.map +1 -1
  283. package/out/zero-schema/src/schema.js +5 -4
  284. package/out/zero-schema/src/schema.js.map +1 -1
  285. package/out/zero-solid/src/solid-view.d.ts +4 -1
  286. package/out/zero-solid/src/solid-view.d.ts.map +1 -1
  287. package/out/zero-solid/src/use-query.d.ts +4 -7
  288. package/out/zero-solid/src/use-query.d.ts.map +1 -1
  289. package/out/zero.js +2 -2
  290. package/package.json +9 -5
  291. package/out/chunk-PPRTDNXA.js.map +0 -7
  292. package/out/zero-cache/src/services/change-streamer/pg/change-source.d.ts.map +0 -1
  293. package/out/zero-cache/src/services/change-streamer/pg/change-source.js.map +0 -1
  294. package/out/zero-cache/src/services/change-streamer/pg/initial-sync.d.ts.map +0 -1
  295. package/out/zero-cache/src/services/change-streamer/pg/initial-sync.js.map +0 -1
  296. package/out/zero-cache/src/services/change-streamer/pg/lsn.d.ts.map +0 -1
  297. package/out/zero-cache/src/services/change-streamer/pg/lsn.js.map +0 -1
  298. package/out/zero-cache/src/services/change-streamer/pg/schema/ddl.d.ts.map +0 -1
  299. package/out/zero-cache/src/services/change-streamer/pg/schema/ddl.js.map +0 -1
  300. package/out/zero-cache/src/services/change-streamer/pg/schema/init.d.ts.map +0 -1
  301. package/out/zero-cache/src/services/change-streamer/pg/schema/init.js.map +0 -1
  302. package/out/zero-cache/src/services/change-streamer/pg/schema/published.d.ts.map +0 -1
  303. package/out/zero-cache/src/services/change-streamer/pg/schema/published.js.map +0 -1
  304. package/out/zero-cache/src/services/change-streamer/pg/schema/shard.d.ts.map +0 -1
  305. package/out/zero-cache/src/services/change-streamer/pg/schema/shard.js.map +0 -1
  306. package/out/zero-cache/src/services/change-streamer/pg/schema/validation.d.ts.map +0 -1
  307. package/out/zero-cache/src/services/change-streamer/pg/schema/validation.js.map +0 -1
  308. package/out/zero-cache/src/services/change-streamer/pg/shard-config.d.ts.map +0 -1
  309. package/out/zero-cache/src/services/change-streamer/pg/shard-config.js.map +0 -1
  310. package/out/zero-cache/src/services/change-streamer/pg/sync-schema.d.ts.map +0 -1
  311. package/out/zero-cache/src/services/change-streamer/pg/sync-schema.js.map +0 -1
  312. package/out/zero-cache/src/services/change-streamer/schema/change.d.ts.map +0 -1
  313. package/out/zero-cache/src/services/change-streamer/schema/change.js.map +0 -1
  314. /package/out/zero-cache/src/services/{change-streamer → change-source}/pg/initial-sync.d.ts +0 -0
  315. /package/out/zero-cache/src/services/{change-streamer → change-source}/pg/lsn.js +0 -0
  316. /package/out/zero-cache/src/services/{change-streamer → change-source}/pg/schema/ddl.js +0 -0
  317. /package/out/zero-cache/src/services/{change-streamer → change-source}/pg/schema/init.d.ts +0 -0
  318. /package/out/zero-cache/src/services/{change-streamer → change-source}/pg/schema/published.js +0 -0
  319. /package/out/zero-cache/src/services/{change-streamer → change-source}/pg/schema/shard.js +0 -0
  320. /package/out/zero-cache/src/services/{change-streamer → change-source}/pg/schema/validation.d.ts +0 -0
  321. /package/out/zero-cache/src/services/{change-streamer → change-source}/pg/schema/validation.js +0 -0
  322. /package/out/zero-cache/src/services/{change-streamer → change-source}/pg/shard-config.d.ts +0 -0
  323. /package/out/zero-cache/src/services/{change-streamer → change-source}/pg/shard-config.js +0 -0
  324. /package/out/zero-cache/src/services/{change-streamer → change-source}/pg/sync-schema.d.ts +0 -0
@@ -0,0 +1,8 @@
1
+ import type { LogContext } from '@rocicorp/logger';
2
+ import { ChildProcess } from 'node:child_process';
3
+ import type { ZeroConfig } from '../../config/zero-config.js';
4
+ type ZeroLitestreamConfig = Pick<ZeroConfig, 'log' | 'replicaFile' | 'litestream'>;
5
+ export declare function restoreReplica(lc: LogContext, config: ZeroLitestreamConfig, maxRetries: number, retryIntervalMs?: number): Promise<void>;
6
+ export declare function startReplicaBackupProcess(config: ZeroLitestreamConfig): ChildProcess;
7
+ export {};
8
+ //# sourceMappingURL=commands.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/litestream/commands.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAW,MAAM,kBAAkB,CAAC;AAE3D,OAAO,EAAC,YAAY,EAAQ,MAAM,oBAAoB,CAAC;AAIvD,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,6BAA6B,CAAC;AAE5D,KAAK,oBAAoB,GAAG,IAAI,CAC9B,UAAU,EACV,KAAK,GAAG,aAAa,GAAG,YAAY,CACrC,CAAC;AAEF,wBAAsB,cAAc,CAClC,EAAE,EAAE,UAAU,EACd,MAAM,EAAE,oBAAoB,EAC5B,UAAU,EAAE,MAAM,EAClB,eAAe,SAAO,iBAmBvB;AA8CD,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,oBAAoB,GAC3B,YAAY,CAGd"}
@@ -0,0 +1,61 @@
1
+ import { resolver } from '@rocicorp/resolver';
2
+ import { ChildProcess, spawn } from 'node:child_process';
3
+ import { existsSync } from 'node:fs';
4
+ import { must } from '../../../../shared/src/must.js';
5
+ import { sleep } from '../../../../shared/src/sleep.js';
6
+ export async function restoreReplica(lc, config, maxRetries, retryIntervalMs = 3000) {
7
+ for (let i = 0; i < maxRetries; i++) {
8
+ if (i > 0) {
9
+ lc.info?.(`replica not found. retrying in ${retryIntervalMs / 1000} seconds`);
10
+ await sleep(retryIntervalMs);
11
+ }
12
+ const restored = await tryRestore(config);
13
+ if (restored) {
14
+ return;
15
+ }
16
+ if (maxRetries === 1) {
17
+ lc.info?.('no litestream backup found');
18
+ return;
19
+ }
20
+ }
21
+ throw new Error(`max attempts exceeded restoring replica`);
22
+ }
23
+ function getLitestream(config, logLevelOverride) {
24
+ const { executable, backupURL, logLevel, configPath } = config.litestream;
25
+ return {
26
+ litestream: must(executable, `Missing --litestream-executable`),
27
+ env: {
28
+ ...process.env,
29
+ ['ZERO_REPLICA_FILE']: config.replicaFile,
30
+ ['ZERO_LITESTREAM_BACKUP_URL']: must(backupURL),
31
+ ['ZERO_LITESTREAM_LOG_LEVEL']: logLevelOverride ?? logLevel,
32
+ ['ZERO_LOG_FORMAT']: config.log.format,
33
+ ['LITESTREAM_CONFIG']: configPath,
34
+ },
35
+ };
36
+ }
37
+ async function tryRestore(config) {
38
+ // The log output for litestream restore is minimal. Include it all.
39
+ const { litestream, env } = getLitestream(config, 'debug');
40
+ const proc = spawn(litestream, ['restore', '-if-db-not-exists', '-if-replica-exists', config.replicaFile], { env, stdio: 'inherit' });
41
+ const { promise, resolve, reject } = resolver();
42
+ proc.on('error', reject);
43
+ proc.on('close', (code, signal) => {
44
+ if (signal) {
45
+ reject(`litestream killed with ${signal}`);
46
+ }
47
+ else if (code !== 0) {
48
+ reject(`litestream exited with code ${code}`);
49
+ }
50
+ else {
51
+ resolve();
52
+ }
53
+ });
54
+ await promise;
55
+ return existsSync(config.replicaFile);
56
+ }
57
+ export function startReplicaBackupProcess(config) {
58
+ const { litestream, env } = getLitestream(config);
59
+ return spawn(litestream, ['replicate'], { env, stdio: 'inherit' });
60
+ }
61
+ //# sourceMappingURL=commands.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/litestream/commands.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ dbs:
2
+ - path: ${ZERO_REPLICA_FILE}
3
+ replicas:
4
+ - url: ${ZERO_LITESTREAM_BACKUP_URL}
5
+ logging:
6
+ level: ${ZERO_LITESTREAM_LOG_LEVEL}
7
+ type: ${ZERO_LOG_FORMAT}
@@ -1,7 +1,7 @@
1
1
  import type { LogContext } from '@rocicorp/logger';
2
2
  import type { JWTPayload } from 'jose';
3
3
  import postgres from 'postgres';
4
- import { ErrorKind } from '../../../../zero-protocol/src/mod.js';
4
+ import * as ErrorKind from '../../../../zero-protocol/src/error-kind-enum.js';
5
5
  import { type InsertOp, type Mutation, type UpsertOp } from '../../../../zero-protocol/src/push.js';
6
6
  import type { PermissionsConfig } from '../../../../zero-schema/src/compiled-permissions.js';
7
7
  import type { Schema } from '../../../../zero-schema/src/schema.js';
@@ -1 +1 @@
1
- {"version":3,"file":"mutagen.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/mutagen/mutagen.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAEjD,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,MAAM,CAAC;AACrC,OAAO,QAAQ,MAAM,UAAU,CAAC;AAGhC,OAAO,EAAC,SAAS,EAAC,MAAM,sCAAsC,CAAC;AAK/D,OAAO,EAIL,KAAK,QAAQ,EACb,KAAK,QAAQ,EAEb,KAAK,QAAQ,EACd,MAAM,uCAAuC,CAAC;AAC/C,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,qDAAqD,CAAC;AAC3F,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,uCAAuC,CAAC;AAElE,OAAO,EAEL,KAAK,eAAe,EACrB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAC,KAAK,UAAU,EAAC,MAAM,6BAA6B,CAAC;AAG5D,OAAO,KAAK,EAAC,UAAU,EAAsB,MAAM,mBAAmB,CAAC;AAIvE,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;AAI3C,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,SAAS,CAAC,cAAc,GAAG,SAAS,CAAC,mBAAmB;IAC9D,IAAI,EAAE,MAAM;CACb,CAAC;AAEF,MAAM,WAAW,OAAO;IACtB,eAAe,CACb,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,UAAU,GAAG,SAAS,EAChC,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAAC;CACvC;AAED,qBAAa,cAAe,YAAW,OAAO,EAAE,OAAO;;IACrD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;gBAUlB,EAAE,EAAE,UAAU,EACd,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,UAAU,EACpB,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,iBAAiB;IA0BhC,eAAe,CACb,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,UAAU,GAAG,SAAS,EAChC,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;IAmBrC,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAIpB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAItB;AAID,wBAAsB,eAAe,CACnC,EAAE,EAAE,UAAU,EACd,QAAQ,EAAE,UAAU,GAAG,SAAS,EAChC,EAAE,EAAE,UAAU,EACd,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,QAAQ,EAClB,eAAe,EAAE,eAAe,EAChC,aAAa,EAAE,MAAM,EACrB,SAAS,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GACrC,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CA2GpC;AAqED,wBAAgB,YAAY,CAC1B,EAAE,EAAE,QAAQ,CAAC,cAAc,EAC3B,MAAM,EAAE,QAAQ,GACf,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAEvC;AAED,wBAAgB,YAAY,CAC1B,EAAE,EAAE,QAAQ,CAAC,cAAc,EAC3B,GAAG,EAAE,QAAQ,GACZ,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAOvC"}
1
+ {"version":3,"file":"mutagen.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/mutagen/mutagen.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAEjD,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,MAAM,CAAC;AACrC,OAAO,QAAQ,MAAM,UAAU,CAAC;AAGhC,OAAO,KAAK,SAAS,MAAM,kDAAkD,CAAC;AAM9E,OAAO,EAGL,KAAK,QAAQ,EACb,KAAK,QAAQ,EAEb,KAAK,QAAQ,EACd,MAAM,uCAAuC,CAAC;AAC/C,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,qDAAqD,CAAC;AAC3F,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,uCAAuC,CAAC;AAElE,OAAO,EAEL,KAAK,eAAe,EACrB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAC,KAAK,UAAU,EAAC,MAAM,6BAA6B,CAAC;AAG5D,OAAO,KAAK,EAAC,UAAU,EAAsB,MAAM,mBAAmB,CAAC;AAIvE,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;AAI3C,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,SAAS,CAAC,cAAc,GAAG,SAAS,CAAC,mBAAmB;IAC9D,IAAI,EAAE,MAAM;CACb,CAAC;AAEF,MAAM,WAAW,OAAO;IACtB,eAAe,CACb,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,UAAU,GAAG,SAAS,EAChC,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAAC;CACvC;AAED,qBAAa,cAAe,YAAW,OAAO,EAAE,OAAO;;IACrD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;gBAUlB,EAAE,EAAE,UAAU,EACd,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,UAAU,EACpB,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,iBAAiB;IA0BhC,eAAe,CACb,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,UAAU,GAAG,SAAS,EAChC,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;IAmBrC,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAIpB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAItB;AAID,wBAAsB,eAAe,CACnC,EAAE,EAAE,UAAU,EACd,QAAQ,EAAE,UAAU,GAAG,SAAS,EAChC,EAAE,EAAE,UAAU,EACd,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,QAAQ,EAClB,eAAe,EAAE,eAAe,EAChC,aAAa,EAAE,MAAM,EACrB,SAAS,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GACrC,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CA2GpC;AAqED,wBAAgB,YAAY,CAC1B,EAAE,EAAE,QAAQ,CAAC,cAAc,EAC3B,MAAM,EAAE,QAAQ,GACf,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAEvC;AAED,wBAAgB,YAAY,CAC1B,EAAE,EAAE,QAAQ,CAAC,cAAc,EAC3B,GAAG,EAAE,QAAQ,GACZ,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAOvC"}
@@ -3,16 +3,17 @@ import { resolver } from '@rocicorp/resolver';
3
3
  import postgres from 'postgres';
4
4
  import { assert, unreachable } from '../../../../shared/src/asserts.js';
5
5
  import * as v from '../../../../shared/src/valita.js';
6
- import { ErrorKind } from '../../../../zero-protocol/src/mod.js';
6
+ import * as ErrorKind from '../../../../zero-protocol/src/error-kind-enum.js';
7
+ import * as MutationType from '../../../../zero-protocol/src/mutation-type-enum.js';
7
8
  import { primaryKeyValueSchema, } from '../../../../zero-protocol/src/primary-key.js';
8
- import { MutationType, } from '../../../../zero-protocol/src/push.js';
9
+ import {} from '../../../../zero-protocol/src/push.js';
9
10
  import { Database } from '../../../../zqlite/src/db.js';
10
11
  import { WriteAuthorizerImpl, } from '../../auth/write-authorizer.js';
11
12
  import {} from '../../config/zero-config.js';
12
- import { Mode } from '../../db/transaction-pool.js';
13
+ import * as Mode from '../../db/mode-enum.js';
13
14
  import { ErrorForClient } from '../../types/error-for-client.js';
14
15
  import { throwErrorForClientIfSchemaVersionNotSupported } from '../../types/schema-versions.js';
15
- import { unescapedSchema as schema } from '../change-streamer/pg/schema/shard.js';
16
+ import { unescapedSchema as schema } from '../change-source/pg/schema/shard.js';
16
17
  import { SlidingWindowLimiter } from '../limiter/sliding-window-limiter.js';
17
18
  export class MutagenService {
18
19
  id;
@@ -1 +1 @@
1
- {"version":3,"file":"mutagen.js","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/mutagen/mutagen.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mutagen.js","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/mutagen/mutagen.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,8 @@ import type { LogContext } from '@rocicorp/logger';
2
2
  import { Database } from '../../../../zqlite/src/db.js';
3
3
  import { StatementRunner } from '../../db/statements.js';
4
4
  import type { Source } from '../../types/streams.js';
5
- import type { ChangeStreamer, DownstreamChange } from '../change-streamer/change-streamer.js';
5
+ import type { ChangeStreamData } from '../change-source/protocol/current/downstream.js';
6
+ import type { ChangeStreamer } from '../change-streamer/change-streamer.js';
6
7
  import type { ReplicaState, ReplicatorMode } from './replicator.js';
7
8
  type TransactionMode = 'IMMEDIATE' | 'CONCURRENT';
8
9
  /**
@@ -34,7 +35,7 @@ export declare class MessageProcessor {
34
35
  constructor(db: StatementRunner, txMode: TransactionMode, failService: (lc: LogContext, err: unknown) => void);
35
36
  abort(lc: LogContext): void;
36
37
  /** @return If a transaction was committed. */
37
- processMessage(lc: LogContext, downstream: DownstreamChange): boolean;
38
+ processMessage(lc: LogContext, downstream: ChangeStreamData): boolean;
38
39
  }
39
40
  export {};
40
41
  //# sourceMappingURL=incremental-sync.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"incremental-sync.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/replicator/incremental-sync.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAMjD,OAAO,EAAC,QAAQ,EAAC,MAAM,8BAA8B,CAAC;AAatD,OAAO,EAAC,eAAe,EAAC,MAAM,wBAAwB,CAAC;AAMvD,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,wBAAwB,CAAC;AACnD,OAAO,KAAK,EACV,cAAc,EAEd,gBAAgB,EACjB,MAAM,uCAAuC,CAAC;AAmB/C,OAAO,KAAK,EAAC,YAAY,EAAE,cAAc,EAAC,MAAM,iBAAiB,CAAC;AAclE,KAAK,eAAe,GAAG,WAAW,GAAG,YAAY,CAAC;AAElD;;;;;GAKG;AACH,qBAAa,iBAAiB;;gBAY1B,EAAE,EAAE,MAAM,EACV,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,QAAQ,EACjB,IAAI,EAAE,cAAc;IAUhB,GAAG,CAAC,EAAE,EAAE,UAAU;IAqDxB,SAAS,IAAI,MAAM,CAAC,YAAY,CAAC;IAI3B,IAAI,CAAC,EAAE,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,OAAO;CAIzC;AAoBD;;;;;;;;;;GAUG;AAEH,qBAAa,gBAAgB;;gBAezB,EAAE,EAAE,eAAe,EACnB,MAAM,EAAE,eAAe,EACvB,WAAW,EAAE,CAAC,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,KAAK,IAAI;IAqBrD,KAAK,CAAC,EAAE,EAAE,UAAU;IAIpB,8CAA8C;IAC9C,cAAc,CAAC,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,gBAAgB,GAAG,OAAO;CAmItE"}
1
+ {"version":3,"file":"incremental-sync.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/replicator/incremental-sync.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAMjD,OAAO,EAAC,QAAQ,EAAC,MAAM,8BAA8B,CAAC;AAatD,OAAO,EAAC,eAAe,EAAC,MAAM,wBAAwB,CAAC;AAMvD,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,wBAAwB,CAAC;AAiBnD,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,iDAAiD,CAAC;AACtF,OAAO,KAAK,EACV,cAAc,EAEf,MAAM,uCAAuC,CAAC;AAG/C,OAAO,KAAK,EAAC,YAAY,EAAE,cAAc,EAAC,MAAM,iBAAiB,CAAC;AAalE,KAAK,eAAe,GAAG,WAAW,GAAG,YAAY,CAAC;AAElD;;;;;GAKG;AACH,qBAAa,iBAAiB;;gBAY1B,EAAE,EAAE,MAAM,EACV,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,QAAQ,EACjB,IAAI,EAAE,cAAc;IAUhB,GAAG,CAAC,EAAE,EAAE,UAAU;IAqDxB,SAAS,IAAI,MAAM,CAAC,YAAY,CAAC;IAI3B,IAAI,CAAC,EAAE,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,OAAO;CAIzC;AAWD;;;;;;;;;;GAUG;AAEH,qBAAa,gBAAgB;;gBAezB,EAAE,EAAE,eAAe,EACnB,MAAM,EAAE,eAAe,EACvB,WAAW,EAAE,CAAC,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,KAAK,IAAI;IAqBrD,KAAK,CAAC,EAAE,EAAE,UAAU;IAIpB,8CAA8C;IAC9C,cAAc,CAAC,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,gBAAgB,GAAG,OAAO;CAwItE"}
@@ -15,7 +15,7 @@ import { id } from '../../types/sql.js';
15
15
  import { RunningState } from '../running-state.js';
16
16
  import { Notifier } from './notifier.js';
17
17
  import { logDeleteOp, logResetOp, logSetOp, logTruncateOp, } from './schema/change-log.js';
18
- import { ZERO_VERSION_COLUMN_NAME, getReplicationVersions, getSubscriptionState, updateReplicationWatermark, } from './schema/replication-state.js';
18
+ import { ZERO_VERSION_COLUMN_NAME, getSubscriptionState, updateReplicationWatermark, } from './schema/replication-state.js';
19
19
  /**
20
20
  * The {@link IncrementalSyncer} manages a logical replication stream from upstream,
21
21
  * handling application lifecycle events (start, stop) and retrying the
@@ -100,13 +100,6 @@ function ensureError(err) {
100
100
  error.cause = err;
101
101
  return error;
102
102
  }
103
- class ReplayedTransactionError extends Error {
104
- watermark;
105
- constructor(watermark, commit) {
106
- super(`${watermark} has already been processed: ${stringify(commit)}`);
107
- this.watermark = watermark;
108
- }
109
- }
110
103
  /**
111
104
  * The {@link MessageProcessor} partitions the stream of messages into transactions
112
105
  * by creating a {@link TransactionProcessor} when a transaction begins, and dispatching
@@ -156,24 +149,23 @@ export class MessageProcessor {
156
149
  return false;
157
150
  }
158
151
  try {
159
- const watermark = type === 'commit' ? downstream[2].watermark : undefined;
152
+ const watermark = type === 'begin'
153
+ ? downstream[2].commitWatermark
154
+ : type === 'commit'
155
+ ? downstream[2].watermark
156
+ : undefined;
160
157
  return this.#processMessage(lc, message, watermark);
161
158
  }
162
159
  catch (e) {
163
- if (e instanceof ReplayedTransactionError) {
164
- lc.info?.(e);
165
- }
166
- else {
167
- this.#fail(lc, e);
168
- }
160
+ this.#fail(lc, e);
169
161
  }
170
162
  return false;
171
163
  }
172
- #beginTransaction(lc) {
164
+ #beginTransaction(lc, commitVersion) {
173
165
  let start = Date.now();
174
166
  for (let i = 0;; i++) {
175
167
  try {
176
- return new TransactionProcessor(lc, this.#db, this.#txMode, this.#tableSpecs);
168
+ return new TransactionProcessor(lc, this.#db, this.#txMode, this.#tableSpecs, commitVersion);
177
169
  }
178
170
  catch (e) {
179
171
  // The db occasionally errors with a 'database is locked' error when
@@ -198,7 +190,7 @@ export class MessageProcessor {
198
190
  if (this.#currentTx) {
199
191
  throw new Error(`Already in a transaction ${stringify(msg)}`);
200
192
  }
201
- this.#currentTx = this.#beginTransaction(lc);
193
+ this.#currentTx = this.#beginTransaction(lc, must(watermark));
202
194
  return false;
203
195
  }
204
196
  // For non-begin messages, there should be a #currentTx set.
@@ -288,7 +280,7 @@ class TransactionProcessor {
288
280
  #db;
289
281
  #version;
290
282
  #tableSpecs;
291
- constructor(lc, db, txMode, tableSpecs) {
283
+ constructor(lc, db, txMode, tableSpecs, commitVersion) {
292
284
  this.#startMs = Date.now();
293
285
  if (txMode === 'CONCURRENT') {
294
286
  // Although the Replicator / Incremental Syncer is the only writer of the replica,
@@ -307,10 +299,9 @@ class TransactionProcessor {
307
299
  // so it is important to use vanilla transactions in this configuration.
308
300
  db.beginImmediate();
309
301
  }
310
- const { nextStateVersion } = getReplicationVersions(db);
311
302
  this.#db = db;
312
- this.#version = nextStateVersion;
313
- this.#lc = lc.withContext('version', nextStateVersion);
303
+ this.#version = commitVersion;
304
+ this.#lc = lc.withContext('version', commitVersion);
314
305
  this.#tableSpecs = tableSpecs;
315
306
  if (this.#tableSpecs.size === 0) {
316
307
  this.#reloadTableSpecs();
@@ -325,22 +316,6 @@ class TransactionProcessor {
325
316
  #tableSpec(name) {
326
317
  return must(this.#tableSpecs.get(name), `Unknown table ${name}`);
327
318
  }
328
- /**
329
- * Note: All INSERTs are processed a UPSERTs in order to properly handle
330
- * replayed transactions (e.g. if an acknowledgement was lost). In the case
331
- * of a replayed transaction, the final commit results in an rollback if the
332
- * watermark is earlier than what has already been processed.
333
- * See {@link processCommit}.
334
- *
335
- * Note that a transaction replay could theoretically be detected at the BEGIN message
336
- * since it contains the commitEndLsn (from which a watermark can be derived), but
337
- * that would not generalize to streaming transactions for which the commitEndLsn
338
- * is not known until STREAM COMMIT.
339
- *
340
- * This UPSERT strategy instead handles both protocols by accepting all messages and
341
- * making the COMMIT/ROLLBACK decision when the commit watermark is guaranteed to be
342
- * available.
343
- */
344
319
  processInsert(insert) {
345
320
  const table = liteTableName(insert.relation);
346
321
  const newRow = liteRow(insert.new, this.#tableSpec(table));
@@ -349,15 +324,10 @@ class TransactionProcessor {
349
324
  [ZERO_VERSION_COLUMN_NAME]: this.#version,
350
325
  };
351
326
  const key = Object.fromEntries(insert.relation.keyColumns.map(col => [col, newRow[col]]));
352
- const rawColumns = Object.keys(row);
353
- const keyColumns = insert.relation.keyColumns.map(c => id(c));
354
- const columns = rawColumns.map(c => id(c));
355
- const upsert = rawColumns.map(c => `${id(c)}=EXCLUDED.${id(c)}`);
327
+ const columns = Object.keys(row).map(c => id(c));
356
328
  this.#db.run(`
357
329
  INSERT INTO ${id(table)} (${columns.join(',')})
358
330
  VALUES (${new Array(columns.length).fill('?').join(',')})
359
- ON CONFLICT (${keyColumns.join(',')})
360
- DO UPDATE SET ${upsert.join(',')}
361
331
  `, Object.values(row));
362
332
  logSetOp(this.#db, this.#version, table, key);
363
333
  }
@@ -497,12 +467,10 @@ class TransactionProcessor {
497
467
  this.#reloadTableSpecs();
498
468
  }
499
469
  processCommit(commit, watermark) {
500
- const nextVersion = watermark;
501
- if (nextVersion <= this.#version) {
502
- this.#db.rollback();
503
- throw new ReplayedTransactionError(watermark, commit);
470
+ if (watermark !== this.#version) {
471
+ throw new Error(`'commit' version ${watermark} does not match 'begin' version ${this.#version}: ${stringify(commit)}`);
504
472
  }
505
- updateReplicationWatermark(this.#db, nextVersion);
473
+ updateReplicationWatermark(this.#db, watermark);
506
474
  this.#db.commit();
507
475
  const elapsedMs = Date.now() - this.#startMs;
508
476
  this.#lc.debug?.(`Committed tx@${this.#version} (${elapsedMs} ms)`);
@@ -1 +1 @@
1
- {"version":3,"file":"incremental-sync.js","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/replicator/incremental-sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"incremental-sync.js","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/replicator/incremental-sync.ts"],"names":[],"mappings":"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"}
@@ -8,11 +8,10 @@ import * as v from '../../../../../shared/src/valita.js';
8
8
  import { Database } from '../../../../../zqlite/src/db.js';
9
9
  import { StatementRunner } from '../../../db/statements.js';
10
10
  export declare const ZERO_VERSION_COLUMN_NAME = "_0_version";
11
- declare const versionsSchema: v.ObjectType<{
11
+ declare const replicationStateSchema: v.ObjectType<{
12
12
  stateVersion: v.Type<string>;
13
- nextStateVersion: v.Type<string>;
14
13
  }, undefined>;
15
- export type ReplicationVersions = v.Infer<typeof versionsSchema>;
14
+ export type ReplicationState = v.Infer<typeof replicationStateSchema>;
16
15
  export declare function initReplicationState(db: Database, publications: string[], watermark: string): void;
17
16
  export declare function getSubscriptionState(db: StatementRunner): {
18
17
  publications: string[];
@@ -20,6 +19,6 @@ export declare function getSubscriptionState(db: StatementRunner): {
20
19
  watermark: string;
21
20
  };
22
21
  export declare function updateReplicationWatermark(db: StatementRunner, watermark: string): void;
23
- export declare function getReplicationVersions(db: StatementRunner): ReplicationVersions;
22
+ export declare function getReplicationState(db: StatementRunner): ReplicationState;
24
23
  export {};
25
24
  //# sourceMappingURL=replication-state.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"replication-state.d.ts","sourceRoot":"","sources":["../../../../../../../zero-cache/src/services/replicator/schema/replication-state.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,CAAC,MAAM,qCAAqC,CAAC;AACzD,OAAO,EAAC,QAAQ,EAAC,MAAM,iCAAiC,CAAC;AACzD,OAAO,EAAC,eAAe,EAAC,MAAM,2BAA2B,CAAC;AAE1D,eAAO,MAAM,wBAAwB,eAAe,CAAC;AA4CrD,QAAA,MAAM,cAAc;;;aAGlB,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAEjE,wBAAgB,oBAAoB,CAClC,EAAE,EAAE,QAAQ,EACZ,YAAY,EAAE,MAAM,EAAE,EACtB,SAAS,EAAE,MAAM,QAelB;AAED,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,eAAe;;;;EAUvD;AAED,wBAAgB,0BAA0B,CACxC,EAAE,EAAE,eAAe,EACnB,SAAS,EAAE,MAAM,QAMlB;AAED,wBAAgB,sBAAsB,CACpC,EAAE,EAAE,eAAe,GAClB,mBAAmB,CAKrB"}
1
+ {"version":3,"file":"replication-state.d.ts","sourceRoot":"","sources":["../../../../../../../zero-cache/src/services/replicator/schema/replication-state.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,CAAC,MAAM,qCAAqC,CAAC;AACzD,OAAO,EAAC,QAAQ,EAAC,MAAM,iCAAiC,CAAC;AACzD,OAAO,EAAC,eAAe,EAAC,MAAM,2BAA2B,CAAC;AAE1D,eAAO,MAAM,wBAAwB,eAAe,CAAC;AAyCrD,QAAA,MAAM,sBAAsB;;aAE1B,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,wBAAgB,oBAAoB,CAClC,EAAE,EAAE,QAAQ,EACZ,YAAY,EAAE,MAAM,EAAE,EACtB,SAAS,EAAE,MAAM,QAclB;AAED,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,eAAe;;;;EAUvD;AAED,wBAAgB,0BAA0B,CACxC,EAAE,EAAE,eAAe,EACnB,SAAS,EAAE,MAAM,QAGlB;AAED,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,eAAe,GAAG,gBAAgB,CAGzE"}
@@ -10,11 +10,9 @@ import { StatementRunner } from '../../../db/statements.js';
10
10
  export const ZERO_VERSION_COLUMN_NAME = '_0_version';
11
11
  const CREATE_REPLICATION_STATE_SCHEMA =
12
12
  // replicaVersion : A value identifying the version at which the initial sync happened, i.e.
13
- // at which all rows were copied and initialized with `_0_version: "00"`. This
14
- // value is used to distinguish data from other replicas (e.g. if a replica is
15
- // reset or if there are ever multiple replicas). Data from replicas with
16
- // different versions are incompatible, as their "00" version will correspond
17
- // to different snapshots of the upstream database.
13
+ // the version at which all rows were copied, and to `_0_version` was set.
14
+ // This value is used to distinguish data from other replicas (e.g. if a
15
+ // replica is reset or if there are ever multiple replicas).
18
16
  // publications : JSON stringified array of publication names
19
17
  // lock : Auto-magic column for enforcing single-row semantics.
20
18
  `
@@ -24,14 +22,13 @@ const CREATE_REPLICATION_STATE_SCHEMA =
24
22
  lock INTEGER PRIMARY KEY DEFAULT 1 CHECK (lock=1)
25
23
  );
26
24
  ` +
27
- // watermark : Lexicographically sortable watermark denoting the point from which replication
28
- // should continue. For a Postgres upstream, for example, this is the
29
- // LexiVersion-encoded LSN. This is also used as the state version for rows
30
- // modified in the **next** transaction.
31
- // stateVersion : The value of the _0_version column for the newest rows in the database.
25
+ // stateVersion : The latest version replicated from upstream, starting with the initial
26
+ // `replicaVersion` and moving forward to each subsequent commit watermark
27
+ // (e.g. corresponding to a Postgres LSN). Versions are represented as
28
+ // lexicographically sortable watermarks (e.g. LexiVersions).
29
+ //
32
30
  `
33
31
  CREATE TABLE "_zero.replicationState" (
34
- watermark TEXT NOT NULL,
35
32
  stateVersion TEXT NOT NULL,
36
33
  lock INTEGER PRIMARY KEY DEFAULT 1 CHECK (lock=1)
37
34
  );
@@ -47,9 +44,8 @@ const subscriptionStateSchema = v
47
44
  ...s,
48
45
  publications: v.parse(JSON.parse(s.publications), stringArray),
49
46
  }));
50
- const versionsSchema = v.object({
47
+ const replicationStateSchema = v.object({
51
48
  stateVersion: v.string(),
52
- nextStateVersion: v.string(),
53
49
  });
54
50
  export function initReplicationState(db, publications, watermark) {
55
51
  db.exec(CREATE_REPLICATION_STATE_SCHEMA);
@@ -58,13 +54,12 @@ export function initReplicationState(db, publications, watermark) {
58
54
  (replicaVersion, publications) VALUES (?, ?)
59
55
  `).run(watermark, JSON.stringify(publications.sort()));
60
56
  db.prepare(`
61
- INSERT INTO "_zero.replicationState"
62
- (watermark, stateVersion) VALUES (?,'00')
57
+ INSERT INTO "_zero.replicationState" (stateVersion) VALUES (?)
63
58
  `).run(watermark);
64
59
  }
65
60
  export function getSubscriptionState(db) {
66
61
  const result = db.get(`
67
- SELECT c.replicaVersion, c.publications, s.watermark
62
+ SELECT c.replicaVersion, c.publications, s.stateVersion as watermark
68
63
  FROM "_zero.replicationConfig" as c
69
64
  JOIN "_zero.replicationState" as s
70
65
  ON c.lock = s.lock
@@ -72,10 +67,10 @@ export function getSubscriptionState(db) {
72
67
  return v.parse(result, subscriptionStateSchema);
73
68
  }
74
69
  export function updateReplicationWatermark(db, watermark) {
75
- db.run(`UPDATE "_zero.replicationState" SET stateVersion=watermark, watermark=?`, watermark);
70
+ db.run(`UPDATE "_zero.replicationState" SET stateVersion=?`, watermark);
76
71
  }
77
- export function getReplicationVersions(db) {
78
- const result = db.get(`SELECT stateVersion, watermark as nextStateVersion FROM "_zero.replicationState"`);
79
- return v.parse(result, versionsSchema);
72
+ export function getReplicationState(db) {
73
+ const result = db.get(`SELECT stateVersion FROM "_zero.replicationState"`);
74
+ return v.parse(result, replicationStateSchema);
80
75
  }
81
76
  //# sourceMappingURL=replication-state.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"replication-state.js","sourceRoot":"","sources":["../../../../../../../zero-cache/src/services/replicator/schema/replication-state.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,CAAC,MAAM,qCAAqC,CAAC;AACzD,OAAO,EAAC,QAAQ,EAAC,MAAM,iCAAiC,CAAC;AACzD,OAAO,EAAC,eAAe,EAAC,MAAM,2BAA2B,CAAC;AAE1D,MAAM,CAAC,MAAM,wBAAwB,GAAG,YAAY,CAAC;AAErD,MAAM,+BAA+B;AACnC,8FAA8F;AAC9F,iGAAiG;AACjG,iGAAiG;AACjG,4FAA4F;AAC5F,gGAAgG;AAChG,sEAAsE;AACtE,iEAAiE;AACjE,2EAA2E;AAC3E;;;;;;GAMC;IACD,oGAAoG;IACpG,wFAAwF;IACxF,8FAA8F;IAC9F,2DAA2D;IAC3D,6FAA6F;IAC7F;;;;;;GAMC,CAAC;AAEJ,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;AAExC,MAAM,uBAAuB,GAAG,CAAC;KAC9B,MAAM,CAAC;IACN,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE;IAC1B,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;IACxB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;CACtB,CAAC;KACD,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACT,GAAG,CAAC;IACJ,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,WAAW,CAAC;CAC/D,CAAC,CAAC,CAAC;AAEN,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9B,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;IACxB,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE;CAC7B,CAAC,CAAC;AAIH,MAAM,UAAU,oBAAoB,CAClC,EAAY,EACZ,YAAsB,EACtB,SAAiB;IAEjB,EAAE,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;IACzC,EAAE,CAAC,OAAO,CACR;;;KAGC,CACF,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACtD,EAAE,CAAC,OAAO,CACR;;;KAGC,CACF,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,EAAmB;IACtD,MAAM,MAAM,GAAG,EAAE,CAAC,GAAG,CACnB;;;;;KAKC,CACF,CAAC;IACF,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,EAAmB,EACnB,SAAiB;IAEjB,EAAE,CAAC,GAAG,CACJ,yEAAyE,EACzE,SAAS,CACV,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,EAAmB;IAEnB,MAAM,MAAM,GAAG,EAAE,CAAC,GAAG,CACnB,kFAAkF,CACnF,CAAC;IACF,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;AACzC,CAAC"}
1
+ {"version":3,"file":"replication-state.js","sourceRoot":"","sources":["../../../../../../../zero-cache/src/services/replicator/schema/replication-state.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,CAAC,MAAM,qCAAqC,CAAC;AACzD,OAAO,EAAC,QAAQ,EAAC,MAAM,iCAAiC,CAAC;AACzD,OAAO,EAAC,eAAe,EAAC,MAAM,2BAA2B,CAAC;AAE1D,MAAM,CAAC,MAAM,wBAAwB,GAAG,YAAY,CAAC;AAErD,MAAM,+BAA+B;AACnC,8FAA8F;AAC9F,6FAA6F;AAC7F,2FAA2F;AAC3F,+EAA+E;AAC/E,iEAAiE;AACjE,2EAA2E;AAC3E;;;;;;GAMC;IACD,4FAA4F;IAC5F,6FAA6F;IAC7F,yFAAyF;IACzF,gFAAgF;IAChF,EAAE;IACF;;;;;GAKC,CAAC;AAEJ,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;AAExC,MAAM,uBAAuB,GAAG,CAAC;KAC9B,MAAM,CAAC;IACN,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE;IAC1B,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;IACxB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;CACtB,CAAC;KACD,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACT,GAAG,CAAC;IACJ,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,WAAW,CAAC;CAC/D,CAAC,CAAC,CAAC;AAEN,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;CACzB,CAAC,CAAC;AAIH,MAAM,UAAU,oBAAoB,CAClC,EAAY,EACZ,YAAsB,EACtB,SAAiB;IAEjB,EAAE,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;IACzC,EAAE,CAAC,OAAO,CACR;;;KAGC,CACF,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACtD,EAAE,CAAC,OAAO,CACR;;KAEC,CACF,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,EAAmB;IACtD,MAAM,MAAM,GAAG,EAAE,CAAC,GAAG,CACnB;;;;;KAKC,CACF,CAAC;IACF,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,EAAmB,EACnB,SAAiB;IAEjB,EAAE,CAAC,GAAG,CAAC,oDAAoD,EAAE,SAAS,CAAC,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,EAAmB;IACrD,MAAM,MAAM,GAAG,EAAE,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;IAC3E,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;AACjD,CAAC"}
@@ -58,4 +58,11 @@ export declare class RunningState {
58
58
  */
59
59
  resetBackoff(): void;
60
60
  }
61
+ /**
62
+ * Superclass for Errors that should bypass exponential backoff
63
+ * and immediately shut down the server.
64
+ */
65
+ export declare class UnrecoverableError extends Error {
66
+ readonly name = "UnrecoverableError";
67
+ }
61
68
  //# sourceMappingURL=running-state.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"running-state.d.ts","sourceRoot":"","sources":["../../../../../zero-cache/src/services/running-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAG5C,OAAO,EAAC,cAAc,EAAC,MAAM,8BAA8B,CAAC;AAG5D,eAAO,MAAM,0BAA0B,QAAQ,CAAC;AAEhD,MAAM,MAAM,WAAW,GAAG;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,WAAW,UAAU;IACzB,MAAM,IAAI,IAAI,CAAC;CAChB;AAED,MAAM,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC;AAEtC;;GAEG;AACH,qBAAa,YAAY;;gBAarB,WAAW,EAAE,MAAM,EACnB,WAAW,CAAC,EAAE,WAAW,EACzB,YAAY,oBAAa,EACzB,OAAO,wBAAiB;IA+B1B;;;;;OAKG;IACH,SAAS,IAAI,OAAO;IAIpB;;;OAGG;IACH,YAAY,CAAC,CAAC,EAAE,UAAU,GAAG,YAAY;IAMzC;;OAEG;IACH,UAAU,CAAC,KAAK,SAAS,OAAO,EAAE,EAChC,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,KAAK,IAAI,EAC5B,SAAS,EAAE,MAAM,EACjB,GAAG,IAAI,EAAE,KAAK;IAWhB;;;OAGG;IACH,IAAI,CAAC,EAAE,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,OAAO,GAAG,IAAI;IAQzC;;;;;OAKG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxB;;;;;;OAMG;IACG,OAAO,CAAC,EAAE,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAgB3D;;;;OAIG;IACH,YAAY;CAGb"}
1
+ {"version":3,"file":"running-state.d.ts","sourceRoot":"","sources":["../../../../../zero-cache/src/services/running-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAG5C,OAAO,EAAC,cAAc,EAAC,MAAM,8BAA8B,CAAC;AAG5D,eAAO,MAAM,0BAA0B,QAAQ,CAAC;AAEhD,MAAM,MAAM,WAAW,GAAG;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,WAAW,UAAU;IACzB,MAAM,IAAI,IAAI,CAAC;CAChB;AAED,MAAM,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC;AAEtC;;GAEG;AACH,qBAAa,YAAY;;gBAarB,WAAW,EAAE,MAAM,EACnB,WAAW,CAAC,EAAE,WAAW,EACzB,YAAY,oBAAa,EACzB,OAAO,wBAAiB;IA+B1B;;;;;OAKG;IACH,SAAS,IAAI,OAAO;IAIpB;;;OAGG;IACH,YAAY,CAAC,CAAC,EAAE,UAAU,GAAG,YAAY;IAMzC;;OAEG;IACH,UAAU,CAAC,KAAK,SAAS,OAAO,EAAE,EAChC,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,KAAK,IAAI,EAC5B,SAAS,EAAE,MAAM,EACjB,GAAG,IAAI,EAAE,KAAK;IAWhB;;;OAGG;IACH,IAAI,CAAC,EAAE,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,OAAO,GAAG,IAAI;IAQzC;;;;;OAKG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxB;;;;;;OAMG;IACG,OAAO,CAAC,EAAE,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAgB3D;;;;OAIG;IACH,YAAY;CAGb;AAED;;;GAGG;AACH,qBAAa,kBAAmB,SAAQ,KAAK;IAC3C,QAAQ,CAAC,IAAI,wBAAwB;CACtC"}
@@ -95,7 +95,7 @@ export class RunningState {
95
95
  async backoff(lc, err) {
96
96
  const delay = this.#retryDelay;
97
97
  this.#retryDelay = Math.min(delay * 2, this.#maxRetryDelay);
98
- if (err instanceof AbortError) {
98
+ if (err instanceof AbortError || err instanceof UnrecoverableError) {
99
99
  this.stop(lc, err);
100
100
  }
101
101
  else if (this.shouldRun()) {
@@ -117,4 +117,11 @@ export class RunningState {
117
117
  this.#retryDelay = this.#initialRetryDelay;
118
118
  }
119
119
  }
120
+ /**
121
+ * Superclass for Errors that should bypass exponential backoff
122
+ * and immediately shut down the server.
123
+ */
124
+ export class UnrecoverableError extends Error {
125
+ name = 'UnrecoverableError';
126
+ }
120
127
  //# sourceMappingURL=running-state.js.map