@rocicorp/zero 0.25.0-canary.2 → 0.25.0-canary.21

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 (1581) hide show
  1. package/out/analyze-query/src/bin-analyze.js +268 -257
  2. package/out/analyze-query/src/bin-analyze.js.map +1 -1
  3. package/out/analyze-query/src/bin-transform.js +31 -23
  4. package/out/analyze-query/src/bin-transform.js.map +1 -1
  5. package/out/analyze-query/src/explain-queries.js +13 -16
  6. package/out/analyze-query/src/explain-queries.js.map +1 -1
  7. package/out/analyze-query/src/run-ast.d.ts +3 -2
  8. package/out/analyze-query/src/run-ast.d.ts.map +1 -1
  9. package/out/analyze-query/src/run-ast.js +76 -74
  10. package/out/analyze-query/src/run-ast.js.map +1 -1
  11. package/out/ast-to-zql/src/ast-to-zql.js +146 -180
  12. package/out/ast-to-zql/src/ast-to-zql.js.map +1 -1
  13. package/out/ast-to-zql/src/bin.js +51 -54
  14. package/out/ast-to-zql/src/bin.js.map +1 -1
  15. package/out/ast-to-zql/src/format.js +15 -14
  16. package/out/ast-to-zql/src/format.js.map +1 -1
  17. package/out/datadog/src/datadog-log-sink.js +223 -0
  18. package/out/datadog/src/datadog-log-sink.js.map +1 -0
  19. package/out/otel/src/enabled.js +15 -15
  20. package/out/otel/src/enabled.js.map +1 -1
  21. package/out/otel/src/log-options.js +36 -31
  22. package/out/otel/src/log-options.js.map +1 -1
  23. package/out/otel/src/maybe-time.js +14 -11
  24. package/out/otel/src/maybe-time.js.map +1 -1
  25. package/out/otel/src/span.js +30 -27
  26. package/out/otel/src/span.js.map +1 -1
  27. package/out/otel/src/test-log-config.js +10 -7
  28. package/out/otel/src/test-log-config.js.map +1 -1
  29. package/out/otel/src/version.js +5 -2
  30. package/out/otel/src/version.js.map +1 -1
  31. package/out/replicache/src/async-iterable-to-array.js +11 -0
  32. package/out/replicache/src/async-iterable-to-array.js.map +1 -0
  33. package/out/replicache/src/bg-interval.js +38 -0
  34. package/out/replicache/src/bg-interval.js.map +1 -0
  35. package/out/replicache/src/btree/diff.js +8 -0
  36. package/out/replicache/src/btree/diff.js.map +1 -0
  37. package/out/replicache/src/btree/node.js +400 -0
  38. package/out/replicache/src/btree/node.js.map +1 -0
  39. package/out/replicache/src/btree/read.d.ts +3 -2
  40. package/out/replicache/src/btree/read.d.ts.map +1 -1
  41. package/out/replicache/src/btree/read.js +266 -0
  42. package/out/replicache/src/btree/read.js.map +1 -0
  43. package/out/replicache/src/btree/splice.js +83 -0
  44. package/out/replicache/src/btree/splice.js.map +1 -0
  45. package/out/replicache/src/btree/write.d.ts +1 -1
  46. package/out/replicache/src/btree/write.d.ts.map +1 -1
  47. package/out/replicache/src/btree/write.js +163 -0
  48. package/out/replicache/src/btree/write.js.map +1 -0
  49. package/out/replicache/src/call-default-fetch.js +34 -0
  50. package/out/replicache/src/call-default-fetch.js.map +1 -0
  51. package/out/replicache/src/connection-loop-delegates.js +34 -0
  52. package/out/replicache/src/connection-loop-delegates.js.map +1 -0
  53. package/out/replicache/src/connection-loop.js +251 -0
  54. package/out/replicache/src/connection-loop.js.map +1 -0
  55. package/out/replicache/src/cookies.js +40 -0
  56. package/out/replicache/src/cookies.js.map +1 -0
  57. package/out/replicache/src/dag/chunk.js +59 -0
  58. package/out/replicache/src/dag/chunk.js.map +1 -0
  59. package/out/replicache/src/dag/gc.js +117 -0
  60. package/out/replicache/src/dag/gc.js.map +1 -0
  61. package/out/replicache/src/dag/key.js +20 -0
  62. package/out/replicache/src/dag/key.js.map +1 -0
  63. package/out/replicache/src/dag/lazy-store.d.ts +2 -1
  64. package/out/replicache/src/dag/lazy-store.d.ts.map +1 -1
  65. package/out/replicache/src/dag/lazy-store.js +515 -0
  66. package/out/replicache/src/dag/lazy-store.js.map +1 -0
  67. package/out/replicache/src/dag/store-impl.js +183 -0
  68. package/out/replicache/src/dag/store-impl.js.map +1 -0
  69. package/out/replicache/src/dag/store.js +27 -0
  70. package/out/replicache/src/dag/store.js.map +1 -0
  71. package/out/replicache/src/dag/visitor.js +22 -0
  72. package/out/replicache/src/dag/visitor.js.map +1 -0
  73. package/out/replicache/src/db/commit.js +358 -0
  74. package/out/replicache/src/db/commit.js.map +1 -0
  75. package/out/replicache/src/db/index-operation-enum.js +7 -0
  76. package/out/replicache/src/db/index-operation-enum.js.map +1 -0
  77. package/out/replicache/src/db/index.js +134 -0
  78. package/out/replicache/src/db/index.js.map +1 -0
  79. package/out/replicache/src/db/meta-type-enum.js +7 -0
  80. package/out/replicache/src/db/meta-type-enum.js.map +1 -0
  81. package/out/replicache/src/db/read.d.ts +3 -2
  82. package/out/replicache/src/db/read.d.ts.map +1 -1
  83. package/out/replicache/src/db/read.js +72 -0
  84. package/out/replicache/src/db/read.js.map +1 -0
  85. package/out/replicache/src/db/rebase.d.ts +2 -2
  86. package/out/replicache/src/db/rebase.d.ts.map +1 -1
  87. package/out/replicache/src/db/rebase.js +85 -0
  88. package/out/replicache/src/db/rebase.js.map +1 -0
  89. package/out/replicache/src/db/write.d.ts +2 -1
  90. package/out/replicache/src/db/write.d.ts.map +1 -1
  91. package/out/replicache/src/db/write.js +296 -0
  92. package/out/replicache/src/db/write.js.map +1 -0
  93. package/out/replicache/src/deleted-clients.js +104 -0
  94. package/out/replicache/src/deleted-clients.js.map +1 -0
  95. package/out/replicache/src/error-responses.js +34 -0
  96. package/out/replicache/src/error-responses.js.map +1 -0
  97. package/out/replicache/src/format-version-enum.js +11 -0
  98. package/out/replicache/src/format-version-enum.js.map +1 -0
  99. package/out/{chunk-EZM3XBAB.js → replicache/src/frozen-json.js} +8 -75
  100. package/out/replicache/src/frozen-json.js.map +1 -0
  101. package/out/replicache/src/get-default-puller.js +61 -0
  102. package/out/replicache/src/get-default-puller.js.map +1 -0
  103. package/out/replicache/src/get-default-pusher.js +39 -0
  104. package/out/replicache/src/get-default-pusher.js.map +1 -0
  105. package/out/replicache/src/get-kv-store-provider.js +23 -0
  106. package/out/replicache/src/get-kv-store-provider.js.map +1 -0
  107. package/out/replicache/src/hash.js +38 -0
  108. package/out/replicache/src/hash.js.map +1 -0
  109. package/out/replicache/src/http-request-info.js +10 -0
  110. package/out/replicache/src/http-request-info.js.map +1 -0
  111. package/out/replicache/src/http-status-unauthorized.js +5 -0
  112. package/out/replicache/src/http-status-unauthorized.js.map +1 -0
  113. package/out/replicache/src/index-defs.js +32 -0
  114. package/out/replicache/src/index-defs.js.map +1 -0
  115. package/out/replicache/src/invoke-kind-enum.js +7 -0
  116. package/out/replicache/src/invoke-kind-enum.js.map +1 -0
  117. package/out/{chunk-ZZXMKAAG.js → replicache/src/kv/expo-sqlite/store.js} +8 -16
  118. package/out/replicache/src/kv/expo-sqlite/store.js.map +1 -0
  119. package/out/replicache/src/kv/idb-store-with-mem-fallback.js +80 -0
  120. package/out/replicache/src/kv/idb-store-with-mem-fallback.js.map +1 -0
  121. package/out/replicache/src/kv/idb-store.js +183 -0
  122. package/out/replicache/src/kv/idb-store.js.map +1 -0
  123. package/out/replicache/src/kv/mem-store.js +51 -0
  124. package/out/replicache/src/kv/mem-store.js.map +1 -0
  125. package/out/{op-sqlite.js → replicache/src/kv/op-sqlite/store.js} +7 -18
  126. package/out/replicache/src/kv/op-sqlite/store.js.map +1 -0
  127. package/out/replicache/src/kv/op-sqlite/types.js +6 -0
  128. package/out/replicache/src/kv/op-sqlite/types.js.map +1 -0
  129. package/out/replicache/src/kv/read-impl.js +27 -0
  130. package/out/replicache/src/kv/read-impl.js.map +1 -0
  131. package/out/replicache/src/kv/sqlite-store.d.ts.map +1 -1
  132. package/out/{chunk-ECUMGQGC.js → replicache/src/kv/sqlite-store.js} +27 -21
  133. package/out/replicache/src/kv/sqlite-store.js.map +1 -0
  134. package/out/{chunk-ASRS2LFV.js → replicache/src/kv/throw-if-closed.js} +4 -6
  135. package/out/replicache/src/kv/throw-if-closed.js.map +1 -0
  136. package/out/replicache/src/kv/write-impl-base.js +57 -0
  137. package/out/replicache/src/kv/write-impl-base.js.map +1 -0
  138. package/out/replicache/src/kv/write-impl.js +30 -0
  139. package/out/replicache/src/kv/write-impl.js.map +1 -0
  140. package/out/replicache/src/lazy.js +13 -0
  141. package/out/replicache/src/lazy.js.map +1 -0
  142. package/out/replicache/src/log-options.js +9 -0
  143. package/out/replicache/src/log-options.js.map +1 -0
  144. package/out/replicache/src/make-idb-name.js +13 -0
  145. package/out/replicache/src/make-idb-name.js.map +1 -0
  146. package/out/replicache/src/new-client-channel.js +51 -0
  147. package/out/replicache/src/new-client-channel.js.map +1 -0
  148. package/out/replicache/src/on-persist-channel.js +36 -0
  149. package/out/replicache/src/on-persist-channel.js.map +1 -0
  150. package/out/replicache/src/patch-operation.js +42 -0
  151. package/out/replicache/src/patch-operation.js.map +1 -0
  152. package/out/replicache/src/pending-mutations.js +16 -0
  153. package/out/replicache/src/pending-mutations.js.map +1 -0
  154. package/out/replicache/src/persist/client-gc.js +58 -0
  155. package/out/replicache/src/persist/client-gc.js.map +1 -0
  156. package/out/replicache/src/persist/client-group-gc.js +43 -0
  157. package/out/replicache/src/persist/client-group-gc.js.map +1 -0
  158. package/out/replicache/src/persist/client-groups.js +184 -0
  159. package/out/replicache/src/persist/client-groups.js.map +1 -0
  160. package/out/replicache/src/persist/clients.d.ts +3 -2
  161. package/out/replicache/src/persist/clients.d.ts.map +1 -1
  162. package/out/replicache/src/persist/clients.js +353 -0
  163. package/out/replicache/src/persist/clients.js.map +1 -0
  164. package/out/replicache/src/persist/collect-idb-databases.js +188 -0
  165. package/out/replicache/src/persist/collect-idb-databases.js.map +1 -0
  166. package/out/replicache/src/persist/gather-mem-only-visitor.js +27 -0
  167. package/out/replicache/src/persist/gather-mem-only-visitor.js.map +1 -0
  168. package/out/replicache/src/persist/gather-not-cached-visitor.js +37 -0
  169. package/out/replicache/src/persist/gather-not-cached-visitor.js.map +1 -0
  170. package/out/replicache/src/persist/heartbeat.js +48 -0
  171. package/out/replicache/src/persist/heartbeat.js.map +1 -0
  172. package/out/replicache/src/persist/idb-databases-store-db-name.js +14 -0
  173. package/out/replicache/src/persist/idb-databases-store-db-name.js.map +1 -0
  174. package/out/replicache/src/persist/idb-databases-store.d.ts +1 -0
  175. package/out/replicache/src/persist/idb-databases-store.d.ts.map +1 -1
  176. package/out/replicache/src/persist/idb-databases-store.js +103 -0
  177. package/out/replicache/src/persist/idb-databases-store.js.map +1 -0
  178. package/out/replicache/src/persist/make-client-id.js +12 -0
  179. package/out/replicache/src/persist/make-client-id.js.map +1 -0
  180. package/out/replicache/src/persist/persist.d.ts +2 -2
  181. package/out/replicache/src/persist/persist.d.ts.map +1 -1
  182. package/out/replicache/src/persist/persist.js +183 -0
  183. package/out/replicache/src/persist/persist.js.map +1 -0
  184. package/out/replicache/src/persist/refresh.d.ts +4 -3
  185. package/out/replicache/src/persist/refresh.d.ts.map +1 -1
  186. package/out/replicache/src/persist/refresh.js +198 -0
  187. package/out/replicache/src/persist/refresh.js.map +1 -0
  188. package/out/replicache/src/process-scheduler.js +96 -0
  189. package/out/replicache/src/process-scheduler.js.map +1 -0
  190. package/out/replicache/src/pusher.js +33 -0
  191. package/out/replicache/src/pusher.js.map +1 -0
  192. package/out/replicache/src/replicache-impl.d.ts +1 -1
  193. package/out/replicache/src/replicache-impl.d.ts.map +1 -1
  194. package/out/replicache/src/replicache-impl.js +1200 -0
  195. package/out/replicache/src/replicache-impl.js.map +1 -0
  196. package/out/replicache/src/replicache-options.d.ts +3 -2
  197. package/out/replicache/src/replicache-options.d.ts.map +1 -1
  198. package/out/replicache/src/report-error.js +6 -0
  199. package/out/replicache/src/report-error.js.map +1 -0
  200. package/out/replicache/src/request-idle.js +13 -0
  201. package/out/replicache/src/request-idle.js.map +1 -0
  202. package/out/replicache/src/scan-iterator.js +146 -0
  203. package/out/replicache/src/scan-iterator.js.map +1 -0
  204. package/out/replicache/src/scan-options.js +45 -0
  205. package/out/replicache/src/scan-options.js.map +1 -0
  206. package/out/replicache/src/set-interval-with-signal.js +12 -0
  207. package/out/replicache/src/set-interval-with-signal.js.map +1 -0
  208. package/out/replicache/src/subscriptions.js +355 -0
  209. package/out/replicache/src/subscriptions.js.map +1 -0
  210. package/out/replicache/src/sync/diff.d.ts +3 -2
  211. package/out/replicache/src/sync/diff.d.ts.map +1 -1
  212. package/out/replicache/src/sync/diff.js +72 -0
  213. package/out/replicache/src/sync/diff.js.map +1 -0
  214. package/out/replicache/src/sync/handle-pull-response-result-type-enum.js +9 -0
  215. package/out/replicache/src/sync/handle-pull-response-result-type-enum.js.map +1 -0
  216. package/out/replicache/src/sync/ids.js +9 -0
  217. package/out/replicache/src/sync/ids.js.map +1 -0
  218. package/out/replicache/src/sync/patch.js +49 -0
  219. package/out/replicache/src/sync/patch.js.map +1 -0
  220. package/out/replicache/src/sync/pull-error.js +16 -0
  221. package/out/replicache/src/sync/pull-error.js.map +1 -0
  222. package/out/replicache/src/sync/pull.d.ts +3 -2
  223. package/out/replicache/src/sync/pull.d.ts.map +1 -1
  224. package/out/replicache/src/sync/pull.js +301 -0
  225. package/out/replicache/src/sync/pull.js.map +1 -0
  226. package/out/replicache/src/sync/push.js +88 -0
  227. package/out/replicache/src/sync/push.js.map +1 -0
  228. package/out/replicache/src/sync/request-id.js +20 -0
  229. package/out/replicache/src/sync/request-id.js.map +1 -0
  230. package/out/replicache/src/sync/sync-head-name.js +5 -0
  231. package/out/replicache/src/sync/sync-head-name.js.map +1 -0
  232. package/out/replicache/src/to-error.js +10 -0
  233. package/out/replicache/src/to-error.js.map +1 -0
  234. package/out/replicache/src/transaction-closed-error.js +19 -0
  235. package/out/replicache/src/transaction-closed-error.js.map +1 -0
  236. package/out/replicache/src/transactions.js +152 -0
  237. package/out/replicache/src/transactions.js.map +1 -0
  238. package/out/replicache/src/version.js +5 -0
  239. package/out/replicache/src/version.js.map +1 -0
  240. package/out/replicache/src/with-transactions.js +28 -0
  241. package/out/replicache/src/with-transactions.js.map +1 -0
  242. package/out/shared/src/abort-error.js +6 -3
  243. package/out/shared/src/abort-error.js.map +1 -1
  244. package/out/shared/src/arrays.js +45 -43
  245. package/out/shared/src/arrays.js.map +1 -1
  246. package/out/shared/src/asserts.js +64 -68
  247. package/out/shared/src/asserts.js.map +1 -1
  248. package/out/shared/src/bigint-json.js +38 -42
  249. package/out/shared/src/bigint-json.js.map +1 -1
  250. package/out/shared/src/binary-search.js +18 -29
  251. package/out/shared/src/binary-search.js.map +1 -1
  252. package/out/shared/src/broadcast-channel.js +24 -0
  253. package/out/shared/src/broadcast-channel.js.map +1 -0
  254. package/out/shared/src/browser-env.js +25 -0
  255. package/out/shared/src/browser-env.js.map +1 -0
  256. package/out/shared/src/btree-set.js +464 -507
  257. package/out/shared/src/btree-set.js.map +1 -1
  258. package/out/shared/src/cache.js +34 -38
  259. package/out/shared/src/cache.js.map +1 -1
  260. package/out/shared/src/centroid.js +24 -24
  261. package/out/shared/src/centroid.js.map +1 -1
  262. package/out/shared/src/config.js +6 -3
  263. package/out/shared/src/config.js.map +1 -1
  264. package/out/shared/src/custom-key-map.js +58 -64
  265. package/out/shared/src/custom-key-map.js.map +1 -1
  266. package/out/shared/src/custom-key-set.js +51 -57
  267. package/out/shared/src/custom-key-set.js.map +1 -1
  268. package/out/shared/src/deep-clone.js +46 -0
  269. package/out/shared/src/deep-clone.js.map +1 -0
  270. package/out/shared/src/deep-merge.d.ts +26 -4
  271. package/out/shared/src/deep-merge.d.ts.map +1 -1
  272. package/out/shared/src/deep-merge.js +28 -0
  273. package/out/shared/src/deep-merge.js.map +1 -0
  274. package/out/shared/src/document-visible.js +74 -0
  275. package/out/shared/src/document-visible.js.map +1 -0
  276. package/out/shared/src/dotenv.js +5 -7
  277. package/out/shared/src/dotenv.js.map +1 -1
  278. package/out/shared/src/error.js +57 -56
  279. package/out/shared/src/error.js.map +1 -1
  280. package/out/shared/src/has-own.js +5 -3
  281. package/out/shared/src/has-own.js.map +1 -1
  282. package/out/shared/src/hash.js +15 -14
  283. package/out/shared/src/hash.js.map +1 -1
  284. package/out/shared/src/iterables.d.ts +0 -1
  285. package/out/shared/src/iterables.d.ts.map +1 -1
  286. package/out/shared/src/iterables.js +44 -80
  287. package/out/shared/src/iterables.js.map +1 -1
  288. package/out/shared/src/json-schema.js +30 -33
  289. package/out/shared/src/json-schema.js.map +1 -1
  290. package/out/shared/src/json.js +128 -143
  291. package/out/shared/src/json.js.map +1 -1
  292. package/out/shared/src/logging-test-utils.js +12 -19
  293. package/out/shared/src/logging-test-utils.js.map +1 -1
  294. package/out/shared/src/logging.d.ts.map +1 -1
  295. package/out/shared/src/logging.js +99 -83
  296. package/out/shared/src/logging.js.map +1 -1
  297. package/out/shared/src/must.js +9 -7
  298. package/out/shared/src/must.js.map +1 -1
  299. package/out/shared/src/navigator.js +5 -0
  300. package/out/shared/src/navigator.js.map +1 -0
  301. package/out/shared/src/object-traversal.d.ts +19 -0
  302. package/out/shared/src/object-traversal.d.ts.map +1 -0
  303. package/out/shared/src/object-traversal.js +27 -0
  304. package/out/shared/src/object-traversal.js.map +1 -0
  305. package/out/shared/src/objects.js +21 -22
  306. package/out/shared/src/objects.js.map +1 -1
  307. package/out/shared/src/options.d.ts +2 -0
  308. package/out/shared/src/options.d.ts.map +1 -1
  309. package/out/shared/src/options.js +289 -318
  310. package/out/shared/src/options.js.map +1 -1
  311. package/out/shared/src/parse-big-int.js +12 -10
  312. package/out/shared/src/parse-big-int.js.map +1 -1
  313. package/out/shared/src/promise-race.js +20 -0
  314. package/out/shared/src/promise-race.js.map +1 -0
  315. package/out/shared/src/queue.js +119 -122
  316. package/out/shared/src/queue.js.map +1 -1
  317. package/out/shared/src/rand.js +8 -10
  318. package/out/shared/src/rand.js.map +1 -1
  319. package/out/shared/src/random-uint64.js +9 -0
  320. package/out/shared/src/random-uint64.js.map +1 -0
  321. package/out/shared/src/random-values.js +13 -0
  322. package/out/shared/src/random-values.js.map +1 -0
  323. package/out/shared/src/record-proxy.d.ts +13 -0
  324. package/out/shared/src/record-proxy.d.ts.map +1 -0
  325. package/out/shared/src/record-proxy.js +59 -0
  326. package/out/shared/src/record-proxy.js.map +1 -0
  327. package/out/shared/src/resolved-promises.js +12 -9
  328. package/out/shared/src/resolved-promises.js.map +1 -1
  329. package/out/shared/src/sentinels.js +13 -6
  330. package/out/shared/src/sentinels.js.map +1 -1
  331. package/out/shared/src/set-utils.js +63 -62
  332. package/out/shared/src/set-utils.js.map +1 -1
  333. package/out/shared/src/size-of-value.js +58 -0
  334. package/out/shared/src/size-of-value.js.map +1 -0
  335. package/out/shared/src/sleep.js +45 -53
  336. package/out/shared/src/sleep.js.map +1 -1
  337. package/out/shared/src/string-compare.js +12 -9
  338. package/out/shared/src/string-compare.js.map +1 -1
  339. package/out/shared/src/subscribable.js +34 -0
  340. package/out/shared/src/subscribable.js.map +1 -0
  341. package/out/shared/src/tdigest-schema.js +7 -7
  342. package/out/shared/src/tdigest-schema.js.map +1 -1
  343. package/out/shared/src/tdigest.js +247 -271
  344. package/out/shared/src/tdigest.js.map +1 -1
  345. package/out/shared/src/valita.js +195 -207
  346. package/out/shared/src/valita.js.map +1 -1
  347. package/out/z2s/src/compiler.d.ts +2 -2
  348. package/out/z2s/src/compiler.d.ts.map +1 -1
  349. package/out/z2s/src/compiler.js +439 -310
  350. package/out/z2s/src/compiler.js.map +1 -1
  351. package/out/z2s/src/sql.d.ts +1 -1
  352. package/out/z2s/src/sql.d.ts.map +1 -1
  353. package/out/z2s/src/sql.js +186 -218
  354. package/out/z2s/src/sql.js.map +1 -1
  355. package/out/zero/package.json.js +9 -0
  356. package/out/zero/package.json.js.map +1 -0
  357. package/out/zero/src/adapters/drizzle.d.ts +1 -1
  358. package/out/zero/src/adapters/drizzle.d.ts.map +1 -1
  359. package/out/zero/src/adapters/drizzle.js +8 -2
  360. package/out/zero/src/adapters/drizzle.js.map +1 -1
  361. package/out/zero/src/adapters/pg.js +7 -2
  362. package/out/zero/src/adapters/pg.js.map +1 -1
  363. package/out/zero/src/adapters/postgresjs.js +7 -2
  364. package/out/zero/src/adapters/postgresjs.js.map +1 -1
  365. package/out/zero/src/analyze-query.js +1 -1
  366. package/out/zero/src/analyze-query.js.map +1 -1
  367. package/out/zero/src/ast-to-zql.js +1 -1
  368. package/out/zero/src/ast-to-zql.js.map +1 -1
  369. package/out/zero/src/bindings.d.ts +2 -0
  370. package/out/zero/src/bindings.d.ts.map +1 -0
  371. package/out/zero/src/bindings.js +27 -0
  372. package/out/zero/src/bindings.js.map +1 -0
  373. package/out/zero/src/build-schema.js +3 -5
  374. package/out/zero/src/build-schema.js.map +1 -1
  375. package/out/zero/src/change-protocol/v0.js +5 -3
  376. package/out/zero/src/change-protocol/v0.js.map +1 -1
  377. package/out/zero/src/cli.js +2 -2
  378. package/out/zero/src/cli.js.map +1 -1
  379. package/out/zero/src/deploy-permissions.js +1 -1
  380. package/out/zero/src/deploy-permissions.js.map +1 -1
  381. package/out/zero/src/expo-sqlite.js +5 -0
  382. package/out/zero/src/expo-sqlite.js.map +1 -0
  383. package/out/zero/src/op-sqlite.js +5 -0
  384. package/out/zero/src/op-sqlite.js.map +1 -0
  385. package/out/zero/src/pg.js +32 -3
  386. package/out/zero/src/pg.js.map +1 -1
  387. package/out/zero/src/react-native.js +13 -0
  388. package/out/zero/src/react-native.js.map +1 -0
  389. package/out/zero/src/react.js +15 -0
  390. package/out/zero/src/react.js.map +1 -0
  391. package/out/zero/src/server.js +28 -3
  392. package/out/zero/src/server.js.map +1 -1
  393. package/out/zero/src/solid.js +15 -0
  394. package/out/zero/src/solid.js.map +1 -0
  395. package/out/zero/src/sqlite.js +7 -0
  396. package/out/zero/src/sqlite.js.map +1 -0
  397. package/out/zero/src/transform-query.js +1 -1
  398. package/out/zero/src/transform-query.js.map +1 -1
  399. package/out/zero/src/zero-cache-dev.js +133 -105
  400. package/out/zero/src/zero-cache-dev.js.map +1 -1
  401. package/out/zero/src/zero-out.js +6 -6
  402. package/out/zero/src/zero-out.js.map +1 -1
  403. package/out/zero/src/zero.js +73 -0
  404. package/out/zero/src/zero.js.map +1 -0
  405. package/out/zero/src/zqlite.js +11 -3
  406. package/out/zero/src/zqlite.js.map +1 -1
  407. package/out/zero-cache/src/auth/jwt.d.ts +3 -0
  408. package/out/zero-cache/src/auth/jwt.d.ts.map +1 -1
  409. package/out/zero-cache/src/auth/jwt.js +33 -38
  410. package/out/zero-cache/src/auth/jwt.js.map +1 -1
  411. package/out/zero-cache/src/auth/load-permissions.d.ts +1 -1
  412. package/out/zero-cache/src/auth/load-permissions.d.ts.map +1 -1
  413. package/out/zero-cache/src/auth/load-permissions.js +61 -45
  414. package/out/zero-cache/src/auth/load-permissions.js.map +1 -1
  415. package/out/zero-cache/src/auth/read-authorizer.d.ts +1 -1
  416. package/out/zero-cache/src/auth/read-authorizer.d.ts.map +1 -1
  417. package/out/zero-cache/src/auth/read-authorizer.js +79 -91
  418. package/out/zero-cache/src/auth/read-authorizer.js.map +1 -1
  419. package/out/zero-cache/src/auth/write-authorizer.d.ts +4 -3
  420. package/out/zero-cache/src/auth/write-authorizer.d.ts.map +1 -1
  421. package/out/zero-cache/src/auth/write-authorizer.js +395 -328
  422. package/out/zero-cache/src/auth/write-authorizer.js.map +1 -1
  423. package/out/zero-cache/src/config/network.js +42 -45
  424. package/out/zero-cache/src/config/network.js.map +1 -1
  425. package/out/zero-cache/src/config/normalize.js +86 -83
  426. package/out/zero-cache/src/config/normalize.js.map +1 -1
  427. package/out/zero-cache/src/config/zero-config.d.ts +63 -0
  428. package/out/zero-cache/src/config/zero-config.d.ts.map +1 -1
  429. package/out/zero-cache/src/config/zero-config.js +741 -682
  430. package/out/zero-cache/src/config/zero-config.js.map +1 -1
  431. package/out/zero-cache/src/custom/fetch.d.ts +5 -5
  432. package/out/zero-cache/src/custom/fetch.d.ts.map +1 -1
  433. package/out/zero-cache/src/custom/fetch.js +170 -162
  434. package/out/zero-cache/src/custom/fetch.js.map +1 -1
  435. package/out/zero-cache/src/custom-queries/transform-query.d.ts +10 -3
  436. package/out/zero-cache/src/custom-queries/transform-query.d.ts.map +1 -1
  437. package/out/zero-cache/src/custom-queries/transform-query.js +101 -109
  438. package/out/zero-cache/src/custom-queries/transform-query.js.map +1 -1
  439. package/out/zero-cache/src/db/create.js +32 -36
  440. package/out/zero-cache/src/db/create.js.map +1 -1
  441. package/out/zero-cache/src/db/delete-lite-db.js +9 -6
  442. package/out/zero-cache/src/db/delete-lite-db.js.map +1 -1
  443. package/out/zero-cache/src/db/lite-tables.d.ts.map +1 -1
  444. package/out/zero-cache/src/db/lite-tables.js +150 -174
  445. package/out/zero-cache/src/db/lite-tables.js.map +1 -1
  446. package/out/zero-cache/src/db/migration-lite.js +170 -165
  447. package/out/zero-cache/src/db/migration-lite.js.map +1 -1
  448. package/out/zero-cache/src/db/migration.js +157 -137
  449. package/out/zero-cache/src/db/migration.js.map +1 -1
  450. package/out/zero-cache/src/db/mode-enum.d.ts +2 -0
  451. package/out/zero-cache/src/db/mode-enum.d.ts.map +1 -1
  452. package/out/zero-cache/src/db/mode-enum.js +9 -3
  453. package/out/zero-cache/src/db/mode-enum.js.map +1 -1
  454. package/out/zero-cache/src/db/pg-copy.js +51 -90
  455. package/out/zero-cache/src/db/pg-copy.js.map +1 -1
  456. package/out/zero-cache/src/db/pg-to-lite.d.ts +10 -0
  457. package/out/zero-cache/src/db/pg-to-lite.d.ts.map +1 -1
  458. package/out/zero-cache/src/db/pg-to-lite.js +116 -97
  459. package/out/zero-cache/src/db/pg-to-lite.js.map +1 -1
  460. package/out/zero-cache/src/db/pg-type-parser.js +27 -39
  461. package/out/zero-cache/src/db/pg-type-parser.js.map +1 -1
  462. package/out/zero-cache/src/db/postgres-replica-identity-enum.js +11 -6
  463. package/out/zero-cache/src/db/postgres-replica-identity-enum.js.map +1 -1
  464. package/out/zero-cache/src/db/postgres-type-class-enum.js +17 -9
  465. package/out/zero-cache/src/db/postgres-type-class-enum.js.map +1 -1
  466. package/out/zero-cache/src/db/specs.d.ts +1 -7
  467. package/out/zero-cache/src/db/specs.d.ts.map +1 -1
  468. package/out/zero-cache/src/db/specs.js +66 -40
  469. package/out/zero-cache/src/db/specs.js.map +1 -1
  470. package/out/zero-cache/src/db/statements.d.ts +1 -1
  471. package/out/zero-cache/src/db/statements.d.ts.map +1 -1
  472. package/out/zero-cache/src/db/statements.js +59 -52
  473. package/out/zero-cache/src/db/statements.js.map +1 -1
  474. package/out/zero-cache/src/db/transaction-pool.d.ts +1 -1
  475. package/out/zero-cache/src/db/transaction-pool.d.ts.map +1 -1
  476. package/out/zero-cache/src/db/transaction-pool.js +372 -501
  477. package/out/zero-cache/src/db/transaction-pool.js.map +1 -1
  478. package/out/zero-cache/src/db/warmup.js +25 -12
  479. package/out/zero-cache/src/db/warmup.js.map +1 -1
  480. package/out/zero-cache/src/observability/events.js +71 -82
  481. package/out/zero-cache/src/observability/events.js.map +1 -1
  482. package/out/zero-cache/src/observability/metrics.js +54 -32
  483. package/out/zero-cache/src/observability/metrics.js.map +1 -1
  484. package/out/zero-cache/src/scripts/decommission.js +47 -43
  485. package/out/zero-cache/src/scripts/decommission.js.map +1 -1
  486. package/out/zero-cache/src/scripts/deploy-permissions.js +128 -118
  487. package/out/zero-cache/src/scripts/deploy-permissions.js.map +1 -1
  488. package/out/zero-cache/src/scripts/permissions.d.ts +1 -1
  489. package/out/zero-cache/src/scripts/permissions.d.ts.map +1 -1
  490. package/out/zero-cache/src/scripts/permissions.js +108 -100
  491. package/out/zero-cache/src/scripts/permissions.js.map +1 -1
  492. package/out/zero-cache/src/server/anonymous-otel-start.d.ts +10 -1
  493. package/out/zero-cache/src/server/anonymous-otel-start.d.ts.map +1 -1
  494. package/out/zero-cache/src/server/anonymous-otel-start.js +426 -366
  495. package/out/zero-cache/src/server/anonymous-otel-start.js.map +1 -1
  496. package/out/zero-cache/src/server/change-streamer.d.ts.map +1 -1
  497. package/out/zero-cache/src/server/change-streamer.js +99 -64
  498. package/out/zero-cache/src/server/change-streamer.js.map +1 -1
  499. package/out/zero-cache/src/server/inspector-delegate.js +112 -109
  500. package/out/zero-cache/src/server/inspector-delegate.js.map +1 -1
  501. package/out/zero-cache/src/server/logging.d.ts +1 -1
  502. package/out/zero-cache/src/server/logging.d.ts.map +1 -1
  503. package/out/zero-cache/src/server/logging.js +26 -19
  504. package/out/zero-cache/src/server/logging.js.map +1 -1
  505. package/out/zero-cache/src/server/main.d.ts.map +1 -1
  506. package/out/zero-cache/src/server/main.js +137 -120
  507. package/out/zero-cache/src/server/main.js.map +1 -1
  508. package/out/zero-cache/src/server/mutator.js +19 -0
  509. package/out/zero-cache/src/server/mutator.js.map +1 -0
  510. package/out/zero-cache/src/server/otel-diag-logger.d.ts +1 -1
  511. package/out/zero-cache/src/server/otel-diag-logger.d.ts.map +1 -1
  512. package/out/zero-cache/src/server/otel-diag-logger.js +48 -71
  513. package/out/zero-cache/src/server/otel-diag-logger.js.map +1 -1
  514. package/out/zero-cache/src/server/otel-log-sink.js +40 -41
  515. package/out/zero-cache/src/server/otel-log-sink.js.map +1 -1
  516. package/out/zero-cache/src/server/otel-start.d.ts +1 -1
  517. package/out/zero-cache/src/server/otel-start.d.ts.map +1 -1
  518. package/out/zero-cache/src/server/otel-start.js +53 -68
  519. package/out/zero-cache/src/server/otel-start.js.map +1 -1
  520. package/out/zero-cache/src/server/reaper.js +34 -26
  521. package/out/zero-cache/src/server/reaper.js.map +1 -1
  522. package/out/zero-cache/src/server/replicator.js +53 -31
  523. package/out/zero-cache/src/server/replicator.js.map +1 -1
  524. package/out/zero-cache/src/server/runner/main.js +6 -4
  525. package/out/zero-cache/src/server/runner/main.js.map +1 -1
  526. package/out/zero-cache/src/server/runner/run-worker.d.ts.map +1 -1
  527. package/out/zero-cache/src/server/runner/run-worker.js +46 -50
  528. package/out/zero-cache/src/server/runner/run-worker.js.map +1 -1
  529. package/out/zero-cache/src/server/runner/runtime.js +33 -32
  530. package/out/zero-cache/src/server/runner/runtime.js.map +1 -1
  531. package/out/zero-cache/src/server/runner/zero-dispatcher.d.ts.map +1 -1
  532. package/out/zero-cache/src/server/runner/zero-dispatcher.js +28 -22
  533. package/out/zero-cache/src/server/runner/zero-dispatcher.js.map +1 -1
  534. package/out/zero-cache/src/server/syncer.d.ts.map +1 -1
  535. package/out/zero-cache/src/server/syncer.js +130 -63
  536. package/out/zero-cache/src/server/syncer.js.map +1 -1
  537. package/out/zero-cache/src/server/worker-dispatcher.d.ts +1 -1
  538. package/out/zero-cache/src/server/worker-dispatcher.d.ts.map +1 -1
  539. package/out/zero-cache/src/server/worker-dispatcher.js +112 -106
  540. package/out/zero-cache/src/server/worker-dispatcher.js.map +1 -1
  541. package/out/zero-cache/src/server/worker-urls.d.ts +7 -0
  542. package/out/zero-cache/src/server/worker-urls.d.ts.map +1 -0
  543. package/out/zero-cache/src/server/worker-urls.js +21 -0
  544. package/out/zero-cache/src/server/worker-urls.js.map +1 -0
  545. package/out/zero-cache/src/services/analyze.d.ts +4 -9
  546. package/out/zero-cache/src/services/analyze.d.ts.map +1 -1
  547. package/out/zero-cache/src/services/analyze.js +118 -121
  548. package/out/zero-cache/src/services/analyze.js.map +1 -1
  549. package/out/zero-cache/src/services/change-source/column-metadata.d.ts +10 -3
  550. package/out/zero-cache/src/services/change-source/column-metadata.d.ts.map +1 -1
  551. package/out/zero-cache/src/services/change-source/column-metadata.js +154 -144
  552. package/out/zero-cache/src/services/change-source/column-metadata.js.map +1 -1
  553. package/out/zero-cache/src/services/change-source/custom/change-source.d.ts +1 -1
  554. package/out/zero-cache/src/services/change-source/custom/change-source.d.ts.map +1 -1
  555. package/out/zero-cache/src/services/change-source/custom/change-source.js +197 -171
  556. package/out/zero-cache/src/services/change-source/custom/change-source.js.map +1 -1
  557. package/out/zero-cache/src/services/change-source/custom/sync-schema.js +11 -3
  558. package/out/zero-cache/src/services/change-source/custom/sync-schema.js.map +1 -1
  559. package/out/zero-cache/src/services/change-source/pg/change-source.d.ts +1 -1
  560. package/out/zero-cache/src/services/change-source/pg/change-source.d.ts.map +1 -1
  561. package/out/zero-cache/src/services/change-source/pg/change-source.js +622 -623
  562. package/out/zero-cache/src/services/change-source/pg/change-source.js.map +1 -1
  563. package/out/zero-cache/src/services/change-source/pg/decommission.js +24 -23
  564. package/out/zero-cache/src/services/change-source/pg/decommission.js.map +1 -1
  565. package/out/zero-cache/src/services/change-source/pg/initial-sync.d.ts +1 -1
  566. package/out/zero-cache/src/services/change-source/pg/initial-sync.d.ts.map +1 -1
  567. package/out/zero-cache/src/services/change-source/pg/initial-sync.js +327 -284
  568. package/out/zero-cache/src/services/change-source/pg/initial-sync.js.map +1 -1
  569. package/out/zero-cache/src/services/change-source/pg/logical-replication/binary-reader.d.ts +2 -3
  570. package/out/zero-cache/src/services/change-source/pg/logical-replication/binary-reader.d.ts.map +1 -1
  571. package/out/zero-cache/src/services/change-source/pg/logical-replication/binary-reader.js +61 -69
  572. package/out/zero-cache/src/services/change-source/pg/logical-replication/binary-reader.js.map +1 -1
  573. package/out/zero-cache/src/services/change-source/pg/logical-replication/pgoutput-parser.js +247 -257
  574. package/out/zero-cache/src/services/change-source/pg/logical-replication/pgoutput-parser.js.map +1 -1
  575. package/out/zero-cache/src/services/change-source/pg/logical-replication/stream.js +127 -119
  576. package/out/zero-cache/src/services/change-source/pg/logical-replication/stream.js.map +1 -1
  577. package/out/zero-cache/src/services/change-source/pg/lsn.js +20 -19
  578. package/out/zero-cache/src/services/change-source/pg/lsn.js.map +1 -1
  579. package/out/zero-cache/src/services/change-source/pg/schema/ddl.d.ts +5 -5
  580. package/out/zero-cache/src/services/change-source/pg/schema/ddl.js +96 -119
  581. package/out/zero-cache/src/services/change-source/pg/schema/ddl.js.map +1 -1
  582. package/out/zero-cache/src/services/change-source/pg/schema/init.js +138 -117
  583. package/out/zero-cache/src/services/change-source/pg/schema/init.js.map +1 -1
  584. package/out/zero-cache/src/services/change-source/pg/schema/published.d.ts +2 -2
  585. package/out/zero-cache/src/services/change-source/pg/schema/published.js +67 -74
  586. package/out/zero-cache/src/services/change-source/pg/schema/published.js.map +1 -1
  587. package/out/zero-cache/src/services/change-source/pg/schema/shard.d.ts +1 -1
  588. package/out/zero-cache/src/services/change-source/pg/schema/shard.js +199 -188
  589. package/out/zero-cache/src/services/change-source/pg/schema/shard.js.map +1 -1
  590. package/out/zero-cache/src/services/change-source/pg/schema/validation.js +53 -38
  591. package/out/zero-cache/src/services/change-source/pg/schema/validation.js.map +1 -1
  592. package/out/zero-cache/src/services/change-source/pg/sync-schema.js +11 -3
  593. package/out/zero-cache/src/services/change-source/pg/sync-schema.js.map +1 -1
  594. package/out/zero-cache/src/services/change-source/protocol/current/control.d.ts +1 -0
  595. package/out/zero-cache/src/services/change-source/protocol/current/control.d.ts.map +1 -1
  596. package/out/zero-cache/src/services/change-source/protocol/current/control.js +13 -19
  597. package/out/zero-cache/src/services/change-source/protocol/current/control.js.map +1 -1
  598. package/out/zero-cache/src/services/change-source/protocol/current/data.js +143 -116
  599. package/out/zero-cache/src/services/change-source/protocol/current/data.js.map +1 -1
  600. package/out/zero-cache/src/services/change-source/protocol/current/downstream.d.ts +2 -0
  601. package/out/zero-cache/src/services/change-source/protocol/current/downstream.d.ts.map +1 -1
  602. package/out/zero-cache/src/services/change-source/protocol/current/downstream.js +29 -19
  603. package/out/zero-cache/src/services/change-source/protocol/current/downstream.js.map +1 -1
  604. package/out/zero-cache/src/services/change-source/protocol/current/json.d.ts +8 -0
  605. package/out/zero-cache/src/services/change-source/protocol/current/json.d.ts.map +1 -0
  606. package/out/zero-cache/src/services/change-source/protocol/current/json.js +19 -0
  607. package/out/zero-cache/src/services/change-source/protocol/current/json.js.map +1 -0
  608. package/out/zero-cache/src/services/change-source/protocol/current/path.js +5 -20
  609. package/out/zero-cache/src/services/change-source/protocol/current/path.js.map +1 -1
  610. package/out/zero-cache/src/services/change-source/protocol/current/status.js +12 -13
  611. package/out/zero-cache/src/services/change-source/protocol/current/status.js.map +1 -1
  612. package/out/zero-cache/src/services/change-source/protocol/current/upstream.d.ts +1 -1
  613. package/out/zero-cache/src/services/change-source/protocol/current/upstream.d.ts.map +1 -1
  614. package/out/zero-cache/src/services/change-source/protocol/current/upstream.js +5 -4
  615. package/out/zero-cache/src/services/change-source/protocol/current/upstream.js.map +1 -1
  616. package/out/zero-cache/src/services/change-source/protocol/current.d.ts +1 -0
  617. package/out/zero-cache/src/services/change-source/protocol/current.d.ts.map +1 -1
  618. package/out/zero-cache/src/services/change-source/protocol/current.js +38 -7
  619. package/out/zero-cache/src/services/change-source/protocol/current.js.map +1 -1
  620. package/out/zero-cache/src/services/change-source/replica-schema.d.ts.map +1 -1
  621. package/out/zero-cache/src/services/change-source/replica-schema.js +67 -37
  622. package/out/zero-cache/src/services/change-source/replica-schema.js.map +1 -1
  623. package/out/zero-cache/src/services/change-streamer/backup-monitor.d.ts +1 -1
  624. package/out/zero-cache/src/services/change-streamer/backup-monitor.d.ts.map +1 -1
  625. package/out/zero-cache/src/services/change-streamer/backup-monitor.js +139 -157
  626. package/out/zero-cache/src/services/change-streamer/backup-monitor.js.map +1 -1
  627. package/out/zero-cache/src/services/change-streamer/change-streamer-http.d.ts +11 -4
  628. package/out/zero-cache/src/services/change-streamer/change-streamer-http.d.ts.map +1 -1
  629. package/out/zero-cache/src/services/change-streamer/change-streamer-http.js +208 -157
  630. package/out/zero-cache/src/services/change-streamer/change-streamer-http.js.map +1 -1
  631. package/out/zero-cache/src/services/change-streamer/change-streamer-service.d.ts +1 -1
  632. package/out/zero-cache/src/services/change-streamer/change-streamer-service.d.ts.map +1 -1
  633. package/out/zero-cache/src/services/change-streamer/change-streamer-service.js +242 -349
  634. package/out/zero-cache/src/services/change-streamer/change-streamer-service.js.map +1 -1
  635. package/out/zero-cache/src/services/change-streamer/change-streamer.d.ts +5 -1
  636. package/out/zero-cache/src/services/change-streamer/change-streamer.d.ts.map +1 -1
  637. package/out/zero-cache/src/services/change-streamer/change-streamer.js +24 -22
  638. package/out/zero-cache/src/services/change-streamer/change-streamer.js.map +1 -1
  639. package/out/zero-cache/src/services/change-streamer/error-type-enum.js +9 -4
  640. package/out/zero-cache/src/services/change-streamer/error-type-enum.js.map +1 -1
  641. package/out/zero-cache/src/services/change-streamer/forwarder.d.ts +1 -1
  642. package/out/zero-cache/src/services/change-streamer/forwarder.d.ts.map +1 -1
  643. package/out/zero-cache/src/services/change-streamer/forwarder.js +53 -57
  644. package/out/zero-cache/src/services/change-streamer/forwarder.js.map +1 -1
  645. package/out/zero-cache/src/services/change-streamer/replica-monitor.d.ts +16 -0
  646. package/out/zero-cache/src/services/change-streamer/replica-monitor.d.ts.map +1 -0
  647. package/out/zero-cache/src/services/change-streamer/replica-monitor.js +48 -0
  648. package/out/zero-cache/src/services/change-streamer/replica-monitor.js.map +1 -0
  649. package/out/zero-cache/src/services/change-streamer/schema/init.js +82 -68
  650. package/out/zero-cache/src/services/change-streamer/schema/init.js.map +1 -1
  651. package/out/zero-cache/src/services/change-streamer/schema/tables.d.ts +2 -2
  652. package/out/zero-cache/src/services/change-streamer/schema/tables.d.ts.map +1 -1
  653. package/out/zero-cache/src/services/change-streamer/schema/tables.js +93 -78
  654. package/out/zero-cache/src/services/change-streamer/schema/tables.js.map +1 -1
  655. package/out/zero-cache/src/services/change-streamer/snapshot.d.ts +58 -0
  656. package/out/zero-cache/src/services/change-streamer/snapshot.d.ts.map +1 -1
  657. package/out/zero-cache/src/services/change-streamer/snapshot.js +28 -18
  658. package/out/zero-cache/src/services/change-streamer/snapshot.js.map +1 -1
  659. package/out/zero-cache/src/services/change-streamer/storer.d.ts +3 -2
  660. package/out/zero-cache/src/services/change-streamer/storer.d.ts.map +1 -1
  661. package/out/zero-cache/src/services/change-streamer/storer.js +308 -353
  662. package/out/zero-cache/src/services/change-streamer/storer.js.map +1 -1
  663. package/out/zero-cache/src/services/change-streamer/subscriber.d.ts +3 -2
  664. package/out/zero-cache/src/services/change-streamer/subscriber.d.ts.map +1 -1
  665. package/out/zero-cache/src/services/change-streamer/subscriber.js +85 -87
  666. package/out/zero-cache/src/services/change-streamer/subscriber.js.map +1 -1
  667. package/out/zero-cache/src/services/heapz.js +21 -25
  668. package/out/zero-cache/src/services/heapz.js.map +1 -1
  669. package/out/zero-cache/src/services/http-service.d.ts +5 -5
  670. package/out/zero-cache/src/services/http-service.d.ts.map +1 -1
  671. package/out/zero-cache/src/services/http-service.js +57 -59
  672. package/out/zero-cache/src/services/http-service.js.map +1 -1
  673. package/out/zero-cache/src/services/life-cycle.d.ts +1 -1
  674. package/out/zero-cache/src/services/life-cycle.d.ts.map +1 -1
  675. package/out/zero-cache/src/services/life-cycle.js +216 -255
  676. package/out/zero-cache/src/services/life-cycle.js.map +1 -1
  677. package/out/zero-cache/src/services/limiter/sliding-window-limiter.js +76 -130
  678. package/out/zero-cache/src/services/limiter/sliding-window-limiter.js.map +1 -1
  679. package/out/zero-cache/src/services/litestream/commands.d.ts +1 -1
  680. package/out/zero-cache/src/services/litestream/commands.d.ts.map +1 -1
  681. package/out/zero-cache/src/services/litestream/commands.js +202 -154
  682. package/out/zero-cache/src/services/litestream/commands.js.map +1 -1
  683. package/out/zero-cache/src/services/mutagen/error.js +11 -6
  684. package/out/zero-cache/src/services/mutagen/error.js.map +1 -1
  685. package/out/zero-cache/src/services/mutagen/mutagen.d.ts +2 -1
  686. package/out/zero-cache/src/services/mutagen/mutagen.d.ts.map +1 -1
  687. package/out/zero-cache/src/services/mutagen/mutagen.js +271 -267
  688. package/out/zero-cache/src/services/mutagen/mutagen.js.map +1 -1
  689. package/out/zero-cache/src/services/mutagen/pusher.d.ts +202 -2
  690. package/out/zero-cache/src/services/mutagen/pusher.d.ts.map +1 -1
  691. package/out/zero-cache/src/services/mutagen/pusher.js +354 -348
  692. package/out/zero-cache/src/services/mutagen/pusher.js.map +1 -1
  693. package/out/zero-cache/src/services/replicator/change-processor.d.ts.map +1 -1
  694. package/out/zero-cache/src/services/replicator/change-processor.js +483 -497
  695. package/out/zero-cache/src/services/replicator/change-processor.js.map +1 -1
  696. package/out/zero-cache/src/services/replicator/incremental-sync.d.ts +1 -1
  697. package/out/zero-cache/src/services/replicator/incremental-sync.d.ts.map +1 -1
  698. package/out/zero-cache/src/services/replicator/incremental-sync.js +97 -97
  699. package/out/zero-cache/src/services/replicator/incremental-sync.js.map +1 -1
  700. package/out/zero-cache/src/services/replicator/notifier.js +28 -52
  701. package/out/zero-cache/src/services/replicator/notifier.js.map +1 -1
  702. package/out/zero-cache/src/services/replicator/replication-status.d.ts +2 -0
  703. package/out/zero-cache/src/services/replicator/replication-status.d.ts.map +1 -1
  704. package/out/zero-cache/src/services/replicator/replication-status.js +113 -83
  705. package/out/zero-cache/src/services/replicator/replication-status.js.map +1 -1
  706. package/out/zero-cache/src/services/replicator/replicator.d.ts +1 -1
  707. package/out/zero-cache/src/services/replicator/replicator.d.ts.map +1 -1
  708. package/out/zero-cache/src/services/replicator/replicator.js +33 -26
  709. package/out/zero-cache/src/services/replicator/replicator.js.map +1 -1
  710. package/out/zero-cache/src/services/replicator/schema/change-log.d.ts +1 -1
  711. package/out/zero-cache/src/services/replicator/schema/change-log.d.ts.map +1 -1
  712. package/out/zero-cache/src/services/replicator/schema/change-log.js +74 -86
  713. package/out/zero-cache/src/services/replicator/schema/change-log.js.map +1 -1
  714. package/out/zero-cache/src/services/replicator/schema/constants.js +5 -7
  715. package/out/zero-cache/src/services/replicator/schema/constants.js.map +1 -1
  716. package/out/zero-cache/src/services/replicator/schema/replication-state.d.ts +2 -2
  717. package/out/zero-cache/src/services/replicator/schema/replication-state.d.ts.map +1 -1
  718. package/out/zero-cache/src/services/replicator/schema/replication-state.js +70 -74
  719. package/out/zero-cache/src/services/replicator/schema/replication-state.js.map +1 -1
  720. package/out/zero-cache/src/services/run-ast.d.ts +9 -3
  721. package/out/zero-cache/src/services/run-ast.d.ts.map +1 -1
  722. package/out/zero-cache/src/services/run-ast.js +91 -78
  723. package/out/zero-cache/src/services/run-ast.js.map +1 -1
  724. package/out/zero-cache/src/services/runner.d.ts +1 -1
  725. package/out/zero-cache/src/services/runner.d.ts.map +1 -1
  726. package/out/zero-cache/src/services/runner.js +40 -40
  727. package/out/zero-cache/src/services/runner.js.map +1 -1
  728. package/out/zero-cache/src/services/running-state.d.ts +1 -1
  729. package/out/zero-cache/src/services/running-state.d.ts.map +1 -1
  730. package/out/zero-cache/src/services/running-state.js +122 -119
  731. package/out/zero-cache/src/services/running-state.js.map +1 -1
  732. package/out/zero-cache/src/services/statz.js +184 -162
  733. package/out/zero-cache/src/services/statz.js.map +1 -1
  734. package/out/zero-cache/src/services/view-syncer/active-users-gauge.d.ts +2 -1
  735. package/out/zero-cache/src/services/view-syncer/active-users-gauge.d.ts.map +1 -1
  736. package/out/zero-cache/src/services/view-syncer/active-users-gauge.js +56 -42
  737. package/out/zero-cache/src/services/view-syncer/active-users-gauge.js.map +1 -1
  738. package/out/zero-cache/src/services/view-syncer/client-handler.js +307 -298
  739. package/out/zero-cache/src/services/view-syncer/client-handler.js.map +1 -1
  740. package/out/zero-cache/src/services/view-syncer/client-schema.d.ts.map +1 -1
  741. package/out/zero-cache/src/services/view-syncer/client-schema.js +80 -82
  742. package/out/zero-cache/src/services/view-syncer/client-schema.js.map +1 -1
  743. package/out/zero-cache/src/services/view-syncer/cvr-purger.d.ts +1 -1
  744. package/out/zero-cache/src/services/view-syncer/cvr-purger.d.ts.map +1 -1
  745. package/out/zero-cache/src/services/view-syncer/cvr-purger.js +110 -96
  746. package/out/zero-cache/src/services/view-syncer/cvr-purger.js.map +1 -1
  747. package/out/zero-cache/src/services/view-syncer/cvr-store.d.ts +6 -5
  748. package/out/zero-cache/src/services/view-syncer/cvr-store.d.ts.map +1 -1
  749. package/out/zero-cache/src/services/view-syncer/cvr-store.js +676 -611
  750. package/out/zero-cache/src/services/view-syncer/cvr-store.js.map +1 -1
  751. package/out/zero-cache/src/services/view-syncer/cvr.d.ts +4 -1
  752. package/out/zero-cache/src/services/view-syncer/cvr.d.ts.map +1 -1
  753. package/out/zero-cache/src/services/view-syncer/cvr.js +643 -694
  754. package/out/zero-cache/src/services/view-syncer/cvr.js.map +1 -1
  755. package/out/zero-cache/src/services/view-syncer/drain-coordinator.js +38 -60
  756. package/out/zero-cache/src/services/view-syncer/drain-coordinator.js.map +1 -1
  757. package/out/zero-cache/src/services/view-syncer/inspect-handler.d.ts +2 -1
  758. package/out/zero-cache/src/services/view-syncer/inspect-handler.d.ts.map +1 -1
  759. package/out/zero-cache/src/services/view-syncer/inspect-handler.js +175 -85
  760. package/out/zero-cache/src/services/view-syncer/inspect-handler.js.map +1 -1
  761. package/out/zero-cache/src/services/view-syncer/pipeline-driver.d.ts +23 -22
  762. package/out/zero-cache/src/services/view-syncer/pipeline-driver.d.ts.map +1 -1
  763. package/out/zero-cache/src/services/view-syncer/pipeline-driver.js +584 -461
  764. package/out/zero-cache/src/services/view-syncer/pipeline-driver.js.map +1 -1
  765. package/out/zero-cache/src/services/view-syncer/row-record-cache.d.ts +1 -1
  766. package/out/zero-cache/src/services/view-syncer/row-record-cache.d.ts.map +1 -1
  767. package/out/zero-cache/src/services/view-syncer/row-record-cache.js +229 -277
  768. package/out/zero-cache/src/services/view-syncer/row-record-cache.js.map +1 -1
  769. package/out/zero-cache/src/services/view-syncer/schema/cvr.d.ts +1 -0
  770. package/out/zero-cache/src/services/view-syncer/schema/cvr.d.ts.map +1 -1
  771. package/out/zero-cache/src/services/view-syncer/schema/cvr.js +79 -131
  772. package/out/zero-cache/src/services/view-syncer/schema/cvr.js.map +1 -1
  773. package/out/zero-cache/src/services/view-syncer/schema/init.d.ts.map +1 -1
  774. package/out/zero-cache/src/services/view-syncer/schema/init.js +207 -131
  775. package/out/zero-cache/src/services/view-syncer/schema/init.js.map +1 -1
  776. package/out/zero-cache/src/services/view-syncer/schema/types.d.ts +4 -4
  777. package/out/zero-cache/src/services/view-syncer/schema/types.js +265 -257
  778. package/out/zero-cache/src/services/view-syncer/schema/types.js.map +1 -1
  779. package/out/zero-cache/src/services/view-syncer/snapshotter.d.ts +5 -5
  780. package/out/zero-cache/src/services/view-syncer/snapshotter.d.ts.map +1 -1
  781. package/out/zero-cache/src/services/view-syncer/snapshotter.js +309 -337
  782. package/out/zero-cache/src/services/view-syncer/snapshotter.js.map +1 -1
  783. package/out/zero-cache/src/services/view-syncer/ttl-clock.js +13 -7
  784. package/out/zero-cache/src/services/view-syncer/ttl-clock.js.map +1 -1
  785. package/out/zero-cache/src/services/view-syncer/view-syncer.d.ts +5 -4
  786. package/out/zero-cache/src/services/view-syncer/view-syncer.d.ts.map +1 -1
  787. package/out/zero-cache/src/services/view-syncer/view-syncer.js +1514 -1311
  788. package/out/zero-cache/src/services/view-syncer/view-syncer.js.map +1 -1
  789. package/out/zero-cache/src/types/error-with-level.d.ts.map +1 -1
  790. package/out/zero-cache/src/types/error-with-level.js +30 -21
  791. package/out/zero-cache/src/types/error-with-level.js.map +1 -1
  792. package/out/zero-cache/src/types/http.js +27 -14
  793. package/out/zero-cache/src/types/http.js.map +1 -1
  794. package/out/zero-cache/src/types/lexi-version.js +46 -31
  795. package/out/zero-cache/src/types/lexi-version.js.map +1 -1
  796. package/out/zero-cache/src/types/lite.js +118 -125
  797. package/out/zero-cache/src/types/lite.js.map +1 -1
  798. package/out/zero-cache/src/types/names.js +6 -3
  799. package/out/zero-cache/src/types/names.js.map +1 -1
  800. package/out/zero-cache/src/types/pg-data-type.js +74 -68
  801. package/out/zero-cache/src/types/pg-data-type.js.map +1 -1
  802. package/out/zero-cache/src/types/pg-types.js +17 -72
  803. package/out/zero-cache/src/types/pg-types.js.map +1 -1
  804. package/out/zero-cache/src/types/pg.d.ts +1 -1
  805. package/out/zero-cache/src/types/pg.d.ts.map +1 -1
  806. package/out/zero-cache/src/types/pg.js +213 -233
  807. package/out/zero-cache/src/types/pg.js.map +1 -1
  808. package/out/zero-cache/src/types/processes.d.ts +2 -2
  809. package/out/zero-cache/src/types/processes.d.ts.map +1 -1
  810. package/out/zero-cache/src/types/processes.js +95 -143
  811. package/out/zero-cache/src/types/processes.js.map +1 -1
  812. package/out/zero-cache/src/types/profiler.js +29 -30
  813. package/out/zero-cache/src/types/profiler.js.map +1 -1
  814. package/out/zero-cache/src/types/row-key.js +30 -68
  815. package/out/zero-cache/src/types/row-key.js.map +1 -1
  816. package/out/zero-cache/src/types/schema-versions.js +25 -19
  817. package/out/zero-cache/src/types/schema-versions.js.map +1 -1
  818. package/out/zero-cache/src/types/shards.js +50 -36
  819. package/out/zero-cache/src/types/shards.js.map +1 -1
  820. package/out/zero-cache/src/types/sql.js +9 -13
  821. package/out/zero-cache/src/types/sql.js.map +1 -1
  822. package/out/zero-cache/src/types/streams.js +245 -254
  823. package/out/zero-cache/src/types/streams.js.map +1 -1
  824. package/out/zero-cache/src/types/strings.js +14 -11
  825. package/out/zero-cache/src/types/strings.js.map +1 -1
  826. package/out/zero-cache/src/types/subscription.js +200 -259
  827. package/out/zero-cache/src/types/subscription.js.map +1 -1
  828. package/out/zero-cache/src/types/url-params.js +35 -30
  829. package/out/zero-cache/src/types/url-params.js.map +1 -1
  830. package/out/zero-cache/src/types/websocket-handoff.d.ts +5 -4
  831. package/out/zero-cache/src/types/websocket-handoff.d.ts.map +1 -1
  832. package/out/zero-cache/src/types/websocket-handoff.js +68 -76
  833. package/out/zero-cache/src/types/websocket-handoff.js.map +1 -1
  834. package/out/zero-cache/src/types/ws.js +56 -59
  835. package/out/zero-cache/src/types/ws.js.map +1 -1
  836. package/out/zero-cache/src/workers/connect-params.d.ts +1 -0
  837. package/out/zero-cache/src/workers/connect-params.d.ts.map +1 -1
  838. package/out/zero-cache/src/workers/connect-params.js +46 -40
  839. package/out/zero-cache/src/workers/connect-params.js.map +1 -1
  840. package/out/zero-cache/src/workers/connection.d.ts.map +1 -1
  841. package/out/zero-cache/src/workers/connection.js +282 -243
  842. package/out/zero-cache/src/workers/connection.js.map +1 -1
  843. package/out/zero-cache/src/workers/mutator.js +24 -0
  844. package/out/zero-cache/src/workers/mutator.js.map +1 -0
  845. package/out/zero-cache/src/workers/replicator.d.ts +1 -1
  846. package/out/zero-cache/src/workers/replicator.d.ts.map +1 -1
  847. package/out/zero-cache/src/workers/replicator.js +103 -106
  848. package/out/zero-cache/src/workers/replicator.js.map +1 -1
  849. package/out/zero-cache/src/workers/syncer-ws-message-handler.d.ts.map +1 -1
  850. package/out/zero-cache/src/workers/syncer-ws-message-handler.js +181 -147
  851. package/out/zero-cache/src/workers/syncer-ws-message-handler.js.map +1 -1
  852. package/out/zero-cache/src/workers/syncer.d.ts +3 -3
  853. package/out/zero-cache/src/workers/syncer.d.ts.map +1 -1
  854. package/out/zero-cache/src/workers/syncer.js +192 -169
  855. package/out/zero-cache/src/workers/syncer.js.map +1 -1
  856. package/out/zero-client/src/client/active-clients-manager.js +199 -0
  857. package/out/zero-client/src/client/active-clients-manager.js.map +1 -0
  858. package/out/zero-client/src/client/bindings.d.ts +13 -0
  859. package/out/zero-client/src/client/bindings.d.ts.map +1 -0
  860. package/out/zero-client/src/client/client-error-kind-enum.d.ts +12 -12
  861. package/out/zero-client/src/client/client-error-kind-enum.d.ts.map +1 -1
  862. package/out/zero-client/src/client/client-error-kind-enum.js +29 -0
  863. package/out/zero-client/src/client/client-error-kind-enum.js.map +1 -0
  864. package/out/zero-client/src/client/connection-manager.d.ts +20 -40
  865. package/out/zero-client/src/client/connection-manager.d.ts.map +1 -1
  866. package/out/zero-client/src/client/connection-manager.js +310 -0
  867. package/out/zero-client/src/client/connection-manager.js.map +1 -0
  868. package/out/zero-client/src/client/connection-status-enum.js +15 -0
  869. package/out/zero-client/src/client/connection-status-enum.js.map +1 -0
  870. package/out/zero-client/src/client/connection.d.ts +47 -4
  871. package/out/zero-client/src/client/connection.d.ts.map +1 -1
  872. package/out/zero-client/src/client/connection.js +110 -0
  873. package/out/zero-client/src/client/connection.js.map +1 -0
  874. package/out/zero-client/src/client/context.d.ts +9 -10
  875. package/out/zero-client/src/client/context.d.ts.map +1 -1
  876. package/out/zero-client/src/client/context.js +104 -0
  877. package/out/zero-client/src/client/context.js.map +1 -0
  878. package/out/zero-client/src/client/crud-impl.d.ts +11 -0
  879. package/out/zero-client/src/client/crud-impl.d.ts.map +1 -0
  880. package/out/zero-client/src/client/crud-impl.js +102 -0
  881. package/out/zero-client/src/client/crud-impl.js.map +1 -0
  882. package/out/zero-client/src/client/crud.d.ts +15 -46
  883. package/out/zero-client/src/client/crud.d.ts.map +1 -1
  884. package/out/zero-client/src/client/crud.js +139 -0
  885. package/out/zero-client/src/client/crud.js.map +1 -0
  886. package/out/zero-client/src/client/custom.d.ts +51 -25
  887. package/out/zero-client/src/client/custom.d.ts.map +1 -1
  888. package/out/zero-client/src/client/custom.js +87 -0
  889. package/out/zero-client/src/client/custom.js.map +1 -0
  890. package/out/zero-client/src/client/delete-clients-manager.d.ts +2 -2
  891. package/out/zero-client/src/client/delete-clients-manager.d.ts.map +1 -1
  892. package/out/zero-client/src/client/delete-clients-manager.js +98 -0
  893. package/out/zero-client/src/client/delete-clients-manager.js.map +1 -0
  894. package/out/zero-client/src/client/enable-analytics.js +18 -0
  895. package/out/zero-client/src/client/enable-analytics.js.map +1 -0
  896. package/out/zero-client/src/client/error.d.ts +30 -12
  897. package/out/zero-client/src/client/error.d.ts.map +1 -1
  898. package/out/zero-client/src/client/error.js +148 -0
  899. package/out/zero-client/src/client/error.js.map +1 -0
  900. package/out/zero-client/src/client/http-string.js +11 -0
  901. package/out/zero-client/src/client/http-string.js.map +1 -0
  902. package/out/zero-client/src/client/inspector/client-group.js +27 -0
  903. package/out/zero-client/src/client/inspector/client-group.js.map +1 -0
  904. package/out/zero-client/src/client/inspector/client.js +28 -0
  905. package/out/zero-client/src/client/inspector/client.js.map +1 -0
  906. package/out/zero-client/src/client/inspector/html-dialog-prompt.d.ts.map +1 -1
  907. package/out/zero-client/src/client/inspector/html-dialog-prompt.js +77 -0
  908. package/out/zero-client/src/client/inspector/html-dialog-prompt.js.map +1 -0
  909. package/out/zero-client/src/client/inspector/inspector.d.ts +8 -3
  910. package/out/zero-client/src/client/inspector/inspector.d.ts.map +1 -1
  911. package/out/zero-client/src/client/inspector/inspector.js +54 -0
  912. package/out/zero-client/src/client/inspector/inspector.js.map +1 -0
  913. package/out/zero-client/src/client/inspector/lazy-inspector.d.ts +4 -1
  914. package/out/zero-client/src/client/inspector/lazy-inspector.d.ts.map +1 -1
  915. package/out/zero-client/src/client/inspector/lazy-inspector.js +243 -0
  916. package/out/zero-client/src/client/inspector/lazy-inspector.js.map +1 -0
  917. package/out/zero-client/src/client/inspector/query.d.ts.map +1 -1
  918. package/out/zero-client/src/client/inspector/query.js +82 -0
  919. package/out/zero-client/src/client/inspector/query.js.map +1 -0
  920. package/out/zero-client/src/client/ivm-branch.d.ts +4 -4
  921. package/out/zero-client/src/client/ivm-branch.d.ts.map +1 -1
  922. package/out/zero-client/src/client/ivm-branch.js +156 -0
  923. package/out/zero-client/src/client/ivm-branch.js.map +1 -0
  924. package/out/zero-client/src/client/keys.js +45 -0
  925. package/out/zero-client/src/client/keys.js.map +1 -0
  926. package/out/zero-client/src/client/log-options.js +60 -0
  927. package/out/zero-client/src/client/log-options.js.map +1 -0
  928. package/out/zero-client/src/client/make-mutate-property.d.ts +40 -0
  929. package/out/zero-client/src/client/make-mutate-property.d.ts.map +1 -0
  930. package/out/zero-client/src/client/make-mutate-property.js +33 -0
  931. package/out/zero-client/src/client/make-mutate-property.js.map +1 -0
  932. package/out/zero-client/src/client/make-replicache-mutators.d.ts +34 -0
  933. package/out/zero-client/src/client/make-replicache-mutators.d.ts.map +1 -0
  934. package/out/zero-client/src/client/make-replicache-mutators.js +108 -0
  935. package/out/zero-client/src/client/make-replicache-mutators.js.map +1 -0
  936. package/out/zero-client/src/client/metric-name-enum.js +15 -0
  937. package/out/zero-client/src/client/metric-name-enum.js.map +1 -0
  938. package/out/zero-client/src/client/metrics.d.ts +2 -2
  939. package/out/zero-client/src/client/metrics.d.ts.map +1 -1
  940. package/out/zero-client/src/client/metrics.js +249 -0
  941. package/out/zero-client/src/client/metrics.js.map +1 -0
  942. package/out/zero-client/src/client/mutation-tracker.d.ts +12 -4
  943. package/out/zero-client/src/client/mutation-tracker.d.ts.map +1 -1
  944. package/out/zero-client/src/client/mutation-tracker.js +363 -0
  945. package/out/zero-client/src/client/mutation-tracker.js.map +1 -0
  946. package/out/zero-client/src/client/mutator-proxy.d.ts +16 -0
  947. package/out/zero-client/src/client/mutator-proxy.d.ts.map +1 -0
  948. package/out/zero-client/src/client/mutator-proxy.js +144 -0
  949. package/out/zero-client/src/client/mutator-proxy.js.map +1 -0
  950. package/out/zero-client/src/client/options.d.ts +70 -10
  951. package/out/zero-client/src/client/options.d.ts.map +1 -1
  952. package/out/zero-client/src/client/options.js +11 -0
  953. package/out/zero-client/src/client/options.js.map +1 -0
  954. package/out/zero-client/src/client/query-manager.d.ts +9 -2
  955. package/out/zero-client/src/client/query-manager.d.ts.map +1 -1
  956. package/out/zero-client/src/client/query-manager.js +377 -0
  957. package/out/zero-client/src/client/query-manager.js.map +1 -0
  958. package/out/zero-client/src/client/reload-error-handler.d.ts +4 -4
  959. package/out/zero-client/src/client/reload-error-handler.d.ts.map +1 -1
  960. package/out/zero-client/src/client/reload-error-handler.js +114 -0
  961. package/out/zero-client/src/client/reload-error-handler.js.map +1 -0
  962. package/out/zero-client/src/client/server-option.js +64 -0
  963. package/out/zero-client/src/client/server-option.js.map +1 -0
  964. package/out/zero-client/src/client/update-needed-reason-type-enum.js +9 -0
  965. package/out/zero-client/src/client/update-needed-reason-type-enum.js.map +1 -0
  966. package/out/zero-client/src/client/version.js +5 -0
  967. package/out/zero-client/src/client/version.js.map +1 -0
  968. package/out/zero-client/src/client/zero-poke-handler.d.ts +4 -4
  969. package/out/zero-client/src/client/zero-poke-handler.d.ts.map +1 -1
  970. package/out/zero-client/src/client/zero-poke-handler.js +303 -0
  971. package/out/zero-client/src/client/zero-poke-handler.js.map +1 -0
  972. package/out/zero-client/src/client/zero-rep.d.ts +3 -2
  973. package/out/zero-client/src/client/zero-rep.d.ts.map +1 -1
  974. package/out/zero-client/src/client/zero-rep.js +72 -0
  975. package/out/zero-client/src/client/zero-rep.js.map +1 -0
  976. package/out/zero-client/src/client/zero.d.ts +106 -26
  977. package/out/zero-client/src/client/zero.d.ts.map +1 -1
  978. package/out/zero-client/src/client/zero.js +1787 -0
  979. package/out/zero-client/src/client/zero.js.map +1 -0
  980. package/out/zero-client/src/mod.d.ts +24 -20
  981. package/out/zero-client/src/mod.d.ts.map +1 -1
  982. package/out/zero-client/src/types/query-result.d.ts +5 -4
  983. package/out/zero-client/src/types/query-result.d.ts.map +1 -1
  984. package/out/zero-client/src/util/nanoid.js +21 -0
  985. package/out/zero-client/src/util/nanoid.js.map +1 -0
  986. package/out/zero-client/src/util/socket.js +7 -0
  987. package/out/zero-client/src/util/socket.js.map +1 -0
  988. package/out/zero-events/src/status.d.ts +1 -1
  989. package/out/zero-events/src/status.d.ts.map +1 -1
  990. package/out/zero-protocol/src/analyze-query-result.d.ts +238 -1
  991. package/out/zero-protocol/src/analyze-query-result.d.ts.map +1 -1
  992. package/out/zero-protocol/src/analyze-query-result.js +159 -24
  993. package/out/zero-protocol/src/analyze-query-result.js.map +1 -1
  994. package/out/zero-protocol/src/application-error.d.ts +2 -8
  995. package/out/zero-protocol/src/application-error.d.ts.map +1 -1
  996. package/out/zero-protocol/src/application-error.js +35 -34
  997. package/out/zero-protocol/src/application-error.js.map +1 -1
  998. package/out/zero-protocol/src/ast.d.ts +2 -2
  999. package/out/zero-protocol/src/ast.js +296 -277
  1000. package/out/zero-protocol/src/ast.js.map +1 -1
  1001. package/out/zero-protocol/src/change-desired-queries.d.ts +2 -2
  1002. package/out/zero-protocol/src/change-desired-queries.js +11 -7
  1003. package/out/zero-protocol/src/change-desired-queries.js.map +1 -1
  1004. package/out/zero-protocol/src/client-schema.d.ts +2 -2
  1005. package/out/zero-protocol/src/client-schema.d.ts.map +1 -1
  1006. package/out/zero-protocol/src/client-schema.js +40 -26
  1007. package/out/zero-protocol/src/client-schema.js.map +1 -1
  1008. package/out/zero-protocol/src/close-connection.js +11 -18
  1009. package/out/zero-protocol/src/close-connection.js.map +1 -1
  1010. package/out/zero-protocol/src/connect.d.ts +4 -4
  1011. package/out/zero-protocol/src/connect.d.ts.map +1 -1
  1012. package/out/zero-protocol/src/connect.js +50 -51
  1013. package/out/zero-protocol/src/connect.js.map +1 -1
  1014. package/out/zero-protocol/src/custom-queries.d.ts +4 -4
  1015. package/out/zero-protocol/src/custom-queries.js +61 -39
  1016. package/out/zero-protocol/src/custom-queries.js.map +1 -1
  1017. package/out/zero-protocol/src/data.js +9 -4
  1018. package/out/zero-protocol/src/data.js.map +1 -1
  1019. package/out/zero-protocol/src/delete-clients.js +16 -9
  1020. package/out/zero-protocol/src/delete-clients.js.map +1 -1
  1021. package/out/zero-protocol/src/down.d.ts +107 -7
  1022. package/out/zero-protocol/src/down.d.ts.map +1 -1
  1023. package/out/zero-protocol/src/down.js +20 -4
  1024. package/out/zero-protocol/src/down.js.map +1 -1
  1025. package/out/zero-protocol/src/error-kind-enum.js +41 -23
  1026. package/out/zero-protocol/src/error-kind-enum.js.map +1 -1
  1027. package/out/zero-protocol/src/error-origin-enum.js +9 -4
  1028. package/out/zero-protocol/src/error-origin-enum.js.map +1 -1
  1029. package/out/zero-protocol/src/error-reason-enum.js +17 -8
  1030. package/out/zero-protocol/src/error-reason-enum.js.map +1 -1
  1031. package/out/zero-protocol/src/error.d.ts +17 -17
  1032. package/out/zero-protocol/src/error.js +151 -89
  1033. package/out/zero-protocol/src/error.js.map +1 -1
  1034. package/out/zero-protocol/src/inspect-down.d.ts +321 -21
  1035. package/out/zero-protocol/src/inspect-down.d.ts.map +1 -1
  1036. package/out/zero-protocol/src/inspect-down.js +72 -54
  1037. package/out/zero-protocol/src/inspect-down.js.map +1 -1
  1038. package/out/zero-protocol/src/inspect-up.d.ts +10 -6
  1039. package/out/zero-protocol/src/inspect-up.d.ts.map +1 -1
  1040. package/out/zero-protocol/src/inspect-up.js +39 -26
  1041. package/out/zero-protocol/src/inspect-up.js.map +1 -1
  1042. package/out/zero-protocol/src/mutation-id.js +9 -5
  1043. package/out/zero-protocol/src/mutation-id.js.map +1 -1
  1044. package/out/zero-protocol/src/mutation-type-enum.js +7 -3
  1045. package/out/zero-protocol/src/mutation-type-enum.js.map +1 -1
  1046. package/out/zero-protocol/src/mutations-patch.js +16 -17
  1047. package/out/zero-protocol/src/mutations-patch.js.map +1 -1
  1048. package/out/zero-protocol/src/ping.js +9 -4
  1049. package/out/zero-protocol/src/ping.js.map +1 -1
  1050. package/out/zero-protocol/src/poke.js +55 -72
  1051. package/out/zero-protocol/src/poke.js.map +1 -1
  1052. package/out/zero-protocol/src/pong.js +9 -4
  1053. package/out/zero-protocol/src/pong.js.map +1 -1
  1054. package/out/zero-protocol/src/primary-key.js +19 -5
  1055. package/out/zero-protocol/src/primary-key.js.map +1 -1
  1056. package/out/zero-protocol/src/protocol-version.d.ts +2 -2
  1057. package/out/zero-protocol/src/protocol-version.d.ts.map +1 -1
  1058. package/out/zero-protocol/src/protocol-version.js +7 -58
  1059. package/out/zero-protocol/src/protocol-version.js.map +1 -1
  1060. package/out/zero-protocol/src/pull.js +26 -19
  1061. package/out/zero-protocol/src/pull.js.map +1 -1
  1062. package/out/zero-protocol/src/push.d.ts +4 -4
  1063. package/out/zero-protocol/src/push.js +179 -176
  1064. package/out/zero-protocol/src/push.js.map +1 -1
  1065. package/out/zero-protocol/src/queries-patch.d.ts +3 -3
  1066. package/out/zero-protocol/src/queries-patch.js +29 -22
  1067. package/out/zero-protocol/src/queries-patch.js.map +1 -1
  1068. package/out/zero-protocol/src/query-hash.js +18 -14
  1069. package/out/zero-protocol/src/query-hash.js.map +1 -1
  1070. package/out/zero-protocol/src/row-patch.js +29 -20
  1071. package/out/zero-protocol/src/row-patch.js.map +1 -1
  1072. package/out/zero-protocol/src/up.d.ts +6 -5
  1073. package/out/zero-protocol/src/up.d.ts.map +1 -1
  1074. package/out/zero-protocol/src/up.js +18 -4
  1075. package/out/zero-protocol/src/up.js.map +1 -1
  1076. package/out/zero-protocol/src/version.js +9 -4
  1077. package/out/zero-protocol/src/version.js.map +1 -1
  1078. package/out/zero-react/src/bindings.d.ts +2 -0
  1079. package/out/zero-react/src/bindings.d.ts.map +1 -0
  1080. package/out/zero-react/src/mod.d.ts +2 -13
  1081. package/out/zero-react/src/mod.d.ts.map +1 -1
  1082. package/out/zero-react/src/use-connection-state.d.ts +9 -0
  1083. package/out/zero-react/src/use-connection-state.d.ts.map +1 -0
  1084. package/out/zero-react/src/use-connection-state.js +14 -0
  1085. package/out/zero-react/src/use-connection-state.js.map +1 -0
  1086. package/out/zero-react/src/use-query.d.ts +5 -9
  1087. package/out/zero-react/src/use-query.d.ts.map +1 -1
  1088. package/out/zero-react/src/use-query.js +289 -0
  1089. package/out/zero-react/src/use-query.js.map +1 -0
  1090. package/out/zero-react/src/use-zero-online.d.ts +1 -1
  1091. package/out/zero-react/src/use-zero-online.js +14 -0
  1092. package/out/zero-react/src/use-zero-online.js.map +1 -0
  1093. package/out/zero-react/src/zero-provider.d.ts +19 -10
  1094. package/out/zero-react/src/zero-provider.d.ts.map +1 -1
  1095. package/out/zero-react/src/zero-provider.js +77 -0
  1096. package/out/zero-react/src/zero-provider.js.map +1 -0
  1097. package/out/zero-react/src/zero.d.ts +2 -0
  1098. package/out/zero-react/src/zero.d.ts.map +1 -0
  1099. package/out/zero-schema/src/builder/relationship-builder.js +22 -19
  1100. package/out/zero-schema/src/builder/relationship-builder.js.map +1 -1
  1101. package/out/zero-schema/src/builder/schema-builder.d.ts +1 -3
  1102. package/out/zero-schema/src/builder/schema-builder.d.ts.map +1 -1
  1103. package/out/zero-schema/src/builder/schema-builder.js +81 -71
  1104. package/out/zero-schema/src/builder/schema-builder.js.map +1 -1
  1105. package/out/zero-schema/src/builder/table-builder.js +117 -116
  1106. package/out/zero-schema/src/builder/table-builder.js.map +1 -1
  1107. package/out/zero-schema/src/compiled-permissions.js +23 -19
  1108. package/out/zero-schema/src/compiled-permissions.js.map +1 -1
  1109. package/out/zero-schema/src/name-mapper.js +43 -38
  1110. package/out/zero-schema/src/name-mapper.js.map +1 -1
  1111. package/out/zero-schema/src/permissions.d.ts +12 -9
  1112. package/out/zero-schema/src/permissions.d.ts.map +1 -1
  1113. package/out/zero-schema/src/permissions.js +193 -0
  1114. package/out/zero-schema/src/permissions.js.map +1 -0
  1115. package/out/zero-schema/src/schema-config.d.ts +1 -1
  1116. package/out/zero-schema/src/schema-config.d.ts.map +1 -1
  1117. package/out/zero-schema/src/schema-config.js +35 -51
  1118. package/out/zero-schema/src/schema-config.js.map +1 -1
  1119. package/out/zero-server/src/adapters/drizzle.d.ts +2 -2
  1120. package/out/zero-server/src/adapters/drizzle.d.ts.map +1 -1
  1121. package/out/zero-server/src/adapters/drizzle.js +84 -97
  1122. package/out/zero-server/src/adapters/drizzle.js.map +1 -1
  1123. package/out/zero-server/src/adapters/pg.d.ts +8 -2
  1124. package/out/zero-server/src/adapters/pg.d.ts.map +1 -1
  1125. package/out/zero-server/src/adapters/pg.js +54 -74
  1126. package/out/zero-server/src/adapters/pg.js.map +1 -1
  1127. package/out/zero-server/src/adapters/postgresjs.d.ts +7 -2
  1128. package/out/zero-server/src/adapters/postgresjs.d.ts.map +1 -1
  1129. package/out/zero-server/src/adapters/postgresjs.js +40 -54
  1130. package/out/zero-server/src/adapters/postgresjs.js.map +1 -1
  1131. package/out/zero-server/src/custom.d.ts +57 -19
  1132. package/out/zero-server/src/custom.d.ts.map +1 -1
  1133. package/out/zero-server/src/custom.js +289 -107
  1134. package/out/zero-server/src/custom.js.map +1 -1
  1135. package/out/zero-server/src/logging.js +7 -4
  1136. package/out/zero-server/src/logging.js.map +1 -1
  1137. package/out/zero-server/src/mod.d.ts +1 -1
  1138. package/out/zero-server/src/mod.d.ts.map +1 -1
  1139. package/out/zero-server/src/pg-query-executor.d.ts +11 -0
  1140. package/out/zero-server/src/pg-query-executor.d.ts.map +1 -0
  1141. package/out/zero-server/src/pg-query-executor.js +20 -0
  1142. package/out/zero-server/src/pg-query-executor.js.map +1 -0
  1143. package/out/zero-server/src/process-mutations.d.ts +13 -13
  1144. package/out/zero-server/src/process-mutations.d.ts.map +1 -1
  1145. package/out/zero-server/src/process-mutations.js +328 -272
  1146. package/out/zero-server/src/process-mutations.js.map +1 -1
  1147. package/out/zero-server/src/push-processor.d.ts +5 -3
  1148. package/out/zero-server/src/push-processor.d.ts.map +1 -1
  1149. package/out/zero-server/src/push-processor.js +50 -32
  1150. package/out/zero-server/src/push-processor.js.map +1 -1
  1151. package/out/zero-server/src/queries/process-queries.d.ts +76 -3
  1152. package/out/zero-server/src/queries/process-queries.d.ts.map +1 -1
  1153. package/out/zero-server/src/queries/process-queries.js +104 -93
  1154. package/out/zero-server/src/queries/process-queries.js.map +1 -1
  1155. package/out/zero-server/src/schema.d.ts +2 -2
  1156. package/out/zero-server/src/schema.d.ts.map +1 -1
  1157. package/out/zero-server/src/schema.js +136 -124
  1158. package/out/zero-server/src/schema.js.map +1 -1
  1159. package/out/zero-server/src/zql-database.d.ts +9 -6
  1160. package/out/zero-server/src/zql-database.d.ts.map +1 -1
  1161. package/out/zero-server/src/zql-database.js +56 -51
  1162. package/out/zero-server/src/zql-database.js.map +1 -1
  1163. package/out/zero-solid/src/bindings.d.ts +2 -0
  1164. package/out/zero-solid/src/bindings.d.ts.map +1 -0
  1165. package/out/zero-solid/src/mod.d.ts +1 -9
  1166. package/out/zero-solid/src/mod.d.ts.map +1 -1
  1167. package/out/zero-solid/src/solid-view.d.ts +3 -5
  1168. package/out/zero-solid/src/solid-view.d.ts.map +1 -1
  1169. package/out/{solid.js → zero-solid/src/solid-view.js} +47 -196
  1170. package/out/zero-solid/src/solid-view.js.map +1 -0
  1171. package/out/zero-solid/src/{use-zero-connection-state.d.ts → use-connection-state.d.ts} +3 -3
  1172. package/out/zero-solid/src/use-connection-state.d.ts.map +1 -0
  1173. package/out/zero-solid/src/use-connection-state.js +17 -0
  1174. package/out/zero-solid/src/use-connection-state.js.map +1 -0
  1175. package/out/zero-solid/src/use-query.d.ts +4 -7
  1176. package/out/zero-solid/src/use-query.d.ts.map +1 -1
  1177. package/out/zero-solid/src/use-query.js +92 -0
  1178. package/out/zero-solid/src/use-query.js.map +1 -0
  1179. package/out/zero-solid/src/use-zero-online.d.ts +1 -1
  1180. package/out/zero-solid/src/use-zero-online.d.ts.map +1 -1
  1181. package/out/zero-solid/src/use-zero-online.js +15 -0
  1182. package/out/zero-solid/src/use-zero-online.js.map +1 -0
  1183. package/out/zero-solid/src/use-zero.d.ts +22 -11
  1184. package/out/zero-solid/src/use-zero.d.ts.map +1 -1
  1185. package/out/zero-solid/src/use-zero.js +86 -0
  1186. package/out/zero-solid/src/use-zero.js.map +1 -0
  1187. package/out/zero-solid/src/zero.d.ts +2 -0
  1188. package/out/zero-solid/src/zero.d.ts.map +1 -0
  1189. package/out/zero-types/src/default-types.d.ts +38 -0
  1190. package/out/zero-types/src/default-types.d.ts.map +1 -0
  1191. package/out/zero-types/src/format.js +7 -4
  1192. package/out/zero-types/src/format.js.map +1 -1
  1193. package/out/zero-types/src/name-mapper.js +43 -40
  1194. package/out/zero-types/src/name-mapper.js.map +1 -1
  1195. package/out/zero-types/src/schema.d.ts +4 -4
  1196. package/out/zero-types/src/server-schema.d.ts.map +1 -0
  1197. package/out/zql/src/builder/builder.d.ts +10 -2
  1198. package/out/zql/src/builder/builder.d.ts.map +1 -1
  1199. package/out/zql/src/builder/builder.js +474 -427
  1200. package/out/zql/src/builder/builder.js.map +1 -1
  1201. package/out/zql/src/builder/debug-delegate.d.ts +4 -0
  1202. package/out/zql/src/builder/debug-delegate.d.ts.map +1 -1
  1203. package/out/zql/src/builder/debug-delegate.js +68 -47
  1204. package/out/zql/src/builder/debug-delegate.js.map +1 -1
  1205. package/out/zql/src/builder/filter.js +132 -138
  1206. package/out/zql/src/builder/filter.js.map +1 -1
  1207. package/out/zql/src/builder/like.js +44 -51
  1208. package/out/zql/src/builder/like.js.map +1 -1
  1209. package/out/zql/src/error.d.ts +5 -0
  1210. package/out/zql/src/error.d.ts.map +1 -1
  1211. package/out/zql/src/error.js +9 -6
  1212. package/out/zql/src/error.js.map +1 -1
  1213. package/out/zql/src/ivm/array-view.d.ts +2 -2
  1214. package/out/zql/src/ivm/array-view.d.ts.map +1 -1
  1215. package/out/zql/src/ivm/array-view.js +89 -92
  1216. package/out/zql/src/ivm/array-view.js.map +1 -1
  1217. package/out/zql/src/ivm/constraint.js +74 -127
  1218. package/out/zql/src/ivm/constraint.js.map +1 -1
  1219. package/out/zql/src/ivm/data.d.ts +7 -2
  1220. package/out/zql/src/ivm/data.d.ts.map +1 -1
  1221. package/out/zql/src/ivm/data.js +53 -87
  1222. package/out/zql/src/ivm/data.js.map +1 -1
  1223. package/out/zql/src/ivm/exists.d.ts +6 -4
  1224. package/out/zql/src/ivm/exists.d.ts.map +1 -1
  1225. package/out/zql/src/ivm/exists.js +206 -244
  1226. package/out/zql/src/ivm/exists.js.map +1 -1
  1227. package/out/zql/src/ivm/fan-in.d.ts +5 -3
  1228. package/out/zql/src/ivm/fan-in.d.ts.map +1 -1
  1229. package/out/zql/src/ivm/fan-in.js +58 -52
  1230. package/out/zql/src/ivm/fan-in.js.map +1 -1
  1231. package/out/zql/src/ivm/fan-out.d.ts +4 -2
  1232. package/out/zql/src/ivm/fan-out.d.ts.map +1 -1
  1233. package/out/zql/src/ivm/fan-out.js +56 -48
  1234. package/out/zql/src/ivm/fan-out.js.map +1 -1
  1235. package/out/zql/src/ivm/filter-operators.d.ts +13 -11
  1236. package/out/zql/src/ivm/filter-operators.d.ts.map +1 -1
  1237. package/out/zql/src/ivm/filter-operators.js +91 -88
  1238. package/out/zql/src/ivm/filter-operators.js.map +1 -1
  1239. package/out/zql/src/ivm/filter-push.d.ts +2 -1
  1240. package/out/zql/src/ivm/filter-push.d.ts.map +1 -1
  1241. package/out/zql/src/ivm/filter-push.js +27 -24
  1242. package/out/zql/src/ivm/filter-push.js.map +1 -1
  1243. package/out/zql/src/ivm/filter.d.ts +4 -2
  1244. package/out/zql/src/ivm/filter.d.ts.map +1 -1
  1245. package/out/zql/src/ivm/filter.js +36 -32
  1246. package/out/zql/src/ivm/filter.js.map +1 -1
  1247. package/out/zql/src/ivm/flipped-join.d.ts +1 -2
  1248. package/out/zql/src/ivm/flipped-join.d.ts.map +1 -1
  1249. package/out/zql/src/ivm/flipped-join.js +372 -325
  1250. package/out/zql/src/ivm/flipped-join.js.map +1 -1
  1251. package/out/zql/src/ivm/join-utils.d.ts +9 -2
  1252. package/out/zql/src/ivm/join-utils.d.ts.map +1 -1
  1253. package/out/zql/src/ivm/join-utils.js +104 -78
  1254. package/out/zql/src/ivm/join-utils.js.map +1 -1
  1255. package/out/zql/src/ivm/join.d.ts +3 -16
  1256. package/out/zql/src/ivm/join.d.ts.map +1 -1
  1257. package/out/zql/src/ivm/join.js +225 -211
  1258. package/out/zql/src/ivm/join.js.map +1 -1
  1259. package/out/zql/src/ivm/maybe-split-and-push-edit-change.d.ts +1 -1
  1260. package/out/zql/src/ivm/maybe-split-and-push-edit-change.d.ts.map +1 -1
  1261. package/out/zql/src/ivm/maybe-split-and-push-edit-change.js +26 -24
  1262. package/out/zql/src/ivm/maybe-split-and-push-edit-change.js.map +1 -1
  1263. package/out/zql/src/ivm/memory-source.d.ts +9 -8
  1264. package/out/zql/src/ivm/memory-source.d.ts.map +1 -1
  1265. package/out/zql/src/ivm/memory-source.js +484 -491
  1266. package/out/zql/src/ivm/memory-source.js.map +1 -1
  1267. package/out/zql/src/ivm/memory-storage.js +32 -31
  1268. package/out/zql/src/ivm/memory-storage.js.map +1 -1
  1269. package/out/zql/src/ivm/operator.d.ts +15 -12
  1270. package/out/zql/src/ivm/operator.d.ts.map +1 -1
  1271. package/out/zql/src/ivm/operator.js +16 -9
  1272. package/out/zql/src/ivm/operator.js.map +1 -1
  1273. package/out/zql/src/ivm/push-accumulated.d.ts +2 -2
  1274. package/out/zql/src/ivm/push-accumulated.d.ts.map +1 -1
  1275. package/out/zql/src/ivm/push-accumulated.js +236 -305
  1276. package/out/zql/src/ivm/push-accumulated.js.map +1 -1
  1277. package/out/zql/src/ivm/skip.d.ts +2 -3
  1278. package/out/zql/src/ivm/skip.d.ts.map +1 -1
  1279. package/out/zql/src/ivm/skip.js +95 -106
  1280. package/out/zql/src/ivm/skip.js.map +1 -1
  1281. package/out/zql/src/ivm/source.d.ts +18 -8
  1282. package/out/zql/src/ivm/source.d.ts.map +1 -1
  1283. package/out/zql/src/ivm/stream.d.ts +2 -0
  1284. package/out/zql/src/ivm/stream.d.ts.map +1 -1
  1285. package/out/zql/src/ivm/stream.js +12 -17
  1286. package/out/zql/src/ivm/stream.js.map +1 -1
  1287. package/out/zql/src/ivm/take.d.ts +2 -3
  1288. package/out/zql/src/ivm/take.d.ts.map +1 -1
  1289. package/out/zql/src/ivm/take.js +525 -451
  1290. package/out/zql/src/ivm/take.js.map +1 -1
  1291. package/out/zql/src/ivm/union-fan-in.d.ts +4 -4
  1292. package/out/zql/src/ivm/union-fan-in.d.ts.map +1 -1
  1293. package/out/zql/src/ivm/union-fan-in.js +213 -132
  1294. package/out/zql/src/ivm/union-fan-in.js.map +1 -1
  1295. package/out/zql/src/ivm/union-fan-out.d.ts +2 -3
  1296. package/out/zql/src/ivm/union-fan-out.d.ts.map +1 -1
  1297. package/out/zql/src/ivm/union-fan-out.js +43 -45
  1298. package/out/zql/src/ivm/union-fan-out.js.map +1 -1
  1299. package/out/zql/src/ivm/view-apply-change.d.ts.map +1 -1
  1300. package/out/zql/src/ivm/view-apply-change.js +247 -217
  1301. package/out/zql/src/ivm/view-apply-change.js.map +1 -1
  1302. package/out/zql/src/ivm/view.d.ts +3 -2
  1303. package/out/zql/src/ivm/view.d.ts.map +1 -1
  1304. package/out/zql/src/mutate/crud.d.ts +139 -0
  1305. package/out/zql/src/mutate/crud.d.ts.map +1 -0
  1306. package/out/zql/src/mutate/crud.js +53 -0
  1307. package/out/zql/src/mutate/crud.js.map +1 -0
  1308. package/out/zql/src/mutate/custom.d.ts +40 -63
  1309. package/out/zql/src/mutate/custom.d.ts.map +1 -1
  1310. package/out/zql/src/mutate/custom.js +12 -8
  1311. package/out/zql/src/mutate/custom.js.map +1 -1
  1312. package/out/zql/src/mutate/mutator-registry.d.ts +112 -0
  1313. package/out/zql/src/mutate/mutator-registry.d.ts.map +1 -0
  1314. package/out/zql/src/mutate/mutator-registry.js +88 -0
  1315. package/out/zql/src/mutate/mutator-registry.js.map +1 -0
  1316. package/out/zql/src/mutate/mutator.d.ts +94 -0
  1317. package/out/zql/src/mutate/mutator.d.ts.map +1 -0
  1318. package/out/zql/src/mutate/mutator.js +34 -0
  1319. package/out/zql/src/mutate/mutator.js.map +1 -0
  1320. package/out/zql/src/planner/planner-builder.d.ts +2 -1
  1321. package/out/zql/src/planner/planner-builder.d.ts.map +1 -1
  1322. package/out/zql/src/planner/planner-builder.js +239 -148
  1323. package/out/zql/src/planner/planner-builder.js.map +1 -1
  1324. package/out/zql/src/planner/planner-connection.d.ts +14 -15
  1325. package/out/zql/src/planner/planner-connection.d.ts.map +1 -1
  1326. package/out/zql/src/planner/planner-connection.js +205 -247
  1327. package/out/zql/src/planner/planner-connection.js.map +1 -1
  1328. package/out/zql/src/planner/planner-constraint.js +8 -11
  1329. package/out/zql/src/planner/planner-constraint.js.map +1 -1
  1330. package/out/zql/src/planner/planner-debug.d.ts +39 -44
  1331. package/out/zql/src/planner/planner-debug.d.ts.map +1 -1
  1332. package/out/zql/src/planner/planner-debug.js +227 -161
  1333. package/out/zql/src/planner/planner-debug.js.map +1 -1
  1334. package/out/zql/src/planner/planner-fan-in.d.ts.map +1 -1
  1335. package/out/zql/src/planner/planner-fan-in.js +157 -159
  1336. package/out/zql/src/planner/planner-fan-in.js.map +1 -1
  1337. package/out/zql/src/planner/planner-fan-out.d.ts.map +1 -1
  1338. package/out/zql/src/planner/planner-fan-out.js +73 -59
  1339. package/out/zql/src/planner/planner-fan-out.js.map +1 -1
  1340. package/out/zql/src/planner/planner-graph.d.ts +10 -9
  1341. package/out/zql/src/planner/planner-graph.d.ts.map +1 -1
  1342. package/out/zql/src/planner/planner-graph.js +323 -357
  1343. package/out/zql/src/planner/planner-graph.js.map +1 -1
  1344. package/out/zql/src/planner/planner-join.d.ts +7 -3
  1345. package/out/zql/src/planner/planner-join.d.ts.map +1 -1
  1346. package/out/zql/src/planner/planner-join.js +237 -322
  1347. package/out/zql/src/planner/planner-join.js.map +1 -1
  1348. package/out/zql/src/planner/planner-node.d.ts +6 -1
  1349. package/out/zql/src/planner/planner-node.d.ts.map +1 -1
  1350. package/out/zql/src/planner/planner-node.js +8 -2
  1351. package/out/zql/src/planner/planner-node.js.map +1 -1
  1352. package/out/zql/src/planner/planner-source.js +23 -12
  1353. package/out/zql/src/planner/planner-source.js.map +1 -1
  1354. package/out/zql/src/planner/planner-terminus.js +28 -27
  1355. package/out/zql/src/planner/planner-terminus.js.map +1 -1
  1356. package/out/zql/src/query/complete-ordering.d.ts +5 -0
  1357. package/out/zql/src/query/complete-ordering.d.ts.map +1 -0
  1358. package/out/zql/src/query/complete-ordering.js +71 -0
  1359. package/out/zql/src/query/complete-ordering.js.map +1 -0
  1360. package/out/zql/src/query/create-builder.d.ts +10 -0
  1361. package/out/zql/src/query/create-builder.d.ts.map +1 -0
  1362. package/out/zql/src/query/create-builder.js +32 -0
  1363. package/out/zql/src/query/create-builder.js.map +1 -0
  1364. package/out/zql/src/query/error.js +12 -8
  1365. package/out/zql/src/query/error.js.map +1 -1
  1366. package/out/zql/src/query/escape-like.js +7 -0
  1367. package/out/zql/src/query/escape-like.js.map +1 -0
  1368. package/out/zql/src/query/expression.d.ts +5 -5
  1369. package/out/zql/src/query/expression.d.ts.map +1 -1
  1370. package/out/zql/src/query/expression.js +153 -151
  1371. package/out/zql/src/query/expression.js.map +1 -1
  1372. package/out/zql/src/query/measure-push-operator.d.ts +2 -3
  1373. package/out/zql/src/query/measure-push-operator.d.ts.map +1 -1
  1374. package/out/zql/src/query/measure-push-operator.js +39 -35
  1375. package/out/zql/src/query/measure-push-operator.js.map +1 -1
  1376. package/out/zql/src/query/metrics-delegate.js +9 -5
  1377. package/out/zql/src/query/metrics-delegate.js.map +1 -1
  1378. package/out/zql/src/query/named.d.ts +21 -12
  1379. package/out/zql/src/query/named.d.ts.map +1 -1
  1380. package/out/zql/src/query/named.js +46 -64
  1381. package/out/zql/src/query/named.js.map +1 -1
  1382. package/out/zql/src/query/query-delegate-base.d.ts +120 -0
  1383. package/out/zql/src/query/query-delegate-base.d.ts.map +1 -0
  1384. package/out/zql/src/query/query-delegate-base.js +250 -0
  1385. package/out/zql/src/query/query-delegate-base.js.map +1 -0
  1386. package/out/zql/src/query/query-delegate.d.ts +27 -4
  1387. package/out/zql/src/query/query-delegate.d.ts.map +1 -1
  1388. package/out/zql/src/query/query-impl.d.ts +30 -52
  1389. package/out/zql/src/query/query-impl.d.ts.map +1 -1
  1390. package/out/zql/src/query/query-impl.js +393 -459
  1391. package/out/zql/src/query/query-impl.js.map +1 -1
  1392. package/out/zql/src/query/query-internals.d.ts +68 -0
  1393. package/out/zql/src/query/query-internals.d.ts.map +1 -0
  1394. package/out/zql/src/query/query-internals.js +11 -0
  1395. package/out/zql/src/query/query-internals.js.map +1 -0
  1396. package/out/zql/src/query/query-registry.d.ts +239 -0
  1397. package/out/zql/src/query/query-registry.d.ts.map +1 -0
  1398. package/out/zql/src/query/query-registry.js +121 -0
  1399. package/out/zql/src/query/query-registry.js.map +1 -0
  1400. package/out/zql/src/query/query.d.ts +65 -242
  1401. package/out/zql/src/query/query.d.ts.map +1 -1
  1402. package/out/zql/src/query/runnable-query-impl.d.ts +22 -0
  1403. package/out/zql/src/query/runnable-query-impl.d.ts.map +1 -0
  1404. package/out/zql/src/query/runnable-query-impl.js +60 -0
  1405. package/out/zql/src/query/runnable-query-impl.js.map +1 -0
  1406. package/out/zql/src/query/schema-query.d.ts +8 -0
  1407. package/out/zql/src/query/schema-query.d.ts.map +1 -0
  1408. package/out/zql/src/query/static-query.d.ts +3 -25
  1409. package/out/zql/src/query/static-query.d.ts.map +1 -1
  1410. package/out/zql/src/query/static-query.js +18 -32
  1411. package/out/zql/src/query/static-query.js.map +1 -1
  1412. package/out/zql/src/query/ttl.js +69 -62
  1413. package/out/zql/src/query/ttl.js.map +1 -1
  1414. package/out/zql/src/query/validate-input.d.ts +15 -0
  1415. package/out/zql/src/query/validate-input.d.ts.map +1 -0
  1416. package/out/zql/src/query/validate-input.js +24 -0
  1417. package/out/zql/src/query/validate-input.js.map +1 -0
  1418. package/out/zqlite/src/database-storage.d.ts +1 -1
  1419. package/out/zqlite/src/database-storage.d.ts.map +1 -1
  1420. package/out/zqlite/src/database-storage.js +99 -102
  1421. package/out/zqlite/src/database-storage.js.map +1 -1
  1422. package/out/zqlite/src/db.d.ts +2 -1
  1423. package/out/zqlite/src/db.d.ts.map +1 -1
  1424. package/out/zqlite/src/db.js +241 -192
  1425. package/out/zqlite/src/db.js.map +1 -1
  1426. package/out/zqlite/src/explain-queries.js +13 -16
  1427. package/out/zqlite/src/explain-queries.js.map +1 -1
  1428. package/out/zqlite/src/internal/sql-inline.d.ts +13 -0
  1429. package/out/zqlite/src/internal/sql-inline.d.ts.map +1 -0
  1430. package/out/zqlite/src/internal/sql-inline.js +45 -0
  1431. package/out/zqlite/src/internal/sql-inline.js.map +1 -0
  1432. package/out/zqlite/src/internal/sql.js +15 -10
  1433. package/out/zqlite/src/internal/sql.js.map +1 -1
  1434. package/out/zqlite/src/internal/statement-cache.js +86 -110
  1435. package/out/zqlite/src/internal/statement-cache.js.map +1 -1
  1436. package/out/zqlite/src/query-builder.js +172 -143
  1437. package/out/zqlite/src/query-builder.js.map +1 -1
  1438. package/out/zqlite/src/query-delegate.d.ts +5 -19
  1439. package/out/zqlite/src/query-delegate.d.ts.map +1 -1
  1440. package/out/zqlite/src/query-delegate.js +56 -70
  1441. package/out/zqlite/src/query-delegate.js.map +1 -1
  1442. package/out/zqlite/src/sqlite-cost-model.d.ts.map +1 -1
  1443. package/out/zqlite/src/sqlite-cost-model.js +97 -121
  1444. package/out/zqlite/src/sqlite-cost-model.js.map +1 -1
  1445. package/out/zqlite/src/sqlite-stat-fanout.d.ts +121 -0
  1446. package/out/zqlite/src/sqlite-stat-fanout.d.ts.map +1 -0
  1447. package/out/zqlite/src/sqlite-stat-fanout.js +301 -0
  1448. package/out/zqlite/src/sqlite-stat-fanout.js.map +1 -0
  1449. package/out/zqlite/src/table-source.d.ts +18 -6
  1450. package/out/zqlite/src/table-source.d.ts.map +1 -1
  1451. package/out/zqlite/src/table-source.js +443 -311
  1452. package/out/zqlite/src/table-source.js.map +1 -1
  1453. package/package.json +30 -27
  1454. package/out/chunk-424PT5DM.js +0 -23
  1455. package/out/chunk-424PT5DM.js.map +0 -7
  1456. package/out/chunk-AFADJQ2O.js +0 -1
  1457. package/out/chunk-AFADJQ2O.js.map +0 -7
  1458. package/out/chunk-ASRS2LFV.js.map +0 -7
  1459. package/out/chunk-COKJ5W7V.js +0 -18337
  1460. package/out/chunk-COKJ5W7V.js.map +0 -7
  1461. package/out/chunk-ECUMGQGC.js.map +0 -7
  1462. package/out/chunk-EZM3XBAB.js.map +0 -7
  1463. package/out/chunk-TJFNGO7E.js +0 -4126
  1464. package/out/chunk-TJFNGO7E.js.map +0 -7
  1465. package/out/chunk-VZOYWIRW.js +0 -30
  1466. package/out/chunk-VZOYWIRW.js.map +0 -7
  1467. package/out/chunk-YWU2DZ23.js +0 -372
  1468. package/out/chunk-YWU2DZ23.js.map +0 -7
  1469. package/out/chunk-ZZXMKAAG.js.map +0 -7
  1470. package/out/expo-sqlite.js +0 -11
  1471. package/out/expo-sqlite.js.map +0 -7
  1472. package/out/inspector-IU2HG74I.js +0 -43
  1473. package/out/inspector-IU2HG74I.js.map +0 -7
  1474. package/out/lazy-inspector-OXIFYSSQ.js +0 -574
  1475. package/out/lazy-inspector-OXIFYSSQ.js.map +0 -7
  1476. package/out/op-sqlite.js.map +0 -7
  1477. package/out/react-native.js +0 -25
  1478. package/out/react-native.js.map +0 -7
  1479. package/out/react.js +0 -479
  1480. package/out/react.js.map +0 -7
  1481. package/out/shared/src/enum.js +0 -2
  1482. package/out/shared/src/enum.js.map +0 -1
  1483. package/out/shared/src/expand.js +0 -2
  1484. package/out/shared/src/expand.js.map +0 -1
  1485. package/out/shared/src/immutable.js +0 -2
  1486. package/out/shared/src/immutable.js.map +0 -1
  1487. package/out/shared/src/types.js +0 -2
  1488. package/out/shared/src/types.js.map +0 -1
  1489. package/out/shared/src/writable.js +0 -2
  1490. package/out/shared/src/writable.js.map +0 -1
  1491. package/out/solid.js.map +0 -7
  1492. package/out/sqlite.js +0 -15
  1493. package/out/sqlite.js.map +0 -7
  1494. package/out/zero/package.json +0 -194
  1495. package/out/zero/src/server/change-streamer.js +0 -2
  1496. package/out/zero/src/server/change-streamer.js.map +0 -1
  1497. package/out/zero/src/server/main.js +0 -2
  1498. package/out/zero/src/server/main.js.map +0 -1
  1499. package/out/zero/src/server/reaper.js +0 -2
  1500. package/out/zero/src/server/reaper.js.map +0 -1
  1501. package/out/zero/src/server/replicator.js +0 -2
  1502. package/out/zero/src/server/replicator.js.map +0 -1
  1503. package/out/zero/src/server/runner/main.js +0 -2
  1504. package/out/zero/src/server/runner/main.js.map +0 -1
  1505. package/out/zero/src/server/syncer.js +0 -2
  1506. package/out/zero/src/server/syncer.js.map +0 -1
  1507. package/out/zero-cache/src/services/change-source/pg/logical-replication/pgoutput.types.js +0 -4
  1508. package/out/zero-cache/src/services/change-source/pg/logical-replication/pgoutput.types.js.map +0 -1
  1509. package/out/zero-cache/src/services/change-source/protocol/mod.js +0 -5
  1510. package/out/zero-cache/src/services/change-source/protocol/mod.js.map +0 -1
  1511. package/out/zero-cache/src/services/service.js +0 -2
  1512. package/out/zero-cache/src/services/service.js.map +0 -1
  1513. package/out/zero-cache/src/services/view-syncer/key-columns.d.ts +0 -32
  1514. package/out/zero-cache/src/services/view-syncer/key-columns.d.ts.map +0 -1
  1515. package/out/zero-cache/src/services/view-syncer/key-columns.js +0 -75
  1516. package/out/zero-cache/src/services/view-syncer/key-columns.js.map +0 -1
  1517. package/out/zero-cache/src/types/satisfies.js +0 -2
  1518. package/out/zero-cache/src/types/satisfies.js.map +0 -1
  1519. package/out/zero-client/src/client/on-error.d.ts +0 -15
  1520. package/out/zero-client/src/client/on-error.d.ts.map +0 -1
  1521. package/out/zero-client/src/client/zero-log-context.d.ts +0 -7
  1522. package/out/zero-client/src/client/zero-log-context.d.ts.map +0 -1
  1523. package/out/zero-events/src/index.js +0 -2
  1524. package/out/zero-events/src/index.js.map +0 -1
  1525. package/out/zero-events/src/json.js +0 -2
  1526. package/out/zero-events/src/json.js.map +0 -1
  1527. package/out/zero-events/src/status.js +0 -3
  1528. package/out/zero-events/src/status.js.map +0 -1
  1529. package/out/zero-pg/src/mod.js +0 -6
  1530. package/out/zero-pg/src/mod.js.map +0 -1
  1531. package/out/zero-protocol/src/error-kind.js +0 -3
  1532. package/out/zero-protocol/src/error-kind.js.map +0 -1
  1533. package/out/zero-protocol/src/error-origin.js +0 -3
  1534. package/out/zero-protocol/src/error-origin.js.map +0 -1
  1535. package/out/zero-protocol/src/error-reason.js +0 -3
  1536. package/out/zero-protocol/src/error-reason.js.map +0 -1
  1537. package/out/zero-react/src/components/inspector.d.ts +0 -8
  1538. package/out/zero-react/src/components/inspector.d.ts.map +0 -1
  1539. package/out/zero-react/src/components/mark-icon.d.ts +0 -3
  1540. package/out/zero-react/src/components/mark-icon.d.ts.map +0 -1
  1541. package/out/zero-react/src/components/zero-inspector.d.ts +0 -7
  1542. package/out/zero-react/src/components/zero-inspector.d.ts.map +0 -1
  1543. package/out/zero-react/src/use-zero-connection-state.d.ts +0 -9
  1544. package/out/zero-react/src/use-zero-connection-state.d.ts.map +0 -1
  1545. package/out/zero-schema/src/server-schema.d.ts.map +0 -1
  1546. package/out/zero-schema/src/server-schema.js +0 -2
  1547. package/out/zero-schema/src/server-schema.js.map +0 -1
  1548. package/out/zero-schema/src/table-schema.js +0 -7
  1549. package/out/zero-schema/src/table-schema.js.map +0 -1
  1550. package/out/zero-server/src/mod.js +0 -9
  1551. package/out/zero-server/src/mod.js.map +0 -1
  1552. package/out/zero-server/src/query.d.ts +0 -22
  1553. package/out/zero-server/src/query.d.ts.map +0 -1
  1554. package/out/zero-server/src/query.js +0 -61
  1555. package/out/zero-server/src/query.js.map +0 -1
  1556. package/out/zero-solid/src/use-zero-connection-state.d.ts.map +0 -1
  1557. package/out/zero-types/src/schema-value.js +0 -2
  1558. package/out/zero-types/src/schema-value.js.map +0 -1
  1559. package/out/zero-types/src/schema.js +0 -2
  1560. package/out/zero-types/src/schema.js.map +0 -1
  1561. package/out/zero.js +0 -81
  1562. package/out/zero.js.map +0 -7
  1563. package/out/zql/src/ivm/change.js +0 -2
  1564. package/out/zql/src/ivm/change.js.map +0 -1
  1565. package/out/zql/src/ivm/default-format.js +0 -2
  1566. package/out/zql/src/ivm/default-format.js.map +0 -1
  1567. package/out/zql/src/ivm/schema.js +0 -2
  1568. package/out/zql/src/ivm/schema.js.map +0 -1
  1569. package/out/zql/src/ivm/source.js +0 -2
  1570. package/out/zql/src/ivm/source.js.map +0 -1
  1571. package/out/zql/src/ivm/view.js +0 -2
  1572. package/out/zql/src/ivm/view.js.map +0 -1
  1573. package/out/zql/src/query/query-delegate.js +0 -2
  1574. package/out/zql/src/query/query-delegate.js.map +0 -1
  1575. package/out/zql/src/query/query.js +0 -9
  1576. package/out/zql/src/query/query.js.map +0 -1
  1577. package/out/zql/src/query/typed-view.js +0 -2
  1578. package/out/zql/src/query/typed-view.js.map +0 -1
  1579. package/out/zqlite/src/mod.js +0 -5
  1580. package/out/zqlite/src/mod.js.map +0 -1
  1581. /package/out/{zero-schema → zero-types}/src/server-schema.d.ts +0 -0
@@ -1,288 +1,296 @@
1
1
  import { jsonValueSchema } from "../../../../../shared/src/bigint-json.js";
2
2
  import { jsonSchema } from "../../../../../shared/src/json-schema.js";
3
- import * as v from "../../../../../shared/src/valita.js";
3
+ import { readonly, literalUnion } from "../../../../../shared/src/valita.js";
4
4
  import { astSchema } from "../../../../../zero-protocol/src/ast.js";
5
- import { versionFromLexi, versionToLexi } from "../../../types/lexi-version.js";
5
+ import { versionToLexi, versionFromLexi } from "../../../types/lexi-version.js";
6
6
  import { ttlClockSchema } from "../ttl-clock.js";
7
- export const cvrVersionSchema = v.object({
8
- /**
9
- * The database `stateVersion` with which the rows in the CVR are consistent.
10
- */
11
- stateVersion: v.string(), // LexiVersion
12
- /**
13
- * `minorVersion` is subversion of `stateVersion` that is initially absent for each
14
- * `stateVersion`, and incremented for configuration changes that affect the contents
15
- * of the CVR such as:
16
- *
17
- * * query set changes
18
- * * query transformation changes (which may happen for changes
19
- * in server-side logic or authorization policies)
20
- *
21
- * Such configuration changes are always correlated with a change to one or more
22
- * `/meta/...` records in the CVR, often (but not always) with corresponding
23
- * patches in `/patches/meta/...`.
24
- *
25
- * When the `stateVersion` moves forward, the `minorVersion` is reset to absent.
26
- * In this manner it behaves like the analogous concept in semantic versioning.
27
- */
28
- minorVersion: v.number().optional(),
7
+ import { object, number, string, array, literal, record, union } from "@badrap/valita";
8
+ const cvrVersionSchema = object({
9
+ /**
10
+ * The database `stateVersion` with which the rows in the CVR are consistent.
11
+ */
12
+ stateVersion: string(),
13
+ // LexiVersion
14
+ /**
15
+ * `minorVersion` is subversion of `stateVersion` that is initially absent for each
16
+ * `stateVersion`, and incremented for configuration changes that affect the contents
17
+ * of the CVR such as:
18
+ *
19
+ * * query set changes
20
+ * * query transformation changes (which may happen for changes
21
+ * in server-side logic or authorization policies)
22
+ *
23
+ * Such configuration changes are always correlated with a change to one or more
24
+ * `/meta/...` records in the CVR, often (but not always) with corresponding
25
+ * patches in `/patches/meta/...`.
26
+ *
27
+ * When the `stateVersion` moves forward, the `minorVersion` is reset to absent.
28
+ * In this manner it behaves like the analogous concept in semantic versioning.
29
+ */
30
+ minorVersion: number().optional()
29
31
  });
30
- export const EMPTY_CVR_VERSION = {
31
- stateVersion: versionToLexi(0),
32
+ const EMPTY_CVR_VERSION = {
33
+ stateVersion: versionToLexi(0)
32
34
  };
33
- export function oneAfter(v) {
34
- return v === null
35
- ? { stateVersion: versionToLexi(0) }
36
- : {
37
- stateVersion: v.stateVersion,
38
- minorVersion: (v.minorVersion ?? 0) + 1,
39
- };
35
+ function oneAfter(v2) {
36
+ return v2 === null ? { stateVersion: versionToLexi(0) } : {
37
+ stateVersion: v2.stateVersion,
38
+ minorVersion: (v2.minorVersion ?? 0) + 1
39
+ };
40
40
  }
41
- export function cmpVersions(a, b) {
42
- return a === null && b === null
43
- ? 0
44
- : a === null
45
- ? -1
46
- : b === null
47
- ? 1
48
- : a.stateVersion < b.stateVersion
49
- ? -1
50
- : a.stateVersion > b.stateVersion
51
- ? 1
52
- : (a.minorVersion ?? 0) - (b.minorVersion ?? 0);
41
+ function cmpVersions(a, b) {
42
+ return a === null && b === null ? 0 : a === null ? -1 : b === null ? 1 : a.stateVersion < b.stateVersion ? -1 : a.stateVersion > b.stateVersion ? 1 : (a.minorVersion ?? 0) - (b.minorVersion ?? 0);
53
43
  }
54
- export function maxVersion(a, b) {
55
- return !b ? a : cmpVersions(b, a) > 0 ? b : a;
44
+ function maxVersion(a, b) {
45
+ return !b ? a : cmpVersions(b, a) > 0 ? b : a;
56
46
  }
57
- export function versionToCookie(v) {
58
- return versionString(v);
47
+ function versionToCookie(v2) {
48
+ return versionString(v2);
59
49
  }
60
- export function versionToNullableCookie(v) {
61
- return v === null ? null : versionToCookie(v);
50
+ function versionToNullableCookie(v2) {
51
+ return v2 === null ? null : versionToCookie(v2);
62
52
  }
63
- export function cookieToVersion(cookie) {
64
- if (cookie === null) {
65
- return null;
66
- }
67
- return versionFromString(cookie);
53
+ function cookieToVersion(cookie) {
54
+ if (cookie === null) {
55
+ return null;
56
+ }
57
+ return versionFromString(cookie);
68
58
  }
69
- // Last Active tracking.
70
- export const cvrIDSchema = v.object({ id: v.string() });
71
- const cvrRecordSchema = v.object({
72
- /**
73
- * CVR records store the CVRVersion at which the record was last patched into
74
- * the CVR, which corresponds with a patch row that is cleaned up when the
75
- * record is changed (updated, deleted, and re-added in the case of rows).
76
- *
77
- * Tombstones are stored for row records but not for config records. This means
78
- * that "orphaned" delete patches for config records may exist, and therefore
79
- * scans of config patches must always run until the end of the list. On the
80
- * contrary, for row patches, the row record tombstones allow cleanup of delete
81
- * patches.
82
- */
83
- patchVersion: cvrVersionSchema,
59
+ object({ id: string() });
60
+ const cvrRecordSchema = object({
61
+ /**
62
+ * CVR records store the CVRVersion at which the record was last patched into
63
+ * the CVR, which corresponds with a patch row that is cleaned up when the
64
+ * record is changed (updated, deleted, and re-added in the case of rows).
65
+ *
66
+ * Tombstones are stored for row records but not for config records. This means
67
+ * that "orphaned" delete patches for config records may exist, and therefore
68
+ * scans of config patches must always run until the end of the list. On the
69
+ * contrary, for row patches, the row record tombstones allow cleanup of delete
70
+ * patches.
71
+ */
72
+ patchVersion: cvrVersionSchema
84
73
  });
85
- export const clientRecordSchema = v.object({
86
- /** The client ID, of which there can be multiple for a client group view. */
87
- id: v.string(),
88
- /** The client's desired query IDs. Patch information is stored in the QueryRecord. */
89
- desiredQueryIDs: v.array(v.string()),
74
+ object({
75
+ /** The client ID, of which there can be multiple for a client group view. */
76
+ id: string(),
77
+ /** The client's desired query IDs. Patch information is stored in the QueryRecord. */
78
+ desiredQueryIDs: array(string())
90
79
  });
91
- export const baseQueryRecordSchema = v.object({
92
- /** The client-specified ID used to identify this query. Typically a hash. */
93
- id: v.string(),
94
- /**
95
- * The hash of the query after server-side transformations, which include:
96
- *
97
- * * Normalization (which may differ from what the client does)
98
- * * Query "expansion" to include primary keys and query-execution-related columns
99
- * * Authorization transforms
100
- *
101
- * Transformations depend on conditions that are independent of the db state version,
102
- * such as server-side logic and authorization policies. As such, the version of a CVR
103
- * version may need to be advanced independent of db state changes. This is done
104
- * via the `minorVersion` counter of the CVRVersion object, which is used to account
105
- * for both changes to the query set and changes to query transformations (which are
106
- * effectively remove-old-query + add-new-query).
107
- *
108
- * Note that the transformed AST itself is **not** stored, as the result of the previous
109
- * transformation is not useful in and of itself. If the current transformation results in
110
- * a different hash than that of the transformation used for the last version of the CVR,
111
- * it is simply handled by invalidating the existing rows, re-executed the query with
112
- * the new transformation, and advancing the CVR's `minorVersion` and this query's
113
- * `transformationVersion`.
114
- *
115
- * Note that the transformationHash is only stored when the query has reached the "gotten"
116
- * state. If the query is in the "desired" but not yet "gotten" state, the field is absent.
117
- */
118
- transformationHash: v.string().optional(),
119
- /**
120
- * The CVR version corresponding to the `transformationHash`. This essentially tracks when
121
- * this version of the query was effectively added to the CVR (as opposed to the
122
- * `patchVersion`, which is simply when the client was notified that its query was added
123
- * to the gotten set). Catchup of clients from old CVR versions require executing all
124
- * queries with a newer `transformationVersion`.
125
- */
126
- transformationVersion: cvrVersionSchema.optional(),
80
+ const baseQueryRecordSchema = object({
81
+ /** The client-specified ID used to identify this query. Typically a hash. */
82
+ id: string(),
83
+ /**
84
+ * The hash of the query after server-side transformations, which include:
85
+ *
86
+ * * Normalization (which may differ from what the client does)
87
+ * * Query "expansion" to include primary keys and query-execution-related columns
88
+ * * Authorization transforms
89
+ *
90
+ * Transformations depend on conditions that are independent of the db state version,
91
+ * such as server-side logic and authorization policies. As such, the version of a CVR
92
+ * version may need to be advanced independent of db state changes. This is done
93
+ * via the `minorVersion` counter of the CVRVersion object, which is used to account
94
+ * for both changes to the query set and changes to query transformations (which are
95
+ * effectively remove-old-query + add-new-query).
96
+ *
97
+ * Note that the transformed AST itself is **not** stored, as the result of the previous
98
+ * transformation is not useful in and of itself. If the current transformation results in
99
+ * a different hash than that of the transformation used for the last version of the CVR,
100
+ * it is simply handled by invalidating the existing rows, re-executed the query with
101
+ * the new transformation, and advancing the CVR's `minorVersion` and this query's
102
+ * `transformationVersion`.
103
+ *
104
+ * Note that the transformationHash is only stored when the query has reached the "gotten"
105
+ * state. If the query is in the "desired" but not yet "gotten" state, the field is absent.
106
+ */
107
+ transformationHash: string().optional(),
108
+ /**
109
+ * The CVR version corresponding to the `transformationHash`. This essentially tracks when
110
+ * this version of the query was effectively added to the CVR (as opposed to the
111
+ * `patchVersion`, which is simply when the client was notified that its query was added
112
+ * to the gotten set). Catchup of clients from old CVR versions require executing all
113
+ * queries with a newer `transformationVersion`.
114
+ */
115
+ transformationVersion: cvrVersionSchema.optional()
127
116
  });
128
- /**
129
- * Internal queries track rows in the database for internal use, such as the
130
- * `lastMutationID`s in the `zero.clients` table. They participate in the standard
131
- * invalidation / update logic for row contents, but not in the desired/got or
132
- * size-based quota logic for client-requested queries.
133
- */
134
- export const internalQueryRecordSchema = baseQueryRecordSchema.extend({
135
- type: v.literal('internal'),
136
- ast: astSchema,
117
+ const internalQueryRecordSchema = baseQueryRecordSchema.extend({
118
+ type: literal("internal"),
119
+ ast: astSchema
137
120
  });
138
- const clientStateSchema = v.object({
139
- /**
140
- * The time at which the query was last inactivated. If this undefined or
141
- * missing then the query is active.
142
- *
143
- * Desired queries are always active and have an undefined inactivatedAt.
144
- */
145
- inactivatedAt: ttlClockSchema.optional(),
146
- /**
147
- * TTL, time to live in milliseconds. If the query is not updated within this
148
- * time. The time to live is the time after it has become inactive. Negative
149
- * values are treated as `'forever'`.
150
- *
151
- * We do clamp this to a maximum of 10 minutes, so that queries do not
152
- * live for a very long time in the CVR.
153
- */
154
- ttl: v.number(),
155
- /**
156
- * The version at which the client state changed (i.e. individual `patchVersion`s).
157
- */
158
- version: cvrVersionSchema,
121
+ const clientStateSchema = object({
122
+ /**
123
+ * The time at which the query was last inactivated. If this undefined or
124
+ * missing then the query is active.
125
+ *
126
+ * Desired queries are always active and have an undefined inactivatedAt.
127
+ */
128
+ inactivatedAt: ttlClockSchema.optional(),
129
+ /**
130
+ * TTL, time to live in milliseconds. If the query is not updated within this
131
+ * time. The time to live is the time after it has become inactive. Negative
132
+ * values are treated as `'forever'`.
133
+ *
134
+ * We do clamp this to a maximum of 10 minutes, so that queries do not
135
+ * live for a very long time in the CVR.
136
+ */
137
+ ttl: number(),
138
+ /**
139
+ * The version at which the client state changed (i.e. individual `patchVersion`s).
140
+ */
141
+ version: cvrVersionSchema
159
142
  });
160
143
  const externalQueryRecordSchema = baseQueryRecordSchema.extend({
161
- /**
162
- * The client state for this query, which includes the inactivatedAt, ttl and
163
- * version. The client state is stored in a record with the client ID as the
164
- * key.
165
- */
166
- clientState: v.record(clientStateSchema),
167
- // For queries, the `patchVersion` indicates when query was added to the got set,
168
- // and is absent if not yet gotten.
169
- patchVersion: cvrVersionSchema.optional(),
144
+ /**
145
+ * The client state for this query, which includes the inactivatedAt, ttl and
146
+ * version. The client state is stored in a record with the client ID as the
147
+ * key.
148
+ */
149
+ clientState: record(clientStateSchema),
150
+ // For queries, the `patchVersion` indicates when query was added to the got set,
151
+ // and is absent if not yet gotten.
152
+ patchVersion: cvrVersionSchema.optional()
170
153
  });
171
- export const clientQueryRecordSchema = externalQueryRecordSchema.extend({
172
- type: v.literal('client'),
173
- /** The original AST as supplied by the client. */
174
- ast: astSchema,
154
+ const clientQueryRecordSchema = externalQueryRecordSchema.extend({
155
+ type: literal("client"),
156
+ /** The original AST as supplied by the client. */
157
+ ast: astSchema
175
158
  });
176
- export const customQueryRecordSchema = externalQueryRecordSchema.extend({
177
- type: v.literal('custom'),
178
- name: v.string(),
179
- args: v.readonly(v.array(jsonSchema)),
159
+ const customQueryRecordSchema = externalQueryRecordSchema.extend({
160
+ type: literal("custom"),
161
+ name: string(),
162
+ args: readonly(array(jsonSchema))
180
163
  });
181
- export const queryRecordSchema = v.union(clientQueryRecordSchema, customQueryRecordSchema, internalQueryRecordSchema);
182
- export const rowIDSchema = v.object({
183
- schema: v.string(),
184
- table: v.string(),
185
- rowKey: v.record(jsonValueSchema),
164
+ union(
165
+ clientQueryRecordSchema,
166
+ customQueryRecordSchema,
167
+ internalQueryRecordSchema
168
+ );
169
+ const rowIDSchema = object({
170
+ schema: string(),
171
+ table: string(),
172
+ rowKey: record(jsonValueSchema)
186
173
  });
187
- export const rowRecordSchema = cvrRecordSchema.extend({
188
- id: rowIDSchema,
189
- rowVersion: v.string(), // '_0_version' of the row
190
- // query hashes => refCount, or `null` for a row that was removed from the
191
- // view (i.e. tombstone).
192
- refCounts: v.record(v.number()).nullable(),
174
+ cvrRecordSchema.extend({
175
+ id: rowIDSchema,
176
+ rowVersion: string(),
177
+ // '_0_version' of the row
178
+ // query hashes => refCount, or `null` for a row that was removed from the
179
+ // view (i.e. tombstone).
180
+ refCounts: record(number()).nullable()
193
181
  });
194
- export const patchSchema = v.object({
195
- type: v.literalUnion('row', 'query'),
196
- op: v.literalUnion('put', 'del'),
182
+ const patchSchema = object({
183
+ type: literalUnion("row", "query"),
184
+ op: literalUnion("put", "del")
197
185
  });
198
- export const putRowPatchSchema = patchSchema.extend({
199
- type: v.literal('row'),
200
- op: v.literal('put'),
201
- id: rowIDSchema,
202
- rowVersion: v.string(), // '_0_version' of the row
186
+ const putRowPatchSchema = patchSchema.extend({
187
+ type: literal("row"),
188
+ op: literal("put"),
189
+ id: rowIDSchema,
190
+ rowVersion: string()
191
+ // '_0_version' of the row
203
192
  });
204
- export const delRowPatchSchema = patchSchema.extend({
205
- type: v.literal('row'),
206
- op: v.literal('del'),
207
- id: rowIDSchema,
193
+ const delRowPatchSchema = patchSchema.extend({
194
+ type: literal("row"),
195
+ op: literal("del"),
196
+ id: rowIDSchema
208
197
  });
209
- export const rowPatchSchema = v.union(putRowPatchSchema, delRowPatchSchema);
210
- export const queryPatchSchema = patchSchema.extend({
211
- type: v.literal('query'),
212
- id: v.string(),
213
- clientID: v.string().optional(), // defined for "desired", undefined for "got"
198
+ union(putRowPatchSchema, delRowPatchSchema);
199
+ patchSchema.extend({
200
+ type: literal("query"),
201
+ id: string(),
202
+ clientID: string().optional()
203
+ // defined for "desired", undefined for "got"
214
204
  });
215
- export const metadataPatchSchema = queryPatchSchema;
216
- export function versionString(v) {
217
- // The separator (e.g. ":") needs to be lexicographically greater than the
218
- // storage key path separator (e.g. "/") so that "01/row-hash" is less than "01:01/row-hash".
219
- // In particular, the traditional separator for major.minor versions (".") does not
220
- // satisfy this quality.
221
- return v.minorVersion
222
- ? `${v.stateVersion}:${versionToLexi(v.minorVersion)}`
223
- : v.stateVersion;
205
+ function versionString(v2) {
206
+ return v2.minorVersion ? `${v2.stateVersion}:${versionToLexi(v2.minorVersion)}` : v2.stateVersion;
224
207
  }
225
- export function versionFromString(str) {
226
- const parts = str.split(':');
227
- const stateVersion = parts[0];
228
- switch (parts.length) {
229
- case 1: {
230
- versionFromLexi(stateVersion); // Purely for validation.
231
- return { stateVersion };
232
- }
233
- case 2: {
234
- const minorVersion = versionFromLexi(parts[1]);
235
- if (minorVersion > BigInt(Number.MAX_SAFE_INTEGER)) {
236
- throw new Error(`minorVersion ${parts[1]} exceeds max safe integer`);
237
- }
238
- return { stateVersion, minorVersion: Number(minorVersion) };
239
- }
240
- default:
241
- throw new TypeError(`Invalid version string ${str}`);
208
+ function versionFromString(str) {
209
+ const parts = str.split(":");
210
+ const stateVersion = parts[0];
211
+ switch (parts.length) {
212
+ case 1: {
213
+ versionFromLexi(stateVersion);
214
+ return { stateVersion };
242
215
  }
243
- }
244
- export function queryRecordToQueryRow(clientGroupID, query) {
245
- switch (query.type) {
246
- case 'internal':
247
- return {
248
- clientGroupID,
249
- queryHash: query.id,
250
- clientAST: query.ast,
251
- queryName: null,
252
- queryArgs: null,
253
- patchVersion: null,
254
- transformationHash: query.transformationHash ?? null,
255
- transformationVersion: maybeVersionString(query.transformationVersion),
256
- internal: true,
257
- deleted: false, // put vs del "got" query
258
- };
259
- case 'client':
260
- return {
261
- clientGroupID,
262
- queryHash: query.id,
263
- clientAST: query.ast,
264
- queryName: null,
265
- queryArgs: null,
266
- patchVersion: maybeVersionString(query.patchVersion),
267
- transformationHash: query.transformationHash ?? null,
268
- transformationVersion: maybeVersionString(query.transformationVersion),
269
- internal: null,
270
- deleted: false, // put vs del "got" query
271
- };
272
- case 'custom':
273
- return {
274
- clientGroupID,
275
- queryHash: query.id,
276
- clientAST: null,
277
- queryName: query.name,
278
- queryArgs: query.args,
279
- patchVersion: maybeVersionString(query.patchVersion),
280
- transformationHash: query.transformationHash ?? null,
281
- transformationVersion: maybeVersionString(query.transformationVersion),
282
- internal: null,
283
- deleted: false, // put vs del "got" query
284
- };
216
+ case 2: {
217
+ const minorVersion = versionFromLexi(parts[1]);
218
+ if (minorVersion > BigInt(Number.MAX_SAFE_INTEGER)) {
219
+ throw new Error(`minorVersion ${parts[1]} exceeds max safe integer`);
220
+ }
221
+ return { stateVersion, minorVersion: Number(minorVersion) };
285
222
  }
223
+ default:
224
+ throw new TypeError(`Invalid version string ${str}`);
225
+ }
286
226
  }
287
- export const maybeVersionString = (v) => v ? versionString(v) : null;
288
- //# sourceMappingURL=types.js.map
227
+ function queryRecordToQueryRow(clientGroupID, query) {
228
+ switch (query.type) {
229
+ case "internal":
230
+ return {
231
+ clientGroupID,
232
+ queryHash: query.id,
233
+ clientAST: query.ast,
234
+ queryName: null,
235
+ queryArgs: null,
236
+ patchVersion: null,
237
+ transformationHash: query.transformationHash ?? null,
238
+ transformationVersion: maybeVersionString(query.transformationVersion),
239
+ internal: true,
240
+ deleted: false
241
+ // put vs del "got" query
242
+ };
243
+ case "client":
244
+ return {
245
+ clientGroupID,
246
+ queryHash: query.id,
247
+ clientAST: query.ast,
248
+ queryName: null,
249
+ queryArgs: null,
250
+ patchVersion: maybeVersionString(query.patchVersion),
251
+ transformationHash: query.transformationHash ?? null,
252
+ transformationVersion: maybeVersionString(query.transformationVersion),
253
+ internal: null,
254
+ deleted: false
255
+ // put vs del "got" query
256
+ };
257
+ case "custom":
258
+ return {
259
+ clientGroupID,
260
+ queryHash: query.id,
261
+ clientAST: null,
262
+ queryName: query.name,
263
+ queryArgs: query.args,
264
+ patchVersion: maybeVersionString(query.patchVersion),
265
+ transformationHash: query.transformationHash ?? null,
266
+ transformationVersion: maybeVersionString(query.transformationVersion),
267
+ internal: null,
268
+ deleted: false
269
+ // put vs del "got" query
270
+ };
271
+ }
272
+ }
273
+ const maybeVersionString = (v2) => v2 ? versionString(v2) : null;
274
+ export {
275
+ EMPTY_CVR_VERSION,
276
+ baseQueryRecordSchema,
277
+ clientQueryRecordSchema,
278
+ cmpVersions,
279
+ cookieToVersion,
280
+ customQueryRecordSchema,
281
+ cvrVersionSchema,
282
+ delRowPatchSchema,
283
+ internalQueryRecordSchema,
284
+ maxVersion,
285
+ maybeVersionString,
286
+ oneAfter,
287
+ patchSchema,
288
+ putRowPatchSchema,
289
+ queryRecordToQueryRow,
290
+ rowIDSchema,
291
+ versionFromString,
292
+ versionString,
293
+ versionToCookie,
294
+ versionToNullableCookie
295
+ };
296
+ //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../../zero-cache/src/services/view-syncer/schema/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.js","sources":["../../../../../../../zero-cache/src/services/view-syncer/schema/types.ts"],"sourcesContent":["import {jsonValueSchema} from '../../../../../shared/src/bigint-json.ts';\nimport {jsonSchema} from '../../../../../shared/src/json-schema.ts';\nimport * as v from '../../../../../shared/src/valita.ts';\nimport {astSchema} from '../../../../../zero-protocol/src/ast.ts';\nimport {versionFromLexi, versionToLexi} from '../../../types/lexi-version.ts';\nimport {ttlClockSchema} from '../ttl-clock.ts';\nimport type {QueriesRow} from './cvr.ts';\n\nexport const cvrVersionSchema = v.object({\n /**\n * The database `stateVersion` with which the rows in the CVR are consistent.\n */\n stateVersion: v.string(), // LexiVersion\n\n /**\n * `minorVersion` is subversion of `stateVersion` that is initially absent for each\n * `stateVersion`, and incremented for configuration changes that affect the contents\n * of the CVR such as:\n *\n * * query set changes\n * * query transformation changes (which may happen for changes\n * in server-side logic or authorization policies)\n *\n * Such configuration changes are always correlated with a change to one or more\n * `/meta/...` records in the CVR, often (but not always) with corresponding\n * patches in `/patches/meta/...`.\n *\n * When the `stateVersion` moves forward, the `minorVersion` is reset to absent.\n * In this manner it behaves like the analogous concept in semantic versioning.\n */\n minorVersion: v.number().optional(),\n});\n\nexport type CVRVersion = v.Infer<typeof cvrVersionSchema>;\n\nexport const EMPTY_CVR_VERSION: CVRVersion = {\n stateVersion: versionToLexi(0),\n} as const;\n\nexport function oneAfter(v: NullableCVRVersion): CVRVersion {\n return v === null\n ? {stateVersion: versionToLexi(0)}\n : {\n stateVersion: v.stateVersion,\n minorVersion: (v.minorVersion ?? 0) + 1,\n };\n}\n\nexport type NullableCVRVersion = CVRVersion | null;\n\nexport function cmpVersions(\n a: NullableCVRVersion,\n b: NullableCVRVersion,\n): number {\n return a === null && b === null\n ? 0\n : a === null\n ? -1\n : b === null\n ? 1\n : a.stateVersion < b.stateVersion\n ? -1\n : a.stateVersion > b.stateVersion\n ? 1\n : (a.minorVersion ?? 0) - (b.minorVersion ?? 0);\n}\n\nexport function maxVersion(a: CVRVersion, b?: CVRVersion): CVRVersion {\n return !b ? a : cmpVersions(b, a) > 0 ? b : a;\n}\n\nexport function versionToCookie(v: CVRVersion): string {\n return versionString(v);\n}\n\nexport function versionToNullableCookie(v: NullableCVRVersion): string | null {\n return v === null ? null : versionToCookie(v);\n}\n\nexport function cookieToVersion(cookie: string | null): NullableCVRVersion {\n if (cookie === null) {\n return null;\n }\n return versionFromString(cookie);\n}\n\n// Last Active tracking.\n\nexport const cvrIDSchema = v.object({id: v.string()});\nexport type CvrID = v.Infer<typeof cvrIDSchema>;\n\nconst cvrRecordSchema = v.object({\n /**\n * CVR records store the CVRVersion at which the record was last patched into\n * the CVR, which corresponds with a patch row that is cleaned up when the\n * record is changed (updated, deleted, and re-added in the case of rows).\n *\n * Tombstones are stored for row records but not for config records. This means\n * that \"orphaned\" delete patches for config records may exist, and therefore\n * scans of config patches must always run until the end of the list. On the\n * contrary, for row patches, the row record tombstones allow cleanup of delete\n * patches.\n */\n patchVersion: cvrVersionSchema,\n});\n\nexport const clientRecordSchema = v.object({\n /** The client ID, of which there can be multiple for a client group view. */\n id: v.string(),\n\n /** The client's desired query IDs. Patch information is stored in the QueryRecord. */\n desiredQueryIDs: v.array(v.string()),\n});\n\nexport type ClientRecord = v.Infer<typeof clientRecordSchema>;\n\nexport const baseQueryRecordSchema = v.object({\n /** The client-specified ID used to identify this query. Typically a hash. */\n id: v.string(),\n\n /**\n * The hash of the query after server-side transformations, which include:\n *\n * * Normalization (which may differ from what the client does)\n * * Query \"expansion\" to include primary keys and query-execution-related columns\n * * Authorization transforms\n *\n * Transformations depend on conditions that are independent of the db state version,\n * such as server-side logic and authorization policies. As such, the version of a CVR\n * version may need to be advanced independent of db state changes. This is done\n * via the `minorVersion` counter of the CVRVersion object, which is used to account\n * for both changes to the query set and changes to query transformations (which are\n * effectively remove-old-query + add-new-query).\n *\n * Note that the transformed AST itself is **not** stored, as the result of the previous\n * transformation is not useful in and of itself. If the current transformation results in\n * a different hash than that of the transformation used for the last version of the CVR,\n * it is simply handled by invalidating the existing rows, re-executed the query with\n * the new transformation, and advancing the CVR's `minorVersion` and this query's\n * `transformationVersion`.\n *\n * Note that the transformationHash is only stored when the query has reached the \"gotten\"\n * state. If the query is in the \"desired\" but not yet \"gotten\" state, the field is absent.\n */\n transformationHash: v.string().optional(),\n\n /**\n * The CVR version corresponding to the `transformationHash`. This essentially tracks when\n * this version of the query was effectively added to the CVR (as opposed to the\n * `patchVersion`, which is simply when the client was notified that its query was added\n * to the gotten set). Catchup of clients from old CVR versions require executing all\n * queries with a newer `transformationVersion`.\n */\n transformationVersion: cvrVersionSchema.optional(),\n});\n\n/**\n * Internal queries track rows in the database for internal use, such as the\n * `lastMutationID`s in the `zero.clients` table. They participate in the standard\n * invalidation / update logic for row contents, but not in the desired/got or\n * size-based quota logic for client-requested queries.\n */\nexport const internalQueryRecordSchema = baseQueryRecordSchema.extend({\n type: v.literal('internal'),\n ast: astSchema,\n});\n\nexport type InternalQueryRecord = v.Infer<typeof internalQueryRecordSchema>;\n\nconst clientStateSchema = v.object({\n /**\n * The time at which the query was last inactivated. If this undefined or\n * missing then the query is active.\n *\n * Desired queries are always active and have an undefined inactivatedAt.\n */\n inactivatedAt: ttlClockSchema.optional(),\n\n /**\n * TTL, time to live in milliseconds. If the query is not updated within this\n * time. The time to live is the time after it has become inactive. Negative\n * values are treated as `'forever'`.\n *\n * We do clamp this to a maximum of 10 minutes, so that queries do not\n * live for a very long time in the CVR.\n */\n ttl: v.number(),\n\n /**\n * The version at which the client state changed (i.e. individual `patchVersion`s).\n */\n version: cvrVersionSchema,\n});\n\nconst externalQueryRecordSchema = baseQueryRecordSchema.extend({\n /**\n * The client state for this query, which includes the inactivatedAt, ttl and\n * version. The client state is stored in a record with the client ID as the\n * key.\n */\n clientState: v.record(clientStateSchema),\n\n // For queries, the `patchVersion` indicates when query was added to the got set,\n // and is absent if not yet gotten.\n patchVersion: cvrVersionSchema.optional(),\n});\n\nexport const clientQueryRecordSchema = externalQueryRecordSchema.extend({\n type: v.literal('client'),\n\n /** The original AST as supplied by the client. */\n ast: astSchema,\n});\n\nexport type ClientQueryRecord = v.Infer<typeof clientQueryRecordSchema>;\n\nexport const customQueryRecordSchema = externalQueryRecordSchema.extend({\n type: v.literal('custom'),\n name: v.string(),\n args: v.readonly(v.array(jsonSchema)),\n});\n\nexport type CustomQueryRecord = v.Infer<typeof customQueryRecordSchema>;\n\nexport const queryRecordSchema = v.union(\n clientQueryRecordSchema,\n customQueryRecordSchema,\n internalQueryRecordSchema,\n);\n\nexport type QueryRecord = v.Infer<typeof queryRecordSchema>;\n\nexport const rowIDSchema = v.object({\n schema: v.string(),\n table: v.string(),\n rowKey: v.record(jsonValueSchema),\n});\n\nexport type RowID = v.Infer<typeof rowIDSchema>;\n\nexport const rowRecordSchema = cvrRecordSchema.extend({\n id: rowIDSchema,\n rowVersion: v.string(), // '_0_version' of the row\n // query hashes => refCount, or `null` for a row that was removed from the\n // view (i.e. tombstone).\n refCounts: v.record(v.number()).nullable(),\n});\n\nexport type RowRecord = v.Infer<typeof rowRecordSchema>;\n\nexport const patchSchema = v.object({\n type: v.literalUnion('row', 'query'),\n op: v.literalUnion('put', 'del'),\n});\n\nexport const putRowPatchSchema = patchSchema.extend({\n type: v.literal('row'),\n op: v.literal('put'),\n id: rowIDSchema,\n rowVersion: v.string(), // '_0_version' of the row\n});\n\nexport type PutRowPatch = v.Infer<typeof putRowPatchSchema>;\n\nexport const delRowPatchSchema = patchSchema.extend({\n type: v.literal('row'),\n op: v.literal('del'),\n id: rowIDSchema,\n});\n\nexport type DelRowPatch = v.Infer<typeof delRowPatchSchema>;\n\nexport const rowPatchSchema = v.union(putRowPatchSchema, delRowPatchSchema);\n\nexport type RowPatch = v.Infer<typeof rowPatchSchema>;\n\nexport const queryPatchSchema = patchSchema.extend({\n type: v.literal('query'),\n id: v.string(),\n clientID: v.string().optional(), // defined for \"desired\", undefined for \"got\"\n});\n\nexport type QueryPatch = v.Infer<typeof queryPatchSchema>;\n\nexport type PutQueryPatch = QueryPatch & {op: 'put'};\nexport type DelQueryPatch = QueryPatch & {op: 'del'};\n\nexport const metadataPatchSchema = queryPatchSchema;\n\nexport type MetadataPatch = v.Infer<typeof metadataPatchSchema>;\n\nexport function versionString(v: CVRVersion) {\n // The separator (e.g. \":\") needs to be lexicographically greater than the\n // storage key path separator (e.g. \"/\") so that \"01/row-hash\" is less than \"01:01/row-hash\".\n // In particular, the traditional separator for major.minor versions (\".\") does not\n // satisfy this quality.\n return v.minorVersion\n ? `${v.stateVersion}:${versionToLexi(v.minorVersion)}`\n : v.stateVersion;\n}\n\nexport function versionFromString(str: string): CVRVersion {\n const parts = str.split(':');\n const stateVersion = parts[0];\n switch (parts.length) {\n case 1: {\n versionFromLexi(stateVersion); // Purely for validation.\n return {stateVersion};\n }\n case 2: {\n const minorVersion = versionFromLexi(parts[1]);\n if (minorVersion > BigInt(Number.MAX_SAFE_INTEGER)) {\n throw new Error(`minorVersion ${parts[1]} exceeds max safe integer`);\n }\n return {stateVersion, minorVersion: Number(minorVersion)};\n }\n default:\n throw new TypeError(`Invalid version string ${str}`);\n }\n}\n\nexport function queryRecordToQueryRow(\n clientGroupID: string,\n query: QueryRecord,\n): QueriesRow {\n switch (query.type) {\n case 'internal':\n return {\n clientGroupID,\n queryHash: query.id,\n clientAST: query.ast,\n queryName: null,\n queryArgs: null,\n patchVersion: null,\n transformationHash: query.transformationHash ?? null,\n transformationVersion: maybeVersionString(query.transformationVersion),\n internal: true,\n deleted: false, // put vs del \"got\" query\n };\n case 'client':\n return {\n clientGroupID,\n queryHash: query.id,\n clientAST: query.ast,\n queryName: null,\n queryArgs: null,\n patchVersion: maybeVersionString(query.patchVersion),\n transformationHash: query.transformationHash ?? null,\n transformationVersion: maybeVersionString(query.transformationVersion),\n internal: null,\n deleted: false, // put vs del \"got\" query\n };\n case 'custom':\n return {\n clientGroupID,\n queryHash: query.id,\n clientAST: null,\n queryName: query.name,\n queryArgs: query.args,\n patchVersion: maybeVersionString(query.patchVersion),\n transformationHash: query.transformationHash ?? null,\n transformationVersion: maybeVersionString(query.transformationVersion),\n internal: null,\n deleted: false, // put vs del \"got\" query\n };\n }\n}\n\nexport const maybeVersionString = (v: CVRVersion | undefined) =>\n v ? versionString(v) : null;\n"],"names":["v.object","v.string","v.number","v","v.array","v.literal","v.record","v.readonly","v.union","v.literalUnion"],"mappings":"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"}