@rocicorp/zero 0.25.0-canary.0 → 0.25.0-canary.10

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 (1553) 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 +79 -73
  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 +3 -2
  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.d.ts +1 -1
  143. package/out/replicache/src/log-options.d.ts.map +1 -1
  144. package/out/replicache/src/log-options.js +9 -0
  145. package/out/replicache/src/log-options.js.map +1 -0
  146. package/out/replicache/src/make-idb-name.js +13 -0
  147. package/out/replicache/src/make-idb-name.js.map +1 -0
  148. package/out/replicache/src/new-client-channel.js +51 -0
  149. package/out/replicache/src/new-client-channel.js.map +1 -0
  150. package/out/replicache/src/on-persist-channel.js +36 -0
  151. package/out/replicache/src/on-persist-channel.js.map +1 -0
  152. package/out/replicache/src/patch-operation.js +42 -0
  153. package/out/replicache/src/patch-operation.js.map +1 -0
  154. package/out/replicache/src/pending-mutations.js +16 -0
  155. package/out/replicache/src/pending-mutations.js.map +1 -0
  156. package/out/replicache/src/persist/client-gc.js +58 -0
  157. package/out/replicache/src/persist/client-gc.js.map +1 -0
  158. package/out/replicache/src/persist/client-group-gc.js +43 -0
  159. package/out/replicache/src/persist/client-group-gc.js.map +1 -0
  160. package/out/replicache/src/persist/client-groups.js +184 -0
  161. package/out/replicache/src/persist/client-groups.js.map +1 -0
  162. package/out/replicache/src/persist/clients.d.ts +3 -2
  163. package/out/replicache/src/persist/clients.d.ts.map +1 -1
  164. package/out/replicache/src/persist/clients.js +353 -0
  165. package/out/replicache/src/persist/clients.js.map +1 -0
  166. package/out/replicache/src/persist/collect-idb-databases.d.ts +3 -3
  167. package/out/replicache/src/persist/collect-idb-databases.d.ts.map +1 -1
  168. package/out/replicache/src/persist/collect-idb-databases.js +188 -0
  169. package/out/replicache/src/persist/collect-idb-databases.js.map +1 -0
  170. package/out/replicache/src/persist/gather-mem-only-visitor.js +27 -0
  171. package/out/replicache/src/persist/gather-mem-only-visitor.js.map +1 -0
  172. package/out/replicache/src/persist/gather-not-cached-visitor.js +37 -0
  173. package/out/replicache/src/persist/gather-not-cached-visitor.js.map +1 -0
  174. package/out/replicache/src/persist/heartbeat.js +48 -0
  175. package/out/replicache/src/persist/heartbeat.js.map +1 -0
  176. package/out/replicache/src/persist/idb-databases-store-db-name.js +14 -0
  177. package/out/replicache/src/persist/idb-databases-store-db-name.js.map +1 -0
  178. package/out/replicache/src/persist/idb-databases-store.js +92 -0
  179. package/out/replicache/src/persist/idb-databases-store.js.map +1 -0
  180. package/out/replicache/src/persist/make-client-id.js +12 -0
  181. package/out/replicache/src/persist/make-client-id.js.map +1 -0
  182. package/out/replicache/src/persist/persist.d.ts +2 -2
  183. package/out/replicache/src/persist/persist.d.ts.map +1 -1
  184. package/out/replicache/src/persist/persist.js +183 -0
  185. package/out/replicache/src/persist/persist.js.map +1 -0
  186. package/out/replicache/src/persist/refresh.d.ts +4 -3
  187. package/out/replicache/src/persist/refresh.d.ts.map +1 -1
  188. package/out/replicache/src/persist/refresh.js +198 -0
  189. package/out/replicache/src/persist/refresh.js.map +1 -0
  190. package/out/replicache/src/process-scheduler.js +96 -0
  191. package/out/replicache/src/process-scheduler.js.map +1 -0
  192. package/out/replicache/src/pusher.js +33 -0
  193. package/out/replicache/src/pusher.js.map +1 -0
  194. package/out/replicache/src/replicache-impl.d.ts +1 -1
  195. package/out/replicache/src/replicache-impl.d.ts.map +1 -1
  196. package/out/replicache/src/replicache-impl.js +1200 -0
  197. package/out/replicache/src/replicache-impl.js.map +1 -0
  198. package/out/replicache/src/replicache-options.d.ts +4 -3
  199. package/out/replicache/src/replicache-options.d.ts.map +1 -1
  200. package/out/replicache/src/report-error.js +6 -0
  201. package/out/replicache/src/report-error.js.map +1 -0
  202. package/out/replicache/src/request-idle.js +13 -0
  203. package/out/replicache/src/request-idle.js.map +1 -0
  204. package/out/replicache/src/scan-iterator.js +146 -0
  205. package/out/replicache/src/scan-iterator.js.map +1 -0
  206. package/out/replicache/src/scan-options.js +45 -0
  207. package/out/replicache/src/scan-options.js.map +1 -0
  208. package/out/replicache/src/set-interval-with-signal.js +12 -0
  209. package/out/replicache/src/set-interval-with-signal.js.map +1 -0
  210. package/out/replicache/src/subscriptions.js +355 -0
  211. package/out/replicache/src/subscriptions.js.map +1 -0
  212. package/out/replicache/src/sync/diff.d.ts +3 -2
  213. package/out/replicache/src/sync/diff.d.ts.map +1 -1
  214. package/out/replicache/src/sync/diff.js +72 -0
  215. package/out/replicache/src/sync/diff.js.map +1 -0
  216. package/out/replicache/src/sync/handle-pull-response-result-type-enum.js +9 -0
  217. package/out/replicache/src/sync/handle-pull-response-result-type-enum.js.map +1 -0
  218. package/out/replicache/src/sync/ids.js +9 -0
  219. package/out/replicache/src/sync/ids.js.map +1 -0
  220. package/out/replicache/src/sync/patch.js +49 -0
  221. package/out/replicache/src/sync/patch.js.map +1 -0
  222. package/out/replicache/src/sync/pull-error.js +16 -0
  223. package/out/replicache/src/sync/pull-error.js.map +1 -0
  224. package/out/replicache/src/sync/pull.d.ts +3 -2
  225. package/out/replicache/src/sync/pull.d.ts.map +1 -1
  226. package/out/replicache/src/sync/pull.js +301 -0
  227. package/out/replicache/src/sync/pull.js.map +1 -0
  228. package/out/replicache/src/sync/push.js +88 -0
  229. package/out/replicache/src/sync/push.js.map +1 -0
  230. package/out/replicache/src/sync/request-id.js +20 -0
  231. package/out/replicache/src/sync/request-id.js.map +1 -0
  232. package/out/replicache/src/sync/sync-head-name.js +5 -0
  233. package/out/replicache/src/sync/sync-head-name.js.map +1 -0
  234. package/out/replicache/src/to-error.js +10 -0
  235. package/out/replicache/src/to-error.js.map +1 -0
  236. package/out/replicache/src/transaction-closed-error.js +19 -0
  237. package/out/replicache/src/transaction-closed-error.js.map +1 -0
  238. package/out/replicache/src/transactions.js +152 -0
  239. package/out/replicache/src/transactions.js.map +1 -0
  240. package/out/replicache/src/version.js +5 -0
  241. package/out/replicache/src/version.js.map +1 -0
  242. package/out/replicache/src/with-transactions.js +28 -0
  243. package/out/replicache/src/with-transactions.js.map +1 -0
  244. package/out/shared/src/abort-error.js +6 -3
  245. package/out/shared/src/abort-error.js.map +1 -1
  246. package/out/shared/src/arrays.js +45 -43
  247. package/out/shared/src/arrays.js.map +1 -1
  248. package/out/shared/src/asserts.js +64 -68
  249. package/out/shared/src/asserts.js.map +1 -1
  250. package/out/shared/src/bigint-json.js +38 -42
  251. package/out/shared/src/bigint-json.js.map +1 -1
  252. package/out/shared/src/binary-search.js +18 -29
  253. package/out/shared/src/binary-search.js.map +1 -1
  254. package/out/shared/src/broadcast-channel.js +24 -0
  255. package/out/shared/src/broadcast-channel.js.map +1 -0
  256. package/out/shared/src/browser-env.js +25 -0
  257. package/out/shared/src/browser-env.js.map +1 -0
  258. package/out/shared/src/btree-set.js +464 -507
  259. package/out/shared/src/btree-set.js.map +1 -1
  260. package/out/shared/src/cache.js +34 -38
  261. package/out/shared/src/cache.js.map +1 -1
  262. package/out/shared/src/centroid.js +24 -24
  263. package/out/shared/src/centroid.js.map +1 -1
  264. package/out/shared/src/config.js +6 -3
  265. package/out/shared/src/config.js.map +1 -1
  266. package/out/shared/src/custom-key-map.js +58 -64
  267. package/out/shared/src/custom-key-map.js.map +1 -1
  268. package/out/shared/src/custom-key-set.js +51 -57
  269. package/out/shared/src/custom-key-set.js.map +1 -1
  270. package/out/shared/src/deep-clone.js +46 -0
  271. package/out/shared/src/deep-clone.js.map +1 -0
  272. package/out/shared/src/deep-merge.d.ts +24 -4
  273. package/out/shared/src/deep-merge.d.ts.map +1 -1
  274. package/out/shared/src/deep-merge.js +27 -0
  275. package/out/shared/src/deep-merge.js.map +1 -0
  276. package/out/shared/src/document-visible.js +74 -0
  277. package/out/shared/src/document-visible.js.map +1 -0
  278. package/out/shared/src/dotenv.js +5 -7
  279. package/out/shared/src/dotenv.js.map +1 -1
  280. package/out/shared/src/error.d.ts +4 -0
  281. package/out/shared/src/error.d.ts.map +1 -0
  282. package/out/shared/src/error.js +71 -0
  283. package/out/shared/src/error.js.map +1 -0
  284. package/out/shared/src/has-own.js +5 -3
  285. package/out/shared/src/has-own.js.map +1 -1
  286. package/out/shared/src/hash.js +15 -14
  287. package/out/shared/src/hash.js.map +1 -1
  288. package/out/shared/src/iterables.js +71 -73
  289. package/out/shared/src/iterables.js.map +1 -1
  290. package/out/shared/src/json-schema.js +30 -33
  291. package/out/shared/src/json-schema.js.map +1 -1
  292. package/out/shared/src/json.js +128 -143
  293. package/out/shared/src/json.js.map +1 -1
  294. package/out/shared/src/logging-test-utils.js +12 -19
  295. package/out/shared/src/logging-test-utils.js.map +1 -1
  296. package/out/shared/src/logging.d.ts.map +1 -1
  297. package/out/shared/src/logging.js +99 -83
  298. package/out/shared/src/logging.js.map +1 -1
  299. package/out/shared/src/must.js +9 -7
  300. package/out/shared/src/must.js.map +1 -1
  301. package/out/shared/src/navigator.js +5 -0
  302. package/out/shared/src/navigator.js.map +1 -0
  303. package/out/shared/src/object-traversal.d.ts +19 -0
  304. package/out/shared/src/object-traversal.d.ts.map +1 -0
  305. package/out/shared/src/object-traversal.js +27 -0
  306. package/out/shared/src/object-traversal.js.map +1 -0
  307. package/out/shared/src/objects.js +21 -22
  308. package/out/shared/src/objects.js.map +1 -1
  309. package/out/shared/src/options.d.ts +3 -1
  310. package/out/shared/src/options.d.ts.map +1 -1
  311. package/out/shared/src/options.js +289 -318
  312. package/out/shared/src/options.js.map +1 -1
  313. package/out/shared/src/parse-big-int.js +12 -10
  314. package/out/shared/src/parse-big-int.js.map +1 -1
  315. package/out/shared/src/promise-race.d.ts +17 -0
  316. package/out/shared/src/promise-race.d.ts.map +1 -0
  317. package/out/shared/src/promise-race.js +20 -0
  318. package/out/shared/src/promise-race.js.map +1 -0
  319. package/out/shared/src/queue.js +119 -122
  320. package/out/shared/src/queue.js.map +1 -1
  321. package/out/shared/src/rand.js +8 -10
  322. package/out/shared/src/rand.js.map +1 -1
  323. package/out/shared/src/random-uint64.js +9 -0
  324. package/out/shared/src/random-uint64.js.map +1 -0
  325. package/out/shared/src/random-values.js +13 -0
  326. package/out/shared/src/random-values.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 +3 -3
  348. package/out/z2s/src/compiler.d.ts.map +1 -1
  349. package/out/z2s/src/compiler.js +438 -311
  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.js +5 -2
  358. package/out/zero/src/adapters/drizzle.js.map +1 -1
  359. package/out/zero/src/adapters/pg.js +7 -2
  360. package/out/zero/src/adapters/pg.js.map +1 -1
  361. package/out/zero/src/adapters/postgresjs.js +7 -2
  362. package/out/zero/src/adapters/postgresjs.js.map +1 -1
  363. package/out/zero/src/analyze-query.js +1 -1
  364. package/out/zero/src/analyze-query.js.map +1 -1
  365. package/out/zero/src/ast-to-zql.js +1 -1
  366. package/out/zero/src/ast-to-zql.js.map +1 -1
  367. package/out/zero/src/build-schema.js +3 -5
  368. package/out/zero/src/build-schema.js.map +1 -1
  369. package/out/zero/src/change-protocol/v0.js +5 -3
  370. package/out/zero/src/change-protocol/v0.js.map +1 -1
  371. package/out/zero/src/cli.js +2 -2
  372. package/out/zero/src/cli.js.map +1 -1
  373. package/out/zero/src/deploy-permissions.js +1 -1
  374. package/out/zero/src/deploy-permissions.js.map +1 -1
  375. package/out/zero/src/expo-sqlite.js +5 -0
  376. package/out/zero/src/expo-sqlite.js.map +1 -0
  377. package/out/zero/src/op-sqlite.js +5 -0
  378. package/out/zero/src/op-sqlite.js.map +1 -0
  379. package/out/zero/src/pg.js +29 -3
  380. package/out/zero/src/pg.js.map +1 -1
  381. package/out/zero/src/react-native.js +13 -0
  382. package/out/zero/src/react-native.js.map +1 -0
  383. package/out/zero/src/react.js +17 -0
  384. package/out/zero/src/react.js.map +1 -0
  385. package/out/zero/src/server.js +25 -3
  386. package/out/zero/src/server.js.map +1 -1
  387. package/out/zero/src/solid.js +15 -0
  388. package/out/zero/src/solid.js.map +1 -0
  389. package/out/zero/src/sqlite.js +7 -0
  390. package/out/zero/src/sqlite.js.map +1 -0
  391. package/out/zero/src/transform-query.js +1 -1
  392. package/out/zero/src/transform-query.js.map +1 -1
  393. package/out/zero/src/zero-cache-dev.js +133 -105
  394. package/out/zero/src/zero-cache-dev.js.map +1 -1
  395. package/out/zero/src/zero-out.d.ts +3 -0
  396. package/out/zero/src/zero-out.d.ts.map +1 -0
  397. package/out/zero/src/zero-out.js +13 -0
  398. package/out/zero/src/zero-out.js.map +1 -0
  399. package/out/zero/src/zero.js +67 -0
  400. package/out/zero/src/zero.js.map +1 -0
  401. package/out/zero/src/zqlite.js +11 -3
  402. package/out/zero/src/zqlite.js.map +1 -1
  403. package/out/zero-cache/src/auth/jwt.d.ts +3 -0
  404. package/out/zero-cache/src/auth/jwt.d.ts.map +1 -1
  405. package/out/zero-cache/src/auth/jwt.js +33 -38
  406. package/out/zero-cache/src/auth/jwt.js.map +1 -1
  407. package/out/zero-cache/src/auth/load-permissions.d.ts +1 -1
  408. package/out/zero-cache/src/auth/load-permissions.d.ts.map +1 -1
  409. package/out/zero-cache/src/auth/load-permissions.js +61 -45
  410. package/out/zero-cache/src/auth/load-permissions.js.map +1 -1
  411. package/out/zero-cache/src/auth/read-authorizer.js +79 -91
  412. package/out/zero-cache/src/auth/read-authorizer.js.map +1 -1
  413. package/out/zero-cache/src/auth/write-authorizer.d.ts +4 -3
  414. package/out/zero-cache/src/auth/write-authorizer.d.ts.map +1 -1
  415. package/out/zero-cache/src/auth/write-authorizer.js +387 -328
  416. package/out/zero-cache/src/auth/write-authorizer.js.map +1 -1
  417. package/out/zero-cache/src/config/network.js +42 -45
  418. package/out/zero-cache/src/config/network.js.map +1 -1
  419. package/out/zero-cache/src/config/normalize.js +86 -83
  420. package/out/zero-cache/src/config/normalize.js.map +1 -1
  421. package/out/zero-cache/src/config/zero-config.d.ts +39 -0
  422. package/out/zero-cache/src/config/zero-config.d.ts.map +1 -1
  423. package/out/zero-cache/src/config/zero-config.js +704 -646
  424. package/out/zero-cache/src/config/zero-config.js.map +1 -1
  425. package/out/zero-cache/src/custom/fetch.d.ts +5 -3
  426. package/out/zero-cache/src/custom/fetch.d.ts.map +1 -1
  427. package/out/zero-cache/src/custom/fetch.js +171 -86
  428. package/out/zero-cache/src/custom/fetch.js.map +1 -1
  429. package/out/zero-cache/src/custom-queries/transform-query.d.ts +11 -8
  430. package/out/zero-cache/src/custom-queries/transform-query.d.ts.map +1 -1
  431. package/out/zero-cache/src/custom-queries/transform-query.js +101 -108
  432. package/out/zero-cache/src/custom-queries/transform-query.js.map +1 -1
  433. package/out/zero-cache/src/db/create.d.ts +4 -0
  434. package/out/zero-cache/src/db/create.d.ts.map +1 -1
  435. package/out/zero-cache/src/db/create.js +33 -39
  436. package/out/zero-cache/src/db/create.js.map +1 -1
  437. package/out/zero-cache/src/db/delete-lite-db.js +9 -6
  438. package/out/zero-cache/src/db/delete-lite-db.js.map +1 -1
  439. package/out/zero-cache/src/db/lite-tables.d.ts.map +1 -1
  440. package/out/zero-cache/src/db/lite-tables.js +150 -174
  441. package/out/zero-cache/src/db/lite-tables.js.map +1 -1
  442. package/out/zero-cache/src/db/migration-lite.js +170 -165
  443. package/out/zero-cache/src/db/migration-lite.js.map +1 -1
  444. package/out/zero-cache/src/db/migration.js +157 -137
  445. package/out/zero-cache/src/db/migration.js.map +1 -1
  446. package/out/zero-cache/src/db/mode-enum.d.ts +2 -0
  447. package/out/zero-cache/src/db/mode-enum.d.ts.map +1 -1
  448. package/out/zero-cache/src/db/mode-enum.js +9 -3
  449. package/out/zero-cache/src/db/mode-enum.js.map +1 -1
  450. package/out/zero-cache/src/db/pg-copy.js +51 -90
  451. package/out/zero-cache/src/db/pg-copy.js.map +1 -1
  452. package/out/zero-cache/src/db/pg-to-lite.d.ts +10 -0
  453. package/out/zero-cache/src/db/pg-to-lite.d.ts.map +1 -1
  454. package/out/zero-cache/src/db/pg-to-lite.js +116 -96
  455. package/out/zero-cache/src/db/pg-to-lite.js.map +1 -1
  456. package/out/zero-cache/src/db/pg-type-parser.js +27 -39
  457. package/out/zero-cache/src/db/pg-type-parser.js.map +1 -1
  458. package/out/zero-cache/src/db/postgres-replica-identity-enum.js +11 -6
  459. package/out/zero-cache/src/db/postgres-replica-identity-enum.js.map +1 -1
  460. package/out/zero-cache/src/db/postgres-type-class-enum.js +17 -9
  461. package/out/zero-cache/src/db/postgres-type-class-enum.js.map +1 -1
  462. package/out/zero-cache/src/db/specs.d.ts +12 -18
  463. package/out/zero-cache/src/db/specs.d.ts.map +1 -1
  464. package/out/zero-cache/src/db/specs.js +66 -40
  465. package/out/zero-cache/src/db/specs.js.map +1 -1
  466. package/out/zero-cache/src/db/statements.d.ts +1 -1
  467. package/out/zero-cache/src/db/statements.d.ts.map +1 -1
  468. package/out/zero-cache/src/db/statements.js +59 -52
  469. package/out/zero-cache/src/db/statements.js.map +1 -1
  470. package/out/zero-cache/src/db/transaction-pool.d.ts +1 -1
  471. package/out/zero-cache/src/db/transaction-pool.d.ts.map +1 -1
  472. package/out/zero-cache/src/db/transaction-pool.js +375 -501
  473. package/out/zero-cache/src/db/transaction-pool.js.map +1 -1
  474. package/out/zero-cache/src/db/warmup.js +25 -12
  475. package/out/zero-cache/src/db/warmup.js.map +1 -1
  476. package/out/zero-cache/src/observability/events.js +71 -82
  477. package/out/zero-cache/src/observability/events.js.map +1 -1
  478. package/out/zero-cache/src/observability/metrics.js +54 -32
  479. package/out/zero-cache/src/observability/metrics.js.map +1 -1
  480. package/out/zero-cache/src/scripts/decommission.d.ts +50 -0
  481. package/out/zero-cache/src/scripts/decommission.d.ts.map +1 -0
  482. package/out/zero-cache/src/scripts/decommission.js +55 -0
  483. package/out/zero-cache/src/scripts/decommission.js.map +1 -0
  484. package/out/zero-cache/src/scripts/deploy-permissions.js +128 -118
  485. package/out/zero-cache/src/scripts/deploy-permissions.js.map +1 -1
  486. package/out/zero-cache/src/scripts/permissions.d.ts +1 -1
  487. package/out/zero-cache/src/scripts/permissions.d.ts.map +1 -1
  488. package/out/zero-cache/src/scripts/permissions.js +108 -100
  489. package/out/zero-cache/src/scripts/permissions.js.map +1 -1
  490. package/out/zero-cache/src/server/anonymous-otel-start.js +410 -366
  491. package/out/zero-cache/src/server/anonymous-otel-start.js.map +1 -1
  492. package/out/zero-cache/src/server/change-streamer.d.ts.map +1 -1
  493. package/out/zero-cache/src/server/change-streamer.js +105 -64
  494. package/out/zero-cache/src/server/change-streamer.js.map +1 -1
  495. package/out/zero-cache/src/server/inspector-delegate.d.ts.map +1 -1
  496. package/out/zero-cache/src/server/inspector-delegate.js +113 -105
  497. package/out/zero-cache/src/server/inspector-delegate.js.map +1 -1
  498. package/out/zero-cache/src/server/logging.d.ts +1 -1
  499. package/out/zero-cache/src/server/logging.d.ts.map +1 -1
  500. package/out/zero-cache/src/server/logging.js +26 -19
  501. package/out/zero-cache/src/server/logging.js.map +1 -1
  502. package/out/zero-cache/src/server/main.d.ts.map +1 -1
  503. package/out/zero-cache/src/server/main.js +137 -120
  504. package/out/zero-cache/src/server/main.js.map +1 -1
  505. package/out/zero-cache/src/server/mutator.js +19 -0
  506. package/out/zero-cache/src/server/mutator.js.map +1 -0
  507. package/out/zero-cache/src/server/otel-diag-logger.d.ts +1 -1
  508. package/out/zero-cache/src/server/otel-diag-logger.d.ts.map +1 -1
  509. package/out/zero-cache/src/server/otel-diag-logger.js +67 -70
  510. package/out/zero-cache/src/server/otel-diag-logger.js.map +1 -1
  511. package/out/zero-cache/src/server/otel-log-sink.js +40 -41
  512. package/out/zero-cache/src/server/otel-log-sink.js.map +1 -1
  513. package/out/zero-cache/src/server/otel-start.d.ts +1 -1
  514. package/out/zero-cache/src/server/otel-start.d.ts.map +1 -1
  515. package/out/zero-cache/src/server/otel-start.js +57 -68
  516. package/out/zero-cache/src/server/otel-start.js.map +1 -1
  517. package/out/zero-cache/src/server/reaper.js +34 -26
  518. package/out/zero-cache/src/server/reaper.js.map +1 -1
  519. package/out/zero-cache/src/server/replicator.js +53 -31
  520. package/out/zero-cache/src/server/replicator.js.map +1 -1
  521. package/out/zero-cache/src/server/runner/main.js +6 -4
  522. package/out/zero-cache/src/server/runner/main.js.map +1 -1
  523. package/out/zero-cache/src/server/runner/run-worker.d.ts.map +1 -1
  524. package/out/zero-cache/src/server/runner/run-worker.js +46 -50
  525. package/out/zero-cache/src/server/runner/run-worker.js.map +1 -1
  526. package/out/zero-cache/src/server/runner/runtime.js +33 -32
  527. package/out/zero-cache/src/server/runner/runtime.js.map +1 -1
  528. package/out/zero-cache/src/server/runner/zero-dispatcher.d.ts.map +1 -1
  529. package/out/zero-cache/src/server/runner/zero-dispatcher.js +28 -22
  530. package/out/zero-cache/src/server/runner/zero-dispatcher.js.map +1 -1
  531. package/out/zero-cache/src/server/syncer.d.ts.map +1 -1
  532. package/out/zero-cache/src/server/syncer.js +124 -63
  533. package/out/zero-cache/src/server/syncer.js.map +1 -1
  534. package/out/zero-cache/src/server/worker-dispatcher.d.ts +1 -1
  535. package/out/zero-cache/src/server/worker-dispatcher.d.ts.map +1 -1
  536. package/out/zero-cache/src/server/worker-dispatcher.js +112 -106
  537. package/out/zero-cache/src/server/worker-dispatcher.js.map +1 -1
  538. package/out/zero-cache/src/server/worker-urls.d.ts +7 -0
  539. package/out/zero-cache/src/server/worker-urls.d.ts.map +1 -0
  540. package/out/zero-cache/src/server/worker-urls.js +21 -0
  541. package/out/zero-cache/src/server/worker-urls.js.map +1 -0
  542. package/out/zero-cache/src/services/analyze.d.ts +4 -9
  543. package/out/zero-cache/src/services/analyze.d.ts.map +1 -1
  544. package/out/zero-cache/src/services/analyze.js +104 -120
  545. package/out/zero-cache/src/services/analyze.js.map +1 -1
  546. package/out/zero-cache/src/services/change-source/column-metadata.d.ts +10 -3
  547. package/out/zero-cache/src/services/change-source/column-metadata.d.ts.map +1 -1
  548. package/out/zero-cache/src/services/change-source/column-metadata.js +154 -144
  549. package/out/zero-cache/src/services/change-source/column-metadata.js.map +1 -1
  550. package/out/zero-cache/src/services/change-source/custom/change-source.d.ts +1 -1
  551. package/out/zero-cache/src/services/change-source/custom/change-source.d.ts.map +1 -1
  552. package/out/zero-cache/src/services/change-source/custom/change-source.js +197 -171
  553. package/out/zero-cache/src/services/change-source/custom/change-source.js.map +1 -1
  554. package/out/zero-cache/src/services/change-source/custom/sync-schema.js +11 -3
  555. package/out/zero-cache/src/services/change-source/custom/sync-schema.js.map +1 -1
  556. package/out/zero-cache/src/services/change-source/pg/change-source.d.ts +1 -1
  557. package/out/zero-cache/src/services/change-source/pg/change-source.d.ts.map +1 -1
  558. package/out/zero-cache/src/services/change-source/pg/change-source.js +601 -621
  559. package/out/zero-cache/src/services/change-source/pg/change-source.js.map +1 -1
  560. package/out/zero-cache/src/services/change-source/pg/decommission.js +24 -23
  561. package/out/zero-cache/src/services/change-source/pg/decommission.js.map +1 -1
  562. package/out/zero-cache/src/services/change-source/pg/initial-sync.d.ts +1 -1
  563. package/out/zero-cache/src/services/change-source/pg/initial-sync.d.ts.map +1 -1
  564. package/out/zero-cache/src/services/change-source/pg/initial-sync.js +327 -284
  565. package/out/zero-cache/src/services/change-source/pg/initial-sync.js.map +1 -1
  566. package/out/zero-cache/src/services/change-source/pg/logical-replication/binary-reader.d.ts +2 -3
  567. package/out/zero-cache/src/services/change-source/pg/logical-replication/binary-reader.d.ts.map +1 -1
  568. package/out/zero-cache/src/services/change-source/pg/logical-replication/binary-reader.js +61 -69
  569. package/out/zero-cache/src/services/change-source/pg/logical-replication/binary-reader.js.map +1 -1
  570. package/out/zero-cache/src/services/change-source/pg/logical-replication/pgoutput-parser.js +247 -257
  571. package/out/zero-cache/src/services/change-source/pg/logical-replication/pgoutput-parser.js.map +1 -1
  572. package/out/zero-cache/src/services/change-source/pg/logical-replication/stream.js +127 -119
  573. package/out/zero-cache/src/services/change-source/pg/logical-replication/stream.js.map +1 -1
  574. package/out/zero-cache/src/services/change-source/pg/lsn.js +20 -19
  575. package/out/zero-cache/src/services/change-source/pg/lsn.js.map +1 -1
  576. package/out/zero-cache/src/services/change-source/pg/schema/ddl.d.ts +25 -25
  577. package/out/zero-cache/src/services/change-source/pg/schema/ddl.js +96 -119
  578. package/out/zero-cache/src/services/change-source/pg/schema/ddl.js.map +1 -1
  579. package/out/zero-cache/src/services/change-source/pg/schema/init.js +138 -117
  580. package/out/zero-cache/src/services/change-source/pg/schema/init.js.map +1 -1
  581. package/out/zero-cache/src/services/change-source/pg/schema/published.d.ts +10 -10
  582. package/out/zero-cache/src/services/change-source/pg/schema/published.js +67 -74
  583. package/out/zero-cache/src/services/change-source/pg/schema/published.js.map +1 -1
  584. package/out/zero-cache/src/services/change-source/pg/schema/shard.d.ts +5 -5
  585. package/out/zero-cache/src/services/change-source/pg/schema/shard.js +199 -188
  586. package/out/zero-cache/src/services/change-source/pg/schema/shard.js.map +1 -1
  587. package/out/zero-cache/src/services/change-source/pg/schema/validation.js +53 -38
  588. package/out/zero-cache/src/services/change-source/pg/schema/validation.js.map +1 -1
  589. package/out/zero-cache/src/services/change-source/pg/sync-schema.js +11 -3
  590. package/out/zero-cache/src/services/change-source/pg/sync-schema.js.map +1 -1
  591. package/out/zero-cache/src/services/change-source/protocol/current/control.js +9 -19
  592. package/out/zero-cache/src/services/change-source/protocol/current/control.js.map +1 -1
  593. package/out/zero-cache/src/services/change-source/protocol/current/data.d.ts +16 -16
  594. package/out/zero-cache/src/services/change-source/protocol/current/data.js +143 -116
  595. package/out/zero-cache/src/services/change-source/protocol/current/data.js.map +1 -1
  596. package/out/zero-cache/src/services/change-source/protocol/current/downstream.d.ts +24 -24
  597. package/out/zero-cache/src/services/change-source/protocol/current/downstream.js +29 -19
  598. package/out/zero-cache/src/services/change-source/protocol/current/downstream.js.map +1 -1
  599. package/out/zero-cache/src/services/change-source/protocol/current/path.js +5 -20
  600. package/out/zero-cache/src/services/change-source/protocol/current/path.js.map +1 -1
  601. package/out/zero-cache/src/services/change-source/protocol/current/status.js +12 -13
  602. package/out/zero-cache/src/services/change-source/protocol/current/status.js.map +1 -1
  603. package/out/zero-cache/src/services/change-source/protocol/current/upstream.d.ts +1 -1
  604. package/out/zero-cache/src/services/change-source/protocol/current/upstream.d.ts.map +1 -1
  605. package/out/zero-cache/src/services/change-source/protocol/current/upstream.js +5 -4
  606. package/out/zero-cache/src/services/change-source/protocol/current/upstream.js.map +1 -1
  607. package/out/zero-cache/src/services/change-source/protocol/current.js +35 -7
  608. package/out/zero-cache/src/services/change-source/protocol/current.js.map +1 -1
  609. package/out/zero-cache/src/services/change-source/replica-schema.d.ts.map +1 -1
  610. package/out/zero-cache/src/services/change-source/replica-schema.js +67 -37
  611. package/out/zero-cache/src/services/change-source/replica-schema.js.map +1 -1
  612. package/out/zero-cache/src/services/change-streamer/backup-monitor.d.ts +1 -1
  613. package/out/zero-cache/src/services/change-streamer/backup-monitor.d.ts.map +1 -1
  614. package/out/zero-cache/src/services/change-streamer/backup-monitor.js +139 -157
  615. package/out/zero-cache/src/services/change-streamer/backup-monitor.js.map +1 -1
  616. package/out/zero-cache/src/services/change-streamer/change-streamer-http.d.ts +14 -4
  617. package/out/zero-cache/src/services/change-streamer/change-streamer-http.d.ts.map +1 -1
  618. package/out/zero-cache/src/services/change-streamer/change-streamer-http.js +213 -141
  619. package/out/zero-cache/src/services/change-streamer/change-streamer-http.js.map +1 -1
  620. package/out/zero-cache/src/services/change-streamer/change-streamer-service.d.ts +1 -1
  621. package/out/zero-cache/src/services/change-streamer/change-streamer-service.d.ts.map +1 -1
  622. package/out/zero-cache/src/services/change-streamer/change-streamer-service.js +235 -349
  623. package/out/zero-cache/src/services/change-streamer/change-streamer-service.js.map +1 -1
  624. package/out/zero-cache/src/services/change-streamer/change-streamer.d.ts +13 -9
  625. package/out/zero-cache/src/services/change-streamer/change-streamer.d.ts.map +1 -1
  626. package/out/zero-cache/src/services/change-streamer/change-streamer.js +24 -22
  627. package/out/zero-cache/src/services/change-streamer/change-streamer.js.map +1 -1
  628. package/out/zero-cache/src/services/change-streamer/error-type-enum.js +9 -4
  629. package/out/zero-cache/src/services/change-streamer/error-type-enum.js.map +1 -1
  630. package/out/zero-cache/src/services/change-streamer/forwarder.d.ts +1 -1
  631. package/out/zero-cache/src/services/change-streamer/forwarder.d.ts.map +1 -1
  632. package/out/zero-cache/src/services/change-streamer/forwarder.js +53 -57
  633. package/out/zero-cache/src/services/change-streamer/forwarder.js.map +1 -1
  634. package/out/zero-cache/src/services/change-streamer/replica-monitor.d.ts +16 -0
  635. package/out/zero-cache/src/services/change-streamer/replica-monitor.d.ts.map +1 -0
  636. package/out/zero-cache/src/services/change-streamer/replica-monitor.js +48 -0
  637. package/out/zero-cache/src/services/change-streamer/replica-monitor.js.map +1 -0
  638. package/out/zero-cache/src/services/change-streamer/schema/init.js +82 -68
  639. package/out/zero-cache/src/services/change-streamer/schema/init.js.map +1 -1
  640. package/out/zero-cache/src/services/change-streamer/schema/tables.d.ts +2 -2
  641. package/out/zero-cache/src/services/change-streamer/schema/tables.d.ts.map +1 -1
  642. package/out/zero-cache/src/services/change-streamer/schema/tables.js +93 -78
  643. package/out/zero-cache/src/services/change-streamer/schema/tables.js.map +1 -1
  644. package/out/zero-cache/src/services/change-streamer/snapshot.d.ts +58 -0
  645. package/out/zero-cache/src/services/change-streamer/snapshot.d.ts.map +1 -1
  646. package/out/zero-cache/src/services/change-streamer/snapshot.js +28 -18
  647. package/out/zero-cache/src/services/change-streamer/snapshot.js.map +1 -1
  648. package/out/zero-cache/src/services/change-streamer/storer.d.ts +3 -2
  649. package/out/zero-cache/src/services/change-streamer/storer.d.ts.map +1 -1
  650. package/out/zero-cache/src/services/change-streamer/storer.js +309 -353
  651. package/out/zero-cache/src/services/change-streamer/storer.js.map +1 -1
  652. package/out/zero-cache/src/services/change-streamer/subscriber.d.ts +3 -2
  653. package/out/zero-cache/src/services/change-streamer/subscriber.d.ts.map +1 -1
  654. package/out/zero-cache/src/services/change-streamer/subscriber.js +85 -87
  655. package/out/zero-cache/src/services/change-streamer/subscriber.js.map +1 -1
  656. package/out/zero-cache/src/services/heapz.js +21 -25
  657. package/out/zero-cache/src/services/heapz.js.map +1 -1
  658. package/out/zero-cache/src/services/http-service.d.ts +6 -5
  659. package/out/zero-cache/src/services/http-service.d.ts.map +1 -1
  660. package/out/zero-cache/src/services/http-service.js +61 -59
  661. package/out/zero-cache/src/services/http-service.js.map +1 -1
  662. package/out/zero-cache/src/services/life-cycle.d.ts +1 -1
  663. package/out/zero-cache/src/services/life-cycle.d.ts.map +1 -1
  664. package/out/zero-cache/src/services/life-cycle.js +216 -255
  665. package/out/zero-cache/src/services/life-cycle.js.map +1 -1
  666. package/out/zero-cache/src/services/limiter/sliding-window-limiter.js +76 -130
  667. package/out/zero-cache/src/services/limiter/sliding-window-limiter.js.map +1 -1
  668. package/out/zero-cache/src/services/litestream/commands.d.ts +1 -1
  669. package/out/zero-cache/src/services/litestream/commands.d.ts.map +1 -1
  670. package/out/zero-cache/src/services/litestream/commands.js +201 -154
  671. package/out/zero-cache/src/services/litestream/commands.js.map +1 -1
  672. package/out/zero-cache/src/services/mutagen/error.js +11 -6
  673. package/out/zero-cache/src/services/mutagen/error.js.map +1 -1
  674. package/out/zero-cache/src/services/mutagen/mutagen.d.ts +2 -1
  675. package/out/zero-cache/src/services/mutagen/mutagen.d.ts.map +1 -1
  676. package/out/zero-cache/src/services/mutagen/mutagen.js +272 -266
  677. package/out/zero-cache/src/services/mutagen/mutagen.js.map +1 -1
  678. package/out/zero-cache/src/services/mutagen/pusher.d.ts +221 -25
  679. package/out/zero-cache/src/services/mutagen/pusher.d.ts.map +1 -1
  680. package/out/zero-cache/src/services/mutagen/pusher.js +356 -332
  681. package/out/zero-cache/src/services/mutagen/pusher.js.map +1 -1
  682. package/out/zero-cache/src/services/replicator/change-processor.d.ts.map +1 -1
  683. package/out/zero-cache/src/services/replicator/change-processor.js +483 -497
  684. package/out/zero-cache/src/services/replicator/change-processor.js.map +1 -1
  685. package/out/zero-cache/src/services/replicator/incremental-sync.d.ts +1 -1
  686. package/out/zero-cache/src/services/replicator/incremental-sync.d.ts.map +1 -1
  687. package/out/zero-cache/src/services/replicator/incremental-sync.js +97 -97
  688. package/out/zero-cache/src/services/replicator/incremental-sync.js.map +1 -1
  689. package/out/zero-cache/src/services/replicator/notifier.js +28 -52
  690. package/out/zero-cache/src/services/replicator/notifier.js.map +1 -1
  691. package/out/zero-cache/src/services/replicator/replication-status.js +100 -83
  692. package/out/zero-cache/src/services/replicator/replication-status.js.map +1 -1
  693. package/out/zero-cache/src/services/replicator/replicator.d.ts +1 -1
  694. package/out/zero-cache/src/services/replicator/replicator.d.ts.map +1 -1
  695. package/out/zero-cache/src/services/replicator/replicator.js +33 -26
  696. package/out/zero-cache/src/services/replicator/replicator.js.map +1 -1
  697. package/out/zero-cache/src/services/replicator/schema/change-log.d.ts +1 -1
  698. package/out/zero-cache/src/services/replicator/schema/change-log.d.ts.map +1 -1
  699. package/out/zero-cache/src/services/replicator/schema/change-log.js +74 -86
  700. package/out/zero-cache/src/services/replicator/schema/change-log.js.map +1 -1
  701. package/out/zero-cache/src/services/replicator/schema/constants.js +5 -7
  702. package/out/zero-cache/src/services/replicator/schema/constants.js.map +1 -1
  703. package/out/zero-cache/src/services/replicator/schema/replication-state.d.ts +2 -2
  704. package/out/zero-cache/src/services/replicator/schema/replication-state.d.ts.map +1 -1
  705. package/out/zero-cache/src/services/replicator/schema/replication-state.js +70 -74
  706. package/out/zero-cache/src/services/replicator/schema/replication-state.js.map +1 -1
  707. package/out/zero-cache/src/services/run-ast.d.ts +9 -3
  708. package/out/zero-cache/src/services/run-ast.d.ts.map +1 -1
  709. package/out/zero-cache/src/services/run-ast.js +87 -78
  710. package/out/zero-cache/src/services/run-ast.js.map +1 -1
  711. package/out/zero-cache/src/services/runner.d.ts +1 -1
  712. package/out/zero-cache/src/services/runner.d.ts.map +1 -1
  713. package/out/zero-cache/src/services/runner.js +40 -40
  714. package/out/zero-cache/src/services/runner.js.map +1 -1
  715. package/out/zero-cache/src/services/running-state.d.ts +1 -1
  716. package/out/zero-cache/src/services/running-state.d.ts.map +1 -1
  717. package/out/zero-cache/src/services/running-state.js +122 -119
  718. package/out/zero-cache/src/services/running-state.js.map +1 -1
  719. package/out/zero-cache/src/services/statz.js +184 -162
  720. package/out/zero-cache/src/services/statz.js.map +1 -1
  721. package/out/zero-cache/src/services/view-syncer/active-users-gauge.js +40 -39
  722. package/out/zero-cache/src/services/view-syncer/active-users-gauge.js.map +1 -1
  723. package/out/zero-cache/src/services/view-syncer/client-handler.d.ts +3 -1
  724. package/out/zero-cache/src/services/view-syncer/client-handler.d.ts.map +1 -1
  725. package/out/zero-cache/src/services/view-syncer/client-handler.js +307 -294
  726. package/out/zero-cache/src/services/view-syncer/client-handler.js.map +1 -1
  727. package/out/zero-cache/src/services/view-syncer/client-schema.d.ts.map +1 -1
  728. package/out/zero-cache/src/services/view-syncer/client-schema.js +81 -80
  729. package/out/zero-cache/src/services/view-syncer/client-schema.js.map +1 -1
  730. package/out/zero-cache/src/services/view-syncer/cvr-purger.d.ts.map +1 -1
  731. package/out/zero-cache/src/services/view-syncer/cvr-purger.js +84 -94
  732. package/out/zero-cache/src/services/view-syncer/cvr-purger.js.map +1 -1
  733. package/out/zero-cache/src/services/view-syncer/cvr-store.d.ts +6 -8
  734. package/out/zero-cache/src/services/view-syncer/cvr-store.d.ts.map +1 -1
  735. package/out/zero-cache/src/services/view-syncer/cvr-store.js +655 -603
  736. package/out/zero-cache/src/services/view-syncer/cvr-store.js.map +1 -1
  737. package/out/zero-cache/src/services/view-syncer/cvr.d.ts +1 -1
  738. package/out/zero-cache/src/services/view-syncer/cvr.d.ts.map +1 -1
  739. package/out/zero-cache/src/services/view-syncer/cvr.js +633 -693
  740. package/out/zero-cache/src/services/view-syncer/cvr.js.map +1 -1
  741. package/out/zero-cache/src/services/view-syncer/drain-coordinator.d.ts +1 -0
  742. package/out/zero-cache/src/services/view-syncer/drain-coordinator.d.ts.map +1 -1
  743. package/out/zero-cache/src/services/view-syncer/drain-coordinator.js +38 -55
  744. package/out/zero-cache/src/services/view-syncer/drain-coordinator.js.map +1 -1
  745. package/out/zero-cache/src/services/view-syncer/inspect-handler.d.ts +2 -1
  746. package/out/zero-cache/src/services/view-syncer/inspect-handler.d.ts.map +1 -1
  747. package/out/zero-cache/src/services/view-syncer/inspect-handler.js +175 -85
  748. package/out/zero-cache/src/services/view-syncer/inspect-handler.js.map +1 -1
  749. package/out/zero-cache/src/services/view-syncer/pipeline-driver.d.ts +15 -14
  750. package/out/zero-cache/src/services/view-syncer/pipeline-driver.d.ts.map +1 -1
  751. package/out/zero-cache/src/services/view-syncer/pipeline-driver.js +535 -449
  752. package/out/zero-cache/src/services/view-syncer/pipeline-driver.js.map +1 -1
  753. package/out/zero-cache/src/services/view-syncer/row-record-cache.d.ts +1 -1
  754. package/out/zero-cache/src/services/view-syncer/row-record-cache.d.ts.map +1 -1
  755. package/out/zero-cache/src/services/view-syncer/row-record-cache.js +229 -277
  756. package/out/zero-cache/src/services/view-syncer/row-record-cache.js.map +1 -1
  757. package/out/zero-cache/src/services/view-syncer/schema/cvr.d.ts.map +1 -1
  758. package/out/zero-cache/src/services/view-syncer/schema/cvr.js +57 -122
  759. package/out/zero-cache/src/services/view-syncer/schema/cvr.js.map +1 -1
  760. package/out/zero-cache/src/services/view-syncer/schema/init.d.ts.map +1 -1
  761. package/out/zero-cache/src/services/view-syncer/schema/init.js +177 -131
  762. package/out/zero-cache/src/services/view-syncer/schema/init.js.map +1 -1
  763. package/out/zero-cache/src/services/view-syncer/schema/types.d.ts +4 -4
  764. package/out/zero-cache/src/services/view-syncer/schema/types.js +265 -257
  765. package/out/zero-cache/src/services/view-syncer/schema/types.js.map +1 -1
  766. package/out/zero-cache/src/services/view-syncer/snapshotter.d.ts +3 -3
  767. package/out/zero-cache/src/services/view-syncer/snapshotter.d.ts.map +1 -1
  768. package/out/zero-cache/src/services/view-syncer/snapshotter.js +295 -338
  769. package/out/zero-cache/src/services/view-syncer/snapshotter.js.map +1 -1
  770. package/out/zero-cache/src/services/view-syncer/ttl-clock.js +13 -7
  771. package/out/zero-cache/src/services/view-syncer/ttl-clock.js.map +1 -1
  772. package/out/zero-cache/src/services/view-syncer/view-syncer.d.ts +10 -3
  773. package/out/zero-cache/src/services/view-syncer/view-syncer.d.ts.map +1 -1
  774. package/out/zero-cache/src/services/view-syncer/view-syncer.js +1510 -1250
  775. package/out/zero-cache/src/services/view-syncer/view-syncer.js.map +1 -1
  776. package/out/zero-cache/src/types/error-with-level.d.ts +9 -0
  777. package/out/zero-cache/src/types/error-with-level.d.ts.map +1 -0
  778. package/out/zero-cache/src/types/error-with-level.js +33 -0
  779. package/out/zero-cache/src/types/error-with-level.js.map +1 -0
  780. package/out/zero-cache/src/types/http.js +27 -14
  781. package/out/zero-cache/src/types/http.js.map +1 -1
  782. package/out/zero-cache/src/types/lexi-version.js +46 -31
  783. package/out/zero-cache/src/types/lexi-version.js.map +1 -1
  784. package/out/zero-cache/src/types/lite.d.ts +15 -13
  785. package/out/zero-cache/src/types/lite.d.ts.map +1 -1
  786. package/out/zero-cache/src/types/lite.js +119 -114
  787. package/out/zero-cache/src/types/lite.js.map +1 -1
  788. package/out/zero-cache/src/types/names.js +6 -3
  789. package/out/zero-cache/src/types/names.js.map +1 -1
  790. package/out/zero-cache/src/types/pg-data-type.d.ts +73 -0
  791. package/out/zero-cache/src/types/pg-data-type.d.ts.map +1 -0
  792. package/out/zero-cache/src/types/pg-data-type.js +82 -0
  793. package/out/zero-cache/src/types/pg-data-type.js.map +1 -0
  794. package/out/zero-cache/src/types/pg-types.js +17 -72
  795. package/out/zero-cache/src/types/pg-types.js.map +1 -1
  796. package/out/zero-cache/src/types/pg.d.ts +2 -74
  797. package/out/zero-cache/src/types/pg.d.ts.map +1 -1
  798. package/out/zero-cache/src/types/pg.js +212 -309
  799. package/out/zero-cache/src/types/pg.js.map +1 -1
  800. package/out/zero-cache/src/types/processes.d.ts +2 -2
  801. package/out/zero-cache/src/types/processes.d.ts.map +1 -1
  802. package/out/zero-cache/src/types/processes.js +95 -143
  803. package/out/zero-cache/src/types/processes.js.map +1 -1
  804. package/out/zero-cache/src/types/profiler.js +29 -30
  805. package/out/zero-cache/src/types/profiler.js.map +1 -1
  806. package/out/zero-cache/src/types/row-key.js +30 -68
  807. package/out/zero-cache/src/types/row-key.js.map +1 -1
  808. package/out/zero-cache/src/types/schema-versions.d.ts +7 -3
  809. package/out/zero-cache/src/types/schema-versions.d.ts.map +1 -1
  810. package/out/zero-cache/src/types/schema-versions.js +26 -18
  811. package/out/zero-cache/src/types/schema-versions.js.map +1 -1
  812. package/out/zero-cache/src/types/shards.js +50 -36
  813. package/out/zero-cache/src/types/shards.js.map +1 -1
  814. package/out/zero-cache/src/types/sql.js +9 -13
  815. package/out/zero-cache/src/types/sql.js.map +1 -1
  816. package/out/zero-cache/src/types/streams.d.ts +1 -1
  817. package/out/zero-cache/src/types/streams.d.ts.map +1 -1
  818. package/out/zero-cache/src/types/streams.js +246 -245
  819. package/out/zero-cache/src/types/streams.js.map +1 -1
  820. package/out/zero-cache/src/types/strings.js +14 -11
  821. package/out/zero-cache/src/types/strings.js.map +1 -1
  822. package/out/zero-cache/src/types/subscription.d.ts +17 -2
  823. package/out/zero-cache/src/types/subscription.d.ts.map +1 -1
  824. package/out/zero-cache/src/types/subscription.js +202 -225
  825. package/out/zero-cache/src/types/subscription.js.map +1 -1
  826. package/out/zero-cache/src/types/url-params.js +35 -30
  827. package/out/zero-cache/src/types/url-params.js.map +1 -1
  828. package/out/zero-cache/src/types/websocket-handoff.d.ts +7 -6
  829. package/out/zero-cache/src/types/websocket-handoff.d.ts.map +1 -1
  830. package/out/zero-cache/src/types/websocket-handoff.js +68 -74
  831. package/out/zero-cache/src/types/websocket-handoff.js.map +1 -1
  832. package/out/zero-cache/src/types/ws.js +56 -59
  833. package/out/zero-cache/src/types/ws.js.map +1 -1
  834. package/out/zero-cache/src/workers/connect-params.js +44 -40
  835. package/out/zero-cache/src/workers/connect-params.js.map +1 -1
  836. package/out/zero-cache/src/workers/connection.d.ts +6 -1
  837. package/out/zero-cache/src/workers/connection.d.ts.map +1 -1
  838. package/out/zero-cache/src/workers/connection.js +283 -227
  839. package/out/zero-cache/src/workers/connection.js.map +1 -1
  840. package/out/zero-cache/src/workers/mutator.js +24 -0
  841. package/out/zero-cache/src/workers/mutator.js.map +1 -0
  842. package/out/zero-cache/src/workers/replicator.d.ts +1 -1
  843. package/out/zero-cache/src/workers/replicator.d.ts.map +1 -1
  844. package/out/zero-cache/src/workers/replicator.js +103 -106
  845. package/out/zero-cache/src/workers/replicator.js.map +1 -1
  846. package/out/zero-cache/src/workers/syncer-ws-message-handler.d.ts.map +1 -1
  847. package/out/zero-cache/src/workers/syncer-ws-message-handler.js +179 -141
  848. package/out/zero-cache/src/workers/syncer-ws-message-handler.js.map +1 -1
  849. package/out/zero-cache/src/workers/syncer.d.ts +3 -3
  850. package/out/zero-cache/src/workers/syncer.d.ts.map +1 -1
  851. package/out/zero-cache/src/workers/syncer.js +195 -154
  852. package/out/zero-cache/src/workers/syncer.js.map +1 -1
  853. package/out/zero-client/src/client/active-clients-manager.js +199 -0
  854. package/out/zero-client/src/client/active-clients-manager.js.map +1 -0
  855. package/out/zero-client/src/client/bindings.d.ts +43 -0
  856. package/out/zero-client/src/client/bindings.d.ts.map +1 -0
  857. package/out/zero-client/src/client/bindings.js +33 -0
  858. package/out/zero-client/src/client/bindings.js.map +1 -0
  859. package/out/zero-client/src/client/client-error-kind-enum.d.ts +14 -6
  860. package/out/zero-client/src/client/client-error-kind-enum.d.ts.map +1 -1
  861. package/out/zero-client/src/client/client-error-kind-enum.js +29 -0
  862. package/out/zero-client/src/client/client-error-kind-enum.js.map +1 -0
  863. package/out/zero-client/src/client/connection-manager.d.ts +70 -22
  864. package/out/zero-client/src/client/connection-manager.d.ts.map +1 -1
  865. package/out/zero-client/src/client/connection-manager.js +310 -0
  866. package/out/zero-client/src/client/connection-manager.js.map +1 -0
  867. package/out/zero-client/src/client/connection-status-enum.d.ts +4 -0
  868. package/out/zero-client/src/client/connection-status-enum.d.ts.map +1 -1
  869. package/out/zero-client/src/client/connection-status-enum.js +15 -0
  870. package/out/zero-client/src/client/connection-status-enum.js.map +1 -0
  871. package/out/zero-client/src/client/connection.d.ts +96 -0
  872. package/out/zero-client/src/client/connection.d.ts.map +1 -0
  873. package/out/zero-client/src/client/connection.js +103 -0
  874. package/out/zero-client/src/client/connection.js.map +1 -0
  875. package/out/zero-client/src/client/context.d.ts +9 -10
  876. package/out/zero-client/src/client/context.d.ts.map +1 -1
  877. package/out/zero-client/src/client/context.js +104 -0
  878. package/out/zero-client/src/client/context.js.map +1 -0
  879. package/out/zero-client/src/client/crud.d.ts +8 -6
  880. package/out/zero-client/src/client/crud.d.ts.map +1 -1
  881. package/out/zero-client/src/client/crud.js +225 -0
  882. package/out/zero-client/src/client/crud.js.map +1 -0
  883. package/out/zero-client/src/client/custom.d.ts +48 -25
  884. package/out/zero-client/src/client/custom.d.ts.map +1 -1
  885. package/out/zero-client/src/client/custom.js +128 -0
  886. package/out/zero-client/src/client/custom.js.map +1 -0
  887. package/out/zero-client/src/client/delete-clients-manager.d.ts +2 -2
  888. package/out/zero-client/src/client/delete-clients-manager.d.ts.map +1 -1
  889. package/out/zero-client/src/client/delete-clients-manager.js +71 -0
  890. package/out/zero-client/src/client/delete-clients-manager.js.map +1 -0
  891. package/out/zero-client/src/client/enable-analytics.js +18 -0
  892. package/out/zero-client/src/client/enable-analytics.js.map +1 -0
  893. package/out/zero-client/src/client/error.d.ts +62 -22
  894. package/out/zero-client/src/client/error.d.ts.map +1 -1
  895. package/out/zero-client/src/client/error.js +148 -0
  896. package/out/zero-client/src/client/error.js.map +1 -0
  897. package/out/zero-client/src/client/http-string.js +11 -0
  898. package/out/zero-client/src/client/http-string.js.map +1 -0
  899. package/out/zero-client/src/client/inspector/client-group.js +27 -0
  900. package/out/zero-client/src/client/inspector/client-group.js.map +1 -0
  901. package/out/zero-client/src/client/inspector/client.js +28 -0
  902. package/out/zero-client/src/client/inspector/client.js.map +1 -0
  903. package/out/zero-client/src/client/inspector/html-dialog-prompt.d.ts.map +1 -1
  904. package/out/zero-client/src/client/inspector/html-dialog-prompt.js +77 -0
  905. package/out/zero-client/src/client/inspector/html-dialog-prompt.js.map +1 -0
  906. package/out/zero-client/src/client/inspector/inspector.d.ts +8 -3
  907. package/out/zero-client/src/client/inspector/inspector.d.ts.map +1 -1
  908. package/out/zero-client/src/client/inspector/inspector.js +54 -0
  909. package/out/zero-client/src/client/inspector/inspector.js.map +1 -0
  910. package/out/zero-client/src/client/inspector/lazy-inspector.d.ts +4 -1
  911. package/out/zero-client/src/client/inspector/lazy-inspector.d.ts.map +1 -1
  912. package/out/zero-client/src/client/inspector/lazy-inspector.js +243 -0
  913. package/out/zero-client/src/client/inspector/lazy-inspector.js.map +1 -0
  914. package/out/zero-client/src/client/inspector/query.d.ts.map +1 -1
  915. package/out/zero-client/src/client/inspector/query.js +82 -0
  916. package/out/zero-client/src/client/inspector/query.js.map +1 -0
  917. package/out/zero-client/src/client/ivm-branch.d.ts +6 -6
  918. package/out/zero-client/src/client/ivm-branch.d.ts.map +1 -1
  919. package/out/zero-client/src/client/ivm-branch.js +149 -0
  920. package/out/zero-client/src/client/ivm-branch.js.map +1 -0
  921. package/out/zero-client/src/client/keys.js +45 -0
  922. package/out/zero-client/src/client/keys.js.map +1 -0
  923. package/out/zero-client/src/client/log-options.js +60 -0
  924. package/out/zero-client/src/client/log-options.js.map +1 -0
  925. package/out/zero-client/src/client/make-mutate-property.d.ts +43 -0
  926. package/out/zero-client/src/client/make-mutate-property.d.ts.map +1 -0
  927. package/out/zero-client/src/client/make-mutate-property.js +38 -0
  928. package/out/zero-client/src/client/make-mutate-property.js.map +1 -0
  929. package/out/zero-client/src/client/make-replicache-mutators.d.ts +34 -0
  930. package/out/zero-client/src/client/make-replicache-mutators.d.ts.map +1 -0
  931. package/out/zero-client/src/client/make-replicache-mutators.js +103 -0
  932. package/out/zero-client/src/client/make-replicache-mutators.js.map +1 -0
  933. package/out/zero-client/src/client/metric-name-enum.js +15 -0
  934. package/out/zero-client/src/client/metric-name-enum.js.map +1 -0
  935. package/out/zero-client/src/client/metrics.d.ts +11 -2
  936. package/out/zero-client/src/client/metrics.d.ts.map +1 -1
  937. package/out/zero-client/src/client/metrics.js +249 -0
  938. package/out/zero-client/src/client/metrics.js.map +1 -0
  939. package/out/zero-client/src/client/mutation-tracker.d.ts +15 -6
  940. package/out/zero-client/src/client/mutation-tracker.d.ts.map +1 -1
  941. package/out/zero-client/src/client/mutation-tracker.js +363 -0
  942. package/out/zero-client/src/client/mutation-tracker.js.map +1 -0
  943. package/out/zero-client/src/client/mutator-proxy.d.ts +15 -0
  944. package/out/zero-client/src/client/mutator-proxy.d.ts.map +1 -0
  945. package/out/zero-client/src/client/mutator-proxy.js +132 -0
  946. package/out/zero-client/src/client/mutator-proxy.js.map +1 -0
  947. package/out/zero-client/src/client/options.d.ts +83 -26
  948. package/out/zero-client/src/client/options.d.ts.map +1 -1
  949. package/out/zero-client/src/client/options.js +11 -0
  950. package/out/zero-client/src/client/options.js.map +1 -0
  951. package/out/zero-client/src/client/query-manager.d.ts +13 -5
  952. package/out/zero-client/src/client/query-manager.d.ts.map +1 -1
  953. package/out/zero-client/src/client/query-manager.js +377 -0
  954. package/out/zero-client/src/client/query-manager.js.map +1 -0
  955. package/out/zero-client/src/client/reload-error-handler.d.ts +4 -4
  956. package/out/zero-client/src/client/reload-error-handler.d.ts.map +1 -1
  957. package/out/zero-client/src/client/reload-error-handler.js +114 -0
  958. package/out/zero-client/src/client/reload-error-handler.js.map +1 -0
  959. package/out/zero-client/src/client/server-option.js +64 -0
  960. package/out/zero-client/src/client/server-option.js.map +1 -0
  961. package/out/zero-client/src/client/update-needed-reason-type-enum.js +9 -0
  962. package/out/zero-client/src/client/update-needed-reason-type-enum.js.map +1 -0
  963. package/out/zero-client/src/client/version.js +5 -0
  964. package/out/zero-client/src/client/version.js.map +1 -0
  965. package/out/zero-client/src/client/zero-poke-handler.d.ts +4 -4
  966. package/out/zero-client/src/client/zero-poke-handler.d.ts.map +1 -1
  967. package/out/zero-client/src/client/zero-poke-handler.js +303 -0
  968. package/out/zero-client/src/client/zero-poke-handler.js.map +1 -0
  969. package/out/zero-client/src/client/zero-rep.d.ts +6 -3
  970. package/out/zero-client/src/client/zero-rep.d.ts.map +1 -1
  971. package/out/zero-client/src/client/zero-rep.js +72 -0
  972. package/out/zero-client/src/client/zero-rep.js.map +1 -0
  973. package/out/zero-client/src/client/zero.d.ts +125 -25
  974. package/out/zero-client/src/client/zero.d.ts.map +1 -1
  975. package/out/zero-client/src/client/zero.js +1759 -0
  976. package/out/zero-client/src/client/zero.js.map +1 -0
  977. package/out/zero-client/src/mod.d.ts +24 -10
  978. package/out/zero-client/src/mod.d.ts.map +1 -1
  979. package/out/zero-client/src/types/query-result.d.ts +24 -0
  980. package/out/zero-client/src/types/query-result.d.ts.map +1 -0
  981. package/out/zero-client/src/util/nanoid.js +21 -0
  982. package/out/zero-client/src/util/nanoid.js.map +1 -0
  983. package/out/zero-client/src/util/socket.js +7 -0
  984. package/out/zero-client/src/util/socket.js.map +1 -0
  985. package/out/zero-protocol/src/analyze-query-result.d.ts +237 -0
  986. package/out/zero-protocol/src/analyze-query-result.d.ts.map +1 -1
  987. package/out/zero-protocol/src/analyze-query-result.js +159 -24
  988. package/out/zero-protocol/src/analyze-query-result.js.map +1 -1
  989. package/out/zero-protocol/src/application-error.d.ts +27 -0
  990. package/out/zero-protocol/src/application-error.d.ts.map +1 -0
  991. package/out/zero-protocol/src/application-error.js +38 -0
  992. package/out/zero-protocol/src/application-error.js.map +1 -0
  993. package/out/zero-protocol/src/ast.d.ts +2 -2
  994. package/out/zero-protocol/src/ast.js +296 -277
  995. package/out/zero-protocol/src/ast.js.map +1 -1
  996. package/out/zero-protocol/src/change-desired-queries.d.ts +2 -2
  997. package/out/zero-protocol/src/change-desired-queries.js +11 -7
  998. package/out/zero-protocol/src/change-desired-queries.js.map +1 -1
  999. package/out/zero-protocol/src/client-schema.d.ts +2 -2
  1000. package/out/zero-protocol/src/client-schema.d.ts.map +1 -1
  1001. package/out/zero-protocol/src/client-schema.js +40 -26
  1002. package/out/zero-protocol/src/client-schema.js.map +1 -1
  1003. package/out/zero-protocol/src/close-connection.js +11 -18
  1004. package/out/zero-protocol/src/close-connection.js.map +1 -1
  1005. package/out/zero-protocol/src/connect.d.ts +4 -4
  1006. package/out/zero-protocol/src/connect.d.ts.map +1 -1
  1007. package/out/zero-protocol/src/connect.js +50 -51
  1008. package/out/zero-protocol/src/connect.js.map +1 -1
  1009. package/out/zero-protocol/src/custom-queries.d.ts +56 -53
  1010. package/out/zero-protocol/src/custom-queries.d.ts.map +1 -1
  1011. package/out/zero-protocol/src/custom-queries.js +63 -39
  1012. package/out/zero-protocol/src/custom-queries.js.map +1 -1
  1013. package/out/zero-protocol/src/data.js +9 -4
  1014. package/out/zero-protocol/src/data.js.map +1 -1
  1015. package/out/zero-protocol/src/delete-clients.js +16 -9
  1016. package/out/zero-protocol/src/delete-clients.js.map +1 -1
  1017. package/out/zero-protocol/src/down.d.ts +114 -16
  1018. package/out/zero-protocol/src/down.d.ts.map +1 -1
  1019. package/out/zero-protocol/src/down.js +20 -4
  1020. package/out/zero-protocol/src/down.js.map +1 -1
  1021. package/out/zero-protocol/src/error-kind-enum.d.ts +65 -0
  1022. package/out/zero-protocol/src/error-kind-enum.d.ts.map +1 -1
  1023. package/out/zero-protocol/src/error-kind-enum.js +41 -21
  1024. package/out/zero-protocol/src/error-kind-enum.js.map +1 -1
  1025. package/out/zero-protocol/src/error-origin-enum.d.ts +7 -0
  1026. package/out/zero-protocol/src/error-origin-enum.d.ts.map +1 -0
  1027. package/out/zero-protocol/src/error-origin-enum.js +9 -0
  1028. package/out/zero-protocol/src/error-origin-enum.js.map +1 -0
  1029. package/out/zero-protocol/src/error-origin.d.ts +5 -0
  1030. package/out/zero-protocol/src/error-origin.d.ts.map +1 -0
  1031. package/out/zero-protocol/src/error-reason-enum.d.ts +15 -0
  1032. package/out/zero-protocol/src/error-reason-enum.d.ts.map +1 -0
  1033. package/out/zero-protocol/src/error-reason-enum.js +17 -0
  1034. package/out/zero-protocol/src/error-reason-enum.js.map +1 -0
  1035. package/out/zero-protocol/src/error-reason.d.ts +5 -0
  1036. package/out/zero-protocol/src/error-reason.d.ts.map +1 -0
  1037. package/out/zero-protocol/src/error.d.ts +182 -2
  1038. package/out/zero-protocol/src/error.d.ts.map +1 -1
  1039. package/out/zero-protocol/src/error.js +157 -26
  1040. package/out/zero-protocol/src/error.js.map +1 -1
  1041. package/out/zero-protocol/src/inspect-down.d.ts +318 -18
  1042. package/out/zero-protocol/src/inspect-down.d.ts.map +1 -1
  1043. package/out/zero-protocol/src/inspect-down.js +72 -54
  1044. package/out/zero-protocol/src/inspect-down.js.map +1 -1
  1045. package/out/zero-protocol/src/inspect-up.d.ts +10 -6
  1046. package/out/zero-protocol/src/inspect-up.d.ts.map +1 -1
  1047. package/out/zero-protocol/src/inspect-up.js +39 -26
  1048. package/out/zero-protocol/src/inspect-up.js.map +1 -1
  1049. package/out/zero-protocol/src/mutation-id.d.ts +7 -0
  1050. package/out/zero-protocol/src/mutation-id.d.ts.map +1 -0
  1051. package/out/zero-protocol/src/mutation-id.js +10 -0
  1052. package/out/zero-protocol/src/mutation-id.js.map +1 -0
  1053. package/out/zero-protocol/src/mutation-type-enum.js +7 -3
  1054. package/out/zero-protocol/src/mutation-type-enum.js.map +1 -1
  1055. package/out/zero-protocol/src/mutations-patch.d.ts +6 -3
  1056. package/out/zero-protocol/src/mutations-patch.d.ts.map +1 -1
  1057. package/out/zero-protocol/src/mutations-patch.js +18 -18
  1058. package/out/zero-protocol/src/mutations-patch.js.map +1 -1
  1059. package/out/zero-protocol/src/ping.js +9 -4
  1060. package/out/zero-protocol/src/ping.js.map +1 -1
  1061. package/out/zero-protocol/src/poke.d.ts +2 -0
  1062. package/out/zero-protocol/src/poke.d.ts.map +1 -1
  1063. package/out/zero-protocol/src/poke.js +55 -72
  1064. package/out/zero-protocol/src/poke.js.map +1 -1
  1065. package/out/zero-protocol/src/pong.js +9 -4
  1066. package/out/zero-protocol/src/pong.js.map +1 -1
  1067. package/out/zero-protocol/src/primary-key.js +19 -5
  1068. package/out/zero-protocol/src/primary-key.js.map +1 -1
  1069. package/out/zero-protocol/src/protocol-version.d.ts +2 -2
  1070. package/out/zero-protocol/src/protocol-version.d.ts.map +1 -1
  1071. package/out/zero-protocol/src/protocol-version.js +7 -56
  1072. package/out/zero-protocol/src/protocol-version.js.map +1 -1
  1073. package/out/zero-protocol/src/pull.js +26 -19
  1074. package/out/zero-protocol/src/pull.js.map +1 -1
  1075. package/out/zero-protocol/src/push.d.ts +145 -13
  1076. package/out/zero-protocol/src/push.d.ts.map +1 -1
  1077. package/out/zero-protocol/src/push.js +182 -157
  1078. package/out/zero-protocol/src/push.js.map +1 -1
  1079. package/out/zero-protocol/src/queries-patch.d.ts +3 -3
  1080. package/out/zero-protocol/src/queries-patch.js +29 -22
  1081. package/out/zero-protocol/src/queries-patch.js.map +1 -1
  1082. package/out/zero-protocol/src/query-hash.js +18 -14
  1083. package/out/zero-protocol/src/query-hash.js.map +1 -1
  1084. package/out/zero-protocol/src/row-patch.js +29 -20
  1085. package/out/zero-protocol/src/row-patch.js.map +1 -1
  1086. package/out/zero-protocol/src/up.d.ts +6 -5
  1087. package/out/zero-protocol/src/up.d.ts.map +1 -1
  1088. package/out/zero-protocol/src/up.js +18 -4
  1089. package/out/zero-protocol/src/up.js.map +1 -1
  1090. package/out/zero-protocol/src/version.js +9 -4
  1091. package/out/zero-protocol/src/version.js.map +1 -1
  1092. package/out/zero-react/src/components/inspector.d.ts +5 -3
  1093. package/out/zero-react/src/components/inspector.d.ts.map +1 -1
  1094. package/out/{inspector-IU2HG74I.js → zero-react/src/components/inspector.js} +4 -9
  1095. package/out/zero-react/src/components/inspector.js.map +1 -0
  1096. package/out/{chunk-VZOYWIRW.js → zero-react/src/components/mark-icon.js} +3 -5
  1097. package/out/zero-react/src/components/mark-icon.js.map +1 -0
  1098. package/out/zero-react/src/components/zero-inspector.d.ts +5 -3
  1099. package/out/zero-react/src/components/zero-inspector.d.ts.map +1 -1
  1100. package/out/zero-react/src/components/zero-inspector.js +44 -0
  1101. package/out/zero-react/src/components/zero-inspector.js.map +1 -0
  1102. package/out/zero-react/src/mod.d.ts +6 -3
  1103. package/out/zero-react/src/mod.d.ts.map +1 -1
  1104. package/out/zero-react/src/use-query.d.ts +11 -28
  1105. package/out/zero-react/src/use-query.d.ts.map +1 -1
  1106. package/out/zero-react/src/use-query.js +286 -0
  1107. package/out/zero-react/src/use-query.js.map +1 -0
  1108. package/out/zero-react/src/use-zero-connection-state.d.ts +9 -0
  1109. package/out/zero-react/src/use-zero-connection-state.d.ts.map +1 -0
  1110. package/out/zero-react/src/use-zero-connection-state.js +14 -0
  1111. package/out/zero-react/src/use-zero-connection-state.js.map +1 -0
  1112. package/out/zero-react/src/use-zero-online.d.ts +2 -0
  1113. package/out/zero-react/src/use-zero-online.d.ts.map +1 -1
  1114. package/out/zero-react/src/use-zero-online.js +14 -0
  1115. package/out/zero-react/src/use-zero-online.js.map +1 -0
  1116. package/out/zero-react/src/zero-provider.d.ts +21 -7
  1117. package/out/zero-react/src/zero-provider.d.ts.map +1 -1
  1118. package/out/zero-react/src/zero-provider.js +61 -0
  1119. package/out/zero-react/src/zero-provider.js.map +1 -0
  1120. package/out/zero-schema/src/builder/relationship-builder.js +22 -19
  1121. package/out/zero-schema/src/builder/relationship-builder.js.map +1 -1
  1122. package/out/zero-schema/src/builder/schema-builder.d.ts +1 -3
  1123. package/out/zero-schema/src/builder/schema-builder.d.ts.map +1 -1
  1124. package/out/zero-schema/src/builder/schema-builder.js +81 -71
  1125. package/out/zero-schema/src/builder/schema-builder.js.map +1 -1
  1126. package/out/zero-schema/src/builder/table-builder.js +117 -116
  1127. package/out/zero-schema/src/builder/table-builder.js.map +1 -1
  1128. package/out/zero-schema/src/compiled-permissions.js +23 -19
  1129. package/out/zero-schema/src/compiled-permissions.js.map +1 -1
  1130. package/out/zero-schema/src/name-mapper.js +43 -38
  1131. package/out/zero-schema/src/name-mapper.js.map +1 -1
  1132. package/out/zero-schema/src/permissions.d.ts +9 -9
  1133. package/out/zero-schema/src/permissions.d.ts.map +1 -1
  1134. package/out/{chunk-BJ2CGCME.js → zero-schema/src/permissions.js} +16 -173
  1135. package/out/zero-schema/src/permissions.js.map +1 -0
  1136. package/out/zero-schema/src/schema-config.d.ts +1 -1
  1137. package/out/zero-schema/src/schema-config.d.ts.map +1 -1
  1138. package/out/zero-schema/src/schema-config.js +35 -51
  1139. package/out/zero-schema/src/schema-config.js.map +1 -1
  1140. package/out/zero-server/src/adapters/drizzle.d.ts +2 -2
  1141. package/out/zero-server/src/adapters/drizzle.d.ts.map +1 -1
  1142. package/out/zero-server/src/adapters/drizzle.js +84 -97
  1143. package/out/zero-server/src/adapters/drizzle.js.map +1 -1
  1144. package/out/zero-server/src/adapters/pg.d.ts +8 -2
  1145. package/out/zero-server/src/adapters/pg.d.ts.map +1 -1
  1146. package/out/zero-server/src/adapters/pg.js +54 -74
  1147. package/out/zero-server/src/adapters/pg.js.map +1 -1
  1148. package/out/zero-server/src/adapters/postgresjs.d.ts +7 -2
  1149. package/out/zero-server/src/adapters/postgresjs.d.ts.map +1 -1
  1150. package/out/zero-server/src/adapters/postgresjs.js +40 -54
  1151. package/out/zero-server/src/adapters/postgresjs.js.map +1 -1
  1152. package/out/zero-server/src/custom.d.ts +14 -18
  1153. package/out/zero-server/src/custom.d.ts.map +1 -1
  1154. package/out/zero-server/src/custom.js +185 -105
  1155. package/out/zero-server/src/custom.js.map +1 -1
  1156. package/out/zero-server/src/logging.js +7 -4
  1157. package/out/zero-server/src/logging.js.map +1 -1
  1158. package/out/zero-server/src/mod.d.ts +5 -4
  1159. package/out/zero-server/src/mod.d.ts.map +1 -1
  1160. package/out/zero-server/src/pg-query-executor.d.ts +11 -0
  1161. package/out/zero-server/src/pg-query-executor.d.ts.map +1 -0
  1162. package/out/zero-server/src/pg-query-executor.js +20 -0
  1163. package/out/zero-server/src/pg-query-executor.js.map +1 -0
  1164. package/out/zero-server/src/process-mutations.d.ts +11 -15
  1165. package/out/zero-server/src/process-mutations.d.ts.map +1 -1
  1166. package/out/zero-server/src/process-mutations.js +341 -163
  1167. package/out/zero-server/src/process-mutations.js.map +1 -1
  1168. package/out/zero-server/src/push-processor.d.ts +5 -3
  1169. package/out/zero-server/src/push-processor.d.ts.map +1 -1
  1170. package/out/zero-server/src/push-processor.js +48 -32
  1171. package/out/zero-server/src/push-processor.js.map +1 -1
  1172. package/out/zero-server/src/queries/process-queries.d.ts +66 -4
  1173. package/out/zero-server/src/queries/process-queries.d.ts.map +1 -1
  1174. package/out/zero-server/src/queries/process-queries.js +101 -27
  1175. package/out/zero-server/src/queries/process-queries.js.map +1 -1
  1176. package/out/zero-server/src/schema.d.ts +2 -2
  1177. package/out/zero-server/src/schema.d.ts.map +1 -1
  1178. package/out/zero-server/src/schema.js +137 -125
  1179. package/out/zero-server/src/schema.js.map +1 -1
  1180. package/out/zero-server/src/zql-database.d.ts +9 -6
  1181. package/out/zero-server/src/zql-database.d.ts.map +1 -1
  1182. package/out/zero-server/src/zql-database.js +68 -51
  1183. package/out/zero-server/src/zql-database.js.map +1 -1
  1184. package/out/zero-solid/src/mod.d.ts +10 -2
  1185. package/out/zero-solid/src/mod.d.ts.map +1 -1
  1186. package/out/zero-solid/src/solid-view.d.ts +3 -23
  1187. package/out/zero-solid/src/solid-view.d.ts.map +1 -1
  1188. package/out/{solid.js → zero-solid/src/solid-view.js} +54 -167
  1189. package/out/zero-solid/src/solid-view.js.map +1 -0
  1190. package/out/zero-solid/src/use-query.d.ts +7 -6
  1191. package/out/zero-solid/src/use-query.d.ts.map +1 -1
  1192. package/out/zero-solid/src/use-query.js +57 -0
  1193. package/out/zero-solid/src/use-query.js.map +1 -0
  1194. package/out/zero-solid/src/use-zero-connection-state.d.ts +10 -0
  1195. package/out/zero-solid/src/use-zero-connection-state.d.ts.map +1 -0
  1196. package/out/zero-solid/src/use-zero-connection-state.js +17 -0
  1197. package/out/zero-solid/src/use-zero-connection-state.js.map +1 -0
  1198. package/out/zero-solid/src/use-zero-online.d.ts +1 -7
  1199. package/out/zero-solid/src/use-zero-online.d.ts.map +1 -1
  1200. package/out/zero-solid/src/use-zero-online.js +15 -0
  1201. package/out/zero-solid/src/use-zero-online.js.map +1 -0
  1202. package/out/zero-solid/src/use-zero.d.ts +24 -7
  1203. package/out/zero-solid/src/use-zero.d.ts.map +1 -1
  1204. package/out/zero-solid/src/use-zero.js +70 -0
  1205. package/out/zero-solid/src/use-zero.js.map +1 -0
  1206. package/out/zero-types/src/default-types.d.ts +38 -0
  1207. package/out/zero-types/src/default-types.d.ts.map +1 -0
  1208. package/out/zero-types/src/format.js +7 -4
  1209. package/out/zero-types/src/format.js.map +1 -1
  1210. package/out/zero-types/src/name-mapper.js +43 -40
  1211. package/out/zero-types/src/name-mapper.js.map +1 -1
  1212. package/out/zero-types/src/server-schema.d.ts.map +1 -0
  1213. package/out/zql/src/builder/builder.d.ts +11 -2
  1214. package/out/zql/src/builder/builder.d.ts.map +1 -1
  1215. package/out/zql/src/builder/builder.js +487 -424
  1216. package/out/zql/src/builder/builder.js.map +1 -1
  1217. package/out/zql/src/builder/debug-delegate.d.ts +4 -0
  1218. package/out/zql/src/builder/debug-delegate.d.ts.map +1 -1
  1219. package/out/zql/src/builder/debug-delegate.js +68 -47
  1220. package/out/zql/src/builder/debug-delegate.js.map +1 -1
  1221. package/out/zql/src/builder/filter.js +132 -138
  1222. package/out/zql/src/builder/filter.js.map +1 -1
  1223. package/out/zql/src/builder/like.js +44 -51
  1224. package/out/zql/src/builder/like.js.map +1 -1
  1225. package/out/zql/src/error.d.ts +5 -0
  1226. package/out/zql/src/error.d.ts.map +1 -1
  1227. package/out/zql/src/error.js +18 -6
  1228. package/out/zql/src/error.js.map +1 -1
  1229. package/out/zql/src/ivm/array-view.js +86 -92
  1230. package/out/zql/src/ivm/array-view.js.map +1 -1
  1231. package/out/zql/src/ivm/constraint.js +74 -127
  1232. package/out/zql/src/ivm/constraint.js.map +1 -1
  1233. package/out/zql/src/ivm/data.d.ts +1 -1
  1234. package/out/zql/src/ivm/data.d.ts.map +1 -1
  1235. package/out/zql/src/ivm/data.js +59 -85
  1236. package/out/zql/src/ivm/data.js.map +1 -1
  1237. package/out/zql/src/ivm/exists.js +236 -243
  1238. package/out/zql/src/ivm/exists.js.map +1 -1
  1239. package/out/zql/src/ivm/fan-in.js +50 -51
  1240. package/out/zql/src/ivm/fan-in.js.map +1 -1
  1241. package/out/zql/src/ivm/fan-out.js +48 -50
  1242. package/out/zql/src/ivm/fan-out.js.map +1 -1
  1243. package/out/zql/src/ivm/filter-operators.js +87 -87
  1244. package/out/zql/src/ivm/filter-operators.js.map +1 -1
  1245. package/out/zql/src/ivm/filter-push.d.ts +1 -1
  1246. package/out/zql/src/ivm/filter-push.d.ts.map +1 -1
  1247. package/out/zql/src/ivm/filter-push.js +26 -23
  1248. package/out/zql/src/ivm/filter-push.js.map +1 -1
  1249. package/out/zql/src/ivm/filter.js +30 -32
  1250. package/out/zql/src/ivm/filter.js.map +1 -1
  1251. package/out/zql/src/ivm/flipped-join.js +343 -326
  1252. package/out/zql/src/ivm/flipped-join.js.map +1 -1
  1253. package/out/zql/src/ivm/join-utils.js +85 -79
  1254. package/out/zql/src/ivm/join-utils.js.map +1 -1
  1255. package/out/zql/src/ivm/join.js +287 -207
  1256. package/out/zql/src/ivm/join.js.map +1 -1
  1257. package/out/zql/src/ivm/maybe-split-and-push-edit-change.js +26 -24
  1258. package/out/zql/src/ivm/maybe-split-and-push-edit-change.js.map +1 -1
  1259. package/out/zql/src/ivm/memory-source.d.ts +4 -4
  1260. package/out/zql/src/ivm/memory-source.d.ts.map +1 -1
  1261. package/out/zql/src/ivm/memory-source.js +471 -489
  1262. package/out/zql/src/ivm/memory-source.js.map +1 -1
  1263. package/out/zql/src/ivm/memory-storage.js +32 -31
  1264. package/out/zql/src/ivm/memory-storage.js.map +1 -1
  1265. package/out/zql/src/ivm/operator.js +8 -9
  1266. package/out/zql/src/ivm/operator.js.map +1 -1
  1267. package/out/zql/src/ivm/push-accumulated.js +236 -305
  1268. package/out/zql/src/ivm/push-accumulated.js.map +1 -1
  1269. package/out/zql/src/ivm/skip.js +92 -106
  1270. package/out/zql/src/ivm/skip.js.map +1 -1
  1271. package/out/zql/src/ivm/source.d.ts +4 -2
  1272. package/out/zql/src/ivm/source.d.ts.map +1 -1
  1273. package/out/zql/src/ivm/stream.js +20 -16
  1274. package/out/zql/src/ivm/stream.js.map +1 -1
  1275. package/out/zql/src/ivm/take.d.ts +1 -1
  1276. package/out/zql/src/ivm/take.d.ts.map +1 -1
  1277. package/out/zql/src/ivm/take.js +502 -456
  1278. package/out/zql/src/ivm/take.js.map +1 -1
  1279. package/out/zql/src/ivm/union-fan-in.js +156 -134
  1280. package/out/zql/src/ivm/union-fan-in.js.map +1 -1
  1281. package/out/zql/src/ivm/union-fan-out.js +46 -45
  1282. package/out/zql/src/ivm/union-fan-out.js.map +1 -1
  1283. package/out/zql/src/ivm/view-apply-change.js +246 -216
  1284. package/out/zql/src/ivm/view-apply-change.js.map +1 -1
  1285. package/out/zql/src/ivm/view.d.ts +3 -2
  1286. package/out/zql/src/ivm/view.d.ts.map +1 -1
  1287. package/out/zql/src/mutate/custom.d.ts +26 -11
  1288. package/out/zql/src/mutate/custom.d.ts.map +1 -1
  1289. package/out/zql/src/mutate/custom.js +15 -7
  1290. package/out/zql/src/mutate/custom.js.map +1 -1
  1291. package/out/zql/src/mutate/mutator-registry.d.ts +93 -0
  1292. package/out/zql/src/mutate/mutator-registry.d.ts.map +1 -0
  1293. package/out/zql/src/mutate/mutator-registry.js +93 -0
  1294. package/out/zql/src/mutate/mutator-registry.js.map +1 -0
  1295. package/out/zql/src/mutate/mutator.d.ts +79 -0
  1296. package/out/zql/src/mutate/mutator.d.ts.map +1 -0
  1297. package/out/zql/src/mutate/mutator.js +31 -0
  1298. package/out/zql/src/mutate/mutator.js.map +1 -0
  1299. package/out/zql/src/planner/planner-builder.d.ts +15 -0
  1300. package/out/zql/src/planner/planner-builder.d.ts.map +1 -0
  1301. package/out/zql/src/planner/planner-builder.js +271 -0
  1302. package/out/zql/src/planner/planner-builder.js.map +1 -0
  1303. package/out/zql/src/planner/planner-connection.d.ts +124 -0
  1304. package/out/zql/src/planner/planner-connection.d.ts.map +1 -0
  1305. package/out/zql/src/planner/planner-connection.js +215 -0
  1306. package/out/zql/src/planner/planner-connection.js.map +1 -0
  1307. package/out/zql/src/planner/planner-constraint.d.ts +14 -0
  1308. package/out/zql/src/planner/planner-constraint.d.ts.map +1 -0
  1309. package/out/zql/src/planner/planner-constraint.js +9 -0
  1310. package/out/zql/src/planner/planner-constraint.js.map +1 -0
  1311. package/out/zql/src/planner/planner-debug.d.ts +143 -0
  1312. package/out/zql/src/planner/planner-debug.d.ts.map +1 -0
  1313. package/out/zql/src/planner/planner-debug.js +242 -0
  1314. package/out/zql/src/planner/planner-debug.js.map +1 -0
  1315. package/out/zql/src/planner/planner-fan-in.d.ts +39 -0
  1316. package/out/zql/src/planner/planner-fan-in.d.ts.map +1 -0
  1317. package/out/zql/src/planner/planner-fan-in.js +165 -0
  1318. package/out/zql/src/planner/planner-fan-in.js.map +1 -0
  1319. package/out/zql/src/planner/planner-fan-out.d.ts +23 -0
  1320. package/out/zql/src/planner/planner-fan-out.d.ts.map +1 -0
  1321. package/out/zql/src/planner/planner-fan-out.js +76 -0
  1322. package/out/zql/src/planner/planner-fan-out.js.map +1 -0
  1323. package/out/zql/src/planner/planner-graph.d.ts +102 -0
  1324. package/out/zql/src/planner/planner-graph.d.ts.map +1 -0
  1325. package/out/zql/src/planner/planner-graph.js +346 -0
  1326. package/out/zql/src/planner/planner-graph.js.map +1 -0
  1327. package/out/zql/src/planner/planner-join.d.ts +140 -0
  1328. package/out/zql/src/planner/planner-join.d.ts.map +1 -0
  1329. package/out/zql/src/planner/planner-join.js +244 -0
  1330. package/out/zql/src/planner/planner-join.js.map +1 -0
  1331. package/out/zql/src/planner/planner-node.d.ts +53 -0
  1332. package/out/zql/src/planner/planner-node.d.ts.map +1 -0
  1333. package/out/zql/src/planner/planner-node.js +8 -0
  1334. package/out/zql/src/planner/planner-node.js.map +1 -0
  1335. package/out/zql/src/planner/planner-source.d.ts +11 -0
  1336. package/out/zql/src/planner/planner-source.d.ts.map +1 -0
  1337. package/out/zql/src/planner/planner-source.js +24 -0
  1338. package/out/zql/src/planner/planner-source.js.map +1 -0
  1339. package/out/zql/src/planner/planner-terminus.d.ts +17 -0
  1340. package/out/zql/src/planner/planner-terminus.d.ts.map +1 -0
  1341. package/out/zql/src/planner/planner-terminus.js +29 -0
  1342. package/out/zql/src/planner/planner-terminus.js.map +1 -0
  1343. package/out/zql/src/query/complete-ordering.d.ts +5 -0
  1344. package/out/zql/src/query/complete-ordering.d.ts.map +1 -0
  1345. package/out/zql/src/query/complete-ordering.js +71 -0
  1346. package/out/zql/src/query/complete-ordering.js.map +1 -0
  1347. package/out/zql/src/query/create-builder.d.ts +7 -0
  1348. package/out/zql/src/query/create-builder.d.ts.map +1 -0
  1349. package/out/zql/src/query/create-builder.js +44 -0
  1350. package/out/zql/src/query/create-builder.js.map +1 -0
  1351. package/out/zql/src/query/error.d.ts +4 -0
  1352. package/out/zql/src/query/error.d.ts.map +1 -0
  1353. package/out/zql/src/query/error.js +13 -0
  1354. package/out/zql/src/query/error.js.map +1 -0
  1355. package/out/zql/src/query/escape-like.js +7 -0
  1356. package/out/zql/src/query/escape-like.js.map +1 -0
  1357. package/out/zql/src/query/expression.d.ts +5 -5
  1358. package/out/zql/src/query/expression.d.ts.map +1 -1
  1359. package/out/zql/src/query/expression.js +153 -151
  1360. package/out/zql/src/query/expression.js.map +1 -1
  1361. package/out/zql/src/query/measure-push-operator.js +42 -35
  1362. package/out/zql/src/query/measure-push-operator.js.map +1 -1
  1363. package/out/zql/src/query/metrics-delegate.js +9 -5
  1364. package/out/zql/src/query/metrics-delegate.js.map +1 -1
  1365. package/out/zql/src/query/named.d.ts +21 -12
  1366. package/out/zql/src/query/named.d.ts.map +1 -1
  1367. package/out/zql/src/query/named.js +47 -57
  1368. package/out/zql/src/query/named.js.map +1 -1
  1369. package/out/zql/src/query/query-delegate-base.d.ts +114 -0
  1370. package/out/zql/src/query/query-delegate-base.d.ts.map +1 -0
  1371. package/out/zql/src/query/query-delegate-base.js +120 -0
  1372. package/out/zql/src/query/query-delegate-base.js.map +1 -0
  1373. package/out/zql/src/query/query-delegate.d.ts +30 -7
  1374. package/out/zql/src/query/query-delegate.d.ts.map +1 -1
  1375. package/out/zql/src/query/query-impl.d.ts +29 -50
  1376. package/out/zql/src/query/query-impl.d.ts.map +1 -1
  1377. package/out/zql/src/query/query-impl.js +514 -453
  1378. package/out/zql/src/query/query-impl.js.map +1 -1
  1379. package/out/zql/src/query/query-internals.d.ts +68 -0
  1380. package/out/zql/src/query/query-internals.d.ts.map +1 -0
  1381. package/out/zql/src/query/query-internals.js +11 -0
  1382. package/out/zql/src/query/query-internals.js.map +1 -0
  1383. package/out/zql/src/query/query-registry.d.ts +163 -0
  1384. package/out/zql/src/query/query-registry.d.ts.map +1 -0
  1385. package/out/zql/src/query/query-registry.js +123 -0
  1386. package/out/zql/src/query/query-registry.js.map +1 -0
  1387. package/out/zql/src/query/query.d.ts +54 -250
  1388. package/out/zql/src/query/query.d.ts.map +1 -1
  1389. package/out/zql/src/query/schema-query.d.ts +6 -0
  1390. package/out/zql/src/query/schema-query.d.ts.map +1 -0
  1391. package/out/zql/src/query/static-query.d.ts +7 -16
  1392. package/out/zql/src/query/static-query.d.ts.map +1 -1
  1393. package/out/zql/src/query/static-query.js +44 -31
  1394. package/out/zql/src/query/static-query.js.map +1 -1
  1395. package/out/zql/src/query/ttl.js +69 -62
  1396. package/out/zql/src/query/ttl.js.map +1 -1
  1397. package/out/zql/src/query/typed-view.d.ts +1 -1
  1398. package/out/zql/src/query/typed-view.d.ts.map +1 -1
  1399. package/out/zql/src/query/validate-input.d.ts +15 -0
  1400. package/out/zql/src/query/validate-input.d.ts.map +1 -0
  1401. package/out/zql/src/query/validate-input.js +24 -0
  1402. package/out/zql/src/query/validate-input.js.map +1 -0
  1403. package/out/zqlite/src/database-storage.d.ts +1 -1
  1404. package/out/zqlite/src/database-storage.d.ts.map +1 -1
  1405. package/out/zqlite/src/database-storage.js +99 -102
  1406. package/out/zqlite/src/database-storage.js.map +1 -1
  1407. package/out/zqlite/src/db.d.ts +2 -1
  1408. package/out/zqlite/src/db.d.ts.map +1 -1
  1409. package/out/zqlite/src/db.js +241 -192
  1410. package/out/zqlite/src/db.js.map +1 -1
  1411. package/out/zqlite/src/explain-queries.js +13 -16
  1412. package/out/zqlite/src/explain-queries.js.map +1 -1
  1413. package/out/zqlite/src/internal/sql.js +15 -10
  1414. package/out/zqlite/src/internal/sql.js.map +1 -1
  1415. package/out/zqlite/src/internal/statement-cache.js +86 -110
  1416. package/out/zqlite/src/internal/statement-cache.js.map +1 -1
  1417. package/out/zqlite/src/query-builder.js +172 -143
  1418. package/out/zqlite/src/query-builder.js.map +1 -1
  1419. package/out/zqlite/src/query-delegate.d.ts +6 -20
  1420. package/out/zqlite/src/query-delegate.d.ts.map +1 -1
  1421. package/out/zqlite/src/query-delegate.js +56 -70
  1422. package/out/zqlite/src/query-delegate.js.map +1 -1
  1423. package/out/zqlite/src/sqlite-cost-model.d.ts +17 -0
  1424. package/out/zqlite/src/sqlite-cost-model.d.ts.map +1 -0
  1425. package/out/zqlite/src/sqlite-cost-model.js +110 -0
  1426. package/out/zqlite/src/sqlite-cost-model.js.map +1 -0
  1427. package/out/zqlite/src/sqlite-stat-fanout.d.ts +121 -0
  1428. package/out/zqlite/src/sqlite-stat-fanout.d.ts.map +1 -0
  1429. package/out/zqlite/src/sqlite-stat-fanout.js +301 -0
  1430. package/out/zqlite/src/sqlite-stat-fanout.js.map +1 -0
  1431. package/out/zqlite/src/table-source.d.ts +10 -5
  1432. package/out/zqlite/src/table-source.d.ts.map +1 -1
  1433. package/out/zqlite/src/table-source.js +424 -311
  1434. package/out/zqlite/src/table-source.js.map +1 -1
  1435. package/package.json +30 -29
  1436. package/out/chunk-424PT5DM.js +0 -23
  1437. package/out/chunk-424PT5DM.js.map +0 -7
  1438. package/out/chunk-4RB4OYLQ.js +0 -4125
  1439. package/out/chunk-4RB4OYLQ.js.map +0 -7
  1440. package/out/chunk-AFADJQ2O.js +0 -1
  1441. package/out/chunk-AFADJQ2O.js.map +0 -7
  1442. package/out/chunk-ASRS2LFV.js.map +0 -7
  1443. package/out/chunk-BJ2CGCME.js.map +0 -7
  1444. package/out/chunk-ECUMGQGC.js.map +0 -7
  1445. package/out/chunk-EZM3XBAB.js.map +0 -7
  1446. package/out/chunk-MXPHMVU7.js +0 -16350
  1447. package/out/chunk-MXPHMVU7.js.map +0 -7
  1448. package/out/chunk-VZOYWIRW.js.map +0 -7
  1449. package/out/chunk-ZZXMKAAG.js.map +0 -7
  1450. package/out/expo-sqlite.js +0 -11
  1451. package/out/expo-sqlite.js.map +0 -7
  1452. package/out/inspector-IU2HG74I.js.map +0 -7
  1453. package/out/lazy-inspector-2SW772W4.js +0 -574
  1454. package/out/lazy-inspector-2SW772W4.js.map +0 -7
  1455. package/out/op-sqlite.js.map +0 -7
  1456. package/out/react-native.js +0 -25
  1457. package/out/react-native.js.map +0 -7
  1458. package/out/react.js +0 -448
  1459. package/out/react.js.map +0 -7
  1460. package/out/shared/src/enum.js +0 -2
  1461. package/out/shared/src/enum.js.map +0 -1
  1462. package/out/shared/src/expand.js +0 -2
  1463. package/out/shared/src/expand.js.map +0 -1
  1464. package/out/shared/src/immutable.js +0 -2
  1465. package/out/shared/src/immutable.js.map +0 -1
  1466. package/out/shared/src/types.js +0 -2
  1467. package/out/shared/src/types.js.map +0 -1
  1468. package/out/shared/src/writable.js +0 -2
  1469. package/out/shared/src/writable.js.map +0 -1
  1470. package/out/solid.js.map +0 -7
  1471. package/out/sqlite.js +0 -15
  1472. package/out/sqlite.js.map +0 -7
  1473. package/out/zero/package.json +0 -192
  1474. package/out/zero/src/server/change-streamer.js +0 -2
  1475. package/out/zero/src/server/change-streamer.js.map +0 -1
  1476. package/out/zero/src/server/main.js +0 -2
  1477. package/out/zero/src/server/main.js.map +0 -1
  1478. package/out/zero/src/server/reaper.js +0 -2
  1479. package/out/zero/src/server/reaper.js.map +0 -1
  1480. package/out/zero/src/server/replicator.js +0 -2
  1481. package/out/zero/src/server/replicator.js.map +0 -1
  1482. package/out/zero/src/server/runner/main.js +0 -2
  1483. package/out/zero/src/server/runner/main.js.map +0 -1
  1484. package/out/zero/src/server/syncer.js +0 -2
  1485. package/out/zero/src/server/syncer.js.map +0 -1
  1486. package/out/zero-cache/src/services/change-source/pg/logical-replication/pgoutput.types.js +0 -4
  1487. package/out/zero-cache/src/services/change-source/pg/logical-replication/pgoutput.types.js.map +0 -1
  1488. package/out/zero-cache/src/services/change-source/protocol/mod.js +0 -5
  1489. package/out/zero-cache/src/services/change-source/protocol/mod.js.map +0 -1
  1490. package/out/zero-cache/src/services/service.js +0 -2
  1491. package/out/zero-cache/src/services/service.js.map +0 -1
  1492. package/out/zero-cache/src/services/view-syncer/key-columns.d.ts +0 -32
  1493. package/out/zero-cache/src/services/view-syncer/key-columns.d.ts.map +0 -1
  1494. package/out/zero-cache/src/services/view-syncer/key-columns.js +0 -73
  1495. package/out/zero-cache/src/services/view-syncer/key-columns.js.map +0 -1
  1496. package/out/zero-cache/src/types/error-for-client.d.ts +0 -23
  1497. package/out/zero-cache/src/types/error-for-client.d.ts.map +0 -1
  1498. package/out/zero-cache/src/types/error-for-client.js +0 -28
  1499. package/out/zero-cache/src/types/error-for-client.js.map +0 -1
  1500. package/out/zero-cache/src/types/satisfies.js +0 -2
  1501. package/out/zero-cache/src/types/satisfies.js.map +0 -1
  1502. package/out/zero-client/src/client/on-error.d.ts +0 -15
  1503. package/out/zero-client/src/client/on-error.d.ts.map +0 -1
  1504. package/out/zero-client/src/client/ping-result-enum.d.ts +0 -5
  1505. package/out/zero-client/src/client/ping-result-enum.d.ts.map +0 -1
  1506. package/out/zero-client/src/client/zero-log-context.d.ts +0 -7
  1507. package/out/zero-client/src/client/zero-log-context.d.ts.map +0 -1
  1508. package/out/zero-events/src/index.js +0 -2
  1509. package/out/zero-events/src/index.js.map +0 -1
  1510. package/out/zero-events/src/json.js +0 -2
  1511. package/out/zero-events/src/json.js.map +0 -1
  1512. package/out/zero-events/src/status.js +0 -3
  1513. package/out/zero-events/src/status.js.map +0 -1
  1514. package/out/zero-pg/src/mod.js +0 -6
  1515. package/out/zero-pg/src/mod.js.map +0 -1
  1516. package/out/zero-protocol/src/error-kind.js +0 -3
  1517. package/out/zero-protocol/src/error-kind.js.map +0 -1
  1518. package/out/zero-schema/src/server-schema.d.ts.map +0 -1
  1519. package/out/zero-schema/src/server-schema.js +0 -2
  1520. package/out/zero-schema/src/server-schema.js.map +0 -1
  1521. package/out/zero-schema/src/table-schema.js +0 -7
  1522. package/out/zero-schema/src/table-schema.js.map +0 -1
  1523. package/out/zero-server/src/mod.js +0 -8
  1524. package/out/zero-server/src/mod.js.map +0 -1
  1525. package/out/zero-server/src/query.d.ts +0 -22
  1526. package/out/zero-server/src/query.d.ts.map +0 -1
  1527. package/out/zero-server/src/query.js +0 -61
  1528. package/out/zero-server/src/query.js.map +0 -1
  1529. package/out/zero-types/src/schema-value.js +0 -2
  1530. package/out/zero-types/src/schema-value.js.map +0 -1
  1531. package/out/zero-types/src/schema.js +0 -2
  1532. package/out/zero-types/src/schema.js.map +0 -1
  1533. package/out/zero.js +0 -69
  1534. package/out/zero.js.map +0 -7
  1535. package/out/zql/src/ivm/change.js +0 -2
  1536. package/out/zql/src/ivm/change.js.map +0 -1
  1537. package/out/zql/src/ivm/default-format.js +0 -2
  1538. package/out/zql/src/ivm/default-format.js.map +0 -1
  1539. package/out/zql/src/ivm/schema.js +0 -2
  1540. package/out/zql/src/ivm/schema.js.map +0 -1
  1541. package/out/zql/src/ivm/source.js +0 -2
  1542. package/out/zql/src/ivm/source.js.map +0 -1
  1543. package/out/zql/src/ivm/view.js +0 -2
  1544. package/out/zql/src/ivm/view.js.map +0 -1
  1545. package/out/zql/src/query/query-delegate.js +0 -2
  1546. package/out/zql/src/query/query-delegate.js.map +0 -1
  1547. package/out/zql/src/query/query.js +0 -9
  1548. package/out/zql/src/query/query.js.map +0 -1
  1549. package/out/zql/src/query/typed-view.js +0 -2
  1550. package/out/zql/src/query/typed-view.js.map +0 -1
  1551. package/out/zqlite/src/mod.js +0 -5
  1552. package/out/zqlite/src/mod.js.map +0 -1
  1553. /package/out/{zero-schema → zero-types}/src/server-schema.d.ts +0 -0
@@ -1,265 +1,375 @@
1
+ import SQLite3Database from "@rocicorp/zero-sqlite3";
1
2
  import { timeSampled } from "../../otel/src/maybe-time.js";
2
3
  import { assert, unreachable } from "../../shared/src/asserts.js";
3
4
  import { must } from "../../shared/src/must.js";
4
- import { difference } from "../../shared/src/set-utils.js";
5
- import { createPredicate, transformFilters, } from "../../zql/src/builder/filter.js";
5
+ import { transformFilters, createPredicate } from "../../zql/src/builder/filter.js";
6
6
  import { makeComparator } from "../../zql/src/ivm/data.js";
7
- import { buildSelectQuery, toSQLiteType, } from "./query-builder.js";
8
- import { generateWithOverlay, generateWithStart, genPushAndWriteWithSplitEdit, } from "../../zql/src/ivm/memory-source.js";
9
- import { Database, Statement } from "./db.js";
10
- import { compile, format, sql } from "./internal/sql.js";
7
+ import { generateWithStart, generateWithOverlay, genPushAndWriteWithSplitEdit } from "../../zql/src/ivm/memory-source.js";
8
+ import { compile, sql, format } from "./internal/sql.js";
11
9
  import { StatementCache } from "./internal/statement-cache.js";
10
+ import { toSQLiteType, buildSelectQuery } from "./query-builder.js";
11
+ import { assertOrderingIncludesPK } from "../../zql/src/query/complete-ordering.js";
12
12
  let eventCount = 0;
13
- /**
14
- * A source that is backed by a SQLite table.
15
- *
16
- * Values are written to the backing table _after_ being vended by the source.
17
- *
18
- * This ordering of events is to ensure self joins function properly. That is,
19
- * we can't reveal a value to an output before it has been pushed to that output.
20
- *
21
- * The code is fairly straightforward except for:
22
- * 1. Dealing with a `fetch` that has a basis of `before`.
23
- * 2. Dealing with compound orders that have differing directions (a ASC, b DESC, c ASC)
24
- *
25
- * See comments in relevant functions for more details.
26
- */
27
- export class TableSource {
28
- #dbCache = new WeakMap();
29
- #connections = [];
30
- #table;
31
- #columns;
32
- // Maps sorted columns JSON string (e.g. '["a","b"]) to Set of columns.
33
- #uniqueIndexes;
34
- #primaryKey;
35
- #logConfig;
36
- #lc;
37
- #stmts;
38
- #overlay;
39
- constructor(logContext, logConfig, db, tableName, columns, primaryKey) {
40
- this.#lc = logContext;
41
- this.#logConfig = logConfig;
42
- this.#table = tableName;
43
- this.#columns = columns;
44
- this.#uniqueIndexes = getUniqueIndexes(db, tableName);
45
- this.#primaryKey = primaryKey;
46
- this.#stmts = this.#getStatementsFor(db);
47
- assert(this.#uniqueIndexes.has(JSON.stringify([...primaryKey].sort())), `primary key ${primaryKey} does not have a UNIQUE index`);
13
+ class TableSource {
14
+ #dbCache = /* @__PURE__ */ new WeakMap();
15
+ #connections = [];
16
+ #table;
17
+ #columns;
18
+ // Maps sorted columns JSON string (e.g. '["a","b"]) to Set of columns.
19
+ #uniqueIndexes;
20
+ #primaryKey;
21
+ #logConfig;
22
+ #lc;
23
+ #stmts;
24
+ #overlay;
25
+ constructor(logContext, logConfig, db, tableName, columns, primaryKey) {
26
+ this.#lc = logContext;
27
+ this.#logConfig = logConfig;
28
+ this.#table = tableName;
29
+ this.#columns = columns;
30
+ this.#uniqueIndexes = getUniqueIndexes(db, tableName);
31
+ this.#primaryKey = primaryKey;
32
+ this.#stmts = this.#getStatementsFor(db);
33
+ assert(
34
+ this.#uniqueIndexes.has(JSON.stringify([...primaryKey].sort())),
35
+ `primary key ${primaryKey} does not have a UNIQUE index`
36
+ );
37
+ }
38
+ get tableSchema() {
39
+ return {
40
+ name: this.#table,
41
+ columns: this.#columns,
42
+ primaryKey: this.#primaryKey
43
+ };
44
+ }
45
+ /**
46
+ * Sets the db (snapshot) to use, to facilitate the Snapshotter leapfrog
47
+ * algorithm for concurrent traversal of historic timelines.
48
+ */
49
+ setDB(db) {
50
+ this.#stmts = this.#getStatementsFor(db);
51
+ }
52
+ #getStatementsFor(db) {
53
+ const cached = this.#dbCache.get(db);
54
+ if (cached) {
55
+ return cached;
48
56
  }
49
- get table() {
50
- return this.#table;
51
- }
52
- /**
53
- * Sets the db (snapshot) to use, to facilitate the Snapshotter leapfrog
54
- * algorithm for concurrent traversal of historic timelines.
55
- */
56
- setDB(db) {
57
- this.#stmts = this.#getStatementsFor(db);
58
- }
59
- #getStatementsFor(db) {
60
- const cached = this.#dbCache.get(db);
61
- if (cached) {
62
- return cached;
63
- }
64
- const stmts = {
65
- cache: new StatementCache(db),
66
- insert: db.prepare(compile(sql `INSERT INTO ${sql.ident(this.#table)} (${sql.join(Object.keys(this.#columns).map(c => sql.ident(c)), ', ')}) VALUES (${sql.__dangerous__rawValue(Array.from({ length: Object.keys(this.#columns).length })
67
- .fill('?')
68
- .join(','))})`)),
69
- delete: db.prepare(compile(sql `DELETE FROM ${sql.ident(this.#table)} WHERE ${sql.join(this.#primaryKey.map(k => sql `${sql.ident(k)}=?`), ' AND ')}`)),
70
- // If all the columns are part of the primary key, we cannot use UPDATE.
71
- update: Object.keys(this.#columns).length > this.#primaryKey.length
72
- ? db.prepare(compile(sql `UPDATE ${sql.ident(this.#table)} SET ${sql.join(nonPrimaryKeys(this.#columns, this.#primaryKey).map(c => sql `${sql.ident(c)}=?`), ',')} WHERE ${sql.join(this.#primaryKey.map(k => sql `${sql.ident(k)}=?`), ' AND ')}`))
73
- : undefined,
74
- checkExists: db.prepare(compile(sql `SELECT 1 AS "exists" FROM ${sql.ident(this.#table)} WHERE ${sql.join(this.#primaryKey.map(k => sql `${sql.ident(k)}=?`), ' AND ')} LIMIT 1`)),
75
- getExisting: db.prepare(compile(sql `SELECT * FROM ${sql.ident(this.#table)} WHERE ${sql.join(this.#primaryKey.map(k => sql `${sql.ident(k)}=?`), ' AND ')}`)),
76
- };
77
- this.#dbCache.set(db, stmts);
78
- return stmts;
79
- }
80
- get #allColumns() {
81
- return sql.join(Object.keys(this.#columns).map(c => sql.ident(c)), sql `,`);
82
- }
83
- #getSchema(connection) {
84
- return {
85
- tableName: this.#table,
86
- columns: this.#columns,
87
- primaryKey: this.#selectPrimaryKeyFor(connection.sort),
88
- sort: connection.sort,
89
- relationships: {},
90
- isHidden: false,
91
- system: 'client',
92
- compareRows: connection.compareRows,
93
- };
94
- }
95
- connect(sort, filters, splitEditKeys, debug) {
96
- const transformedFilters = transformFilters(filters);
97
- const input = {
98
- getSchema: () => schema,
99
- fetch: req => this.#fetch(req, connection),
100
- cleanup: req => this.#cleanup(req, connection),
101
- setOutput: output => {
102
- connection.output = output;
103
- },
104
- destroy: () => {
105
- const idx = this.#connections.indexOf(connection);
106
- assert(idx !== -1, 'Connection not found');
107
- this.#connections.splice(idx, 1);
108
- },
109
- fullyAppliedFilters: !transformedFilters.conditionsRemoved,
110
- };
111
- const connection = {
112
- input,
113
- debug,
114
- output: undefined,
115
- sort,
116
- splitEditKeys,
117
- filters: transformedFilters.filters
118
- ? {
119
- condition: transformedFilters.filters,
120
- predicate: createPredicate(transformedFilters.filters),
121
- }
122
- : undefined,
123
- compareRows: makeComparator(sort),
124
- };
125
- const schema = this.#getSchema(connection);
126
- this.#connections.push(connection);
127
- return input;
128
- }
129
- toSQLiteRow(row) {
130
- return Object.fromEntries(Object.entries(row).map(([key, value]) => [
131
- key,
132
- toSQLiteType(value, this.#columns[key].type),
133
- ]));
134
- }
135
- #cleanup(req, connection) {
136
- return this.#fetch(req, connection);
137
- }
138
- *#fetch(req, connection) {
139
- const { sort, debug } = connection;
140
- const query = this.#requestToSQL(req, connection.filters?.condition, sort);
141
- const sqlAndBindings = format(query);
142
- const cachedStatement = this.#stmts.cache.get(sqlAndBindings.text);
143
- try {
144
- cachedStatement.statement.safeIntegers(true);
145
- const rowIterator = cachedStatement.statement.iterate(...sqlAndBindings.values);
146
- const callingConnectionIndex = this.#connections.indexOf(connection);
147
- assert(callingConnectionIndex !== -1, 'Connection not found');
148
- const comparator = makeComparator(sort, req.reverse);
149
- debug?.initQuery(this.#table, sqlAndBindings.text);
150
- yield* generateWithStart(generateWithOverlay(req.start?.row, this.#mapFromSQLiteTypes(this.#columns, rowIterator, sqlAndBindings.text, debug), req.constraint, this.#overlay, callingConnectionIndex, comparator, connection.filters?.predicate), req.start, comparator);
151
- }
152
- finally {
153
- this.#stmts.cache.return(cachedStatement);
154
- }
155
- }
156
- *#mapFromSQLiteTypes(valueTypes, rowIterator, query, debug) {
157
- let result;
158
- try {
159
- do {
160
- result = timeSampled(this.#lc, ++eventCount, this.#logConfig.ivmSampling, () => rowIterator.next(), this.#logConfig.slowRowThreshold, () => `table-source.next took too long for ${query}. Are you missing an index?`);
161
- if (result.done) {
162
- break;
163
- }
164
- const row = fromSQLiteTypes(valueTypes, result.value, this.#table);
165
- debug?.rowVended(this.#table, query, row);
166
- yield row;
167
- } while (!result.done);
57
+ const stmts = {
58
+ cache: new StatementCache(db),
59
+ insert: db.prepare(
60
+ compile(
61
+ sql`INSERT INTO ${sql.ident(this.#table)} (${sql.join(
62
+ Object.keys(this.#columns).map((c) => sql.ident(c)),
63
+ ", "
64
+ )}) VALUES (${sql.__dangerous__rawValue(
65
+ Array.from({ length: Object.keys(this.#columns).length }).fill("?").join(",")
66
+ )})`
67
+ )
68
+ ),
69
+ delete: db.prepare(
70
+ compile(
71
+ sql`DELETE FROM ${sql.ident(this.#table)} WHERE ${sql.join(
72
+ this.#primaryKey.map((k) => sql`${sql.ident(k)}=?`),
73
+ " AND "
74
+ )}`
75
+ )
76
+ ),
77
+ // If all the columns are part of the primary key, we cannot use UPDATE.
78
+ update: Object.keys(this.#columns).length > this.#primaryKey.length ? db.prepare(
79
+ compile(
80
+ sql`UPDATE ${sql.ident(this.#table)} SET ${sql.join(
81
+ nonPrimaryKeys(this.#columns, this.#primaryKey).map(
82
+ (c) => sql`${sql.ident(c)}=?`
83
+ ),
84
+ ","
85
+ )} WHERE ${sql.join(
86
+ this.#primaryKey.map((k) => sql`${sql.ident(k)}=?`),
87
+ " AND "
88
+ )}`
89
+ )
90
+ ) : void 0,
91
+ checkExists: db.prepare(
92
+ compile(
93
+ sql`SELECT 1 AS "exists" FROM ${sql.ident(
94
+ this.#table
95
+ )} WHERE ${sql.join(
96
+ this.#primaryKey.map((k) => sql`${sql.ident(k)}=?`),
97
+ " AND "
98
+ )} LIMIT 1`
99
+ )
100
+ ),
101
+ getExisting: db.prepare(
102
+ compile(
103
+ sql`SELECT * FROM ${sql.ident(this.#table)} WHERE ${sql.join(
104
+ this.#primaryKey.map((k) => sql`${sql.ident(k)}=?`),
105
+ " AND "
106
+ )}`
107
+ )
108
+ )
109
+ };
110
+ this.#dbCache.set(db, stmts);
111
+ return stmts;
112
+ }
113
+ get #allColumns() {
114
+ return sql.join(
115
+ Object.keys(this.#columns).map((c) => sql.ident(c)),
116
+ sql`,`
117
+ );
118
+ }
119
+ #getSchema(connection) {
120
+ return {
121
+ tableName: this.#table,
122
+ columns: this.#columns,
123
+ primaryKey: this.#primaryKey,
124
+ sort: connection.sort,
125
+ relationships: {},
126
+ isHidden: false,
127
+ system: "client",
128
+ compareRows: connection.compareRows
129
+ };
130
+ }
131
+ connect(sort, filters, splitEditKeys, debug) {
132
+ const transformedFilters = transformFilters(filters);
133
+ const input = {
134
+ getSchema: () => schema,
135
+ fetch: (req) => this.#fetch(req, connection),
136
+ cleanup: (req) => this.#cleanup(req, connection),
137
+ setOutput: (output) => {
138
+ connection.output = output;
139
+ },
140
+ destroy: () => {
141
+ const idx = this.#connections.indexOf(connection);
142
+ assert(idx !== -1, "Connection not found");
143
+ this.#connections.splice(idx, 1);
144
+ },
145
+ fullyAppliedFilters: !transformedFilters.conditionsRemoved
146
+ };
147
+ const connection = {
148
+ input,
149
+ debug,
150
+ output: void 0,
151
+ sort,
152
+ splitEditKeys,
153
+ filters: transformedFilters.filters ? {
154
+ condition: transformedFilters.filters,
155
+ predicate: createPredicate(transformedFilters.filters)
156
+ } : void 0,
157
+ compareRows: makeComparator(sort)
158
+ };
159
+ const schema = this.#getSchema(connection);
160
+ assertOrderingIncludesPK(sort, this.#primaryKey);
161
+ this.#connections.push(connection);
162
+ return input;
163
+ }
164
+ toSQLiteRow(row) {
165
+ return Object.fromEntries(
166
+ Object.entries(row).map(([key, value]) => [
167
+ key,
168
+ toSQLiteType(value, this.#columns[key].type)
169
+ ])
170
+ );
171
+ }
172
+ #cleanup(req, connection) {
173
+ return this.#fetch(req, connection);
174
+ }
175
+ *#fetch(req, connection) {
176
+ const { sort, debug } = connection;
177
+ const query = this.#requestToSQL(req, connection.filters?.condition, sort);
178
+ const sqlAndBindings = format(query);
179
+ const cachedStatement = this.#stmts.cache.get(sqlAndBindings.text);
180
+ try {
181
+ cachedStatement.statement.safeIntegers(true);
182
+ const rowIterator = cachedStatement.statement.iterate(
183
+ ...sqlAndBindings.values
184
+ );
185
+ const callingConnectionIndex = this.#connections.indexOf(connection);
186
+ assert(callingConnectionIndex !== -1, "Connection not found");
187
+ const comparator = makeComparator(sort, req.reverse);
188
+ debug?.initQuery(this.#table, sqlAndBindings.text);
189
+ yield* generateWithStart(
190
+ generateWithOverlay(
191
+ req.start?.row,
192
+ this.#mapFromSQLiteTypes(
193
+ this.#columns,
194
+ rowIterator,
195
+ sqlAndBindings.text,
196
+ debug
197
+ ),
198
+ req.constraint,
199
+ this.#overlay,
200
+ callingConnectionIndex,
201
+ comparator,
202
+ connection.filters?.predicate
203
+ ),
204
+ req.start,
205
+ comparator
206
+ );
207
+ } finally {
208
+ if (debug) {
209
+ let totalNvisit = 0;
210
+ let i = 0;
211
+ while (true) {
212
+ const nvisit = cachedStatement.statement.scanStatus(
213
+ i++,
214
+ SQLite3Database.SQLITE_SCANSTAT_NVISIT,
215
+ 1
216
+ );
217
+ if (nvisit === void 0) {
218
+ break;
219
+ }
220
+ totalNvisit += Number(nvisit);
168
221
  }
169
- finally {
170
- rowIterator.return?.();
222
+ if (totalNvisit !== 0) {
223
+ debug.recordNVisit(this.#table, sqlAndBindings.text, totalNvisit);
171
224
  }
225
+ cachedStatement.statement.scanStatusReset();
226
+ }
227
+ this.#stmts.cache.return(cachedStatement);
172
228
  }
173
- push(change) {
174
- for (const _ of this.genPush(change)) {
175
- // Nothing to do.
229
+ }
230
+ *#mapFromSQLiteTypes(valueTypes, rowIterator, query, debug) {
231
+ let result;
232
+ try {
233
+ do {
234
+ result = timeSampled(
235
+ this.#lc,
236
+ ++eventCount,
237
+ this.#logConfig.ivmSampling,
238
+ () => rowIterator.next(),
239
+ this.#logConfig.slowRowThreshold,
240
+ () => `table-source.next took too long for ${query}. Are you missing an index?`
241
+ );
242
+ if (result.done) {
243
+ break;
176
244
  }
245
+ const row = fromSQLiteTypes(valueTypes, result.value, this.#table);
246
+ debug?.rowVended(this.#table, query, row);
247
+ yield row;
248
+ } while (!result.done);
249
+ } finally {
250
+ rowIterator.return?.();
177
251
  }
178
- *genPush(change) {
179
- const exists = (row) => this.#stmts.checkExists.get(...toSQLiteTypes(this.#primaryKey, row, this.#columns))?.exists === 1;
180
- const setOverlay = (o) => (this.#overlay = o);
181
- const writeChange = (c) => this.#writeChange(c);
182
- yield* genPushAndWriteWithSplitEdit(this.#connections, change, exists, setOverlay, writeChange);
252
+ }
253
+ push(change) {
254
+ for (const _ of this.genPush(change)) {
183
255
  }
184
- #writeChange(change) {
185
- switch (change.type) {
186
- case 'add':
187
- this.#stmts.insert.run(...toSQLiteTypes(Object.keys(this.#columns), change.row, this.#columns));
188
- break;
189
- case 'remove':
190
- this.#stmts.delete.run(...toSQLiteTypes(this.#primaryKey, change.row, this.#columns));
191
- break;
192
- case 'edit': {
193
- // If the PK is the same, use UPDATE.
194
- if (canUseUpdate(change.oldRow, change.row, this.#columns, this.#primaryKey)) {
195
- const mergedRow = {
196
- ...change.oldRow,
197
- ...change.row,
198
- };
199
- const params = [
200
- ...nonPrimaryValues(this.#columns, this.#primaryKey, mergedRow),
201
- ...toSQLiteTypes(this.#primaryKey, mergedRow, this.#columns),
202
- ];
203
- must(this.#stmts.update).run(params);
204
- }
205
- else {
206
- this.#stmts.delete.run(...toSQLiteTypes(this.#primaryKey, change.oldRow, this.#columns));
207
- this.#stmts.insert.run(...toSQLiteTypes(Object.keys(this.#columns), change.row, this.#columns));
208
- }
209
- break;
210
- }
211
- default:
212
- unreachable(change);
256
+ }
257
+ *genPush(change) {
258
+ const exists = (row) => this.#stmts.checkExists.get(
259
+ ...toSQLiteTypes(this.#primaryKey, row, this.#columns)
260
+ )?.exists === 1;
261
+ const setOverlay = (o) => this.#overlay = o;
262
+ const writeChange = (c) => this.#writeChange(c);
263
+ yield* genPushAndWriteWithSplitEdit(
264
+ this.#connections,
265
+ change,
266
+ exists,
267
+ setOverlay,
268
+ writeChange
269
+ );
270
+ }
271
+ #writeChange(change) {
272
+ switch (change.type) {
273
+ case "add":
274
+ this.#stmts.insert.run(
275
+ ...toSQLiteTypes(
276
+ Object.keys(this.#columns),
277
+ change.row,
278
+ this.#columns
279
+ )
280
+ );
281
+ break;
282
+ case "remove":
283
+ this.#stmts.delete.run(
284
+ ...toSQLiteTypes(this.#primaryKey, change.row, this.#columns)
285
+ );
286
+ break;
287
+ case "edit": {
288
+ if (canUseUpdate(
289
+ change.oldRow,
290
+ change.row,
291
+ this.#columns,
292
+ this.#primaryKey
293
+ )) {
294
+ const mergedRow = {
295
+ ...change.oldRow,
296
+ ...change.row
297
+ };
298
+ const params = [
299
+ ...nonPrimaryValues(this.#columns, this.#primaryKey, mergedRow),
300
+ ...toSQLiteTypes(this.#primaryKey, mergedRow, this.#columns)
301
+ ];
302
+ must(this.#stmts.update).run(params);
303
+ } else {
304
+ this.#stmts.delete.run(
305
+ ...toSQLiteTypes(this.#primaryKey, change.oldRow, this.#columns)
306
+ );
307
+ this.#stmts.insert.run(
308
+ ...toSQLiteTypes(
309
+ Object.keys(this.#columns),
310
+ change.row,
311
+ this.#columns
312
+ )
313
+ );
213
314
  }
315
+ break;
316
+ }
317
+ default:
318
+ unreachable();
214
319
  }
215
- #getRowStmtCache = new Map();
216
- #getRowStmt(keyCols) {
217
- const keyString = JSON.stringify(keyCols);
218
- let stmt = this.#getRowStmtCache.get(keyString);
219
- if (!stmt) {
220
- stmt = compile(sql `SELECT ${this.#allColumns} FROM ${sql.ident(this.#table)} WHERE ${sql.join(keyCols.map(k => sql `${sql.ident(k)}=?`), sql ` AND`)}`);
221
- this.#getRowStmtCache.set(keyString, stmt);
222
- }
223
- return stmt;
224
- }
225
- /**
226
- * Retrieves a row from the backing DB by a unique key, or `undefined` if such a
227
- * row does not exist. This is not used in the IVM pipeline but is useful
228
- * for retrieving data that is consistent with the state (and type
229
- * semantics) of the pipeline. Note that this key may not necessarily correspond
230
- * to the `primaryKey` with which this TableSource.
231
- */
232
- getRow(rowKey) {
233
- const keyCols = Object.keys(rowKey);
234
- const keyVals = Object.values(rowKey);
235
- const stmt = this.#getRowStmt(keyCols);
236
- const row = this.#stmts.cache.use(stmt, cached => cached.statement.safeIntegers(true).get(keyVals));
237
- if (row) {
238
- return fromSQLiteTypes(this.#columns, row, this.#table);
239
- }
240
- return row;
320
+ }
321
+ #getRowStmtCache = /* @__PURE__ */ new Map();
322
+ #getRowStmt(keyCols) {
323
+ const keyString = JSON.stringify(keyCols);
324
+ let stmt = this.#getRowStmtCache.get(keyString);
325
+ if (!stmt) {
326
+ stmt = compile(
327
+ sql`SELECT ${this.#allColumns} FROM ${sql.ident(
328
+ this.#table
329
+ )} WHERE ${sql.join(
330
+ keyCols.map((k) => sql`${sql.ident(k)}=?`),
331
+ sql` AND`
332
+ )}`
333
+ );
334
+ this.#getRowStmtCache.set(keyString, stmt);
241
335
  }
242
- #requestToSQL(request, filters, order) {
243
- return buildSelectQuery(this.#table, this.#columns, request.constraint, filters, order, request.reverse, request.start);
244
- }
245
- #selectPrimaryKeyFor(sort) {
246
- const columns = new Set(sort.map(([col]) => col));
247
- for (const uniqueColumns of this.#uniqueIndexes.values()) {
248
- if (difference(uniqueColumns, columns).size === 0) {
249
- assert(uniqueColumns.size > 0);
250
- return [...uniqueColumns];
251
- }
252
- }
253
- throw new Error(`Cannot orderBy(${JSON.stringify(sort.map(([c]) => c))}). ` +
254
- (sort.length === 1
255
- ? `The column must be unique. `
256
- : `One or more columns must form a unique index. `) +
257
- `Did you forget to include a primary key or ` +
258
- `(non-null) unique index on the "${this.#table}" table?`);
336
+ return stmt;
337
+ }
338
+ /**
339
+ * Retrieves a row from the backing DB by a unique key, or `undefined` if such a
340
+ * row does not exist. This is not used in the IVM pipeline but is useful
341
+ * for retrieving data that is consistent with the state (and type
342
+ * semantics) of the pipeline. Note that this key may not necessarily correspond
343
+ * to the `primaryKey` with which this TableSource.
344
+ */
345
+ getRow(rowKey) {
346
+ const keyCols = Object.keys(rowKey);
347
+ const keyVals = Object.values(rowKey);
348
+ const stmt = this.#getRowStmt(keyCols);
349
+ const row = this.#stmts.cache.use(
350
+ stmt,
351
+ (cached) => cached.statement.safeIntegers(true).get(keyVals)
352
+ );
353
+ if (row) {
354
+ return fromSQLiteTypes(this.#columns, row, this.#table);
259
355
  }
356
+ return row;
357
+ }
358
+ #requestToSQL(request, filters, order) {
359
+ return buildSelectQuery(
360
+ this.#table,
361
+ this.#columns,
362
+ request.constraint,
363
+ filters,
364
+ order,
365
+ request.reverse,
366
+ request.start
367
+ );
368
+ }
260
369
  }
261
370
  function getUniqueIndexes(db, tableName) {
262
- const sqlAndBindings = format(sql `
371
+ const sqlAndBindings = format(
372
+ sql`
263
373
  SELECT idx.name, json_group_array(col.name) as columnsJSON
264
374
  FROM sqlite_master as idx
265
375
  JOIN pragma_index_list(idx.tbl_name) AS info ON info.name = idx.name
@@ -268,85 +378,88 @@ function getUniqueIndexes(db, tableName) {
268
378
  idx.type = 'index' AND
269
379
  info."unique" != 0
270
380
  GROUP BY idx.name
271
- ORDER BY idx.name`);
272
- const stmt = db.prepare(sqlAndBindings.text);
273
- const indexes = stmt.all(...sqlAndBindings.values);
274
- return new Map(indexes.map(({ columnsJSON }) => {
275
- const columns = JSON.parse(columnsJSON);
276
- const set = new Set(columns);
277
- return [JSON.stringify(columns.sort()), set];
278
- }));
279
- }
280
- export function toSQLiteTypes(columns, row, columnTypes) {
281
- return columns.map(col => toSQLiteType(row[col], columnTypes[col].type));
381
+ ORDER BY idx.name`
382
+ );
383
+ const stmt = db.prepare(sqlAndBindings.text);
384
+ const indexes = stmt.all(...sqlAndBindings.values);
385
+ return new Map(
386
+ indexes.map(({ columnsJSON }) => {
387
+ const columns = JSON.parse(columnsJSON);
388
+ const set = new Set(columns);
389
+ return [JSON.stringify(columns.sort()), set];
390
+ })
391
+ );
282
392
  }
283
- export function toSQLiteTypeName(type) {
284
- switch (type) {
285
- case 'boolean':
286
- return 'INTEGER';
287
- case 'number':
288
- return 'REAL';
289
- case 'string':
290
- return 'TEXT';
291
- case 'null':
292
- return 'NULL';
293
- case 'json':
294
- return 'TEXT';
295
- }
393
+ function toSQLiteTypes(columns, row, columnTypes) {
394
+ return columns.map((col) => toSQLiteType(row[col], columnTypes[col].type));
296
395
  }
297
- export function fromSQLiteTypes(valueTypes, row, tableName) {
298
- const newRow = {};
299
- for (const key of Object.keys(row)) {
300
- const valueType = valueTypes[key];
301
- if (valueType === undefined) {
302
- const columnList = Object.keys(valueTypes).sort().join(', ');
303
- throw new Error(`Invalid column "${key}" for table "${tableName}". Synced columns include ${columnList}`);
304
- }
305
- newRow[key] = fromSQLiteType(valueType.type, row[key], key, tableName);
396
+ function fromSQLiteTypes(valueTypes, row, tableName) {
397
+ const newRow = {};
398
+ for (const key of Object.keys(row)) {
399
+ const valueType = valueTypes[key];
400
+ if (valueType === void 0) {
401
+ const columnList = Object.keys(valueTypes).sort().join(", ");
402
+ throw new Error(
403
+ `Invalid column "${key}" for table "${tableName}". Synced columns include ${columnList}`
404
+ );
306
405
  }
307
- return newRow;
406
+ newRow[key] = fromSQLiteType(valueType.type, row[key], key, tableName);
407
+ }
408
+ return newRow;
308
409
  }
309
410
  function fromSQLiteType(valueType, v, column, tableName) {
310
- if (v === null) {
311
- return null;
312
- }
313
- switch (valueType) {
314
- case 'boolean':
315
- return !!v;
316
- case 'number':
317
- case 'string':
318
- case 'null':
319
- if (typeof v === 'bigint') {
320
- if (v > Number.MAX_SAFE_INTEGER || v < Number.MIN_SAFE_INTEGER) {
321
- throw new UnsupportedValueError(`value ${v} (in ${tableName}.${column}) is outside of supported bounds`);
322
- }
323
- return Number(v);
324
- }
325
- return v;
326
- case 'json':
327
- try {
328
- return JSON.parse(v);
329
- }
330
- catch (error) {
331
- const errorMessage = error instanceof Error ? error.message : String(error);
332
- throw new UnsupportedValueError(`Failed to parse JSON for ${tableName}.${column}: ${errorMessage}`, { cause: error });
333
- }
334
- }
411
+ if (v === null) {
412
+ return null;
413
+ }
414
+ switch (valueType) {
415
+ case "boolean":
416
+ return !!v;
417
+ case "number":
418
+ case "string":
419
+ case "null":
420
+ if (typeof v === "bigint") {
421
+ if (v > Number.MAX_SAFE_INTEGER || v < Number.MIN_SAFE_INTEGER) {
422
+ throw new UnsupportedValueError(
423
+ `value ${v} (in ${tableName}.${column}) is outside of supported bounds`
424
+ );
425
+ }
426
+ return Number(v);
427
+ }
428
+ return v;
429
+ case "json":
430
+ try {
431
+ return JSON.parse(v);
432
+ } catch (error) {
433
+ const errorMessage = error instanceof Error ? error.message : String(error);
434
+ throw new UnsupportedValueError(
435
+ `Failed to parse JSON for ${tableName}.${column}: ${errorMessage}`,
436
+ { cause: error }
437
+ );
438
+ }
439
+ }
335
440
  }
336
- export class UnsupportedValueError extends Error {
441
+ class UnsupportedValueError extends Error {
337
442
  }
338
443
  function canUseUpdate(oldRow, row, columns, primaryKey) {
339
- for (const pk of primaryKey) {
340
- if (oldRow[pk] !== row[pk]) {
341
- return false;
342
- }
444
+ for (const pk of primaryKey) {
445
+ if (oldRow[pk] !== row[pk]) {
446
+ return false;
343
447
  }
344
- return Object.keys(columns).length > primaryKey.length;
448
+ }
449
+ return Object.keys(columns).length > primaryKey.length;
345
450
  }
346
451
  function nonPrimaryValues(columns, primaryKey, row) {
347
- return nonPrimaryKeys(columns, primaryKey).map(c => toSQLiteType(row[c], columns[c].type));
452
+ return nonPrimaryKeys(columns, primaryKey).map(
453
+ (c) => toSQLiteType(row[c], columns[c].type)
454
+ );
348
455
  }
349
456
  function nonPrimaryKeys(columns, primaryKey) {
350
- return Object.keys(columns).filter(c => !primaryKey.includes(c));
457
+ return Object.keys(columns).filter((c) => !primaryKey.includes(c));
351
458
  }
352
- //# sourceMappingURL=table-source.js.map
459
+ export {
460
+ TableSource,
461
+ UnsupportedValueError,
462
+ fromSQLiteTypes,
463
+ toSQLiteTypes
464
+ };
465
+ //# sourceMappingURL=table-source.js.map