@rocicorp/zero 0.25.0-canary.1 → 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 (1504) 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 +2 -1
  64. package/out/replicache/src/dag/lazy-store.d.ts.map +1 -1
  65. package/out/replicache/src/dag/lazy-store.js +515 -0
  66. package/out/replicache/src/dag/lazy-store.js.map +1 -0
  67. package/out/replicache/src/dag/store-impl.js +183 -0
  68. package/out/replicache/src/dag/store-impl.js.map +1 -0
  69. package/out/replicache/src/dag/store.js +27 -0
  70. package/out/replicache/src/dag/store.js.map +1 -0
  71. package/out/replicache/src/dag/visitor.js +22 -0
  72. package/out/replicache/src/dag/visitor.js.map +1 -0
  73. package/out/replicache/src/db/commit.js +358 -0
  74. package/out/replicache/src/db/commit.js.map +1 -0
  75. package/out/replicache/src/db/index-operation-enum.js +7 -0
  76. package/out/replicache/src/db/index-operation-enum.js.map +1 -0
  77. package/out/replicache/src/db/index.js +134 -0
  78. package/out/replicache/src/db/index.js.map +1 -0
  79. package/out/replicache/src/db/meta-type-enum.js +7 -0
  80. package/out/replicache/src/db/meta-type-enum.js.map +1 -0
  81. package/out/replicache/src/db/read.d.ts +3 -2
  82. package/out/replicache/src/db/read.d.ts.map +1 -1
  83. package/out/replicache/src/db/read.js +72 -0
  84. package/out/replicache/src/db/read.js.map +1 -0
  85. package/out/replicache/src/db/rebase.d.ts +2 -2
  86. package/out/replicache/src/db/rebase.d.ts.map +1 -1
  87. package/out/replicache/src/db/rebase.js +85 -0
  88. package/out/replicache/src/db/rebase.js.map +1 -0
  89. package/out/replicache/src/db/write.d.ts +2 -1
  90. package/out/replicache/src/db/write.d.ts.map +1 -1
  91. package/out/replicache/src/db/write.js +296 -0
  92. package/out/replicache/src/db/write.js.map +1 -0
  93. package/out/replicache/src/deleted-clients.js +104 -0
  94. package/out/replicache/src/deleted-clients.js.map +1 -0
  95. package/out/replicache/src/error-responses.js +34 -0
  96. package/out/replicache/src/error-responses.js.map +1 -0
  97. package/out/replicache/src/format-version-enum.js +11 -0
  98. package/out/replicache/src/format-version-enum.js.map +1 -0
  99. package/out/{chunk-EZM3XBAB.js → replicache/src/frozen-json.js} +8 -75
  100. package/out/replicache/src/frozen-json.js.map +1 -0
  101. package/out/replicache/src/get-default-puller.js +61 -0
  102. package/out/replicache/src/get-default-puller.js.map +1 -0
  103. package/out/replicache/src/get-default-pusher.js +39 -0
  104. package/out/replicache/src/get-default-pusher.js.map +1 -0
  105. package/out/replicache/src/get-kv-store-provider.js +23 -0
  106. package/out/replicache/src/get-kv-store-provider.js.map +1 -0
  107. package/out/replicache/src/hash.js +38 -0
  108. package/out/replicache/src/hash.js.map +1 -0
  109. package/out/replicache/src/http-request-info.js +10 -0
  110. package/out/replicache/src/http-request-info.js.map +1 -0
  111. package/out/replicache/src/http-status-unauthorized.js +5 -0
  112. package/out/replicache/src/http-status-unauthorized.js.map +1 -0
  113. package/out/replicache/src/index-defs.js +32 -0
  114. package/out/replicache/src/index-defs.js.map +1 -0
  115. package/out/replicache/src/invoke-kind-enum.js +7 -0
  116. package/out/replicache/src/invoke-kind-enum.js.map +1 -0
  117. package/out/{chunk-ZZXMKAAG.js → replicache/src/kv/expo-sqlite/store.js} +8 -16
  118. package/out/replicache/src/kv/expo-sqlite/store.js.map +1 -0
  119. package/out/replicache/src/kv/idb-store-with-mem-fallback.js +80 -0
  120. package/out/replicache/src/kv/idb-store-with-mem-fallback.js.map +1 -0
  121. package/out/replicache/src/kv/idb-store.js +183 -0
  122. package/out/replicache/src/kv/idb-store.js.map +1 -0
  123. package/out/replicache/src/kv/mem-store.js +51 -0
  124. package/out/replicache/src/kv/mem-store.js.map +1 -0
  125. package/out/{op-sqlite.js → replicache/src/kv/op-sqlite/store.js} +7 -18
  126. package/out/replicache/src/kv/op-sqlite/store.js.map +1 -0
  127. package/out/replicache/src/kv/op-sqlite/types.js +6 -0
  128. package/out/replicache/src/kv/op-sqlite/types.js.map +1 -0
  129. package/out/replicache/src/kv/read-impl.js +27 -0
  130. package/out/replicache/src/kv/read-impl.js.map +1 -0
  131. package/out/replicache/src/kv/sqlite-store.d.ts.map +1 -1
  132. package/out/{chunk-ECUMGQGC.js → replicache/src/kv/sqlite-store.js} +27 -21
  133. package/out/replicache/src/kv/sqlite-store.js.map +1 -0
  134. package/out/{chunk-ASRS2LFV.js → replicache/src/kv/throw-if-closed.js} +4 -6
  135. package/out/replicache/src/kv/throw-if-closed.js.map +1 -0
  136. package/out/replicache/src/kv/write-impl-base.js +57 -0
  137. package/out/replicache/src/kv/write-impl-base.js.map +1 -0
  138. package/out/replicache/src/kv/write-impl.js +30 -0
  139. package/out/replicache/src/kv/write-impl.js.map +1 -0
  140. package/out/replicache/src/lazy.js +13 -0
  141. package/out/replicache/src/lazy.js.map +1 -0
  142. package/out/replicache/src/log-options.js +9 -0
  143. package/out/replicache/src/log-options.js.map +1 -0
  144. package/out/replicache/src/make-idb-name.js +13 -0
  145. package/out/replicache/src/make-idb-name.js.map +1 -0
  146. package/out/replicache/src/new-client-channel.js +51 -0
  147. package/out/replicache/src/new-client-channel.js.map +1 -0
  148. package/out/replicache/src/on-persist-channel.js +36 -0
  149. package/out/replicache/src/on-persist-channel.js.map +1 -0
  150. package/out/replicache/src/patch-operation.js +42 -0
  151. package/out/replicache/src/patch-operation.js.map +1 -0
  152. package/out/replicache/src/pending-mutations.js +16 -0
  153. package/out/replicache/src/pending-mutations.js.map +1 -0
  154. package/out/replicache/src/persist/client-gc.js +58 -0
  155. package/out/replicache/src/persist/client-gc.js.map +1 -0
  156. package/out/replicache/src/persist/client-group-gc.js +43 -0
  157. package/out/replicache/src/persist/client-group-gc.js.map +1 -0
  158. package/out/replicache/src/persist/client-groups.js +184 -0
  159. package/out/replicache/src/persist/client-groups.js.map +1 -0
  160. package/out/replicache/src/persist/clients.d.ts +3 -2
  161. package/out/replicache/src/persist/clients.d.ts.map +1 -1
  162. package/out/replicache/src/persist/clients.js +353 -0
  163. package/out/replicache/src/persist/clients.js.map +1 -0
  164. package/out/replicache/src/persist/collect-idb-databases.js +188 -0
  165. package/out/replicache/src/persist/collect-idb-databases.js.map +1 -0
  166. package/out/replicache/src/persist/gather-mem-only-visitor.js +27 -0
  167. package/out/replicache/src/persist/gather-mem-only-visitor.js.map +1 -0
  168. package/out/replicache/src/persist/gather-not-cached-visitor.js +37 -0
  169. package/out/replicache/src/persist/gather-not-cached-visitor.js.map +1 -0
  170. package/out/replicache/src/persist/heartbeat.js +48 -0
  171. package/out/replicache/src/persist/heartbeat.js.map +1 -0
  172. package/out/replicache/src/persist/idb-databases-store-db-name.js +14 -0
  173. package/out/replicache/src/persist/idb-databases-store-db-name.js.map +1 -0
  174. package/out/replicache/src/persist/idb-databases-store.js +92 -0
  175. package/out/replicache/src/persist/idb-databases-store.js.map +1 -0
  176. package/out/replicache/src/persist/make-client-id.js +12 -0
  177. package/out/replicache/src/persist/make-client-id.js.map +1 -0
  178. package/out/replicache/src/persist/persist.d.ts +2 -2
  179. package/out/replicache/src/persist/persist.d.ts.map +1 -1
  180. package/out/replicache/src/persist/persist.js +183 -0
  181. package/out/replicache/src/persist/persist.js.map +1 -0
  182. package/out/replicache/src/persist/refresh.d.ts +4 -3
  183. package/out/replicache/src/persist/refresh.d.ts.map +1 -1
  184. package/out/replicache/src/persist/refresh.js +198 -0
  185. package/out/replicache/src/persist/refresh.js.map +1 -0
  186. package/out/replicache/src/process-scheduler.js +96 -0
  187. package/out/replicache/src/process-scheduler.js.map +1 -0
  188. package/out/replicache/src/pusher.js +33 -0
  189. package/out/replicache/src/pusher.js.map +1 -0
  190. package/out/replicache/src/replicache-impl.d.ts +1 -1
  191. package/out/replicache/src/replicache-impl.d.ts.map +1 -1
  192. package/out/replicache/src/replicache-impl.js +1200 -0
  193. package/out/replicache/src/replicache-impl.js.map +1 -0
  194. package/out/replicache/src/replicache-options.d.ts +3 -2
  195. package/out/replicache/src/replicache-options.d.ts.map +1 -1
  196. package/out/replicache/src/report-error.js +6 -0
  197. package/out/replicache/src/report-error.js.map +1 -0
  198. package/out/replicache/src/request-idle.js +13 -0
  199. package/out/replicache/src/request-idle.js.map +1 -0
  200. package/out/replicache/src/scan-iterator.js +146 -0
  201. package/out/replicache/src/scan-iterator.js.map +1 -0
  202. package/out/replicache/src/scan-options.js +45 -0
  203. package/out/replicache/src/scan-options.js.map +1 -0
  204. package/out/replicache/src/set-interval-with-signal.js +12 -0
  205. package/out/replicache/src/set-interval-with-signal.js.map +1 -0
  206. package/out/replicache/src/subscriptions.js +355 -0
  207. package/out/replicache/src/subscriptions.js.map +1 -0
  208. package/out/replicache/src/sync/diff.d.ts +3 -2
  209. package/out/replicache/src/sync/diff.d.ts.map +1 -1
  210. package/out/replicache/src/sync/diff.js +72 -0
  211. package/out/replicache/src/sync/diff.js.map +1 -0
  212. package/out/replicache/src/sync/handle-pull-response-result-type-enum.js +9 -0
  213. package/out/replicache/src/sync/handle-pull-response-result-type-enum.js.map +1 -0
  214. package/out/replicache/src/sync/ids.js +9 -0
  215. package/out/replicache/src/sync/ids.js.map +1 -0
  216. package/out/replicache/src/sync/patch.js +49 -0
  217. package/out/replicache/src/sync/patch.js.map +1 -0
  218. package/out/replicache/src/sync/pull-error.js +16 -0
  219. package/out/replicache/src/sync/pull-error.js.map +1 -0
  220. package/out/replicache/src/sync/pull.d.ts +3 -2
  221. package/out/replicache/src/sync/pull.d.ts.map +1 -1
  222. package/out/replicache/src/sync/pull.js +301 -0
  223. package/out/replicache/src/sync/pull.js.map +1 -0
  224. package/out/replicache/src/sync/push.js +88 -0
  225. package/out/replicache/src/sync/push.js.map +1 -0
  226. package/out/replicache/src/sync/request-id.js +20 -0
  227. package/out/replicache/src/sync/request-id.js.map +1 -0
  228. package/out/replicache/src/sync/sync-head-name.js +5 -0
  229. package/out/replicache/src/sync/sync-head-name.js.map +1 -0
  230. package/out/replicache/src/to-error.js +10 -0
  231. package/out/replicache/src/to-error.js.map +1 -0
  232. package/out/replicache/src/transaction-closed-error.js +19 -0
  233. package/out/replicache/src/transaction-closed-error.js.map +1 -0
  234. package/out/replicache/src/transactions.js +152 -0
  235. package/out/replicache/src/transactions.js.map +1 -0
  236. package/out/replicache/src/version.js +5 -0
  237. package/out/replicache/src/version.js.map +1 -0
  238. package/out/replicache/src/with-transactions.js +28 -0
  239. package/out/replicache/src/with-transactions.js.map +1 -0
  240. package/out/shared/src/abort-error.js +6 -3
  241. package/out/shared/src/abort-error.js.map +1 -1
  242. package/out/shared/src/arrays.js +45 -43
  243. package/out/shared/src/arrays.js.map +1 -1
  244. package/out/shared/src/asserts.js +64 -68
  245. package/out/shared/src/asserts.js.map +1 -1
  246. package/out/shared/src/bigint-json.js +38 -42
  247. package/out/shared/src/bigint-json.js.map +1 -1
  248. package/out/shared/src/binary-search.js +18 -29
  249. package/out/shared/src/binary-search.js.map +1 -1
  250. package/out/shared/src/broadcast-channel.js +24 -0
  251. package/out/shared/src/broadcast-channel.js.map +1 -0
  252. package/out/shared/src/browser-env.js +25 -0
  253. package/out/shared/src/browser-env.js.map +1 -0
  254. package/out/shared/src/btree-set.js +464 -507
  255. package/out/shared/src/btree-set.js.map +1 -1
  256. package/out/shared/src/cache.js +34 -38
  257. package/out/shared/src/cache.js.map +1 -1
  258. package/out/shared/src/centroid.js +24 -24
  259. package/out/shared/src/centroid.js.map +1 -1
  260. package/out/shared/src/config.js +6 -3
  261. package/out/shared/src/config.js.map +1 -1
  262. package/out/shared/src/custom-key-map.js +58 -64
  263. package/out/shared/src/custom-key-map.js.map +1 -1
  264. package/out/shared/src/custom-key-set.js +51 -57
  265. package/out/shared/src/custom-key-set.js.map +1 -1
  266. package/out/shared/src/deep-clone.js +46 -0
  267. package/out/shared/src/deep-clone.js.map +1 -0
  268. package/out/shared/src/deep-merge.d.ts +24 -4
  269. package/out/shared/src/deep-merge.d.ts.map +1 -1
  270. package/out/shared/src/deep-merge.js +27 -0
  271. package/out/shared/src/deep-merge.js.map +1 -0
  272. package/out/shared/src/document-visible.js +74 -0
  273. package/out/shared/src/document-visible.js.map +1 -0
  274. package/out/shared/src/dotenv.js +5 -7
  275. package/out/shared/src/dotenv.js.map +1 -1
  276. package/out/shared/src/error.d.ts +4 -0
  277. package/out/shared/src/error.d.ts.map +1 -0
  278. package/out/shared/src/error.js +71 -0
  279. package/out/shared/src/error.js.map +1 -0
  280. package/out/shared/src/has-own.js +5 -3
  281. package/out/shared/src/has-own.js.map +1 -1
  282. package/out/shared/src/hash.js +15 -14
  283. package/out/shared/src/hash.js.map +1 -1
  284. package/out/shared/src/iterables.js +71 -73
  285. package/out/shared/src/iterables.js.map +1 -1
  286. package/out/shared/src/json-schema.js +30 -33
  287. package/out/shared/src/json-schema.js.map +1 -1
  288. package/out/shared/src/json.js +128 -143
  289. package/out/shared/src/json.js.map +1 -1
  290. package/out/shared/src/logging-test-utils.js +12 -19
  291. package/out/shared/src/logging-test-utils.js.map +1 -1
  292. package/out/shared/src/logging.d.ts.map +1 -1
  293. package/out/shared/src/logging.js +99 -83
  294. package/out/shared/src/logging.js.map +1 -1
  295. package/out/shared/src/must.js +9 -7
  296. package/out/shared/src/must.js.map +1 -1
  297. package/out/shared/src/navigator.js +5 -0
  298. package/out/shared/src/navigator.js.map +1 -0
  299. package/out/shared/src/object-traversal.d.ts +19 -0
  300. package/out/shared/src/object-traversal.d.ts.map +1 -0
  301. package/out/shared/src/object-traversal.js +27 -0
  302. package/out/shared/src/object-traversal.js.map +1 -0
  303. package/out/shared/src/objects.js +21 -22
  304. package/out/shared/src/objects.js.map +1 -1
  305. package/out/shared/src/options.d.ts +2 -0
  306. package/out/shared/src/options.d.ts.map +1 -1
  307. package/out/shared/src/options.js +289 -318
  308. package/out/shared/src/options.js.map +1 -1
  309. package/out/shared/src/parse-big-int.js +12 -10
  310. package/out/shared/src/parse-big-int.js.map +1 -1
  311. package/out/shared/src/promise-race.js +20 -0
  312. package/out/shared/src/promise-race.js.map +1 -0
  313. package/out/shared/src/queue.js +119 -122
  314. package/out/shared/src/queue.js.map +1 -1
  315. package/out/shared/src/rand.js +8 -10
  316. package/out/shared/src/rand.js.map +1 -1
  317. package/out/shared/src/random-uint64.js +9 -0
  318. package/out/shared/src/random-uint64.js.map +1 -0
  319. package/out/shared/src/random-values.js +13 -0
  320. package/out/shared/src/random-values.js.map +1 -0
  321. package/out/shared/src/resolved-promises.js +12 -9
  322. package/out/shared/src/resolved-promises.js.map +1 -1
  323. package/out/shared/src/sentinels.js +13 -6
  324. package/out/shared/src/sentinels.js.map +1 -1
  325. package/out/shared/src/set-utils.js +63 -62
  326. package/out/shared/src/set-utils.js.map +1 -1
  327. package/out/shared/src/size-of-value.js +58 -0
  328. package/out/shared/src/size-of-value.js.map +1 -0
  329. package/out/shared/src/sleep.js +45 -53
  330. package/out/shared/src/sleep.js.map +1 -1
  331. package/out/shared/src/string-compare.js +12 -9
  332. package/out/shared/src/string-compare.js.map +1 -1
  333. package/out/shared/src/subscribable.js +34 -0
  334. package/out/shared/src/subscribable.js.map +1 -0
  335. package/out/shared/src/tdigest-schema.js +7 -7
  336. package/out/shared/src/tdigest-schema.js.map +1 -1
  337. package/out/shared/src/tdigest.js +247 -271
  338. package/out/shared/src/tdigest.js.map +1 -1
  339. package/out/shared/src/valita.js +195 -207
  340. package/out/shared/src/valita.js.map +1 -1
  341. package/out/z2s/src/compiler.d.ts +2 -2
  342. package/out/z2s/src/compiler.d.ts.map +1 -1
  343. package/out/z2s/src/compiler.js +437 -310
  344. package/out/z2s/src/compiler.js.map +1 -1
  345. package/out/z2s/src/sql.d.ts +1 -1
  346. package/out/z2s/src/sql.d.ts.map +1 -1
  347. package/out/z2s/src/sql.js +186 -218
  348. package/out/z2s/src/sql.js.map +1 -1
  349. package/out/zero/package.json.js +9 -0
  350. package/out/zero/package.json.js.map +1 -0
  351. package/out/zero/src/adapters/drizzle.js +5 -2
  352. package/out/zero/src/adapters/drizzle.js.map +1 -1
  353. package/out/zero/src/adapters/pg.js +7 -2
  354. package/out/zero/src/adapters/pg.js.map +1 -1
  355. package/out/zero/src/adapters/postgresjs.js +7 -2
  356. package/out/zero/src/adapters/postgresjs.js.map +1 -1
  357. package/out/zero/src/analyze-query.js +1 -1
  358. package/out/zero/src/analyze-query.js.map +1 -1
  359. package/out/zero/src/ast-to-zql.js +1 -1
  360. package/out/zero/src/ast-to-zql.js.map +1 -1
  361. package/out/zero/src/build-schema.js +3 -5
  362. package/out/zero/src/build-schema.js.map +1 -1
  363. package/out/zero/src/change-protocol/v0.js +5 -3
  364. package/out/zero/src/change-protocol/v0.js.map +1 -1
  365. package/out/zero/src/cli.js +2 -2
  366. package/out/zero/src/cli.js.map +1 -1
  367. package/out/zero/src/deploy-permissions.js +1 -1
  368. package/out/zero/src/deploy-permissions.js.map +1 -1
  369. package/out/zero/src/expo-sqlite.js +5 -0
  370. package/out/zero/src/expo-sqlite.js.map +1 -0
  371. package/out/zero/src/op-sqlite.js +5 -0
  372. package/out/zero/src/op-sqlite.js.map +1 -0
  373. package/out/zero/src/pg.js +29 -3
  374. package/out/zero/src/pg.js.map +1 -1
  375. package/out/zero/src/react-native.js +13 -0
  376. package/out/zero/src/react-native.js.map +1 -0
  377. package/out/zero/src/react.js +17 -0
  378. package/out/zero/src/react.js.map +1 -0
  379. package/out/zero/src/server.js +25 -3
  380. package/out/zero/src/server.js.map +1 -1
  381. package/out/zero/src/solid.js +15 -0
  382. package/out/zero/src/solid.js.map +1 -0
  383. package/out/zero/src/sqlite.js +7 -0
  384. package/out/zero/src/sqlite.js.map +1 -0
  385. package/out/zero/src/transform-query.js +1 -1
  386. package/out/zero/src/transform-query.js.map +1 -1
  387. package/out/zero/src/zero-cache-dev.js +133 -105
  388. package/out/zero/src/zero-cache-dev.js.map +1 -1
  389. package/out/zero/src/zero-out.d.ts +3 -0
  390. package/out/zero/src/zero-out.d.ts.map +1 -0
  391. package/out/zero/src/zero-out.js +13 -0
  392. package/out/zero/src/zero-out.js.map +1 -0
  393. package/out/zero/src/zero.js +67 -0
  394. package/out/zero/src/zero.js.map +1 -0
  395. package/out/zero/src/zqlite.js +11 -3
  396. package/out/zero/src/zqlite.js.map +1 -1
  397. package/out/zero-cache/src/auth/jwt.d.ts +3 -0
  398. package/out/zero-cache/src/auth/jwt.d.ts.map +1 -1
  399. package/out/zero-cache/src/auth/jwt.js +33 -38
  400. package/out/zero-cache/src/auth/jwt.js.map +1 -1
  401. package/out/zero-cache/src/auth/load-permissions.d.ts +1 -1
  402. package/out/zero-cache/src/auth/load-permissions.d.ts.map +1 -1
  403. package/out/zero-cache/src/auth/load-permissions.js +61 -45
  404. package/out/zero-cache/src/auth/load-permissions.js.map +1 -1
  405. package/out/zero-cache/src/auth/read-authorizer.js +79 -91
  406. package/out/zero-cache/src/auth/read-authorizer.js.map +1 -1
  407. package/out/zero-cache/src/auth/write-authorizer.d.ts +4 -3
  408. package/out/zero-cache/src/auth/write-authorizer.d.ts.map +1 -1
  409. package/out/zero-cache/src/auth/write-authorizer.js +387 -328
  410. package/out/zero-cache/src/auth/write-authorizer.js.map +1 -1
  411. package/out/zero-cache/src/config/network.js +42 -45
  412. package/out/zero-cache/src/config/network.js.map +1 -1
  413. package/out/zero-cache/src/config/normalize.js +86 -83
  414. package/out/zero-cache/src/config/normalize.js.map +1 -1
  415. package/out/zero-cache/src/config/zero-config.d.ts +27 -0
  416. package/out/zero-cache/src/config/zero-config.d.ts.map +1 -1
  417. package/out/zero-cache/src/config/zero-config.js +704 -682
  418. package/out/zero-cache/src/config/zero-config.js.map +1 -1
  419. package/out/zero-cache/src/custom/fetch.d.ts +5 -5
  420. package/out/zero-cache/src/custom/fetch.d.ts.map +1 -1
  421. package/out/zero-cache/src/custom/fetch.js +170 -162
  422. package/out/zero-cache/src/custom/fetch.js.map +1 -1
  423. package/out/zero-cache/src/custom-queries/transform-query.d.ts +10 -3
  424. package/out/zero-cache/src/custom-queries/transform-query.d.ts.map +1 -1
  425. package/out/zero-cache/src/custom-queries/transform-query.js +101 -109
  426. package/out/zero-cache/src/custom-queries/transform-query.js.map +1 -1
  427. package/out/zero-cache/src/db/create.js +32 -36
  428. package/out/zero-cache/src/db/create.js.map +1 -1
  429. package/out/zero-cache/src/db/delete-lite-db.js +9 -6
  430. package/out/zero-cache/src/db/delete-lite-db.js.map +1 -1
  431. package/out/zero-cache/src/db/lite-tables.d.ts.map +1 -1
  432. package/out/zero-cache/src/db/lite-tables.js +150 -174
  433. package/out/zero-cache/src/db/lite-tables.js.map +1 -1
  434. package/out/zero-cache/src/db/migration-lite.js +170 -165
  435. package/out/zero-cache/src/db/migration-lite.js.map +1 -1
  436. package/out/zero-cache/src/db/migration.js +157 -137
  437. package/out/zero-cache/src/db/migration.js.map +1 -1
  438. package/out/zero-cache/src/db/mode-enum.d.ts +2 -0
  439. package/out/zero-cache/src/db/mode-enum.d.ts.map +1 -1
  440. package/out/zero-cache/src/db/mode-enum.js +9 -3
  441. package/out/zero-cache/src/db/mode-enum.js.map +1 -1
  442. package/out/zero-cache/src/db/pg-copy.js +51 -90
  443. package/out/zero-cache/src/db/pg-copy.js.map +1 -1
  444. package/out/zero-cache/src/db/pg-to-lite.d.ts +10 -0
  445. package/out/zero-cache/src/db/pg-to-lite.d.ts.map +1 -1
  446. package/out/zero-cache/src/db/pg-to-lite.js +116 -97
  447. package/out/zero-cache/src/db/pg-to-lite.js.map +1 -1
  448. package/out/zero-cache/src/db/pg-type-parser.js +27 -39
  449. package/out/zero-cache/src/db/pg-type-parser.js.map +1 -1
  450. package/out/zero-cache/src/db/postgres-replica-identity-enum.js +11 -6
  451. package/out/zero-cache/src/db/postgres-replica-identity-enum.js.map +1 -1
  452. package/out/zero-cache/src/db/postgres-type-class-enum.js +17 -9
  453. package/out/zero-cache/src/db/postgres-type-class-enum.js.map +1 -1
  454. package/out/zero-cache/src/db/specs.d.ts +1 -7
  455. package/out/zero-cache/src/db/specs.d.ts.map +1 -1
  456. package/out/zero-cache/src/db/specs.js +66 -40
  457. package/out/zero-cache/src/db/specs.js.map +1 -1
  458. package/out/zero-cache/src/db/statements.d.ts +1 -1
  459. package/out/zero-cache/src/db/statements.d.ts.map +1 -1
  460. package/out/zero-cache/src/db/statements.js +59 -52
  461. package/out/zero-cache/src/db/statements.js.map +1 -1
  462. package/out/zero-cache/src/db/transaction-pool.d.ts +1 -1
  463. package/out/zero-cache/src/db/transaction-pool.d.ts.map +1 -1
  464. package/out/zero-cache/src/db/transaction-pool.js +375 -501
  465. package/out/zero-cache/src/db/transaction-pool.js.map +1 -1
  466. package/out/zero-cache/src/db/warmup.js +25 -12
  467. package/out/zero-cache/src/db/warmup.js.map +1 -1
  468. package/out/zero-cache/src/observability/events.js +71 -82
  469. package/out/zero-cache/src/observability/events.js.map +1 -1
  470. package/out/zero-cache/src/observability/metrics.js +54 -32
  471. package/out/zero-cache/src/observability/metrics.js.map +1 -1
  472. package/out/zero-cache/src/scripts/decommission.d.ts +50 -0
  473. package/out/zero-cache/src/scripts/decommission.d.ts.map +1 -0
  474. package/out/zero-cache/src/scripts/decommission.js +55 -0
  475. package/out/zero-cache/src/scripts/decommission.js.map +1 -0
  476. package/out/zero-cache/src/scripts/deploy-permissions.js +128 -118
  477. package/out/zero-cache/src/scripts/deploy-permissions.js.map +1 -1
  478. package/out/zero-cache/src/scripts/permissions.d.ts +1 -1
  479. package/out/zero-cache/src/scripts/permissions.d.ts.map +1 -1
  480. package/out/zero-cache/src/scripts/permissions.js +108 -100
  481. package/out/zero-cache/src/scripts/permissions.js.map +1 -1
  482. package/out/zero-cache/src/server/anonymous-otel-start.js +410 -366
  483. package/out/zero-cache/src/server/anonymous-otel-start.js.map +1 -1
  484. package/out/zero-cache/src/server/change-streamer.d.ts.map +1 -1
  485. package/out/zero-cache/src/server/change-streamer.js +105 -64
  486. package/out/zero-cache/src/server/change-streamer.js.map +1 -1
  487. package/out/zero-cache/src/server/inspector-delegate.d.ts.map +1 -1
  488. package/out/zero-cache/src/server/inspector-delegate.js +112 -108
  489. package/out/zero-cache/src/server/inspector-delegate.js.map +1 -1
  490. package/out/zero-cache/src/server/logging.d.ts +1 -1
  491. package/out/zero-cache/src/server/logging.d.ts.map +1 -1
  492. package/out/zero-cache/src/server/logging.js +26 -19
  493. package/out/zero-cache/src/server/logging.js.map +1 -1
  494. package/out/zero-cache/src/server/main.d.ts.map +1 -1
  495. package/out/zero-cache/src/server/main.js +137 -120
  496. package/out/zero-cache/src/server/main.js.map +1 -1
  497. package/out/zero-cache/src/server/mutator.js +19 -0
  498. package/out/zero-cache/src/server/mutator.js.map +1 -0
  499. package/out/zero-cache/src/server/otel-diag-logger.d.ts +1 -1
  500. package/out/zero-cache/src/server/otel-diag-logger.d.ts.map +1 -1
  501. package/out/zero-cache/src/server/otel-diag-logger.js +67 -70
  502. package/out/zero-cache/src/server/otel-diag-logger.js.map +1 -1
  503. package/out/zero-cache/src/server/otel-log-sink.js +40 -41
  504. package/out/zero-cache/src/server/otel-log-sink.js.map +1 -1
  505. package/out/zero-cache/src/server/otel-start.d.ts +1 -1
  506. package/out/zero-cache/src/server/otel-start.d.ts.map +1 -1
  507. package/out/zero-cache/src/server/otel-start.js +57 -68
  508. package/out/zero-cache/src/server/otel-start.js.map +1 -1
  509. package/out/zero-cache/src/server/reaper.js +34 -26
  510. package/out/zero-cache/src/server/reaper.js.map +1 -1
  511. package/out/zero-cache/src/server/replicator.js +53 -31
  512. package/out/zero-cache/src/server/replicator.js.map +1 -1
  513. package/out/zero-cache/src/server/runner/main.js +6 -4
  514. package/out/zero-cache/src/server/runner/main.js.map +1 -1
  515. package/out/zero-cache/src/server/runner/run-worker.d.ts.map +1 -1
  516. package/out/zero-cache/src/server/runner/run-worker.js +46 -50
  517. package/out/zero-cache/src/server/runner/run-worker.js.map +1 -1
  518. package/out/zero-cache/src/server/runner/runtime.js +33 -32
  519. package/out/zero-cache/src/server/runner/runtime.js.map +1 -1
  520. package/out/zero-cache/src/server/runner/zero-dispatcher.d.ts.map +1 -1
  521. package/out/zero-cache/src/server/runner/zero-dispatcher.js +28 -22
  522. package/out/zero-cache/src/server/runner/zero-dispatcher.js.map +1 -1
  523. package/out/zero-cache/src/server/syncer.d.ts.map +1 -1
  524. package/out/zero-cache/src/server/syncer.js +124 -63
  525. package/out/zero-cache/src/server/syncer.js.map +1 -1
  526. package/out/zero-cache/src/server/worker-dispatcher.d.ts +1 -1
  527. package/out/zero-cache/src/server/worker-dispatcher.d.ts.map +1 -1
  528. package/out/zero-cache/src/server/worker-dispatcher.js +112 -106
  529. package/out/zero-cache/src/server/worker-dispatcher.js.map +1 -1
  530. package/out/zero-cache/src/server/worker-urls.d.ts +7 -0
  531. package/out/zero-cache/src/server/worker-urls.d.ts.map +1 -0
  532. package/out/zero-cache/src/server/worker-urls.js +21 -0
  533. package/out/zero-cache/src/server/worker-urls.js.map +1 -0
  534. package/out/zero-cache/src/services/analyze.d.ts +4 -9
  535. package/out/zero-cache/src/services/analyze.d.ts.map +1 -1
  536. package/out/zero-cache/src/services/analyze.js +104 -120
  537. package/out/zero-cache/src/services/analyze.js.map +1 -1
  538. package/out/zero-cache/src/services/change-source/column-metadata.d.ts +10 -3
  539. package/out/zero-cache/src/services/change-source/column-metadata.d.ts.map +1 -1
  540. package/out/zero-cache/src/services/change-source/column-metadata.js +154 -144
  541. package/out/zero-cache/src/services/change-source/column-metadata.js.map +1 -1
  542. package/out/zero-cache/src/services/change-source/custom/change-source.d.ts +1 -1
  543. package/out/zero-cache/src/services/change-source/custom/change-source.d.ts.map +1 -1
  544. package/out/zero-cache/src/services/change-source/custom/change-source.js +197 -171
  545. package/out/zero-cache/src/services/change-source/custom/change-source.js.map +1 -1
  546. package/out/zero-cache/src/services/change-source/custom/sync-schema.js +11 -3
  547. package/out/zero-cache/src/services/change-source/custom/sync-schema.js.map +1 -1
  548. package/out/zero-cache/src/services/change-source/pg/change-source.d.ts +1 -1
  549. package/out/zero-cache/src/services/change-source/pg/change-source.d.ts.map +1 -1
  550. package/out/zero-cache/src/services/change-source/pg/change-source.js +601 -622
  551. package/out/zero-cache/src/services/change-source/pg/change-source.js.map +1 -1
  552. package/out/zero-cache/src/services/change-source/pg/decommission.js +24 -23
  553. package/out/zero-cache/src/services/change-source/pg/decommission.js.map +1 -1
  554. package/out/zero-cache/src/services/change-source/pg/initial-sync.d.ts +1 -1
  555. package/out/zero-cache/src/services/change-source/pg/initial-sync.d.ts.map +1 -1
  556. package/out/zero-cache/src/services/change-source/pg/initial-sync.js +327 -284
  557. package/out/zero-cache/src/services/change-source/pg/initial-sync.js.map +1 -1
  558. package/out/zero-cache/src/services/change-source/pg/logical-replication/binary-reader.d.ts +2 -3
  559. package/out/zero-cache/src/services/change-source/pg/logical-replication/binary-reader.d.ts.map +1 -1
  560. package/out/zero-cache/src/services/change-source/pg/logical-replication/binary-reader.js +61 -69
  561. package/out/zero-cache/src/services/change-source/pg/logical-replication/binary-reader.js.map +1 -1
  562. package/out/zero-cache/src/services/change-source/pg/logical-replication/pgoutput-parser.js +247 -257
  563. package/out/zero-cache/src/services/change-source/pg/logical-replication/pgoutput-parser.js.map +1 -1
  564. package/out/zero-cache/src/services/change-source/pg/logical-replication/stream.js +127 -119
  565. package/out/zero-cache/src/services/change-source/pg/logical-replication/stream.js.map +1 -1
  566. package/out/zero-cache/src/services/change-source/pg/lsn.js +20 -19
  567. package/out/zero-cache/src/services/change-source/pg/lsn.js.map +1 -1
  568. package/out/zero-cache/src/services/change-source/pg/schema/ddl.d.ts +5 -5
  569. package/out/zero-cache/src/services/change-source/pg/schema/ddl.js +96 -119
  570. package/out/zero-cache/src/services/change-source/pg/schema/ddl.js.map +1 -1
  571. package/out/zero-cache/src/services/change-source/pg/schema/init.js +138 -117
  572. package/out/zero-cache/src/services/change-source/pg/schema/init.js.map +1 -1
  573. package/out/zero-cache/src/services/change-source/pg/schema/published.d.ts +2 -2
  574. package/out/zero-cache/src/services/change-source/pg/schema/published.js +67 -74
  575. package/out/zero-cache/src/services/change-source/pg/schema/published.js.map +1 -1
  576. package/out/zero-cache/src/services/change-source/pg/schema/shard.d.ts +1 -1
  577. package/out/zero-cache/src/services/change-source/pg/schema/shard.js +199 -188
  578. package/out/zero-cache/src/services/change-source/pg/schema/shard.js.map +1 -1
  579. package/out/zero-cache/src/services/change-source/pg/schema/validation.js +53 -38
  580. package/out/zero-cache/src/services/change-source/pg/schema/validation.js.map +1 -1
  581. package/out/zero-cache/src/services/change-source/pg/sync-schema.js +11 -3
  582. package/out/zero-cache/src/services/change-source/pg/sync-schema.js.map +1 -1
  583. package/out/zero-cache/src/services/change-source/protocol/current/control.js +9 -19
  584. package/out/zero-cache/src/services/change-source/protocol/current/control.js.map +1 -1
  585. package/out/zero-cache/src/services/change-source/protocol/current/data.js +143 -116
  586. package/out/zero-cache/src/services/change-source/protocol/current/data.js.map +1 -1
  587. package/out/zero-cache/src/services/change-source/protocol/current/downstream.js +29 -19
  588. package/out/zero-cache/src/services/change-source/protocol/current/downstream.js.map +1 -1
  589. package/out/zero-cache/src/services/change-source/protocol/current/path.js +5 -20
  590. package/out/zero-cache/src/services/change-source/protocol/current/path.js.map +1 -1
  591. package/out/zero-cache/src/services/change-source/protocol/current/status.js +12 -13
  592. package/out/zero-cache/src/services/change-source/protocol/current/status.js.map +1 -1
  593. package/out/zero-cache/src/services/change-source/protocol/current/upstream.d.ts +1 -1
  594. package/out/zero-cache/src/services/change-source/protocol/current/upstream.d.ts.map +1 -1
  595. package/out/zero-cache/src/services/change-source/protocol/current/upstream.js +5 -4
  596. package/out/zero-cache/src/services/change-source/protocol/current/upstream.js.map +1 -1
  597. package/out/zero-cache/src/services/change-source/protocol/current.js +35 -7
  598. package/out/zero-cache/src/services/change-source/protocol/current.js.map +1 -1
  599. package/out/zero-cache/src/services/change-source/replica-schema.d.ts.map +1 -1
  600. package/out/zero-cache/src/services/change-source/replica-schema.js +67 -37
  601. package/out/zero-cache/src/services/change-source/replica-schema.js.map +1 -1
  602. package/out/zero-cache/src/services/change-streamer/backup-monitor.d.ts +1 -1
  603. package/out/zero-cache/src/services/change-streamer/backup-monitor.d.ts.map +1 -1
  604. package/out/zero-cache/src/services/change-streamer/backup-monitor.js +139 -157
  605. package/out/zero-cache/src/services/change-streamer/backup-monitor.js.map +1 -1
  606. package/out/zero-cache/src/services/change-streamer/change-streamer-http.d.ts +13 -4
  607. package/out/zero-cache/src/services/change-streamer/change-streamer-http.d.ts.map +1 -1
  608. package/out/zero-cache/src/services/change-streamer/change-streamer-http.js +213 -157
  609. package/out/zero-cache/src/services/change-streamer/change-streamer-http.js.map +1 -1
  610. package/out/zero-cache/src/services/change-streamer/change-streamer-service.d.ts +1 -1
  611. package/out/zero-cache/src/services/change-streamer/change-streamer-service.d.ts.map +1 -1
  612. package/out/zero-cache/src/services/change-streamer/change-streamer-service.js +235 -349
  613. package/out/zero-cache/src/services/change-streamer/change-streamer-service.js.map +1 -1
  614. package/out/zero-cache/src/services/change-streamer/change-streamer.d.ts +5 -1
  615. package/out/zero-cache/src/services/change-streamer/change-streamer.d.ts.map +1 -1
  616. package/out/zero-cache/src/services/change-streamer/change-streamer.js +24 -22
  617. package/out/zero-cache/src/services/change-streamer/change-streamer.js.map +1 -1
  618. package/out/zero-cache/src/services/change-streamer/error-type-enum.js +9 -4
  619. package/out/zero-cache/src/services/change-streamer/error-type-enum.js.map +1 -1
  620. package/out/zero-cache/src/services/change-streamer/forwarder.d.ts +1 -1
  621. package/out/zero-cache/src/services/change-streamer/forwarder.d.ts.map +1 -1
  622. package/out/zero-cache/src/services/change-streamer/forwarder.js +53 -57
  623. package/out/zero-cache/src/services/change-streamer/forwarder.js.map +1 -1
  624. package/out/zero-cache/src/services/change-streamer/replica-monitor.d.ts +16 -0
  625. package/out/zero-cache/src/services/change-streamer/replica-monitor.d.ts.map +1 -0
  626. package/out/zero-cache/src/services/change-streamer/replica-monitor.js +48 -0
  627. package/out/zero-cache/src/services/change-streamer/replica-monitor.js.map +1 -0
  628. package/out/zero-cache/src/services/change-streamer/schema/init.js +82 -68
  629. package/out/zero-cache/src/services/change-streamer/schema/init.js.map +1 -1
  630. package/out/zero-cache/src/services/change-streamer/schema/tables.d.ts +2 -2
  631. package/out/zero-cache/src/services/change-streamer/schema/tables.d.ts.map +1 -1
  632. package/out/zero-cache/src/services/change-streamer/schema/tables.js +93 -78
  633. package/out/zero-cache/src/services/change-streamer/schema/tables.js.map +1 -1
  634. package/out/zero-cache/src/services/change-streamer/snapshot.d.ts +58 -0
  635. package/out/zero-cache/src/services/change-streamer/snapshot.d.ts.map +1 -1
  636. package/out/zero-cache/src/services/change-streamer/snapshot.js +28 -18
  637. package/out/zero-cache/src/services/change-streamer/snapshot.js.map +1 -1
  638. package/out/zero-cache/src/services/change-streamer/storer.d.ts +3 -2
  639. package/out/zero-cache/src/services/change-streamer/storer.d.ts.map +1 -1
  640. package/out/zero-cache/src/services/change-streamer/storer.js +309 -353
  641. package/out/zero-cache/src/services/change-streamer/storer.js.map +1 -1
  642. package/out/zero-cache/src/services/change-streamer/subscriber.d.ts +3 -2
  643. package/out/zero-cache/src/services/change-streamer/subscriber.d.ts.map +1 -1
  644. package/out/zero-cache/src/services/change-streamer/subscriber.js +85 -87
  645. package/out/zero-cache/src/services/change-streamer/subscriber.js.map +1 -1
  646. package/out/zero-cache/src/services/heapz.js +21 -25
  647. package/out/zero-cache/src/services/heapz.js.map +1 -1
  648. package/out/zero-cache/src/services/http-service.d.ts +6 -5
  649. package/out/zero-cache/src/services/http-service.d.ts.map +1 -1
  650. package/out/zero-cache/src/services/http-service.js +61 -59
  651. package/out/zero-cache/src/services/http-service.js.map +1 -1
  652. package/out/zero-cache/src/services/life-cycle.d.ts +1 -1
  653. package/out/zero-cache/src/services/life-cycle.d.ts.map +1 -1
  654. package/out/zero-cache/src/services/life-cycle.js +216 -255
  655. package/out/zero-cache/src/services/life-cycle.js.map +1 -1
  656. package/out/zero-cache/src/services/limiter/sliding-window-limiter.js +76 -130
  657. package/out/zero-cache/src/services/limiter/sliding-window-limiter.js.map +1 -1
  658. package/out/zero-cache/src/services/litestream/commands.d.ts +1 -1
  659. package/out/zero-cache/src/services/litestream/commands.d.ts.map +1 -1
  660. package/out/zero-cache/src/services/litestream/commands.js +201 -154
  661. package/out/zero-cache/src/services/litestream/commands.js.map +1 -1
  662. package/out/zero-cache/src/services/mutagen/error.js +11 -6
  663. package/out/zero-cache/src/services/mutagen/error.js.map +1 -1
  664. package/out/zero-cache/src/services/mutagen/mutagen.d.ts +2 -1
  665. package/out/zero-cache/src/services/mutagen/mutagen.d.ts.map +1 -1
  666. package/out/zero-cache/src/services/mutagen/mutagen.js +271 -267
  667. package/out/zero-cache/src/services/mutagen/mutagen.js.map +1 -1
  668. package/out/zero-cache/src/services/mutagen/pusher.d.ts +217 -21
  669. package/out/zero-cache/src/services/mutagen/pusher.d.ts.map +1 -1
  670. package/out/zero-cache/src/services/mutagen/pusher.js +354 -348
  671. package/out/zero-cache/src/services/mutagen/pusher.js.map +1 -1
  672. package/out/zero-cache/src/services/replicator/change-processor.d.ts.map +1 -1
  673. package/out/zero-cache/src/services/replicator/change-processor.js +483 -497
  674. package/out/zero-cache/src/services/replicator/change-processor.js.map +1 -1
  675. package/out/zero-cache/src/services/replicator/incremental-sync.d.ts +1 -1
  676. package/out/zero-cache/src/services/replicator/incremental-sync.d.ts.map +1 -1
  677. package/out/zero-cache/src/services/replicator/incremental-sync.js +97 -97
  678. package/out/zero-cache/src/services/replicator/incremental-sync.js.map +1 -1
  679. package/out/zero-cache/src/services/replicator/notifier.js +28 -52
  680. package/out/zero-cache/src/services/replicator/notifier.js.map +1 -1
  681. package/out/zero-cache/src/services/replicator/replication-status.js +100 -83
  682. package/out/zero-cache/src/services/replicator/replication-status.js.map +1 -1
  683. package/out/zero-cache/src/services/replicator/replicator.d.ts +1 -1
  684. package/out/zero-cache/src/services/replicator/replicator.d.ts.map +1 -1
  685. package/out/zero-cache/src/services/replicator/replicator.js +33 -26
  686. package/out/zero-cache/src/services/replicator/replicator.js.map +1 -1
  687. package/out/zero-cache/src/services/replicator/schema/change-log.d.ts +1 -1
  688. package/out/zero-cache/src/services/replicator/schema/change-log.d.ts.map +1 -1
  689. package/out/zero-cache/src/services/replicator/schema/change-log.js +74 -86
  690. package/out/zero-cache/src/services/replicator/schema/change-log.js.map +1 -1
  691. package/out/zero-cache/src/services/replicator/schema/constants.js +5 -7
  692. package/out/zero-cache/src/services/replicator/schema/constants.js.map +1 -1
  693. package/out/zero-cache/src/services/replicator/schema/replication-state.d.ts +2 -2
  694. package/out/zero-cache/src/services/replicator/schema/replication-state.d.ts.map +1 -1
  695. package/out/zero-cache/src/services/replicator/schema/replication-state.js +70 -74
  696. package/out/zero-cache/src/services/replicator/schema/replication-state.js.map +1 -1
  697. package/out/zero-cache/src/services/run-ast.d.ts +9 -3
  698. package/out/zero-cache/src/services/run-ast.d.ts.map +1 -1
  699. package/out/zero-cache/src/services/run-ast.js +87 -78
  700. package/out/zero-cache/src/services/run-ast.js.map +1 -1
  701. package/out/zero-cache/src/services/runner.d.ts +1 -1
  702. package/out/zero-cache/src/services/runner.d.ts.map +1 -1
  703. package/out/zero-cache/src/services/runner.js +40 -40
  704. package/out/zero-cache/src/services/runner.js.map +1 -1
  705. package/out/zero-cache/src/services/running-state.d.ts +1 -1
  706. package/out/zero-cache/src/services/running-state.d.ts.map +1 -1
  707. package/out/zero-cache/src/services/running-state.js +122 -119
  708. package/out/zero-cache/src/services/running-state.js.map +1 -1
  709. package/out/zero-cache/src/services/statz.js +184 -162
  710. package/out/zero-cache/src/services/statz.js.map +1 -1
  711. package/out/zero-cache/src/services/view-syncer/active-users-gauge.js +40 -39
  712. package/out/zero-cache/src/services/view-syncer/active-users-gauge.js.map +1 -1
  713. package/out/zero-cache/src/services/view-syncer/client-handler.js +307 -298
  714. package/out/zero-cache/src/services/view-syncer/client-handler.js.map +1 -1
  715. package/out/zero-cache/src/services/view-syncer/client-schema.d.ts.map +1 -1
  716. package/out/zero-cache/src/services/view-syncer/client-schema.js +80 -82
  717. package/out/zero-cache/src/services/view-syncer/client-schema.js.map +1 -1
  718. package/out/zero-cache/src/services/view-syncer/cvr-purger.d.ts.map +1 -1
  719. package/out/zero-cache/src/services/view-syncer/cvr-purger.js +84 -94
  720. package/out/zero-cache/src/services/view-syncer/cvr-purger.js.map +1 -1
  721. package/out/zero-cache/src/services/view-syncer/cvr-store.d.ts +2 -4
  722. package/out/zero-cache/src/services/view-syncer/cvr-store.d.ts.map +1 -1
  723. package/out/zero-cache/src/services/view-syncer/cvr-store.js +654 -611
  724. package/out/zero-cache/src/services/view-syncer/cvr-store.js.map +1 -1
  725. package/out/zero-cache/src/services/view-syncer/cvr.d.ts +1 -1
  726. package/out/zero-cache/src/services/view-syncer/cvr.d.ts.map +1 -1
  727. package/out/zero-cache/src/services/view-syncer/cvr.js +633 -695
  728. package/out/zero-cache/src/services/view-syncer/cvr.js.map +1 -1
  729. package/out/zero-cache/src/services/view-syncer/drain-coordinator.d.ts +1 -0
  730. package/out/zero-cache/src/services/view-syncer/drain-coordinator.d.ts.map +1 -1
  731. package/out/zero-cache/src/services/view-syncer/drain-coordinator.js +38 -55
  732. package/out/zero-cache/src/services/view-syncer/drain-coordinator.js.map +1 -1
  733. package/out/zero-cache/src/services/view-syncer/inspect-handler.d.ts +2 -1
  734. package/out/zero-cache/src/services/view-syncer/inspect-handler.d.ts.map +1 -1
  735. package/out/zero-cache/src/services/view-syncer/inspect-handler.js +175 -85
  736. package/out/zero-cache/src/services/view-syncer/inspect-handler.js.map +1 -1
  737. package/out/zero-cache/src/services/view-syncer/pipeline-driver.d.ts +14 -13
  738. package/out/zero-cache/src/services/view-syncer/pipeline-driver.d.ts.map +1 -1
  739. package/out/zero-cache/src/services/view-syncer/pipeline-driver.js +534 -465
  740. package/out/zero-cache/src/services/view-syncer/pipeline-driver.js.map +1 -1
  741. package/out/zero-cache/src/services/view-syncer/row-record-cache.d.ts +1 -1
  742. package/out/zero-cache/src/services/view-syncer/row-record-cache.d.ts.map +1 -1
  743. package/out/zero-cache/src/services/view-syncer/row-record-cache.js +229 -277
  744. package/out/zero-cache/src/services/view-syncer/row-record-cache.js.map +1 -1
  745. package/out/zero-cache/src/services/view-syncer/schema/cvr.d.ts.map +1 -1
  746. package/out/zero-cache/src/services/view-syncer/schema/cvr.js +57 -122
  747. package/out/zero-cache/src/services/view-syncer/schema/cvr.js.map +1 -1
  748. package/out/zero-cache/src/services/view-syncer/schema/init.d.ts.map +1 -1
  749. package/out/zero-cache/src/services/view-syncer/schema/init.js +177 -131
  750. package/out/zero-cache/src/services/view-syncer/schema/init.js.map +1 -1
  751. package/out/zero-cache/src/services/view-syncer/schema/types.d.ts +4 -4
  752. package/out/zero-cache/src/services/view-syncer/schema/types.js +265 -257
  753. package/out/zero-cache/src/services/view-syncer/schema/types.js.map +1 -1
  754. package/out/zero-cache/src/services/view-syncer/snapshotter.d.ts +3 -3
  755. package/out/zero-cache/src/services/view-syncer/snapshotter.d.ts.map +1 -1
  756. package/out/zero-cache/src/services/view-syncer/snapshotter.js +295 -338
  757. package/out/zero-cache/src/services/view-syncer/snapshotter.js.map +1 -1
  758. package/out/zero-cache/src/services/view-syncer/ttl-clock.js +13 -7
  759. package/out/zero-cache/src/services/view-syncer/ttl-clock.js.map +1 -1
  760. package/out/zero-cache/src/services/view-syncer/view-syncer.d.ts +10 -3
  761. package/out/zero-cache/src/services/view-syncer/view-syncer.d.ts.map +1 -1
  762. package/out/zero-cache/src/services/view-syncer/view-syncer.js +1508 -1284
  763. package/out/zero-cache/src/services/view-syncer/view-syncer.js.map +1 -1
  764. package/out/zero-cache/src/types/error-with-level.d.ts.map +1 -1
  765. package/out/zero-cache/src/types/error-with-level.js +30 -21
  766. package/out/zero-cache/src/types/error-with-level.js.map +1 -1
  767. package/out/zero-cache/src/types/http.js +27 -14
  768. package/out/zero-cache/src/types/http.js.map +1 -1
  769. package/out/zero-cache/src/types/lexi-version.js +46 -31
  770. package/out/zero-cache/src/types/lexi-version.js.map +1 -1
  771. package/out/zero-cache/src/types/lite.js +118 -125
  772. package/out/zero-cache/src/types/lite.js.map +1 -1
  773. package/out/zero-cache/src/types/names.js +6 -3
  774. package/out/zero-cache/src/types/names.js.map +1 -1
  775. package/out/zero-cache/src/types/pg-data-type.js +74 -68
  776. package/out/zero-cache/src/types/pg-data-type.js.map +1 -1
  777. package/out/zero-cache/src/types/pg-types.js +17 -72
  778. package/out/zero-cache/src/types/pg-types.js.map +1 -1
  779. package/out/zero-cache/src/types/pg.d.ts +1 -1
  780. package/out/zero-cache/src/types/pg.d.ts.map +1 -1
  781. package/out/zero-cache/src/types/pg.js +213 -233
  782. package/out/zero-cache/src/types/pg.js.map +1 -1
  783. package/out/zero-cache/src/types/processes.d.ts +2 -2
  784. package/out/zero-cache/src/types/processes.d.ts.map +1 -1
  785. package/out/zero-cache/src/types/processes.js +95 -143
  786. package/out/zero-cache/src/types/processes.js.map +1 -1
  787. package/out/zero-cache/src/types/profiler.js +29 -30
  788. package/out/zero-cache/src/types/profiler.js.map +1 -1
  789. package/out/zero-cache/src/types/row-key.js +30 -68
  790. package/out/zero-cache/src/types/row-key.js.map +1 -1
  791. package/out/zero-cache/src/types/schema-versions.js +25 -19
  792. package/out/zero-cache/src/types/schema-versions.js.map +1 -1
  793. package/out/zero-cache/src/types/shards.js +50 -36
  794. package/out/zero-cache/src/types/shards.js.map +1 -1
  795. package/out/zero-cache/src/types/sql.js +9 -13
  796. package/out/zero-cache/src/types/sql.js.map +1 -1
  797. package/out/zero-cache/src/types/streams.d.ts +1 -1
  798. package/out/zero-cache/src/types/streams.d.ts.map +1 -1
  799. package/out/zero-cache/src/types/streams.js +246 -245
  800. package/out/zero-cache/src/types/streams.js.map +1 -1
  801. package/out/zero-cache/src/types/strings.js +14 -11
  802. package/out/zero-cache/src/types/strings.js.map +1 -1
  803. package/out/zero-cache/src/types/subscription.d.ts +16 -1
  804. package/out/zero-cache/src/types/subscription.d.ts.map +1 -1
  805. package/out/zero-cache/src/types/subscription.js +202 -225
  806. package/out/zero-cache/src/types/subscription.js.map +1 -1
  807. package/out/zero-cache/src/types/url-params.js +35 -30
  808. package/out/zero-cache/src/types/url-params.js.map +1 -1
  809. package/out/zero-cache/src/types/websocket-handoff.d.ts +5 -4
  810. package/out/zero-cache/src/types/websocket-handoff.d.ts.map +1 -1
  811. package/out/zero-cache/src/types/websocket-handoff.js +68 -76
  812. package/out/zero-cache/src/types/websocket-handoff.js.map +1 -1
  813. package/out/zero-cache/src/types/ws.js +56 -59
  814. package/out/zero-cache/src/types/ws.js.map +1 -1
  815. package/out/zero-cache/src/workers/connect-params.js +44 -40
  816. package/out/zero-cache/src/workers/connect-params.js.map +1 -1
  817. package/out/zero-cache/src/workers/connection.d.ts.map +1 -1
  818. package/out/zero-cache/src/workers/connection.js +282 -243
  819. package/out/zero-cache/src/workers/connection.js.map +1 -1
  820. package/out/zero-cache/src/workers/mutator.js +24 -0
  821. package/out/zero-cache/src/workers/mutator.js.map +1 -0
  822. package/out/zero-cache/src/workers/replicator.d.ts +1 -1
  823. package/out/zero-cache/src/workers/replicator.d.ts.map +1 -1
  824. package/out/zero-cache/src/workers/replicator.js +103 -106
  825. package/out/zero-cache/src/workers/replicator.js.map +1 -1
  826. package/out/zero-cache/src/workers/syncer-ws-message-handler.js +179 -147
  827. package/out/zero-cache/src/workers/syncer-ws-message-handler.js.map +1 -1
  828. package/out/zero-cache/src/workers/syncer.d.ts +3 -3
  829. package/out/zero-cache/src/workers/syncer.d.ts.map +1 -1
  830. package/out/zero-cache/src/workers/syncer.js +192 -171
  831. package/out/zero-cache/src/workers/syncer.js.map +1 -1
  832. package/out/zero-client/src/client/active-clients-manager.js +199 -0
  833. package/out/zero-client/src/client/active-clients-manager.js.map +1 -0
  834. package/out/zero-client/src/client/bindings.d.ts +43 -0
  835. package/out/zero-client/src/client/bindings.d.ts.map +1 -0
  836. package/out/zero-client/src/client/bindings.js +33 -0
  837. package/out/zero-client/src/client/bindings.js.map +1 -0
  838. package/out/zero-client/src/client/client-error-kind-enum.d.ts +12 -12
  839. package/out/zero-client/src/client/client-error-kind-enum.d.ts.map +1 -1
  840. package/out/zero-client/src/client/client-error-kind-enum.js +29 -0
  841. package/out/zero-client/src/client/client-error-kind-enum.js.map +1 -0
  842. package/out/zero-client/src/client/connection-manager.d.ts +36 -40
  843. package/out/zero-client/src/client/connection-manager.d.ts.map +1 -1
  844. package/out/zero-client/src/client/connection-manager.js +310 -0
  845. package/out/zero-client/src/client/connection-manager.js.map +1 -0
  846. package/out/zero-client/src/client/connection-status-enum.d.ts +2 -0
  847. package/out/zero-client/src/client/connection-status-enum.d.ts.map +1 -1
  848. package/out/zero-client/src/client/connection-status-enum.js +15 -0
  849. package/out/zero-client/src/client/connection-status-enum.js.map +1 -0
  850. package/out/zero-client/src/client/connection.d.ts +57 -6
  851. package/out/zero-client/src/client/connection.d.ts.map +1 -1
  852. package/out/zero-client/src/client/connection.js +103 -0
  853. package/out/zero-client/src/client/connection.js.map +1 -0
  854. package/out/zero-client/src/client/context.d.ts +9 -10
  855. package/out/zero-client/src/client/context.d.ts.map +1 -1
  856. package/out/zero-client/src/client/context.js +104 -0
  857. package/out/zero-client/src/client/context.js.map +1 -0
  858. package/out/zero-client/src/client/crud.d.ts +8 -6
  859. package/out/zero-client/src/client/crud.d.ts.map +1 -1
  860. package/out/zero-client/src/client/crud.js +225 -0
  861. package/out/zero-client/src/client/crud.js.map +1 -0
  862. package/out/zero-client/src/client/custom.d.ts +48 -25
  863. package/out/zero-client/src/client/custom.d.ts.map +1 -1
  864. package/out/zero-client/src/client/custom.js +128 -0
  865. package/out/zero-client/src/client/custom.js.map +1 -0
  866. package/out/zero-client/src/client/delete-clients-manager.d.ts +2 -2
  867. package/out/zero-client/src/client/delete-clients-manager.d.ts.map +1 -1
  868. package/out/zero-client/src/client/delete-clients-manager.js +71 -0
  869. package/out/zero-client/src/client/delete-clients-manager.js.map +1 -0
  870. package/out/zero-client/src/client/enable-analytics.js +18 -0
  871. package/out/zero-client/src/client/enable-analytics.js.map +1 -0
  872. package/out/zero-client/src/client/error.d.ts +51 -166
  873. package/out/zero-client/src/client/error.d.ts.map +1 -1
  874. package/out/zero-client/src/client/error.js +148 -0
  875. package/out/zero-client/src/client/error.js.map +1 -0
  876. package/out/zero-client/src/client/http-string.js +11 -0
  877. package/out/zero-client/src/client/http-string.js.map +1 -0
  878. package/out/zero-client/src/client/inspector/client-group.js +27 -0
  879. package/out/zero-client/src/client/inspector/client-group.js.map +1 -0
  880. package/out/zero-client/src/client/inspector/client.js +28 -0
  881. package/out/zero-client/src/client/inspector/client.js.map +1 -0
  882. package/out/zero-client/src/client/inspector/html-dialog-prompt.d.ts.map +1 -1
  883. package/out/zero-client/src/client/inspector/html-dialog-prompt.js +77 -0
  884. package/out/zero-client/src/client/inspector/html-dialog-prompt.js.map +1 -0
  885. package/out/zero-client/src/client/inspector/inspector.d.ts +8 -3
  886. package/out/zero-client/src/client/inspector/inspector.d.ts.map +1 -1
  887. package/out/zero-client/src/client/inspector/inspector.js +54 -0
  888. package/out/zero-client/src/client/inspector/inspector.js.map +1 -0
  889. package/out/zero-client/src/client/inspector/lazy-inspector.d.ts +4 -1
  890. package/out/zero-client/src/client/inspector/lazy-inspector.d.ts.map +1 -1
  891. package/out/zero-client/src/client/inspector/lazy-inspector.js +243 -0
  892. package/out/zero-client/src/client/inspector/lazy-inspector.js.map +1 -0
  893. package/out/zero-client/src/client/inspector/query.d.ts.map +1 -1
  894. package/out/zero-client/src/client/inspector/query.js +82 -0
  895. package/out/zero-client/src/client/inspector/query.js.map +1 -0
  896. package/out/zero-client/src/client/ivm-branch.d.ts +4 -4
  897. package/out/zero-client/src/client/ivm-branch.d.ts.map +1 -1
  898. package/out/zero-client/src/client/ivm-branch.js +149 -0
  899. package/out/zero-client/src/client/ivm-branch.js.map +1 -0
  900. package/out/zero-client/src/client/keys.js +45 -0
  901. package/out/zero-client/src/client/keys.js.map +1 -0
  902. package/out/zero-client/src/client/log-options.js +60 -0
  903. package/out/zero-client/src/client/log-options.js.map +1 -0
  904. package/out/zero-client/src/client/make-mutate-property.d.ts +43 -0
  905. package/out/zero-client/src/client/make-mutate-property.d.ts.map +1 -0
  906. package/out/zero-client/src/client/make-mutate-property.js +38 -0
  907. package/out/zero-client/src/client/make-mutate-property.js.map +1 -0
  908. package/out/zero-client/src/client/make-replicache-mutators.d.ts +34 -0
  909. package/out/zero-client/src/client/make-replicache-mutators.d.ts.map +1 -0
  910. package/out/zero-client/src/client/make-replicache-mutators.js +103 -0
  911. package/out/zero-client/src/client/make-replicache-mutators.js.map +1 -0
  912. package/out/zero-client/src/client/metric-name-enum.js +15 -0
  913. package/out/zero-client/src/client/metric-name-enum.js.map +1 -0
  914. package/out/zero-client/src/client/metrics.d.ts +2 -2
  915. package/out/zero-client/src/client/metrics.d.ts.map +1 -1
  916. package/out/zero-client/src/client/metrics.js +249 -0
  917. package/out/zero-client/src/client/metrics.js.map +1 -0
  918. package/out/zero-client/src/client/mutation-tracker.d.ts +12 -4
  919. package/out/zero-client/src/client/mutation-tracker.d.ts.map +1 -1
  920. package/out/zero-client/src/client/mutation-tracker.js +363 -0
  921. package/out/zero-client/src/client/mutation-tracker.js.map +1 -0
  922. package/out/zero-client/src/client/mutator-proxy.d.ts +15 -0
  923. package/out/zero-client/src/client/mutator-proxy.d.ts.map +1 -0
  924. package/out/zero-client/src/client/mutator-proxy.js +132 -0
  925. package/out/zero-client/src/client/mutator-proxy.js.map +1 -0
  926. package/out/zero-client/src/client/options.d.ts +77 -24
  927. package/out/zero-client/src/client/options.d.ts.map +1 -1
  928. package/out/zero-client/src/client/options.js +11 -0
  929. package/out/zero-client/src/client/options.js.map +1 -0
  930. package/out/zero-client/src/client/query-manager.d.ts +9 -2
  931. package/out/zero-client/src/client/query-manager.d.ts.map +1 -1
  932. package/out/zero-client/src/client/query-manager.js +377 -0
  933. package/out/zero-client/src/client/query-manager.js.map +1 -0
  934. package/out/zero-client/src/client/reload-error-handler.d.ts +4 -4
  935. package/out/zero-client/src/client/reload-error-handler.d.ts.map +1 -1
  936. package/out/zero-client/src/client/reload-error-handler.js +114 -0
  937. package/out/zero-client/src/client/reload-error-handler.js.map +1 -0
  938. package/out/zero-client/src/client/server-option.js +64 -0
  939. package/out/zero-client/src/client/server-option.js.map +1 -0
  940. package/out/zero-client/src/client/update-needed-reason-type-enum.js +9 -0
  941. package/out/zero-client/src/client/update-needed-reason-type-enum.js.map +1 -0
  942. package/out/zero-client/src/client/version.js +5 -0
  943. package/out/zero-client/src/client/version.js.map +1 -0
  944. package/out/zero-client/src/client/zero-poke-handler.d.ts +4 -4
  945. package/out/zero-client/src/client/zero-poke-handler.d.ts.map +1 -1
  946. package/out/zero-client/src/client/zero-poke-handler.js +303 -0
  947. package/out/zero-client/src/client/zero-poke-handler.js.map +1 -0
  948. package/out/zero-client/src/client/zero-rep.d.ts +5 -2
  949. package/out/zero-client/src/client/zero-rep.d.ts.map +1 -1
  950. package/out/zero-client/src/client/zero-rep.js +72 -0
  951. package/out/zero-client/src/client/zero-rep.js.map +1 -0
  952. package/out/zero-client/src/client/zero.d.ts +104 -26
  953. package/out/zero-client/src/client/zero.d.ts.map +1 -1
  954. package/out/zero-client/src/client/zero.js +1759 -0
  955. package/out/zero-client/src/client/zero.js.map +1 -0
  956. package/out/zero-client/src/mod.d.ts +24 -18
  957. package/out/zero-client/src/mod.d.ts.map +1 -1
  958. package/out/zero-client/src/types/query-result.d.ts +24 -0
  959. package/out/zero-client/src/types/query-result.d.ts.map +1 -0
  960. package/out/zero-client/src/util/nanoid.js +21 -0
  961. package/out/zero-client/src/util/nanoid.js.map +1 -0
  962. package/out/zero-client/src/util/socket.js +7 -0
  963. package/out/zero-client/src/util/socket.js.map +1 -0
  964. package/out/zero-protocol/src/analyze-query-result.d.ts +237 -0
  965. package/out/zero-protocol/src/analyze-query-result.d.ts.map +1 -1
  966. package/out/zero-protocol/src/analyze-query-result.js +159 -24
  967. package/out/zero-protocol/src/analyze-query-result.js.map +1 -1
  968. package/out/zero-protocol/src/application-error.d.ts +27 -0
  969. package/out/zero-protocol/src/application-error.d.ts.map +1 -0
  970. package/out/zero-protocol/src/application-error.js +38 -0
  971. package/out/zero-protocol/src/application-error.js.map +1 -0
  972. package/out/zero-protocol/src/ast.d.ts +2 -2
  973. package/out/zero-protocol/src/ast.js +296 -277
  974. package/out/zero-protocol/src/ast.js.map +1 -1
  975. package/out/zero-protocol/src/change-desired-queries.d.ts +2 -2
  976. package/out/zero-protocol/src/change-desired-queries.js +11 -7
  977. package/out/zero-protocol/src/change-desired-queries.js.map +1 -1
  978. package/out/zero-protocol/src/client-schema.d.ts +2 -2
  979. package/out/zero-protocol/src/client-schema.d.ts.map +1 -1
  980. package/out/zero-protocol/src/client-schema.js +40 -26
  981. package/out/zero-protocol/src/client-schema.js.map +1 -1
  982. package/out/zero-protocol/src/close-connection.js +11 -18
  983. package/out/zero-protocol/src/close-connection.js.map +1 -1
  984. package/out/zero-protocol/src/connect.d.ts +4 -4
  985. package/out/zero-protocol/src/connect.d.ts.map +1 -1
  986. package/out/zero-protocol/src/connect.js +50 -51
  987. package/out/zero-protocol/src/connect.js.map +1 -1
  988. package/out/zero-protocol/src/custom-queries.d.ts +31 -99
  989. package/out/zero-protocol/src/custom-queries.d.ts.map +1 -1
  990. package/out/zero-protocol/src/custom-queries.js +61 -54
  991. package/out/zero-protocol/src/custom-queries.js.map +1 -1
  992. package/out/zero-protocol/src/data.js +9 -4
  993. package/out/zero-protocol/src/data.js.map +1 -1
  994. package/out/zero-protocol/src/delete-clients.js +16 -9
  995. package/out/zero-protocol/src/delete-clients.js.map +1 -1
  996. package/out/zero-protocol/src/down.d.ts +113 -15
  997. package/out/zero-protocol/src/down.d.ts.map +1 -1
  998. package/out/zero-protocol/src/down.js +20 -4
  999. package/out/zero-protocol/src/down.js.map +1 -1
  1000. package/out/zero-protocol/src/error-kind-enum.js +41 -23
  1001. package/out/zero-protocol/src/error-kind-enum.js.map +1 -1
  1002. package/out/zero-protocol/src/error-origin-enum.js +9 -4
  1003. package/out/zero-protocol/src/error-origin-enum.js.map +1 -1
  1004. package/out/zero-protocol/src/error-reason-enum.js +17 -8
  1005. package/out/zero-protocol/src/error-reason-enum.js.map +1 -1
  1006. package/out/zero-protocol/src/error.d.ts +59 -17
  1007. package/out/zero-protocol/src/error.d.ts.map +1 -1
  1008. package/out/zero-protocol/src/error.js +151 -82
  1009. package/out/zero-protocol/src/error.js.map +1 -1
  1010. package/out/zero-protocol/src/inspect-down.d.ts +318 -18
  1011. package/out/zero-protocol/src/inspect-down.d.ts.map +1 -1
  1012. package/out/zero-protocol/src/inspect-down.js +72 -54
  1013. package/out/zero-protocol/src/inspect-down.js.map +1 -1
  1014. package/out/zero-protocol/src/inspect-up.d.ts +10 -6
  1015. package/out/zero-protocol/src/inspect-up.d.ts.map +1 -1
  1016. package/out/zero-protocol/src/inspect-up.js +39 -26
  1017. package/out/zero-protocol/src/inspect-up.js.map +1 -1
  1018. package/out/zero-protocol/src/mutation-id.js +9 -5
  1019. package/out/zero-protocol/src/mutation-id.js.map +1 -1
  1020. package/out/zero-protocol/src/mutation-type-enum.js +7 -3
  1021. package/out/zero-protocol/src/mutation-type-enum.js.map +1 -1
  1022. package/out/zero-protocol/src/mutations-patch.d.ts +3 -0
  1023. package/out/zero-protocol/src/mutations-patch.d.ts.map +1 -1
  1024. package/out/zero-protocol/src/mutations-patch.js +16 -17
  1025. package/out/zero-protocol/src/mutations-patch.js.map +1 -1
  1026. package/out/zero-protocol/src/ping.js +9 -4
  1027. package/out/zero-protocol/src/ping.js.map +1 -1
  1028. package/out/zero-protocol/src/poke.d.ts +2 -0
  1029. package/out/zero-protocol/src/poke.d.ts.map +1 -1
  1030. package/out/zero-protocol/src/poke.js +55 -72
  1031. package/out/zero-protocol/src/poke.js.map +1 -1
  1032. package/out/zero-protocol/src/pong.js +9 -4
  1033. package/out/zero-protocol/src/pong.js.map +1 -1
  1034. package/out/zero-protocol/src/primary-key.js +19 -5
  1035. package/out/zero-protocol/src/primary-key.js.map +1 -1
  1036. package/out/zero-protocol/src/protocol-version.d.ts +2 -2
  1037. package/out/zero-protocol/src/protocol-version.d.ts.map +1 -1
  1038. package/out/zero-protocol/src/protocol-version.js +7 -57
  1039. package/out/zero-protocol/src/protocol-version.js.map +1 -1
  1040. package/out/zero-protocol/src/pull.js +26 -19
  1041. package/out/zero-protocol/src/pull.js.map +1 -1
  1042. package/out/zero-protocol/src/push.d.ts +11 -4
  1043. package/out/zero-protocol/src/push.d.ts.map +1 -1
  1044. package/out/zero-protocol/src/push.js +179 -175
  1045. package/out/zero-protocol/src/push.js.map +1 -1
  1046. package/out/zero-protocol/src/queries-patch.d.ts +3 -3
  1047. package/out/zero-protocol/src/queries-patch.js +29 -22
  1048. package/out/zero-protocol/src/queries-patch.js.map +1 -1
  1049. package/out/zero-protocol/src/query-hash.js +18 -14
  1050. package/out/zero-protocol/src/query-hash.js.map +1 -1
  1051. package/out/zero-protocol/src/row-patch.js +29 -20
  1052. package/out/zero-protocol/src/row-patch.js.map +1 -1
  1053. package/out/zero-protocol/src/up.d.ts +6 -5
  1054. package/out/zero-protocol/src/up.d.ts.map +1 -1
  1055. package/out/zero-protocol/src/up.js +18 -4
  1056. package/out/zero-protocol/src/up.js.map +1 -1
  1057. package/out/zero-protocol/src/version.js +9 -4
  1058. package/out/zero-protocol/src/version.js.map +1 -1
  1059. package/out/zero-react/src/components/inspector.d.ts +5 -3
  1060. package/out/zero-react/src/components/inspector.d.ts.map +1 -1
  1061. package/out/{inspector-IU2HG74I.js → zero-react/src/components/inspector.js} +4 -9
  1062. package/out/zero-react/src/components/inspector.js.map +1 -0
  1063. package/out/{chunk-VZOYWIRW.js → zero-react/src/components/mark-icon.js} +3 -5
  1064. package/out/zero-react/src/components/mark-icon.js.map +1 -0
  1065. package/out/zero-react/src/components/zero-inspector.d.ts +5 -3
  1066. package/out/zero-react/src/components/zero-inspector.d.ts.map +1 -1
  1067. package/out/zero-react/src/components/zero-inspector.js +44 -0
  1068. package/out/zero-react/src/components/zero-inspector.js.map +1 -0
  1069. package/out/zero-react/src/mod.d.ts +5 -3
  1070. package/out/zero-react/src/mod.d.ts.map +1 -1
  1071. package/out/zero-react/src/use-query.d.ts +11 -28
  1072. package/out/zero-react/src/use-query.d.ts.map +1 -1
  1073. package/out/zero-react/src/use-query.js +286 -0
  1074. package/out/zero-react/src/use-query.js.map +1 -0
  1075. package/out/zero-react/src/use-zero-connection-state.d.ts +1 -1
  1076. package/out/zero-react/src/use-zero-connection-state.d.ts.map +1 -1
  1077. package/out/zero-react/src/use-zero-connection-state.js +14 -0
  1078. package/out/zero-react/src/use-zero-connection-state.js.map +1 -0
  1079. package/out/zero-react/src/use-zero-online.js +14 -0
  1080. package/out/zero-react/src/use-zero-online.js.map +1 -0
  1081. package/out/zero-react/src/zero-provider.d.ts +21 -7
  1082. package/out/zero-react/src/zero-provider.d.ts.map +1 -1
  1083. package/out/zero-react/src/zero-provider.js +61 -0
  1084. package/out/zero-react/src/zero-provider.js.map +1 -0
  1085. package/out/zero-schema/src/builder/relationship-builder.js +22 -19
  1086. package/out/zero-schema/src/builder/relationship-builder.js.map +1 -1
  1087. package/out/zero-schema/src/builder/schema-builder.d.ts +1 -3
  1088. package/out/zero-schema/src/builder/schema-builder.d.ts.map +1 -1
  1089. package/out/zero-schema/src/builder/schema-builder.js +81 -71
  1090. package/out/zero-schema/src/builder/schema-builder.js.map +1 -1
  1091. package/out/zero-schema/src/builder/table-builder.js +117 -116
  1092. package/out/zero-schema/src/builder/table-builder.js.map +1 -1
  1093. package/out/zero-schema/src/compiled-permissions.js +23 -19
  1094. package/out/zero-schema/src/compiled-permissions.js.map +1 -1
  1095. package/out/zero-schema/src/name-mapper.js +43 -38
  1096. package/out/zero-schema/src/name-mapper.js.map +1 -1
  1097. package/out/zero-schema/src/permissions.d.ts +9 -9
  1098. package/out/zero-schema/src/permissions.d.ts.map +1 -1
  1099. package/out/{chunk-55BOUNXO.js → zero-schema/src/permissions.js} +16 -173
  1100. package/out/zero-schema/src/permissions.js.map +1 -0
  1101. package/out/zero-schema/src/schema-config.d.ts +1 -1
  1102. package/out/zero-schema/src/schema-config.d.ts.map +1 -1
  1103. package/out/zero-schema/src/schema-config.js +35 -51
  1104. package/out/zero-schema/src/schema-config.js.map +1 -1
  1105. package/out/zero-server/src/adapters/drizzle.d.ts +2 -2
  1106. package/out/zero-server/src/adapters/drizzle.d.ts.map +1 -1
  1107. package/out/zero-server/src/adapters/drizzle.js +84 -97
  1108. package/out/zero-server/src/adapters/drizzle.js.map +1 -1
  1109. package/out/zero-server/src/adapters/pg.d.ts +8 -2
  1110. package/out/zero-server/src/adapters/pg.d.ts.map +1 -1
  1111. package/out/zero-server/src/adapters/pg.js +54 -74
  1112. package/out/zero-server/src/adapters/pg.js.map +1 -1
  1113. package/out/zero-server/src/adapters/postgresjs.d.ts +7 -2
  1114. package/out/zero-server/src/adapters/postgresjs.d.ts.map +1 -1
  1115. package/out/zero-server/src/adapters/postgresjs.js +40 -54
  1116. package/out/zero-server/src/adapters/postgresjs.js.map +1 -1
  1117. package/out/zero-server/src/custom.d.ts +14 -18
  1118. package/out/zero-server/src/custom.d.ts.map +1 -1
  1119. package/out/zero-server/src/custom.js +185 -105
  1120. package/out/zero-server/src/custom.js.map +1 -1
  1121. package/out/zero-server/src/logging.js +7 -4
  1122. package/out/zero-server/src/logging.js.map +1 -1
  1123. package/out/zero-server/src/mod.d.ts +5 -4
  1124. package/out/zero-server/src/mod.d.ts.map +1 -1
  1125. package/out/zero-server/src/pg-query-executor.d.ts +11 -0
  1126. package/out/zero-server/src/pg-query-executor.d.ts.map +1 -0
  1127. package/out/zero-server/src/pg-query-executor.js +20 -0
  1128. package/out/zero-server/src/pg-query-executor.js.map +1 -0
  1129. package/out/zero-server/src/process-mutations.d.ts +11 -15
  1130. package/out/zero-server/src/process-mutations.d.ts.map +1 -1
  1131. package/out/zero-server/src/process-mutations.js +341 -163
  1132. package/out/zero-server/src/process-mutations.js.map +1 -1
  1133. package/out/zero-server/src/push-processor.d.ts +5 -3
  1134. package/out/zero-server/src/push-processor.d.ts.map +1 -1
  1135. package/out/zero-server/src/push-processor.js +48 -32
  1136. package/out/zero-server/src/push-processor.js.map +1 -1
  1137. package/out/zero-server/src/queries/process-queries.d.ts +66 -4
  1138. package/out/zero-server/src/queries/process-queries.d.ts.map +1 -1
  1139. package/out/zero-server/src/queries/process-queries.js +101 -27
  1140. package/out/zero-server/src/queries/process-queries.js.map +1 -1
  1141. package/out/zero-server/src/schema.d.ts +2 -2
  1142. package/out/zero-server/src/schema.d.ts.map +1 -1
  1143. package/out/zero-server/src/schema.js +136 -124
  1144. package/out/zero-server/src/schema.js.map +1 -1
  1145. package/out/zero-server/src/zql-database.d.ts +9 -6
  1146. package/out/zero-server/src/zql-database.d.ts.map +1 -1
  1147. package/out/zero-server/src/zql-database.js +68 -51
  1148. package/out/zero-server/src/zql-database.js.map +1 -1
  1149. package/out/zero-solid/src/mod.d.ts +7 -0
  1150. package/out/zero-solid/src/mod.d.ts.map +1 -1
  1151. package/out/zero-solid/src/solid-view.d.ts +3 -23
  1152. package/out/zero-solid/src/solid-view.d.ts.map +1 -1
  1153. package/out/{solid.js → zero-solid/src/solid-view.js} +54 -180
  1154. package/out/zero-solid/src/solid-view.js.map +1 -0
  1155. package/out/zero-solid/src/use-query.d.ts +7 -6
  1156. package/out/zero-solid/src/use-query.d.ts.map +1 -1
  1157. package/out/zero-solid/src/use-query.js +57 -0
  1158. package/out/zero-solid/src/use-query.js.map +1 -0
  1159. package/out/zero-solid/src/use-zero-connection-state.d.ts +1 -1
  1160. package/out/zero-solid/src/use-zero-connection-state.d.ts.map +1 -1
  1161. package/out/zero-solid/src/use-zero-connection-state.js +17 -0
  1162. package/out/zero-solid/src/use-zero-connection-state.js.map +1 -0
  1163. package/out/zero-solid/src/use-zero-online.d.ts.map +1 -1
  1164. package/out/zero-solid/src/use-zero-online.js +15 -0
  1165. package/out/zero-solid/src/use-zero-online.js.map +1 -0
  1166. package/out/zero-solid/src/use-zero.d.ts +24 -7
  1167. package/out/zero-solid/src/use-zero.d.ts.map +1 -1
  1168. package/out/zero-solid/src/use-zero.js +70 -0
  1169. package/out/zero-solid/src/use-zero.js.map +1 -0
  1170. package/out/zero-types/src/default-types.d.ts +38 -0
  1171. package/out/zero-types/src/default-types.d.ts.map +1 -0
  1172. package/out/zero-types/src/format.js +7 -4
  1173. package/out/zero-types/src/format.js.map +1 -1
  1174. package/out/zero-types/src/name-mapper.js +43 -40
  1175. package/out/zero-types/src/name-mapper.js.map +1 -1
  1176. package/out/zero-types/src/server-schema.d.ts.map +1 -0
  1177. package/out/zql/src/builder/builder.d.ts +10 -2
  1178. package/out/zql/src/builder/builder.d.ts.map +1 -1
  1179. package/out/zql/src/builder/builder.js +486 -427
  1180. package/out/zql/src/builder/builder.js.map +1 -1
  1181. package/out/zql/src/builder/debug-delegate.d.ts +4 -0
  1182. package/out/zql/src/builder/debug-delegate.d.ts.map +1 -1
  1183. package/out/zql/src/builder/debug-delegate.js +68 -47
  1184. package/out/zql/src/builder/debug-delegate.js.map +1 -1
  1185. package/out/zql/src/builder/filter.js +132 -138
  1186. package/out/zql/src/builder/filter.js.map +1 -1
  1187. package/out/zql/src/builder/like.js +44 -51
  1188. package/out/zql/src/builder/like.js.map +1 -1
  1189. package/out/zql/src/error.d.ts +5 -0
  1190. package/out/zql/src/error.d.ts.map +1 -1
  1191. package/out/zql/src/error.js +18 -6
  1192. package/out/zql/src/error.js.map +1 -1
  1193. package/out/zql/src/ivm/array-view.js +86 -92
  1194. package/out/zql/src/ivm/array-view.js.map +1 -1
  1195. package/out/zql/src/ivm/constraint.js +74 -127
  1196. package/out/zql/src/ivm/constraint.js.map +1 -1
  1197. package/out/zql/src/ivm/data.js +59 -85
  1198. package/out/zql/src/ivm/data.js.map +1 -1
  1199. package/out/zql/src/ivm/exists.js +236 -243
  1200. package/out/zql/src/ivm/exists.js.map +1 -1
  1201. package/out/zql/src/ivm/fan-in.js +50 -51
  1202. package/out/zql/src/ivm/fan-in.js.map +1 -1
  1203. package/out/zql/src/ivm/fan-out.js +48 -50
  1204. package/out/zql/src/ivm/fan-out.js.map +1 -1
  1205. package/out/zql/src/ivm/filter-operators.js +87 -87
  1206. package/out/zql/src/ivm/filter-operators.js.map +1 -1
  1207. package/out/zql/src/ivm/filter-push.js +26 -23
  1208. package/out/zql/src/ivm/filter-push.js.map +1 -1
  1209. package/out/zql/src/ivm/filter.js +30 -32
  1210. package/out/zql/src/ivm/filter.js.map +1 -1
  1211. package/out/zql/src/ivm/flipped-join.js +343 -326
  1212. package/out/zql/src/ivm/flipped-join.js.map +1 -1
  1213. package/out/zql/src/ivm/join-utils.js +85 -79
  1214. package/out/zql/src/ivm/join-utils.js.map +1 -1
  1215. package/out/zql/src/ivm/join.js +287 -207
  1216. package/out/zql/src/ivm/join.js.map +1 -1
  1217. package/out/zql/src/ivm/maybe-split-and-push-edit-change.js +26 -24
  1218. package/out/zql/src/ivm/maybe-split-and-push-edit-change.js.map +1 -1
  1219. package/out/zql/src/ivm/memory-source.d.ts +2 -2
  1220. package/out/zql/src/ivm/memory-source.d.ts.map +1 -1
  1221. package/out/zql/src/ivm/memory-source.js +471 -489
  1222. package/out/zql/src/ivm/memory-source.js.map +1 -1
  1223. package/out/zql/src/ivm/memory-storage.js +32 -31
  1224. package/out/zql/src/ivm/memory-storage.js.map +1 -1
  1225. package/out/zql/src/ivm/operator.js +8 -9
  1226. package/out/zql/src/ivm/operator.js.map +1 -1
  1227. package/out/zql/src/ivm/push-accumulated.js +236 -305
  1228. package/out/zql/src/ivm/push-accumulated.js.map +1 -1
  1229. package/out/zql/src/ivm/skip.js +92 -106
  1230. package/out/zql/src/ivm/skip.js.map +1 -1
  1231. package/out/zql/src/ivm/source.d.ts +3 -1
  1232. package/out/zql/src/ivm/source.d.ts.map +1 -1
  1233. package/out/zql/src/ivm/stream.js +20 -16
  1234. package/out/zql/src/ivm/stream.js.map +1 -1
  1235. package/out/zql/src/ivm/take.js +502 -456
  1236. package/out/zql/src/ivm/take.js.map +1 -1
  1237. package/out/zql/src/ivm/union-fan-in.js +156 -134
  1238. package/out/zql/src/ivm/union-fan-in.js.map +1 -1
  1239. package/out/zql/src/ivm/union-fan-out.js +46 -45
  1240. package/out/zql/src/ivm/union-fan-out.js.map +1 -1
  1241. package/out/zql/src/ivm/view-apply-change.js +246 -216
  1242. package/out/zql/src/ivm/view-apply-change.js.map +1 -1
  1243. package/out/zql/src/ivm/view.d.ts +3 -2
  1244. package/out/zql/src/ivm/view.d.ts.map +1 -1
  1245. package/out/zql/src/mutate/custom.d.ts +26 -11
  1246. package/out/zql/src/mutate/custom.d.ts.map +1 -1
  1247. package/out/zql/src/mutate/custom.js +15 -7
  1248. package/out/zql/src/mutate/custom.js.map +1 -1
  1249. package/out/zql/src/mutate/mutator-registry.d.ts +93 -0
  1250. package/out/zql/src/mutate/mutator-registry.d.ts.map +1 -0
  1251. package/out/zql/src/mutate/mutator-registry.js +93 -0
  1252. package/out/zql/src/mutate/mutator-registry.js.map +1 -0
  1253. package/out/zql/src/mutate/mutator.d.ts +79 -0
  1254. package/out/zql/src/mutate/mutator.d.ts.map +1 -0
  1255. package/out/zql/src/mutate/mutator.js +31 -0
  1256. package/out/zql/src/mutate/mutator.js.map +1 -0
  1257. package/out/zql/src/planner/planner-builder.d.ts +2 -1
  1258. package/out/zql/src/planner/planner-builder.d.ts.map +1 -1
  1259. package/out/zql/src/planner/planner-builder.js +237 -146
  1260. package/out/zql/src/planner/planner-builder.js.map +1 -1
  1261. package/out/zql/src/planner/planner-connection.d.ts +19 -14
  1262. package/out/zql/src/planner/planner-connection.d.ts.map +1 -1
  1263. package/out/zql/src/planner/planner-connection.js +205 -291
  1264. package/out/zql/src/planner/planner-connection.js.map +1 -1
  1265. package/out/zql/src/planner/planner-constraint.js +8 -11
  1266. package/out/zql/src/planner/planner-constraint.js.map +1 -1
  1267. package/out/zql/src/planner/planner-debug.d.ts +62 -37
  1268. package/out/zql/src/planner/planner-debug.d.ts.map +1 -1
  1269. package/out/zql/src/planner/planner-debug.js +234 -117
  1270. package/out/zql/src/planner/planner-debug.js.map +1 -1
  1271. package/out/zql/src/planner/planner-fan-in.d.ts +5 -3
  1272. package/out/zql/src/planner/planner-fan-in.d.ts.map +1 -1
  1273. package/out/zql/src/planner/planner-fan-in.js +157 -141
  1274. package/out/zql/src/planner/planner-fan-in.js.map +1 -1
  1275. package/out/zql/src/planner/planner-fan-out.d.ts +5 -3
  1276. package/out/zql/src/planner/planner-fan-out.d.ts.map +1 -1
  1277. package/out/zql/src/planner/planner-fan-out.js +73 -42
  1278. package/out/zql/src/planner/planner-fan-out.js.map +1 -1
  1279. package/out/zql/src/planner/planner-graph.d.ts +9 -10
  1280. package/out/zql/src/planner/planner-graph.d.ts.map +1 -1
  1281. package/out/zql/src/planner/planner-graph.js +323 -388
  1282. package/out/zql/src/planner/planner-graph.js.map +1 -1
  1283. package/out/zql/src/planner/planner-join.d.ts +67 -8
  1284. package/out/zql/src/planner/planner-join.d.ts.map +1 -1
  1285. package/out/zql/src/planner/planner-join.js +239 -241
  1286. package/out/zql/src/planner/planner-join.js.map +1 -1
  1287. package/out/zql/src/planner/planner-node.d.ts +35 -3
  1288. package/out/zql/src/planner/planner-node.d.ts.map +1 -1
  1289. package/out/zql/src/planner/planner-node.js +8 -2
  1290. package/out/zql/src/planner/planner-node.js.map +1 -1
  1291. package/out/zql/src/planner/planner-source.d.ts +1 -1
  1292. package/out/zql/src/planner/planner-source.d.ts.map +1 -1
  1293. package/out/zql/src/planner/planner-source.js +23 -12
  1294. package/out/zql/src/planner/planner-source.js.map +1 -1
  1295. package/out/zql/src/planner/planner-terminus.d.ts +4 -3
  1296. package/out/zql/src/planner/planner-terminus.d.ts.map +1 -1
  1297. package/out/zql/src/planner/planner-terminus.js +28 -27
  1298. package/out/zql/src/planner/planner-terminus.js.map +1 -1
  1299. package/out/zql/src/query/complete-ordering.d.ts +5 -0
  1300. package/out/zql/src/query/complete-ordering.d.ts.map +1 -0
  1301. package/out/zql/src/query/complete-ordering.js +71 -0
  1302. package/out/zql/src/query/complete-ordering.js.map +1 -0
  1303. package/out/zql/src/query/create-builder.d.ts +7 -0
  1304. package/out/zql/src/query/create-builder.d.ts.map +1 -0
  1305. package/out/zql/src/query/create-builder.js +44 -0
  1306. package/out/zql/src/query/create-builder.js.map +1 -0
  1307. package/out/zql/src/query/error.d.ts +4 -0
  1308. package/out/zql/src/query/error.d.ts.map +1 -0
  1309. package/out/zql/src/query/error.js +13 -0
  1310. package/out/zql/src/query/error.js.map +1 -0
  1311. package/out/zql/src/query/escape-like.js +7 -0
  1312. package/out/zql/src/query/escape-like.js.map +1 -0
  1313. package/out/zql/src/query/expression.d.ts +5 -5
  1314. package/out/zql/src/query/expression.d.ts.map +1 -1
  1315. package/out/zql/src/query/expression.js +153 -151
  1316. package/out/zql/src/query/expression.js.map +1 -1
  1317. package/out/zql/src/query/measure-push-operator.js +42 -35
  1318. package/out/zql/src/query/measure-push-operator.js.map +1 -1
  1319. package/out/zql/src/query/metrics-delegate.js +9 -5
  1320. package/out/zql/src/query/metrics-delegate.js.map +1 -1
  1321. package/out/zql/src/query/named.d.ts +21 -12
  1322. package/out/zql/src/query/named.d.ts.map +1 -1
  1323. package/out/zql/src/query/named.js +47 -57
  1324. package/out/zql/src/query/named.js.map +1 -1
  1325. package/out/zql/src/query/query-delegate-base.d.ts +114 -0
  1326. package/out/zql/src/query/query-delegate-base.d.ts.map +1 -0
  1327. package/out/zql/src/query/query-delegate-base.js +120 -0
  1328. package/out/zql/src/query/query-delegate-base.js.map +1 -0
  1329. package/out/zql/src/query/query-delegate.d.ts +27 -4
  1330. package/out/zql/src/query/query-delegate.d.ts.map +1 -1
  1331. package/out/zql/src/query/query-impl.d.ts +28 -49
  1332. package/out/zql/src/query/query-impl.d.ts.map +1 -1
  1333. package/out/zql/src/query/query-impl.js +514 -453
  1334. package/out/zql/src/query/query-impl.js.map +1 -1
  1335. package/out/zql/src/query/query-internals.d.ts +68 -0
  1336. package/out/zql/src/query/query-internals.d.ts.map +1 -0
  1337. package/out/zql/src/query/query-internals.js +11 -0
  1338. package/out/zql/src/query/query-internals.js.map +1 -0
  1339. package/out/zql/src/query/query-registry.d.ts +163 -0
  1340. package/out/zql/src/query/query-registry.d.ts.map +1 -0
  1341. package/out/zql/src/query/query-registry.js +123 -0
  1342. package/out/zql/src/query/query-registry.js.map +1 -0
  1343. package/out/zql/src/query/query.d.ts +54 -250
  1344. package/out/zql/src/query/query.d.ts.map +1 -1
  1345. package/out/zql/src/query/schema-query.d.ts +6 -0
  1346. package/out/zql/src/query/schema-query.d.ts.map +1 -0
  1347. package/out/zql/src/query/static-query.d.ts +6 -15
  1348. package/out/zql/src/query/static-query.d.ts.map +1 -1
  1349. package/out/zql/src/query/static-query.js +44 -31
  1350. package/out/zql/src/query/static-query.js.map +1 -1
  1351. package/out/zql/src/query/ttl.js +69 -62
  1352. package/out/zql/src/query/ttl.js.map +1 -1
  1353. package/out/zql/src/query/validate-input.d.ts +15 -0
  1354. package/out/zql/src/query/validate-input.d.ts.map +1 -0
  1355. package/out/zql/src/query/validate-input.js +24 -0
  1356. package/out/zql/src/query/validate-input.js.map +1 -0
  1357. package/out/zqlite/src/database-storage.d.ts +1 -1
  1358. package/out/zqlite/src/database-storage.d.ts.map +1 -1
  1359. package/out/zqlite/src/database-storage.js +99 -102
  1360. package/out/zqlite/src/database-storage.js.map +1 -1
  1361. package/out/zqlite/src/db.d.ts +2 -1
  1362. package/out/zqlite/src/db.d.ts.map +1 -1
  1363. package/out/zqlite/src/db.js +241 -192
  1364. package/out/zqlite/src/db.js.map +1 -1
  1365. package/out/zqlite/src/explain-queries.js +13 -16
  1366. package/out/zqlite/src/explain-queries.js.map +1 -1
  1367. package/out/zqlite/src/internal/sql.js +15 -10
  1368. package/out/zqlite/src/internal/sql.js.map +1 -1
  1369. package/out/zqlite/src/internal/statement-cache.js +86 -110
  1370. package/out/zqlite/src/internal/statement-cache.js.map +1 -1
  1371. package/out/zqlite/src/query-builder.js +172 -143
  1372. package/out/zqlite/src/query-builder.js.map +1 -1
  1373. package/out/zqlite/src/query-delegate.d.ts +5 -19
  1374. package/out/zqlite/src/query-delegate.d.ts.map +1 -1
  1375. package/out/zqlite/src/query-delegate.js +56 -70
  1376. package/out/zqlite/src/query-delegate.js.map +1 -1
  1377. package/out/zqlite/src/sqlite-cost-model.d.ts.map +1 -1
  1378. package/out/zqlite/src/sqlite-cost-model.js +96 -120
  1379. package/out/zqlite/src/sqlite-cost-model.js.map +1 -1
  1380. package/out/zqlite/src/sqlite-stat-fanout.d.ts +121 -0
  1381. package/out/zqlite/src/sqlite-stat-fanout.d.ts.map +1 -0
  1382. package/out/zqlite/src/sqlite-stat-fanout.js +301 -0
  1383. package/out/zqlite/src/sqlite-stat-fanout.js.map +1 -0
  1384. package/out/zqlite/src/table-source.d.ts +9 -4
  1385. package/out/zqlite/src/table-source.d.ts.map +1 -1
  1386. package/out/zqlite/src/table-source.js +424 -311
  1387. package/out/zqlite/src/table-source.js.map +1 -1
  1388. package/package.json +27 -27
  1389. package/out/chunk-424PT5DM.js +0 -23
  1390. package/out/chunk-424PT5DM.js.map +0 -7
  1391. package/out/chunk-55BOUNXO.js.map +0 -7
  1392. package/out/chunk-AFADJQ2O.js +0 -1
  1393. package/out/chunk-AFADJQ2O.js.map +0 -7
  1394. package/out/chunk-AIPM77UE.js +0 -18139
  1395. package/out/chunk-AIPM77UE.js.map +0 -7
  1396. package/out/chunk-ASRS2LFV.js.map +0 -7
  1397. package/out/chunk-ECUMGQGC.js.map +0 -7
  1398. package/out/chunk-EZM3XBAB.js.map +0 -7
  1399. package/out/chunk-TJFNGO7E.js +0 -4126
  1400. package/out/chunk-TJFNGO7E.js.map +0 -7
  1401. package/out/chunk-VZOYWIRW.js.map +0 -7
  1402. package/out/chunk-ZZXMKAAG.js.map +0 -7
  1403. package/out/expo-sqlite.js +0 -11
  1404. package/out/expo-sqlite.js.map +0 -7
  1405. package/out/inspector-IU2HG74I.js.map +0 -7
  1406. package/out/lazy-inspector-OXIFYSSQ.js +0 -574
  1407. package/out/lazy-inspector-OXIFYSSQ.js.map +0 -7
  1408. package/out/op-sqlite.js.map +0 -7
  1409. package/out/react-native.js +0 -25
  1410. package/out/react-native.js.map +0 -7
  1411. package/out/react.js +0 -460
  1412. package/out/react.js.map +0 -7
  1413. package/out/shared/src/enum.js +0 -2
  1414. package/out/shared/src/enum.js.map +0 -1
  1415. package/out/shared/src/expand.js +0 -2
  1416. package/out/shared/src/expand.js.map +0 -1
  1417. package/out/shared/src/immutable.js +0 -2
  1418. package/out/shared/src/immutable.js.map +0 -1
  1419. package/out/shared/src/types.js +0 -2
  1420. package/out/shared/src/types.js.map +0 -1
  1421. package/out/shared/src/writable.js +0 -2
  1422. package/out/shared/src/writable.js.map +0 -1
  1423. package/out/solid.js.map +0 -7
  1424. package/out/sqlite.js +0 -15
  1425. package/out/sqlite.js.map +0 -7
  1426. package/out/zero/package.json +0 -193
  1427. package/out/zero/src/server/change-streamer.js +0 -2
  1428. package/out/zero/src/server/change-streamer.js.map +0 -1
  1429. package/out/zero/src/server/main.js +0 -2
  1430. package/out/zero/src/server/main.js.map +0 -1
  1431. package/out/zero/src/server/reaper.js +0 -2
  1432. package/out/zero/src/server/reaper.js.map +0 -1
  1433. package/out/zero/src/server/replicator.js +0 -2
  1434. package/out/zero/src/server/replicator.js.map +0 -1
  1435. package/out/zero/src/server/runner/main.js +0 -2
  1436. package/out/zero/src/server/runner/main.js.map +0 -1
  1437. package/out/zero/src/server/syncer.js +0 -2
  1438. package/out/zero/src/server/syncer.js.map +0 -1
  1439. package/out/zero-cache/src/services/change-source/pg/logical-replication/pgoutput.types.js +0 -4
  1440. package/out/zero-cache/src/services/change-source/pg/logical-replication/pgoutput.types.js.map +0 -1
  1441. package/out/zero-cache/src/services/change-source/protocol/mod.js +0 -5
  1442. package/out/zero-cache/src/services/change-source/protocol/mod.js.map +0 -1
  1443. package/out/zero-cache/src/services/service.js +0 -2
  1444. package/out/zero-cache/src/services/service.js.map +0 -1
  1445. package/out/zero-cache/src/services/view-syncer/key-columns.d.ts +0 -32
  1446. package/out/zero-cache/src/services/view-syncer/key-columns.d.ts.map +0 -1
  1447. package/out/zero-cache/src/services/view-syncer/key-columns.js +0 -75
  1448. package/out/zero-cache/src/services/view-syncer/key-columns.js.map +0 -1
  1449. package/out/zero-cache/src/types/satisfies.js +0 -2
  1450. package/out/zero-cache/src/types/satisfies.js.map +0 -1
  1451. package/out/zero-client/src/client/on-error.d.ts +0 -15
  1452. package/out/zero-client/src/client/on-error.d.ts.map +0 -1
  1453. package/out/zero-client/src/client/zero-log-context.d.ts +0 -7
  1454. package/out/zero-client/src/client/zero-log-context.d.ts.map +0 -1
  1455. package/out/zero-events/src/index.js +0 -2
  1456. package/out/zero-events/src/index.js.map +0 -1
  1457. package/out/zero-events/src/json.js +0 -2
  1458. package/out/zero-events/src/json.js.map +0 -1
  1459. package/out/zero-events/src/status.js +0 -3
  1460. package/out/zero-events/src/status.js.map +0 -1
  1461. package/out/zero-pg/src/mod.js +0 -6
  1462. package/out/zero-pg/src/mod.js.map +0 -1
  1463. package/out/zero-protocol/src/error-kind.js +0 -3
  1464. package/out/zero-protocol/src/error-kind.js.map +0 -1
  1465. package/out/zero-protocol/src/error-origin.js +0 -3
  1466. package/out/zero-protocol/src/error-origin.js.map +0 -1
  1467. package/out/zero-protocol/src/error-reason.js +0 -3
  1468. package/out/zero-protocol/src/error-reason.js.map +0 -1
  1469. package/out/zero-schema/src/server-schema.d.ts.map +0 -1
  1470. package/out/zero-schema/src/server-schema.js +0 -2
  1471. package/out/zero-schema/src/server-schema.js.map +0 -1
  1472. package/out/zero-schema/src/table-schema.js +0 -7
  1473. package/out/zero-schema/src/table-schema.js.map +0 -1
  1474. package/out/zero-server/src/mod.js +0 -8
  1475. package/out/zero-server/src/mod.js.map +0 -1
  1476. package/out/zero-server/src/query.d.ts +0 -22
  1477. package/out/zero-server/src/query.d.ts.map +0 -1
  1478. package/out/zero-server/src/query.js +0 -61
  1479. package/out/zero-server/src/query.js.map +0 -1
  1480. package/out/zero-types/src/schema-value.js +0 -2
  1481. package/out/zero-types/src/schema-value.js.map +0 -1
  1482. package/out/zero-types/src/schema.js +0 -2
  1483. package/out/zero-types/src/schema.js.map +0 -1
  1484. package/out/zero.js +0 -79
  1485. package/out/zero.js.map +0 -7
  1486. package/out/zql/src/ivm/change.js +0 -2
  1487. package/out/zql/src/ivm/change.js.map +0 -1
  1488. package/out/zql/src/ivm/default-format.js +0 -2
  1489. package/out/zql/src/ivm/default-format.js.map +0 -1
  1490. package/out/zql/src/ivm/schema.js +0 -2
  1491. package/out/zql/src/ivm/schema.js.map +0 -1
  1492. package/out/zql/src/ivm/source.js +0 -2
  1493. package/out/zql/src/ivm/source.js.map +0 -1
  1494. package/out/zql/src/ivm/view.js +0 -2
  1495. package/out/zql/src/ivm/view.js.map +0 -1
  1496. package/out/zql/src/query/query-delegate.js +0 -2
  1497. package/out/zql/src/query/query-delegate.js.map +0 -1
  1498. package/out/zql/src/query/query.js +0 -9
  1499. package/out/zql/src/query/query.js.map +0 -1
  1500. package/out/zql/src/query/typed-view.js +0 -2
  1501. package/out/zql/src/query/typed-view.js.map +0 -1
  1502. package/out/zqlite/src/mod.js +0 -5
  1503. package/out/zqlite/src/mod.js.map +0 -1
  1504. /package/out/{zero-schema → zero-types}/src/server-schema.d.ts +0 -0
@@ -1,10 +1,26 @@
1
1
  import type { Expand } from '../../../shared/src/expand.ts';
2
+ import type { AST } from '../../../zero-protocol/src/ast.ts';
3
+ import type { DefaultSchema, DefaultWrappedTransaction } from '../../../zero-types/src/default-types.ts';
2
4
  import type { SchemaValueToTSType } from '../../../zero-types/src/schema-value.ts';
3
5
  import type { Schema, TableSchema } from '../../../zero-types/src/schema.ts';
4
- import type { Query } from '../query/query.ts';
6
+ import type { ServerSchema } from '../../../zero-types/src/server-schema.ts';
7
+ import type { Format } from '../ivm/view.ts';
8
+ import type { HumanReadable, Query, RunOptions } from '../query/query.ts';
9
+ import type { SchemaQuery } from '../query/schema-query.ts';
5
10
  type ClientID = string;
6
11
  export type Location = 'client' | 'server';
7
12
  export type TransactionReason = 'optimistic' | 'rebase' | 'authoritative';
13
+ /**
14
+ * A base transaction interface that any Transaction<S, T> is assignable to.
15
+ * Used in places where the schema type doesn't need to be preserved,
16
+ * like the public signature of Mutator.fn.
17
+ */
18
+ export interface AnyTransaction {
19
+ readonly location: Location;
20
+ readonly clientID: string;
21
+ readonly mutationID: number;
22
+ readonly reason: TransactionReason;
23
+ }
8
24
  export interface TransactionBase<S extends Schema> {
9
25
  readonly location: Location;
10
26
  readonly clientID: ClientID;
@@ -18,19 +34,20 @@ export interface TransactionBase<S extends Schema> {
18
34
  readonly reason: TransactionReason;
19
35
  readonly mutate: SchemaCRUD<S>;
20
36
  readonly query: SchemaQuery<S>;
37
+ run<TTable extends keyof S['tables'] & string, TReturn>(query: Query<TTable, S, TReturn>, options?: RunOptions): Promise<HumanReadable<TReturn>>;
21
38
  }
22
- export type Transaction<S extends Schema, TWrappedTransaction = unknown> = ServerTransaction<S, TWrappedTransaction> | ClientTransaction<S>;
23
- export interface ServerTransaction<S extends Schema, TWrappedTransaction> extends TransactionBase<S> {
39
+ export type Transaction<S extends Schema = DefaultSchema, TWrappedTransaction = DefaultWrappedTransaction> = ServerTransaction<S, TWrappedTransaction> | ClientTransaction<S>;
40
+ export interface ServerTransaction<S extends Schema = DefaultSchema, TWrappedTransaction = DefaultWrappedTransaction> extends TransactionBase<S> {
24
41
  readonly location: 'server';
25
42
  readonly reason: 'authoritative';
26
43
  readonly dbTransaction: DBTransaction<TWrappedTransaction>;
27
44
  }
28
45
  /**
29
46
  * An instance of this is passed to custom mutator implementations and
30
- * allows reading and writing to the database and IVM at the head
31
- * at which the mutator is being applied.
47
+ * allows reading and writing to the database and IVM at the head at which the
48
+ * mutator is being applied.
32
49
  */
33
- export interface ClientTransaction<S extends Schema> extends TransactionBase<S> {
50
+ export interface ClientTransaction<S extends Schema = DefaultSchema> extends TransactionBase<S> {
34
51
  readonly location: 'client';
35
52
  readonly reason: 'optimistic' | 'rebase';
36
53
  }
@@ -42,6 +59,7 @@ export interface DBConnection<TWrappedTransaction> {
42
59
  }
43
60
  export interface DBTransaction<T> extends Queryable {
44
61
  readonly wrappedTransaction: T;
62
+ runQuery<TReturn>(ast: AST, format: Format, schema: Schema, serverSchema: ServerSchema): Promise<HumanReadable<TReturn>>;
45
63
  }
46
64
  interface Queryable {
47
65
  query: (query: string, args: unknown[]) => Promise<Iterable<Row>>;
@@ -76,9 +94,6 @@ export type TableCRUD<S extends TableSchema> = {
76
94
  */
77
95
  delete: (id: DeleteID<S>) => Promise<void>;
78
96
  };
79
- export type SchemaQuery<S extends Schema> = {
80
- readonly [K in keyof S['tables'] & string]: Query<S, K>;
81
- };
82
97
  export type DeleteID<S extends TableSchema> = Expand<PrimaryKeyFields<S>>;
83
98
  type PrimaryKeyFields<S extends TableSchema> = {
84
99
  [K in Extract<S['primaryKey'][number], keyof S['columns']>]: SchemaValueToTSType<S['columns'][K]>;
@@ -96,7 +111,7 @@ export type UpsertValue<S extends TableSchema> = InsertValue<S>;
96
111
  export type UpdateValue<S extends TableSchema> = Expand<PrimaryKeyFields<S> & {
97
112
  [K in keyof S['columns']]?: SchemaValueToTSType<S['columns'][K]> | undefined;
98
113
  }>;
99
- export declare function customMutatorKey(namespace: string, name: string): string;
100
- export declare function splitMutatorKey(key: string): [string, string];
114
+ export declare function customMutatorKey(sep: string, parts: string[]): string;
115
+ export declare function splitMutatorKey(key: string, sep: string | RegExp): string[];
101
116
  export {};
102
117
  //# sourceMappingURL=custom.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"custom.d.ts","sourceRoot":"","sources":["../../../../../zql/src/mutate/custom.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,+BAA+B,CAAC;AAC1D,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,yCAAyC,CAAC;AACjF,OAAO,KAAK,EAAC,MAAM,EAAE,WAAW,EAAC,MAAM,mCAAmC,CAAC;AAC3E,OAAO,KAAK,EAAC,KAAK,EAAC,MAAM,mBAAmB,CAAC;AAE7C,KAAK,QAAQ,GAAG,MAAM,CAAC;AAEvB,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAC3C,MAAM,MAAM,iBAAiB,GAAG,YAAY,GAAG,QAAQ,GAAG,eAAe,CAAC;AAE1E,MAAM,WAAW,eAAe,CAAC,CAAC,SAAS,MAAM;IAC/C,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B;;OAEG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAE5B;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IAEnC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;CAChC;AAED,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,MAAM,EAAE,mBAAmB,GAAG,OAAO,IACnE,iBAAiB,CAAC,CAAC,EAAE,mBAAmB,CAAC,GACzC,iBAAiB,CAAC,CAAC,CAAC,CAAC;AAEzB,MAAM,WAAW,iBAAiB,CAAC,CAAC,SAAS,MAAM,EAAE,mBAAmB,CACtE,SAAQ,eAAe,CAAC,CAAC,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IACjC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC,mBAAmB,CAAC,CAAC;CAC5D;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB,CAAC,CAAC,SAAS,MAAM,CACjD,SAAQ,eAAe,CAAC,CAAC,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,YAAY,GAAG,QAAQ,CAAC;CAC1C;AAED,MAAM,WAAW,GAAG;IAClB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,YAAY,CAAC,mBAAmB;IAC/C,WAAW,EAAE,CAAC,CAAC,EACb,EAAE,EAAE,CAAC,EAAE,EAAE,aAAa,CAAC,mBAAmB,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,KACvD,OAAO,CAAC,CAAC,CAAC,CAAC;CACjB;AAED,MAAM,WAAW,aAAa,CAAC,CAAC,CAAE,SAAQ,SAAS;IACjD,QAAQ,CAAC,kBAAkB,EAAE,CAAC,CAAC;CAChC;AAED,UAAU,SAAS;IACjB,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;CACnE;AAED,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,MAAM,IAAI;KACxC,KAAK,IAAI,MAAM,CAAC,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC;CAC5D,CAAC;AAEF,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,WAAW,IAAI;IAC7C;;;;;OAKG;IACH,MAAM,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjD;;;;;OAKG;IACH,MAAM,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjD;;;;OAIG;IACH,MAAM,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjD;;;OAGG;IACH,MAAM,EAAE,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5C,CAAC;AAEF,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,MAAM,IAAI;IAC1C,QAAQ,EAAE,CAAC,IAAI,MAAM,CAAC,CAAC,QAAQ,CAAC,GAAG,MAAM,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;CACxD,CAAC;AAEF,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,WAAW,IAAI,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;AAE1E,KAAK,gBAAgB,CAAC,CAAC,SAAS,WAAW,IAAI;KAC5C,CAAC,IAAI,OAAO,CACX,CAAC,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,EACvB,MAAM,CAAC,CAAC,SAAS,CAAC,CACnB,GAAG,mBAAmB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;CACzC,CAAC;AAEF,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,WAAW,IAAI,MAAM,CACrD,gBAAgB,CAAC,CAAC,CAAC,GAAG;KACnB,CAAC,IAAI,MAAM,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAC,GAChE,CAAC,GACD,KAAK,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS;CAC9D,GAAG;KACD,CAAC,IAAI,MAAM,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAC,GAChE,KAAK,GACL,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;CAC7C,CACF,CAAC;AAEF,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,WAAW,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC;AAEhE,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,WAAW,IAAI,MAAM,CACrD,gBAAgB,CAAC,CAAC,CAAC,GAAG;KACnB,CAAC,IAAI,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EACtB,mBAAmB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,GACpC,SAAS;CACd,CACF,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,UAI/D;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAChB,CAAC,MAAM,EAAE,MAAM,CAAC,CAC1C"}
1
+ {"version":3,"file":"custom.d.ts","sourceRoot":"","sources":["../../../../../zql/src/mutate/custom.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,18 @@
1
1
  import { assert } from "../../../shared/src/asserts.js";
2
- export function customMutatorKey(namespace, name) {
3
- assert(!namespace.includes('|'), 'mutator namespaces must not include a |');
4
- assert(!name.includes('|'), 'mutator names must not include a |');
5
- return `${namespace}|${name}`;
2
+ function customMutatorKey(sep, parts) {
3
+ for (const part of parts) {
4
+ assert(
5
+ !part.includes(sep),
6
+ `mutator names/namespaces must not include a ${sep}`
7
+ );
8
+ }
9
+ return parts.join(sep);
6
10
  }
7
- export function splitMutatorKey(key) {
8
- return key.split('|');
11
+ function splitMutatorKey(key, sep) {
12
+ return key.split(sep);
9
13
  }
10
- //# sourceMappingURL=custom.js.map
14
+ export {
15
+ customMutatorKey,
16
+ splitMutatorKey
17
+ };
18
+ //# sourceMappingURL=custom.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"custom.js","sourceRoot":"","sources":["../../../../../zql/src/mutate/custom.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,gCAAgC,CAAC;AA0ItD,MAAM,UAAU,gBAAgB,CAAC,SAAiB,EAAE,IAAY;IAC9D,MAAM,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,yCAAyC,CAAC,CAAC;IAC5E,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,oCAAoC,CAAC,CAAC;IAClE,OAAO,GAAG,SAAS,IAAI,IAAI,EAAE,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,GAAW;IACzC,OAAO,GAAG,CAAC,KAAK,CAAC,GAAG,CAAqB,CAAC;AAC5C,CAAC"}
1
+ {"version":3,"file":"custom.js","sources":["../../../../../zql/src/mutate/custom.ts"],"sourcesContent":["import {assert} from '../../../shared/src/asserts.ts';\nimport type {Expand} from '../../../shared/src/expand.ts';\nimport type {AST} from '../../../zero-protocol/src/ast.ts';\nimport type {\n DefaultSchema,\n DefaultWrappedTransaction,\n} from '../../../zero-types/src/default-types.ts';\nimport type {SchemaValueToTSType} from '../../../zero-types/src/schema-value.ts';\nimport type {Schema, TableSchema} from '../../../zero-types/src/schema.ts';\nimport type {ServerSchema} from '../../../zero-types/src/server-schema.ts';\nimport type {Format} from '../ivm/view.ts';\nimport type {HumanReadable, Query, RunOptions} from '../query/query.ts';\nimport type {SchemaQuery} from '../query/schema-query.ts';\n\ntype ClientID = string;\n\nexport type Location = 'client' | 'server';\nexport type TransactionReason = 'optimistic' | 'rebase' | 'authoritative';\n\n/**\n * A base transaction interface that any Transaction<S, T> is assignable to.\n * Used in places where the schema type doesn't need to be preserved,\n * like the public signature of Mutator.fn.\n */\nexport interface AnyTransaction {\n readonly location: Location;\n readonly clientID: string;\n readonly mutationID: number;\n readonly reason: TransactionReason;\n}\n\nexport interface TransactionBase<S extends Schema> {\n readonly location: Location;\n readonly clientID: ClientID;\n /**\n * The ID of the mutation that is being applied.\n */\n readonly mutationID: number;\n\n /**\n * The reason for the transaction.\n */\n readonly reason: TransactionReason;\n\n readonly mutate: SchemaCRUD<S>;\n readonly query: SchemaQuery<S>;\n\n run<TTable extends keyof S['tables'] & string, TReturn>(\n query: Query<TTable, S, TReturn>,\n options?: RunOptions,\n ): Promise<HumanReadable<TReturn>>;\n}\n\nexport type Transaction<\n S extends Schema = DefaultSchema,\n TWrappedTransaction = DefaultWrappedTransaction,\n> = ServerTransaction<S, TWrappedTransaction> | ClientTransaction<S>;\n\nexport interface ServerTransaction<\n S extends Schema = DefaultSchema,\n TWrappedTransaction = DefaultWrappedTransaction,\n> extends TransactionBase<S> {\n readonly location: 'server';\n readonly reason: 'authoritative';\n readonly dbTransaction: DBTransaction<TWrappedTransaction>;\n}\n\n/**\n * An instance of this is passed to custom mutator implementations and\n * allows reading and writing to the database and IVM at the head at which the\n * mutator is being applied.\n */\nexport interface ClientTransaction<S extends Schema = DefaultSchema>\n extends TransactionBase<S> {\n readonly location: 'client';\n readonly reason: 'optimistic' | 'rebase';\n}\n\nexport interface Row {\n [column: string]: unknown;\n}\n\nexport interface DBConnection<TWrappedTransaction> {\n transaction: <T>(\n cb: (tx: DBTransaction<TWrappedTransaction>) => Promise<T>,\n ) => Promise<T>;\n}\n\nexport interface DBTransaction<T> extends Queryable {\n readonly wrappedTransaction: T;\n runQuery<TReturn>(\n ast: AST,\n format: Format,\n schema: Schema,\n serverSchema: ServerSchema,\n ): Promise<HumanReadable<TReturn>>;\n}\n\ninterface Queryable {\n query: (query: string, args: unknown[]) => Promise<Iterable<Row>>;\n}\n\nexport type SchemaCRUD<S extends Schema> = {\n [Table in keyof S['tables']]: TableCRUD<S['tables'][Table]>;\n};\n\nexport type TableCRUD<S extends TableSchema> = {\n /**\n * Writes a row if a row with the same primary key doesn't already exists.\n * Non-primary-key fields that are 'optional' can be omitted or set to\n * `undefined`. Such fields will be assigned the value `null` optimistically\n * and then the default value as defined by the server.\n */\n insert: (value: InsertValue<S>) => Promise<void>;\n\n /**\n * Writes a row unconditionally, overwriting any existing row with the same\n * primary key. Non-primary-key fields that are 'optional' can be omitted or\n * set to `undefined`. Such fields will be assigned the value `null`\n * optimistically and then the default value as defined by the server.\n */\n upsert: (value: UpsertValue<S>) => Promise<void>;\n\n /**\n * Updates a row with the same primary key. If no such row exists, this\n * function does nothing. All non-primary-key fields can be omitted or set to\n * `undefined`. Such fields will be left unchanged from previous value.\n */\n update: (value: UpdateValue<S>) => Promise<void>;\n\n /**\n * Deletes the row with the specified primary key. If no such row exists, this\n * function does nothing.\n */\n delete: (id: DeleteID<S>) => Promise<void>;\n};\n\nexport type DeleteID<S extends TableSchema> = Expand<PrimaryKeyFields<S>>;\n\ntype PrimaryKeyFields<S extends TableSchema> = {\n [K in Extract<\n S['primaryKey'][number],\n keyof S['columns']\n >]: SchemaValueToTSType<S['columns'][K]>;\n};\n\nexport type InsertValue<S extends TableSchema> = Expand<\n PrimaryKeyFields<S> & {\n [K in keyof S['columns'] as S['columns'][K] extends {optional: true}\n ? K\n : never]?: SchemaValueToTSType<S['columns'][K]> | undefined;\n } & {\n [K in keyof S['columns'] as S['columns'][K] extends {optional: true}\n ? never\n : K]: SchemaValueToTSType<S['columns'][K]>;\n }\n>;\n\nexport type UpsertValue<S extends TableSchema> = InsertValue<S>;\n\nexport type UpdateValue<S extends TableSchema> = Expand<\n PrimaryKeyFields<S> & {\n [K in keyof S['columns']]?:\n | SchemaValueToTSType<S['columns'][K]>\n | undefined;\n }\n>;\n\nexport function customMutatorKey(sep: string, parts: string[]) {\n for (const part of parts) {\n assert(\n !part.includes(sep),\n `mutator names/namespaces must not include a ${sep}`,\n );\n }\n return parts.join(sep);\n}\n\nexport function splitMutatorKey(key: string, sep: string | RegExp): string[] {\n return key.split(sep);\n}\n"],"names":[],"mappings":";AAwKO,SAAS,iBAAiB,KAAa,OAAiB;AAC7D,aAAW,QAAQ,OAAO;AACxB;AAAA,MACE,CAAC,KAAK,SAAS,GAAG;AAAA,MAClB,+CAA+C,GAAG;AAAA,IAAA;AAAA,EAEtD;AACA,SAAO,MAAM,KAAK,GAAG;AACvB;AAEO,SAAS,gBAAgB,KAAa,KAAgC;AAC3E,SAAO,IAAI,MAAM,GAAG;AACtB;"}
@@ -0,0 +1,93 @@
1
+ import { type DeepMerge } from '../../../shared/src/deep-merge.ts';
2
+ import type { DefaultContext, DefaultSchema } from '../../../zero-types/src/default-types.ts';
3
+ import type { Schema } from '../../../zero-types/src/schema.ts';
4
+ import { type AnyMutator, type Mutator, type MutatorDefinition } from './mutator.ts';
5
+ /**
6
+ * Creates a MutatorRegistry from a tree of MutatorDefinitions,
7
+ * optionally extending a base MutatorRegistry.
8
+ *
9
+ * @example
10
+ * ```ts
11
+ * // Create a new registry
12
+ * const mutators = defineMutators({
13
+ * user: {
14
+ * create: defineMutator(...),
15
+ * delete: defineMutator(...),
16
+ * },
17
+ * post: {
18
+ * publish: defineMutator(...),
19
+ * },
20
+ * });
21
+ *
22
+ * // Extend an existing registry (e.g., for server-side overrides)
23
+ * const serverMutators = defineMutators(mutators, {
24
+ * user: {
25
+ * create: defineMutator(...), // overrides mutators.user.create
26
+ * },
27
+ * // post.publish is inherited from mutators
28
+ * });
29
+ *
30
+ * // Access mutators by path
31
+ * const mr = mutators.user.create({name: 'Alice'});
32
+ *
33
+ * // Execute on client
34
+ * zero.mutate(mr);
35
+ *
36
+ * // Execute on server
37
+ * mr.mutator.fn({tx, ctx, args: mr.args});
38
+ *
39
+ * // Lookup by name (for server-side dispatch)
40
+ * const mutator = getMutator(mutators, 'user.create');
41
+ * ```
42
+ */
43
+ export declare function defineMutators<T extends MutatorDefinitions<S, C>, S extends Schema = DefaultSchema, C = DefaultContext>(definitions: T): MutatorRegistry<S, C, T>;
44
+ export declare function defineMutators<TBase extends MutatorDefinitions<S, C>, TOverrides extends MutatorDefinitions<S, C>, S extends Schema = DefaultSchema, C = DefaultContext>(base: MutatorRegistry<S, C, TBase>, overrides: TOverrides): MutatorRegistry<S, C, DeepMerge<TBase, TOverrides>>;
45
+ export declare function defineMutators<TBase extends MutatorDefinitions<S, C>, TOverrides extends MutatorDefinitions<S, C>, S extends Schema = DefaultSchema, C = DefaultContext>(base: TBase, overrides: TOverrides): MutatorRegistry<S, C, DeepMerge<TBase, TOverrides>>;
46
+ /**
47
+ * Gets a Mutator by its dot-separated name from a MutatorRegistry.
48
+ * Returns undefined if not found.
49
+ */
50
+ export declare function getMutator(registry: AnyMutatorRegistry, name: string): AnyMutator | undefined;
51
+ /**
52
+ * Gets a Mutator by its dot-separated name from a MutatorRegistry.
53
+ * Throws if not found.
54
+ */
55
+ export declare function mustGetMutator(registry: AnyMutatorRegistry, name: string): AnyMutator;
56
+ /**
57
+ * Checks if a value is a MutatorRegistry.
58
+ */
59
+ export declare function isMutatorRegistry<S extends Schema, C>(value: unknown): value is MutatorRegistry<S, C, MutatorDefinitions<S, C>>;
60
+ /**
61
+ * A tree of MutatorDefinitions, possibly nested.
62
+ */
63
+ export type MutatorDefinitions<S extends Schema, C> = {
64
+ readonly [key: string]: // oxlint-disable-next-line no-explicit-any
65
+ MutatorDefinition<any, any, S, C, any> | MutatorDefinitions<S, C>;
66
+ };
67
+ /**
68
+ * The result of defineMutators(). A tree of Mutators with a tag for detection.
69
+ */
70
+ export type MutatorRegistry<S extends Schema, C, T extends MutatorDefinitions<S, C>> = ToMutatorTree<S, C, T> & {
71
+ [mutatorRegistryTag]: true;
72
+ };
73
+ /**
74
+ * A branded type for use in type constraints. Use this instead of
75
+ * `MutatorRegistry<S, C, any>` to avoid TypeScript drilling into
76
+ * the complex ToMutatorTree structure and hitting variance issues.
77
+ */
78
+ export type AnyMutatorRegistry = {
79
+ [mutatorRegistryTag]: true;
80
+ } & Record<string, unknown>;
81
+ declare const mutatorRegistryTag: unique symbol;
82
+ /**
83
+ * Transforms a MutatorDefinitions into a tree of Mutators.
84
+ * Each MutatorDefinition becomes a Mutator at the same path.
85
+ * Uses TInput for the callable args (TOutput is only used internally for validation).
86
+ */
87
+ type ToMutatorTree<S extends Schema, C, T extends MutatorDefinitions<S, C>> = {
88
+ readonly [K in keyof T]: T[K] extends MutatorDefinition<infer TInput, any, // TOutput - only used internally for validation
89
+ S, C, infer TWrappedTransaction> ? Mutator<TInput, S, C, TWrappedTransaction> : T[K] extends MutatorDefinitions<S, C> ? ToMutatorTree<S, C, T[K]> : never;
90
+ };
91
+ export declare function iterateMutators(registry: AnyMutatorRegistry): Iterable<AnyMutator>;
92
+ export {};
93
+ //# sourceMappingURL=mutator-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mutator-registry.d.ts","sourceRoot":"","sources":["../../../../../zql/src/mutate/mutator-registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,SAAS,EAAC,MAAM,mCAAmC,CAAC;AAM5E,OAAO,KAAK,EACV,cAAc,EACd,aAAa,EACd,MAAM,0CAA0C,CAAC;AAClD,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,mCAAmC,CAAC;AAG9D,OAAO,EAGL,KAAK,UAAU,EAEf,KAAK,OAAO,EACZ,KAAK,iBAAiB,EACvB,MAAM,cAAc,CAAC;AAEtB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,wBAAgB,cAAc,CAC5B,CAAC,SAAS,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,EAClC,CAAC,SAAS,MAAM,GAAG,aAAa,EAChC,CAAC,GAAG,cAAc,EAClB,WAAW,EAAE,CAAC,GAAG,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAE5C,wBAAgB,cAAc,CAC5B,KAAK,SAAS,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,EACtC,UAAU,SAAS,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,EAC3C,CAAC,SAAS,MAAM,GAAG,aAAa,EAChC,CAAC,GAAG,cAAc,EAElB,IAAI,EAAE,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,EAClC,SAAS,EAAE,UAAU,GACpB,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;AAEvD,wBAAgB,cAAc,CAC5B,KAAK,SAAS,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,EACtC,UAAU,SAAS,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,EAC3C,CAAC,SAAS,MAAM,GAAG,aAAa,EAChC,CAAC,GAAG,cAAc,EAElB,IAAI,EAAE,KAAK,EACX,SAAS,EAAE,UAAU,GACpB,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;AA8DvD;;;GAGG;AACH,wBAAgB,UAAU,CACxB,QAAQ,EAAE,kBAAkB,EAC5B,IAAI,EAAE,MAAM,GACX,UAAU,GAAG,SAAS,CAGxB;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,kBAAkB,EAC5B,IAAI,EAAE,MAAM,GACX,UAAU,CAMZ;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,EACnD,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAI1D;AAMD;;GAEG;AACH,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,IAAI;IACpD,QAAQ,EAAE,GAAG,EAAE,MAAM,GACrB,AADwB,2CAA2C;IACnE,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,GAAG,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;CACnE,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,eAAe,CACzB,CAAC,SAAS,MAAM,EAChB,CAAC,EACD,CAAC,SAAS,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,IAChC,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG;IAC3B,CAAC,kBAAkB,CAAC,EAAE,IAAI,CAAC;CAC5B,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAAC,CAAC,kBAAkB,CAAC,EAAE,IAAI,CAAA;CAAC,GAAG,MAAM,CACpE,MAAM,EACN,OAAO,CACR,CAAC;AAMF,QAAA,MAAM,kBAAkB,eAA4B,CAAC;AAErD;;;;GAIG;AACH,KAAK,aAAa,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,CAAC,SAAS,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI;IAC5E,QAAQ,EAAE,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,iBAAiB,CACrD,MAAM,MAAM,EAEZ,GAAG,EAAE,gDAAgD;IACrD,CAAC,EACD,CAAC,EACD,MAAM,mBAAmB,CAC1B,GACG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,mBAAmB,CAAC,GAC1C,CAAC,CAAC,CAAC,CAAC,SAAS,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,GACnC,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GACzB,KAAK;CACZ,CAAC;AAiEF,wBAAiB,eAAe,CAC9B,QAAQ,EAAE,kBAAkB,GAC3B,QAAQ,CAAC,UAAU,CAAC,CAEtB"}
@@ -0,0 +1,93 @@
1
+ import { deepMerge } from "../../../shared/src/deep-merge.js";
2
+ import { getValueAtPath, iterateLeaves } from "../../../shared/src/object-traversal.js";
3
+ import { validateInput } from "../query/validate-input.js";
4
+ import { isMutatorDefinition, isMutator } from "./mutator.js";
5
+ function defineMutators(definitionsOrBase, maybeOverrides) {
6
+ function processDefinitions(definitions, path) {
7
+ const result = {
8
+ [mutatorRegistryTag]: true
9
+ };
10
+ for (const [key, value] of Object.entries(definitions)) {
11
+ path.push(key);
12
+ const name = path.join(".");
13
+ if (isMutatorDefinition(value)) {
14
+ result[key] = createMutator(name, value);
15
+ } else {
16
+ result[key] = processDefinitions(
17
+ value,
18
+ path
19
+ );
20
+ }
21
+ path.pop();
22
+ }
23
+ return result;
24
+ }
25
+ if (maybeOverrides !== void 0) {
26
+ let base;
27
+ if (!isMutatorRegistry(definitionsOrBase)) {
28
+ base = processDefinitions(
29
+ definitionsOrBase,
30
+ []
31
+ );
32
+ } else {
33
+ base = definitionsOrBase;
34
+ }
35
+ const processed = processDefinitions(maybeOverrides, []);
36
+ const merged = deepMerge(base, processed, isMutator);
37
+ merged[mutatorRegistryTag] = true;
38
+ return merged;
39
+ }
40
+ return processDefinitions(
41
+ definitionsOrBase,
42
+ []
43
+ );
44
+ }
45
+ function getMutator(registry, name) {
46
+ const m = getValueAtPath(registry, name, ".");
47
+ return m;
48
+ }
49
+ function mustGetMutator(registry, name) {
50
+ const mutator = getMutator(registry, name);
51
+ if (mutator === void 0) {
52
+ throw new Error(`Mutator not found: ${name}`);
53
+ }
54
+ return mutator;
55
+ }
56
+ function isMutatorRegistry(value) {
57
+ return typeof value === "object" && value !== null && mutatorRegistryTag in value;
58
+ }
59
+ const mutatorRegistryTag = Symbol("mutatorRegistry");
60
+ function createMutator(name, definition) {
61
+ const { validator } = definition;
62
+ const fn = async (options) => {
63
+ const validatedArgs = validator ? validateInput(
64
+ name,
65
+ options.args,
66
+ validator,
67
+ "mutator"
68
+ ) : options.args;
69
+ await definition({
70
+ args: validatedArgs,
71
+ ctx: options.ctx,
72
+ tx: options.tx
73
+ });
74
+ };
75
+ const mutator = (args) => ({
76
+ mutator,
77
+ args
78
+ });
79
+ mutator.mutatorName = name;
80
+ mutator.fn = fn;
81
+ return mutator;
82
+ }
83
+ function* iterateMutators(registry) {
84
+ yield* iterateLeaves(registry, isMutator);
85
+ }
86
+ export {
87
+ defineMutators,
88
+ getMutator,
89
+ isMutatorRegistry,
90
+ iterateMutators,
91
+ mustGetMutator
92
+ };
93
+ //# sourceMappingURL=mutator-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mutator-registry.js","sources":["../../../../../zql/src/mutate/mutator-registry.ts"],"sourcesContent":["import {deepMerge, type DeepMerge} from '../../../shared/src/deep-merge.ts';\nimport type {ReadonlyJSONValue} from '../../../shared/src/json.ts';\nimport {\n getValueAtPath,\n iterateLeaves,\n} from '../../../shared/src/object-traversal.ts';\nimport type {\n DefaultContext,\n DefaultSchema,\n} from '../../../zero-types/src/default-types.ts';\nimport type {Schema} from '../../../zero-types/src/schema.ts';\nimport {validateInput} from '../query/validate-input.ts';\nimport type {Transaction} from './custom.ts';\nimport {\n isMutator,\n isMutatorDefinition,\n type AnyMutator,\n type MutationRequest,\n type Mutator,\n type MutatorDefinition,\n} from './mutator.ts';\n\n/**\n * Creates a MutatorRegistry from a tree of MutatorDefinitions,\n * optionally extending a base MutatorRegistry.\n *\n * @example\n * ```ts\n * // Create a new registry\n * const mutators = defineMutators({\n * user: {\n * create: defineMutator(...),\n * delete: defineMutator(...),\n * },\n * post: {\n * publish: defineMutator(...),\n * },\n * });\n *\n * // Extend an existing registry (e.g., for server-side overrides)\n * const serverMutators = defineMutators(mutators, {\n * user: {\n * create: defineMutator(...), // overrides mutators.user.create\n * },\n * // post.publish is inherited from mutators\n * });\n *\n * // Access mutators by path\n * const mr = mutators.user.create({name: 'Alice'});\n *\n * // Execute on client\n * zero.mutate(mr);\n *\n * // Execute on server\n * mr.mutator.fn({tx, ctx, args: mr.args});\n *\n * // Lookup by name (for server-side dispatch)\n * const mutator = getMutator(mutators, 'user.create');\n * ```\n */\nexport function defineMutators<\n T extends MutatorDefinitions<S, C>,\n S extends Schema = DefaultSchema,\n C = DefaultContext,\n>(definitions: T): MutatorRegistry<S, C, T>;\n\nexport function defineMutators<\n TBase extends MutatorDefinitions<S, C>,\n TOverrides extends MutatorDefinitions<S, C>,\n S extends Schema = DefaultSchema,\n C = DefaultContext,\n>(\n base: MutatorRegistry<S, C, TBase>,\n overrides: TOverrides,\n): MutatorRegistry<S, C, DeepMerge<TBase, TOverrides>>;\n\nexport function defineMutators<\n TBase extends MutatorDefinitions<S, C>,\n TOverrides extends MutatorDefinitions<S, C>,\n S extends Schema = DefaultSchema,\n C = DefaultContext,\n>(\n base: TBase,\n overrides: TOverrides,\n): MutatorRegistry<S, C, DeepMerge<TBase, TOverrides>>;\n\nexport function defineMutators<S extends Schema, C>(\n definitionsOrBase: MutatorDefinitions<S, C> | AnyMutatorRegistry,\n maybeOverrides?: MutatorDefinitions<S, C>,\n): AnyMutatorRegistry {\n function processDefinitions(\n definitions: MutatorDefinitions<S, C>,\n path: string[],\n ): Record<string | symbol, unknown> {\n const result: Record<string | symbol, unknown> = {\n [mutatorRegistryTag]: true,\n };\n\n for (const [key, value] of Object.entries(definitions)) {\n path.push(key);\n const name = path.join('.');\n\n if (isMutatorDefinition(value)) {\n result[key] = createMutator(name, value);\n } else {\n // Nested definitions\n result[key] = processDefinitions(\n value as MutatorDefinitions<S, C>,\n path,\n );\n }\n path.pop();\n }\n\n return result;\n }\n\n if (maybeOverrides !== undefined) {\n // Merge base and overrides\n let base: Record<string | symbol, unknown>;\n if (!isMutatorRegistry(definitionsOrBase)) {\n base = processDefinitions(\n definitionsOrBase as MutatorDefinitions<S, C>,\n [],\n );\n } else {\n base = definitionsOrBase;\n }\n\n const processed = processDefinitions(maybeOverrides, []);\n\n const merged = deepMerge(base, processed, isMutator) as Record<\n string | symbol,\n unknown\n >;\n // deepMerge doesn't copy symbols, so we need to add the tag\n merged[mutatorRegistryTag] = true;\n return merged as AnyMutatorRegistry;\n }\n\n return processDefinitions(\n definitionsOrBase as MutatorDefinitions<S, C>,\n [],\n ) as AnyMutatorRegistry;\n}\n\n/**\n * Gets a Mutator by its dot-separated name from a MutatorRegistry.\n * Returns undefined if not found.\n */\nexport function getMutator(\n registry: AnyMutatorRegistry,\n name: string,\n): AnyMutator | undefined {\n const m = getValueAtPath(registry, name, '.');\n return m as AnyMutator | undefined;\n}\n\n/**\n * Gets a Mutator by its dot-separated name from a MutatorRegistry.\n * Throws if not found.\n */\nexport function mustGetMutator(\n registry: AnyMutatorRegistry,\n name: string,\n): AnyMutator {\n const mutator = getMutator(registry, name);\n if (mutator === undefined) {\n throw new Error(`Mutator not found: ${name}`);\n }\n return mutator;\n}\n\n/**\n * Checks if a value is a MutatorRegistry.\n */\nexport function isMutatorRegistry<S extends Schema, C>(\n value: unknown,\n): value is MutatorRegistry<S, C, MutatorDefinitions<S, C>> {\n return (\n typeof value === 'object' && value !== null && mutatorRegistryTag in value\n );\n}\n\n// ----------------------------------------------------------------------------\n// Types\n// ----------------------------------------------------------------------------\n\n/**\n * A tree of MutatorDefinitions, possibly nested.\n */\nexport type MutatorDefinitions<S extends Schema, C> = {\n readonly [key: string]: // oxlint-disable-next-line no-explicit-any\n MutatorDefinition<any, any, S, C, any> | MutatorDefinitions<S, C>;\n};\n\n/**\n * The result of defineMutators(). A tree of Mutators with a tag for detection.\n */\nexport type MutatorRegistry<\n S extends Schema,\n C,\n T extends MutatorDefinitions<S, C>,\n> = ToMutatorTree<S, C, T> & {\n [mutatorRegistryTag]: true;\n};\n\n/**\n * A branded type for use in type constraints. Use this instead of\n * `MutatorRegistry<S, C, any>` to avoid TypeScript drilling into\n * the complex ToMutatorTree structure and hitting variance issues.\n */\nexport type AnyMutatorRegistry = {[mutatorRegistryTag]: true} & Record<\n string,\n unknown\n>;\n\n// ----------------------------------------------------------------------------\n// Internal\n// ----------------------------------------------------------------------------\n\nconst mutatorRegistryTag = Symbol('mutatorRegistry');\n\n/**\n * Transforms a MutatorDefinitions into a tree of Mutators.\n * Each MutatorDefinition becomes a Mutator at the same path.\n * Uses TInput for the callable args (TOutput is only used internally for validation).\n */\ntype ToMutatorTree<S extends Schema, C, T extends MutatorDefinitions<S, C>> = {\n readonly [K in keyof T]: T[K] extends MutatorDefinition<\n infer TInput,\n // oxlint-disable-next-line no-explicit-any\n any, // TOutput - only used internally for validation\n S,\n C,\n infer TWrappedTransaction\n >\n ? Mutator<TInput, S, C, TWrappedTransaction>\n : T[K] extends MutatorDefinitions<S, C>\n ? ToMutatorTree<S, C, T[K]>\n : never;\n};\n\nfunction createMutator<\n S extends Schema,\n C,\n ArgsInput extends ReadonlyJSONValue | undefined,\n ArgsOutput extends ReadonlyJSONValue | undefined,\n TWrappedTransaction,\n>(\n name: string,\n definition: MutatorDefinition<\n ArgsInput,\n ArgsOutput,\n S,\n C,\n TWrappedTransaction\n >,\n): Mutator<ArgsInput, S, C, TWrappedTransaction> {\n const {validator} = definition;\n\n // fn takes ReadonlyJSONValue args because it's called during rebase (from\n // stored JSON) and on the server (from wire format). Validation happens here.\n const fn = async (options: {\n args: ArgsInput;\n ctx: C;\n tx: Transaction<S, TWrappedTransaction>;\n }): Promise<void> => {\n const validatedArgs = validator\n ? validateInput<ArgsInput, ArgsOutput>(\n name,\n options.args,\n validator,\n 'mutator',\n )\n : (options.args as unknown as ArgsOutput);\n await definition({\n args: validatedArgs,\n ctx: options.ctx,\n tx: options.tx,\n });\n };\n\n // Create the callable mutator\n const mutator = (\n args: ArgsInput,\n ): MutationRequest<ArgsInput, S, C, Transaction<S, TWrappedTransaction>> => ({\n mutator: mutator as unknown as Mutator<\n ArgsInput,\n S,\n C,\n Transaction<S, TWrappedTransaction>\n >,\n args,\n });\n mutator.mutatorName = name;\n mutator.fn = fn;\n\n return mutator as unknown as Mutator<\n ArgsInput,\n S,\n C,\n Transaction<S, TWrappedTransaction>\n >;\n}\n\nexport function* iterateMutators(\n registry: AnyMutatorRegistry,\n): Iterable<AnyMutator> {\n yield* iterateLeaves(registry, isMutator);\n}\n"],"names":[],"mappings":";;;;AAsFO,SAAS,eACd,mBACA,gBACoB;AACpB,WAAS,mBACP,aACA,MACkC;AAClC,UAAM,SAA2C;AAAA,MAC/C,CAAC,kBAAkB,GAAG;AAAA,IAAA;AAGxB,eAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,WAAW,GAAG;AACtD,WAAK,KAAK,GAAG;AACb,YAAM,OAAO,KAAK,KAAK,GAAG;AAE1B,UAAI,oBAAoB,KAAK,GAAG;AAC9B,eAAO,GAAG,IAAI,cAAc,MAAM,KAAK;AAAA,MACzC,OAAO;AAEL,eAAO,GAAG,IAAI;AAAA,UACZ;AAAA,UACA;AAAA,QAAA;AAAA,MAEJ;AACA,WAAK,IAAA;AAAA,IACP;AAEA,WAAO;AAAA,EACT;AAEA,MAAI,mBAAmB,QAAW;AAEhC,QAAI;AACJ,QAAI,CAAC,kBAAkB,iBAAiB,GAAG;AACzC,aAAO;AAAA,QACL;AAAA,QACA,CAAA;AAAA,MAAC;AAAA,IAEL,OAAO;AACL,aAAO;AAAA,IACT;AAEA,UAAM,YAAY,mBAAmB,gBAAgB,EAAE;AAEvD,UAAM,SAAS,UAAU,MAAM,WAAW,SAAS;AAKnD,WAAO,kBAAkB,IAAI;AAC7B,WAAO;AAAA,EACT;AAEA,SAAO;AAAA,IACL;AAAA,IACA,CAAA;AAAA,EAAC;AAEL;AAMO,SAAS,WACd,UACA,MACwB;AACxB,QAAM,IAAI,eAAe,UAAU,MAAM,GAAG;AAC5C,SAAO;AACT;AAMO,SAAS,eACd,UACA,MACY;AACZ,QAAM,UAAU,WAAW,UAAU,IAAI;AACzC,MAAI,YAAY,QAAW;AACzB,UAAM,IAAI,MAAM,sBAAsB,IAAI,EAAE;AAAA,EAC9C;AACA,SAAO;AACT;AAKO,SAAS,kBACd,OAC0D;AAC1D,SACE,OAAO,UAAU,YAAY,UAAU,QAAQ,sBAAsB;AAEzE;AAuCA,MAAM,qBAAqB,OAAO,iBAAiB;AAsBnD,SAAS,cAOP,MACA,YAO+C;AAC/C,QAAM,EAAC,cAAa;AAIpB,QAAM,KAAK,OAAO,YAIG;AACnB,UAAM,gBAAgB,YAClB;AAAA,MACE;AAAA,MACA,QAAQ;AAAA,MACR;AAAA,MACA;AAAA,IAAA,IAED,QAAQ;AACb,UAAM,WAAW;AAAA,MACf,MAAM;AAAA,MACN,KAAK,QAAQ;AAAA,MACb,IAAI,QAAQ;AAAA,IAAA,CACb;AAAA,EACH;AAGA,QAAM,UAAU,CACd,UAC2E;AAAA,IAC3E;AAAA,IAMA;AAAA,EAAA;AAEF,UAAQ,cAAc;AACtB,UAAQ,KAAK;AAEb,SAAO;AAMT;AAEO,UAAU,gBACf,UACsB;AACtB,SAAO,cAAc,UAAU,SAAS;AAC1C;"}
@@ -0,0 +1,79 @@
1
+ import type { StandardSchemaV1 } from '@standard-schema/spec';
2
+ import type { ReadonlyJSONValue } from '../../../shared/src/json.ts';
3
+ import type { DefaultContext, DefaultSchema, DefaultWrappedTransaction } from '../../../zero-types/src/default-types.ts';
4
+ import type { Schema } from '../../../zero-types/src/schema.ts';
5
+ import type { AnyTransaction, Transaction } from './custom.ts';
6
+ declare const defineMutatorTag: unique symbol;
7
+ export declare function isMutatorDefinition<TInput extends ReadonlyJSONValue | undefined, TOutput extends ReadonlyJSONValue | undefined, TSchema extends Schema, TContext, TWrappedTransaction = unknown>(f: unknown): f is MutatorDefinition<TInput, TOutput, TSchema, TContext, TWrappedTransaction>;
8
+ export type MutatorDefinition<TInput extends ReadonlyJSONValue | undefined, TOutput extends ReadonlyJSONValue | undefined, TSchema extends Schema = DefaultSchema, TContext = DefaultContext, TWrappedTransaction = DefaultWrappedTransaction> = ((options: {
9
+ args: TOutput;
10
+ ctx: TContext;
11
+ tx: Transaction<TSchema, TWrappedTransaction>;
12
+ }) => Promise<void>) & {
13
+ [defineMutatorTag]: true;
14
+ validator: StandardSchemaV1<TInput, TOutput> | undefined;
15
+ };
16
+ export declare function defineMutator<TInput extends ReadonlyJSONValue | undefined, TOutput extends ReadonlyJSONValue | undefined, TSchema extends Schema = DefaultSchema, TContext = DefaultContext, TWrappedTransaction = DefaultWrappedTransaction>(validator: StandardSchemaV1<TInput, TOutput>, mutator: (options: {
17
+ args: TOutput;
18
+ ctx: TContext;
19
+ tx: Transaction<TSchema, TWrappedTransaction>;
20
+ }) => Promise<void>): MutatorDefinition<TInput, TOutput, TSchema, TContext, TWrappedTransaction>;
21
+ export declare function defineMutator<TArgs extends ReadonlyJSONValue | undefined, TSchema extends Schema = DefaultSchema, TContext = DefaultContext, TWrappedTransaction = DefaultWrappedTransaction>(mutator: (options: {
22
+ args: TArgs;
23
+ ctx: TContext;
24
+ tx: Transaction<TSchema, TWrappedTransaction>;
25
+ }) => Promise<void>): MutatorDefinition<TArgs, TArgs, TSchema, TContext, TWrappedTransaction>;
26
+ /**
27
+ * A callable wrapper around a MutatorDefinition, created by `defineMutators()`.
28
+ *
29
+ * Accessed like `mutators.foo.bar`, and called to create a MutationRequest:
30
+ * `mutators.foo.bar(42)` returns a `MutationRequest`.
31
+ *
32
+ * The `fn` property is used for execution and takes raw JSON args (for rebase
33
+ * and server wire format cases) that are validated internally.
34
+ *
35
+ * @template TArgsInput - The argument type accepted by the callable (before validation)
36
+ * @template TSchema - The schema type
37
+ * @template TContext - The context type available during mutation execution
38
+ * @template TWrappedTransaction - The wrapped transaction type
39
+ */
40
+ export type Mutator<TArgsInput extends ReadonlyJSONValue | undefined, TSchema extends Schema = DefaultSchema, TContext = DefaultContext, TWrappedTransaction = DefaultWrappedTransaction> = MutatorCallable<TSchema, TContext, TArgsInput, TWrappedTransaction> & {
41
+ readonly mutatorName: string;
42
+ /**
43
+ * Execute the mutation. Args are ReadonlyJSONValue because this is called
44
+ * during rebase (from stored JSON) and on the server (from wire format).
45
+ * Validation happens internally before the recipe function runs.
46
+ *
47
+ * The tx parameter uses AnyTransaction to avoid contravariance issues when
48
+ * calling from generic code. The implementation casts to the specific type.
49
+ */
50
+ readonly fn: (options: {
51
+ args: TArgsInput;
52
+ ctx: TContext;
53
+ tx: AnyTransaction;
54
+ }) => Promise<void>;
55
+ };
56
+ type MutatorCallable<TSchema extends Schema, TContext, TArgsInput extends ReadonlyJSONValue | undefined, TWrappedTransaction> = [TArgsInput] extends [undefined] ? () => MutationRequest<TArgsInput, TSchema, TContext, TWrappedTransaction> : undefined extends TArgsInput ? (args?: TArgsInput) => MutationRequest<TArgsInput, TSchema, TContext, TWrappedTransaction> : (args: TArgsInput) => MutationRequest<TArgsInput, TSchema, TContext, TWrappedTransaction>;
57
+ export type AnyMutator = Mutator<any, Schema, any, any>;
58
+ /**
59
+ * The result of calling a Mutator with arguments.
60
+ *
61
+ * Created by `mutators.foo.bar(42)`, executed by `zero.mutate(mr)` on the client
62
+ * or `mr.mutator.fn({tx, ctx, args: mr.args})` on the server.
63
+ *
64
+ * @template TArgsInput - The argument type (before validation, sent to server)
65
+ * @template TSchema - The schema type
66
+ * @template TContext - The context type available during mutation execution
67
+ * @template TWrappedTransaction - The wrapped transaction type
68
+ */
69
+ export type MutationRequest<TArgsInput extends ReadonlyJSONValue | undefined, TSchema extends Schema, TContext, TWrappedTransaction> = {
70
+ readonly mutator: Mutator<TArgsInput, TSchema, TContext, TWrappedTransaction>;
71
+ readonly args: TArgsInput;
72
+ };
73
+ /**
74
+ * Checks if a value is a Mutator (the result of processing a MutatorDefinition
75
+ * through defineMutators).
76
+ */
77
+ export declare function isMutator(value: unknown): value is AnyMutator;
78
+ export {};
79
+ //# sourceMappingURL=mutator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mutator.d.ts","sourceRoot":"","sources":["../../../../../zql/src/mutate/mutator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import { must } from "../../../shared/src/must.js";
2
+ const defineMutatorTag = Symbol();
3
+ function isMutatorDefinition(f) {
4
+ return typeof f === "function" && !!f[defineMutatorTag];
5
+ }
6
+ function defineMutator(validatorOrMutator, mutator) {
7
+ let validator;
8
+ let actualMutator;
9
+ if (typeof validatorOrMutator === "function") {
10
+ validator = void 0;
11
+ actualMutator = validatorOrMutator;
12
+ } else {
13
+ validator = validatorOrMutator;
14
+ actualMutator = must(mutator);
15
+ }
16
+ const f = actualMutator;
17
+ f[defineMutatorTag] = true;
18
+ f.validator = validator;
19
+ return f;
20
+ }
21
+ function isMutator(value) {
22
+ return typeof value === "function" && // oxlint-disable-next-line no-explicit-any
23
+ typeof value.mutatorName === "string" && // oxlint-disable-next-line no-explicit-any
24
+ typeof value.fn === "function";
25
+ }
26
+ export {
27
+ defineMutator,
28
+ isMutator,
29
+ isMutatorDefinition
30
+ };
31
+ //# sourceMappingURL=mutator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mutator.js","sources":["../../../../../zql/src/mutate/mutator.ts"],"sourcesContent":["import type {StandardSchemaV1} from '@standard-schema/spec';\nimport type {ReadonlyJSONValue} from '../../../shared/src/json.ts';\nimport {must} from '../../../shared/src/must.ts';\nimport type {\n DefaultContext,\n DefaultSchema,\n DefaultWrappedTransaction,\n} from '../../../zero-types/src/default-types.ts';\nimport type {Schema} from '../../../zero-types/src/schema.ts';\nimport type {AnyTransaction, Transaction} from './custom.ts';\n\n// ----------------------------------------------------------------------------\n// defineMutator\n// ----------------------------------------------------------------------------\n\nconst defineMutatorTag = Symbol();\n\nexport function isMutatorDefinition<\n TInput extends ReadonlyJSONValue | undefined,\n TOutput extends ReadonlyJSONValue | undefined,\n TSchema extends Schema,\n TContext,\n TWrappedTransaction = unknown,\n>(\n f: unknown,\n): f is MutatorDefinition<\n TInput,\n TOutput,\n TSchema,\n TContext,\n TWrappedTransaction\n> {\n // oxlint-disable-next-line no-explicit-any\n return typeof f === 'function' && !!(f as any)[defineMutatorTag];\n}\n\nexport type MutatorDefinition<\n TInput extends ReadonlyJSONValue | undefined,\n TOutput extends ReadonlyJSONValue | undefined,\n TSchema extends Schema = DefaultSchema,\n TContext = DefaultContext,\n TWrappedTransaction = DefaultWrappedTransaction,\n> = ((options: {\n args: TOutput;\n ctx: TContext;\n tx: Transaction<TSchema, TWrappedTransaction>;\n}) => Promise<void>) & {\n [defineMutatorTag]: true;\n validator: StandardSchemaV1<TInput, TOutput> | undefined;\n};\n\n// Overload 1: Call with validator\nexport function defineMutator<\n TInput extends ReadonlyJSONValue | undefined,\n TOutput extends ReadonlyJSONValue | undefined,\n TSchema extends Schema = DefaultSchema,\n TContext = DefaultContext,\n TWrappedTransaction = DefaultWrappedTransaction,\n>(\n validator: StandardSchemaV1<TInput, TOutput>,\n mutator: (options: {\n args: TOutput;\n ctx: TContext;\n tx: Transaction<TSchema, TWrappedTransaction>;\n }) => Promise<void>,\n): MutatorDefinition<TInput, TOutput, TSchema, TContext, TWrappedTransaction>;\n\n// Overload 2: Call without validator\nexport function defineMutator<\n TArgs extends ReadonlyJSONValue | undefined,\n TSchema extends Schema = DefaultSchema,\n TContext = DefaultContext,\n TWrappedTransaction = DefaultWrappedTransaction,\n>(\n mutator: (options: {\n args: TArgs;\n ctx: TContext;\n tx: Transaction<TSchema, TWrappedTransaction>;\n }) => Promise<void>,\n): MutatorDefinition<TArgs, TArgs, TSchema, TContext, TWrappedTransaction>;\n\n// Implementation\nexport function defineMutator<\n TInput extends ReadonlyJSONValue | undefined,\n TOutput extends ReadonlyJSONValue | undefined,\n TSchema extends Schema = DefaultSchema,\n TContext = DefaultContext,\n TWrappedTransaction = DefaultWrappedTransaction,\n>(\n validatorOrMutator:\n | StandardSchemaV1<TInput, TOutput>\n | ((options: {\n args: TOutput;\n ctx: TContext;\n tx: Transaction<TSchema, TWrappedTransaction>;\n }) => Promise<void>),\n mutator?: (options: {\n args: TOutput;\n ctx: TContext;\n tx: Transaction<TSchema, TWrappedTransaction>;\n }) => Promise<void>,\n): MutatorDefinition<TInput, TOutput, TSchema, TContext, TWrappedTransaction> {\n let validator: StandardSchemaV1<TInput, TOutput> | undefined;\n let actualMutator: (options: {\n args: TOutput;\n ctx: TContext;\n tx: Transaction<TSchema, TWrappedTransaction>;\n }) => Promise<void>;\n\n if (typeof validatorOrMutator === 'function') {\n // defineMutator(mutator) - no validator\n validator = undefined;\n actualMutator = validatorOrMutator;\n } else {\n // defineMutator(validator, mutator)\n validator = validatorOrMutator;\n actualMutator = must(mutator);\n }\n\n const f = actualMutator as MutatorDefinition<\n TInput,\n TOutput,\n TSchema,\n TContext,\n TWrappedTransaction\n >;\n f[defineMutatorTag] = true;\n f.validator = validator;\n return f;\n}\n\n// ----------------------------------------------------------------------------\n// Mutator and MutationRequest types\n// ----------------------------------------------------------------------------\n\n/**\n * A callable wrapper around a MutatorDefinition, created by `defineMutators()`.\n *\n * Accessed like `mutators.foo.bar`, and called to create a MutationRequest:\n * `mutators.foo.bar(42)` returns a `MutationRequest`.\n *\n * The `fn` property is used for execution and takes raw JSON args (for rebase\n * and server wire format cases) that are validated internally.\n *\n * @template TArgsInput - The argument type accepted by the callable (before validation)\n * @template TSchema - The schema type\n * @template TContext - The context type available during mutation execution\n * @template TWrappedTransaction - The wrapped transaction type\n */\nexport type Mutator<\n TArgsInput extends ReadonlyJSONValue | undefined,\n TSchema extends Schema = DefaultSchema,\n TContext = DefaultContext,\n TWrappedTransaction = DefaultWrappedTransaction,\n> = MutatorCallable<TSchema, TContext, TArgsInput, TWrappedTransaction> & {\n readonly mutatorName: string;\n /**\n * Execute the mutation. Args are ReadonlyJSONValue because this is called\n * during rebase (from stored JSON) and on the server (from wire format).\n * Validation happens internally before the recipe function runs.\n *\n * The tx parameter uses AnyTransaction to avoid contravariance issues when\n * calling from generic code. The implementation casts to the specific type.\n */\n readonly fn: (options: {\n args: TArgsInput;\n ctx: TContext;\n tx: AnyTransaction;\n }) => Promise<void>;\n};\n\n// Helper type for the callable part of Mutator\n// When TArgsInput is undefined, the function is callable with 0 args\n// When TArgsInput includes undefined (optional), args is optional\n// Otherwise, args is required\ntype MutatorCallable<\n TSchema extends Schema,\n TContext,\n TArgsInput extends ReadonlyJSONValue | undefined,\n TWrappedTransaction,\n> = [TArgsInput] extends [undefined]\n ? () => MutationRequest<TArgsInput, TSchema, TContext, TWrappedTransaction>\n : undefined extends TArgsInput\n ? (\n args?: TArgsInput,\n ) => MutationRequest<TArgsInput, TSchema, TContext, TWrappedTransaction>\n : (\n args: TArgsInput,\n ) => MutationRequest<TArgsInput, TSchema, TContext, TWrappedTransaction>;\n\n// oxlint-disable-next-line no-explicit-any\nexport type AnyMutator = Mutator<any, Schema, any, any>;\n\n/**\n * The result of calling a Mutator with arguments.\n *\n * Created by `mutators.foo.bar(42)`, executed by `zero.mutate(mr)` on the client\n * or `mr.mutator.fn({tx, ctx, args: mr.args})` on the server.\n *\n * @template TArgsInput - The argument type (before validation, sent to server)\n * @template TSchema - The schema type\n * @template TContext - The context type available during mutation execution\n * @template TWrappedTransaction - The wrapped transaction type\n */\nexport type MutationRequest<\n TArgsInput extends ReadonlyJSONValue | undefined,\n TSchema extends Schema,\n TContext,\n TWrappedTransaction,\n> = {\n readonly mutator: Mutator<TArgsInput, TSchema, TContext, TWrappedTransaction>;\n readonly args: TArgsInput;\n};\n\n/**\n * Checks if a value is a Mutator (the result of processing a MutatorDefinition\n * through defineMutators).\n */\nexport function isMutator(value: unknown): value is AnyMutator {\n return (\n typeof value === 'function' &&\n // oxlint-disable-next-line no-explicit-any\n typeof (value as any).mutatorName === 'string' &&\n // oxlint-disable-next-line no-explicit-any\n typeof (value as any).fn === 'function'\n );\n}\n"],"names":[],"mappings":";AAeA,MAAM,mBAAmB,OAAA;AAElB,SAAS,oBAOd,GAOA;AAEA,SAAO,OAAO,MAAM,cAAc,CAAC,CAAE,EAAU,gBAAgB;AACjE;AAgDO,SAAS,cAOd,oBAOA,SAK4E;AAC5E,MAAI;AACJ,MAAI;AAMJ,MAAI,OAAO,uBAAuB,YAAY;AAE5C,gBAAY;AACZ,oBAAgB;AAAA,EAClB,OAAO;AAEL,gBAAY;AACZ,oBAAgB,KAAK,OAAO;AAAA,EAC9B;AAEA,QAAM,IAAI;AAOV,IAAE,gBAAgB,IAAI;AACtB,IAAE,YAAY;AACd,SAAO;AACT;AAyFO,SAAS,UAAU,OAAqC;AAC7D,SACE,OAAO,UAAU;AAAA,EAEjB,OAAQ,MAAc,gBAAgB;AAAA,EAEtC,OAAQ,MAAc,OAAO;AAEjC;"}
@@ -9,6 +9,7 @@ export type Plans = {
9
9
  [key: string]: Plans;
10
10
  };
11
11
  };
12
- export declare function buildPlanGraph(ast: AST, model: ConnectionCostModel, baseConstraints?: PlannerConstraint): Plans;
12
+ export declare function buildPlanGraph(ast: AST, model: ConnectionCostModel, isRoot: boolean, baseConstraints?: PlannerConstraint): Plans;
13
13
  export declare function planQuery(ast: AST, model: ConnectionCostModel, planDebugger?: PlanDebugger): AST;
14
+ export declare function applyPlansToAST(ast: AST, plans: Plans): AST;
14
15
  //# sourceMappingURL=planner-builder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"planner-builder.d.ts","sourceRoot":"","sources":["../../../../../zql/src/planner/planner-builder.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,GAAG,EAKJ,MAAM,mCAAmC,CAAC;AAE3C,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,yBAAyB,CAAC;AAC/D,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAGrD,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAoBhD,MAAM,MAAM,KAAK,GAAG;IAClB,IAAI,EAAE,YAAY,CAAC;IACnB,QAAQ,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAA;KAAC,CAAC;CAClC,CAAC;AAEF,wBAAgB,cAAc,CAC5B,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,mBAAmB,EAC1B,eAAe,CAAC,EAAE,iBAAiB,GAClC,KAAK,CA6CP;AAqLD,wBAAgB,SAAS,CACvB,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,mBAAmB,EAC1B,YAAY,CAAC,EAAE,YAAY,GAC1B,GAAG,CAIL"}
1
+ {"version":3,"file":"planner-builder.d.ts","sourceRoot":"","sources":["../../../../../zql/src/planner/planner-builder.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,GAAG,EAKJ,MAAM,mCAAmC,CAAC;AAE3C,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,yBAAyB,CAAC;AAC/D,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAGrD,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAoBhD,MAAM,MAAM,KAAK,GAAG;IAClB,IAAI,EAAE,YAAY,CAAC;IACnB,QAAQ,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAA;KAAC,CAAC;CAClC,CAAC;AAEF,wBAAgB,cAAc,CAC5B,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,mBAAmB,EAC1B,MAAM,EAAE,OAAO,EACf,eAAe,CAAC,EAAE,iBAAiB,GAClC,KAAK,CAmDP;AAgND,wBAAgB,SAAS,CACvB,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,mBAAmB,EAC1B,YAAY,CAAC,EAAE,YAAY,GAC1B,GAAG,CAIL;AAqCD,wBAAgB,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,GAAG,GAAG,CAyB3D"}